From c3e37e979447bade993c7c600dc0b22ca64a571d Mon Sep 17 00:00:00 2001 From: Coccinelle Date: Sun, 3 Oct 2010 14:03:33 +0200 Subject: [PATCH] Release coccinelle-0.2.2-rc1 Release Candidate 1 for coccinelle-0.2.2 --- Makefile | 44 +- changes.txt | 33 + cocci.ml | 196 +- cocci.mli | 1 + commitmsg | 19 +- docs/manual/macros_common.tex | 36 +- docs/manual/main_grammar.pdf | Bin 288906 -> 288802 bytes docs/manual/manual.pdf | Bin 367476 -> 368433 bytes docs/manual/options.pdf | Bin 95739 -> 96143 bytes docs/manual/spatch_options.tex | 30 +- editors/emacs/cocci.el | 28 + engine/cocci_vs_c.ml | 12 +- flag_cocci.ml | 2 +- globals/config.ml.in | 2 +- main.ml | 28 +- parsing_c/unparse_c.ml | 23 +- parsing_c/unparse_cocci.ml | 50 +- parsing_c/unparse_cocci.mli | 2 +- parsing_cocci/ast0_cocci.ml | 8 +- parsing_cocci/ast0_cocci.mli | 10 +- parsing_cocci/ast_cocci.ml | 16 +- parsing_cocci/ast_cocci.mli | 16 +- parsing_cocci/data.ml | 4 +- parsing_cocci/data.mli | 4 +- parsing_cocci/free_vars.ml | 6 +- parsing_cocci/get_constants.ml | 2 +- parsing_cocci/get_constants2.ml | 8 +- parsing_cocci/iso_pattern.ml | 91 +- parsing_cocci/lexer_cocci.mll | 47 +- parsing_cocci/parse_aux.ml | 12 +- parsing_cocci/parse_cocci.ml | 52 +- parsing_cocci/parser_cocci_menhir.ml | 8587 +++++++++++---------- parsing_cocci/parser_cocci_menhir.mli | 3 +- parsing_cocci/parser_cocci_menhir.mly | 45 +- parsing_cocci/pretty_print_cocci.ml | 58 +- parsing_cocci/type_infer.ml | 4 +- parsing_cocci/unitary_ast0.ml | 2 +- parsing_cocci/unparse_ast0.ml | 5 +- scripts/coccicheck/Makefile | 52 - scripts/coccicheck/README | 13 +- scripts/coccicheck/bin/update_result_tree | 2 +- scripts/coccicheck/configure | 58 +- standard.iso | 145 +- test.ml | 22 + testing.ml | 8 +- testing.mli | 2 +- tests/SCORE_expected.sexp | 162 + tests/comments.c | 5 + tests/comments.cocci | 18 + tests/comments.res | 16 + tests/cst_null.c | 43 + tests/cst_null.cocci | 16 + tests/cst_null.res | 40 + tests/decl_star.c | 5 + tests/decl_star.cocci | 6 + tests/decl_star.res | 5 + tests/minusdots.cocci | 3 +- tests/null_bool.c | 8 + tests/null_bool.cocci | 5 + tests/null_bool.res | 8 + tools/split_patch.ml | 390 +- 61 files changed, 5506 insertions(+), 5012 deletions(-) rewrite commitmsg (99%) delete mode 100644 scripts/coccicheck/Makefile create mode 100644 tests/SCORE_expected.sexp create mode 100644 tests/comments.c create mode 100644 tests/comments.cocci create mode 100644 tests/comments.res create mode 100644 tests/cst_null.c create mode 100644 tests/cst_null.cocci create mode 100644 tests/cst_null.res create mode 100644 tests/decl_star.c create mode 100644 tests/decl_star.cocci create mode 100644 tests/decl_star.res create mode 100644 tests/null_bool.c create mode 100644 tests/null_bool.cocci create mode 100644 tests/null_bool.res rewrite tools/split_patch.ml (89%) diff --git a/Makefile b/Makefile index 66e9fa3..1a4cad6 100644 --- a/Makefile +++ b/Makefile @@ -24,14 +24,18 @@ ############################################################################# -include Makefile.config +-include /etc/lsb-release VERSION=$(shell cat globals/config.ml.in |grep version |perl -p -e 's/.*"(.*)".*/$$1/;') CCVERSION=$(shell cat scripts/coccicheck/README |grep "Coccicheck version" |perl -p -e 's/.*version (.*)[ ]*/$$1/;') +PKGVERSION=$(shell dpkg-parsechangelog -ldebian/changelog.$(DISTRIB_CODENAME) 2> /dev/null \ + | sed -n 's/^Version: \(.*\)/\1/p' ) ############################################################################## # Variables ############################################################################## TARGET=spatch +PRJNAME=coccinelle SRC=flag_cocci.ml cocci.ml testing.ml test.ml main.ml @@ -166,6 +170,7 @@ $(MAKESUBDIRS:%=%.opt): clean:: set -e; for i in $(MAKESUBDIRS); do $(MAKE) -C $$i $@; done + $(MAKE) -C demos/spp $@ $(LIBS): $(MAKESUBDIRS) $(LIBS:.cma=.cmxa): $(MAKESUBDIRS:%=%.opt) @@ -199,7 +204,7 @@ tools: $(MAKE) -C tools clean:: - $(MAKE) -C tools clean + if [ -d tools ] ; then $(MAKE) -C tools clean ; fi static: rm -f spatch.opt spatch @@ -332,6 +337,7 @@ uninstall: version: @echo "spatch $(VERSION)" + @echo "spatch $(PKGVERSION) ($(DISTRIB_ID))" @echo "coccicheck $(CCVERSION)" @@ -339,7 +345,7 @@ version: # Package rules ############################################################################## -PACKAGE=coccinelle-$(VERSION) +PACKAGE=$(PRJNAME)-$(VERSION) CCPACKAGE=coccicheck-$(CCVERSION) BINSRC=spatch env.sh env.csh standard.h standard.iso \ @@ -511,6 +517,40 @@ fixdates: ocamlversion: @echo $(OCAMLVERSION) + +############################################################################## +# Packaging rules -- To build deb packages +############################################################################## +EXCL_SYNC=--exclude ".git" \ + --exclude ".gitignore" \ + --exclude ".cvsignore" \ + --exclude "tests" \ + --exclude "TODO" \ + --cvs-exclude + +prepack: + rsync -a $(EXCL_SYNC) . $(TMP)/$(PACKAGE) + $(MAKE) -C $(TMP)/$(PACKAGE) licensify + rm -rf $(TMP)/$(PACKAGE)/tools + +packsrc: prepack +# $(MAKE) -C $(TMP)/$(PACKAGE)/debian lucid + $(MAKE) -C $(TMP)/$(PACKAGE)/debian karmic + $(MAKE) push + rm -rf $(TMP)/$(PACKAGE)/ + +push: + cd $(TMP)/ && for p in `ls $(PRJNAME)_$(VERSION).deb*_source.changes`; do dput $(PRJNAME) $$p ; done + rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*_source.changes + rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*_source.$(PRJNAME).upload + rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*.dsc + rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*.tar.gz + +packbin: prepack + $(MAKE) -C $(TMP)/$(PACKAGE)/debian binary + rm -rf $(TMP)/$(PACKAGE)/ + rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*_source.build + ############################################################################## # Developer rules ############################################################################## diff --git a/changes.txt b/changes.txt index 308db3c..10b9ddb 100644 --- a/changes.txt +++ b/changes.txt @@ -12,6 +12,39 @@ ** Bugfix: - Add more information in documentation, man pages and wiki + +* 0.2.2 +** Language: +- Added ToTestExpression to iso language, see standard.iso for an + explanation +- Added depends on to initialize and finalize script code + +** Features: +- Update Emacs mode (cocci.el) to support 'virtual' rules and fix other + keywords sush as 'depends on', 'using', 'disable' +- better treatment of != 0 in isos, communtativity for ==/!= for all + constants +- allow adding // comments +- Add support for multiple -I options + +** Bugfix: +- correct interaction between virtual rules and included .cocci files +- improvement in treatment of ! in isos, to avoid duplicating + code +- improvement intreatment of metavars as isos, to avoid duplicating + code + between toplevel and variable instantiation +- test expression of smpl conditional, etc no longer assumed to have type + int +- correct + line numbers in the patch produced when using * +- iso constant metavariable matches an identifier whose name is all capital + letters, eg NULL +- allow / at the end of the name of a directory (-dir) or patch prefix + (-patch) +- dropped space in + code after the binding of a type metavariable that is + a pointer type +- better handling of . or .. in -dir name +- allow keywords and metavariable names in identifier constraints (not sure + keywords is very useful, though) + * 0.2.1 ** Language: - Add virtual identifiers diff --git a/cocci.ml b/cocci.ml index 089297f..3ab1f4f 100644 --- a/cocci.ml +++ b/cocci.ml @@ -148,9 +148,72 @@ let show_or_not_cocci2 coccifile isofile = let show_or_not_cocci a b = Common.profile_code "show_xxx" (fun () -> show_or_not_cocci2 a b) +(* ---------------------------------------------------------------------- *) (* the output *) -let show_or_not_diff2 cfile outfile show_only_minus = +let fix_sgrep_diffs l = + let l = + List.filter (function s -> (s =~ "^\\+\\+\\+") || not (s =~ "^\\+")) l in + let l = List.rev l in + (* adjust second number for + code *) + let rec loop1 n = function + [] -> [] + | s::ss -> + if s =~ "^-" && not(s =~ "^---") + then s :: loop1 (n+1) ss + else if s =~ "^@@" + then + (match Str.split (Str.regexp " ") s with + bef::min::pl::aft -> + (match Str.split (Str.regexp ",") pl with + [n1;n2] -> + let n2 = int_of_string n2 in + (Printf.sprintf "%s %s %s,%d %s" bef min n1 (n2-n) + (String.concat " " aft)) + :: loop1 0 ss + | _ -> failwith "bad + line information") + | _ -> failwith "bad @@ information") + else s :: loop1 n ss in + let rec loop2 n = function + [] -> [] + | s::ss -> + if s =~ "^---" + then s :: loop2 0 ss + else if s =~ "^@@" + then + (match Str.split (Str.regexp " ") s with + bef::min::pl::aft -> + (match (Str.split (Str.regexp ",") min, + Str.split (Str.regexp ",") pl) with + ([_;m2],[n1;n2]) -> + let n1 = + int_of_string + (String.sub n1 1 ((String.length n1)-1)) in + let m2 = int_of_string m2 in + let n2 = int_of_string n2 in + (Printf.sprintf "%s %s +%d,%d %s" bef min (n1-n) n2 + (String.concat " " aft)) + :: loop2 (n+(m2-n2)) ss + | _ -> failwith "bad -/+ line information") + | _ -> failwith "bad @@ information") + else s :: loop2 n ss in + loop2 0 (List.rev (loop1 0 l)) + +let normalize_path file = + let fullpath = + if String.get file 0 = '/' then file else (Sys.getcwd()) ^ "/" ^ file in + let elements = Str.split_delim (Str.regexp "/") fullpath in + let rec loop prev = function + [] -> String.concat "/" (List.rev prev) + | "." :: rest -> loop prev rest + | ".." :: rest -> + (match prev with + x::xs -> loop xs rest + | _ -> failwith "bad path") + | x::rest -> loop (x::prev) rest in + loop [] elements + +let show_or_not_diff2 cfile outfile = if !Flag_cocci.show_diff then begin match Common.fst(Compare_c.compare_to_original cfile outfile) with Compare_c.Correct -> () (* diff only in spacing, etc *) @@ -167,12 +230,27 @@ let show_or_not_diff2 cfile outfile show_only_minus = match (!Flag.patch,res) with (* create something that looks like the output of patch *) (Some prefix,minus_file::plus_file::rest) -> + let prefix = + let lp = String.length prefix in + if String.get prefix (lp-1) = '/' + then String.sub prefix 0 (lp-1) + else prefix in let drop_prefix file = - if prefix =$= "" - then "/"^file - else + let file = normalize_path file in + if Str.string_match (Str.regexp prefix) file 0 + then let lp = String.length prefix in - String.sub file lp ((String.length file) - lp) in + let lf = String.length file in + if lp < lf + then String.sub file lp (lf - lp) + else + failwith + (Printf.sprintf "prefix %s doesn't match file %s" + prefix file) + else + failwith + (Printf.sprintf "prefix %s doesn't match file %s" + prefix file) in let diff_line = match List.rev(Str.split (Str.regexp " ") line) with new_file::old_file::cmdrev -> @@ -188,7 +266,7 @@ let show_or_not_diff2 cfile outfile show_only_minus = | _ -> failwith "bad command" in let (minus_line,plus_line) = if !Flag.sgrep_mode2 - then (minus_file,plus_file) + then (minus_file,"+++ /tmp/nothing") else match (Str.split (Str.regexp "[ \t]") minus_file, Str.split (Str.regexp "[ \t]") plus_file) with @@ -204,13 +282,11 @@ let show_or_not_diff2 cfile outfile show_only_minus = (String.concat ":" l1) (String.concat ":" l2)) in diff_line::minus_line::plus_line::rest | _ -> res in - xs +> List.iter (fun s -> - if s =~ "^\\+" && show_only_minus - then () - else pr s) + let xs = if !Flag.sgrep_mode2 then fix_sgrep_diffs xs else xs in + xs +> List.iter pr end -let show_or_not_diff a b c = - Common.profile_code "show_xxx" (fun () -> show_or_not_diff2 a b c) +let show_or_not_diff a b = + Common.profile_code "show_xxx" (fun () -> show_or_not_diff2 a b) (* the derived input *) @@ -460,11 +536,23 @@ let sp_contain_typed_metavar rules = * For the moment we base in part our heuristic on the name of the file, e.g. * serio.c is related we think to #include *) - -let interpret_include_path _ = - match !Flag_cocci.include_path with - None -> "include" - | Some x -> x +let rec search_include_path searchlist relpath = + match searchlist with + [] -> Some relpath + | hd::tail -> + let file = Filename.concat hd relpath in + if Sys.file_exists file then + Some file + else + search_include_path tail relpath + +let interpret_include_path relpath = + let searchlist = + match !Flag_cocci.include_path with + [] -> ["include"] + | x -> List.rev x + in + search_include_path searchlist relpath let (includes_to_parse: (Common.filename * Parse_c.program2) list -> @@ -484,23 +572,24 @@ let (includes_to_parse: {Ast_c.i_include = ((x,ii)); i_rel_pos = info_h_pos;}) -> (match x with | Ast_c.Local xs -> - let f = Filename.concat dir (Common.join "/" xs) in + let relpath = Common.join "/" xs in + let f = Filename.concat dir (relpath) in (* for our tests, all the files are flat in the current dir *) if not (Sys.file_exists f) && !Flag_cocci.relax_include_path then let attempt2 = Filename.concat dir (Common.last xs) in if not (Sys.file_exists f) && all_includes - then Some (Filename.concat (interpret_include_path()) - (Common.join "/" xs)) + then + interpret_include_path relpath else Some attempt2 else Some f | Ast_c.NonLocal xs -> + let relpath = Common.join "/" xs in if all_includes || Common.fileprefix (Common.last xs) =$= Common.fileprefix file then - Some (Filename.concat (interpret_include_path()) - (Common.join "/" xs)) + interpret_include_path relpath else None | Ast_c.Weird _ -> None ) @@ -754,16 +843,15 @@ let python_code = local_python_code ^ "cocci = Cocci()\n" -let make_init rulenb lang code = +let make_init rulenb lang deps code = let mv = [] in - let deps = Ast_cocci.NoDep in - { - scr_ast_rule = (lang, mv, code); - language = lang; - scr_dependencies = deps; - scr_ruleid = rulenb; - script_code = (if lang = "python" then python_code else "") ^code - } + { + scr_ast_rule = (lang, mv, code); + language = lang; + scr_dependencies = deps; + scr_ruleid = rulenb; + script_code = (if lang = "python" then python_code else "") ^code +} (* --------------------------------------------------------------------- *) let prepare_cocci ctls free_var_lists negated_pos_lists @@ -798,12 +886,11 @@ let prepare_cocci ctls free_var_lists negated_pos_lists script_code = code; } in ScriptRuleCocciInfo r - | Ast_cocci.InitialScriptRule (lang,code) -> - let r = make_init rulenb lang code in + | Ast_cocci.InitialScriptRule (lang,deps,code) -> + let r = make_init rulenb lang deps code in InitialScriptRuleCocciInfo r - | Ast_cocci.FinalScriptRule (lang,code) -> + | Ast_cocci.FinalScriptRule (lang,deps,code) -> let mv = [] in - let deps = Ast_cocci.NoDep in let r = { scr_ast_rule = (lang, mv, code); @@ -925,10 +1012,6 @@ let rebuild_info_c_and_headers ccs isexp = - - - - let prepare_c files choose_includes : file_info list = let cprograms = List.map cprogram_of_file_cached files in let includes = includes_to_parse (zip files cprograms) choose_includes in @@ -937,7 +1020,8 @@ let prepare_c files choose_includes : file_info list = let all = (includes +> List.map (fun hpath -> Right hpath)) ++ - ((zip files cprograms) +> List.map (fun (file, asts) -> Left (file, asts))) + ((zip files cprograms) +> + List.map (fun (file, asts) -> Left (file, asts))) in let env = ref !TAC.initial_env in @@ -1105,7 +1189,9 @@ let apply_python_rule r cache newes e rules_that_have_matched show_or_not_binding "in" e; Pycocci.build_classes (List.map (function (x,y) -> x) ve); Pycocci.construct_variables mv ve; - let _ = Pycocci.pyrun_simplestring (local_python_code ^r.script_code) in + let _ = + Pycocci.pyrun_simplestring + (local_python_code ^r.script_code) in relevant_bindings :: cache end in if !Pycocci.inc_match @@ -1473,13 +1559,13 @@ let initial_final_bigloop2 ty rebuild r = adjust_pp_with_indent (fun () -> Format.force_newline(); - Pretty_print_cocci.unparse(rebuild r.scr_ast_rule)); + Pretty_print_cocci.unparse(rebuild r.scr_ast_rule r.scr_dependencies)); end; match r.language with "python" -> (* include_match makes no sense in an initial or final rule, although - er have no way to prevent it *) + we have no way to prevent it *) let _ = apply_python_rule r [] [] [] [] (ref []) in () | _ -> @@ -1541,10 +1627,16 @@ let pre_engine2 (coccifile, isofile) = InitialScriptRuleCocciInfo(r) -> (if List.mem r.language languages then failwith ("double initializer found for "^r.language)); - initial_final_bigloop "initial" - (function(x,_,y) -> Ast_cocci.InitialScriptRule(x,y)) - r; - r.language::languages + if interpret_dependencies [] [] r.scr_dependencies + then + begin + initial_final_bigloop "initial" + (fun (x,_,y) -> fun deps -> + Ast_cocci.InitialScriptRule(x,deps,y)) + r; + r.language::languages + end + else languages | _ -> languages) [] cocci_infos in @@ -1555,8 +1647,9 @@ let pre_engine2 (coccifile, isofile) = in List.iter (fun lgg -> initial_final_bigloop "initial" - (function(x,_,y) -> Ast_cocci.InitialScriptRule(x,y)) - (make_init (-1) lgg ""); + (fun (x,_,y) -> fun deps -> + Ast_cocci.InitialScriptRule(x,deps,y)) + (make_init (-1) lgg Ast_cocci.NoDep ""); ) uninitialized_languages; @@ -1614,8 +1707,7 @@ let full_engine2 (cocci_infos,toks) cfiles = (* and now unparse everything *) cfile_of_program (for_unparser c_or_h.asts) outfile; - let show_only_minus = !Flag.sgrep_mode2 in - show_or_not_diff c_or_h.fpath outfile show_only_minus; + show_or_not_diff c_or_h.fpath outfile; (c_or_h.fpath, if !Flag.sgrep_mode2 then None else Some outfile) @@ -1636,7 +1728,7 @@ let post_engine2 (cocci_infos,_) = (if List.mem r.language languages then failwith ("double finalizer found for "^r.language)); initial_final_bigloop "final" - (function(x,_,y) -> Ast_cocci.FinalScriptRule(x,y)) + (fun (x,_,y) -> fun deps -> Ast_cocci.FinalScriptRule(x,deps,y)) r; r.language::languages | _ -> languages) diff --git a/cocci.mli b/cocci.mli index f715356..d2b6546 100644 --- a/cocci.mli +++ b/cocci.mli @@ -63,3 +63,4 @@ val sp_of_file : string list list * string list option +val normalize_path : string -> string diff --git a/commitmsg b/commitmsg dissimilarity index 99% index e458d9f..7a39b2e 100644 --- a/commitmsg +++ b/commitmsg @@ -1,16 +1,3 @@ -Release coccinelle-0.2.1 - -** Language: - - Add virtual identifiers - - Add coccilib.report and coccilib.trac Python modules - - coccilib.org and coccilib.report are imported by default but not loaded - in the current scope. - -** Features: - - Parse_error_msg now more helpful. New option -verbose_parsing for even - more information. - - Improve Python import handling. They are imported once during script - initialization. - -** Bugfix: - - correct treatment of depends on with || for virtual rules +Release coccinelle-0.2.2-rc1 + +Release Candidate 1 for coccinelle-0.2.2 diff --git a/docs/manual/macros_common.tex b/docs/manual/macros_common.tex index 2b6096f..82660fa 100644 --- a/docs/manual/macros_common.tex +++ b/docs/manual/macros_common.tex @@ -10,8 +10,7 @@ { \newcommand{\mynote}[2]{}} \newcommand\jl[1]{\mynote{Julia}{#1}} - - +\newcommand\np[1]{\mynote{Nicolas}{#1}} \newcommand{\sizecodebis}[0]{\scriptsize} @@ -30,36 +29,3 @@ \newcommand{\tttld}{\mbox{\tt \char'176}} \newcommand{\fixme}[1]{{\color{red} #1}} - - -%------------------------------------------------------------------------------ -%%%Squeeze space in bibliographybg -% \let\oldthebibliography=\thebibliography -% \let\endoldthebibliography=\endthebibliography -% \renewenvironment{thebibliography}[1]{% -% \begin{oldthebibliography}{#1}% -% \setlength{\parskip}{0ex}% -% \setlength{\itemsep}{0ex}% -% }% -% {% -% \end{oldthebibliography}% -% } - - -%------------------------------------------------------------------------------ - -%christian lindig tricks: -% http://www.st.cs.uni-saarland.de/~lindig/tex.html - -%\newif\ifdraft\drafttrue - -%see overfull -%\ifdraft -%\overfullrule3pt -%\fi - - - -%\def\<#1>{\texttt{#1}} -%Now I can write \, which feels more natural -% in the editor than \texttt{some code here}. diff --git a/docs/manual/main_grammar.pdf b/docs/manual/main_grammar.pdf index 12f1d091b39d3f19ca19d5b6cb7cf0e01ec49189..53f8a700bcd6528572feaf573db264b8c94e4ecc 100644 GIT binary patch delta 41249 zcmV(pK=8kc(GjB15wH>mmoUx(DU&+~5q}8+qz$@hiX7me*|(-R&`Pw;MiNz0&Sw9< zGaOQuymAttFBUJuxnIq9rybvY|AF86{`L98<5QCE;)01dOLx!5U0lX2NwQs@mn^Q} zsNMZ5dOpkjL1aAossH>Vt-d#P-`9pVKl6m;JwB{?gz7;q#^q!r=# zbVZOq&{y!7&n#4|%0-SG9O5!%Tok(l;>ksjRN4I@iFwrO=F-byqTOhKxnc5m6Y2vO zr=W#|SCKy6+>*9%)z!o4QlI?!#ed3{RxfWiPZlCNoRiia+aJ=3M^C6=ZEha)+6ESD zGl9s7$lNVz=n$u@N>lhc&69{%p7S_z(!%%EsA-Y|Z7x;~CtBL69@^RKU_Tir`qnM)@vGEr91S?__BSBbygIrb@!{4EIpPda&=4rid^aet{+u31w9 z5wE*FK-2m%j?y%>opAv3#xf@~UyBRAi(ud(QEmL9uN$M0Pu#qom2(+bPW3N)(4>db zLs%I9Oa}zB4snA*`;|JKNtgr5Vezz#Y8%M!<1#uquL543(I~QRG1i^cv;tT0ubq-N zS$SLq43@QjCPH0uT z5ib-Ut$HEH%cJiO*9?QV;C#bGK4HkubM$jc zoVSM0lO=C=t(LH|NZv^R#GC{`fFytel)x>B*?h%p_KsOcvGy?mIqxrY{P*WiKhkPl zS^yv5rSw)7EX}iZKz~dwg=6LqDct2OIto|yUU0w*si{_7O{}>})2YF)>!5{d=?b}E zWjwq1d78$LkB`lqwOOaeoE^<0(6*0#t%ff?ve|j+yDhzz5LH+2^8T0d9pvsL&0V!T zq-n*96lz_Puw3}69PbY?=RErC@`^?}`1oCwzw!H6q^uMr)PGIEva%#xBjjeV*WT4M zR5#(ejeiiH&#Zp@_{~OG#TA%j4uzrVF0K6H6hy#r;?fAb!MMqw*$_JrD)!a`pG~%~ za+YPl^8&I#HX+xZT*~%Q^Y~OO&?lg^Vu}5$4b;wy&;o}zV_9*R@js=B>YgU3roN}1 zWYB!fP=JOpU$;oMl}Q{~9{c2+fO%28ud!Xt7h(g1G)5asYuB(LFjg|-8eKSTV*SEd6aD)fxI=!acZCipg<^bD(SBN3#WoNTwuHE9lZftT{H7kdw)i-E5PrITse%u1K{GMhT+C37ceuY z?id^F2Xd9gG~t6n9XG@g8MIE)kg6)mP=(1g{Fr<$DOpPV6DH5$@yD zHnk9Db=Bw|TaeAN&e!!^_?SdX*cBLuF#9TxQ_B0 z*?+NQ3Dn5Y+=0HaYu?IRoTb?u5u-M~wJH;8_R7?^fpE|}IYOI7au7%>o31wX^({Cx zE!-?~d?T>YXc+S*<)oh}Bu=$(?dL9hMWYRz)gDw$enH(oWa-dh0}!5FQ97e%B`fmc zwvm+A0nblik-X!j!L5wG>I1ARg6Mq0|* zM0CN3pITi2()cPdhY{KTUTWX>H$l6|6~;>#!HEKte7iMGh7=}5Nel{La8QdG-ojAn zuALjgHHE5z2@FWroonI~KiDGJh>Xx9WIOzauobllv<=zZ6Ug82Ul)6Yz3DLc)qfGy z&?=DFSqW%*D~X^wI0A`bCLZWi1vpLn7Y`JYnQTLCPg%upQbFxwvB#u5hkYHAgVRP} zJfsO{Eaw&%|GEheUi`S>-2j2~dPaeqqWl&8(}Jrp6m_>T8e*&We}HWL>2p8qvuxRe zVPtM-J1JRt9hDbhU-+ObLv$5)!(_g^4f_HP&{YQt#$tY!HLYzL68;qa{-lgMx1(ed=tbOLVq2qE_=0Q4EaTV| z6*$R=Fu^S!{q6a~{{ZcSu~?S@^#K!uHxGw54*`ca4+6J04+G8-0yi?3@J0d{mmeVm zEq~;FwDWfcwr$&;q~o{m=b1BS)_G^X%$yIk)_?2T zxb|-sa1#St7y+7&!7sla0UF;b0APsia7y| zT|oAB;>IpOUcfh?89*Fp3Seagu<-EkAb(H-#OxhBoIn`ZN3&HgFiuio7LUj;ch z+5h#h{cHORrfl!*;%w>!a&Q6s&8jRe`R_ViER9|M$?XjKYX;bx|MfJpH+B7|rGMG} z!u++m7=!Gb0WLsymw$4Z00CwoXMYD9V~@YN|AILUM#xjOuZ%?;@EuL05gvoo}Ri!e5`x3lp8m;ucZm=x_@{(q(f(EQ)A z%=q6&@_z%x|1AXnx6u3lM(%&*=zn>{|F7@)zd}p8+Sn)>+x}gEf8Q9u-y>se2l#tu z0P=u;4vmem)Bi8V*cN2t@qdc?uioE)|1S6c04C#N{C6xOb{2oBVP<6hw-V$m333OT zDT7>0Edl1nHh*XKFTIAH8Gq2p24n~P%k96$3SeMiX8tcWbxV+`wcS4?aQxc@v@`p! z9sH&1U-dI-NQ-GGtI+>%4(z`imH#e+i@Jxy-`f61HwyM<|5Nw}MpV?^9pJ^l!pRL_ zVC81{`~LnG#KX$&^S?>?FCdoxlogC!oIvgX-M@V^v;3?3|MB}zNq_&pz)0Ac+ME5e zI%+P)c4mLK?SCr%F`K$NIsGO1UkBiC*Z(2^Ywv+Tcc3Z4>XN-FU$9krR)$M0Zr;#@ zxNct$3*=CULrH^r(GUM>`)Oe$k2a6RGl%yBS-QiK9vmC$?o{Aa z0g(?mZSN2CO{xwq`hUYfCW8{>jPq~NUe^oq+fX{3%$kS06Dq0(#cwdgQypwhaMw?? z{^V{y{IMt=9Z-Bt)9T}}f1x#kVbm6$ol_;9JUvnmj1CVCcHctx9uU&!#=%qaxj`XQ zMfp4C5(?>PRCvW=(+MBOizLe29rPP(|2dRXqp;iu0SiMV-G2#cTOJEfRNm3XiZZu* z4<(uAE{v5o?C@2Yl^?N!q<9-W(RpV0EmBO=T*920FUvNCS z7g_zQ>nQgnf&m~V{1`_zSm!T zlS`gM&=@YMS59i-pRR4&2osK@UXD90W6>HmGKamlPNd2eMlRebNVEm0E;I-hkw0$Bx<6jBk9&*8d|od2^vp4Q zsubg~@PD`^$^wgK`vD~&-Aou>%K}v=Y6x$ktC3yA{1uGk1exAByXPH^yjzL%xrZcz zQG24K&j`JBr+F^BFK?JS@%`uV;!5muTuyr`QmUFfPquofK}9I)kDaCA0XYr9N^F-! z0}lrm1*yc(*NvlBF<|E}T3`ob?%L|k`AsumU4KMpH8Aa=I%stmP0ak;u>#cz&$nTT zh#)a8NF7&je;%pFa72egD_&uFlSQxK92$T5E>x{xF&z|)jnQ@y*$!v=*J^SH@P}_( zKTn<7;kXNjN6%f$WucMtf6{h-cE_Xl8)+)ddP4Mu8`W5cUN7wRQd-(%8lWqt43myz z>VKaOMsy!mLitZW;jpU$=fn)wj=bNb!F79LJ*Ag|D%TTs3?;LXBJh`a^YVpc z+$<5s;US6;1kn?W(>p=8KkUNUP?bRp$lAE4xt`z+)FOfu<)^Vl!3SDtN7V|TwC0nJ zN1|kyQ=COm$T|CHUCSHayy(UGc=19+H)9+c@0rjrOyp1{WglZ_H#93{Q zVu6|xSkNsG;$FCNgB=#lDg*PR$S zrf3nBcx1yeId~^w=^S> z#}*~E4ItB4jbV(q;%lkES^$otD4Bc_Kfpdy--&#P$XnS5SKZWk2B1ccw7&3&aBH2E zF9#87O-^!}zoe>r)c^dW^M9hAb;TIvv^AJR>)of&nmY_)o^dSpxSaB2eotq>V+?H= zHyyPUgG+HCOrKy;<|K>&KeqPYZ_Nasu7zB7Vk?5Ju5aX5l{BkHXwA6^HNg78B{w<< z?^9ZKHb`l&u11=I{o3H$Reu%=uy%di#U}Q& z4Inb_zk-UcUx%JKL{QaZnVS2>HYH$*}u$69aL|fGJtL$6C91<%_QVX&qBar&2 z?~CG50mJb_=EjjLP4&m`TeGNf@-U_=T;4qQ|^65)sY^NhC#yIwiy_d1J0-&JL> zA{*e!J~l$f;bD&-^ZmKRN!IX~l)>970cPfa5l;+vTb!n7e}AE{FE6*kFMQNKUe>r* zsw?vQ^bq%MFl6!RXP5;!Gj0MFP)HC9=sXU4s$L4Z?XbU8mNw?Q&n_KLz+8QsndD#G z1-w$X~3)GNM4Px zCOi)-!aL`3_{AzyA{1;@#`)y5?=mCn&srFpYH+ZL*O2tItI6V0b_WHa;h|{tvP<~) zB$L_D8_;0;Ds6o36AU;&wqS&)UgPsB8!11iM;xVr+CHa zUGbx>+syu$JTC1L!K=qj4e*IdAbH&h1I)#63@#IKA6MuaBICIX{uYvq0A9PzQBiExByF9KfLLxp@O=MWaUmOv0NSirCM=C|WnIWs5 z6w$p6?;>&BTSj4aVq_L)%!mh`HY3JIgUiU;33M_UP)Kr#)`nAf=Cjnr_+%olvt+*Kj)TE>7?(aZGKHiIn()OI``IwYWo4$kCV*tsw5GzVwD*4pn>JzkqF6i&HRJG z$rSGh)~M0>-h#pBbB)a(ib<`%r`j3KF^Mt~ioxOF*8&so@UYH&K8I0_vbc||Y8|4v zngXC|ecfLbq`OBf5=Cu+u5>>yQWP3N)PIP2P}APDT`Fabs6|B;a`jXFYvmSEe9jDObRJB~5=bMxh!!On~*=)hJB*~F& zIwy&JO1X-V@{1DF0v{bUZw#M8K9o}1_*#Wq3Rp%YXf}Ntb^~PbAS;O=K~)Ebchk;j}hA6 zxZOfur09_(b7Io^;<57DXMa*k?|r*gAu zixj6K6h_3KE{#gbPy=C_bku$FpSngP2@KK;_@#@A22W-}0 z&U#eO@@qWQ^BC+01d~Mgn=BcEh?2Ob2Qh@l6JG1?ECznVl3y6fV440N$Q4%Ka%UtD zS}wLJ^~Fg6pVBY(7g!15UVqu--lK|`Pw%YK!_p;sxjlM1e?maE3Zp~FN_V+s^@L=b zxzGvH#Z=|-8k9rld)|&CzW&Wxac?Rgsko4*aUl)(HtPie?bJ|;@ssnclCwJSy%j3@ zO+&_HQLRho1?I$hh3>b2O3#^~QT#ZTZn6a7PIKItSTG_6=je3_u78+3UCN^2*G7qH z+q@gaJ{E>Asb*DYOpq^RC%9DM`sJ|B3F5+Q{IFrKdcl2S7MnIKnvG3Pj3i3B#)%9A z`Ih&(xxRJ25jyE6V?^P`IJuT%E(aYHW2PfWI%DJQX|rG~0Y*ARClByidI)1Hht6rw zEnRS#HaS;|s_GtbpMTwZBWj;U1}v{*rus8p>BYnL=hvYsn`QU`c$#Cj7^!0fUMEWX z9UW~f2F1&vsca9YEr~2OMH>1|NUoL%q}CPp2kE~vtV!wcmQB}8I5(Fmp+p1qy}Ls& zv}^x3E%Hz}6gUkvM#W8tU*b4_tkjw9bC>k4^?y8$8yNB7gMU50hB`)q6#?>Uk8+vS zy9!abzQui6KSFc7VfvI_b0_I1pUQ(OPDah*$JlGB=UBw54&7^1`=?3vN5D*a z_aU@&qRr>;9wZWcp9R|&o7x2NRaHEY$w0Dl7lOGvpns*o9Fr4bk&>sVF9;1cA0Pe( zqavcNlq5n4rAoq~6VfXt-|yZ^+M|tb>4|@#zCWp@0(A7&HHv*32ktP~hqWRIvx2|q zH<-y$kIGX94&y~!+I^a7Vc(WdC7nAM#G-?;2#tkLQN%v!S1VJNs~*UTyY>@JQjz-d zz+N*fVSl=ajQj&b5#w=Lo*tAt(Hn@G1I=fR4V8>{n5~X?l+hev;h?|*(&R!*hQ>zD z;>`){a&M34{}9P%Zod>-=29I>>Huvrr>ls8do=mbjht={5us#Vc`j}W`({%#4Z}Ds z8uJB_5BuXU(7lRuuXnwZtr@oL3 z`vj))(RQHB;w!t9&{pE(V1qh$mTWz0gevwS!7vgh(9EBRXY2|j`q7KeoEr$N7wRl8F(@fmQ^ z6vsrno9E-GvuN?4*{y_$_kzCn6z`QvHHKr9^>O6WWb;Au-4h8tuirpS2LzibIe#L@ z{~%Z1{I%$ZfUR#?l&Hz`Loc3%(?JK-Vp4iBc|I%-6C0{oq-eCO5CCB4zXc(7k|z6! zvZC{esH4EoK%CsfmhrX@2UYBjfytWTKRsO+{WN|w{K8MonnXwf42P!3(XbbfEx&)?E8XFuMX9VXtao%&fGyITIYZM*viO>p{f0&(e1BT9Ui0L? zjqFb~mOe3qH{T(V{;bch7HE^-HOIAMU!@$(7$I*g_8{V*m;ioSgKUgHLx2twI32Nt z(|njhRe5Qy%NK?NYITMT8#;lok9&idiq1BV%F zr?>7;wh_*lWk;qSkjloAeed^`qpiGl5KQEQ-C4lAAyC@ahhqh#zZ!`rPK$Vb3DdeI zE^k{lEtK^j#AG-)V5kg-xr-A?I9`ZOe)M{WK{-MXRZ)Fcd=%@-?eUpb&iu{wz7Kb8Jky71qtRi>kV;Br%~@N$N`1;YJ>FA97a9Z zD3y%Ta-AV}cp~{Ia-)||ZkpwnluKz@jdqoSeh$?HJAcdpsgL<~bLL}2V3c4{ zLi^utf+KM%+zMeVlb3}}y z4}JrN0KhFvP=AFYSvP$}fyQFH!K@G`k|W(_8G1J9NwJz|t$IJAV)P?^<`i&`a~5+u zA`&H8_hhY4@61B;p+nm6w85LXuQqj9%HDI9Zj*$k0y1yy&$qlQCFiJH#Cs@m=6=C+ zt=ni0c$0|(e%_HmF7jtjWcf}&yRy$Fv3x%~+pwM*0Dssk(v4M~2yQe9bLbS`M}C#; zubur~9f4I?!pI%pG?n_oGth0`%P_jkk*Z(uB`a5){3C%qCNgxT28e+>s%A)dDYxV)q0Y;h z=&i<%={ahpRiB}vLludgLh-rBVQPk*b7&Qpf?@33hTbfEN@kYyv9JjfaU4!Vm=i-S znDUK3nbDYdl;I?^J+`nn!vvu;O`WP>i<0}z|9=o@a3)O%eMGGcYU{=Q!T6x%xcueu zVn?>X3EA-VnHR!BKo%L9&nxcGJi|66ES^J=j)Hl~$BHJjqYPRMJdl(5;KX#-mC%^EPtg z0Do5X@#ZdM*u(S$k8BmvoW`tLfM3|%Zf9|RBgXYJT4plDy!7PdlI1{YjSs z*3|XWGmXZd)x@2~IidlJ0usBED=hhG6uz~@4pg!W)Cp{?svey*`VmWpzO5sMw5r33 zo@jDjQc_c^ipHubM(QKe-^h;#jRo^)9Dfxd5G}9cZ$FAIO`aC?Bi}3yePjD})nQ?k zY6R%zZx&v*I#D$7GqOmF0`eGD_e!-D>ZPpS@NE6pFXgPgYax;k*@ld48IkxaBO_-> zC+e^A=e@hRX)7-$-+Y>+(SjkNbv+GSjks%{B@vf|(UOU3drt!CMNFv=9<*Ox0tRNyoZtBwd9LB zm4Y5>_wjfrZM~_O{HGp^F-(|S+7LST?5&~muA~-u&fN_+l30yGSFUpVe?nbg4 zD-M;3aDekdU5D)WYm0|J6M<<;VSgm;>sc&X`I{>FhK2p-CCP9Q-8*1UWb1viYqea>5_oU|#xd%RPk3Ec-Xs0GjcN!R$W3fR5~MR>OJdET znAz%Xlnc3qE**DMn&nKzl&^T5J!Sd?$oN*xl2N&&UGWJ3UQblx0iUp^NYAA*TY7s^ zk(B*tHr`>{(v@Kjl7%w^4S)7gleGBHu2v^R70`nvr?E;%J=jC3azf5J$>RajTnU0} z~1!&Og)r6p+QbkHErLwH=(skHK8snu7f~S&Nbz z8~H0oY<|Qmk8)>WD}STCK*SPV(41$os*-pn?fx3lk98=Yh+8wv_L`M*bJm~ob^G5> z`Od7#Uy!wnz3vQ4E@M1d`4(&c{#}me_Qojlvp3O9ohJNZ3$dHa%4}r8k`Qu_1Kdl7 z^f_j9gxBKD7rx6klF_|K{o<&p@7z5cty|DZz~h7}{qcBxD1Y_py4J*micYaXYZ@hr zw66v(v4U6<0BK2!SV%!POLQNDGCE}iN;bEEaFEpf$Dmou@^su`xr0tXcaRI`7$otoeRZq82CzL zwdy~WO*njP@*r$9&%bM4VGBF**8d~UDM;;_ta3tHy<1l8hkT zp?GcRAR|S?N&ib*6g*9mTK)_+d4Z)KD$oP&vP5ioM1P2rga-R$Wb3EJ^J9z~*EW2h zyM9HhrK|?!(43&@@Zj~KDSI8)la*jTp&!%R!q)vp9y8MhfgJHu_3p@Gj{Pu_Ce4{f zLtJK-5u|o$b2qpViY)qj`wz?9jFXp`;4`9>*o==2a}nhw8#k=-)ia11XY|<6L_5j) z+xw}0?tc_wr=@knHPvB-XXMRll(5$WaJ#X|)jhcwTha#Hqo)X{sGiQ+b6aZtH41a2 zl#^62f_>X|55ZwygXTvf-ExIumE04W>JLKMfWT_?!5;4VJMb)1{@zIH_ zM{J|R2bH_Y7($IyT(xGqt~sBITuOS6J2gie8sVy*Y2CZwtWT`Q@|XP08(s{5AaEwyon@8DNO)lwkF{A?)CA6> zi)57uCNcY9>H6)MvA-VtPkF4*)h8pFqAgn!28DEKjVw7etVrR}(b+MIQ6&}81!r5J zohjMC5_xX4`S<4L7my{f^|7$PAEc{@Q}E`_-A(4H`qEb3AOI!f&$i_nXGAm+R)3eG zDAhl(ABOA={)Apu9uXHTXgSe8OTdUzfqgwySq3oev`8ZX!+x>-UrN+^Mb+R^Wu~c) z`>?fhAS70kN7O%7&{wJx2I9;*<$r#6Rv!J?fT}-1zAbEDKz6&s1z}l1ijphRYcc++FK^n8 zd2jz}@cSlq(Ja2ZCnL5kP*^{XOMZ}a9Q*$3+u16DFk3HXVGYC;B*k97#{Ez02`{5y8u~8N4lD#7z@lPlXZ_b{?IYea!c^R7l# z$F12eE3qFVA~3jXg+~6iTPW6e}k5qk3uMF6E9CWM&0z= zxDlb|A#;X^+p}mOF@HUabkbcLi{G@YHddjI1GBU+&%uq&jn$hj%?aCLg1Juk*i9zZ z2$IK!V`Uqg9IIvDYfsX{8$~OOQcJQ1$K7*Z*s5a}uq-h4vhn;5q?M_OS_)}*M}Y%+ZLZdrxW>c0`gyh{ zyc=s=ybrBg9E-?_mZSsQgr|M&3cgmq;m_8tn|^kR(?tL=mcm-+(tl6m}F?N)lep%bh8#Xms^mkv>@OmQtBIM!#d za)-L75@<~)8is3$NADr}u&}^crufu>K;SltfRGF4&)=!a?F%Hh@w1V`s8YHB!Swpr z`yY^8em*2o`!%sdcD5x#6G}Q^)aM^rXcAFVF?;a+1Ap{`-}uUH1V7p<9|FAxj!(n- zncg=DDC4&}&DiCCA=w`eZw|Ij(h)7eh~$XPGH8u=LM9=;vM3Tx;%dVd%W>hWX2Uy( z1jZ%>o5L#?5Zr%74zj&DwO*qx5Mv=3Nu2Efox$zi+lfN1Dq$J9%V=BdhY%l7meyG3 zvsdsxrhnVyQIebffL)1fw(>?UD!^&6<&{yzgXNWk&VKZjSXNH!~7|M$6+|= z+E&ZYG>B(8vJJ=ZCSz|AmmRYqL&vABanL3(E`QpVv4&7+aMf8j4&&x)>*co1iNi6V z$Eb){gdp%^k9!<{Lmd{9S4(z}zD4kGSSDI7?8rkI{N``pt(R2_+rs@Jcz*WuAM)pR z{Tl$O6F!^s*l)pZFV=kXgn==cInKn&FNgPJXIsL@+8Qcz;3qc0gbx(_xXKJ*#@?P{ z@_)Ob&c$8yPa1?0sG|$_m?XMcH@S@UKH*bA&mZeMA&J((hC&R6h>sPsA-&z0%n;04 zyC`EXL6GRkLvJTGLu0$a^_!7LC4wLE?1#>fG9HqQ&JBealz@=eLZVeX@T9Et_0^aqY+Tqiu&-ImlwZEv;DSvxX4u5+5 zCQ=9Pn>s;c&lqgXLAujSd?*&ILe*zS1nEYcQ-y6hd-P2|N72&%QtA~Ddz(H9f8-m5 z+#@pUjlca(n1;d`_mxbX-nM)Z_ZN93pRGy(J0vTiHERs|05nyf&{WoZQ^M3l98a^D z2a6CEQ|kqJaDRcjhwXeudA%=Eh<{)wxu4;BQ{d|nn!ENIcfRaaiJnv}T21H)%}F@A#~W)bX&7IAOr(!O zC?`gnQcrh{5#wg|=o=`{wM<3#`ySzps{|?My%U=&XbV@wH2XlZQD(4vHh+*p;P0&SkIx> zjX+SZHnY9!saa7GW)J-|a{dJA{c^lBbRRjX7(1_}HGp#NsHJCCQ9BB`KK*)7^~3gS zUQ~KMF47c{`Ga(N{QbJ({(tDvj*gdmD>LQn+HGiRlg+|061^21QYvLXJXkjKZNFv` zr4uUXw^8ULo(~@T_)&|Cb#nmIA@7s~jz&&vPh&0F3)0FESe|6-P-$FKHEnw6nr_85 zc9(0avD=vfN)%mLR?2EJQW&3fNY&2a@06oW+>pCod6 zvCJLUvAsFIZWo|=OHox~@Tb|>hKW7J49|pm^hf)8^JIm#m3fqSDdstNTcKcNGA?W* z3yIBZ&P?oVjd2#+et!?-A{LNF;Bixz=5xYW;aXRl9q^lqx9Lrs9kIg}_%4@q{+OyA zgud5kz{db9{R^yd6`zPucay9Et=<P>x7%dTq z)&|zzu`7A~$kDyb)Q2bX5{IWt zD@E}|O(U$7bVx<1n$-I1DL!V21M6khN)nIgn4A-NfMfaaRYT^?QJ zfeUS>kfhSX+=2!rcrpYwRIll9c(#cq!x_n!SNrAM6D1M!7gJLF`;(5?@osPf^!3ow zG~BN;M6Oh})jb+`0fihtN|U=5p)`5dG0|W6M7q2VlYax`Si8x#`5Vemb2#CtS&CE3 zano=WDhQASAA*ay8j=f;B2O3R1{$z;lNMe!MbyJCAqx&@yKmUVW2;F6D#@`%b2!%? zM~t0>#7e%2^X@T**10udlksK42ubue56?P2V21?~`y#0nda0cXkejPGmD1m2 zvrFSR>VG@vPZlSX@lhB=F!HUq_L69F$7$Jm%gJxPd_d}3MVDfP{JsFsHGw5v@)|G* zHrBG(Y3uw#{5Z%u4&n%RePv2?Suf@ zuYYiZkhJYP;Uj2jO`W19IWKGA5qpQ_M#2P1Pyl7IX<0+nYddEUNzbPYYFmM9;fNMC z2y;Wo4;qZ7lf^Cd_IovD{P!Ma_trVbfM#cNQaAvki%K38zqg`TpMl7}f$W``SVZ)^ zd9#A550(LRsiXr+!ZUv);wT=XWuNnuXMbwft`mr=6>3(a2Sq35>rariny8MX_*x;n2&3Bx-s4=pXIr>; zsaWwzCwlW-W;Nzn ziavn6Chfo2uOqQ=6ZUefti0s|!%TSS0an!qwy zfhOD?EPuHShV3T@;{29kl>CjR;y>X|-U+W7^!sPeee0u6E}U8WrhmEp#zsTkER6~? zPH;Y{M@V!%t_yXn@we6&raK2dEs}*(bGgrl z545my*2f!^`YEu*og*TZ+Gy~VUHo61Nw-ild3SAiHiQj~Wq;Ko0AA@lnQ-7jTyRBKfu+&g8wL}8~``ouJ%%sc`qDYx%65p&#JzcUmh@ijVY$Bt` zM8YilC49gfh7_)2K{>dV9+6mtl#>%(!K4E;4&`*8DiJP{_KhS_S*pU|vvem1JDJ2s zq)^O`vmHfFBE67JfdNUCvSPnWh5gCVaqK3j9{CG8A%DJ<_Md!Y*(6#+R`vbi6R6CYsK9o+v; zucRMT0h|@fT$ML!}G@iahNN9!KOR-wg2yrItLg{O77{z3i*Y zEsuI@pnqI|Nw80NgdZa-X)|%9e-J2%4dG2Hyx&$Bg^~-;H zCw&tygogwaa+N2{N|X}te!nL&U-|g@MTS4O%|Ku*-}FQJ`N~(+E&Y#3rN|&N8b>W6 z(X6Gqz3oT@-ibtG2LnHysH;Y5g5wlshhJ`%ortxnMG)x`(YAw;@cJ_m#Sc&YN!#(v z(1tD)4RI=wsU|z1g60fzzkg##n~p58ghx_U&1ON06U%cXAHS+mm4!t$*`atY$5JOL zTUAYLTOFO!YK7{!fex)Sy!1Oee%!&>jdDz4b4KrA-9mQiE05vww9f{AVxKPe;W#Nt zJa7X@S;=v;` z_DBW-x%!F4+4d2WR#C4x8XAh&;FrJB-mD&3G6&h`zNN2+L?woDG=fDPz&unED?$_@ z(Q|nXnXZ~9qk29TEPojU{^nf~HCn(fMa_yRef&bb)l6jMPc5v3JSSDdI!R*xwU110 za=Bv65BgcOEE@mM7QpYq_2}(!T8_peK4~-VW?%cu&L+(`1!&xiJV95U(3q9l&K3@u zBt~l-PDYKq1T319Q2!w~$IhD7ZiQ(c_=tsEcX&?c`)?$QplXHE60t=%djzQ!TVkg6 z2tsTrG3!{h_j+xmv0}uEJ!)2iYKbaRMeUtX72@mnIZ594P43%u{ruy)?)RMYJkLEp z_joelMD+m|Vy`8&D)rbJ+N^2s#BV3w*YZ3%cCy!Rh0FMs`sT=tf4+*}?5KS9x2VwP zSIwrYcV2zdqeQXDLSz4|xURwT`?2HRpICQa3J5EI>QwwML&Aj@ss2BRP15x z>CU$k~s}HV=JpJifcRqj}lxVKw59jJjX+-^96dN_~^} z_Zl1X!{a`*Te9={Q(TYoU;qAKy$aE%d@Y|NX3aaEWgb=BF!}Px0++r@ zE#3B?Jc`fzSw{-jnNaBPwUVDX?u0!2vf{K$&jL4JpK`5!OuHM8#kd-Et0e5H@LqZH z$=u)SwcRr!d2O5=c6ajaujbV49XqbPXVP%_^F<5tmAo`~r!gU|>|u|>*E>({*X#CF z-&{kd23*=&>O|4M-#RM2wMsU;(|MMt)XP1n>4+I`yBg>G$JBY^zqRc4TG1<3e04je z)zZ*#-wuQ#so$+f=zks(Tpx@T@IYVa;Py3T;)F)b`ds|d%Yue$%Q%(;EDKe*2-%TCj{I?x0HnCD^|Ak7eo1J#1?mE&s$7AoG zb5)G|tz6Wt%@s$@Yj}C!wSilH{BptfEB?CwKcCi%#ZA+1T0K;sZvxUbt!_Cor|;Nx z#S7g%x}@Qsb0#%^eBeeD+%_3%XTf zc)`ub&hP2@O}&*9115j|>ROpuR=3J`a}^2p>;0x%m9-ZO>}o$@@t=DKm6+bHMDdf~ zcR1{I=HTcuoA!@9f4Yp2;yd+Lm%2SuM*f+Snq&I``R&|+kx?t}{KdwdRso%h-*1AeBxU>JD^6!oL#}*!c{l8A11P^Ewf93a|`t8~9&acI~S2u1B zD?a4lB>$i`Nc_1*?rM zGHgktG%RM~sg?D{9IaBYec8r6E=Ju?=-9+#Rbo)rqX8WfV&r$L*LA5{_LHM6gFB!2 zY{Ai2h5MZCcJg6p@UqR-OPdFtx18`kcbkVHpX|!rJ1V|I(}G>c`S^6clF*~m&wCun z?;=(fy4SUDvF=f!+iN8)ui)3X`?-42*1rdfMz%d!zPV}cINbaEpdEAPFD*AHx?JfK zZ&D^y-?*&PxcPx?ZoKRATZ!FsUzPav(6mA`dS9qnbc>o0Q~OHiv1k8W`o?R#+~dss zIoG!(Jp1qRv=u@3*PUv9tHJ&~#Z!v3`%wJlevj`L&24e*OniX6=(D(Gb9=9k$a{8B z+)p#+b=-Snm~}OzXUe7EwDX%5Z9FYRP8txou=u&AdoG;XdLriASr?Pudxs7F`jp?- zr|MUJ+$Q47<$2a_>Qt&j+_V1MJqv~WS;D_T-N)AwPx(^QTWNM zk`xzw>tL0-r@2e7mRxk8l6M|E7178kcH0#IH7fTYf~d z*9*7hUHWp#knq|Ii{H&VuiRH&9+ACwuIcj2&9cGQf~qz1Jn^jM)1P}U>eYE_ubXRw zVq4t1lG-n---uo9O1Ig6YWdvy?PrH4H0tr*uqI5tQhQ(H!A}ofIcEt?7tFb_>b#zYd?hLm{`K2)#T?U%gm&l?p7(LF7$1K}hiQdJS8Z}2(Qo3| zc|E^xTyVvxi92lOlSRPh7pEPmy zuvhJ>rF5Ho@8HR(8gcK&CIqglXf^vj;_K3{Yqyvbc7B|H)jTts_k4HbVS6iOSj!4l zlNT}V%T@NyF)2~0`?N{VxjQ>Oj&9{sX7`m92hwup9M$+~f8p-F9H|?c3@D>6Dfgto zoM#<7Cg-_!JntUs>cO>tkAB}RNpG?*a$>9LMV>#uUn<1tzB%;wh?|ScKVG-K#QB*! zng@*v&(*X>o^NUl{WrPHt(f2y*7i@%4rsBVzZIG{@LAx}CRb|}8Cx?xrqjDETU!Q1 z?07MFZhpT3Ti0%S6dZYQ!4~f%&3E{QF>@~Ol#h>JJSt^q#Pa@i2lZ}r{@%pPKergR zENEZSm8Gd_a%&HHXI~*~*@vdqn`eixuX~Fxo zZ*}o;>&9m`#|BmDaeA0|&u?+w$jA4;P%FN9lIQ7_3JG0%H2&?i`1ix(wHt3e?_ceQ zN{xf87Cxf~c+~p0Q}T<=PtFuis~vvxqVe5{cR4?sYz>*YzVD;~?+?AW@{Lu*qf_{x zmZ!IkOM1Tjs@ZDHAHz?*>D0RQ{C{fwzV>F%Tx0Y9Z_BYq6(+Q+?$@`#z(UuK2K;(= z-k6`J&Ae4?#IF2%7h7jSzl#rCFt6_0N|ARQuVR;;pSq^hgT!%S!3*>Mu6VundZSCh zwA8r`!zOJ=Xq!5JQQYvs0gF2Pih=A zD=zV5ff(%PQ%ngsC|L9v|_s~?WN$7*ff^D`24$L{kzA9t!cgB&%mzThorpg<`?B3l$P8!VoT+a;$`m)@4x5R z!PkAumS27An40kDN|VBZRb#jBxaG+m4*pj2pZ`v;-#2Odq5fw(2PSzxI{LnL`O-f& zJMZ($Z{AZz48B^u$jLLYpS9T(oNLLr!H>6&e3fwdr?eLzuIxYbZ{ym%rq)<@dE%Re z7k{tRxp>3BwSP+em%MW7u7>$nR6pEs?8;)>1HC#wnpdJmkgz;;!QCnYu2sFTtJatS zo*~x0M`g-P?33%S%};JEYPT%l)YDP9e|gyb+{BYbfB9b-zm_dOyuW;I=wDxUc=>exWHr1x8&DFS_e;uj8-7 z`tR{g?z?AO(xx-MpM2>xsPgh>T|#G^Yk9fcmZb2VH`aW)!7nYv3N-S2ExT~?NdARE z|K4lU>UvnWbDK&O(-Paa$iKC~*)kITTua0EU!HwEuvm@6h$(y9mrGkeJig?$N!{=K zD#YFn=sSCGcuZ=|Y7-tGNXh%((49g^&$|5v79PE(Sv{fF>fMb~V{nsyeLR4y#AW$lRSqloe*)^t>B6bIsT1m$Vw}`*L%O9sTYZ zUE41#e{5vAnIB3%8F}F6hX1JIgR)V{d7GTrHzeT8n2?vAl^RYD3va3iJnepc&>-*p z+J2CqXThUqt~w4z>}u6<)uCqJj~(}YL+=qudsBORFZ}D*W!ooxQ9S?X-uG{= zJ?;4YPL3juhzQSsPun)C*S1AV$I=MTjeG0$_B^S3`s(W5JgYs;T$#V^ZM5EVVPsWV z&_qp96xCl4D+)rz%HGwR59(RJ`_Nv#mFfpdf+z^CNA~9a+^d|2k6`!;_CMc&zTWo# zk|HXa>8M-Kt42|k{UjTbV}3!eKp#P8ze%R-xNZNYnEW?EaY%*mNs;{|imGFR{gc9e z5+u!W(f&!JKMAI+JNyb`F_CRVFciZPW&dXI-*nY<954K_jR=}9I0_ZPPZC>ARTM|K z{S(`xpx~{Y_D_6|vLQQi6vaMt#$!P;HAkzWcuio7NrLHE`|+PdNphsvUzGXD1f06A z&quZ|o2INf=G#Bf?aQX2D~{Xv$s&Rg1Vu18P15A-`^9sLN{$DbrjQMSrkk8*Dw#TF zIrUEvRKX+)1e&Chy@RHRgn6K8R53x*RielO)Q3E0LG`g2wnOtHA2jukJZB0-ZERy> zTo45bre@oj%i!>wte6%fDkeR#C};|0zbNPi<(7!!(G!cJU{G<2P$%bstxWS5L{Zk+ zBBCm>(}|kSKWJ#|bU3hc5$76$CQ%VPmVDv$g+)&+sHRHoN;U6TjwWpF1u`vvHm&Xh|tMfRL73fb8z2%;`?i_ldnCJPT5d=Ud{)6Ezn*K|V`7`F^X zWnwZ^rZXb^u!vS@Dl;8P)Lov-=~N`qWFFJ8rj=J=SQT`UeO6Mb zE5LI)u}I({2-U?PCx2wvDcz>5GL@BN4K_fe3ZKCwgU@lMDLm#$ioykh_{%l}yLAb{ zB~_Ihm86O$RS7K1+=HZQZZ&aoLDi`j2VfJJidm8-iPROq+whZU_($2Q86s5^Nry$# z=X8m`t1GteOXt4}UWjnxbTfisG8Q7%YIG4%7O5UVnjBt;vMjl|YNg|90YrnIPLzS3 z$VtSHC=zIzOP-nR7iCRi7A|Y-AfhGfbk_(eoQ0+#F}xz-bWFK)Q=tn>hQRd*-?KSr z^WVjO$>rlMI!G1 zl5{h&06DoAPWR@rV5tlmB3#lW35l7(xB$PN^&}Y|1VW>VDIdcEQH~XO;3>3*Kupxa}SNQ1^Xd!)0 z;$BY%X3mCxZ2rrdn8hPyI3&<$(1ADOeqPo%t^tiXBw16Kd4guL)DltgBbZbZsV4*y z)~VOSvMlt%>9JS>no~?}R4;3$l#Mm%oH3bOmUSf4l+`*?C{ANJkgQ8Y(ZPQZxu)x~ zJ4QP-U00Z^WItrl`mY zkugMK+c8}Oa@Q&TQ;?XlMHFPZ^kqe2fD)xWmd7ZH=3=!I3oF2XuFW{{A22X89pq@t zFDNLiunhvjxjyJrR)7fl9Q+4O#03jED6>zLTDa1vIu60id$Niedm1x*p7M%McyQ zZD83t^^T|s@DrN?t92o6Ub0`&EJ0 zwU9V5c!eS$!*weB5w#K({Q5;Z4f!7Tl>8;>`#LL=;@FvvIG*=Nlj4z#AF2%z!bJHFiy6GZMY1}witv)lY~`y z0ESpCL&HJn>EH+%`!&EY%6`pmq@;^I3;xq2l@-f1q_fnvk=eQZcc!}q3d`bDGJJ&w zxJ(re5kI?9+xoAfPDvj`L7vBVO=cAkfHlTJRaMw#Kw|(^RaFh=w8B0v*&ts2h-kVcS2>@|?vQO=;C!m7F`C9s$e8Uv3u_o-IHv2s>xW>$Bb zE^AeH=b0}2hqQ~kOr(Wu*MRucB2?6J*k*Ki8hT<~r50g9`+4I8Sc91zXv~gbIV`II z#Ap5kG{zYX`JO=WA4=fd!=da?xu5}mQ-#AZSThCvUd9>JuH1)n;y(amhJulvF%8xb zQ;Ersy@=CEK|!dWu{704F9c=r0Rohjm18vcRtlvwSP9hyO;cG~j#QCV z(hxiC&7{YFR|JITXJHlw!4wnUW2OiY#xxx%D&I7W$$gMa{D&l!<^GxhXGqzK3K=^w zDrD5_A;D!Ps~HAMU^EM@NhVJd^%%M^oFk_Jbg}0&9*)tYqNa%8o*v$9{=3+(Bb%is zfv?ahHh^)m&FBIzWCErz4kA;}>fqAlFX$qdF(k*rv5o->wm}#&6%$%1%-)gwF!-%& z76+d2JuDFEy2K)&t|Kug?6)hjY=b(y6noChP->jt&3;2<&O(RIun&Gj;n3INB7udm zg-ui~vuq}v|0txfx-Z-j%W8BJ7N6y1JDQ+h!q5;ZKCD`bJ{`jgsI6H{xnPORn;CFP z)a(E&*y-#-Hx-G2(vaKUGoTsX%(RFs_|HIDl`SH&h=pZ&h(`CBIVnI^rkH4_X2$_G z|KVpCTs9DpkV{7rLi_^ylqgwHU4WA!&%pt>Gb|VW1Ce<%6JCXx zlfpaw2rt>I+O|>ysAP3Cwy%KSqE5;Jk^5?#&15G*(!f6WkzomxmYGNp@fm8uR0@ig z8S%&Eg25T0AlS9W`#g5krkgSCRs&(biHZt;PIIFnC;kI+XCTvd)f5|GAb@4PCOVK* zOeUJ4OztA*s)aPuIbq}Cf+-2C%4JGWe|kEJM?e!C*RV@{>HK#uj7*HN z5Zx)Zu*`ucrWhC+LZy#IR6vp}o5{p~sJOAhqp6@POm_{_W+JhRyzDt!xon+xhj%-m zGBKh5#c;Zb`Wkg0CJ+}*u}~7E=@jCh%F6Q?(_$HsiMVEO+UCET{Qxg)5v11aB*>U) zNHvk_u+t$IV7h>0Hj6G~*dKCKzH1;##sx%Px`<)NZNh5I05a!;5XPgdZlT&lUPeG= zG6s!DMHD-zVj8;29Sy`z4`KkJrgISIcd;J$D@jSRZ*1hDSaKKgepgXfe}Z0)L4P zHG7v2U?CyObZ~C`he=O128c;3)`msBQ=nqPb8KkRo-n1j0yH&y;tKxTM5ExEkRQ#khN(poan@VAfna47Rgen$|xe?IaG7lb8wHG zMyCbwE`#pqzeud*YSVOfVmL>}83k1-x-k00>|KQoxF9J+3PbRpO>|}^PPYsi=FI6L z7#m^>1IKcjNNd3u`~kdjelHXM*+lBAL1U$On?^kxXh0y&4?4vJRL#U>*X+r2sJ~*~ zn-D?cvcsf4KOIZKu^BX7+4oGE)ZjVO#s=x}$IWV9+lT8BxgEo_=}9mXPNO2;#jG;j z42qWSgJj@8dw8Fl32OW7BnaC~2~jR(mcyqdZ6C^gg#|doPr~YTc-eHi%q-l>EF!rv z1a2I#;+0Kf9@CyvvkzzU-~B<%nXnUM(`Y)WYJ9}i-fojr&lbxH$ksEqAZ z7-#qtB*v8xD%tm>UbL2j8)vMbh|e)Fitn)kC7xqL%Ao0@!=o8S&1o`?pSU{NL+q@c5H)s<(H^!# zjn=F194i&1^P8z1+Mm=DAkAXI+s14RYJ$ix49XTX!-GbMG$FHTT$~sMVTXfP%A~oW zCN3>F=MUY+XOCo1&Zr8l_+ep=lQ2(5i!FGL;v_&#)b|-s0*wyNAdqR!UAs4EvSJGY zBQ8&{O|uDbJcn^c3N-;VIT!f78@!AbAzcJbTedJVJmzlDv~|*4P!qA6Yc;|k({w(| zjs%0JC!o>JAD+X!N%l=!Hj&{POqMWYZdZ<(B4GfW*}K6;4Y3BR^nzxmC+VRsi?=s0 z>5_eic#sX%g2rkYHjTklq+SfBVkFBQQJhc{M3!!XFSLjPe~l^2jg1J)!Plu+ZOVnRw~LymO*yUYpIOxha82T{La zAIv%~nBG3Zb8O}b?E=>A0WIq|QYO^2>!{iMGTbtni_CK&>2s$Enc&Gz1gVq4tF-BY z@3FgqNHy)dL-cgG6U11EI7HC^E?-e|!XnIZfyRS3GS&1zWb@z6eq?ym#BgBRv9T{N za(Uvi1LFd2R8VD=5InPpGhP1pAZo{y3uuHfF37C?jCa{gi%sL=#AH1`oW%-Ycv(#krZqMXgU&jehe4+kBR2NCxR~W;zsibic$p1bVboht9o^g7_w<-bzz+ThZsxzG5PF z4-2@#6RepbG+gSU!(Ir#?AjA(ACWt74dViWLUt|yJYg!A%N>0T#s#z@7#C2bW>$|H z6XyaN>WnjnDNyi)axcqVP-|d52s8$Ufk+vv?Hg-UKR|PF!3Cb+Bbj@!3)l2?=+LlW zYu}dTivW|76JvgW)@v+`one%aJqT>bXlzy&@8WhKd(LE8EXu-6OrRkgr8{r8{{lW^ z)dtX5sKC`PRy0J7gXJusaWNs&a_NT?JfVriau$4!Sp@Fhv77}o&IO=ws=%1$V_dL6 zWKkJ+?>@o>+yJ1g1~y@f0Glvz0x2ohIhEQ-2X1{2LP`8L{ysYP9H@B#6 z0SM}(Zg2ms2e>ifVW7uoEo472vOXjM z>B};^V~Y_lRt5r%W#IUm5IA4v_na{tLi-@kLaqXWGWnJG8HFi3|v|u zW}SUWcc~bbVh9B^RsaEwAz08p!fK>BRGhX)qkn4yf6qXnSr=#+MWF1*NER_gAa({g zL1P&kXj$r*nK2whKvTL1P_k1_F17-havDqR?E7cTO6)s#^j-X|0XC?G;uE`n2^tp@ z90(0Z`1>HpddWdlfDy_;6=5AB$ri&Uy9>!4L?wrY8T@rGTC2vp7{I3sqan>`a@HHH z83hmwwz9by&@dNHKgdf%0CQ|Y9W-_sz^-(#@ksow0oLZguo{YKbYbj}1RZ;*jiyZY zbun5z!JlGb7r{Wwm~OZE?}ShwGS~nbn=A$mBVBZZm~Ca7#t;L4F57+UboomtH*+}| zXqnMP3^u-k@`C-BkZ_Ew2f>s%fmJ|m0_PTHjoHHB7Smw(BbwQw48by1OwXeJM>d1M zQ$V{i@I0Am8P4xwKbpl9!P|I<)qW%UwZKlVVD$0cTZZu|BSy;41^P85F@f^!7P>g}Y zp;EwIWhNQ>nqBtizzqDABC1cQ|N;f;DHz?66S^1-1Ey#EgZ4T~uN delta 41381 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

2Hvc{VOziDUE&nOanc**% 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

&d+tc-|W#0z1;ik9~MJ$hGd0 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 WMSIR!W?x(zTeZA>`)OyMzWjfxot9ky delta 47218 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 A?f?J) diff --git a/docs/manual/options.pdf b/docs/manual/options.pdf index c15d6c0de3ae31bf94f9d711e1cf9b44db971630..c2c5e35fcce8d6cbdba61d092c3f3baeff640570 100644 GIT binary patch delta 19143 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 delta 18712 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 F{1@XoI ;; Copyright (C) 2006-2007 Yoann Padioleau ;; Please imagine a long and boring gnu-style copyright notice @@ -32,6 +33,7 @@ ;;; History +;; 2010-02-01 Nico: Add support for 'disable', 'using', scripting, 'virtual' rules ;; 2009-11-05 Nico: Cleanups, Change shortcut % to C-M-% (% is used in Python rule) ;; Some cleanups done by Rene Rydhof Hansen @@ -136,6 +138,11 @@ (setq cocci-font-lock-keywords `( + ; For virtual rule declarations + ("^[ \t]*\\(virtual\\)\\b\\(.*\\)" + (1 'cocci-special-face) + (2 'cocci-rulename-face) + ) ; blink possible errors, when - or + is not in first column ("^[ \t]+[-+]" . 'cocci-problem-face) @@ -179,6 +186,27 @@ ("@.*\\b\\(extends\\|\\(depends[ \t]*on\\)\\)\\b.*@" (1 'cocci-special-face t)) + ("@.*\\b\\(disable\\)\\b.*@" + (1 'cocci-special-face t)) + + ("@.*\\b\\(using\\)\\b.*@" + (1 'cocci-special-face t)) + + ("@.*\\b\\(initialize\\)[ \t]*:[ \t]*\\(.*\\)[ \t]*@" + (1 'cocci-special-face t) + (2 'cocci-script-face t) + ) + + ("@.*\\b\\(script\\)[ \t]*:[ \t]*\\(.*\\)[ \t]*@" + (1 'cocci-special-face t) + (2 'cocci-script-face t) + ) + + ("@.*\\b\\(finalize\\)[ \t]*:[ \t]*\\(.*\\)[ \t]*@" + (1 'cocci-special-face t) + (2 'cocci-script-face t) + ) + ;old: does not work, not easy to handle the rule1, rule2, rule3 list. ; ("@[ \t]*\\(\\(\\w+\\)[ \t,]*\\)*[ \t]*@" ; ("\\(@\\)[ \t]*\\(\\w+\\)[ \t]*\\(@\\)" diff --git a/engine/cocci_vs_c.ml b/engine/cocci_vs_c.ml index 6cc58cf..ae3c761 100644 --- a/engine/cocci_vs_c.ml +++ b/engine/cocci_vs_c.ml @@ -774,6 +774,8 @@ let satisfies_econstraint c exp : bool = (*---------------------------------------------------------------------------*) let rec (expression: (A.expression, Ast_c.expression) matcher) = fun ea eb -> + if A.get_test_exp ea && not (Ast_c.is_test eb) then fail + else X.all_bound (A.get_inherited ea) >&&> let wa x = A.rewrap ea x in match A.unwrap ea, eb with @@ -1071,8 +1073,7 @@ let rec (expression: (A.expression, Ast_c.expression) matcher) = | A.Nested (ea1, opa, ea2), eb -> let rec loop eb = - (if A.get_test_exp ea1 && not (Ast_c.is_test eb) then fail - else expression ea1 eb) >|+|> + expression ea1 eb >|+|> (match eb with ((B.Binary (eb1, opb, eb2), typ),ii) when equal_binaryOp (term opa) opb -> @@ -1840,7 +1841,6 @@ and (declaration: (A.mcodekind * bool * A.declaration,B.declaration) matcher) = | _, (B.MacroDecl _ |B.DeclList _) -> fail - and onedecl = fun allminus decla (declb, iiptvirgb, iistob) -> X.all_bound (A.get_inherited decla) >&&> match A.unwrap decla, declb with @@ -2480,8 +2480,10 @@ and (struct_field: (A.declaration, B.field) matcher) = fun fa fb -> | B.EmptyField _iifield -> fail - | B.MacroDeclField _ -> - raise Todo + | B.MacroDeclField ((sb,ebs),ii) -> + (match A.unwrap fa with + A.MacroDecl (sa,lpa,eas,rpa,enda) -> raise Todo + | _ -> fail) | B.CppDirectiveStruct directive -> fail | B.IfdefStruct directive -> fail diff --git a/flag_cocci.ml b/flag_cocci.ml index b335399..f7b10c5 100644 --- a/flag_cocci.ml +++ b/flag_cocci.ml @@ -53,7 +53,7 @@ type include_options = I_UNSPECIFIED | I_NO_INCLUDES | I_NORMAL_INCLUDES | I_ALL_INCLUDES let include_options = ref I_UNSPECIFIED -let include_path = ref (None : string option) +let include_path = ref ([] : string list) (* if true then when have a #include "../../xx.h", we look also for xx.h in * current directory. This is because of how works extract_c_and_res *) diff --git a/globals/config.ml.in b/globals/config.ml.in index 9e01659..769cb48 100644 --- a/globals/config.ml.in +++ b/globals/config.ml.in @@ -1,4 +1,4 @@ -let version = "0.2.1" +let version = "0.2.2-rc1" let path = try (Sys.getenv "COCCINELLE_HOME") diff --git a/main.ml b/main.ml index f5780a6..b96cba4 100644 --- a/main.ml +++ b/main.ml @@ -296,7 +296,9 @@ let short_options = [ " causes local include files to be used"; "-include_headers", Arg.Set include_headers, " process header files independently"; - "-I", Arg.String (function x -> FC.include_path := Some x), + "-I", Arg.String (fun x -> + FC.include_path:= x::!FC.include_path + ), "

containing the header files (optional)"; "-preprocess", Arg.Set preprocess, @@ -311,7 +313,8 @@ let short_options = [ " works with -dir, use info generated by glimpseindex"; "-use_google", Arg.String (function s -> Flag.scanner := Flag.Google s), " find relevant files using google code search"; - "-patch", Arg.String (function s -> Flag.patch := Some s), + "-patch", + Arg.String (function s -> Flag.patch := Some (Cocci.normalize_path s)), (" path name with respect to which a patch should be created\n"^ " \"\" for a file in the current directory"); "-kbuild_info", Arg.Set_string kbuild_info, @@ -328,7 +331,7 @@ let short_options = [ " guess what"; "-date", Arg.Unit (fun () -> - pr2 "version: $Date: 2010/01/26 06:01:55 $"; + pr2 "version: $Date: 2010/03/05 21:12:11 $"; raise (Common.UnixExit 0) ), " guess what"; @@ -732,7 +735,7 @@ let main_action xs = if !dir && !Flag.patch =*= None then (match xs with - | [] -> Flag.patch := Some x + | [] -> Flag.patch := Some (Cocci.normalize_path x) | _ -> pr2 ("warning: patch output can only be created when only one\n"^ @@ -938,8 +941,8 @@ let main () = chosen end else List.hd !args in - if !FC.include_path =*= None - then FC.include_path := Some (Filename.concat chosen_dir "include")); + if !FC.include_path =*= [] + then FC.include_path := [Filename.concat chosen_dir "include"]); args := List.rev !args; @@ -970,11 +973,18 @@ let main () = (* The test framework. Works with tests/ or .ok and .failed *) (* --------------------------------------------------------- *) | [x] when !test_mode -> - FC.include_path := Some "tests/include"; - Testing.testone x !compare_with_expected + begin + try + let prefix = "tests/" in + FC.include_path := [prefix^"include"]; + Testing.testone prefix x !compare_with_expected + with _ -> + FC.include_path := ["include"]; + Testing.testone "" x !compare_with_expected + end | [] when !test_all -> - FC.include_path := Some "tests/include"; + FC.include_path := ["tests/include"]; if !expected_score_file <> "" then Testing.testall ~expected_score_file:!expected_score_file () else Testing.testall () diff --git a/parsing_c/unparse_c.ml b/parsing_c/unparse_c.ml index 9aa0495..80a3a80 100644 --- a/parsing_c/unparse_c.ml +++ b/parsing_c/unparse_c.ml @@ -61,7 +61,7 @@ type token2 = | Cocci2 of string * int (* line *) * int (* lcol *) * int (* rcol *) | C2 of string | Indent_cocci2 - | Unindent_cocci2 + | Unindent_cocci2 of bool (* true for permanent, false for temporary *) (* not used yet *) type token3 = @@ -99,7 +99,7 @@ let str_of_token2 = function | Cocci2 (s,_,_,_) -> s | C2 s -> s | Indent_cocci2 -> "" - | Unindent_cocci2 -> "" + | Unindent_cocci2 _ -> "" let print_token2 = function | T2 (t,b,_) -> @@ -114,7 +114,7 @@ let print_token2 = function | Cocci2 (s,_,lc,rc) -> Printf.sprintf "Cocci2:%d:%d%s" lc rc s | C2 s -> "C2:"^s | Indent_cocci2 -> "Indent" - | Unindent_cocci2 -> "Unindent" + | Unindent_cocci2 _ -> "Unindent" let simple_print_all_tokens1 l = List.iter (function x -> Printf.printf "%s " (print_token1 x)) l; @@ -378,7 +378,7 @@ let expand_mcode toks = let pr_arity _ = () (* not interested *) in let indent _ = push2 Indent_cocci2 toks_out in - let unindent _ = push2 Unindent_cocci2 toks_out in + let unindent x = push2 (Unindent_cocci2 x) toks_out in let args_pp = (env, pr_cocci, pr_c, pr_cspace, @@ -489,7 +489,7 @@ let is_minusable_comment_nocpp = function | _ -> false let all_coccis = function - Cocci2 _ | C2 _ | Indent_cocci2 | Unindent_cocci2 -> true + Cocci2 _ | C2 _ | Indent_cocci2 | Unindent_cocci2 _ -> true | _ -> false (*previously gave up if the first character was a newline, but not clear why*) @@ -518,7 +518,7 @@ let set_minus_comment adj = function | _ -> raise Impossible let set_minus_comment_or_plus adj = function - Cocci2 _ | C2 _ | Indent_cocci2 | Unindent_cocci2 as x -> x + Cocci2 _ | C2 _ | Indent_cocci2 | Unindent_cocci2 _ as x -> x | x -> set_minus_comment adj x let drop_minus xs = @@ -843,7 +843,8 @@ let rec adjust_indentation xs = let old_tabbing = !_current_tabbing in str_of_token2 x +> new_tabbing +> (fun s -> _current_tabbing := s); (* only trust the indentation after the first { *) - (if started then adjust_tabbing_unit old_tabbing !_current_tabbing); + (if started + then adjust_tabbing_unit old_tabbing !_current_tabbing); let coccis_rest = Common.span all_coccis xs in (match coccis_rest with (_::_,((T2 (tok,_,_)) as y)::_) when str_of_token2 y =$= "}" -> @@ -856,7 +857,7 @@ let rec adjust_indentation xs = | Some (tu,_) -> _current_tabbing := (!_current_tabbing)^tu; Cocci2 (tu,-1,-1,-1)::aux started xs) - | Unindent_cocci2::xs -> + | Unindent_cocci2(permanent)::xs -> (match !tabbing_unit with None -> aux started xs | Some (_,tu) -> @@ -868,10 +869,12 @@ let rec adjust_indentation xs = x::aux true (y::Indent_cocci2::xs) | ((Cocci2 _) as x)::((T2 (tok,_,_)) as y)::xs when str_of_token2 y =$= "}" -> - x::aux started (y::Unindent_cocci2::xs) + x::aux started (y::Unindent_cocci2 true::xs) (* starting the body of the function *) | ((T2 (tok,_,_)) as x)::xs when str_of_token2 x =$= "{" -> x::aux true xs | ((Cocci2("{",_,_,_)) as a)::xs -> a::aux true xs + | ((Cocci2("\n",_,_,_)) as x)::Unindent_cocci2(false)::xs -> + x::aux started xs | ((Cocci2("\n",_,_,_)) as x)::xs -> (* dont inline in expr because of weird eval order of ocaml *) let s = !_current_tabbing in @@ -944,7 +947,7 @@ let kind_of_token2 = function | FakeTok _ -> raise Impossible (* now a Fake2 *) | AbstractLineTok _ -> raise Impossible (* now a KC *) ) - | Unindent_cocci2 | Indent_cocci2 -> raise Impossible + | Unindent_cocci2 _ | Indent_cocci2 -> raise Impossible let end_mark = "!" diff --git a/parsing_c/unparse_cocci.ml b/parsing_c/unparse_cocci.ml index c3635fe..cda9814 100644 --- a/parsing_c/unparse_cocci.ml +++ b/parsing_c/unparse_cocci.ml @@ -50,7 +50,7 @@ let close_box _ = () in let force_newline _ = print_text "\n" in let start_block () = force_newline(); indent() in -let end_block () = unindent(); force_newline () in +let end_block () = unindent true; force_newline () in let print_string_box s = print_string s in let print_option = Common.do_option in @@ -66,7 +66,7 @@ let outdent _ = () (* should go to leftmost col, does nothing now *) in let pretty_print_c = Pretty_print_c.mk_pretty_printers pr_celem pr_cspace - force_newline indent outdent unindent in + force_newline indent outdent (function _ -> unindent true) in (* --------------------------------------------------------------------- *) (* Only for make_hrule, print plus code, unbound metavariables *) @@ -106,12 +106,14 @@ let print_around printer term = function print_anything bef; printer term; print_anything aft in let print_string_befaft fn fn1 x info = + let print ln col = + function Ast.Noindent s | Ast.Indent s -> print_string s ln col in List.iter - (function (s,ln,col) -> fn1(); print_string s ln col; force_newline()) + (function (s,ln,col) -> fn1(); print ln col s; force_newline()) info.Ast.strbef; fn x; List.iter - (function (s,ln,col) -> force_newline(); fn1(); print_string s ln col) + (function (s,ln,col) -> force_newline(); fn1(); print ln col s) info.Ast.straft in let print_meta (r,x) = print_text x in @@ -135,10 +137,22 @@ let mcode fn (s,info,mc,pos) = (function line_before -> function (str,line,col) -> match line_before with - None -> print_string str line col; Some line + None -> + let str = + match str with + Ast.Noindent s -> unindent false; s + | Ast.Indent s -> s in + print_string str line col; Some line | Some lb when line =|= lb -> + Printf.printf "some, line same case\n"; + let str = match str with Ast.Noindent s | Ast.Indent s -> s in print_string str line col; Some line - | _ -> force_newline(); print_string str line col; Some line) + | _ -> + let str = + match str with + Ast.Noindent s -> unindent false; s + | Ast.Indent s -> s in + force_newline(); print_string str line col; Some line) lb comments in let line_before = print_comments None info.Ast.strbef in (match line_before with @@ -151,10 +165,6 @@ let mcode fn (s,info,mc,pos) = should really store parsed versions of the strings, but make a cheap effort here print_comments takes care of interior newlines *) - (match List.rev info.Ast.straft with - (str,_,_)::_ when String.length str > 0 && String.get str 0 = '#' -> - force_newline() - | _ -> ()); () (* printing for rule generation *) | (true, Ast.MINUS(_,_,_,plus_stream)) -> @@ -199,7 +209,8 @@ let handle_metavar name fn = (* call mcode to preserve the -+ annotation *) mcode (fun _ _ _ -> fn e) name else fn e); - let rcol = if lcol = unknown then unknown else lcol + (String.length b) in + let rcol = + if lcol = unknown then unknown else lcol + (String.length b) in pr_barrier line rcol in (* --------------------------------------------------------------------- *) @@ -536,6 +547,13 @@ and ft_space ty = Ast.Type(cv,ty) -> (match Ast.unwrap ty with Ast.Pointer(_,_) -> () + | Ast.MetaType(name,_,_) -> + (match List.assoc (Ast.unwrap_mcode name) env with + Ast_c.MetaTypeVal (tq,ty) -> + (match Ast_c.unwrap ty with + Ast_c.Pointer(_,_) -> () + | _ -> pr_space()) + | _ -> pr_space()) | _ -> pr_space()) | _ -> pr_space() @@ -782,7 +800,7 @@ let indent_if_needed s f = Ast.Seq(lbrace,body,rbrace) -> pr_space(); f() | _ -> (*no newline at the end - someone else will do that*) - start_block(); f(); unindent() in + start_block(); f(); unindent true in let rec statement arity s = match Ast.unwrap s with @@ -938,7 +956,9 @@ let rec pp_any = function | Ast.CaseLineTag(x) -> case_line "" x; false | Ast.ConstVolTag(x) -> const_vol x unknown unknown; false - | Ast.Pragma(xs) -> print_between force_newline print_text xs; false + | Ast.Pragma(xs) -> + let print = function Ast.Noindent s | Ast.Indent s -> print_text s in + print_between force_newline print xs; false | Ast.Token(x,None) -> print_text x; if_open_brace x | Ast.Token(x,Some info) -> mcode @@ -980,7 +1000,7 @@ in (Ast.Token ("}",_)::_) -> true | _ -> false in let prnl x = - (if unindent_before x then unindent()); + (if unindent_before x then unindent true); force_newline() in let newline_before _ = if before =*= After @@ -1017,7 +1037,7 @@ in match (indent_needed,unindent_before x) with (true,true) -> force_newline() | (true,false) -> force_newline(); indent() - | (false,true) -> unindent(); force_newline() + | (false,true) -> unindent true; force_newline() | (false,false) -> force_newline()); let space_needed_before = function Ast.ParamTag(x) -> diff --git a/parsing_c/unparse_cocci.mli b/parsing_c/unparse_cocci.mli index 2fc6f56..54cf9c8 100644 --- a/parsing_c/unparse_cocci.mli +++ b/parsing_c/unparse_cocci.mli @@ -11,6 +11,6 @@ val pp_list_list_any : (unit -> unit) (* pr space *) * (string -> unit) (* pr arity *) * (int (*line*) -> int (*lcol*) -> unit) (* pr barrier *) * - (unit -> unit) (* indent *) * (unit -> unit) (* unindent *) -> + (unit -> unit) (* indent *) * (bool -> unit) (* unindent *) -> bool (*true if generating*) -> Ast_cocci.anything list list -> pos -> unit diff --git a/parsing_cocci/ast0_cocci.ml b/parsing_cocci/ast0_cocci.ml index b267027..659763a 100644 --- a/parsing_cocci/ast0_cocci.ml +++ b/parsing_cocci/ast0_cocci.ml @@ -51,8 +51,8 @@ type info = { pos_info : position_info; attachable_start : bool; attachable_end : bool; mcode_start : mcodekind list; mcode_end : mcodekind list; (* the following are only for + code *) - strings_before : (string * position_info) list; - strings_after : (string * position_info) list } + strings_before : (Ast.added_string * position_info) list; + strings_after : (Ast.added_string * position_info) list } (* adjacency index is incremented when we skip over dots or nest delimiters it is used in deciding how much to remove, when two adjacent code tokens are @@ -399,8 +399,8 @@ and parsed_rule = (rule * Ast.metavar list) * Ast.ruletype | ScriptRule of string * Ast.dependency * (string * Ast.meta_name) list * string - | InitialScriptRule of string * string - | FinalScriptRule of string * string + | InitialScriptRule of string * Ast.dependency * string + | FinalScriptRule of string * Ast.dependency * string (* --------------------------------------------------------------------- *) diff --git a/parsing_cocci/ast0_cocci.mli b/parsing_cocci/ast0_cocci.mli index 457277d..4cd02f9 100644 --- a/parsing_cocci/ast0_cocci.mli +++ b/parsing_cocci/ast0_cocci.mli @@ -46,8 +46,8 @@ type info = { pos_info : position_info; attachable_start : bool; attachable_end : bool; mcode_start : mcodekind list; mcode_end : mcodekind list; (* the following are only for + code *) - strings_before : (string * position_info) list; - strings_after : (string * position_info) list } + strings_before : (Ast_cocci.added_string * position_info) list; + strings_after : (Ast_cocci.added_string * position_info) list } type 'a mcode = 'a * arity * info * mcodekind * meta_pos ref (* pos, - only *) * @@ -393,8 +393,10 @@ and parsed_rule = | ScriptRule of string * Ast_cocci.dependency * (string * Ast_cocci.meta_name) list * string - | InitialScriptRule of string (*language*) * string (*code*) - | FinalScriptRule of string (*language*) * string (*code*) + | InitialScriptRule of + string (*language*) * Ast_cocci.dependency * string (*code*) + | FinalScriptRule of + string (*language*) * Ast_cocci.dependency * string (*code*) (* --------------------------------------------------------------------- *) diff --git a/parsing_cocci/ast_cocci.ml b/parsing_cocci/ast_cocci.ml index 02ba7e7..998e52c 100644 --- a/parsing_cocci/ast_cocci.ml +++ b/parsing_cocci/ast_cocci.ml @@ -30,9 +30,11 @@ type idconstraint = (* --------------------------------------------------------------------- *) (* Modified code *) +type added_string = Noindent of string | Indent of string + type info = { line : int; column : int; - strbef : (string * int (* line *) * int (* col *)) list; - straft : (string * int (* line *) * int (* col *)) list } + strbef : (added_string * int (* line *) * int (* col *)) list; + straft : (added_string * int (* line *) * int (* col *)) list } type line = int type meta_name = string * string (* need to be careful about rewrapping, to avoid duplicating pos info @@ -543,8 +545,8 @@ and rulename = | GeneratedRulename of string option * dependency * string list * string list * exists * bool | ScriptRulename of string * dependency - | InitialScriptRulename of string - | FinalScriptRulename of string + | InitialScriptRulename of string * dependency + | FinalScriptRulename of string * dependency and ruletype = Normal | Generated @@ -553,8 +555,8 @@ and rule = (dependency * string list (* dropped isos *) * exists) * top_level list * bool list * ruletype | ScriptRule of string * dependency * (string * meta_name) list * string - | InitialScriptRule of string (*language*) * string (*code*) - | FinalScriptRule of string (*language*) * string (*code*) + | InitialScriptRule of string (*language*) * dependency * string (*code*) + | FinalScriptRule of string (*language*) * dependency * string (*code*) and dependency = Dep of string (* rule applies for the current binding *) @@ -590,7 +592,7 @@ and anything = | CaseLineTag of case_line | ConstVolTag of const_vol | Token of string * info option - | Pragma of string list + | Pragma of added_string list | Code of top_level | ExprDotsTag of expression dots | ParamDotsTag of parameterTypeDef dots diff --git a/parsing_cocci/ast_cocci.mli b/parsing_cocci/ast_cocci.mli index bc05c42..a894f9a 100644 --- a/parsing_cocci/ast_cocci.mli +++ b/parsing_cocci/ast_cocci.mli @@ -30,9 +30,11 @@ type idconstraint = (* --------------------------------------------------------------------- *) (* Modified code *) +type added_string = Noindent of string | Indent of string + type info = { line : int; column : int; - strbef : (string * int (* line *) * int (* col *)) list; - straft : (string * int (* line *) * int (* col *)) list } + strbef : (added_string * int (* line *) * int (* col *)) list; + straft : (added_string * int (* line *) * int (* col *)) list } type line = int type meta_name = string * string type 'a wrap = @@ -517,8 +519,8 @@ and rulename = string list * string list * exists * bool (* true if the whole thing is an expression *) | ScriptRulename of string * dependency - | InitialScriptRulename of string - | FinalScriptRulename of string + | InitialScriptRulename of string * dependency + | FinalScriptRulename of string * dependency and ruletype = Normal | Generated @@ -527,8 +529,8 @@ and rule = (dependency * string list (* dropped isos *) * exists) * top_level list * bool list (* true if generates an exp *) * ruletype | ScriptRule of string * dependency * (string * meta_name) list * string - | InitialScriptRule of string * string - | FinalScriptRule of string * string + | InitialScriptRule of string * dependency * string + | FinalScriptRule of string * dependency * string and dependency = Dep of string (* rule applies for the current binding *) @@ -564,7 +566,7 @@ and anything = | CaseLineTag of case_line | ConstVolTag of const_vol | Token of string * info option - | Pragma of string list + | Pragma of added_string list | Code of top_level | ExprDotsTag of expression dots | ParamDotsTag of parameterTypeDef dots diff --git a/parsing_cocci/data.ml b/parsing_cocci/data.ml index 7d0213e..48ddc71 100644 --- a/parsing_cocci/data.ml +++ b/parsing_cocci/data.ml @@ -34,8 +34,8 @@ type incl_iso = type clt = line_type * int * int * int * int (* starting spaces *) * - (string * Ast0.position_info) list (* code before *) * - (string * Ast0.position_info) list (* code after *) * + (Ast_cocci.added_string * Ast0.position_info) list (* code before *) * + (Ast_cocci.added_string * Ast0.position_info) list (* code after *) * Ast0.meta_pos (* position variable, minus only *) (* ---------------------------------------------------------------------- *) diff --git a/parsing_cocci/data.mli b/parsing_cocci/data.mli index 4a7ef6d..84dd031 100644 --- a/parsing_cocci/data.mli +++ b/parsing_cocci/data.mli @@ -31,8 +31,8 @@ type incl_iso = type clt = line_type * int * int * int * int (* starting spaces *) * - (string * Ast0_cocci.position_info) list (* code before *) * - (string * Ast0_cocci.position_info) list (* code after *) * + (Ast_cocci.added_string * Ast0_cocci.position_info) list (*code before*) * + (Ast_cocci.added_string * Ast0_cocci.position_info) list (*code after *) * Ast0_cocci.meta_pos (* position variable, minus only *) (* ---------------------------------------------------------------------- *) diff --git a/parsing_cocci/free_vars.ml b/parsing_cocci/free_vars.ml index 23c521b..b5ff789 100644 --- a/parsing_cocci/free_vars.ml +++ b/parsing_cocci/free_vars.ml @@ -688,7 +688,7 @@ let collect_astfvs rules = | (metavars, rule)::rules -> match rule with Ast.ScriptRule (_,_,_,_) - | Ast.InitialScriptRule (_,_) | Ast.FinalScriptRule (_,_) -> + | Ast.InitialScriptRule (_,_,_) | Ast.FinalScriptRule (_,_,_) -> (* bound stays as is because script rules have no names, so no inheritance is possible *) rule::(loop bound rules) @@ -767,7 +767,7 @@ let collect_top_level_used_after metavar_rule_list = match r with Ast.ScriptRule (_,_,mv,_) -> drop_virt(List.map (function (_,(r,v)) -> (r,v)) mv) - | Ast.InitialScriptRule (_,_) | Ast.FinalScriptRule (_,_) -> [] + | Ast.InitialScriptRule (_,_,_) | Ast.FinalScriptRule (_,_,_) -> [] | Ast.CocciRule (_,_,rule,_,_) -> drop_virt (Common.union_set (nub (collect_all_rule_refs rule)) @@ -875,7 +875,7 @@ let collect_used_after metavar_rule_list = function used_after -> match r with Ast.ScriptRule (_,_,_,_) - | Ast.InitialScriptRule (_,_) | Ast.FinalScriptRule (_,_) -> + | Ast.InitialScriptRule (_,_,_) | Ast.FinalScriptRule (_,_,_) -> ([], [used_after], [], []) | Ast.CocciRule (name, rule_info, minirules, _,_) -> collect_local_used_after metavars minirules used_after diff --git a/parsing_cocci/get_constants.ml b/parsing_cocci/get_constants.ml index 46e5745..83854d1 100644 --- a/parsing_cocci/get_constants.ml +++ b/parsing_cocci/get_constants.ml @@ -304,7 +304,7 @@ let get_constants rules = function r -> match r with Ast.ScriptRule (_,_,_,_) - | Ast.InitialScriptRule (_,_) | Ast.FinalScriptRule (_,_) -> + | Ast.InitialScriptRule (_,_,_) | Ast.FinalScriptRule (_,_,_) -> (rest_info, in_plus) | Ast.CocciRule (nm, (dep,_,_), cur, _, _) -> let (cur_info,cur_plus) = rule_fn cur in_plus in diff --git a/parsing_cocci/get_constants2.ml b/parsing_cocci/get_constants2.ml index 326b753..2a8f55a 100644 --- a/parsing_cocci/get_constants2.ml +++ b/parsing_cocci/get_constants2.ml @@ -512,8 +512,12 @@ let get_constants rules neg_pos_vars = False -> (rest_info, in_plus, env, locals) | dependencies -> (build_or dependencies rest_info, in_plus, env, locals)) - | (Ast.InitialScriptRule (_,_),_) - | (Ast.FinalScriptRule (_,_),_) -> (rest_info,in_plus,env,locals) + | (Ast.InitialScriptRule (_,deps,_),_) + | (Ast.FinalScriptRule (_,deps,_),_) -> + (match dependencies env deps with + False -> (rest_info, in_plus, env, locals) + | dependencies -> + (build_or dependencies rest_info, in_plus, env, locals)) | (Ast.CocciRule (nm,(dep,_,_),cur,_,_),neg_pos_vars) -> let (cur_info,cur_plus) = rule_fn cur in_plus ((nm,True)::env) diff --git a/parsing_cocci/iso_pattern.ml b/parsing_cocci/iso_pattern.ml index 0b53d77..0c83e25 100644 --- a/parsing_cocci/iso_pattern.ml +++ b/parsing_cocci/iso_pattern.ml @@ -305,6 +305,8 @@ let match_list matcher is_list_matcher do_list_match la lb = | _ -> return false in loop (la,lb) +let all_caps = Str.regexp "^[A-Z_][A-Z_0-9]*$" + let match_maker checks_needed context_required whencode_allowed = let check_mcode pmc cmc binding = @@ -502,6 +504,13 @@ let match_maker checks_needed context_required whencode_allowed = let rec matches e = match Ast0.unwrap e with Ast0.Constant(c) -> true + | Ast0.Ident(c) -> + (match Ast0.unwrap c with + Ast0.Id(nm) -> + let nm = Ast0.unwrap_mcode nm in + (* all caps is a const *) + Str.string_match all_caps nm 0 + | _ -> false) | Ast0.Cast(lp,ty,rp,e) -> matches e | Ast0.SizeOfExpr(se,exp) -> true | Ast0.SizeOfType(se,lp,ty,rp) -> true @@ -1652,7 +1661,7 @@ let instantiate bindings mv_bindings = | Ast0.Binary(e1,op,e2) when same_modif (Ast0.get_mcode_mcodekind unop) - (Ast0.get_mcode_mcodekind op)-> + (Ast0.get_mcode_mcodekind op) -> let reb nop = Ast0.rewrap_mcode op (Ast.Logical(nop)) in let k1 x = k (Ast0.rewrap e x) in @@ -1670,20 +1679,21 @@ let instantiate bindings mv_bindings = | Ast.Logical(Ast.NotEq) -> k1 (Ast0.Binary(e1,reb Ast.Eq,e2)) | Ast.Logical(Ast.AndLog) -> - k1 (Ast0.Binary(negate e1 e1 idcont, + k1 (Ast0.Binary(negate_reb e e1 idcont, reb Ast.OrLog, - negate e2 e2 idcont)) + negate_reb e e2 idcont)) | Ast.Logical(Ast.OrLog) -> - k1 (Ast0.Binary(negate e1 e1 idcont, + k1 (Ast0.Binary(negate_reb e e1 idcont, reb Ast.AndLog, - negate e2 e2 idcont)) + negate_reb e e2 idcont)) | _ -> Ast0.rewrap e (Ast0.Unary(k res, Ast0.rewrap_mcode op Ast.Not))) | Ast0.DisjExpr(lp,exps,mids,rp) -> (* use res because it is the transformed argument *) - let exps = List.map (function e -> negate e e k) exps in + let exps = + List.map (function e1 -> negate_reb e e1 k) exps in Ast0.rewrap res (Ast0.DisjExpr(lp,exps,mids,rp)) | _ -> (*use e, because this might be the toplevel expression*) @@ -1691,7 +1701,14 @@ let instantiate bindings mv_bindings = (Ast0.Unary(k res,Ast0.rewrap_mcode unop Ast.Not)) else Ast0.rewrap e - (Ast0.Unary(k res,Ast0.rewrap_mcode unop Ast.Not)) in + (Ast0.Unary(k res,Ast0.rewrap_mcode unop Ast.Not)) + and negate_reb e e1 k = + (* used when ! is propagated to multiple places, to avoid + duplicating mcode cells *) + let start_line = + Some ((Ast0.get_info e).Ast0.pos_info.Ast0.line_start) in + (rebuild_mcode start_line).VT0.rebuilder_rec_expression + (negate e e1 k) in negate e exp idcont else e | _ -> e) @@ -1885,13 +1902,15 @@ let copy_plus printer minusify model e = if !Flag.sgrep_mode2 then e (* no plus code, can cause a "not possible" error, so just avoid it *) else - let e = - match Ast0.get_mcodekind model with - Ast0.MINUS(mc) -> minusify e - | Ast0.CONTEXT(mc) -> e - | _ -> failwith "not possible: copy_plus\n" in - merge_plus (Ast0.get_mcodekind model) (Ast0.get_mcodekind e); - e + begin + let e = + match Ast0.get_mcodekind model with + Ast0.MINUS(mc) -> minusify e + | Ast0.CONTEXT(mc) -> e + | _ -> failwith "not possible: copy_plus\n" in + merge_plus (Ast0.get_mcodekind model) (Ast0.get_mcodekind e); + e + end let copy_minus printer minusify model e = match Ast0.get_mcodekind model with @@ -2019,8 +2038,8 @@ let make_new_metavars metavars bindings = let do_nothing x = x let mkdisj matcher metavars alts e instantiater mkiso disj_maker minusify - rebuild_mcodes name printer extra_plus update_others = - let call_instantiate bindings mv_bindings alts = + rebuild_mcodes name printer extra_plus update_others has_context = + let call_instantiate bindings mv_bindings alts has_context = List.concat (List.map (function (a,_,_,_) -> @@ -2028,11 +2047,14 @@ let mkdisj matcher metavars alts e instantiater mkiso disj_maker minusify (* no need to create duplicates when the bindings have no effect *) (List.map (function bindings -> - Ast0.set_iso - (copy_plus printer minusify e - (extra_plus e - (instantiater bindings mv_bindings - (rebuild_mcodes a)))) + let instantiated = + instantiater bindings mv_bindings (rebuild_mcodes a) in + let plus_added = + if has_context (* ie if pat is not just a metavara *) + then + copy_plus printer minusify e (extra_plus e instantiated) + else instantiated in + Ast0.set_iso plus_added ((name,mkiso a)::(Ast0.get_iso e))) (* keep count, not U *) bindings)) alts) in @@ -2075,7 +2097,8 @@ let mkdisj matcher metavars alts e instantiater mkiso disj_maker minusify make_new_metavars metavars (nub(List.concat bindings)) in Common.Right (new_metavars, - call_instantiate bindings mv_bindings all_alts))) in + call_instantiate bindings mv_bindings all_alts + (has_context pattern)))) in let rec outer_loop prev_ecount prev_icount prev_dcount = function [] | [[_]] (*only one alternative*) -> (0,[],e) (* nothing matched *) | (alts::rest) as all_alts -> @@ -2179,6 +2202,8 @@ let transform_type (metavars,alts,name) e = make_disj_type make_minus.VT0.rebuilder_rec_typeC (rebuild_mcode start_line).VT0.rebuilder_rec_typeC name Unparse_ast0.typeC extra_copy_other_plus do_nothing + (function x -> + match Ast0.unwrap x with Ast0.MetaType _ -> false | _ -> true) | _ -> (0,[],e) @@ -2204,9 +2229,21 @@ let transform_expr (metavars,alts,name) e = (make_disj_expr e) make_minus.VT0.rebuilder_rec_expression (rebuild_mcode start_line).VT0.rebuilder_rec_expression - name Unparse_ast0.expression extra_copy_other_plus update_others in + name Unparse_ast0.expression extra_copy_other_plus update_others + (function x -> + match Ast0.unwrap x with + Ast0.MetaExpr _ | Ast0.MetaExprList _ | Ast0.MetaErr _ -> false + | _ -> true) + in match alts with - (Ast0.ExprTag(_)::_)::_ -> process do_nothing + (Ast0.ExprTag(_)::r)::rs -> + (* hack to accomodate ToTestExpression case, where the first pattern is + a normal expression, but the others are test expressions *) + let others = r @ (List.concat rs) in + let is_test = function Ast0.TestExprTag(_) -> true | _ -> false in + if List.for_all is_test others then process Ast0.set_test_exp + else if List.exists is_test others then failwith "inconsistent iso" + else process do_nothing | (Ast0.ArgExprTag(_)::_)::_ when Ast0.get_arg_exp e -> process do_nothing | (Ast0.TestExprTag(_)::_)::_ when Ast0.get_test_pos e -> process Ast0.set_test_exp @@ -2236,6 +2273,7 @@ let transform_decl (metavars,alts,name) e = make_minus.VT0.rebuilder_rec_declaration (rebuild_mcode start_line).VT0.rebuilder_rec_declaration name Unparse_ast0.declaration extra_copy_other_plus do_nothing + (function _ -> true (* no metavars *)) | _ -> (0,[],e) let transform_stmt (metavars,alts,name) e = @@ -2261,6 +2299,10 @@ let transform_stmt (metavars,alts,name) e = make_disj_stmt make_minus.VT0.rebuilder_rec_statement (rebuild_mcode start_line).VT0.rebuilder_rec_statement name (Unparse_ast0.statement "") extra_copy_stmt_plus do_nothing + (function x -> + match Ast0.unwrap x with + Ast0.MetaStmt _ | Ast0.MetaStmtList _ -> false + | _ -> true) | _ -> (0,[],e) (* sort of a hack, because there is no disj at top level *) @@ -2308,6 +2350,7 @@ let transform_top (metavars,alts,name) e = make_minus.VT0.rebuilder_rec_statement_dots x) (rebuild_mcode start_line).VT0.rebuilder_rec_statement_dots name Unparse_ast0.statement_dots extra_copy_other_plus do_nothing + (function _ -> true) | _ -> (0,[],stmts) in (count,mv,Ast0.rewrap e (Ast0.CODE res)) | _ -> (0,[],e) diff --git a/parsing_cocci/lexer_cocci.mll b/parsing_cocci/lexer_cocci.mll index ad86738..49e4503 100644 --- a/parsing_cocci/lexer_cocci.mll +++ b/parsing_cocci/lexer_cocci.mll @@ -280,13 +280,14 @@ let id_tokens lexbuf = | "sizeof" -> TSizeof linetype - | "Expression" -> TIsoExpression - | "ArgExpression" -> TIsoArgExpression - | "TestExpression" -> TIsoTestExpression - | "Statement" -> TIsoStatement - | "Declaration" -> TIsoDeclaration - | "Type" -> TIsoType - | "TopLevel" -> TIsoTopLevel + | "Expression" -> TIsoExpression + | "ArgExpression" -> TIsoArgExpression + | "TestExpression" -> TIsoTestExpression + | "ToTestExpression" -> TIsoToTestExpression + | "Statement" -> TIsoStatement + | "Declaration" -> TIsoDeclaration + | "Type" -> TIsoType + | "TopLevel" -> TIsoTopLevel | s -> check_var s linetype @@ -299,6 +300,7 @@ let init _ = prev_plus := false; line_start := 0; current_line_started := false; + current_line_type := (D.CONTEXT,0,0); col_zero := true; pm := UNKNOWN; Data.in_rule_name := false; @@ -456,10 +458,28 @@ let real = pent exp | ((pent? '.' pfract | pent '.' pfract? ) exp?) rule token = parse - | [' ' '\t' ]+ { start_line false; token lexbuf } - | ['\n' '\r' '\011' '\012'] { reset_line lexbuf; token lexbuf } - - | "//" [^ '\n']* { start_line false; token lexbuf } + | [' ' '\t']* ['\n' '\r' '\011' '\012'] + { let cls = !current_line_started in + + if not cls + then + begin + match !current_line_type with + (D.PLUS,_,_) | (D.PLUSPLUS,_,_) -> + let info = get_current_line_type lexbuf in + reset_line lexbuf; + TPragma (Ast.Noindent "", info) + | _ -> reset_line lexbuf; token lexbuf + end + else (reset_line lexbuf; token lexbuf) } + + | [' ' '\t' ]+ { start_line false; token lexbuf } + + | "//" [^ '\n']* { + match !current_line_type with + (D.PLUS,_,_) | (D.PLUSPLUS,_,_) -> + TPragma (Ast.Indent (tok lexbuf), get_current_line_type lexbuf) + | _ -> start_line false; token lexbuf } | "@@" { start_line true; TArobArob } | "@" { pass_zero(); @@ -670,13 +690,14 @@ rule token = parse | "#" [' ' '\t']* "endif" [^'\n']* | "#" [' ' '\t']* "error" [^'\n']* { start_line true; check_plus_linetype (tok lexbuf); - TPragma (tok lexbuf, get_current_line_type lexbuf) } + TPragma (Ast.Noindent(tok lexbuf), get_current_line_type lexbuf) } | "/*" { start_line true; check_plus_linetype (tok lexbuf); (* second argument to TPragma is not quite right, because it represents only the first token of the comemnt, but that should be good enough *) - TPragma ("/*"^(comment lexbuf), get_current_line_type lexbuf) } + TPragma (Ast.Indent("/*"^(comment lexbuf)), + get_current_line_type lexbuf) } | "---" [^'\n']* { (if !current_line_started then lexerr "--- must be at the beginning of the line" ""); diff --git a/parsing_cocci/parse_aux.ml b/parsing_cocci/parse_aux.ml index b1fa45e..891a0af 100644 --- a/parsing_cocci/parse_aux.ml +++ b/parsing_cocci/parse_aux.ml @@ -173,7 +173,7 @@ let ty_pointerify ty m = (* Left is <=>, Right is =>. Collect <=>s. *) (* The parser should have done this, with precedences. But whatever... *) -let iso_adjust fn first rest = +let iso_adjust first_fn fn first rest = let rec loop = function [] -> [[]] | (Common.Left x)::rest -> @@ -185,7 +185,7 @@ let iso_adjust fn first rest = front::after -> []::(fn x::front)::after | _ -> failwith "not possible") in match loop rest with - front::after -> (fn first::front)::after + front::after -> (first_fn first::front)::after | _ -> failwith "not possible" let check_meta tok = @@ -516,13 +516,13 @@ let make_script_rule_name_result lang deps = let l = id2name lang in Ast.ScriptRulename (l,deps) -let make_initial_script_rule_name_result lang = +let make_initial_script_rule_name_result lang deps = let l = id2name lang in - Ast.InitialScriptRulename(l) + Ast.InitialScriptRulename(l,deps) -let make_final_script_rule_name_result lang = +let make_final_script_rule_name_result lang deps = let l = id2name lang in - Ast.FinalScriptRulename(l) + Ast.FinalScriptRulename(l,deps) (* Allows type alone only when it is void and only when there is only one parameter. This avoids ambiguity problems in the parser. *) diff --git a/parsing_cocci/parse_cocci.ml b/parsing_cocci/parse_cocci.ml index 8c7b4b1..e78b7a0 100644 --- a/parsing_cocci/parse_cocci.ml +++ b/parsing_cocci/parse_cocci.ml @@ -112,7 +112,8 @@ let token2c (tok,_) = | PC.Tconst(clt) -> "const"^(line_type2c clt) | PC.Tvolatile(clt) -> "volatile"^(line_type2c clt) - | PC.TPragma(s,_) -> s + | PC.TPragma(Ast.Noindent s,_) -> s + | PC.TPragma(Ast.Indent s,_) -> s | PC.TIncludeL(s,clt) -> (pr "#include \"%s\"" s)^(line_type2c clt) | PC.TIncludeNL(s,clt) -> (pr "#include <%s>" s)^(line_type2c clt) | PC.TDefine(clt,_) -> "#define"^(line_type2c clt) @@ -266,6 +267,7 @@ let token2c (tok,_) = | PC.TIsoExpression -> "Expression" | PC.TIsoArgExpression -> "ArgExpression" | PC.TIsoTestExpression -> "TestExpression" + | PC.TIsoToTestExpression -> "ToTestExpression" | PC.TIsoStatement -> "Statement" | PC.TIsoDeclaration -> "Declaration" | PC.TIsoType -> "Type" @@ -679,7 +681,8 @@ let split_token ((tok,_) as t) = | PC.TIso | PC.TRightIso | PC.TIsoExpression | PC.TIsoStatement | PC.TIsoDeclaration | PC.TIsoType - | PC.TIsoTopLevel | PC.TIsoArgExpression | PC.TIsoTestExpression -> + | PC.TIsoTopLevel | PC.TIsoArgExpression | PC.TIsoTestExpression + | PC.TIsoToTestExpression -> failwith "unexpected tokens" | PC.TScriptData s -> ([t],[t]) @@ -1334,8 +1337,8 @@ let get_rule_name parse_fn starts_with_name get_tokens file prefix = | Ast.GeneratedRulename (nm,a,b,c,d,e) -> Ast.GeneratedRulename (check_name nm,a,b,c,d,e) | Ast.ScriptRulename(s,deps) -> Ast.ScriptRulename(s,deps) - | Ast.InitialScriptRulename(s) -> Ast.InitialScriptRulename(s) - | Ast.FinalScriptRulename(s) -> Ast.FinalScriptRulename(s) + | Ast.InitialScriptRulename(s,deps) -> Ast.InitialScriptRulename(s,deps) + | Ast.FinalScriptRulename(s,deps) -> Ast.FinalScriptRulename(s,deps) else Ast.CocciRulename(Some(mknm()),Ast.NoDep,[],[],Ast.Undetermined,false) in Data.in_rule_name := false; @@ -1373,7 +1376,7 @@ let parse_iso file = let (more,tokens) = get_tokens [PC.TIsoStatement;PC.TIsoExpression;PC.TIsoArgExpression; - PC.TIsoTestExpression; + PC.TIsoTestExpression; PC.TIsoToTestExpression; PC.TIsoDeclaration;PC.TIsoType;PC.TIsoTopLevel] in let next_start = List.hd(List.rev tokens) in let dummy_info = ("",(-1,-1),(-1,-1)) in @@ -1456,8 +1459,9 @@ let eval_depend dep virt = in loop dep -let rec parse file = +let parse file = Lexer_cocci.init(); + let rec parse_loop file = let table = Common.full_charpos_to_pos file in Common.with_open_infile file (fun channel -> let lexbuf = Lexing.from_channel channel in @@ -1491,7 +1495,7 @@ let rec parse file = | (a,b,c)::rest -> let (x,y,z) = loop rest in (a::x,b::y,c::z) in - loop (List.map parse include_files) in + loop (List.map parse_loop include_files) in let parse_cocci_rule ruletype old_metas (rule_name, dependencies, iso, dropiso, exists, is_expression) = @@ -1613,23 +1617,28 @@ let rec parse file = let data = collect_script_tokens tokens in (more,Ast0.ScriptRule(language, deps, metavars, data),[],tokens) in - let parse_if_script_rule k language = + let parse_if_script_rule k language _ deps = let get_tokens = tokens_script_all table file false lexbuf in (* script code *) let (more, tokens) = get_tokens [PC.TArobArob; PC.TArob] in let data = collect_script_tokens tokens in - (more,k (language, data),[],tokens) in + (more,k (language, deps, data),[],tokens) in let parse_iscript_rule = parse_if_script_rule - (function (language,data) -> - Ast0.InitialScriptRule(language,data)) in + (function (language,deps,data) -> + Ast0.InitialScriptRule(language,deps,data)) in let parse_fscript_rule = parse_if_script_rule - (function (language,data) -> - Ast0.FinalScriptRule(language,data)) in + (function (language,deps,data) -> + Ast0.FinalScriptRule(language,deps,data)) in + + let do_parse_script_rule fn l old_metas deps = + match eval_depend deps virt with + Some deps -> fn l old_metas deps + | None -> fn l old_metas Ast.FailDep in let parse_rule old_metas starts_with_name = let rulename = @@ -1665,11 +1674,11 @@ let rec parse file = Data.in_generating := false; res) | Ast.ScriptRulename(l,deps) -> - (match eval_depend deps virt with - Some deps -> parse_script_rule l old_metas deps - | None -> parse_script_rule l old_metas Ast.FailDep) - | Ast.InitialScriptRulename(l) -> parse_iscript_rule l - | Ast.FinalScriptRulename(l) -> parse_fscript_rule l + do_parse_script_rule parse_script_rule l old_metas deps + | Ast.InitialScriptRulename(l,deps) -> + do_parse_script_rule parse_iscript_rule l old_metas deps + | Ast.FinalScriptRulename(l,deps) -> + do_parse_script_rule parse_fscript_rule l old_metas deps | _ -> failwith "Malformed rule name" in let rec loop old_metas starts_with_name = @@ -1701,7 +1710,8 @@ let rec parse file = | (false,[(PC.TArobArob,_)]) | (false,[(PC.TArob,_)]) -> ([],([] : Ast0.parsed_rule list),[] (*virtual rules*)) | _ -> failwith "unexpected code before the first rule\n" in - res) + res) in + parse_loop file (* parse to ast0 and then convert to ast *) let process file isofile verbose = @@ -1718,8 +1728,8 @@ let process file isofile verbose = List.map (function Ast0.ScriptRule (a,b,c,d) -> [([],Ast.ScriptRule (a,b,c,d))] - | Ast0.InitialScriptRule (a,b) -> [([],Ast.InitialScriptRule (a,b))] - | Ast0.FinalScriptRule (a,b) -> [([],Ast.FinalScriptRule (a,b))] + | Ast0.InitialScriptRule (a,b,c) -> [([],Ast.InitialScriptRule (a,b,c))] + | Ast0.FinalScriptRule (a,b,c) -> [([],Ast.FinalScriptRule (a,b,c))] | Ast0.CocciRule ((minus, metavarsm, (iso, dropiso, dependencies, rule_name, exists)), diff --git a/parsing_cocci/parser_cocci_menhir.ml b/parsing_cocci/parser_cocci_menhir.ml index 56b9e6f..6fdb1a3 100644 --- a/parsing_cocci/parser_cocci_menhir.ml +++ b/parsing_cocci/parser_cocci_menhir.ml @@ -108,14 +108,14 @@ type token = # 109 "parser_cocci_menhir.ml" ) | TXor of ( -# 92 "parser_cocci_menhir.mly" +# 93 "parser_cocci_menhir.mly" (Data.clt) # 114 "parser_cocci_menhir.ml" ) | TWords | TWhy0 | TWhy of ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 121 "parser_cocci_menhir.ml" ) @@ -125,17 +125,17 @@ type token = # 126 "parser_cocci_menhir.ml" ) | TWhenTrue of ( -# 74 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 131 "parser_cocci_menhir.ml" ) | TWhenFalse of ( -# 74 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 136 "parser_cocci_menhir.ml" ) | TWhen of ( -# 74 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 141 "parser_cocci_menhir.ml" ) @@ -149,17 +149,17 @@ type token = ) | TType | TTildeExclEq of ( -# 94 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Data.clt) # 155 "parser_cocci_menhir.ml" ) | TTildeEq of ( -# 94 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Data.clt) # 160 "parser_cocci_menhir.ml" ) | TTilde of ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) # 165 "parser_cocci_menhir.ml" ) @@ -169,12 +169,12 @@ type token = # 170 "parser_cocci_menhir.ml" ) | TString of ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) # 175 "parser_cocci_menhir.ml" ) | TStrict of ( -# 74 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 180 "parser_cocci_menhir.ml" ) @@ -185,12 +185,12 @@ type token = # 186 "parser_cocci_menhir.ml" ) | TShOp of ( -# 96 "parser_cocci_menhir.mly" +# 97 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 191 "parser_cocci_menhir.ml" ) | TScriptData of ( -# 71 "parser_cocci_menhir.mly" +# 72 "parser_cocci_menhir.mly" (string) # 196 "parser_cocci_menhir.ml" ) @@ -208,218 +208,218 @@ type token = ) | TPure | TPtrOp of ( -# 104 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 214 "parser_cocci_menhir.ml" ) | TPtVirg of ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) # 219 "parser_cocci_menhir.ml" ) | TPragma of ( -# 59 "parser_cocci_menhir.mly" - (string * Data.clt) +# 60 "parser_cocci_menhir.mly" + (Ast_cocci.added_string * Data.clt) # 224 "parser_cocci_menhir.ml" ) | TPosition | TPosAny | TPlusFile of ( -# 83 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (string * Data.clt) # 231 "parser_cocci_menhir.ml" ) | TPlus0 | TPlus of ( -# 98 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) # 237 "parser_cocci_menhir.ml" ) | TPathIsoFile of ( -# 79 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (string) # 242 "parser_cocci_menhir.ml" ) | TParameter | TPOEllipsis of ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) # 248 "parser_cocci_menhir.ml" ) | TPCEllipsis of ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) # 253 "parser_cocci_menhir.ml" ) | TPArob | TOrLog of ( -# 89 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Data.clt) # 259 "parser_cocci_menhir.ml" ) | TOr of ( -# 91 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Data.clt) # 264 "parser_cocci_menhir.ml" ) | TOn | TOPar0 of ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 270 "parser_cocci_menhir.ml" ) | TOPar of ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 275 "parser_cocci_menhir.ml" ) | TOInit of ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) # 280 "parser_cocci_menhir.ml" ) | TOEllipsis of ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) # 285 "parser_cocci_menhir.ml" ) | TOCro of ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) # 290 "parser_cocci_menhir.ml" ) | TOBrace of ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) # 295 "parser_cocci_menhir.ml" ) | TNothing | TNotEq of ( -# 94 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Data.clt) # 301 "parser_cocci_menhir.ml" ) | TNever | TName | TMul of ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) # 308 "parser_cocci_menhir.ml" ) | TMinusFile of ( -# 83 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (string * Data.clt) # 313 "parser_cocci_menhir.ml" ) | TMinus of ( -# 98 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) # 318 "parser_cocci_menhir.ml" ) | TMid0 of ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 323 "parser_cocci_menhir.ml" ) | TMetaType of ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) # 328 "parser_cocci_menhir.ml" ) | TMetaStmList of ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) # 333 "parser_cocci_menhir.ml" ) | TMetaStm of ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) # 338 "parser_cocci_menhir.ml" ) | TMetaPos of ( -# 68 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (Parse_aux.pos_info) # 343 "parser_cocci_menhir.ml" ) | TMetaParamList of ( -# 66 "parser_cocci_menhir.mly" +# 67 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 348 "parser_cocci_menhir.ml" ) | TMetaParam of ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) # 353 "parser_cocci_menhir.ml" ) | TMetaLocalIdExp of ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 358 "parser_cocci_menhir.ml" ) | TMetaLocalFunc of ( -# 61 "parser_cocci_menhir.mly" +# 62 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 363 "parser_cocci_menhir.ml" ) | TMetaIterator of ( -# 62 "parser_cocci_menhir.mly" +# 63 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 368 "parser_cocci_menhir.ml" ) | TMetaInit of ( -# 65 "parser_cocci_menhir.mly" +# 66 "parser_cocci_menhir.mly" (Parse_aux.info) # 373 "parser_cocci_menhir.ml" ) | TMetaIdExp of ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 378 "parser_cocci_menhir.ml" ) | TMetaId of ( -# 61 "parser_cocci_menhir.mly" +# 62 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 383 "parser_cocci_menhir.ml" ) | TMetaFunc of ( -# 61 "parser_cocci_menhir.mly" +# 62 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 388 "parser_cocci_menhir.ml" ) | TMetaExpList of ( -# 66 "parser_cocci_menhir.mly" +# 67 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 393 "parser_cocci_menhir.ml" ) | TMetaExp of ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 398 "parser_cocci_menhir.ml" ) | TMetaErr of ( -# 63 "parser_cocci_menhir.mly" +# 64 "parser_cocci_menhir.mly" (Parse_aux.expinfo) # 403 "parser_cocci_menhir.ml" ) | TMetaDeclarer of ( -# 62 "parser_cocci_menhir.mly" +# 63 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 408 "parser_cocci_menhir.ml" ) | TMetaConst of ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 413 "parser_cocci_menhir.ml" ) | TMPtVirg | TLogOp of ( -# 95 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) # 419 "parser_cocci_menhir.ml" ) | TLocal | TLineEnd of ( -# 74 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 425 "parser_cocci_menhir.ml" ) @@ -431,6 +431,7 @@ type token = | TIterator | TIsoType | TIsoTopLevel + | TIsoToTestExpression | TIsoTestExpression | TIsoStatement | TIsoExpression @@ -439,62 +440,62 @@ type token = | TIso | TInvalid | TInt of ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 445 "parser_cocci_menhir.ml" +# 446 "parser_cocci_menhir.ml" ) | TInitialize | TInitialiser | TIncludeNL of ( -# 80 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 452 "parser_cocci_menhir.ml" +# 453 "parser_cocci_menhir.ml" ) | TIncludeL of ( -# 80 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 457 "parser_cocci_menhir.ml" +# 458 "parser_cocci_menhir.ml" ) | TInc of ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 462 "parser_cocci_menhir.ml" +# 463 "parser_cocci_menhir.ml" ) | TIf of ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 467 "parser_cocci_menhir.ml" +# 468 "parser_cocci_menhir.ml" ) | TIdentifier | TIdent of ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 473 "parser_cocci_menhir.ml" +# 474 "parser_cocci_menhir.ml" ) | TIdExpression | TGoto of ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 479 "parser_cocci_menhir.ml" +# 480 "parser_cocci_menhir.ml" ) | TGenerated | TFunction | TFunDecl of ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 486 "parser_cocci_menhir.ml" +# 487 "parser_cocci_menhir.ml" ) | TFresh | TForall | TFor of ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 493 "parser_cocci_menhir.ml" +# 494 "parser_cocci_menhir.ml" ) | TFloat of ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 498 "parser_cocci_menhir.ml" +# 499 "parser_cocci_menhir.ml" ) | TFinalize | TExtends @@ -503,153 +504,153 @@ type token = | TEver | TError | TEqEq of ( -# 94 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Data.clt) -# 509 "parser_cocci_menhir.ml" +# 510 "parser_cocci_menhir.ml" ) | TEq of ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 514 "parser_cocci_menhir.ml" +# 515 "parser_cocci_menhir.ml" ) | TElse of ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 519 "parser_cocci_menhir.ml" +# 520 "parser_cocci_menhir.ml" ) | TEllipsis of ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 524 "parser_cocci_menhir.ml" +# 525 "parser_cocci_menhir.ml" ) | TDotDot of ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 529 "parser_cocci_menhir.ml" +# 530 "parser_cocci_menhir.ml" ) | TDot of ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 534 "parser_cocci_menhir.ml" +# 535 "parser_cocci_menhir.ml" ) | TDo of ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 539 "parser_cocci_menhir.ml" +# 540 "parser_cocci_menhir.ml" ) | TDmOp of ( -# 97 "parser_cocci_menhir.mly" +# 98 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 544 "parser_cocci_menhir.ml" +# 545 "parser_cocci_menhir.ml" ) | TDisable | TDepends | TDefineParam of ( -# 82 "parser_cocci_menhir.mly" +# 83 "parser_cocci_menhir.mly" (Data.clt * token * int * int) -# 551 "parser_cocci_menhir.ml" +# 552 "parser_cocci_menhir.ml" ) | TDefine of ( -# 81 "parser_cocci_menhir.mly" +# 82 "parser_cocci_menhir.mly" (Data.clt * token) -# 556 "parser_cocci_menhir.ml" +# 557 "parser_cocci_menhir.ml" ) | TDefault of ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 561 "parser_cocci_menhir.ml" +# 562 "parser_cocci_menhir.ml" ) | TDeclarerId of ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 566 "parser_cocci_menhir.ml" +# 567 "parser_cocci_menhir.ml" ) | TDeclarer | TDec of ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 572 "parser_cocci_menhir.ml" +# 573 "parser_cocci_menhir.ml" ) | TCppConcatOp | TContinue of ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 578 "parser_cocci_menhir.ml" +# 579 "parser_cocci_menhir.ml" ) | TContext | TConstant | TComma of ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 585 "parser_cocci_menhir.ml" +# 586 "parser_cocci_menhir.ml" ) | TChar of ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 590 "parser_cocci_menhir.ml" +# 591 "parser_cocci_menhir.ml" ) | TCase of ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 595 "parser_cocci_menhir.ml" +# 596 "parser_cocci_menhir.ml" ) | TCPar0 of ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 600 "parser_cocci_menhir.ml" +# 601 "parser_cocci_menhir.ml" ) | TCPar of ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 605 "parser_cocci_menhir.ml" +# 606 "parser_cocci_menhir.ml" ) | TCEllipsis of ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 610 "parser_cocci_menhir.ml" +# 611 "parser_cocci_menhir.ml" ) | TCCro of ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 615 "parser_cocci_menhir.ml" +# 616 "parser_cocci_menhir.ml" ) | TCBrace of ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 620 "parser_cocci_menhir.ml" +# 621 "parser_cocci_menhir.ml" ) | TBreak of ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 625 "parser_cocci_menhir.ml" +# 626 "parser_cocci_menhir.ml" ) | TBang0 | TBang of ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 631 "parser_cocci_menhir.ml" +# 632 "parser_cocci_menhir.ml" ) | TAssign of ( -# 108 "parser_cocci_menhir.mly" +# 109 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 636 "parser_cocci_menhir.ml" +# 637 "parser_cocci_menhir.ml" ) | TArobArob | TArob | TAny of ( -# 74 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) -# 643 "parser_cocci_menhir.ml" +# 644 "parser_cocci_menhir.ml" ) | TAndLog of ( -# 90 "parser_cocci_menhir.mly" +# 91 "parser_cocci_menhir.mly" (Data.clt) -# 648 "parser_cocci_menhir.ml" +# 649 "parser_cocci_menhir.ml" ) | TAnd of ( -# 93 "parser_cocci_menhir.mly" +# 94 "parser_cocci_menhir.mly" (Data.clt) -# 653 "parser_cocci_menhir.ml" +# 654 "parser_cocci_menhir.ml" ) | EOF @@ -671,7 +672,7 @@ module Ast0 = Ast0_cocci module Ast = Ast_cocci module P = Parse_aux -# 675 "parser_cocci_menhir.ml" +# 676 "parser_cocci_menhir.ml" let _eRR = Error @@ -685,142 +686,144 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct fun _tok -> match _tok with | EOF -> - 175 + 176 | TAnd _ -> - 174 + 175 | TAndLog _ -> - 173 + 174 | TAny _ -> - 172 + 173 | TArob -> - 171 + 172 | TArobArob -> - 170 + 171 | TAssign _ -> - 169 + 170 | TBang _ -> - 168 + 169 | TBang0 -> - 167 + 168 | TBreak _ -> - 166 + 167 | TCBrace _ -> - 165 + 166 | TCCro _ -> - 164 + 165 | TCEllipsis _ -> - 163 + 164 | TCPar _ -> - 162 + 163 | TCPar0 _ -> - 161 + 162 | TCase _ -> - 160 + 161 | TChar _ -> - 159 + 160 | TComma _ -> - 158 + 159 | TConstant -> - 157 + 158 | TContext -> - 156 + 157 | TContinue _ -> - 155 + 156 | TCppConcatOp -> - 154 + 155 | TDec _ -> - 153 + 154 | TDeclarer -> - 152 + 153 | TDeclarerId _ -> - 151 + 152 | TDefault _ -> - 150 + 151 | TDefine _ -> - 149 + 150 | TDefineParam _ -> - 148 + 149 | TDepends -> - 147 + 148 | TDisable -> - 146 + 147 | TDmOp _ -> - 145 + 146 | TDo _ -> - 144 + 145 | TDot _ -> - 143 + 144 | TDotDot _ -> - 142 + 143 | TEllipsis _ -> - 141 + 142 | TElse _ -> - 140 + 141 | TEq _ -> - 139 + 140 | TEqEq _ -> - 138 + 139 | TError -> - 137 + 138 | TEver -> - 136 + 137 | TExists -> - 135 + 136 | TExpression -> - 134 + 135 | TExtends -> - 133 + 134 | TFinalize -> - 132 + 133 | TFloat _ -> - 131 + 132 | TFor _ -> - 130 + 131 | TForall -> - 129 + 130 | TFresh -> - 128 + 129 | TFunDecl _ -> - 127 + 128 | TFunction -> - 126 + 127 | TGenerated -> - 125 + 126 | TGoto _ -> - 124 + 125 | TIdExpression -> - 123 + 124 | TIdent _ -> - 122 + 123 | TIdentifier -> - 121 + 122 | TIf _ -> - 120 + 121 | TInc _ -> - 119 + 120 | TIncludeL _ -> - 118 + 119 | TIncludeNL _ -> - 117 + 118 | TInitialiser -> - 116 + 117 | TInitialize -> - 115 + 116 | TInt _ -> - 114 + 115 | TInvalid -> - 113 + 114 | TIso -> - 112 + 113 | TIsoArgExpression -> - 111 + 112 | TIsoDeclaration -> - 110 + 111 | TIsoExpression -> - 109 + 110 | TIsoStatement -> - 108 + 109 | TIsoTestExpression -> + 108 + | TIsoToTestExpression -> 107 | TIsoTopLevel -> 106 @@ -1179,6 +1182,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr () | TIsoTestExpression -> Obj.repr () + | TIsoToTestExpression -> + Obj.repr () | TIsoTopLevel -> Obj.repr () | TIsoType -> @@ -1393,19 +1398,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v let default_reduction = - (16, "\000\000\000\000\002\154\000z\000\000\000\000\002\226\001J\000\000\001H\001I\001G\000\000\001L\001K\000\001\000\000\001\135\000\000\000\000\000\138\000\000\000\000\001w\000\163\000\000\000\000\000\150\000\000\000\000\000\155\000\154\000\000\000\151\000\000\000\149\000\000\000\000\000\000\000\153\000\000\000\152\003\025\003\024\000\000\000\000\000\143\000\000\000\000\000\148\000\147\000\000\000\144\000\000\000\142\000\000\000\000\000\000\000\146\000\000\000\145\000\000\000\157\000\000\000\000\000\162\000\161\000\000\000\158\000\000\000\165\000\000\001D\001C\000\000\000\166\000\000\000\164\000\137\000\000\000\156\000\000\000\171\000\000\000\000\000\000\000\160\000\000\000\000\000\000\003\015\000\000\000\000\000\000\000\000\000\000\003\020\000\000\000\000\000\168\000\000\003\022\000\000\000\000\000\000\003\145\002d\000\000\003\143\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\144\002j\001?\002i\001=\001>\002h\002g\002f\002b\000\000\000\000\002c\001\012\000\000\002e\000\000\003\141\000\000\000c\001<\002E\000\000\000\000\002H\000\000\000\015\000\000\000\000\000\000\000\000\001\013\002a\002m\000[\000\021\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132\002\"\000R\001\022\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\023\000\000\002K\001\024\000\014\000\016\000\000\000\000\000\193\000\000\000\000\000\180\000\000\000\000\000\185\000\184\000\000\000\181\000\000\000\179\000\000\000\000\000\000\000\183\000\000\000\182\000\000\000\000\000\173\000\000\000\000\000\178\000\177\000\000\000\174\000\000\000\172\000\000\000\000\000\000\000\176\000\000\000\175\000\000\000\187\000\000\000\000\000\192\000\191\000\000\000\188\000\000\000\195\000\000\000\000\000\196\000\000\000\194\000\000\000\186\000\000\000\201\000\000\000\000\000\000\000\190\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\000\000\000\002\t\000\209\000\000\000\000\000n\000o\002\008\001\235\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\215\000\000\001\236\000\000\000\000\000\000\000\000\000\208\000\206\000\221\000\000\001\127\000\000\000\000\003\017\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\197\000\000\000\000\003\019\003\023\000\189\000\000\000\000\001\027\000\000\000\000\002F\002I\000\000\002G\002J\003t\003u\003s\000\000\002k\003r\000\000\002\133\000\000\000\000\002\132\002\131\002\130\002\129\002\128\002|\000\000\000\000\002}\000\000\002\127\000\000\000\000\000g\002S\000\000\000\000\002V\000\000\000\000\002Y\000\000\000\000\002T\002W\000\000\002U\002X\002\135\002{\003\130\003\131\003\129\003\128\000h\000\000\000\000\000W\000\000\000V\001 \000\000\001\245\000\000\000\000\000\000\000\000\000\000\001\017\001\251\000\000\000\000\001\159\000U\0001\001\n\000_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\000\000\0003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002l\000\000\000\204\000\000\000\000\001\230\000\000\001\149\001\211\000\000\000\000\001\229\000\000\001\147\001\210\000\000\000\000\000d\000\000\002\134\000\000\000\000\003\133\003\132\000\000\001\246\000\000\000\000\003w\003v\000\000\000Q\000\205\000\000\001y\000\000\003\018\000\000\000\000\000\000\000\000\000\169\000\167\000\000\001\021\000\000\000\000\000\170\000\159\000\000\000\000\001b\000\000\001a\000\000\001o\000\000\001\137\000\000\000\000\000\000\003G\000\000\000\000\003:\000\000\000\000\003?\003>\000\000\003;\000\000\0039\000\000\000\000\000\000\003=\000\000\003<\000\000\000\000\0033\000\000\000\000\0038\0037\000\000\0034\000\000\0032\000\000\000\000\000\000\0036\000\000\0035\000\000\003A\000\000\000\000\003F\003E\000\000\003B\000\000\003I\000\000\000\000\003J\000\000\003H\000\000\003@\000\000\003O\000\000\000\000\000\000\003D\000\000\000\000\003n\000\000\000\000\000\000\000\000\003N\003C\000\000\003p\000\000\000\000\002\242\003o\000\130\000\000\000\249\000\000\000\000\000\000\000\000\003L\000\000\000\000\000\000\000\000\003M\003K\000\000\000\000\003e\000\000\000\000\003X\000\000\000\000\003]\003\\\000\000\003Y\000\000\003W\000\000\000\000\000\000\003[\000\000\003Z\000\000\000\000\003Q\000\000\000\000\003V\003U\000\000\003R\000\000\003P\000\000\000\000\000\000\003T\000\000\003S\000\000\003_\000\000\000\000\003d\003c\000\000\003`\000\000\003g\000\000\000\000\003h\000\000\003f\000\000\003^\000\000\003m\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\000\003l\003a\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\000\000\003k\003i\003\011\003\013\003\014\003\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000\210\000\000\000\000\000w\000\000\000\000\000\000\002q\000\000\000\000\000\000\002y\000\000\000\000\002x\000\000\003~\002w\002v\002u\002t\002s\001^\002o\000\000\000\000\002p\000\000\002r\000\000\000\000\000\000\000\000\000\000\000e\002L\000\000\000\000\002O\000\000\000\000\002R\000\000\000\000\002M\002P\000\000\002N\002Q\002z\002n\000f\003{\003|\003z\003y\003}\000\000\000\000\000\000\000\000\001\t\001\008\000\000\000\000\000\000\000\000\000\000\001T\000\000\001\019\001Q\000\000\001\007\001W\000\000\000\000\000\000\001X\000\000\000\000\001Y\000\000\001\131\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Z\000\000\001V\000\000\000\000\001\\\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001]\001S\000\000\001R\000\000\000\242\000\000\002\220\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\000\000\248\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\235\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\239\000\000\000\000\000\000\000\000\000\240\000\000\000\236\000\000\000\000\000\000\002\139\000\000\000\000\000\000\000\000\002\146\000\000\000\000\002\145\002\144\002\143\002\142\002\141\002\137\000\000\000\000\002\138\000\000\002\140\000\000\000\000\000i\002Z\000\000\000\000\002]\000\000\000\000\002`\000\000\000\000\002[\002^\000\000\002\\\002_\002\148\002\136\003\137\003\138\003\136\003\135\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\147\000\000\001\212\000X\000?\001\031\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\140\003\139\000\000\003\002\000\000\003\001\000\000\000\000\000\000\000\000\003\152\000\000\000\000\000\000\003\153\000\000\000\018\000\000\000\000\000\000\003\148\000\000\001\161\000\000\000\000\000\000\000\222\002\248\001u\001t\001N\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\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\001\014\001\015\000\255\000\000\001\133\000\000\000\000\000\254\000\250\000\000\001\001\000\251\001\000\000\000\003\004\000\000\003\003\002\245\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\002\255\002\247\000\000\003\005\000\000\002\249\000\000\000\226\000\000\003\008\000\000\001P\000\000\000\000\003\029\000\000\003$\000\228\000\000\000\233\000\000\003\030\000\227\000\000\003\031\000\000\003&\000\000\000\000\000\000\000\000\000\246\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\247\000\000\000\000\000\000\000\000\001A\000\000\000\000\000\000\000\234\000\000\000\231\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\237\000\224\000\223\000\000\003'\003(\000\000\003)\000\000\003*\000\000\001O\002\252\000\000\000\000\001\234\000\000\001\157\001\216\000\000\002\246\000\000\000\000\000\000\002\251\000\000\000\000\000\000\0015\000\000\001/\000\000\0010\000\000\001:\001.\0019\000\000\003\007\001;\000\000\000\229\000\000\000\000\000\000\000\000\0017\0012\001\231\000\000\0013\000\000\0014\000\000\001\151\001\213\000\000\000\000\000\000\001\241\000\000\001\239\000\000\000\000\001\243\001\237\000\000\001\244\001\238\000\000\003\t\001\247\000\000\000\225\000\000\000\000\001\232\000\000\001\153\001\214\000\000\003\149\000\000\003\146\000\000\003\147\000\019\000\020\000\000\000\000\002\198\000\000\002\197\000\000\000\000\002\200\000\000\002\199\000\000\000\000\000\000\002\018\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\000\000\000\000\002\028\000\000\002\012\000\000\000\000\002\015\000\000\000\000\000\000\002\019\000\000\000\000\002\023\000\000\000\000\001\233\000\000\000\000\002\016\000\000\000\000\002\020\002\195\002\013\000\000\002\196\000\000\000\000\000\000\000\000\002\026\000\000\002\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\024\000\000\000\000\002\027\000\000\002\011\000\000\000\000\002\014\000\000\000\000\000\000\002\017\000\000\000\000\002\021\000\000\001\155\001\215\000\000\002\201\000\000\000\000\000\000\003\150\000\017\000u\000\000\003\151\000\000\000\000\002\216\000\000\000\000\003\n\000a\000\000\000\000\000\000\000b\000\000\003\000\000\000\001{\000\000\001\129\002\253\000\000\000\000\001h\000\000\001g\000\000\001p\000\000\001\143\000\000\000\000\000\000\001f\000\000\001e\000\000\001m\000\000\001\141\000\000\000\000\000\000\001j\000\000\001i\000\000\001n\000\000\001\145\000\000\000\000\000\000\001k\000\000\000\000\000\000\001d\000\000\001c\000\000\001q\000\000\001\139\000\000\000\000\000\000\001l\000\002\000\000\000N\000O\000\000\000\000\002\164\002\168\002\172\002\160\002\157\000\000\000\000\002\169\002\176\002\161\002\175\002\159\002\174\002\163\002\155\002\162\002\171\002\158\002\165\002\156\002\167\002\173\002\170\002\166\001\179\001\178\000\127\000\000\000\000\002\236\000\000\000\000\002\210\000\000\000\000\002\212\002\211\002\185\000\000\000\000\002\244\002\178\002\177\002\179\000\000\001\191\000M\001r\000\003\000\000\000\000\002\151\000\000\002 \000\000\000\129\000\000\000\000\002\240\000\000\000\000\000\000\000y\000\000\000\000\002\224\000\000\002\005\002\004\001\173\002\187\000\000\001\207\000\000\002\152\000\000\000\000\000{\000\000\000\000\002\228\000\000\001\188\000\000\000\000\001\184\000\000\000\000\000\000\001\187\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\001\208\000\000\001\182\000\000\001\181\000\000\000v\000\000\000\000\002\218\000\000\000\000\001\177\000\000\000\000\000}\000\000\000\000\002\232\000\000\000\000\002\193\000\000\002\192\000\000\000\000\000\000\002\003\002\002\002\190\002&\002\181\002\191\000\000\001\194\000\000\000\000\000\000\001\190\000\000\001\196\000\000\000\000\001\185\000\000\000\000\000\000\002\183\000~\000\000\000\000\002\234\000\000\002\182\000\000\001\192\000\000\000\000\001\193\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\183\000\000\001\253\000\128\000\000\000\000\002\238\000\000\000\000\000\000\001F\000x\001E\000\000\000\000\002\222\000\000\001\255\001\254\001\171\002\186\000\000\000|\000\000\000\000\002\230\000\000\000\000\000\000\000\000\002\001\002\000\002\188\002$\002\180\002\189\000\000\001\201\000\000\001\205\000\000\000\000\001\197\000\000\000\000\000\000\001\189\000\000\001\195\000\000\000\000\000\000\000\000\001\176\000\000\000\000\001\204\000\000\001\203\000\000\000\000\000\000\000\000\001\200\000\000\000\000\001\199\000\000\001\198\000\000\000\000\000\000\000\000\001\202\000\000\001\206\000\000\000\000\001s\000\004\000\000\001\180\000\005\000\000\000\000\001#\000\006\000\000\001\220\001\221\001\219\000\000\001\218\003\026\001\167\000\000\000\007\000\000\001\223\001\224\001\222\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\000\000\001*\001,\001+\001&\001(\001'\000\000\000\000\000\000\000\000\000\000\003 \003-\000\000\003!\000\000\003\"\000\000\000\000\003\027\000\000\000\000\000\000\000\000\003,\000\000\000\000\003+\001\228\001\227\000\000\000\000\001\169\001\217\001\225\000\000\000\000\000\000\000\000\002\007\000\000\000\000\000l\000m\002\006\000\000\000\000\000\000\000\218\000\000\001}\000\000\000\000\000\217\000\213\000\000\000\000\000\000\000\000\001@\000\000\0030\000\000\0031\000\000\000\000\001\250\001\248\000\000\001\249\000\008\000\000\000\t\000\000\0025\0026\0024\000\000\0023\000\000\000\n\000\000\0028\0029\0027\000\000\002;\000\000\000\000\000\000\002-\000\000\000\000\002/\000\000\002)\000\000\002+\000\000\0020\000\000\0021\000\000\002*\002(\002<\001\175\0022\000\000\002>\000\000\002=\000\000\002?\000\000\002\194\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\000\000\000\002C\000\000\002B\000\000\002A\001\002\000\000\000\000\000\000\000\000\001\003\002D\000\000\000\000\002\205\000\000\000\000\000\000\002\206\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\002\214\000k\000\000\000\000\001\011\000\000\001\029\001\028\000\000\001`\000\000\002\204\001\165\001\163\000\000\000\000\000\000\002\207\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\203\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\209\000\000\000\000\000\000\002\208") + (16, "\000\000\000\000\002\155\000z\000\000\000\000\002\227\001J\000\000\001H\001I\001G\000\000\001L\001K\000\001\000\000\001\136\000\000\000\000\000\138\000\000\000\000\001x\000\163\000\000\000\000\000\150\000\000\000\000\000\155\000\154\000\000\000\151\000\000\000\149\000\000\000\000\000\000\000\153\000\000\000\152\003\026\003\025\000\000\000\000\000\143\000\000\000\000\000\148\000\147\000\000\000\144\000\000\000\142\000\000\000\000\000\000\000\146\000\000\000\145\000\000\000\157\000\000\000\000\000\162\000\161\000\000\000\158\000\000\000\165\000\000\001D\001C\000\000\000\166\000\000\000\164\000\137\000\000\000\156\000\000\000\171\000\000\000\000\000\000\000\160\000\000\000\000\000\000\003\016\000\000\000\000\000\000\000\000\000\000\003\021\000\000\000\000\000\168\000\000\003\023\000\000\000\000\000\000\003\146\002e\000\000\003\144\000\000\002\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\143\003\145\002k\001?\002j\001=\001>\002i\002h\002g\002c\000\000\000\000\002d\001\012\000\000\002f\000\000\003\142\000\000\000c\001<\002F\000\000\000\000\002I\000\000\000\015\000\000\000\000\000\000\000\000\001\013\002b\002n\000[\000\021\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132\002#\000R\001\022\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\023\000\000\002L\001\024\000\014\000\016\000\000\000\000\000\193\000\000\000\000\000\180\000\000\000\000\000\185\000\184\000\000\000\181\000\000\000\179\000\000\000\000\000\000\000\183\000\000\000\182\000\000\000\000\000\173\000\000\000\000\000\178\000\177\000\000\000\174\000\000\000\172\000\000\000\000\000\000\000\176\000\000\000\175\000\000\000\187\000\000\000\000\000\192\000\191\000\000\000\188\000\000\000\195\000\000\000\000\000\196\000\000\000\194\000\000\000\186\000\000\000\201\000\000\000\000\000\000\000\190\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\000\000\000\002\n\000\209\000\000\000\000\000n\000o\002\t\001\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\215\000\000\001\237\000\000\000\000\000\000\000\000\000\208\000\206\000\221\000\000\001\128\000\000\000\000\003\018\000\000\003\017\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\197\000\000\000\000\003\020\003\024\000\189\000\000\000\000\001\027\000\000\000\000\002G\002J\000\000\002H\002K\003u\003v\003t\000\000\002l\003s\000\000\002\134\000\000\000\000\002\133\002\132\002\131\002\130\002\129\002}\000\000\000\000\002~\000\000\002\128\000\000\000\000\000g\002T\000\000\000\000\002W\000\000\000\000\002Z\000\000\000\000\002U\002X\000\000\002V\002Y\002\136\002|\003\131\003\132\003\130\003\129\000h\000\000\000\000\000W\000\000\000V\001 \000\000\001\246\000\000\000\000\000\000\000\000\000\000\001\017\001\252\000\000\000\000\001\160\000U\0001\001\n\000_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\000\000\0003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002m\000\000\000\204\000\000\000\000\001\231\000\000\001\150\001\212\000\000\000\000\001\230\000\000\001\148\001\211\000\000\000\000\000d\000\000\002\135\000\000\000\000\003\134\003\133\000\000\001\247\000\000\000\000\003x\003w\000\000\000Q\000\205\000\000\001z\000\000\003\019\000\000\000\000\000\000\000\000\000\169\000\167\000\000\001\021\000\000\000\000\000\170\000\159\000\000\000\000\001b\000\000\001a\000\000\001p\000\000\001\138\000\000\000\000\000\000\003H\000\000\000\000\003;\000\000\000\000\003@\003?\000\000\003<\000\000\003:\000\000\000\000\000\000\003>\000\000\003=\000\000\000\000\0034\000\000\000\000\0039\0038\000\000\0035\000\000\0033\000\000\000\000\000\000\0037\000\000\0036\000\000\003B\000\000\000\000\003G\003F\000\000\003C\000\000\003J\000\000\000\000\003K\000\000\003I\000\000\003A\000\000\003P\000\000\000\000\000\000\003E\000\000\000\000\003o\000\000\000\000\000\000\000\000\003O\003D\000\000\003q\000\000\000\000\002\243\003p\000\130\000\000\000\249\000\000\000\000\000\000\000\000\003M\000\000\000\000\000\000\000\000\003N\003L\000\000\000\000\003f\000\000\000\000\003Y\000\000\000\000\003^\003]\000\000\003Z\000\000\003X\000\000\000\000\000\000\003\\\000\000\003[\000\000\000\000\003R\000\000\000\000\003W\003V\000\000\003S\000\000\003Q\000\000\000\000\000\000\003U\000\000\003T\000\000\003`\000\000\000\000\003e\003d\000\000\003a\000\000\003h\000\000\000\000\003i\000\000\003g\000\000\003_\000\000\003n\000\000\000\000\000\000\003c\000\000\000\000\000\000\000\000\003m\003b\000\000\000\000\000\000\000\000\003k\000\000\000\000\000\000\000\000\003l\003j\003\012\003\014\003\015\003\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000\210\000\000\000\000\000w\000\000\000\000\000\000\002r\000\000\000\000\000\000\002z\000\000\000\000\002y\000\000\003\127\002x\002w\002v\002u\002t\001^\002p\000\000\000\000\002q\000\000\002s\000\000\000\000\000\000\000\000\000\000\000e\002M\000\000\000\000\002P\000\000\000\000\002S\000\000\000\000\002N\002Q\000\000\002O\002R\002{\002o\000f\003|\003}\003{\003z\003~\000\000\000\000\000\000\000\000\001\t\001\008\000\000\000\000\000\000\000\000\000\000\001T\000\000\001\019\001Q\000\000\001\007\001W\000\000\000\000\000\000\001X\000\000\000\000\001Y\000\000\001\132\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Z\000\000\001V\000\000\000\000\001\\\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001]\001S\000\000\001R\000\000\000\242\000\000\002\221\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\000\000\248\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\235\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\239\000\000\000\000\000\000\000\000\000\240\000\000\000\236\000\000\000\000\000\000\002\140\000\000\000\000\000\000\000\000\002\147\000\000\000\000\002\146\002\145\002\144\002\143\002\142\002\138\000\000\000\000\002\139\000\000\002\141\000\000\000\000\000i\002[\000\000\000\000\002^\000\000\000\000\002a\000\000\000\000\002\\\002_\000\000\002]\002`\002\149\002\137\003\138\003\139\003\137\003\136\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\148\000\000\001\213\000X\000?\001\031\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\141\003\140\000\000\003\003\000\000\003\002\000\000\000\000\000\000\000\000\003\153\000\000\000\000\000\000\003\154\000\000\000\018\000\000\000\000\000\000\003\149\000\000\001\162\000\000\000\000\000\000\000\222\002\249\001v\001u\001N\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\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\001\014\001\015\000\255\000\000\001\134\000\000\000\000\000\254\000\250\000\000\001\001\000\251\001\000\000\000\003\005\000\000\003\004\002\246\000\000\000\000\000\000\000\000\000\000\002\255\000\000\000\000\000\000\000\000\003\000\002\248\000\000\003\006\000\000\002\250\000\000\000\226\000\000\003\t\000\000\001P\000\000\000\000\003\030\000\000\003%\000\228\000\000\000\233\000\000\003\031\000\227\000\000\003 \000\000\003'\000\000\000\000\000\000\000\000\000\246\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\247\000\000\000\000\000\000\000\000\001A\000\000\000\000\000\000\000\234\000\000\000\231\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\237\000\224\000\223\000\000\003(\003)\000\000\003*\000\000\003+\000\000\001O\002\253\000\000\000\000\001\235\000\000\001\158\001\217\000\000\002\247\000\000\000\000\000\000\002\252\000\000\000\000\000\000\0015\000\000\001/\000\000\0010\000\000\001:\001.\0019\000\000\003\008\001;\000\000\000\229\000\000\000\000\000\000\000\000\0017\0012\001\232\000\000\0013\000\000\0014\000\000\001\152\001\214\000\000\000\000\000\000\001\242\000\000\001\240\000\000\000\000\001\244\001\238\000\000\001\245\001\239\000\000\003\n\001\248\000\000\000\225\000\000\000\000\001\233\000\000\001\154\001\215\000\000\003\150\000\000\003\147\000\000\003\148\000\019\000\020\000\000\000\000\002\199\000\000\002\198\000\000\000\000\002\201\000\000\002\200\000\000\000\000\000\000\002\019\000\000\000\000\002\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\029\000\000\002\013\000\000\000\000\002\016\000\000\000\000\000\000\002\020\000\000\000\000\002\024\000\000\000\000\001\234\000\000\000\000\002\017\000\000\000\000\002\021\002\196\002\014\000\000\002\197\000\000\000\000\000\000\000\000\002\027\000\000\002\011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\000\000\000\000\002\028\000\000\002\012\000\000\000\000\002\015\000\000\000\000\000\000\002\018\000\000\000\000\002\022\000\000\001\156\001\216\000\000\002\202\000\000\000\000\000\000\003\151\000\017\000u\000\000\003\152\000\000\000\000\002\217\000\000\000\000\003\011\000a\000\000\000\000\000\000\000b\000\000\003\001\000\000\001|\000\000\001\130\002\254\000\000\000\000\001h\000\000\001g\000\000\001q\000\000\001\144\000\000\000\000\000\000\001f\000\000\001e\000\000\001n\000\000\001\142\000\000\000\000\000\000\001m\000\000\000\000\000\000\001j\000\000\001i\000\000\001o\000\000\001\146\000\000\000\000\000\000\001k\000\000\000\000\000\000\001d\000\000\001c\000\000\001r\000\000\001\140\000\000\000\000\000\000\001l\000\002\000\000\000N\000O\000\000\000\000\002\165\002\169\002\173\002\161\002\158\000\000\000\000\002\170\002\177\002\162\002\176\002\160\002\175\002\164\002\156\002\163\002\172\002\159\002\166\002\157\002\168\002\174\002\171\002\167\001\180\001\179\000\127\000\000\000\000\002\237\000\000\000\000\002\211\000\000\000\000\002\213\002\212\002\186\000\000\000\000\002\245\002\179\002\178\002\180\000\000\001\192\000M\001s\000\003\000\000\000\000\002\152\000\000\002!\000\000\000\129\000\000\000\000\002\241\000\000\000\000\000\000\000y\000\000\000\000\002\225\000\000\002\006\002\005\001\174\002\188\000\000\001\208\000\000\002\153\000\000\000\000\000{\000\000\000\000\002\229\000\000\001\189\000\000\000\000\001\185\000\000\000\000\000\000\001\188\000\000\001\187\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\183\000\000\001\182\000\000\000v\000\000\000\000\002\219\000\000\000\000\001\178\000\000\000\000\000}\000\000\000\000\002\233\000\000\000\000\002\194\000\000\002\193\000\000\000\000\000\000\002\004\002\003\002\191\002'\002\182\002\192\000\000\001\195\000\000\000\000\000\000\001\191\000\000\001\197\000\000\000\000\001\186\000\000\000\000\000\000\002\184\000~\000\000\000\000\002\235\000\000\002\183\000\000\001\193\000\000\000\000\001\194\000\000\000\000\000\000\000\000\000\000\000\000\001\210\000\000\001\184\000\000\001\254\000\128\000\000\000\000\002\239\000\000\000\000\000\000\001F\000x\001E\000\000\000\000\002\223\000\000\002\000\001\255\001\172\002\187\000\000\000|\000\000\000\000\002\231\000\000\000\000\000\000\000\000\002\002\002\001\002\189\002%\002\181\002\190\000\000\001\202\000\000\001\206\000\000\000\000\001\198\000\000\000\000\000\000\001\190\000\000\001\196\000\000\000\000\000\000\000\000\001\177\000\000\000\000\001\205\000\000\001\204\000\000\000\000\000\000\000\000\001\201\000\000\000\000\001\200\000\000\001\199\000\000\000\000\000\000\000\000\001\203\000\000\001\207\000\000\000\000\001t\000\004\000\000\001\181\000\005\000\000\000\000\001#\000\006\000\000\001\221\001\222\001\220\000\000\001\219\003\027\001\168\000\000\000\007\000\000\001\224\001\225\001\223\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\000\000\001*\001,\001+\001&\001(\001'\000\000\000\000\000\000\000\000\000\000\003!\003.\000\000\003\"\000\000\003#\000\000\000\000\003\028\000\000\000\000\000\000\000\000\003-\000\000\000\000\003,\001\229\001\228\000\000\000\000\001\170\001\218\001\226\000\000\000\000\000\000\000\000\002\008\000\000\000\000\000l\000m\002\007\000\000\000\000\000\000\000\218\000\000\001~\000\000\000\000\000\217\000\213\000\000\000\000\000\000\000\000\001@\000\000\0031\000\000\0032\000\000\000\000\001\251\001\249\000\000\001\250\000\008\000\000\000\t\000\000\0026\0027\0025\000\000\0024\000\000\000\n\000\000\0029\002:\0028\000\000\002<\000\000\000\000\000\000\002.\000\000\000\000\0020\000\000\002*\000\000\002,\000\000\0021\000\000\0022\000\000\002+\002)\002=\001\176\0023\000\000\002?\000\000\002>\000\000\002@\000\000\002\195\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002A\000\000\000\000\002D\000\000\002C\000\000\002B\001\002\000\000\000\000\000\000\000\000\001\003\002E\000\000\000\000\002\206\000\000\000\000\000\000\000\000\002\207\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\002\215\000k\000\000\000\000\001\011\000\000\001\029\001\028\000\000\001`\000\000\002\205\001\166\001\164\000\000\000\000\000\000\000\000\002\208\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\204\000\000\000\000\000\000\000\000\000\000\000\000\002\203\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\210\000\000\000\000\000\000\002\209") let error = - (176, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\002\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\001\128\000\000\000\000\000\000\000\000\000\002\000C\000\000\002\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\128\000\000\000\000\000\000\000\000\000\002\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\127\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001*\134\128P!\170\008\t\012\192\140\006\128\136w\130@\000\142d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\001\136\000\008\000\192\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\001\136\000\008\000\192\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\002 \001\000\000\016@@\000\000\000\000 \000\000\000\000\004\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016@@\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\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\016\000\002 \000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\008\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\152&\203%\128\000\n\000\129\000\0007@Bxw\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\008 \192%\128\000\n\000\000\000\0006@\002hw\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\0006@\002xw\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\006\000A\000\130\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000 \001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\000\000\000\004\000z\213x\000 \001\000\000\016@@\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\000\000\000\000\000\000\008\000\000\008\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\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\002 \000z\213x\000 \001\000\000\016\000F\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\008\000\000\008\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\008\000\000\000 \000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\002 \000z\213x\000 \001\000\000\016\000F\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\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\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\144\"\201%\000\000\008\000\129\000\0005@@\016G\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\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\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\0004@\000\016G\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\016\000\000\000\000\002\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\006\000A\000\130\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000@\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\016\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000 \001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\003\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\008\016 \201%\000\000\008\000\001\000\000!@B\000\006\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\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\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\001 \000\008\152&\203%\128\000\n\000\129\000\0007@BPw\000\000\000\002\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\024 \201%\128\000\008\000\001\000\0003@B@F\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\002\144\000 \025\133\001\157\160\000a \016\017\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\017\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\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\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\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\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\002\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\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\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\017\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\140\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\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\008\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\t\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\008\000\t\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\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\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\143Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\152&\203%\128\000\n\000\129\000\0005@@Pw\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\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\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\0004@\000Pw\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\006\000A\000\130\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\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\008$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\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\000A\016\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\133q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\130\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030#\145@ \024\197\241\221\227\000g\1690\000\143Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\130\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\008$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\008$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\008\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\002 \000\000\000\000\000\000\000\000\000\000\000\000\008\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\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\002 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030#\145@ \024\197\241\221\227\000g\1690\000\143Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\127\245\252\016#\145@ \024\197q\221\227\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\004\002\000\000\000\002\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\227\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\152&\203%\128\008\n\000\129 \0007@@Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\002\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\227\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\227\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\008\000\000\140\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\008\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\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\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\227\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\002\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\227\000g\1680\004\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\008\000\000\140\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\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\127\247\254\016#\145\192&\026\133\241\221\227\000\231\1690\012\143Q\214\179\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\143Q\198\130\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\004\000\000\000\000\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\143Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\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\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\143Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\143Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000@\000\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\141QB\130\000\000\000\000\000\000\000\004\002\000\128\000\000\000\000\000\000\004\000\000@\000\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\128\000\000\000\000\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\008\000\128\140\000\000\000 \000\000\000\000@\000\000\000\000\000\000\000\128\006\002\000\000\000\000\000\128\000\000\004\000\000\016\001\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\006\002\000\000\000\000\000\128\000\000\004\000\000\016\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145\192&\026\133q\221\225\000\231\1680\004\141Q\018\131\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145\192&\026\133q\221\225\000\231\1680\004\141Q\018\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000@\000\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\008\004\002\000\000\000\002\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\227\000g\1680\004\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\245\252\000\"\145@ \024\005A\157\224\000a \016\000\001Q\002\130\000\000\000\000\002\144\008$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\245\252\000\"\145@ \024\005A\157\224\000a \016\000\001Q\002\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\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\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\140\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\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\008\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\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\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\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\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000{\245\252\000\"\145@ \024\005A\157\224\000a \016\000\001Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\024 \201%\128\008\008\000\001 \0001@@@F\000\000\000\000\000\000\008\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\008\000\000\140\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\008\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\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\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\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\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\008\000\008\000\128\140\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\002\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000A\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\143Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\003\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\128\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\001\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\127\245\252\000 \001\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\127\245\252\000 \001\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\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\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\128\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\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\000z\213x@p!\"H\016\128@\000\004\128\008R\130@\000\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\008\000\128P \"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\016\000\002\000\000\000\000\000\000\000\129\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\"\000\000\000\000\000\000\000\129\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\213x\000p!\"\008\016\128@\000\004\128\008R\002@\000\140\000\000z\213x\000p!\000\008\016\128@\000\004\128\008R\002@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!#\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\002\000\000\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\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\002\004\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\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\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\000z\213x\000p! \008\016\128@\000\004\128\008R\002@\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000p!\000\008\016\128@\000\004\128\008R\002@\000\132\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\000\008\000\000\020\128\008v\130@\000\142\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\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\008\000\000\020\128\008v\130@\000\142\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\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\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\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000 \000\000\016\000\000\000\000\000\000\002\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\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\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\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\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128\\!\"\008\000(\000\000\020\128\008v\130@\000\142\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\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\008\000\129P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\016\000\000\000\000\000\000\002\000\000\000\008\000\129P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000 \000\000\016\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\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\008\000\128P!\"\008\000\012\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001(\000\000\020\128\008v\130@\000\142\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\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\008\000\128P!\"\008\000\012\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\002\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\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000 \000\000\016\000\000\000\000\000\000\002\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\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\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\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128\\!\"\008\000(\000\000\020\128\008v\130@\000\142\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\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\000z\221x\128p!\"\008\016\136@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\008\000\128P \"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128\\!\"\008\000,\000\000\020\128\008v\130@\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\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\016\000\000\000\000\000\000z\221x\128p!\"\008\016\140@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\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\008\000\128P!\"\008\001\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\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\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\000z\213x@p!\"H\016\128@\000\004\128\008R\130@\000\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\007\001\157\160\000! \016\004\000A\000\130\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\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\030\135q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\030\133q\221\225\000g\1690\004\141Q\002\179{\247\254\000 \001\000\000\016\000@\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \001\000\000\016\000@\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \001\000\000\016\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\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\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\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\000\130\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\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\247\254\000 \001\000\000\016\000@\000\000\000\000!\000\000\000\000\000\000\001\"\134\000\000\000\000\000\008\000\000\140\000\000\000!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\002 \000z\213x\000 \001\000\000\016\000F\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\008\000\000\008\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\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002 \000z\213x\000 \001\000\000\016\000F\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\128\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\006\130\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\008\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\008\000\008\000\000\140\000\000\000!\000\000\000\000\0001\000\000\000\000\000\004\004\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\007\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\030\135q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\030\133q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@ \024\197q\221\225\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\127\247\254\016#\145@ \024\197q\221\225\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\127\247\254\016#\145@ \024\197q\221\225\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\008\000\008\000\000\140\000\000\000!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\008\000\008\000\000\140\000\000\000!\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\002\000\000\000\000\000\000\000\000\016$O\0000\000\000\016\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\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\001\000\000\008\016\000\000\000\000\000\000\000\128\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\001\000\000\008\016\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\128\000\000\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\128\000\000\000\128\000\000\000\000\000\000\000C\000 \000 \020\000\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000\128\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\128\000\000\000\128\000\000\000\000\000\000\000C\000 \000\000\020\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\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\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\128\000\000\000\000\000\000\000\000\000\000\000G\0000\000\000\016\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\128\000\000\000\000\000\000\000\000\000\000\000C\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \002\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\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\000C\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\002\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000G\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000C\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\000\000\000\000\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\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") + (177, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\000\000\000\000\000\000\000\000\000\016\002\024\000\000\016!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\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\031\224\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\004\170\026\001@\134\168 $3\0020\026\001\016\239\004\128\001\028\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\187G\000\000\000\196\000\004\000`F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\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\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\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\023h\224\000\000\024\128\000\128\012\008\192 \004\001\008\000\000\000\019!\136\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002e\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\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$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002e\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\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$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \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\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000@\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000@\016\128\000\000\0012\024\189j\188\000\016\000\128\000\008 \000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000D\000 \000\002\008\008\000\000\000\000\002\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\003\214\171\192\001\000\008\000\000\130\002\000\000\000\000\000\128\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\245\170\240\000@\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002\000\016\000\001\004\004\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\016\000\002\000\000\000\000\000\000\000\000\016\000\002 \000\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\002\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\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \158\181^\000\008\164@\t\006\129Pgh\000\004$\002\000\128\008 \016OZ\175\000\004R \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\019\214\171\192\001\020\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\164\000\t\006\129@gh\000\004$\002\000\128\008 \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\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000D\1936Y,\000\000P\002\004\000\000\221\001\t\225\220\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000\016\144\008\002\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\000\000H\000\002\"\0080\t`\000\002\128\016\000\000\006\200\000M\014\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\136\130l\"X\000\000\160\004\000\000\001\178\000\019\195\184\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\128\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\t\006\129@gh\000\004$\002\000\128\008 \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\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\014\181Z\000\008\000@\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\160@\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \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\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001P \000\000\004\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\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\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\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\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \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\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\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\002\000\000\000\000\000\000\000\018(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\002 \000\"\018\0020\008\001\000B\000\000\000\004\200b\245\170\240\000@\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\008\008\000\000\000\000\002\000\000\000\000\000@\007\173W\128\002\000\016\000\001\004\004\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\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\008\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004@\000\245\170\240\000@\002\000\000 \000\140\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\128\000\000\001\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\002\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\181^\000\008\000@\000\004\000\017\128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\016\000\128\000\008\000#\000\000\000\000\000\000\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\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\001\214\171@\001\000\008\000\000\000\002\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000@\000\000\000\000\000\000\245\170\240\000@\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\017\000\001\016\144\017\128@\008\002\016\000\000\000&C\023\173W\128\002\000\016\000\001\004\004\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\016\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\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\004@\000\245\170\240\000E\"\000H4\n\131?@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\016\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\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\144\000\004\008\017d\146\128\000\004\000\000@\000\013P\016\004\017\128\000\000\000\000\000\000\000\000\000\000\002\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\007\173W\128\002)\016\002A\160T\025\250\000\001\t\000\128 \002\t\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000@\001\022\001(\000\000@\000\000\000\000\209\000\000A\024\000\000\000\000\n@\000\144h\020\006v\128\000B@ \008\000\130\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\002\144\000$\026\005\001\157\160\000\016\144\008\002\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\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\016\000\000\000\000\000\000\000\000\000\016\000\000@\000\000\000\000\008\n@\000\144h\020\006v\128\000B@ \000\000\130\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\002\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\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\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\016\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\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\144\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\000\000\000\000\164\000\t\006\129@gh\000\004$\002\000\000\008 \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\002A\160P\025\218\000\001\t\000\128\000\002\008\004\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\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\144\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\000\000\000\000\164\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000$\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\003\000 \128A\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\164\000\t\006\129@gh\000\004$\002\000\000\008 \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\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\144\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\002\000\003\214\171\192\001\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\245\170\240\000E\"\000H4\n\131;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\214\171\192\001\020\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\128\000\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\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000@\016\128\000\000\0012\024\189j\188\000\016\000\128\000\008 \000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\011\214\171\192\001\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000@\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\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\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\129\028\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\t\235U\224\000\128\004\000\000@\001\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000*\004\000\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000@\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \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\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \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\021\002\000\000\000@\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \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\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\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\008\000\128P!\"\008\001\012@\000\004\128\004;A \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\030\181^\000\008\000@\000\004\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\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@\004\002\129\t\016@\012b\000\000$\000!\218\t\000\0020\000\001\235U\224\000\128\004\000\000A\001\000\000\000\000\000@\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\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\008\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\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\008\000\000\128\000\000\001\000\000\000\000\000\000\003\214\171\192\001\000\008\000\000\130\002\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\198 \000\002@\002\029\160\144\000#\000\000\030\181^\000\008\000@\000\004\016\016\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\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\000u\170\208\000@\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \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\021\002\000\000\000@\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\129\000\000\000 \000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\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`\002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\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\008\000\128P!\"\008\001\012@\000\004\128\004;A \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\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\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`\002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\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\016\001\000\160BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\0001\136\000\000\144\000\135h$\000\008\192\000\007\173W\128\002\000\016\000\001\004\004\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\016\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\004\000\000\000\008\000\000\000\000\000\000\030\181^\000\008\000@\000\004\016\016\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\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 \002\001@\132\136 \0061\000\000\018\000\016\237\004\128\001\024\000\000\245\170\240\000@\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\002\000r\008\004\003\016\162;\180 \006z\131\000\008\197\016( \000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \001\000\000\016\000@\000@\000\000\016\000\000\001\128B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\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\004\000\000\000\000\000\000\005 \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\002\144\000 \025\133\001\157\160\0000\144\008\n\128 \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\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\138D\000\144h\021\006v\128\000B@ \008\000\130\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A=j\188\000\017H\128\018\013\002\160\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000R\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000 @\131$\148\000\000 \000\002\000\000B\128\132\000\012\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=j\188\000\017H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002A\160P\025\218\000\001\t\000\128 \002\008\004\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\008\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000@\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001H\000\016\012\194\128\206\208\000\024H\004\005@\016A \128\000\000H\000\002&\t\178\201`\000\002\128\016 \000\006\232\008J\014\224\000\000\000@R\000\004\0030\1603\180\000\006\018\001\001P\004\016H \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\020\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\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\t\000\000@\193\006I,\000\000@\000\004\000\000\205\001\t\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\005 \000@3\n\003;@\000a \016\017\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\164\000\008\006a@gh\000\012$\002\002 \008 \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\016\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\128\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\008\000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\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\002\144\000 \024\005\001\157\160\0000\144\008\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\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\008\000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\128\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\008\000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\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\008\000\000\000\000\000\000\n@\000\128f\020\006v\128\000\194@ *\000\130\t\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\002\144\000 \025\133\001\157\160\0000\144\008\n\128 \130A\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\164\000\008\006a@gh\000\012$\002\002\160\008 \144@\000\000\000\000R\000\004\0030\1603\180\000\006\018\001\001\016\004\016H \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\020\128\001\000\204(\012\237\000\001\132\128@T\001\004\018\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\128\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\128\000\008\192\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\016\000\128\000\008\000#\000\000\000\000\000\000\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\t\000\000\000\000\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\004\000\004\128\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000\016\144\008\002\000 \128A\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\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\001\214\171@\001\000\008\000\000\000\002\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000\016\144\008\002\000 \128A\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\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\128\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\005 \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\004 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\001\255\215\240@\142E\000\144j\021\199w\132\000\207P`\t\030\163\013\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\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\000\001H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \158\181^\000\008\164@\t\006\129Pgh\000\004$\002\000\128\008 \016@\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\128\000\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\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\020\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\n@\000\144h\020\006v\128\000B@ \008\000\130\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\002\144\000 \024\005\001\157\160\0000\144\008\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\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000\000\000R\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\"`\155,\150\000\000(\001\002\000\000j\128\128\160\238\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=j\188\000\017H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002A\160P\025\218\000\001\t\000\128 \002\008\004\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\008\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\002\"\t\176\137`\000\002\128\016\000\000\006\136\000\n\014\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\004D\019a\018\192\000\005\000 \000\000\t\016\000\020\013\192\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\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\002\144\000 \024\005\001\157\160\0000\144\008\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\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002@\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\004D\019a\018\192\000\005\000 \000\000\t\016\000\020\013\192\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\1280\002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\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\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\004D\019a\018\192\000\005\000 \000\000\t\016\000\020\013\192\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\221\235U\224\000\138D\000\144h\021\006v\128\000B@ \008\000\130\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\164\002\t\006\129@gh\000\004$\002\000\128\008 \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\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\001\255\215\240x\142E\000\128c\021\199w\132\000\207P`\001\026\162\005\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\002\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\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\128\000\000\000@\000\000\000\000\000\000A\016\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008\017\200\160\016\012B\184\238\240\128\025\234\012\000#T@\160\159\253\127\004\008\228P\t\006\161|wx@\012\245\006\000\145\170(PO\254\191\131\196r(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\241\028\138\001\000\198/\142\239\024\001\158\164\192\002=G\026\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016#\145@$\026\133\241\221\225\0003\212\024\002F\168\161A?\250\254\008\017\200\160\018\013B\184\238\240\128\025\234\012\001#TA\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\002\000r\008\004\003\016\162;\180 \006z\131\000\008\197\016( \000\000\001\0009\004\002\001\136Q\029\218\016\003=A\128\004b\136\020\016\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\004\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\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\000R\001\004\131@\1603\180\000\002\018\001\000@\004\016\008 \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\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\130\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000 \007 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\016\003\144@ \024\133\017\221\161\0003\212\024\000F(\129A\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\136\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\004\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\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\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\001\020\136\001 \208*\012\253\000\000\132\128@\016\001\004\130\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000 \007 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\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\001\255\215\240@\142E\000\144j\021\199w\132\000\207P`\t\026\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030#\145@ \024\197\241\221\227\0003\212\152\000G\168\227Y\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\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\007\255_\193\0029\020\002\001\140W\029\2220\003=A\128\004j\136\020\016\000\000\000\000\000\000\000 \016\000\000\000\016\000\000\000\000\016\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128@1\138\227\187\198\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\002&\t\178\201`\002\002\128\016$\000\006\232\008\n\014\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128@ \000\000\000 \000\000\000\000 \000\000\001\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128H5\n\227\187\198\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008\017\200\160\016\012b\184\238\241\128\025\234\012\000#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002)\016\002A\160T\025\250\000\001\t\000\128 \002\t\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\008\000\000\140\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\004\000\000@\001\024\000\000\000\000\000\000\008\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\t\006\161@oh\000\004$\002\000\128\008 \016@\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\001\235U\224\000\128\004\000\000@\001\024\000\000\000\000\000\000\008\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\002\000\000@\000\000\000\000\000\000R\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \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:\213h\000 \001\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\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\002\000\000@\000\000\000\000\000\000R\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \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\031\253\127\004\008\228P\t\006\161\\wx\192\012\245\006\000\145\170 V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128H5\n\227\187\198\000g\1680\004\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\004\000\000F\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\128\028\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\008\000\000\000\000\000\000\000\000\000\002\000\003\255\191\240\129\028\142\0010\212/\142\239\024\003\158\164\1922=GZ\204\000\000\000@\014A\000\128b\020Gv\132\000\207P`\001\024\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197\241\221\225\0003\212\024\000G\168\227A\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\001\000\000\000\000\031\253\127\004\008\228P\008\0061|wx@\012\245\006\000\017\2348\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\128@ \000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\142E\000\144j\023\199w\132\000\207P`\t\030\163\141\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133\241\221\225\0003\212\024\002G\168\227A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\031\253\127\004\008\228P\008\0061|wx@\012\245\006\000\017\170(P@\000\000\000\000\000\000\000\128@\016\000\000\000\000\000\000\000@\000\004\000\007\255_\193\0029\020\002\001\140_\029\222\016\003=A\128\004j\138\020\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\008\004\002\000\128\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\031\253\127\004\008\228P\t\006\161|wx@\012\245\006\000\145\170(P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\016\001\001\024\000\000\000 \000\000\000\000@\000\000\000\000\000\000\000\128\006\002\000\000\000\000\000@\000\000\002\000\000\008\000\191\250\254\008\017\200\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\192@\000\000\000\000\008\000\000\000@\000\001\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\129\028\142\0010\212+\142\239\008\003\158\160\192\0185DJ\013\255\215\240@\142E\000\128c\021\199w\132\000\207P`\001\026\162\005\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?\250\254\008\017\200\224\019\013B\184\238\240\1289\234\012\001#TD\160\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\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\016\000\031\253\127\004\008\228P\t\006\161|wx@\012\245\006\000\145\170(P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000\000\000\001\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\015\254\191\130\004r(\004\131P\174;\188`\006z\131\000H\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\247\235\248\000E\"\128@0\n\131;\192\000a \016\000\001Q\002\130\000\000\000\000\002\144\008$\026\005\001\157\160\000\016\144\008\002\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\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\007\191_\192\002)\020\002\001\128T\025\222\000\003\t\000\128\000\n\136\020\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\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=j\188\000\016\000\128\000\008\000 \000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\140\000\000\000\016\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\002\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\002\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\001\000\008\000\000\128\0020\000\000\000\000\000\000\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\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\128\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\n@\000\144j\020\006\246\128\000B@ \008\000\130\001\004\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\029j\180\000\016\000\128\000\000\000 \000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000 \000=\250\254\000\017H\160\016\012\002\160\206\240\000\024H\004\000\000T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\001\003\004\025$\176\001\001\000\000\018\000\003\020\004\004\004`\000\000\000\000\000\000\128\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\n@\000\144j\020\006\246\128\000B@ \008\000\130\001\004\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\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\001\235U\224\000\138D\000\144h\021\006~\128\000B@ \008\000\130A\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\002\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\002\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\002\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\002A\168P\027\218\000\001\t\000\128 \002\008\004\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\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\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\003\173V\128\002\000\016\000\000\000\004\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\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\002\144\000$\026\133\001\189\160\000\016\144\008\002\000 \128A\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\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\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\008\000\000\000\128\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\004\000\004\000@F\000\000\000\008\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016@\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\015\254\191\130\004r(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000?\250\254\008\017\200\160\018\013B\184\238\240\128\025\234\012\001#\212a\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248\000@\002\000\000 \000\128\000\128\000\000 \000\000\003\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000/\254\191\130\004r(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\129\028\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\008\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\002\000\000\000\000\000\000\000\001\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\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\008\001\200 \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000 \000\000\002\000r\008\004\003\016\162;\180 \006z\131\000\008\197\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\128\028\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248\000@\002\000\000 \000\128\000\128\000\000 \000\000\001\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\191\250\254\000\016\000\128\000\008\000 \000 \000\000\008\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\128\004\000 \000\002\000\008\000\008\000\000\002\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\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\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000 \000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\225\001\192\132\137 B\001\000\000\018\000\016\165\004\128\001\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\000\000\000\000\000\000\000\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\002\000 \020\008H\130\000\002\000\000\001 \001\014\208H\000\017\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\128\000\000\000\000\004\000@(\016\017\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\160BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\004\000\000\128\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\008\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\008\000\000\000\000\000\000\008\128\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\007\173W\128\007\002\018 \129\008\004\000\000H\000B\144\018\000\004`\000\003\214\171\192\003\129\008\000@\132\002\000\000$\000!H\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000\160BF\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\000\128\008\005\002\018 \128\000\128\000\000H\000C\180\018\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\128\000\000@\000\000\000\000\000\000\004\000\000\000\000\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\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@\128\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\173W\128\007\002\018\000\129\008\004\000\000H\000B\144\018\000\004 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001\192\132\000 B\001\000\000\018\000\016\164\004\128\001\008\000\000\000\016\001\000\160BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\129\000\000\002\000 \020\008H\130\000\002\000\000\001 \001\014\208H\000\017\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\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 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \020\008H\130\000\002\000\000\005 \001\014\208H\000\017\192\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\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\016\001\000\160BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\008\000\000\020\128\004;A \000G\000\000\000\004\000@(\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\016\n\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000@\000\004\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\016 \003\214\171\192\001\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012\000\000\004\128\004;A \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\000\000\000\000\000\002@\000\000\000\000\000\000\001\000\016\n\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\008\000\000\000 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\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\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@\004\002\129\t\016@\004@\000\000$\000!\218\t\000\0020\000\000\000 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\004;A \000F\000\000\000\004\000@.\016\145\004\000\020\000\000\n@\002\029\160\144\000#\128\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\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 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\168\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\016\001\002\160BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\000\000\000\016\000\000\008\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\002\129\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\012\000\000\004\128\004;A \000F\000\000\000\004\000@(\016\145\004\000\148\000\000\n@\002\029\160\144\000#\128\000\000\002\000 \020\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\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\128\008\005\002\018 \128\000\128\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\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\145\004\000\006\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000@\004\002\129\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000 \000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\016\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\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@\004\002\129\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\004;A \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\003\000\000\000\000\008\000\000\004\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\016\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\000\008\000\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\194\018 \128\002\128\000\001H\000C\180\018\000\004p\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=n\188@8\016\145\004\008D \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\001\000\016\n\004\004A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\194\018 \128\002\192\000\001H\000C\180\018\000\004p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\007\173\215\136\007\002\018 \129\008\196\000\000H\000C\180\018\000\004`\000\000\000@\004\002\129\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\002\129\t\016@\008@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\016\001\000\160BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\000z\213x@p!\"H\016\128@\000\004\128\004)A \000F\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\000R\000\004\131@\2243\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\239\252 G\"\128H=\014\227\187\194\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\129\028\138\001 \244+\142\239\008\001\158\164\192\0185D\n\205\239\223\248\000\128\004\000\000@\001\000\000\000\000\000\002\000\000\000\000\000\000\247\239\252\000@\002\000\000 \000\128\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \001\000\000\016\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\000H\161\128\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000$P\192\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\018(`\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\t\0200\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\2269\020\002\001\140W\029\222\016\003=A\128\004j\136\020\019\255\175\224\129\028\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128@1\138\227\187\194\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\002\000\000\000\024\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\001\000\128@\000\000\000\000\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\129\028\138\001 \212+\142\239\008\001\158\160\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000@3\n\003;@\000a \016\021\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\007\136\228P\008\0061\\wx@\012\245\006\000\017\170 PO\254\191\130\004r(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\003\255\175\224\129\028\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248\144.\128\000\000>\144\000\000>\144\n\221\011\129\011\129\004\222\006\021\006\021\006\133\016\"\006}\006}\016\"\028V\006}\006}\006}\006}\006\005\006}\008\246\006}\011\170\001\138\006}\001\"\002\206\006}\006}\000N\007\182\020N\020v\020\158\020\174\020\214\026S\006M\012\137\012\137\001\"\006}\021z\012\137\026W\006}\006}\006}\006}\015\142\006}\016\166\006}\006\013\026Z\000\n\006}\006}\006}\023\182\0206\n\221\006}\006}\006\149\006}\006\149\006}\006}\006\149\000\n\006}\006}\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\004~\006\149\025\027\025\031\006\149\021~\023\186\025#\006\149\024\226\006\149\006\149\021\130\0276\000\n\006\149\006\149\006\149\006\149\006\149\006\149\016\022\006\149\006\149\006\149\006\246\006\149\006\149\0065\006\149\014\218\003\026\n*\016\022\027:\006\149\0176\001\"\006\149\015\014\011i\027>\014\218\016\170\006\149\006\149\006\149\006\149\017\170\006\149\006\149\015\014\001\"\006\149\006\149\024\226\006\149\021\142\006\149\006\149\006\149\004\213\006\149\011Y\006\149\006\149\006\149\000\n\006\149\006\149\006\149\012\137\006\149\006\149\006\149\006\149\011\193\003f\nR\015\170\006\149\nV\000\n\003\241\006\149\025>\015\146\nZ\021\018\003j\006\149\006\149\n^\025B\006\149\006\149\006\149\006\149\003\170\006\149\003\174\006\149\027F\004\014\006\149\006\149\006E\006\149\006\149\011i\016\"\025\238\003:\021\242\003B\005\237\003R\006m\006\149\019\230\011i\006\149\016\"\003Z\011i\006\149\006\149\013\002\006\149\006U\006\149\004\018\006\149\020V\027N\018*\006\149\022\214\022\222\012\137\012\137\004&\004\213\006\149\012\137\006\149\012\158\006\149\006\149\004\021\003b\006\149\006\149\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\020\254\001\014\025*\001\022\nZ\001\030\0012\001:\001>\n^\025.\022\230\021\002\011\185\001\"\nb\021\238\027^\008\218\027^\003r\021\006\001F\021\n\001\"\0192\001\166\nr\013^\004B\021\014\013b\013\"\020^\004\161\001N\008\145\014\202\021\026\019\006\005\221\006\173\021\030\013>\000\n\004J\001\178\016\206\021\"\025b\004N\012\158\006]\006\222\000\n\015\"\013j\025\142\025\154\001\162\015&\017f\012\158\015\138\021&\001\218\012\158\001\222\004\177\001b\016\030\015.\021\226\015\138\018\146\013~\001\230\0152\004z\013\130\011\138\001\242\004\021\013\134\013\138\n\134\013\142\004\021\004\021\021*\004\129\0156\021.\004\130\003\237\008\145\006-\022\214\022\222\004\021\006\173\n\226\013\146\004\154\0212\015:\015>\013\150\015B\0216\000\n\021:\015V\021>\021B\004\141\021F\027n\015b\013\158\006e\018\194\021J\004\013\004\021\021N\027f\005\221\027f\025\174\018\214\004\162\015\130\027.\006M\023\254\015\134\015\194\004\177\n\138\021R\013\162\004\166\015\198\021V\021Z\005\221\013\166\004\177\004\177\005\221\011i\020~\004\177\015\206\004\013\013\170\004\017\006\157\006\157\008\137\018\150\002\"\006\157\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\004\174\001\014\025*\001\022\nZ\001\030\0012\001:\001>\n^\025.\023\178\004\129\018\242\004\198\nb\027\146\004\129\004\129\004\202\004\210\003~\001F\003\134\020\182\003\150\001\166\nr\013^\004\129\004\129\013b\003\158\018\198\016\022\001N\006\165\014\202\019\022\004\230\004v\020\134\018\218\014\218\008\137\004\013\001\178\022\234\019n\014\218\004\013\004\013\015\014\019\130\004\129\015\"\013j\025\142\015\014\003\166\015&\017\174\004\013\016\238\001\"\001\218\021\254\001\222\004\193\001b\016\030\015.\011\137\011y\019\158\013~\001\230\0152\004\013\013\130\011\138\001\242\012\158\013\134\013\138\n\134\013\142\004\013\020\190\027f\004\017\0156\024\002\003\182\000\n\006\165\011\153\000\n\026s\026w\018\246\n\226\013\146\026{\006=\015:\015>\013\150\015B\004\250\000\n\005\014\015V\022\166\005.\004\141\026\147\026\151\015b\013\158\011a\026\155\007\202\016\"\007\210\019\026\007\226\011\161\005R\016\"\0039\022:\015\130\007\234\0039\019r\015\134\015\194\023\202\n\138\019\134\013\162\000\n\015\198\026\026\011q\005^\013\166\003]\004\193\005f\006%\008\173\008\173\015\206\022\202\013\170\008\173\006\181\006\181\007\242\019\162\002\"\006\181\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\005\186\001\014\025*\001\022\nZ\001\030\0012\001:\001>\n^\025.\023N\004\017\011\177\005\198\nb\006\018\004\017\004\017\008\002\006\"\008\014\001F\008\022\005\013\008&\001\166\nr\013^\004\017\027.\013b\008.\011\145\005\t\001N\006*\014\202\006\170\006\206\004\241\006\214\007\014\005\013\007\026\007&\001\178\0072\007>\014\218\004\237\007J\007^\005\t\004\017\015\n\013j\007n\015\014\0086\015&\007~\t.\007\134\t6\001\218\tF\001\222\004\221\001b\015*\015.\023\166\tN\007\171\013~\001\230\0152\007\246\013\130\011\138\001\242\007\250\013\134\013\138\n\134\013\142\019N\008:\008>\012\145\0156\023\242\008F\008\158\008\162\008\178\008\194\008\238\008\254\tV\n\226\013\146\019R\t\018\015:\015>\013\150\015B\tZ\000\n\005\013\015V\t^\t\158\004\141\t\162\n\002\015b\013\158\n\006\005\t\tr\001\230\tz\n\026\t\138\012\226\001\242\016\"\005\013\n2\015\130\t\146\tf\nF\015\134\015\194\004\221\n\138\005\t\013\162\nf\015\198\nn\nv\n~\013\166\004\221\004\221\n\130\n\182\n\194\004\221\015\206\n\202\013\170\000\n\008\181\008\181\t\154\011\014\002\"\008\181\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\026\002\001\014\016\134\001\022\nZ\001\030\0012\001:\001>\n^\011.\011:\011~\011\150\011\162\nb\011\190\011\202\016\138\t\170\004\129\012R\001F\012Z\001\"\012j\001\166\nr\013^\012v\006\246\013b\012\146\012\154\027\"\001N\007\197\014\202\001\230\012\174\012\186\012\194\012\226\001\242\012\198\012\206\001\178\006\141\012\222\014\218\007\197\012\238\006\141\006\141\000\n\015\n\013j\012\246\015\014\012\250\015&\013\n\013\018\013*\027\186\001\218\0132\001\222\013F\001b\015*\015.\000\n\013N\013Z\013~\001\230\0152\013r\013\130\011\138\001\242\013z\013\134\013\138\n\134\013\142\013\206\013\218\006\141\0039\0156\014\"\014\154\0039\014\194\014\214\014\226\014\234\014\242\007\197\n\226\013\146\027~\014\250\015:\015>\013\150\015B\015F\000\n\006E\015V\027\142\015N\015^\015f\004\129\015b\013\158\027\230\027\146\004\129\004\129\015n\015v\015~\015\186\015\202\016\"\015\210\015\222\015\130\015\226\004\129\004\129\015\134\015\194\015\234\n\138\015\238\013\162\015\246\015\198\015\254\016\014\016.\013\166\016r\016z\016~\007\197\016\142\016\150\015\206\016\154\013\170\016\162\016\178\004\129\016\186\016\194\002\"\007\197\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\016\198\001\014\019N\001\022\nZ\001\030\0012\001:\001>\n^\016\214\016\222\016\246\016\254\017N\nb\017\150\017\162\019R\018\022\018\"\018B\001F\018n\018z\018\130\001\166\nr\013^\018\158\006\246\013b\018\170\018\178\018\182\001N\018\190\014\202\001\230\018\206\018\226\018\254\012\226\001\242\019\"\019:\001\178\019B\019F\014\218\019V\019^\019b\019j\019z\015\n\013j\019\142\015\014\019\170\015&\019\190\019\206\019\222\019\246\001\218\020\006\001\222\020\018\001b\015*\015.\000\n\020C\011\226\013~\001\230\0152\020k\013\130\011\138\001\242\020\147\013\134\013\138\n\134\013\142\020\171\020\203\020\227\012\145\0156\020\250\021\022\021\134\011\234\021\179\022\n\022\031\022G\022S\n\226\013\146\022c\022k\015:\015>\013\150\015B\011\242\000\n\006E\015V\022~\022\135\0122\012:\022\143\015b\013\158\022\151\022\178\022\218\022\226\022\242\012\018\023\015\023\031\011\250\016\"\012\n\023'\015\130\0233\023>\023c\015\134\015\194\023o\n\138\023\130\013\162\023\139\015\198\023\147\023\214\024\n\013\166\024'\024/\024;\012\026\024K\024S\015\206\024^\013\170\024s\012\145\012\145\024{\024\130\002\"\012\145\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\024\143\001\014\025*\001\022\nZ\001\030\0012\001:\001>\n^\025.\024\155\024\163\024\174\012\"\nb\024\183\024\191\024\203\024\230\025n\012\002\001F\025\150\025\166\025\218\001\166\nr\013^\025\226\026\006\013b\026*\026.\005Q\001N\0266\014\202\026_\027&\0272\027B\027J\027R\027{\027\130\001\178\027\139\027\150\012B\012*\027\166\027\219\027\234\027\243\015\"\013j\028\023\0283\028B\015&\026\170\028J\028S\028Z\001\218\028c\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\nR\004\141\000\000\nV\015b\013\158\000\000\025>\000\000\nZ\000\000\000\000\000\000\000\000\n^\025B\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\008\153\008\153\000\000\000\000\002\"\008\153\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\012\182\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\001\230\000\000\001F\000\000\012\226\001\242\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\015\"\013j\000\000\000\000\004\161\015&\0166\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\181\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\012m\0156\000\000\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\011\242\000\n\000\000\015V\000\000\000\000\000\181\000\181\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\012\018\000\000\000\000\011\250\000\000\012\n\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\012\026\000\000\000\000\015\206\000\000\013\170\000\000\012m\012m\000\000\000\000\002\"\012m\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\012\"\nb\000\000\000\000\000\000\000\000\000\000\012\002\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\181\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\181\012*\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025r\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\157\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\011\242\000\n\000\000\015V\000\000\000\000\000\157\000\157\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\011\250\000\000\012\n\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\157\000\000\000\000\015\206\000\000\013\170\000\000\012\185\012\185\000\000\000\000\002\"\012\185\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\157\nb\000\000\000\000\000\000\000\000\000\000\012\002\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\157\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\157\000\157\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025r\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\149\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\149\000\n\000\000\015V\000\000\000\000\000\149\000\149\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\011\250\000\000\000\149\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\149\000\000\000\000\015\206\000\000\013\170\000\000\012\181\012\181\000\000\000\000\002\"\012\181\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\149\nb\000\000\000\000\000\000\000\000\000\000\012\002\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\149\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\149\000\149\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\017\226\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\000R\000V\000f\000\170\002\"\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\013^\000\000\000\000\013b\003.\0036\000\170\001N\000\174\018b\003z\003\190\000\000\003\198\000\000\003\214\000\000\003\222\001\178\003\230\003\242\000\000\003\250\000\000\000\000\000\000\000\000\018r\013j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\013~\001\230\004\n\000\000\013\130\001\238\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\000\000\000\000\013\150\000\000\000\000\000\n\004\026\000\000\000\000\007\214\005\213\000\000\000\000\005\213\013\158\000\000\005\213\008\026\005\213\008Z\005\213\000\000\005\213\000\000\t:\005\213\000\000\005\213\005\213\000\000\005\213\005\213\005\213\005\213\n\138\000\000\013\162\005\213\018v\005\213\005\213\005\213\013\166\005\213\000\000\005\213\005\213\000\n\005\213\018~\005\213\013\170\005\213\005\213\005\213\005\213\005\213\002\"\005\213\000\000\005\213\000\000\005\213\005\213\000\000\000\000\005\213\005\213\005\213\005\213\008\186\000\000\000\000\005\213\005\213\000Z\000\000\005\213\t\n\005\213\n\018\000\000\005\213\000Z\005\213\000Z\005\213\005\213\000\000\005\213\000Z\000\000\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\000\000\005\213\000\000\000\000\000\000\000\000\005\213\005\213\005\213\005\213\000\000\005\213\000\000\005\213\000\000\000\000\005\213\005\213\005\213\005\213\005\213\005\213\005\213\005\213\000\000\005\213\005\213\005\213\005\213\005\213\005\213\005\213\005\213\005\213\005\213\005\213\000\000\005\213\005\213\005\213\005\213\005\213\005\213\000\000\005\213\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\000\000\005\213\000\000\005\213\000\000\005\213\005\213\005\213\005\213\000\000\005\213\005\213\005\213\005\213\005\213\000\000\000\000\000\000\000\000\005\213\005\213\000\000\000\000\000\000\005\213\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\206\001\202\000\000\001\210\000\000\000\000\000\000\000\000\nR\000\000\001\218\nV\001\222\000\000\001b\025>\000\000\nZ\000\000\000\000\001\226\001\230\n^\025B\001\234\001\238\001\242\002F\001\246\001\250\000\000\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\002\006\016\134\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\014\000R\007\190\007\198\000\170\016\138\000\174\000\000\008\n\008N\002\018\008V\020\254\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\002\022\000\000\021\002\001\230\000\000\000\000\002\026\012\226\001\242\004a\000\000\021\006\008\146\021\n\000\000\002\030\000\000\000\000\000\000\000\000\021\014\002\"\000\000\000\000\000\000\024Z\000\000\000\000\021\026\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\000\n\021\"\000\000\000\000\000\000\004\161\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\154\000\000\000\000\000\000\021&\023\150\000\000\000\000\000\000\008\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\021*\000\000\000\000\021.\000\000\000\000\007\133\007\133\001\166\nr\013^\007\133\000\000\013b\000\000\0212\000\000\000\000\000\000\014\202\0216\000\n\021:\000\000\021>\021B\000\000\021F\001\178\000\000\000\000\000\000\000\000\021J\000\000\000\000\021N\015R\013j\000\000\000\000\000\000\015&\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\021R\000\000\015.\000\000\021V\021Z\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\nb\000\000\000\000\015\134\015\194\000\000\000\000\000\000\013\162\000\000\015\198\001\166\nr\013^\013\166\000\000\013b\000\000\000\000\000\000\000\000\015\206\014\202\013\170\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013f\013j\000\000\000\000\nR\015&\000\000\nV\000\000\000\000\001\218\025>\001\222\nZ\000\000\000\000\015.\000\000\n^\025B\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\016\134\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\193\000\000\015\130\013\193\000\000\000\000\015\134\015\194\000\000\000\000\001\230\013\162\000\000\015\198\012\226\001\242\000\000\013\166\000\000\000\000\000\000\013\193\000\000\000\000\015\206\013\193\013\170\000\000\002:\013\193\000\000\000\000\002\"\000\000\000\000\013\193\000\000\000\000\013\193\013\193\000\000\013\193\013\193\000\000\000\n\002B\000\000\013\193\005&\004\161\000\000\013\193\000\000\000\000\013\193\000\000\013\193\013\193\t\"\t*\000\170\000\000\000\174\000\000\tn\t\178\000\000\t\186\000\000\t\202\000\000\t\210\000\000\t\218\t\230\000\000\t\238\013\193\000\000\013\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\193\t\246\000\000\008\229\008\229\000\000\000\000\0052\008\229\000\000\000\000\000\000\000\000\000\000\t\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\193\013\193\000\000\013\193\013\193\0056\000\000\013\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\000\000\000\000\000\000\000\000\013\193\000\000\n\014\013\193\013\193\013\193\013\193\000\000\000\000\000\000\000\000\013\193\013\193\013\193\000\000\013\193\013\193\013\193\001=\001=\001=\001=\000\000\001=\000\000\001=\001=\000\000\001=\000\000\001=\000\000\001=\000\000\001=\001=\001=\001=\000\000\000\000\004\237\000\000\020\238\004\237\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\001=\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\004\237\000\000\000\000\001=\004\237\000\000\001=\004\237\004\237\000\000\001=\000\000\000\000\020\242\004\237\000\000\001=\004\237\004\237\000\000\004\237\004\237\000\000\001=\004\237\000\000\004\237\004\237\001=\000\000\004\237\000\000\000\000\004\237\000\000\004\237\004\237\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\001=\004\237\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\000\000\001=\000\000\000\000\004\237\000\000\001=\000\n\001=\000\000\000\000\001=\000\000\020\246\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\004\237\004\237\000\000\004\237\005\t\004\237\000\000\004\237\000\000\000\000\000\000\000\000\000\000\004\241\001=\004\237\004\241\000\000\001=\001=\004\237\000\000\000\000\004\237\000\000\004\237\000\000\000\000\000\000\021\182\000\000\004\237\004\237\004\237\004\241\004\237\004\237\004\237\004\241\000\000\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\004\241\000\000\000\000\004\241\004\241\000\000\004\241\004\241\000\000\000\000\004\241\000\153\004\241\004\241\000\000\000\000\004\241\000\000\000\000\004\241\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\241\000\000\004\241\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\153\000\153\004\241\000\000\000\000\000\000\000\000\000\000\000\000\004\241\000\153\000\000\000\000\011\250\000\000\000\153\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\241\004\241\000\000\004\241\005\013\004\241\000\000\004\241\000\153\000\000\000\000\000\000\000\000\014\021\000\000\004\241\014\021\000\000\000\000\000\000\004\241\000\000\000\000\004\241\000\000\004\241\000\000\000\000\000\000\000\000\000\000\004\241\004\241\004\241\014\021\004\241\004\241\004\241\014\021\000\000\000\000\013\190\014\021\000\000\000\000\000\000\000\153\000\000\014\021\000\000\000\000\014\021\014\021\012\002\014\021\014\021\000\000\000\000\013\198\000\000\014\021\013\210\000\000\000\000\014\021\000\000\000\153\014\021\000\000\014\021\014\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\021\000\000\014\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\021\000\000\000\000\000\000\000\000\000\000\000\000\013\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\021\014\021\000\000\014\021\000\000\013\226\000\000\014\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\021\000\000\014\021\000\000\000\000\000\000\000\000\000\000\014\021\014\021\014\021\000\000\014\021\014\021\014\021\na\na\na\na\000\000\na\000\000\na\na\000\000\na\000\000\na\000\000\na\000\000\na\na\na\na\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\na\na\na\000\000\000\000\000\000\000\000\000\000\000\000\na\000\000\001\137\000\000\000\000\na\001\137\000\000\021\198\000\000\001\137\000\000\021\206\000\000\000\000\000\000\001\137\000\000\na\001\137\001\137\000\000\001\137\001\137\000\000\na\000\000\000\000\001\137\000\000\na\000\000\001\137\000\000\000\169\001\137\000\000\001\137\001\137\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\234\000\000\000\000\001\137\na\001\137\000\000\na\000\000\000\000\000\000\000\000\000\000\000\000\011\242\001\137\000\000\000\000\000\000\na\000\169\000\169\000\000\000\000\na\000\000\na\000\000\000\000\na\000\169\000\000\000\000\011\250\000\000\012\n\000\000\na\000\000\000\000\na\001\137\002V\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\na\012\026\000\000\000\000\022\"\na\001\137\000\000\000\000\001\137\001\137\001\137\001\137\000\000\000\000\000\000\000\000\002\254\001\137\001\137\000\000\001\137\001\137\001\137\nQ\nQ\nQ\nQ\000\000\nQ\000\000\nQ\nQ\000\000\nQ\000\000\nQ\000\000\nQ\000\169\nQ\nQ\nQ\nQ\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nQ\nQ\nQ\000\169\000\000\000\000\000\000\000\000\000\000\nQ\000\000\000\000\000\000\000\000\nQ\000\000\000\000\000\000\000\169\000\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nQ\nU\nU\nU\nU\000\000\nU\nQ\nU\nU\000\000\nU\nQ\nU\000\000\nU\000\000\nU\nU\nU\nU\nQ\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nU\nU\nU\000\000\000\000\000\000\000\000\000\000\nQ\nU\000\000\nQ\000\000\000\000\nU\000\000\000\000\022&\000\000\000\000\000\000\000\000\000\000\nQ\000\000\000\000\000\000\nU\nQ\000\000\nQ\000\000\000\000\nQ\nU\000\000\000\000\000\000\000\000\nU\000\000\nQ\000\000\000\000\nQ\000\000\000\000\000\000\nU\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nQ\000\000\000\000\000\000\021\202\nQ\000\000\000\000\000\000\nU\000\000\000\000\nU\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nU\000\000\000\000\000\000\000\000\nU\000\000\nU\000\000\000\000\nU\000\000\000R\007\190\007\198\000\170\000\000\000\174\nU\008\n\008N\nU\008V\000\000\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\002v\000\000\nU\002\198\000\000\000\000\000\000\nU\000\000\000\000\022.\008\146\022J\000\000\000\000\000\000\000\000\000\000\000\000\022V\000\000\002~\000\000\000\000\008\154\002\t\000\000\000\000\000\000\002\t\000\000\000\000\000\000\000\000\000\000\002\134\000\000\022n\002\t\002\t\000\000\002\230\002\238\000\000\008\170\000\000\000\000\002\t\000\000\022\154\000\000\002\166\000\000\000\000\002\142\000\000\002\158\002\t\008\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\174\022\186\002\t\000\000\023\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\t\000\000\000\000\000\000\023*\000\000\000\000\000\000\000\000\0236\000\000\008q\000\000\000\000\023f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023r\000\000\000\000\0242\002\182\000\000\000\000\002\t\002\t\000\000\000\000\002\150\000\000\000}\000\000\000\000\000}\000\000\024>\000\000\000\000\000\000\000\000\024V\002\t\000\000\000\000\002\t\002\t\002\t\002\t\000\000\000\000\000\000\002~\000\000\002\t\002\t\000}\002\246\002\190\002\t\000}\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\000\000\000\000}\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000e\002\158\000}\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\002\174\000\000\000}\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000\000\000}\002\134\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\142\000\000\002\158\000e\000\000\000\000\002\182\000\000\000\000\000}\000}\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000e\000}\000\000\000\000\000}\000}\000}\000}\000\000\000\000\000e\000\000\000\000\000}\000}\000\000\000}\002\190\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\002\150\000\000\000]\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000]\000\000\000e\000e\000]\000e\000e\000e\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\002\142\000a\000]\000]\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000]\000\000\000]\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000\000\000]\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\002\142\000\000\000a\000a\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000a\000]\000\000\000\000\000]\000]\000]\000]\000\000\000\000\000a\000\000\000\000\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\002\150\000\000\000q\000\000\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\002~\000\000\000a\000a\000q\000a\000a\000a\000q\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\002\142\000i\002\158\000q\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\002\174\000\000\000q\000i\000\000\000\000\000\000\000i\000\000\000\000\000\000\000\000\000q\002\134\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\142\000\000\002\158\000i\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000i\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000i\000\000\000\000\000q\000q\000\000\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\002\150\000\000\000m\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\002~\000\000\000i\000i\000m\000i\000i\000i\000m\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\000\000\002\142\000u\002\158\000m\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\002~\002\174\000\000\000m\000u\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000m\002\134\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000u\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000u\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\000u\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000u\000u\000\000\000\000\002\150\000\000\002v\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\002~\000\000\000u\000u\000\133\000u\000u\000u\000\133\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\133\000\133\000\000\000\133\002\238\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\002\166\000\000\000\000\002\142\002v\002\158\000\133\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\002\174\000\000\000\133\000y\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\133\002\134\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000y\000\000\000\000\002\182\000\000\000\000\000\133\000\133\000\000\000\000\002\150\000\000\001\153\000\000\000\000\001\153\000\000\000\000\000\000\000\000\002\174\000\000\000y\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000y\001\153\000\000\000\133\000\133\001\153\002\246\002\190\000\133\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\001\153\000\000\001\153\001\153\000\000\000\000\000\000\002\182\000\000\000\000\000y\000y\001\153\000\000\002\150\001\153\002v\001\153\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\002~\001\153\000y\000y\000\129\000y\002\190\000y\000\129\000\000\000\000\000\000\000\000\001\153\002\134\000\000\000\000\000\129\000\129\000\000\000\129\002\238\000\000\000\000\011\146\000\000\000\129\000\000\000\000\000\000\002\166\000\000\004E\002\142\004E\002\158\000\129\004E\000\000\001\153\005\250\000\000\001\153\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\002\174\000\000\000\129\000\000\000\000\004E\004E\000\000\001\153\004E\004E\000\000\000\129\000\000\006\002\004E\000\000\004E\001\153\001\153\001\153\000\000\000\000\000\000\000\000\004E\004E\000\000\000\000\004E\004E\004E\000\000\004E\004E\000\000\004E\000\000\002\182\000\000\000\000\000\129\000\129\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\004E\004E\000\000\000\000\000\000\000\000\004E\000\129\000\000\004E\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\004E\000\129\000\129\000\000\000\129\002\190\000\129\000\000\004E\000\000\004E\001\166\004E\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\001\178\000\000\000\000\004E\000\000\000\000\004E\000\000\000\000\n\174\011\006\000\000\004E\011n\011\134\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\005\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\012\138\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\005\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\011\178\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\005\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\005i\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\003)\n\222\000j\003)\000r\000\000\000\130\003)\000\000\003)\000\000\000\000\000\000\000\138\003)\003)\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\146\003)\006\005\000\000\011\142\003)\011\170\000\000\000\000\000\000\000\000\003%\000\000\000\182\003%\000\190\n\246\000\206\003%\000\000\003%\003)\n\250\000\000\000\214\003%\003%\000\000\001\189\000\000\000\000\n\254\000\000\003)\000\162\000\000\000\000\002\"\000\000\000\000\000\000\003)\000\000\000\000\000\000\003)\003)\000\000\000\000\000\000\000\000\000\222\003%\000\000\000\000\003)\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003)\000\000\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\003)\000\000\000\000\000\000\000\000\003)\000\000\000\000\000\000\003%\000\238\000\000\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\000\000\003%\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\000\000\000\000\003)\000\000\000\000\003)\003)\003%\000\000\003)\000\000\000\000\000\000\000\000\003)\003)\000\000\003%\000\000\003)\000\000\000\000\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\000\000\000\000\n\170\000\000\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\178\000\000\003%\003%\000\000\000\000\003%\000\000\000\000\n\174\011\006\003%\003%\011n\011\134\000\000\003%\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\n\242\001\161\000\000\000\000\000\000\001\161\000\000\000\000\006\005\000\000\000\000\001\161\011\170\000\000\001\161\001\161\000\000\001\161\001\161\000\000\000\000\000\000\n\246\001\161\000\000\000\000\000\000\001\161\n\250\000\000\001\161\000\000\001\161\001\161\001\201\000\000\000\000\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\005\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\001\161\000\000\005\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\005\213\000\000\005\213\ne\ne\000\000\000\000\000\000\000\000\005\213\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\005\213\000\000\000\000\000\000\001\161\014\014\005\213\001\161\000\000\000\000\000\000\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ne\000\000\005\213\000Z\000\000\000\000\000\000\001\161\000\000\001\161\000\000\000\000\000\000\000\000\000\000\014\022\001\161\001\161\000\000\001\161\001\161\001\161\000\000\000\000\000\000\ne\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\213\000\000\000\000\000\000\000\000\005\213\005\213\005\213\000\000\005\213\005\213\000\000\005\213\000\000\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\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\005\213\000\000\000\000\000\000\005\213\005\213\ne\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\001\166\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\014\206\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\001N\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\n\162\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\001^\000\000\000\000\000\000\001\226\001\230\001j\011\154\001\234\001\238\001\242\000\000\001\246\001\250\001b\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\254\000\000\000\000\000\000\n\134\002\002\000\000\000\000\000\000\000\000\002\006\000\000\021\002\000\n\000\000\000\000\000\000\000\000\000\000\023:\000\000\021\006\002\014\021\n\n\185\n\185\000\000\000\000\000\000\000\n\021\014\000\000\002\018\008\129\000\000\021\018\000\000\000\000\021\026\000\000\001\137\000\000\021\030\001\137\002\022\000\000\000\000\000\000\021\"\000\000\002\026\000\000\000\000\008\129\000\000\008\129\000\000\005\253\n\138\002\030\000\000\001\137\n\185\000\000\021&\002\"\000\000\005\253\000\000\001\137\000\000\000\000\005\253\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\001\137\001\137\000\000\000\000\000\000\000\000\n\185\000\000\021*\000\000\001\137\021.\000\000\001\137\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\0216\000\n\021:\000\000\021>\021B\000\000\021F\001\137\000\000\001\137\000\000\000\000\021J\000\000\000\000\021N\013\249\000\000\000\000\013\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021R\000\000\000\000\000\000\021V\021Z\n\185\013\249\000\000\000\000\000\000\013\249\000\000\000\000\005\170\001\137\002N\000\000\001\137\001\137\000\000\013\249\001\137\000\000\000\000\013\249\000\000\013\249\013\249\000\000\000\000\005\178\000\000\000\000\005\190\001\137\000\000\013\249\001\137\001\137\013\249\001\137\013\249\000\000\000\000\000\000\003\n\001\137\001\137\000\000\001\137\001\137\001\137\000\000\t~\005\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\249\t\190\005\213\000\000\005\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\249\005\213\005\213\005\213\000\000\000\000\000\000\005\202\000\000\000\000\005\213\005\213\000\000\005\213\000\000\005\213\000\000\000\000\005\213\000\000\005\213\000\000\005\213\000\000\000\000\005\213\013\249\013\249\005\213\013\249\000\000\005\206\005\213\013\249\000\000\000\000\000\000\000\000\005\213\005\213\n>\005\214\000\000\000\000\005\213\000Z\000\000\000\000\000\000\005\213\000\000\013\249\000\000\000\000\005\213\000Z\000\000\013\249\000\000\005\213\000\000\013\249\013\249\013\249\000\000\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\000\000\005\213\000\000\000\000\000\000\000\000\005\213\005\213\005\213\000\000\005\213\005\213\000\000\005\213\000\000\000\000\005\213\005\213\005\213\005\213\005\213\005\213\005\213\005\213\014B\000\000\000\000\014\146\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\000\000\014J\000\000\005\213\000\000\002\025\000\000\005\213\005\213\002\025\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\002\025\002\025\000\000\014\162\014\170\000\000\000\000\000\000\001%\002\025\000\000\001%\000\000\014r\000\000\000\000\014Z\000\000\014j\002\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014J\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\014z\000\000\002\025\000\000\014R\000\000\000\000\001%\001%\000\000\001%\001%\002\025\000\000\000\000\000\000\001%\000\000\000\000\000\000\014r\000\000\000\000\014Z\000\000\014j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\000\000\000\000\002\025\000\000\000\000\000\000\014b\014z\001\013\001%\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\002\025\000\000\002\025\000\000\000\000\000\000\000\000\001\013\000\000\002\025\002\025\001\013\014\178\014\138\002\025\001\013\000\000\000\000\000\000\000\000\000\000\014R\000\000\014\130\001\013\001\013\001%\001\013\001\013\000\000\014b\000\000\001\005\001\013\000\000\001\005\000\000\001\013\000\000\000\000\014Z\000\000\014j\001\013\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\001\005\000\000\001%\001%\001\005\001%\014\138\001%\001\005\000\000\001\013\000\000\001\013\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\001\013\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\000\014Z\000\000\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\014b\001\005\001\t\001\005\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\001\013\000\000\001\013\000\000\000\000\000\000\000\000\001\t\000\000\001\013\001\013\001\t\001\013\001\013\001\013\001\t\000\000\000\000\000\000\000\000\000\000\001\t\000\000\001\005\001\t\001\t\001\005\001\t\001\t\000\000\014b\000\000\001\025\001\t\000\000\001\025\000\000\001\t\000\000\000\000\014Z\000\000\001\t\001\t\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\014J\000\000\001\005\001\005\001\025\001\005\001\005\001\005\001\025\000\000\001\t\000\000\001\t\000\000\014R\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\t\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\014Z\000\000\014j\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\014b\014z\001\017\001\025\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\t\000\000\001\t\000\000\000\000\000\000\000\000\014J\000\000\001\t\001\t\001\017\001\t\001\t\001\t\001\017\000\000\000\000\000\000\000\000\000\000\014R\000\000\001\025\001\017\001\017\001\025\001\017\001\017\000\000\014b\000\000\001\021\001\017\000\000\001\021\000\000\001\017\000\000\000\000\014Z\000\000\014j\001\017\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\014J\000\000\001\025\001\025\001\021\001\025\001\025\001\025\001\021\000\000\001\017\000\000\001\017\000\000\014R\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\017\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\014Z\000\000\014j\001\021\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\001\017\000\000\000\000\000\000\014b\014z\001\029\001\021\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\014J\000\000\001\017\001\017\001\029\001\017\001\017\001\017\001\029\000\000\000\000\000\000\000\000\000\000\014R\000\000\001\021\001\029\001\029\001\021\001\029\001\029\000\000\014b\000\000\014B\001\029\000\000\001-\000\000\014r\000\000\000\000\014Z\000\000\014j\001\029\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\014J\000\000\001\021\001\021\001-\001\021\001\021\001\021\001-\000\000\014z\000\000\001\029\000\000\014R\000\000\000\000\001-\001-\000\000\001-\014\170\001\029\000\000\000\000\000\000\001-\000\000\000\000\000\000\014r\000\000\000\000\014Z\000\000\014j\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\000\000\000\000\001\029\000\000\000\000\000\000\014b\014z\014B\001-\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\014J\000\000\001\029\001\029\001!\001\029\001\029\001\029\001!\000\000\000\000\000\000\000\000\000\000\014R\000\000\014\130\001!\001!\001-\001!\001!\000\000\014b\000\000\014B\001!\000\000\001)\000\000\014r\000\000\000\000\014Z\000\000\014j\001!\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\014J\000\000\001-\001-\001)\014\178\014\138\001-\001)\000\000\014z\000\000\001!\000\000\014R\000\000\000\000\001)\001)\000\000\001)\014\170\001!\000\000\000\000\000\000\001)\000\000\000\000\000\000\014r\000\000\000\000\014Z\000\000\014j\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\000\000\000\000\001!\000\000\000\000\000\000\014b\014z\000\000\001)\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\001!\000\000\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\014\138\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\014\130\001\170\000\000\001)\001\174\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\008\129\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\001)\000\000\001)\000\000\000\000\001\198\001\202\000\000\001\210\001)\001)\000\000\001)\014\138\001)\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\001\166\001\254\001\170\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018f\000\000\000\000\002\002\000\000\000\000\001\178\000\000\002\006\001\182\000\000\000\n\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\002\014\000\000\000\000\000\000\000\000\001\218\020\254\001\222\000\000\000\000\002\018\000\000\000\000\000\000\000\000\001\226\001\230\000\000\021\002\001\234\001\238\001\242\002\022\001\246\001\250\000\000\001\254\021\006\002\026\021\n\000\000\000\000\000\000\000\000\000\000\000\000\021\014\002\030\000\000\000\000\000\000\021\018\002\002\002\"\021\026\000\000\000\000\002\006\021\030\000\000\000\n\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000\000\023z\000\000\000\000\n\141\002\018\021&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\n\141\000\000\021*\002\030\000\000\021.\000\000\000\000\000\000\002\"\000\000\001\166\000\000\001\170\000\000\000\000\001\174\0212\000\000\000\000\000\000\000\000\0216\000\n\021:\000\000\021>\021B\000\000\021F\000\000\001\178\000\000\000\000\001\182\021J\000\000\000\000\021N\000\000\001\198\0076\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\021R\000\000\000\000\000\000\021V\021Z\n\141\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\001\166\001\254\001\170\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\001\178\000\000\002\006\001\182\000\000\000\n\000\000\000\000\000\000\001\198\002\n\000\000\001\210\000\000\002\014\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\002\018\000\000\000\000\000\000\000\000\001\226\001\230\006\030\000\000\001\234\001\238\001\242\002\022\001\246\001\250\004=\001\254\004=\002\026\000\000\004=\000\000\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\000\000\002\002\002\"\000\000\004=\000\000\002\006\004=\000\000\000\n\000\000\000\000\000\000\004=\004=\000\000\004=\000\000\002\014\000\000\000\000\000\000\000\000\004=\020\254\004=\000\000\000\000\002\018\000\000\000\000\000\000\000\000\004=\004=\000\000\021\002\004=\004=\004=\002\022\004=\004=\000\000\004=\021\006\002\026\021\n\000\000\000\000\000\000\000\000\000\000\000\000\021\014\002\030\000\000\000\000\000\000\021\018\004=\002\"\021\026\000\000\000\000\004=\021\030\000\000\004=\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\004=\000\000\000\000\000\000\000\000\000\000\022v\000\000\000\000\005\213\000\000\021&\005\213\000v\000\000\000\000\005\213\000\000\005\213\000\000\000\000\000\000\004=\005\213\005\213\000\000\000\000\000\000\004=\000\000\000\000\000\000\000\000\000\000\n\141\005\213\021*\004=\005\213\021.\000\000\000\000\005\213\004=\005\213\000\000\000\000\000\000\000\000\005\213\005\213\0212\000\000\000\000\005\213\000\000\0216\000\n\021:\000\000\021>\021B\000\000\021F\000\000\000\000\000\000\005\213\000\000\021J\005\213\000\194\021N\000\000\005\213\000\000\005\213\005\213\001\002\000Z\005\213\005\213\005\213\005\213\000\000\000\000\000\000\021R\005\213\005\213\005\213\021V\021Z\n\141\005\213\005\213\005\213\000\000\000\000\000\000\001f\000\000\000\000\000\000\005\213\000Z\000\000\000\000\005\213\000\000\000\000\000\000\005\213\000\000\005\213\005\213\005\213\000\000\000\000\005\213\005\213\005\213\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\005\213\000\000\004\030\000\000\000\000\005\213\000\000\000Z\000\000\004\242\005\213\000\000\000\000\000\000\000Z\000\000\000\000\005\213\005\213\000\000\005\213\000\000\005\213\005\213\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\005\213\005\213\005\213\000\000\000\000\005\213\000\000\005\213\000\000\000\000\005\213\005\213\000\000\000\000\000\000\005\213\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\005\213\005\213\000\000\000\000\005\213\005\213\000\000\000\000\000\000\005\213\005\213\000\000\000\000\000\000\005\213\001\166\000\000\001\186\000\000\000\000\001\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\005\213\000\000\001\178\005\213\000\000\001\182\005\213\005\213\005\213\005\213\005\213\001\194\001\214\005\213\001\210\005\213\005\213\000\000\000\000\000\000\005\213\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\001\166\005z\001\186\000\000\000\000\001\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005~\000\000\000\000\001\178\000\000\005\130\001\182\000\000\000\n\000\000\000\000\000\000\001\194\007\030\000\000\001\210\005\213\005\138\000\000\005\213\003F\000\000\001\218\005\213\001\222\005\213\000\000\000\000\000\000\000\000\005\213\005\213\005j\001\230\000\000\000\000\005n\001\238\001\242\005\142\005r\005v\000\000\005z\000\000\005\146\000\000\000\000\005\213\000\000\000\000\005\213\003\138\000\000\005\150\005\213\000\000\005\213\000\000\005~\002\"\005\213\005\213\005\213\005\130\005\213\000\000\000\n\005\213\003\202\000\000\000\000\005\213\000\000\005\213\000\000\005\138\005\213\000\000\005\213\005\213\007f\000\000\000\000\000\000\000\000\000Z\000\000\000\000\005\213\000\000\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\142\000\000\000\000\005\213\005\213\000\000\005\146\000\000\005\213\000\000\000\000\005\213\005\213\005\213\000\000\005\150\000\000\000\000\000\000\000\000\000Z\002\"\000\000\005\213\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\000\000\005\213\000\000\005\213\005\213\000Z\005\213\000\000\005\213\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\005\213\000\000\000\000\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\005\213\005\213\000\000\000\000\005\213\000\000\000\000\000\000\000\000\005\213\005\213\000\000\000\000\000\000\005\213\005\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\001\186\000\000\005\213\001\190\000\000\005\213\005\213\000\000\000\000\005\213\000\000\000\000\000\000\000\000\005\213\005\213\000\000\000\000\001\178\005\213\000\000\001\182\005\213\005\213\000\000\000\000\005\213\001\194\005\134\000\000\001\210\005\213\005\213\000\000\000\000\000\000\005\213\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\000\000\000\000\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\000\000\000\000\000\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\005\138\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\025*\001\022\nZ\001\030\0012\001:\001>\n^\025.\000\000\000\000\000\000\000\000\005\142\000\000\000\000\001\166\000\000\n\166\005\146\001F\n\170\000\000\000\000\000\000\000\000\000\000\000\000\005\150\000\000\000\000\000\000\000\000\001N\002\"\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\n\186\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001\218\000\000\001\222\000\000\001j\000\000\000\000\000\000\000\000\000\000\n\206\001\230\001b\000\000\n\210\001\238\001\242\000\000\n\214\n\218\001\166\n\222\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\001\178\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\n\174\n\238\000\000\000\000\000\n\n\242\000\000\000\000\000\000\004\141\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\001n\n\210\001\238\001\242\n\246\n\214\n\218\001\166\n\222\n\166\n\250\000\000\n\170\000\000\000\000\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\n\226\n\230\002\"\000\000\001\178\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\n\174\011\006\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\001\238\001\242\n\246\n\214\n\218\001\166\n\222\013^\n\250\000\000\013b\000\000\000\000\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\n\226\n\230\002\"\000\000\001\178\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\013f\014\186\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\000\000\013\130\001\238\001\242\n\246\013\134\013\138\001\166\013\142\013^\n\250\000\000\013b\000\000\000\000\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\n\226\013\146\002\"\000\000\001\178\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\013f\013j\000\000\000\000\000\000\013\158\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\000\000\013\130\001\238\001\242\013\162\013\134\013\138\001\166\013\142\013^\013\166\000\000\013b\000\000\000\000\000\000\000\000\000\000\000\000\013\170\000\000\000\000\000\000\n\226\013\146\002\"\000\000\001\178\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\013f\013\154\000\000\000\000\000\000\013\158\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\000\000\013\130\001\238\001\242\013\162\013\134\013\138\000\000\013\142\000\000\013\166\000\000\000\000\000\000\000\000\000\000\008y\000\000\000\000\013\170\000\000\000\000\000\000\n\226\013\146\002\"\000\000\000\000\008y\013\150\000\000\000\000\000\n\000\000\000\000\000\000\000\000\008y\000\000\008y\000\000\013\158\000\000\000\000\000\000\000\000\008y\000\000\000\000\000\000\000\000\008y\000\000\023v\008y\000\000\000\000\000\000\008y\021\210\000\000\000\000\000\000\013\162\008y\021\002\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\000\013\170\000\000\008y\000\000\000\000\021\014\002\"\000\000\000\000\000\000\021\018\000\000\000\000\021\026\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\008y\000\000\000\000\008y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021&\023\150\000\000\008y\000\000\000\000\000\000\000\000\008y\008y\008y\000\000\008y\008y\000\000\008y\000\000\000\000\000\000\000\000\000\000\008y\000\000\000\000\008y\021*\000\000\000\000\021.\000\000\007\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008y\0212\000\000\007\237\008y\008y\0216\000\n\021:\000\000\021>\021B\007\237\021F\007\237\000\000\000\000\000\000\000\000\021J\000\000\007\237\021N\000\000\000\000\000\000\007\237\000\000\020\254\007\237\000\000\000\000\000\000\007\237\000\000\000\000\000\000\021R\000\000\007\237\021\002\021V\021Z\000\000\000\000\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\000\000\000\000\000\007\237\023\150\000\000\021\014\000\000\000\000\000\000\000\000\021\018\000\000\000\000\021\026\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\007\237\000\000\000\000\007\237\000\000\000\000\000\000\024\170\000\000\000\000\000\000\000\000\021&\000\000\000\000\007\237\000\000\000\000\000\000\000\000\007\237\007\237\007\237\000\000\007\237\007\237\000\000\007\237\000\000\000\000\000\000\000\000\000\000\007\237\000\000\000\000\007\237\021*\000\000\000\000\021.\000\000\022Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\237\0212\000\000\021\002\007\237\007\237\0216\000\n\021:\000\000\021>\021B\021\006\021F\021\n\000\000\000\000\000\000\000\000\021J\000\000\021\014\021N\000\000\000\000\000\000\021\018\000\000\022r\021\026\000\000\000\000\000\000\021\030\000\000\000\000\000\000\021R\000\000\021\"\021\002\021V\021Z\000\000\000\000\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\161\000\000\000\000\021&\000\000\000\000\021\014\000\000\000\000\000\000\000\000\021\018\000\000\000\000\021\026\000\000\000\000\000\000\021\030\000\000\000\000\011\234\000\000\000\000\021\"\000\000\000\000\000\000\021*\000\000\000\000\021.\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\021&\000\161\000\161\0212\000\000\000\000\000\000\000\000\0216\000\n\021:\000\161\021>\021B\011\250\021F\012\n\000\000\000\000\000\000\000\000\021J\000\000\000\000\021N\021*\000\000\000\000\021.\000\000\020\254\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\021R\0212\000\000\021\002\021V\021Z\0216\000\n\021:\000\000\021>\021B\021\006\021F\021\n\000\000\000\000\000\000\000\000\021J\000\000\021\014\021N\000\000\000\000\000\000\021\018\000\000\020\254\021\026\000\000\000\000\000\000\021\030\000\000\000\000\000\161\021R\000\000\021\"\021\002\021V\021Z\012\002\000\000\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\000\000\000\000\000\023\022\000\161\000\000\021\014\000\000\000\000\000\000\000\000\021\018\000\000\000\000\021\026\000\000\000\165\000\000\021\030\000\161\000\161\000\000\000\000\000\000\021\"\000\000\000\000\000\000\021*\000\000\000\000\021.\000\000\020\254\000\000\000\000\000\000\011\234\000\000\000\000\024B\000\000\000\000\0212\000\000\021\002\000\000\000\000\0216\000\n\021:\011\242\021>\021B\021\006\021F\021\n\000\165\000\165\000\000\000\000\021J\000\000\021\014\021N\021*\000\000\000\165\021.\000\000\011\250\021\026\012\n\000\000\000\000\021\030\000\000\000\000\000\000\021R\0212\021\"\000\000\021V\021Z\0216\000\n\021:\000\000\021>\021B\000\000\021F\012\026\000\000\000\000\000\000\021&\021J\000\000\000\000\021N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021R\000\000\000\000\000\000\021V\021Z\021*\000\000\000\000\021.\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\000\000\000\000\000\000\000\0212\012\002\000\000\000\000\000\000\0216\024b\021:\000\000\021>\021B\000\000\021F\000\000\000\165\000\000\000\000\000\000\021J\000\000\000\000\021N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\021R\000\000\000\000\000\000\021V\021Z\004M\004M\004M\004M\000\000\004M\000\000\004M\004M\000\000\004M\000\000\004M\000\000\004M\000\000\004M\004M\004M\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001r\000\000\000\000\000\000\004M\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\004M\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\004M\000\254\001F\001\014\000\000\001\022\004M\001\030\0012\001:\001>\000\000\000\000\000\000\004M\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\001^\000\254\001N\001\014\000\000\001\022\001j\001\030\0012\001:\001>\000\000\000\000\000\000\001b\000\000\000\000\000\000\000\000\000\000\004M\000\000\001^\000\000\001F\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\001^\000\000\000\000\000\000\000\000\000\000\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\001n\004R\004V\000\n\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\001n\001\022\012Q\001\030\0012\001:\001>\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\001F\001\014\000\000\001\022\0021\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\001N\000\000\004Z\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001N\003U\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\000\000\025\230\004V\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\001b\000\000\000\000\000\000\004R\004V\000R\000V\000f\000\170\000\000\000\174\006R\000\178\000\246\006\162\000\254\000\000\001\014\000\n\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\002\017\025\234\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\017\001N\006\178\006\186\000\000\000\000\000\000\000\237\003M\004b\000\237\002)\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\000\001^\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\213\000\237\000\000\000\213\001b\000\000\000\000\006\138\025\230\004V\000\000\006b\000\000\000\000\000\000\000\237\000\000\000\237\000\237\002\017\000\000\000\213\000\000\000\000\000\000\000\213\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\173\006b\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\006\146\000\000\000\000\002\017\000\000\000\000\000\213\006r\006\138\006j\011\234\006z\000\000\000\205\000\000\000\000\000\205\000\000\000\000\025\242\000\237\000\000\000\000\000\000\011\242\002\017\000\000\000\000\000\000\000\000\000\173\000\173\000\213\000\000\000\205\006\194\006\154\002\017\000\205\000\000\012\018\000\000\000\000\011\250\000\213\012\n\006\146\000\000\000\205\000\237\000\000\000\000\000\205\006r\000\205\000\205\000\000\000\000\000\000\000\209\000\000\000\000\000\209\000\000\000\205\000\000\012\026\006j\000\000\000\205\000\213\000\237\000\000\000\213\000\000\000\000\000\000\006r\000\000\000\000\000\209\000\237\006\154\000\237\000\209\000\000\000\000\000\000\000\000\000\000\000\205\011\226\000\000\000\000\000\209\000\213\000\000\000\000\000\209\000\000\000\209\000\209\000\205\000\000\012\"\000\213\000\213\000\213\000\000\000\000\000\209\012\002\011\234\006j\000\000\000\209\000\225\000\000\000\000\000\225\000\000\000\000\000\000\000\000\000\173\000\000\011\242\000\000\000\205\000\000\000\000\000\205\000\189\012:\000\000\006r\000\209\006Z\000\000\000\173\000\173\000\225\012\018\000\000\000\000\011\250\000\000\012\n\000\209\000\000\000\000\006b\000\000\000\205\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\205\000\205\000\205\000\000\000\225\012\026\000\000\006j\000\000\006z\000\217\000\209\000\000\000\217\000\209\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\138\006Z\000\000\000\000\000\000\000\217\000\209\000\000\000\000\000\000\000\000\000\000\000\225\012\"\000\000\006b\000\209\000\209\000\209\000\217\012\002\000\217\000\217\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\217\000\000\000\189\006j\000\000\006z\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\006r\000\000\006Z\012B\012*\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\217\011\226\000\000\000\000\006b\000\000\000\225\000\000\000\221\000\000\000\221\000\221\000\217\000\000\000\000\000\000\000\225\000\225\000\225\000\000\000\221\000\000\011\234\006j\000\000\006z\000\229\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\217\000\000\000\000\000\217\000\177\000\177\000\000\006r\006\138\006Z\000\000\000\000\000\000\000\229\012\018\000\000\000\000\011\250\000\000\012\n\000\221\000\000\000\000\006b\000\000\000\217\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\217\000\217\000\217\000\000\006\130\012\026\000\000\006j\000\000\006z\006R\000\221\000\000\000\245\000\221\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\138\006Z\000\000\000\000\000\000\000\245\000\221\000\000\000\000\000\000\000\000\000\000\000\229\012\"\000\000\006b\000\221\000\221\000\221\000\245\012\002\000\245\006\186\000\000\000\000\000\000\006R\000\000\000\000\000\233\000\000\006\130\000\000\000\177\006j\000\000\006z\000\000\006\146\000\000\000\000\000\229\000\000\000\000\000\000\006r\000\000\006Z\000\177\012*\000\000\000\233\000\000\000\000\000\000\000\000\000\000\006\138\000\000\000\000\000\000\006b\000\000\000\229\000\000\000\233\000\000\000\233\000\233\000\245\000\000\000\000\000\000\000\229\000\229\000\229\000\000\006\130\000\000\000\000\006j\000\000\006z\006R\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\146\000\000\000\000\000\245\000\000\000\000\000\000\006r\006\138\006Z\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\013\221\006b\000\000\000\245\000\000\000\241\000\000\000\241\006\186\000\000\000\000\000\000\000\000\006\194\006\154\000\245\000\000\006\130\000\000\000\000\006j\013\221\006z\000\000\006\146\000\000\000\000\000\233\011\030\000\000\000\000\006r\000\000\000\000\000\000\013\221\000\000\000\000\000\000\000\000\000\000\013\221\013\221\006\138\011\226\011&\000\000\000\000\0112\000\233\000\000\013\221\000\000\000\000\013\221\000\241\013\221\000\000\000\000\000\233\006\154\000\233\000\000\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\221\000\000\011\242\000\000\006\146\000\000\000\000\000\241\000\185\012:\000\000\006r\000\000\000\000\000\000\000\000\000\000\000\000\012\018\011>\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\221\000\241\006\154\000\241\000\000\011B\012\026\013\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011J\000\000\000\000\000\000\000\000\013\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\013\221\013\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\012*")) + ((16, "\000\136\000\197\000\000\000\000\000\230\000\197\000\000\000\000\000;\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\136\000\000\000\240\024*\000\000\018\202\018\202\000\000\000\000+|\018\202\000\000=J\018\202\000\000\000\000\018\202\000\000\018\202\000\000\000\003\000,\018\202\000\000\018\202\000\000\000\000\000\000+\236\018\202\000\000=\134\018\202\000\000\000\000\018\202\000\000\018\202\000\000\000\020\000N\018\202\000\000\018\202\000\000\018\202\000\000=\190\018\202\000\000\000\000\018\202\000\000\018\202\000\000\000\131\000\000\000\000\018\202\000\000\018\202\000\000\000\000\018\202\000\000\018\202\000\000\000p\000\156\018\202\000\000\024*1\014A\200\000\000I\236\001&,\250\001RA\200\000\000\000\198\018\202\000\000J2\000\000\000\131\003N/\144\000\000\000\000;\016\000\000>\148\000\000>\232/\144/\144\020*\020*>\148\020*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\156/\144\000\000\000\000;\156\000\000;\156\000\000/\144\000\000\000\000\000\000\023z\000\131\000\000\020*\000\000,J/\144\028>/\144\000\000\000\000\000\000\000\000\000\000\000\000\031\184/\144 \178/\144!\012/\144\"\006/\144\000\000/\144\000\000/\144\"`/\144#Z/\144#\180/\144$\174/\144%\008/\144\0018/\144\000\000\000\000\000\000\000\000\000\000/\144&\002/\144&\\/\144'V/\144\000\000\000\000/\144\000\000\000\000\001\166\000\000\000\000\000\000\000\000\021\156\018\202\000\000\001\142\018\202\000\000=\204\018\202\000\000\000\000\018\202\000\000\018\202\000\000\001\210\002\002\018\202\000\000\018\202\000\000\003x\018\202\000\000?\176\018\202\000\000\000\000\018\202\000\000\018\202\000\000\002\004\002p\018\202\000\000\018\202\000\000\018\202\000\000?\204\018\202\000\000\000\000\018\202\000\000\018\202\000\000\000\131\018\202\000\000\018\202\000\000\018\202\000\000\018\202\000\000\002h\002\198\018\202\000\000=\190A\200\002\140\018\202\000\000J\242J^\000\000\002r\003Z\000\131\002\180\003\208\029\228\000\000\000\000\000\247K\160\000\000\000\000\000\000\000\000\0010\003\206\000Q\0042\029\228\000\141\029\228\000\000\000\000\003\128\000\000\003\174\004\168\029\228\003\246\000\000\000\000\000\000\000\247\000\000\004\014\005\n\000\000\005D\000\000\021\156\001\164A\200\004\150\018\202\000\000=\204A\200\004\218\018\202\000\000\000\000\000\131\005\202\000\000\000\000\000\000\001*\020*\000\000/\144\005\028\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\0056\000\000\000\000\005v\000\000\005z>\148\000\000\000\000\000\000\000\000\000\000\000\000@\202/\144\000\000@\202\000\000@\202>\148\000\000\000\000A\024\000\131\000\000\020*\005\136\000\000/\144\005\200\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\006/\144\000\000/\144\000\000\000\000\005\216\000\000\000\013<(\006\144/\144\006j\000\000\000\000>\148\000\013\000\000\000\000\000\000\000\000\000\000:\192>\148L*>\148L`>\148L\164>\148\000\000>\148\000\000>\148M\022>\148M`>\148M\164>\148M\238>\148N2/\144\006B>\148\000\000>\148N|>\148N\192>\148O\n\006N\000\000\006d\000\000\000b/\144\000\000\000b\000\000\000\000\000\152\024*\000\000\000\152\000\000\000\000\006h/\144\000\000\006l\000\000\020*\006l\000\000\000\000\0078\000\000\020*\006p\000\000\000\000\006n\000\000\000\000\003N\000\000\007V\000\000?\176A\200\006z\018\202\000\000\000\000\006\252\000\000\006\138\018\202\000\000\000\000\000v\024*\000\000\024*\000\000\006\136\000\000\000v\000\000\016~\027\142\018\186\000\000\003\186\018\186\000\000\018\186\018\186\000\000\000\000\018\186\000\000\018\186\000\000\006\202\006\246\018\186\000\000\018\186\000\000\005\174\018\186\000\000\018\202\018\186\000\000\000\000\018\186\000\000\018\186\000\000\006\206\006\252\018\186\000\000\018\186\000\000\018\186\000\000\018\206\018\186\000\000\000\000\018\186\000\000\018\186\000\000\000\131\018\186\000\000\018\186\000\000\018\186\000\000\018\186\000\000\006\212\007\000\018\186\000\000\024*\006\184\000\000\018\186A\200\006\178\018\186\000\000\000\000\000\166\000\000\002\022\000\166\000\000\000\000\000\000\007\154\000\000\002\158A\200\006\186\018\186\000\000\018\202A\200\006\196\018\186\000\000\000\000\026\140\018\186\000\000\006\000\018\186\000\000\018\216\018\186\000\000\000\000\018\186\000\000\018\186\000\000\006\244\007\"\018\186\000\000\018\186\000\000\006|\018\186\000\0001\018\018\186\000\000\000\000\018\186\000\000\018\186\000\000\006\250\007&\018\186\000\000\018\186\000\000\018\186\000\0001F\018\186\000\000\000\000\018\186\000\000\018\186\000\000\000\131\018\186\000\000\018\186\000\000\018\186\000\000\018\186\000\000\007\004\0070\018\186\000\000\018\206A\200\006\220\018\186\000\000\000\000\004\016A\200\006\226\018\186\000\0001\018A\200\006\230\018\186\000\000\000\000\000\000\000\000\000\000\000\000\007\176/\144\006\244\021\156\007\206/\144\007\020\007\222/\176\000\000\000\000,\250\000\131\000\000\0024/\144(t\000\000A\202/\144\007,\000\000\020*\007,\000\000\0070\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000BV/\144\000\000BV\000\000BVB\170\020*\0072B\170\000\000\000\000K\254\000\131\000\000\020*\0074\000\000/\144\0076\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000/\144\001\234/\144\007:\000\000\000\000)*\025\220'\162\007\242/\144\000\000\007\188\000\000\000\000\000\131\000\000\000\000\024\218\007~ \004\000\000\007z \004\000\000\002\162\000\000\000\000+RB\170B\254B\170ONB\170O\152B\170\000\000B\170\000\000B\170O\188B\170P B\170PjB\170P\160B\170P\210B\170P\246B\170QLB\170Q\162\000\000\007V\000\000\007f)\224\000\000*\150\007h*\150-&\007j*\150\000\000\000\000\000\000\000\000\000\000\007^\000\000\008D\000\000\000\131\000\000\0024\008F\000\000\001~\008\022\000\131\007p\0084\029\228\007|\002\212\000\000/\144\008`\000\000\007R\007T\008D\029\228\007\138\008j\000\000\003`/\144\008l\000\000\008r\000\000\021\156\000\131\003v/\144\008v\000\000\008~\000\000\000\131\003\148/\144\008\128\000\000\008\130\000\000\000Q\007\212\006\222\000\000C6C\138\020*\007\180\000\000\007\190C\138\000\000\000\000\000\000\000\000\000\000\000\000D\022/\144\000\000D\022\000\000D\022C\138\000\000\000\000\026\222\000\131\000\000\020*\007\192\000\000/\144\007\192\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000-\208/\144\000\000/\144\000\000\007\202\000\000\000b\000\000\000\000\000\000\000\000\000\0002\018C\1382BC\1383LC\1383|C\138\000\000C\138\000\000C\1384\134C\1384\182C\1385\192C\1385\240C\1386\250/\144\007\242C\138\000\000C\1387*C\13884C\1388d\020*\007\204\000\000\000\000/\144\000\000\008\172\000\000\001^\008\130/\144\008N\000\000\008\136/\144\008R\000\000\004\030\000\000\006\222\006\222\001^\000\000\001^\000\000\016~\006\222\006\222\000\000\000\000\000\000\000\000\000\000\000\000\008\160/\144\007\236\021\156\022\138\000\131\008\206\000\000\008\1809^\008\2149^\008\216/\144\008\n\021\156\021\156\000\131\002`\003\228\000\000\000\000\000\000\002`\000\000\003\020\000\131\000\000\000\000\008\012\000\000\000\000\000\000\008\236\000\000\008\238\000\000\000\000\t&\008\214/\144\008\028\t\004\000\000\008\232\020*\008.\021\156\000\000\000\000\008Z\000\000\000#\000\000\005~\000\000\001^\000\000\008\174\000\000\012^\000M\000\000\012^\000\000\000\000\024\218\000\000\002\174\000\000\000\000\t\158\000\000\012^\000\000\008\244\020*\008:\t\026\000\000\000%\000\000\008\234\000\131\008B\t\002\029\228\008H\002\216\000\000/\144\t*\000\000\t\012\029\228\008R\t2\000\000\004~/\144\tN\000\000\tR\000\000\021\156\000\131\004\214/\144\tb\000\000\td\000\000\000\000\000\000\t\158\000\000\000\000\000#\000\000\006\222\000\000\000%\000\000\000\000\003\228\022\138\000\000\003\228\000\000\000\000\008\138\000\000\000\174\000\003\021\156\000\000\004\030\000O\004\030\000\000\000#\000\000\006\222\000\000\006\222\000\000\000\000\000\000\008\132\000\000\000\000\008\142\000\000\003\240\005~\002\026\004\030\000\000\000\000\000\000\002\026\000\000\006\222\000\000\003\240\000\000\000\000\001\178\000\015\016~\000\000\000\015\000\000\008>\016~\000\000\000\000\008>\000\000\000\000\008\142\000\000\000\000\008\148\000\000\004\002\006\222\000\000\004\002\000\000\000\000\t\014\000\000\000#\000\000\006\222\000\000\000\000\000\000\017\2109\178\000\000\tv\000\000\017\210\tx\000\000\t|\000\000,\250\000\131\005\018\000\000/\144\t\136\000\000\004B\tX\000\131\008\176\tp\029\228\008\180\005\148\000\000/\144\t\154\000\000\005\152\000\000/\144\t\156\000\000\021\156\000\131\006P\000\000/\144\t\158\000\000\004\164\017\210\000\000\024\218\006^\000\000/\144\t\160\000\000\000\000\000\000\001\192\000\000\t\130\020*\008\198\t\166\000\000\005\210\000\000\tv\000\131\008\206\t\142\029\228\008\212\006\142\000\000/\144\t\180\000\000\006\168\000\000/\144\t\182\000\000\021\156\000\131\006\224\000\000/\144\t\184\000\000\004\164\000\000\000\000\008\222\000\000\001\192\005\210\t\\\000\000\000\000\000\000\t`\000\000\000P\000\174\000\000\016~\t\182\000\000\000\000/\144\t\024\006\222\000\000\008\238\000\000\000Q\000\000/\176\000\000\000\000\000x\016~\000\000\016~\000\000\008\222\000\000\000x\000\000/\144\002&/\144\000\000/\144\000\000\008\230\000\000\002&\000\000/\144\002&\008\232\000\000\021\156\002\240\021\156\000\000\021\156\000\000\008\234\000\000\002\240\000\000/\144\002&\008\242\000\000,\250\003\152,\250\000\000,\250\000\000\008\250\000\000\003\152\000\000/\144\002&\t\004\000\000\000\000\024\218\000\000\000\000\tr0T\000\000\000\000\000\000\000\000\000\000\tH\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e0T\000\000\004*\005\156\000\000\tN\000\197\000\000\000\000\000\000\003 \005\156\000\000\000\000\000\000\000\000\t\170\000\000\000\000\000\000\000\000\028>\029\158\000\000D\200\000\0000T\000\000\00140T\000\000\001\178\000\t\000\t\000\000\004r\000\t\000\000\t&\000\000\000\000\000\000\000\000\t\174\000\000\030\158\000\000\03120T\000\000\005\0200T\000\000\t\176\000\0000T\t\178\000\000F\220:~\t\180\000\000\t\182\000\000G6<\1940T\t40T\t\186\000\000\t\192\000\000\t\194\000\000\024*\000\000\005\n\024*\000\000\tF\018\186\000\000\000}0T\000\000\003\1920T\000\000\003\184\nF\000\000\nJ\000\0000T0T\tP\000\000\000\000\000\000\000\000\000\000\000\000\t\216\000\000G\2200T\t\218\000\000\t\220\000\0000T\t\226\000\0000T\t\138\000\197\000\000\000\000\004\0300T\000\000\003\184\000\000\t\230\000\0000T\t\232\000\000E6:~0T\tf0T\t\236\000\000\t\238\000\000E\220\000\000\000\000\005\2060T\000\000\005\030\002\178\000\129\000\000\000\000\000\000\005*\000\129\000\000\tj\000\000\000\000\000\000\000\0000T\000\000\006\0120T\000\000\007>\002\142\000\197\tl\000\000\000\000\000\000\000\000\000\000\000\000\t\246\000\000\t\248\000\0000T\t\252\000\000H60T\t\254\000\000\n\000\000\000\0212\t\172H\176.r\000\0000T\n\n\000\000\n\014\000\000\t\224\02120T\n\020\000\0000T\n\022\000\000\n\026\000\000F6\t\1520T\n\030\000\000\n \000\000\000\197\t\144\000\000\000\000\024\218\000\000\000\000\002b\nz\000\000\000\000\004\238\000\000\000\000\000\000/\144\000\000\000\000\000\000\002\190\000\000\005F\000\000\000\000\000\000\004\030A\200A\200A\200\000\000\005\202\005\202\005\202\005\202\000\000\000\000\000\000\000\000\000\000\000\000\001^\016~\nr\013\190\000O\000\000\000\000\001$\000\000\t\158\000\000 \004\t\166\000\000\001^\016~\t\176\015\030\000\000\001^\013\190\000\000\000\000\000\000A\200\014\002\000\000\000\000\000\000\t\250\000\129\n\142J\242\000\000\005BK\204\000\000\000\000\000\000\001R\n\146\000\131\000\000\005B\000\000\006\014J\242\000\000\000\000\t\232\n\160\006\222\t\230\000\000\001$\000\000\t\158\000\000D\140\006Z\000\000\000\000\n\142\000\000\000\000\002b\000\000\005\226\000\000\000\000\000\000/\144\000\000\002\190\000\000\005\238\000\000\000\000\000\000\005~\000\000\n\254\002\178\n\254\000\000\006\222\n\254\000\000\004\014\000\000\006\222\000\000\006\222\000\000\006\222\000\000\011B\000\000\000\000\000\000\000\000\000\000\006\222\000\000\004\014\000\000\006\222\000\000OD\000\000\000\000\008>\n\026\000\197\006\n\n\182\005h\000\000\005h\n\222\000\000\n\224\000\000\n\226\000\000\000\000\006\016\005h\006\024\005h\000\000\000\000\008\216\t\236\000\000\n(\000\197\006\n\t\240\000\000\004\170\n\244\000\000\006\n\007\176\011\008\006L\011\008\000\000\000\000\002\140\000\197\000\000\000)\000\000\000\000\001L\000\000\n\002\000\000\000\000\000\000\nF\000\197\006\n\n\014\000\000\000\000\004\170\006\n\007\176\002\140\000)\001L\n\016\000\000\006\n\007\176\002\140\000)\001L\n\018\000\000\000\197\000\000\011\024\007<\nT\000\197\n\176\000\000\nX\000\197\n\180\000\000"), (16, "\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\000&\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\014\218\014\218\001\230\000\n\011\233\001\"\001\238\001\242\000*\015\014\015\014\011\233\016\134\016\022\004^\011\233\011\233\011\233\005\249\007\193\011\233\021\"\014\218\016\022\011\233\011\233\011\233\011\173\016\138\023\202\001\"\015\014\014\218\007\193\006y\011\233\000\n\000\n\011\233\011\233\008y\015\014\012\141\022\206\011\233\011\233\022\002\011\233\001\230\011\233\0007\000;\012\226\001\242\011\233\015\138\011\233\011\233\011\233\011\233\011\233\000\n\017*\012\141\011\233\011\233\011\233\004\138\011\233\011\233\011\233\003i\011\233\011\233\011\233\011\233\003\237\000\006\000\"\011\233\011\233\016\"\016\"\000\n\007\193\007\150\020.\021~\027\218\013V\011\233\011\233\011\233\004u\027\222\011\233\011\233\011\233\011\233\019\254\011\233\004~\011\233\016\"\005\233\011\233\015\002\006\222\011\233\011\233\012\141\012\141\012\141\016\"\006\026\012\141\012\141\016\022\017Z\011\233\011]\000\150\011\233\000\154\011\133\011\133\011\233\011\233\011\233\011\233\004u\011\233\000\226\011\233\006\246\007\193\006y\011\233\011\233\011\233\000\230\011\233\008\210\011\233\011\233\006\222\011\233\007\193\011\233\011\233\007\158\0206\011\233\011\233\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\000.\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\016\022\019\230\001R\001V\006\129\014\222\014\238\014\254\000\n\014\218\003:\006\129\003B\006Q\003R\006\129\006\129\006\129\015\014\018V\006\129\003Z\004v\001v\006\129\018Z\006\129\000N\007\182\020N\020v\020\134\020\174\020\190\020\230\006\129\011\133\006!\0069\026\018\006I\006\025\006\025\001~\006\129\006\129\001\"\011\133\003b\006\129\006\129\006Q\011\133\011\133\006\129\011\189\006\129\006\129\006\129\006\129\006\129\012\182\019\210\001\"\006\129\006\129\006\129\001\138\006\129\006\129\006\129\016\134\006\129\006\129\006\129\006\129\000\022\000\n\0192\006\129\006\129\001\230\003r\011\133\004\222\012\226\001\242\016\138\011\133\011\133\016\"\006\129\006\129\021\254\000\n\006\129\006\129\006\129\006\129\006\246\006\129\002\206\006\129\027\230\001\"\006\129\006\222\001\230\006\129\006\129\005\030\012\226\001\242\0039\004e\021\242\000\n\0039\006\177\012\141\012\141\011\197\006\129\016\022\012\141\020V\006\129\006\129\006\129\006\129\0039\006\129\014\218\006\129\0039\000\n\011m\006\129\006\129\006\129\005y\015\014\000\n\006\129\006\129\006\153\006\129\006\153\006\129\006\129\006\153\004\213\006\129\006\129\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\003\026\006\153\006\177\003f\006\153\006I\003j\004>\006\153\024\242\006\153\006\153\006Q\011v\020^\006\153\006\153\006\153\006\153\006\153\006\153\016\022\006\153\006\153\006\153\024\018\006\153\006\153\003\170\006\153\014\218\001\"\014\218\008\246\011n\006\153\011\130\016\"\006\153\015\014\012\210\015\014\016\166\023\198\006\153\006\153\006\153\006\153\n\158\006\153\020\142\006\153\008\218\001\"\006\153\024\242\006\153\004\213\006\153\006\153\006\153\003\174\000\n\006\153\006\153\006\153\006\153\012\158\006\153\006\153\006\153\012\141\006\153\006\153\006\153\006\153\000\n\0061\004\014\003~\006\153\003\134\006\145\003\150\000\n\006\153\023\202\006\145\006\145\015\142\003\158\006\153\006\153\006\017\000\n\006\153\006\153\006\153\006\153\027\206\006\153\005\225\006\153\006\t\004\018\006\153\006\153\011\170\006\153\006\153\011m\016\"\007\202\016\"\007\210\020\150\007\226\003\166\004&\006\153\001\162\011m\006\153\007\234\006\145\011\205\006\153\006\153\012\214\006\153\016\170\006\153\004B\006\153\020\198\004J\011m\006\153\022\230\022\238\012\141\012\141\008\177\008\177\006\153\012\141\006\153\008\177\006\153\006\153\007\242\003\182\006\153\006\153\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021\014\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\022\246\021\018\006A\015\170\nb\021\170\004N\003\241\008\002\011\205\021\022\001F\021\026\005\225\004z\001\166\nr\013^\015\002\021\030\013b\016\022\013\002\020\206\001N\008\149\014\202\021*\0176\011\157\014\218\021.\005\225\013\"\017\170\001\178\005\225\0212\025r\015\014\001\"\012\158\n*\018*\015\"\013j\025\158\025\170\013>\015&\017f\015\006\012\158\0216\001\218\004\130\001\222\004\177\001b\016\030\015.\004\154\001\"\018\166\013~\001\230\0152\012\158\013\130\011\138\001\242\000\n\013\134\013\138\n\134\013\142\011\165\011m\021:\004\129\0156\021>\n\225\001\230\004\162\008\149\006)\012\226\001\242\022\218\015\146\n\226\013\146\000\n\021B\015:\015>\013\150\015B\021F\000\n\021J\015V\021N\021R\004\141\021V\018V\015b\013\158\006q\016\"\021Z\018Z\004\166\021^\006Y\018^\000\n\025\190\004\174\011m\015\130\021\138\019\006\006a\015\134\015\194\004\177\n\138\021b\013\162\004\198\015\198\021f\021j\023^\013\166\004\177\004\177\008\177\008\177\n\225\004\177\015\206\008\177\013\170\004\202\006\161\006\161\019\210\018\146\002\"\006\161\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\016\206\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\004\210\004\129\022\014\023\194\nb\027\166\004\129\004\129\012\158\011}\008\014\001F\008\022\027F\008&\001\166\nr\013^\004\129\004\129\013b\008.\nR\011\141\001N\nV\014\202\004\230\006\169\025N\006i\nZ\021\142\016\238\027J\001\178\n^\025R\014\218\021\146\018\194\027N\018\214\004\129\015\"\013j\025\158\015\014\0086\015&\017\174\t.\012\158\t6\001\218\tF\001\222\004\193\001b\016\030\015.\004\250\tN\018\150\013~\001\230\0152\005\014\013\130\011\138\001\242\019N\013\134\013\138\n\134\013\142\025\003\025\007\022\182\004\017\0156\025\011\008F\022J\021\158\011e\004\013\019R\006\169\tV\011\141\n\226\013\146\005.\023\218\015:\015>\013\150\015B\006\246\000\n\011u\015V\027V\005R\004\141\025\254\001\230\015b\013\158\005\241\012\226\001\242\tr\027n\tz\011\181\t\138\004\013\016\"\025+\025/\015\130\tf\t\146\0253\015\134\015\194\018\198\n\138\018\218\013\162\026c\015\198\018\242\027^\005^\013\166\005f\004\193\026g\019\022\000\n\004\161\015\206\005\186\013\170\011\149\006\185\006\185\026j\t\154\002\"\006\185\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\019n\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\023\182\004\017\019\130\005\198\nb\006I\004\017\004\017\004\013\t\170\006\018\001F\006\"\004\013\004\013\001\166\nr\013^\004\017\027>\013b\006*\026\131\026\135\001N\004\013\014\202\026\139\026\163\026\167\019\158\024\002\026*\026\171\011U\001\178\003]\027~\014\218\011U\011U\004\013\006\170\004\017\015\n\013j\018\246\015\014\027v\015&\004\013\011U\027v\019\026\001\218\028^\001\222\004\221\001b\015*\015.\022\230\022\238\027\190\013~\001\230\0152\006\206\013\130\011\138\001\242\028n\013\134\013\138\n\134\013\142\011U\019r\006\214\012\149\0156\007\014\007\026\007&\0072\007>\007J\005\013\005\t\007^\019\134\n\226\013\146\007n\007~\015:\015>\013\150\015B\024\014\000\n\007\134\015V\004\241\004\237\004\141\005\013\005\t\015b\013\158\007\171\007\246\007\250\008:\027\182\008>\008\158\008\162\019\162\016\"\008\178\008\194\015\130\008\238\008\141\008\254\015\134\015\194\004\221\n\138\t\018\013\162\tZ\015\198\t^\t\158\t\162\013\166\004\221\004\221\n\002\n\006\n\026\004\221\015\206\n2\013\170\nF\008\185\008\185\nf\nn\002\"\008\185\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\nv\001\014\n~\001\022\nZ\001\030\0012\001:\001>\n^\005\013\005\t\n\130\n\182\n\194\nb\n\202\011\014\011.\008\141\004\129\011:\001F\011~\011\150\011\162\001\166\nr\013^\005\013\005\t\013b\011\190\011\202\0272\001N\007\201\014\202\012R\012Z\012j\012v\012\146\012\154\012\174\012\186\001\178\006\137\012\194\014\218\007\201\012\198\006\137\006\137\012\206\015\n\013j\012\222\015\014\012\238\015&\012\246\012\250\013\n\006\137\001\218\013\018\001\222\013*\001b\015*\015.\0132\013F\013N\013~\001\230\0152\013Z\013\130\011\138\001\242\013r\013\134\013\138\n\134\013\142\013z\013\206\006\137\013\218\0156\014\"\014\154\014\194\014\214\014\226\004\021\014\234\014\242\014\250\007\201\n\226\013\146\027\142\015F\015:\015>\013\150\015B\015N\000\n\015^\015V\027\162\015f\015n\015v\004\129\015b\013\158\027\250\027\166\004\129\004\129\015~\015\186\015\202\015\210\027n\016\"\015\222\015\226\015\130\015\234\004\129\004\129\015\134\015\194\015\238\n\138\015\246\013\162\015\254\015\198\016\014\016.\016r\013\166\016z\016~\016\142\007\201\016\150\016\154\015\206\016\162\013\170\016\178\016\186\004\129\016\194\016\198\002\"\007\201\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\016\214\001\014\016\222\001\022\nZ\001\030\0012\001:\001>\n^\016\246\016\254\017N\017\150\017\162\nb\018\022\018\"\018B\004\021\018n\018z\001F\018\130\004\021\004\021\001\166\nr\013^\018\158\018\170\013b\018\178\018\182\018\190\001N\004\021\014\202\018\206\018\226\018\254\019\"\019:\019B\019F\019V\001\178\019^\019b\014\218\019j\019z\019\142\019\170\019\190\015\n\013j\019\206\015\014\019\222\015&\004\021\019\246\027v\020\006\001\218\020\018\001\222\020C\001b\015*\015.\020k\020\131\020\163\013~\001\230\0152\020\187\013\130\011\138\001\242\020\219\013\134\013\138\n\134\013\142\020\243\021\n\021&\012\149\0156\021\150\021\195\022\026\022/\022W\022c\022s\022{\022\142\022\151\n\226\013\146\022\159\022\167\015:\015>\013\150\015B\022\194\000\n\022\234\015V\022\242\023\002\023\031\023/\0237\015b\013\158\023C\023N\023s\023\127\023\146\023\155\023\163\023\230\024\026\016\"\0247\024?\015\130\024K\024[\024c\015\134\015\194\024n\n\138\024\131\013\162\024\139\015\198\024\146\024\159\024\171\013\166\024\179\024\190\024\199\024\207\024\219\024\246\015\206\025~\013\170\025\166\012\149\012\149\025\182\025\234\002\"\012\149\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\025\242\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\026\022\026:\026>\026F\nb\026o\0276\027B\027R\027Z\027b\001F\027\139\027\146\027\159\001\166\nr\013^\nR\027\170\013b\nV\027\186\027\239\001N\025N\014\202\nZ\027\254\028\011\028/\028K\n^\025R\028Z\001\178\028b\028k\028r\028{\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\026\186\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\016\134\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\016\138\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\001\230\000\n\000\000\015V\012\226\001\242\004\141\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\n\000\000\000\000\013\166\000\000\004\161\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\008\157\008\157\000\000\000\000\002\"\008\157\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\0166\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\012q\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012q\012q\000\000\000\000\002\"\012q\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\013^\nR\000\000\013b\nV\000\000\000\000\001N\025N\014\202\nZ\000\000\000\000\000\000\000\000\n^\025R\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025\130\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\012\182\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\001\230\000\n\000\000\015V\012\226\001\242\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\n\000\000\000\000\013\166\000\000\004\161\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\189\012\189\000\000\000\000\002\"\012\189\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025\130\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\185\012\185\000\000\000\000\002\"\012\185\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\017\226\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\000R\000V\000f\000\170\002\"\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\018b\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\018r\013j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\000\000\013\130\001\238\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\000\000\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\007\214\005\217\000\000\000\000\005\217\013\158\000\000\005\217\008\026\005\217\008Z\005\217\000\000\005\217\000\000\t:\005\217\000\000\005\217\005\217\000\000\005\217\005\217\005\217\005\217\n\138\000\000\013\162\005\217\018v\005\217\005\217\005\217\013\166\005\217\000\000\005\217\005\217\000\000\005\217\018~\005\217\013\170\005\217\005\217\005\217\005\217\005\217\002\"\005\217\000\000\005\217\000\000\005\217\005\217\000\000\000\000\005\217\005\217\005\217\005\217\008\186\000\000\000\000\005\217\005\217\000Z\000\000\005\217\t\n\005\217\n\018\000\000\005\217\000Z\005\217\000Z\005\217\005\217\000\000\005\217\000Z\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\005\217\005\217\000\000\005\217\000\000\005\217\005\217\000\000\005\217\000\000\005\217\005\217\005\217\005\217\005\217\005\217\005\217\000\000\005\217\005\217\005\217\005\217\005\217\005\217\005\217\005\217\005\217\005\217\005\217\000\000\005\217\005\217\005\217\005\217\005\217\005\217\000\000\005\217\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\005\217\000\000\005\217\005\217\005\217\005\217\000\000\005\217\005\217\005\217\005\217\005\217\000\000\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\005\217\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\206\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\000\000\001\234\001\238\001\242\002F\001\246\001\250\000\000\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\014\000R\007\190\007\198\000\170\000\000\000\174\000\000\008\n\008N\002\018\008V\021\014\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\002\022\000\000\021\018\000\000\000\000\000\000\002\026\000\000\000\000\004a\000\000\021\022\008\146\021\026\000\000\002\030\000\000\000\000\000\000\000\000\021\030\002\"\000\000\000\000\000\000\024j\000\000\000\000\021*\000\000\000\000\000\000\021.\003.\0036\000\170\000\000\000\174\0212\003z\003\190\000\000\003\198\000\000\003\214\008\170\003\222\000\000\003\230\003\242\022\170\003\250\000\000\000\000\0216\023\166\000\000\000\000\nb\008\182\000\000\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\000\004\n\021:\014\202\000\000\021>\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\021B\000\000\000\000\015R\013j\021F\000\n\021J\015&\021N\021R\000\000\021V\001\218\000\000\001\222\000\000\004\026\021Z\015.\000\000\021^\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\021b\000\000\000\000\0156\021f\021j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\nb\000\000\000\000\015\134\015\194\000\000\000\000\000\000\013\162\000\000\015\198\001\166\nr\013^\013\166\000\000\013b\000\000\000\000\000\000\000\000\015\206\014\202\013\170\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013f\013j\000\000\000\000\000\000\015&\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\197\000\000\015\130\013\197\000\000\000\000\015\134\015\194\000\000\000\000\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\013\197\000\000\000\000\015\206\013\197\013\170\000\000\002:\013\197\000\000\000\000\002\"\000\000\000\000\013\197\000\000\000\000\013\197\013\197\000\000\013\197\013\197\000\000\000\000\002B\000\000\013\197\005&\000\000\000\000\013\197\000\000\000\000\013\197\000\000\013\197\013\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\013\197\001\014\013\197\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\013\197\000\000\000\000\000\000\000\000\000\000\000\000\0052\000\000\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\013\197\013\197\000\000\013\197\013\197\0056\000\000\013\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\001^\000\000\000\000\000\000\013\197\000\000\000\000\013\197\013\197\013\197\013\197\000\000\000\000\000\000\001b\013\197\013\197\013\197\000\000\013\197\013\197\013\197\001=\001=\001=\001=\000\000\001=\000\000\001=\001=\000\000\001=\000\000\001=\000\000\001=\000\000\001=\001=\001=\001=\000\000\000\000\004\237\000\000\020\254\004\237\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\001=\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\004\237\000\000\000\000\001=\004\237\000\000\001=\004\237\004\237\000\000\001=\000\000\000\000\021\002\004\237\000\000\001=\004\237\004\237\000\000\004\237\004\237\000\000\001=\004\237\000\000\004\237\004\237\001=\000\000\004\237\000\000\000\000\004\237\000\000\004\237\004\237\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\001=\004\237\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\000\000\001=\000\000\000\000\004\237\000\000\001=\000\n\001=\000\000\000\000\001=\000\000\021\006\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\004\237\004\237\000\000\004\237\005\t\004\237\000\000\004\237\000\000\000\000\000\000\000\000\000\000\004\241\001=\004\237\004\241\000\000\001=\001=\004\237\000\000\000\000\004\237\000\000\004\237\000\000\000\000\000\000\021\198\000\000\004\237\004\237\004\237\004\241\004\237\004\237\004\237\004\241\000\000\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\004\241\000\000\000\000\004\241\004\241\000\000\004\241\004\241\000\000\000\000\004\241\000\000\004\241\004\241\000\000\000\000\004\241\000\000\000\000\004\241\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\"\t*\000\170\000\000\000\174\000\000\tn\t\178\000\000\t\186\004\241\t\202\004\241\t\210\000\000\t\218\t\230\000\000\t\238\000\000\000\000\000\000\000\000\004\241\000\000\000\000\000\000\000\000\000\000\000\000\004\241\000\000\t\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\254\000\000\000\000\000\000\004\241\004\241\000\000\004\241\005\013\004\241\000\000\004\241\000\000\000\000\000\000\000\000\000\000\014\025\000\000\004\241\014\025\000\000\000\000\000\000\004\241\000\000\000\000\004\241\000\000\004\241\000\000\000\000\000\000\000\000\n\014\004\241\004\241\004\241\014\025\004\241\004\241\004\241\014\025\000\000\000\000\013\190\014\025\000\000\000\000\000\000\000\000\000\000\014\025\000\000\000\000\014\025\014\025\000\000\014\025\014\025\000\000\000\000\013\198\000\000\014\025\013\210\000\000\000\000\014\025\000\000\000\000\014\025\000\000\014\025\014\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\007\190\007\198\000\170\000\000\000\174\000\000\008\n\008N\000\000\008V\014\025\008f\014\025\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\000\000\000\000\014\025\000\000\000\000\000\000\000\000\000\000\000\000\013\222\000\000\008\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\154\000\000\000\000\000\000\014\025\014\025\000\000\014\025\000\000\013\226\000\000\014\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\234\008\170\000\000\000\000\000\000\000\000\000\000\000\000\014\025\000\000\014\025\000\000\000\000\000\000\000\000\008\182\014\025\014\025\014\025\000\000\014\025\014\025\014\025\ne\ne\ne\ne\000\000\ne\000\000\ne\ne\000\000\ne\000\000\ne\000\000\ne\000\000\ne\ne\ne\ne\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\ne\ne\ne\000\000\000\000\000\000\000\000\000\000\000\000\ne\000\000\001\137\000\000\000\000\ne\001\137\000\000\021\214\000\000\001\137\000\000\021\222\000\000\000\000\000\000\001\137\000\000\ne\001\137\001\137\000\000\001\137\001\137\000\000\ne\000\000\000\000\001\137\000\000\ne\000\000\001\137\000\000\000\000\001\137\000\000\001\137\001\137\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\ne\001\137\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\ne\000\000\000\000\000\000\000\000\ne\000\000\ne\000\000\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ne\000\000\000\000\ne\001\137\002V\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\ne\000\000\000\000\000\000\0222\ne\001\137\000\000\000\000\001\137\001\137\001\137\001\137\000\000\000\000\000\000\000\000\002\254\001\137\001\137\000\000\001\137\001\137\001\137\nU\nU\nU\nU\000\000\nU\000\000\nU\nU\000\000\nU\000\000\nU\000\000\nU\000\000\nU\nU\nU\nU\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nU\nU\nU\000R\000V\000f\000\170\000\000\000\174\nU\000\178\000\246\000\000\000\254\nU\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\nU\000\000\000\000\000\000\000\000\000\000\000\000\nU\000\000\001F\000\000\000\000\nU\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nU\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nU\001^\000\000\nU\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\nU\000\000\000\000\004R\004V\nU\000\000\nU\000\000\000\000\nU\000\000\nY\nY\nY\nY\000\000\nY\nU\nY\nY\nU\nY\000\000\nY\000\000\nY\000\000\nY\nY\nY\nY\000\000\000\000\000\000\000\000\nU\000\000\000\000\000\000\021\218\nU\000\000\000\000\nY\nY\nY\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\000\000\000\000\000\000\nY\000\000\004Z\0226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\000\000\003U\000\000\nY\000\000\000\000\000R\007\190\007\198\000\170\000\000\000\174\nY\008\n\008N\000\000\008V\000\000\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\000\000\nY\000\000\000\000\022>\008\146\022Z\000\000\000\000\000\000\000\000\000\000\000\000\022f\nY\000\000\000\000\000\000\008\154\nY\000\000\nY\000\000\000\000\nY\000\000\000\000\000\000\000\000\000\000\000\000\022~\nY\000\000\000\000\nY\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\170\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\008\182\000\000\000\000\nY\000\000\000\000\000\000\000\000\000\000\002v\000\000\000\000\002\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\202\000\000\000\000\023\"\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\002\t\000\000\023:\000\000\002\t\000\000\000\000\023F\000\000\008u\002\134\000\000\023v\002\t\002\t\000\000\002\230\002\238\000\000\000\000\023\130\000\000\002\t\024B\000\000\000\000\002\166\000\000\001\166\002\142\n\166\002\158\002\t\n\170\000\000\000\000\000\000\000\000\024N\000\000\000\000\000\000\000\000\024f\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\002\174\000\000\002\t\000\000\000\000\n\174\011\006\000\000\000\000\011n\011\134\000\000\000\000\002\t\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\002\182\000\000\000\000\002\t\002\t\000\000\000\000\002\150\000\000\000}\000\000\000\000\000}\n\226\n\230\000\000\000\000\000\000\000\000\n\234\002\t\000\000\000\n\002\t\002\t\002\t\002\t\000\000\000\000\000\000\002~\n\242\002\t\002\t\000}\002\246\002\190\002\t\000}\006\t\000\000\011\142\000\000\011\170\002\134\000\000\000\000\000}\000}\000\000\000}\000}\000\000\n\246\000e\000\000\000}\000e\000\000\n\250\002\166\000\000\000\000\002\142\000\000\002\158\000}\000\000\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\174\000\000\000}\002\134\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000}\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\142\000\000\002\158\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000}\000}\000\000\000e\002\150\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000}\000\000\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000\000\000\000\000}\000}\000\000\000}\002\190\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\002\150\000\000\000]\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000]\000\000\000e\000e\000]\000e\000e\000e\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000a\000\000\000]\000a\000\000\000\000\000]\000\000\000\000\002\142\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\000]\000\000\000]\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000]\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\002\142\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000a\002\150\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000]\000\000\000\000\000]\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\002\150\000\000\000q\000\000\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\002~\000\000\000a\000a\000q\000a\000a\000a\000q\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000i\000\000\000q\000i\000\000\000\000\000q\000\000\000\000\002\142\000\000\002\158\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\174\000\000\000q\002\134\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000q\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\142\000\000\002\158\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000i\002\150\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000q\000q\000\000\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\002\150\000\000\000m\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\002~\000\000\000i\000i\000m\000i\000i\000i\000m\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000u\000\000\000m\000u\000\000\000\000\000m\000\000\000\000\002\142\000\000\002\158\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\000\000\002\174\000\000\000m\002\134\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000m\000\000\000u\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\002\174\002\150\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000u\000u\000\000\000\000\002\150\000\000\002v\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\002~\000\000\000u\000u\000\133\000u\000u\000u\000\133\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\133\000\133\000\000\000\133\002\238\000\000\000\000\002v\000\000\000\133\000y\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\002\174\000\000\000\133\002\134\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\133\000\000\000y\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000\133\000\133\000\000\002\174\002\150\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\002\246\002\190\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000y\000y\000\000\000\000\002\150\000\000\002v\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\002~\000\000\000y\000y\000\129\000y\002\190\000y\000\129\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\129\000\129\000\000\000\129\002\238\000\000\000\000\011\146\000\000\000\129\000\000\000\000\000\000\002\166\000\000\004E\002\142\004E\002\158\000\129\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\002\174\000\000\000\129\000\000\000\000\004E\004E\000\000\000\000\004E\004E\000\000\000\000\000\129\000\000\004E\000\000\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\004E\000\000\000\000\004E\004E\004E\000\000\004E\004E\000\000\004E\000\000\000\000\002\182\000\000\000\000\000\129\000\129\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\004E\004E\000\000\000\000\000\000\000\000\004E\000\129\000\000\004E\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\004E\000\129\000\129\000\000\000\129\002\190\000\129\000\000\004E\000\000\004E\001\166\004E\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\001\178\000\000\000\000\004E\000\000\000\000\004E\000\000\000\000\n\174\011\006\000\000\004E\011n\011\134\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\t\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\012\138\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\t\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\011\178\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\t\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\005i\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\011\226\000\000\000\000\n\234\000\000\003)\000\n\000j\003)\000r\000\000\000\130\003)\000\000\003)\n\242\000\000\000\000\000\138\003)\003)\011\234\000\000\006\t\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\000\n\246\000\000\000\000\000\000\0122\012:\n\250\000\000\000\146\003)\000\000\000\000\001\189\003)\012\018\n\254\000\000\011\250\000\000\012\n\000\000\002\"\000\000\000\000\003%\000\000\000\182\003%\000\190\003)\000\206\003%\000\000\003%\000\000\000\000\000\000\000\214\003%\003%\012\026\003)\000\162\000\000\000\000\000\000\000\000\000\000\000\000\003)\000\000\000\000\000\000\003)\003)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003)\000\222\003%\000\000\000\000\000\000\003%\000\000\000\000\000\000\000\000\003)\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\000\000\003)\003%\012\002\001\137\000\000\003)\001\137\000\000\000\000\000\000\000\000\000\000\000\000\003%\000\238\005Q\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\001\137\003%\003%\000\000\001\137\000\000\012B\012*\001\137\000\000\000\000\003%\003)\000\000\001\137\003)\003)\000\000\000\000\003)\001\137\001\137\003%\000\000\003)\003)\000\000\000\000\000\000\003)\001\137\000\000\003%\001\137\000\000\001\137\001\137\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\001\137\001\014\001\137\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\003%\001\137\000\000\003%\003%\000\000\000\000\003%\000\000\000\000\001F\000\000\003%\003%\000\000\000\000\000\000\003%\000\000\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\001\137\002N\000\000\001\137\001\137\000\000\000\000\001\137\000\000\001\166\000\000\n\166\000\000\000\000\n\170\000\000\001^\000\000\000\000\000\000\001\137\000\000\001j\001\137\001\137\000\000\001\137\000\000\000\000\001\178\001b\003\n\001\137\001\137\000\000\001\137\001\137\001\137\n\174\011\006\000\000\000\000\011n\011\134\000\000\000\000\n\134\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\161\n\138\000\000\n\242\001\161\000\000\001\153\000\000\001\161\001\153\000\000\006\t\000\000\000\000\001\161\011\170\000\000\001\161\001\161\000\000\001\161\001\161\000\000\000\000\000\000\n\246\001\161\001\153\000\000\000\000\001\161\n\250\000\000\001\161\000\000\001\161\001\161\001\201\000\000\000\000\n\254\001\153\000\000\000\000\000\000\001\153\002\"\001\153\001\153\005\217\000\000\000\000\000\000\000\000\000\000\000\000\001\161\001\153\001\161\000\000\001\153\005\217\001\153\000\000\000\000\000\000\000\000\000\000\000\000\001\161\005\217\000\000\005\217\ni\ni\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\001\153\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\001\161\014\014\005\217\001\161\000\000\000\000\000\000\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ni\000\000\005\217\000Z\000\000\000\000\000\000\001\161\000\000\001\161\000\000\001\153\005\250\000\000\001\153\014\022\001\161\001\161\001\153\001\161\001\161\001\161\000\000\000\000\000\000\ni\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\006\002\005\217\000\000\000\000\001\153\001\153\005\217\005\217\005\217\000\000\005\217\005\217\000\000\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\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\005\217\000\000\000\000\000\000\005\217\005\217\ni\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\001\166\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\014\206\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\001N\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\n\162\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\001^\000\000\000\000\000\000\001\226\001\230\000\000\011\154\001\234\001\238\001\242\000\000\001\246\001\250\001b\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\014\000\000\000\000\n\134\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\021\018\000\n\000\000\000\000\000\000\000\000\000\000\023J\000\000\021\022\002\014\021\026\n\189\n\189\000\000\000\000\000\000\000\n\021\030\000\000\002\018\008\133\000\000\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\000\000\002\022\000\000\000\000\000\000\0212\000\000\002\026\000\000\000\000\008\133\000\000\008\133\000\000\006\001\n\138\002\030\022\250\000\000\n\189\000\000\0216\002\"\000\000\006\001\000\000\000\000\000\000\000\000\006\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\n\189\005\217\021:\000\000\005\217\021>\000\000\t~\005\217\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\000\000\021B\000\000\005\217\000\000\000\000\021F\000\n\021J\000\000\021N\021R\005\217\021V\005\217\000\000\t\190\005\217\000\000\021Z\000\000\005\217\021^\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\021b\005\217\005\217\005\217\021f\021j\n\189\000\000\005\217\000\000\005\217\000\000\001f\005\217\n>\005\217\000\000\000Z\005\217\000Z\005\217\000\000\005\217\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\005\217\005\217\000Z\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\005\217\005\217\000\000\005\217\005\217\000\000\005\217\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\005\217\014B\005\217\005\217\014\146\005\217\000\000\005\217\005\217\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\000\000\014J\000\000\005\217\001%\002\025\000\000\001%\005\217\002\025\000\000\000\000\005\217\005\217\000\000\014R\000\000\000\000\002\025\002\025\000\000\014\162\014\170\000\000\000\000\014J\000\000\002\025\000\000\001%\000\000\014r\000\000\001%\014Z\000\000\014j\002\025\000\000\014R\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\014r\000\000\014z\014Z\002\025\014j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\014\130\000\000\000\000\002\025\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\014\130\002\025\000\000\001%\000\000\000\000\000\000\014b\002\025\002\025\000\000\014\178\014\138\002\025\000\000\000\000\000\000\001\013\000\000\000\000\001\013\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\000\000\001%\014\138\001%\001\013\000\000\000\000\001\005\001\013\000\000\001\005\000\000\001\013\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\013\001\013\000\000\001\013\001\013\000\000\000\000\001\005\000\000\001\013\000\000\001\005\000\000\001\013\000\000\001\005\014Z\000\000\014j\001\013\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\001\013\014Z\001\013\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\001\005\001\013\000\000\001\005\000\000\000\000\000\000\014b\001\013\001\013\000\000\001\013\001\013\001\013\000\000\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\001\005\001\005\000\000\001\005\001\005\001\005\001\t\000\000\000\000\001\025\001\t\000\000\001\025\000\000\001\t\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\001\t\000\000\001\t\001\t\000\000\000\000\014J\000\000\001\t\000\000\001\025\000\000\001\t\000\000\001\025\014Z\000\000\001\t\001\t\000\000\014R\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\001\t\014Z\001\t\014j\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\001\025\001\t\000\000\001\025\000\000\000\000\000\000\014b\001\t\001\t\000\000\001\t\001\t\001\t\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\014J\000\000\000\000\001\021\001\017\000\000\001\021\000\000\001\017\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\014J\000\000\001\017\000\000\001\021\000\000\001\017\000\000\001\021\014Z\000\000\014j\001\017\000\000\014R\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\001\017\014Z\001\017\014j\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\021\001\017\000\000\001\021\000\000\000\000\000\000\014b\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\021\014J\000\000\000\000\014B\001\029\000\000\001-\000\000\001\029\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\014J\000\000\001\029\000\000\001-\000\000\014r\000\000\001-\014Z\000\000\014j\001\029\000\000\014R\000\000\000\000\001-\001-\000\000\001-\014\170\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\014r\000\000\014z\014Z\001\029\014j\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\014\130\000\000\000\000\001\029\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\014\130\001\029\000\000\001-\000\000\000\000\000\000\014b\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\014B\000\000\000\000\001!\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\000\000\014\178\014\138\001-\014J\000\000\000\000\014B\001!\000\000\001)\000\000\001!\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\014J\000\000\001!\000\000\001)\000\000\014r\000\000\001)\014Z\000\000\014j\001!\000\000\014R\000\000\000\000\001)\001)\000\000\001)\014\170\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\014r\000\000\014z\014Z\001!\014j\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\014\130\000\000\000\000\001!\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\014\130\001!\000\000\001)\000\000\000\000\000\000\014b\001!\001!\000\000\001!\014\138\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\001\166\001)\001\170\000\000\000\000\001\174\000\000\000\000\001)\001)\000\000\001)\014\138\001)\008\133\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\001\166\000\000\001\170\000\000\000\000\001\174\000\000\001\226\001\230\000\000\000\000\001\234\001\238\001\242\018f\001\246\001\250\000\000\001\254\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\000\000\002\002\000\000\000\000\000\000\001\218\002\006\001\222\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\002\014\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\000\000\002\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\021\014\002\002\000\000\000\000\002\026\000\000\002\006\000\000\000\000\000\n\000\000\000\000\021\018\002\030\000\000\000\000\000\000\000\000\002\014\002\"\000\000\021\022\000\000\021\026\000\000\000\000\000\000\000\000\002\018\000\000\021\030\000\000\000\000\000\000\000\000\021\"\000\000\000\000\021*\000\000\002\022\000\000\021.\000\000\006R\000\000\002\026\006\162\0212\000\000\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\023\138\000\000\002\"\n\145\000\000\0216\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\017\000\000\006\178\006\186\n\145\000\000\021:\000\000\000\000\021>\000\000\000\000\006\130\000\000\000\000\006j\001\166\006z\001\170\000\000\000\000\001\174\021B\000\000\000\000\000\000\000\000\021F\000\n\021J\000\000\021N\021R\000\000\021V\000\000\001\178\000\000\006\138\001\182\021Z\000\000\000\000\021^\000\000\001\198\0076\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\021b\000\000\000\000\000\000\021f\021j\n\145\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\006\146\000\000\000\000\002\017\000\000\000\000\000\000\006r\000\000\001\166\000\000\001\170\000\000\000\000\001\174\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\002\017\000\000\000\000\000\000\001\178\000\000\000\000\001\182\002\014\000\000\006\194\006\154\000\000\001\198\002\n\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\002\030\006\030\000\000\000\000\000\000\000\000\002\"\000\000\000\000\004=\000\000\004=\000\000\000\000\004=\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\004=\000\000\000\000\004=\002\014\000\000\000\000\000\000\000\000\004=\004=\000\000\004=\000\000\002\018\000\000\000\000\000\000\000\000\004=\000\000\004=\000\000\000\000\000\000\000\000\002\022\000\000\000\000\004=\004=\021\014\002\026\004=\004=\004=\000\000\004=\004=\000\000\004=\002\030\000\000\021\018\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\021\022\000\000\021\026\000\000\000\000\004=\000\000\000\000\000\000\021\030\004=\000\000\000\000\004=\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\004=\000\000\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\134\000\000\000\000\000\000\005\217\0216\004=\005\217\000v\000\000\000\000\005\217\004=\005\217\000\000\000\000\000\000\000\000\005\217\005\217\000\000\004=\000\000\000\000\000\000\000\000\000\000\004=\n\145\000\000\021:\000\000\000\000\021>\005\217\000\000\000\000\005\217\000\194\000\000\000\000\005\217\000\000\005\217\000\000\005\217\021B\000\000\005\217\005\217\000\000\021F\000\n\021J\000\000\021N\021R\000\000\021V\000\000\000\000\000\000\005\217\000\000\021Z\005\217\001\002\021^\000\000\005\217\000\000\005\217\005\217\003F\000Z\005\217\005\217\005\217\005\217\005\217\000\000\000\000\021b\005\217\005\217\005\217\021f\021j\n\145\005\217\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000Z\000\000\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\005\217\000\000\004\030\000\000\005\217\005\217\000\000\000Z\000\000\004\242\005\217\000\000\000\000\000\000\000Z\005\217\000\000\005\217\005\217\000\000\000\000\000\000\005\217\005\217\000\000\005\217\000\000\000\000\000\000\005\217\005\217\005\217\005\217\000\000\005\217\005\217\000\000\000\000\005\217\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\005\217\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\000\000\005\217\005\217\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\001\166\000\000\001\186\005\217\000\000\001\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\005\217\000\000\001\178\005\217\000\000\001\182\005\217\005\217\005\217\005\217\005\217\001\194\001\214\005\217\001\210\005\217\005\217\000\000\000\000\000\000\005\217\001\218\000\000\001\222\001\166\000\000\001\186\000\000\000\000\001\190\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\194\007\030\000\000\001\210\000\000\000\000\005~\000\000\000\000\000\000\001\218\005\130\001\222\000\000\000\n\000\000\000\000\000\000\000\000\000\000\005j\001\230\000\000\005\138\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\003\138\005\142\000\000\005\217\005~\005\217\000\000\005\146\000\000\005\130\005\217\005\217\000\n\005\217\003\202\000\000\005\150\005\217\000\000\005\217\000\000\005\138\002\"\000\000\005\217\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\005\142\000\000\000\000\000\000\000\000\000\000\005\146\000\000\005\217\000\000\000\000\000\000\005\217\000\000\005\217\005\150\000\000\000\000\007f\000\000\000\000\002\"\000\000\000Z\000\000\000\000\005\217\000\000\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000Z\005\217\005\217\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\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\005\217\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\005\217\000\000\000\000\005\217\005\217\000\000\001\166\005\217\001\186\000\000\000\000\001\190\005\217\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\013\253\000\000\000\000\013\253\000\000\001\194\005\134\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\013\253\000\000\000\000\000\000\005j\001\230\000\000\005\170\005n\001\238\001\242\000\000\005r\005v\013\253\005z\000\000\000\000\013\253\000\000\013\253\013\253\000\000\000\000\005\178\000\000\000\000\005\190\000\000\000\000\013\253\000\000\005~\013\253\000\000\013\253\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\005\138\000\174\nR\000\178\000\246\nV\000\254\013\253\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\000\000\000\000\000\000\000\000\005\142\000\000\000\000\000\000\000\000\005\202\005\146\001F\000\000\000\000\000\000\000\000\001\166\000\000\n\166\005\150\000\000\n\170\000\000\000\000\001N\002\"\000\000\000\000\013\253\013\253\000\000\013\253\000\000\005\206\000\000\013\253\001\178\000\000\000\000\000\000\000\000\000\000\000\000\005\214\001^\n\174\n\186\000\000\000\000\000\000\001j\000\000\000\000\013\253\000\000\001\218\000\000\001\222\001b\013\253\000\000\000\000\000\000\013\253\013\253\n\206\001\230\000\000\000\000\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\000\000\000\000\n\170\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\n\000\n\000\000\000\000\000\000\004\141\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\n\174\n\238\000\000\000\000\001n\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\001\166\000\000\n\166\000\000\n\246\n\170\000\000\n\206\001\230\000\000\n\250\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\n\254\001\178\000\000\000\000\000\000\000\000\002\"\000\000\000\181\000\000\n\174\011\006\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\001\218\n\234\001\222\000\000\000\n\000\000\000\000\000\000\000\000\011\234\n\206\001\230\000\000\n\242\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\181\000\181\001\166\000\000\013^\000\000\n\246\013b\n\226\n\230\012\018\000\000\n\250\011\250\n\234\012\n\000\000\000\n\000\000\000\000\000\000\n\254\001\178\000\000\000\000\000\000\n\242\002\"\000\000\000\000\000\000\013f\014\186\000\000\000\000\000\000\012\026\000\000\000\000\000\000\000\000\001\218\000\000\001\222\001\166\000\000\013^\000\000\n\246\013b\000\000\013~\001\230\000\000\n\250\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\n\254\001\178\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\013f\013j\012\"\000\000\000\000\n\226\013\146\000\000\000\000\012\002\001\218\013\150\001\222\000\000\000\n\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\181\013\158\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\000\000\000\181\012*\000\000\000\000\001\166\000\000\013^\000\000\013\162\013b\n\226\013\146\000\000\000\000\013\166\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\013\170\001\178\000\000\000\000\000\000\013\158\002\"\000\000\000\000\nR\013f\013\154\nV\000\000\000\000\000\000\025N\000\000\nZ\000\000\001\218\000\000\001\222\n^\025R\000\000\000\000\013\162\000\000\000\000\013~\001\230\000\000\013\166\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\013\170\000\000\008}\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\016\134\000\000\008}\n\226\013\146\000\000\000\000\000\000\000\000\013\150\000\000\008}\000\n\008}\000\000\000\000\016\138\000\000\000\000\000\000\008}\013\158\000\000\000\000\000\000\008}\000\000\000\000\008}\000\000\000\000\000\000\008}\021\226\000\000\000\000\001\230\000\000\008}\000\000\012\226\001\242\000\000\013\162\000\000\023\134\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\008}\000\000\000\000\021\018\013\170\000\000\000\000\000\000\000\000\000\000\002\"\000\000\021\022\000\000\021\026\000\000\000\000\000\n\000\000\000\000\000\000\021\030\004\161\000\000\000\000\008}\021\"\000\000\008}\021*\000\000\000\000\000\000\021.\000\000\000\000\000\000\000\000\000\000\0212\000\000\008}\000\000\000\000\000\000\000\000\008}\008}\008}\000\000\008}\008}\000\000\008}\000\000\0216\023\166\000\000\000\000\008}\000\000\000\000\008}\000\000\000\000\007\137\007\137\000\000\000\000\000\000\007\137\000\000\000\000\000\000\007\241\000\000\000\000\008}\000\000\000\000\021:\008}\008}\021>\000\000\000\000\007\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\241\021B\007\241\000\000\000\000\000\000\021F\000\n\021J\007\241\021N\021R\000\000\021V\007\241\000\000\000\000\007\241\000\000\021Z\000\000\007\241\021^\000\000\021\014\000\000\000\000\007\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\021b\000\000\000\000\000\000\021f\021j\007\241\023\166\021\022\000\000\021\026\000\000\000\000\000\000\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\000\000\007\241\000\000\000\000\007\241\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\186\007\241\000\000\000\000\000\000\0216\007\241\007\241\007\241\000\000\007\241\007\241\000\000\007\241\000\000\000\000\000\000\000\000\000\000\007\241\000\000\000\000\007\241\000\000\022j\000\000\000\000\000\000\000\000\000\000\021:\000\000\000\000\021>\000\000\000\000\021\018\007\241\000\000\000\000\000\000\007\241\007\241\000\000\000\000\021\022\021B\021\026\000\000\000\000\000\000\021F\000\n\021J\021\030\021N\021R\000\000\021V\021\"\000\000\000\000\021*\000\000\021Z\000\000\021.\021^\000\000\022\130\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\021b\000\000\000\000\000\000\021f\021j\0216\000\000\021\022\000\000\021\026\000\000\000\000\000\000\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\000\000\021:\000\000\000\000\021>\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021B\000\000\000\000\000\000\0216\021F\000\n\021J\000\000\021N\021R\000\000\021V\000\000\000\000\000\000\000\000\000\000\021Z\000\000\000\000\021^\000\000\021\014\000\000\000\000\000\000\000\000\000\000\021:\000\000\000\000\021>\000\000\000\000\021\018\021b\000\000\000\000\000\000\021f\021j\000\000\000\000\021\022\021B\021\026\000\000\000\000\000\000\021F\000\n\021J\021\030\021N\021R\000\000\021V\021\"\000\000\000\000\021*\000\000\021Z\000\000\021.\021^\000\000\021\014\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\021b\000\000\000\000\000\000\021f\021j\023&\000\000\021\022\000\000\021\026\000\000\000\000\000\000\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\000\000\021:\000\000\000\000\021>\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021B\021\014\000\000\000\000\024R\021F\000\n\021J\000\000\021N\021R\000\000\021V\021\018\000\000\000\000\000\000\000\000\021Z\000\000\000\000\021^\021\022\000\000\021\026\000\000\000\000\000\000\000\000\021:\000\000\021\030\021>\000\000\000\000\000\000\021b\000\000\000\000\021*\021f\021j\000\000\021.\000\000\021B\000\000\000\000\000\000\0212\021F\000\n\021J\000\000\021N\021R\000\000\021V\000\000\000\000\000\000\000\000\000\000\021Z\000\000\0216\021^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021b\000\000\000\000\000\000\021f\021j\000\000\000\000\000\000\021:\000\000\000\000\021>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021B\000\000\000\000\000\000\000\000\021F\024r\021J\000\000\021N\021R\000\000\021V\000\000\000\000\000\000\000\000\000\000\021Z\000\000\000\000\021^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021b\000\000\000\000\000\000\021f\021j\004M\004M\004M\004M\000\000\004M\000\000\004M\004M\000\000\004M\000\000\004M\000\000\004M\000\000\004M\004M\004M\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001r\000\000\000\000\000\000\004M\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\004M\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\004M\000\254\001F\001\014\000\000\001\022\004M\001\030\0012\001:\001>\000\000\000\000\000\000\004M\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001N\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\000\000\000\000\000\000\000\000\004M\001^\000\000\000\000\000\000\000\000\000\000\001j\000\000\000R\000V\000f\000\170\000\000\000\174\001b\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\001F\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001n\001N\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\001^\001n\000\000\012U\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\000\000\025\246\004V\000\000\000R\000V\000f\000\170\0021\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\001F\001\014\000\n\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\250\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001N\013\225\000\000\000\000\000\000\000\000\000\000\003M\000\000\000\000\002)\000\000\001b\000\000\000\000\000\000\004R\004V\000\000\000\000\001^\000\000\013\225\000\237\000\000\000\000\000\237\000\000\000\000\011\030\000\000\000\000\000\000\000\000\001b\000\000\013\225\000\000\025\246\004V\000\000\000\000\013\225\013\225\006Z\000\000\011&\000\000\000\000\0112\000\213\000\000\013\225\000\213\000\000\013\225\000\000\013\225\006b\000\000\000\000\000\000\000\237\000\000\000\237\000\237\000\000\000\000\000\000\000\000\000\000\000\213\000\000\004b\006\130\000\000\000\000\006j\013\225\006z\000\000\000\000\000\000\000\000\000\205\006b\000\000\000\205\000\000\000\213\000\000\000\213\000\213\000\000\000\000\026\002\000\000\000\000\011>\000\000\006\138\000\213\000\000\000\000\006j\000\205\006z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\225\000\000\000\205\000\000\000\000\011B\000\205\013\225\000\205\000\205\000\213\000\000\000\000\000\000\000\000\011J\000\000\000\000\000\205\000\000\013\225\006j\006\146\000\205\000\209\000\237\000\000\000\209\000\000\006r\000\000\000\000\000\000\000\000\000\000\013\225\013\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\209\000\000\000\237\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\006r\000\237\006\154\000\209\000\000\000\225\000\000\000\209\000\225\000\209\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\209\000\000\000\000\006j\000\000\000\209\000\000\006Z\000\205\000\213\000\213\000\205\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\217\006b\000\000\000\217\000\000\000\225\000\209\000\225\000\225\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\225\000\000\000\000\006j\006Z\006z\000\205\000\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\221\000\000\000\217\000\221\000\217\000\217\006\138\000\000\000\209\000\000\000\000\000\209\000\000\000\000\000\217\006r\000\000\006j\000\000\006z\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\229\006b\000\000\000\229\000\000\000\221\000\217\000\221\000\221\000\209\000\209\000\225\000\000\000\000\000\225\000\000\000\000\000\221\006r\000\000\006j\006Z\006z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\225\006R\000\000\000\229\000\245\000\229\000\229\006\138\000\000\000\217\000\225\000\225\000\217\000\000\000\000\006\130\006r\000\000\006j\000\000\006z\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\006R\006b\000\000\000\233\000\000\000\245\006\138\000\245\006\186\000\217\000\217\000\221\000\000\000\000\000\221\000\000\000\000\006\130\006r\000\000\006j\006Z\006z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\221\006R\000\000\000\233\000\241\000\233\000\233\006\138\000\000\006\146\000\221\000\221\000\229\000\000\nR\006\130\006r\nV\006j\000\000\006z\025N\006Z\nZ\000\000\000\000\000\000\000\000\n^\025R\000\000\000\000\000\000\000\000\000\229\000\157\006b\000\000\000\000\000\000\000\241\006\138\000\241\006\186\000\229\000\229\006\146\000\000\000\000\000\245\000\000\000\000\006\130\006r\000\000\006j\000\157\006z\000\000\016\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\245\000\149\000\000\000\000\016\138\000\157\000\157\006\138\000\000\006\146\006\194\006\154\000\233\000\000\000\000\000\157\006r\000\000\011\250\000\153\012\n\000\000\000\149\000\000\001\230\000\000\000\000\000\000\012\226\001\242\000\000\000\000\000\000\000\000\000\233\000\000\000\149\000\000\000\000\000\000\000\153\000\157\000\149\000\149\000\233\006\154\006\146\000\000\000\000\000\241\000\000\000\000\000\149\006r\000\153\011\250\000\000\000\149\000\000\000\n\000\153\000\153\000\000\000\000\004\161\000\000\000\000\000\000\000\000\000\169\000\153\000\241\000\000\011\250\000\000\000\153\000\000\000\000\000\149\000\000\000\157\000\241\006\154\000\000\000\000\000\000\000\000\012\002\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\157\000\000\000\000\000\000\011\242\000\000\000\161\008\233\008\233\000\000\000\169\000\169\008\233\000\000\000\000\000\157\000\157\000\149\000\000\000\000\000\169\000\000\000\000\011\250\012\002\012\n\000\000\011\234\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\153\000\000\000\149\000\000\000\000\000\000\011\242\012\002\000\000\000\000\000\000\012\026\000\161\000\161\000\000\000\000\000\000\000\149\000\149\011\234\000\153\000\000\000\161\000\173\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\153\000\153\000\000\000\000\000\165\000\165\011\226\000\000\000\000\011\234\000\000\000\000\000\000\000\161\000\165\000\169\000\000\011\250\000\000\012\n\000\000\000\000\012\002\011\242\000\000\000\000\000\000\011\234\000\000\000\173\000\173\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\000\012\018\012\026\011\242\011\250\000\000\012\n\000\000\000\000\000\189\012:\011\226\000\169\000\169\000\161\000\000\000\000\000\000\000\000\012\018\000\000\012\002\011\250\000\000\012\n\000\000\000\000\012\026\000\000\000\000\000\000\000\000\011\234\000\000\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\000\000\000\012\026\011\242\000\000\012\002\000\161\000\161\000\000\000\177\000\177\011\226\000\000\000\000\000\000\000\000\000\000\000\000\000\165\012\018\000\000\000\000\011\250\012\"\012\n\000\000\000\000\000\000\000\000\000\000\012\002\000\000\011\234\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\012\"\000\000\000\173\000\000\012\026\011\242\000\000\012\002\000\000\000\000\000\000\000\185\012:\000\000\000\000\000\000\000\000\000\173\000\173\000\000\000\189\012\018\000\000\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012B\012*\000\000\000\000\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\012\026\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\012*\000\000\000\000\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\012*")) let lhs = - (16, "\000\012\000\011\000\n\000\t\000\008\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\014\001\014\001\014\001\013\001\013\001\013\001\013\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\008\001\008\001\008\001\008\001\007\001\006\001\006\001\006\001\005\001\005\001\005\001\004\001\004\001\004\001\003\001\003\001\003\001\002\001\001\001\000\000\255\000\255\000\254\000\254\000\253\000\253\000\252\000\252\000\251\000\251\000\250\000\249\000\249\000\248\000\248\000\247\000\247\000\247\000\246\000\246\000\245\000\244\000\243\000\242\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\234\000\233\000\232\000\231\000\231\000\230\000\230\000\229\000\229\000\228\000\228\000\227\000\227\000\227\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\225\000\224\000\224\000\224\000\224\000\223\000\223\000\222\000\222\000\221\000\221\000\220\000\220\000\220\000\219\000\219\000\219\000\218\000\218\000\218\000\218\000\217\000\217\000\217\000\217\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\215\000\214\000\214\000\213\000\213\000\213\000\212\000\212\000\211\000\211\000\211\000\210\000\210\000\209\000\209\000\209\000\208\000\207\000\206\000\206\000\205\000\205\000\204\000\204\000\203\000\203\000\202\000\202\000\201\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\197\000\196\000\195\000\194\000\194\000\193\000\192\000\192\000\192\000\192\000\192\000\191\000\191\000\191\000\191\000\190\000\190\000\190\000\190\000\189\000\189\000\189\000\189\000\188\000\187\000\187\000\186\000\186\000\186\000\185\000\184\000\184\000\184\000\184\000\183\000\182\000\182\000\181\000\181\000\180\000\180\000\179\000\179\000\179\000\179\000\178\000\178\000\177\000\177\000\177\000\177\000\176\000\176\000\176\000\176\000\175\000\175\000\175\000\175\000\175\000\174\000\173\000\173\000\173\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\165\000\165\000\165\000\165\000\165\000\164\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\142\000\142\000\141\000\141\000\140\000\140\000\139\000\139\000\138\000\138\000\137\000\137\000\136\000\136\000\135\000\135\000\134\000\134\000\133\000\133\000\132\000\132\000\131\000\131\000\130\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\128\000\127\000~\000}\000|\000{\000z\000y\000x\000w\000w\000w\000v\000v\000v\000u\000u\000u\000u\000t\000s\000r\000q\000p\000o\000n\000n\000m\000m\000m\000l\000l\000k\000k\000k\000j\000j\000i\000h\000h\000h\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_\000_\000_\000_\000_\000_\000_\000_\000^\000^\000]\000]\000\\\000\\\000[\000[\000Z\000Z\000Y\000Y\000Y\000Y\000Y\000X\000X\000W\000W\000W\000W\000V\000U\000T\000T\000T\000S\000S\000S\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000H\000H\000H\000H\000H\000G\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000E\000E\000E\000D\000C\000B\000B\000A\000A\000@\000?\000>\000>\000=\000=\000<\000<\000;\000:\000:\000:\000:\000:\000:\000:\0009\0009\0009\0009\0009\0009\0008\0008\0007\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000(\000(\000'\000'\000&\000&\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000$\000$\000$\000#\000#\000#\000#\000\"\000\"\000\"\000\"\000\"\000!\000 \000 \000 \000\031\000\031\000\030\000\029\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\013\000\013\000\013\000\013\000\013") + (16, "\000\012\000\011\000\n\000\t\000\008\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\014\001\014\001\014\001\013\001\013\001\013\001\013\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\008\001\008\001\008\001\008\001\007\001\006\001\006\001\006\001\005\001\005\001\005\001\004\001\004\001\004\001\003\001\003\001\003\001\002\001\001\001\000\000\255\000\255\000\254\000\254\000\253\000\253\000\252\000\252\000\251\000\251\000\250\000\249\000\249\000\248\000\248\000\247\000\247\000\247\000\246\000\246\000\245\000\244\000\243\000\242\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\234\000\233\000\232\000\231\000\231\000\230\000\230\000\229\000\229\000\228\000\228\000\227\000\227\000\227\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\225\000\224\000\224\000\224\000\224\000\223\000\223\000\222\000\222\000\221\000\221\000\220\000\220\000\220\000\219\000\219\000\219\000\218\000\218\000\218\000\218\000\217\000\217\000\217\000\217\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\215\000\214\000\214\000\213\000\213\000\213\000\212\000\212\000\211\000\211\000\211\000\210\000\210\000\209\000\209\000\209\000\208\000\207\000\206\000\206\000\205\000\205\000\204\000\204\000\203\000\203\000\202\000\202\000\201\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\197\000\196\000\195\000\194\000\194\000\193\000\192\000\192\000\192\000\192\000\192\000\191\000\191\000\191\000\191\000\190\000\190\000\190\000\190\000\189\000\189\000\189\000\189\000\188\000\187\000\187\000\186\000\186\000\186\000\185\000\184\000\184\000\184\000\184\000\183\000\182\000\182\000\181\000\181\000\180\000\180\000\179\000\179\000\179\000\179\000\178\000\178\000\177\000\177\000\177\000\177\000\176\000\176\000\176\000\176\000\175\000\175\000\175\000\175\000\175\000\174\000\173\000\173\000\173\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\165\000\165\000\165\000\165\000\165\000\165\000\164\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\142\000\142\000\141\000\141\000\140\000\140\000\139\000\139\000\138\000\138\000\137\000\137\000\136\000\136\000\135\000\135\000\134\000\134\000\133\000\133\000\132\000\132\000\131\000\131\000\130\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\128\000\127\000~\000}\000|\000{\000z\000y\000x\000w\000w\000w\000v\000v\000v\000u\000u\000u\000u\000t\000s\000r\000q\000p\000o\000n\000n\000m\000m\000m\000l\000l\000k\000k\000k\000j\000j\000i\000h\000h\000h\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_\000_\000_\000_\000_\000_\000_\000_\000^\000^\000]\000]\000\\\000\\\000[\000[\000Z\000Z\000Y\000Y\000Y\000Y\000Y\000X\000X\000W\000W\000W\000W\000V\000U\000T\000T\000T\000S\000S\000S\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000H\000H\000H\000H\000H\000G\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000E\000E\000E\000D\000C\000B\000B\000A\000A\000@\000?\000>\000>\000=\000=\000<\000<\000;\000:\000:\000:\000:\000:\000:\000:\0009\0009\0009\0009\0009\0009\0008\0008\0007\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000(\000(\000'\000'\000&\000&\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000$\000$\000$\000#\000#\000#\000#\000\"\000\"\000\"\000\"\000\"\000!\000 \000 \000 \000\031\000\031\000\030\000\029\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\013\000\013\000\013\000\013\000\013") let goto = - ((16, "\002H\000\019\000\000\000\000\000\000\000\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001/\000\000\001\003\0002\000\000\000\237\000\173\000\000\000\000\000\000\000\022\000\000\000,\000d\000\000\000\000\000\150\000\000\000\198\000\000\000\000\000\000\001`\000\000\001\252\000\000\000\000\000\000\000\000\002\180\000\000\003\206\004Z\000\000\000\000\004\138\000\000\004\246\000\000\000\000\000\000\005\030\000\000\005\148\000\000\005\162\000\000\005\222\005\236\000\000\000\000\005\240\000\000\006>\000\000\000#\000\000\000\000\006\212\000\000\0074\000\000\000\000\007J\000\000\007\150\000\000\000\000\000\000\007\246\000\000\000\238\008\008\0007\000\000\000\000\000\000\002P\000f\000F\000\000\000\000\008B\000\000\n\228\000\000\004\186\000\237#\158\000\000\000\000\021\026\000\000\0026\000\000\002\196)z!\196\011\142!\196\0052&z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029r\011\142\000\000\000\000'T\000\000)\150\000\000\014\230\000\000\000\000\000\000\000\000\000\232\000\000\029\192\000\000\000\000\000*\000\000\000\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\154\000\000\015<\000\000\018\192\000\000\023\202\000\000-\218\000\0005\130\000\0005\228\000\0006&\000\0006V\000\0006\186\000\000)\148\000\000\012v\000\000\000\000\000\000\000\000\000\0006\216\000\0007\006\000\0007\022\000\000\005\248\000\000\000\0004\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\008d\000\000\000\000\008z\000\000\008\244\008\246\000\000\000\000\t:\000\000\tb\000\000\000\000\000\000\tl\000\000\t\138\000\000\000\000\t\158\000\000\t\190\t\192\000\000\000\000\t\218\000\000\t\234\000\000\000\000\000\000\n\028\000\000\n.\000\000\nB\000\000\nF\nN\000\000\000\000\nV\000\000\nZ\000\000\002\192\n`\000\000\nb\000\000\nz\000\000\n\132\000\000\000\000\000\000\n\136\000\000\n\168\000\184\000\000\n\174\000\000\002`\021\136\000\000\005j\000\000\006J\000\000\000\000\000,\000\000\000\000\000u\003(\000\000\000\000\000\000\000\000\003\012\000\000\003r\000\000\002\000\000\000\003\200\000\000\000\000\000\000\000\000\000\000\000\000\007\152\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\002\003|\002*\000\000\n\178\000\000\n\186\002X\000\000\n\196\000\000\000\000\006R\000\000\000\000\000\000\000\000\000\000\"\168\000\0000\138\000\000\000\000\000\000\0044\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\000\000\000\000\000\000\000\000\000\000\000\000\012n&z\000\000\012\178\000\000\016P\tv\000\000\000\000\000\000\004\148\000\000\030\224\000\000\000\0000\144\000\000\000\000\000\000\004\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\238\000\0005J\000\000\000\000\000\000\000\000\000\191\000\000\000\0000\236\000\000\000\000\000\000\007\138\001*\000\000\000\000\000\000\000\000\000\000\000\000\002d\000\000\004\174\000\000\005n\000\000\t\158\000\000\t\192\000\000\014\026\000\000\016\250\000\000\018\144\000\000\020j\000\000\020\202\000\000*D\000\000\000\146\000\000\022F\000\000\031\020\000\000&\146\000\000\000\000\000\000\000\000\000\000\000Z1@\000\000\002n\000\000\000\000\000\n\001\172\000\000\002\248\000\000\000\000\000\000\017\026\000\000\000\000\000\000&\214\000\000\000\000\000\000\000\000\000\000'`\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\n\206\004\216\000\000\n\214\000\000\000\000\000\000\000\000\000\000\n\216\000\000\000\000\002P\001\240\000\000\002D\000\000\000\000\000\000\004\030\000\000\012R\001\"\n\238\000\000\000\000\n\240\000\000\n\242\n\248\000\000\000\000\n\252\000\000\011\002\000\000\000\000\000\000\011\004\000\000\011\n\000\000\000\000\011\014\000\000\011\024\011\026\000\000\000\000\011$\000\000\011&\000\000\000\000\000\000\0118\000\000\011:\000\000\011<\000\000\011@\011R\000\000\000\000\011X\000\000\011`\000\000\004\248\011n\000\000\011x\000\000\011|\000\000\011~\000\000\000\000\000\000\011\130\000\000\001~\000\000\000\000\011\138\004\246\000\000\011\152\000\000\000\000\002\244\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\005\214\005,\000\000\011\156\000\000\011\160\nZ\000\000\011\164\000\000\000\000\012\172\011\172\000\000\000\000\011\176\000\000\011\180\011\214\000\000\000\000\011\216\000\000\011\220\000\000\000\000\000\000\011\224\000\000\011\230\000\000\000\000\011\244\000\000\011\246\011\248\000\000\000\000\011\250\000\000\012\018\000\000\000\000\000\000\012\022\000\000\012$\000\000\012&\000\000\012(\012,\000\000\000\000\012.\000\000\0120\000\000\006\136\012<\000\000\012>\000\000\012B\000\000\012N\000\000\000\000\000\000\012R\000\000\012Z\013 \000\000\012\\\000\000\000\000\006\182\014b\000\000\012`\000\000\012f\018|\000\000\012j\000\000\000\000\000\000\000\000\000\000\000\000\000\0001z\000\000#*\000\0001\144\000\000\000\000\000\017\000\000\000\000\001r\007\234\000\000\000\000\015@\004T\000\000\008@*b\000\000\000\000'\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\196'\132\000\000\020\142\000\000\023\206\018\132(\018\000\000\020\"\000\000\000\000\000\000\006\192\000\000\031\006\000\000\000\0002\018\000\000\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002 \000\0002\150\000\000\000\000\000\000(\156\000\000\000\000\000\000*|\000\000\000\000\000\000\000\000\007\198\000\000\000\000\000\000\000\000\007N\000\000\000\000+\\\000\000\001@\000\000\000\000\000\000\004`\000\000\t\200\000\000\n\144\000\000\014\246\000\000\022v\000\000 :\000\000!\164\000\000#\180\000\000&\154\000\000(|\000\000)$\000\000,\234\000\0000V\000\000\000\000\000\000\000\000\000\000*\206\000\000\017H\000\000\022\210\n\222\000\000+,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\000\000\0038\000\000\006Z\000\000\000\000\008>\000\000\000\000\000\000+.\000\000\000\000\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000+\130\000\000\000\000\000\000\000\000\003\172\t\234\000\000,\n\000\000\000\000\000\000\000\000\013\168\000\000,$\000\000\000\000\000\000\000\000\001\210\000\000\007>\000\000\018T\000\026(<\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\000\000\030\172(<\000\000\031\n\000\000 \160\007\022\000\000\000\000\000\000\007\200\000\000\031b\000\000\000\0002\206\000\000\000\000\000\000\008\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\128\000\0005\164\000\000\000\000\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\019^\000\000#\238\000\000'>\000\000'\148\000\000)\200\000\000+z\000\0000N\000\0001|\000\0003\184\000\0005x\000\000,\128\000\000\004\190\000\0006\170\000\0006\232\000\00076\000\000(\192\000\000\000\000\000\0003\030\000\000\000\000\000\000\000\254\000\0003D\000\000\000\000\000\0003\168\000\000\000\000\002\188\000\000\024(\000!\001\174\000\000\003\024\000\000\013Z\002\026\007x\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\194\000\000#X\"\002\008\020\000\000\000\000\000\000-$\000\000-*\000\000-\172\000\000#\140$\016\008\190\0001\0086\000\000\000\000\000\000\003\200\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\000\000\000\0003\226\000\000\000\000\000\000\000\000 ,\000\000$\226\000\000\000\000\000\000\000\000\000\000\000\000\013\232\000\000\003N\000\000\000\000\000\000\024b\005\018\000\000\024\156\000\000\000\000\013\168\000\000\005\248\000\000\000\000\014>\000\000\024\214\000\000\000\000 \238\000\000\000\000\000\000\n0\000\000\000\000\006\152\000\000\000\000\025\188\000\000\000\000\000\000,\206\000\000\000\000\000\000\025\208\000\000\000\000\000\000\000\000-\178\000\000\000\000\000\000\000\000\005v\016\154\000\000.0\000\000\000\000\000\000\000\000\000\000\000\000\014\180\000\000\000\000\006\022\000\000\015\250\000\000\n0\000\000\000\000\004\138&N\000\000\006\218\000\000\000\000\000\000\000\000\003z\000\000$\248\000\000\0260\004v\026j\000\000\005z\000\000\016p\000\000\016\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\028\026\164\005\200\026\222\000\000\000\000\000\000\006D\000\000\017\200\000\000\007N\000\000\000\000\n0\002\180\028r\000\000\007\220\000\000\018>\028\172\000\000\000\000\018\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\168\007\178\000\000\007\216\000\000\000\000\000\000\000\000\007\250\000\000\019\152\000\000\000\000\000\000 \0243\232\000\000\000\000\000\000\030~\000\000\000\000\000\000\000\000\002\212\006\154\000\000\000\000.4\000\000\000\000\003\212\000\000\006\190\000\000\000\000\026\000\000\000\000\000\000\000.6\000\000\000\000\000\000\000\000.\140\000\000\000\000\006n\007\000\000\000\000\000.\206\000\000\000\000\007\244!\022\000\000\007L\000\000\000\000.\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\020\000\000\000\000\000\000\000\n\000\000\000\000\t\028\000\000\000\000\027\254\000\000\000\000\000\000/\198\000\000\000\000\000\000\000\000/\230\000\000\000\000\007R\tX\000\000\000\000/\236\000\000\000\000\008~\000\000\000\000\000\000\000\000\003z\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\238\000\000\020\012\000\000\000\000\000\0004\152\000\000\tH\000\000\000\000\000\000\004\208\000\000\005\206\000\000\000\000\008\132\020\128\000\000\021f\000\000\000\000\000\000\008\156\000\000\n@\008\162\012@\000\000\013\216\000\000\000\000\000\000\008\176\000\000%D\008\206%\210\000\000%\232\000\000\000\000\000\000\008\210\000\000\0164\008\208\000\000\000\000\n\020\008\244\n\254\000\000\019$\000\000\000\000\000\000\t\016\000\000\018\002\t \000\000\000\000\000\000\003\172\000\000\000\000\000\000\004\210\000\000\000\000\000\000\000\000\000\000\000\000\005X\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\\\000\000\000\000\003(\000\000\000\000\013$\000\000\000\000\000\000\000\000\003\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013(\000\000\000\000\013\012\000\000\013d\000\000\000\000\000\022\000\000\005d\012\194\002\018\000\000\000\000\006\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000~\000I\000\000\000\000\013\194\000\000\000\000\000\000\t*\000\000\000\000\011\226\011\250\000\000\000\000\000\000\000\000\0154\020\222\000{\000\000\024D\000\000\000\000\000\000\000\000\000\000\000\000\003J\000\000\000\000\008\198\000\000\000\000\012\136\000\000\000\000\000)\000\000\000\000\014\014\000\000\000X\000\000\000\000\000\000\000\000\013@\001,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\158\024x\000\000\000\000\000\000\000\000\029\002\000\000\000\000\024\006\000\000\013B\000\000\000\000\000\000\005\244\000\000\000\188\000\000\000\000\000\000\016\238\000\000\000\000\t\244\031r\000k\000\000\031\132\000\000\000\000\000\000\000\000\013\006\000\000\000\000\000\000\006\200\000\000\008\002\006\252\001\154\000\000\000\000\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\000\000\000\016\016\000\000\000\000\007\020\000\000\004\174\013F\005:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\026\000\000\000\000\019\222\031\148\000\000\000\000\000\000\000\000\008\016\000\000\005X\011\130\000\000\024<\000\000\000\000\000\000\000\000\000\000\002\162\026\136\000\000\000\000\029\026\000\000\000\000\000\000\000\000\020\168\000\000\030\218\000\000\000\000\000\000\000\000\000c\000\000\000\000\000\000\004\166\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\204\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000T\013\184\015\006\017\214\000\000\004\148\t.\t\152\t\222\000\000\000\000\000\000\000\000\000\000\000\000\006\024\021\218\000\000\027\024\008\172\000\000\000\000\t\250\000\000\022\020\000\000)P\000\000\000\000\006*\022N\000\000\028\230\000\000\008,\029 \000\000\000\000\000\000\002\200\015p\000\000\000\000\000\000\000\000\tb\000\000\019f\000\000\005\186\004\018\000\000\000\000\000\000\003\012\000\000\003r\000\000\008\210\000\000\000\000\005\178\000\000\000\000\000\000\000\000\t\130\000\000\000\000\n\016\000\000\023\238\000\000\021P\013\012\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000\000\000\000\000\0000j\000\000\002J\000\000\000\000\000\000\000\000\000\000\000\200\000\000\t\246\t\226\011H\000\000\002\142\011\196\000\000\n&\000\000\003\002\000\000\004r\000\000\004\230\000\000\021P\000\000\000\000\000\000\000\000\000\000\005Z\000\000\n2\000\000\006\202\000\000\021P\013n\000\000\000[\000\000\013\\\012\\\000\000\008\208\000\000\t2\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\004\000\000\n(\000\000\000\000\000\000\000\000\000\000\000\000\013x\000\000\000\000\012\144\000\000\000\000\012z\008\246\013\184\000\000\013\188\000\000\000\000\006\146\003\238\000\000\012\160\000\000\000\000\012\230\000\000\000\000\000\000\000\000\000\000\000\000\013\178\000\000\000\000\000\000\012\194\012\178\n\030\t\180\012\206\013\006\000\000\000\000\012\190\n,\nf\012\228\013\"\000\000\000\000\t\152\000\000\000\000\000\000\000\000\013\240\000\000\000\000\000\000\013\242\000\000\000\000"), (16, "\003l\003\131\000\018\005\244\000_\000a\001\225\000e\005\159\005i\005j\005\141\006\254\006;\006<\000_\005\224\005i\005j\002\164\004Y\004A\0062\000_\005\241\005\177\006\255\002\164\000\017\003l\003\131\006@\0017\005\142\005i\005j\005:\000\138\001g\000\004\001h\000\149\001\212\000\025\000g\006E\001\140\005\178\006F\005\181\005i\005j\005z\000_\000J\004\019\000_\003n\003l\003\131\000\007\003o\000\005\003N\006J\006o\000_\000a\000b\000e\005k\006p\001B\000_\005x\000\024\003:\006q\005k\004\018\005{\005i\005j\000\005\000\140\006\026\003n\006C\0026\001g\003o\001h\000\140\000\140\002=\005k\001i\000\141\000\138\001.\001j\000\142\000\149\0010\005\191\005\192\000g\0028\004\136\001\141\003\136\005k\001\181\004\019\0064\003n\003l\003\131\001\"\003o\006C\001\192\000J\000_\000a\001\t\000e\000\151\001w\006\169\003\231\000_\001\027\005\242\005\193\006q\006\170\004\018\0029\003\136\003\197\003\198\005k\005\194\000\140\001\213\003\253\001i\003U\007\007\000_\001j\001\194\000\140\005\191\005\192\003|\006 \000\141\006s\001\186\004\002\000\142\000g\000K\004\003\004\020\0024\003}\004\138\004g\004\019\000\028\003n\004\020\001\012\002=\003o\006t\001w\004U\003\232\006\189\000 \005\215\003|\000h\000J\000\151\004.\001/\001\188\001\214\005\194\001/\006*\004\007\003}\000\004\001\015\004B\0016\004a\005\145\003\253\000\152\001x\004\028\005\008\003\138\004x\000\031\0049\003\140\003|\004\028\000_\005\195\004!\004\002\0049\000\005\000_\004\003\004\020\006u\003}\000\153\003\197\003\198\004\224\000\008\001\217\006\190\006v\003\141\000\"\001\012\006\143\000J\003\142\001%\003\140\0011\003\143\000_\001\028\001\181\001\029\003\144\000\203\001\229\000\154\000\203\004\007\005\240\002\165\001x\004\023\006\145\000$\001\015\003\253\0016\003\141\004\028\000\152\004\252\006\147\003\142\0049\003\140\003|\003\143\001}\000\155\005\241\004\002\003\144\000_\000\194\004\003\004\020\006\191\003}\003l\003\131\000_\000\153\000\157\001\143\002H\006v\003\141\001\012\001\213\006\193\000\144\003\142\001g\000_\001~\003\143\001\172\002\164\004Y\004A\003\144\000_\000a\0019\000e\004\007\000\154\005~\002\246\004\023\006\195\001\015\002,\0016\000_\001g\004\028\001h\001\145\006\197\000_\0049\003\140\001\223\000_\000a\001>\000e\000_\000\155\000(\001\013\001\148\004\019\000\156\003n\003l\003\131\001\189\003o\000\203\000g\003\234\000\157\003\141\001\"\001\141\000\140\003\200\003\142\001i\000_\006\026\003\143\001j\006q\006\175\004A\003\144\001\027\000g\002=\002\245\001g\000g\001\203\002H\000\138\000g\006\163\000\140\000\147\006\164\001i\003\236\004z\005\251\001j\005\242\001\131\000_\006A\001w\005\188\006M\005\004\000_\004h\003\136\005\127\001\181\004\019\0026\003n\003l\003\131\004\246\003o\005\252\005\255\005i\005j\003\197\003\198\003-\001w\003F\006\186\000*\000_\001\189\002:\000\203\006q\006\175\004A\000J\003)\000\140\001\186\002\165\001i\000\140\006\168\003\253\001j\004\163\000\141\000_\003\197\003\198\000\142\006\"\001\191\003|\000\203\005e\000J\000\013\004\002\005\245\001\234\0029\004\003\004\020\000_\003}\004\132\004j\004\019\001\187\003n\005f\001w\000J\003o\002\166\000\151\004U\001\236\001x\005k\006%\000\016\000\017\006\180\005\168\001\231\001%\000\203\001&\001\204\001\012\001\028\004\007\001\029\003:\000\203\004B\006C\004a\005\006\003\253\001x\001\134\004\028\006\155\006\156\004x\001\192\0049\003\140\003|\001\026\0017\001\012\001\015\004\002\0016\005\130\000/\004\003\004\020\006\181\003}\000J\001\144\001\027\000_\001\233\000J\000\203\006v\003\141\005h\001\015\004\005\0016\003\142\001\015\001\193\0016\003\143\001\015\001E\0016\000\251\003\144\001\145\003\199\005f\001x\004\007\001\146\003G\000\152\004B\001\147\006\183\006\160\003\253\006N\001\148\004\028\006\240\000_\006\185\000h\0049\003\140\003|\001\145\006B\001\186\003:\004\002\004\n\000\153\002H\004\003\004\020\006\181\003}\002\193\001-\001\150\002\197\000\005\006(\002\193\006v\003\141\002\197\001\"\004\005\006r\003\142\003F\003l\003\131\003\143\004\169\000\183\004\186\003\139\003\144\000h\001\027\004\247\003;\004\007\003*\005o\000_\004B\006C\006\183\006q\006\175\004A\004[\004\028\000J\002;\006\185\000\155\0049\003\140\001g\000\184\001h\006~\004\249\000\185\006R\001(\003l\003m\002\238\000\157\001<\001\028\002\198\001\029\000\140\000\203\002\199\005p\002\198\003\141\003@\003\233\002\199\004\019\003\142\003n\003l\003\131\003\143\003o\005\169\0003\000\203\003\144\000_\000a\001\219\000e\003D\006\182\000J\000_\006\005\005Z\006\006\006q\006\175\004A\005\172\000_\000a\0020\000e\000\140\000h\000J\001i\003;\004\015\000J\001j\000\140\001\237\003n\001g\005[\001~\003o\004\016\005^\005i\005j\003\232\006\007\000g\004P\000_\000a\002?\000e\001\236\004\019\006\008\003n\003l\003\131\001$\003o\001w\000g\000J\001\028\002\239\001\029\001g\000\203\001h\006\184\004\181\000_\000\004\0002\001O\006q\006\175\004A\004R\0066\0067\002\212\003\019\003$\003\022\0017\003\253\002\212\000g\005q\002\242\000\140\004[\002\213\001i\000\005\003|\0005\001j\002\213\006\127\004\002\006\128\005k\000\203\004\003\004\020\006\181\003}\005X\005Y\004\019\003\025\003n\004c\000_\006v\003o\002\245\000J\004\005\000\140\001l\001\131\001i\004:\001w\006\192\001j\000_\005\007\004m\006V\002\164\003|\000\138\004\007\001u\001x\000\149\004B\000h\006\183\005\133\003\253\004\022\003}\004\028\003\197\003\198\006\185\0007\0049\003\140\003|\004\016\001w\003\197\003\198\004\002\004G\005\213\002\247\004\003\004\020\006\181\003}\004\251\002\247\003N\004\016\000;\002\031\000J\006v\003\141\002\248\001\012\004\005\005\134\003\142\006\134\002\250\005\211\003\143\001\215\005\214\005i\005j\003\144\000\140\003\168\001\012\004m\004\007\000\141\003l\003m\004B\000\142\006\183\001\015\003\253\0016\001x\004\028\001\145\005l\006\185\0017\0049\003\140\003|\003\141\005q\001\132\001\015\004\002\0016\001\012\001\152\004\003\004\020\006\181\003}\000\151\005\006\003\144\001\134\000h\000=\000J\006v\003\141\001x\000J\004\005\000?\003\142\000J\003l\003\131\003\143\001\015\004^\0016\006\131\003\144\005k\004\187\001\144\000\140\004\007\003n\005\t\000_\004B\003o\006\183\006q\006\175\004A\000J\004\028\006\002\005\235\006\185\000C\0049\003\140\000J\000J\001\145\0014\000B\006Z\000E\001\146\003l\003m\004\020\001\147\004o\002B\006h\000J\001\148\005\233\005\129\000J\000J\003\141\005\236\005i\005j\004\019\003\142\003n\003l\003\131\003\143\003o\001\145\000\152\006\136\003\144\002\193\005\254\006\127\002\197\006\128\006\196\000\203\000_\005\008\000G\001\154\002\164\004Y\004A\005\241\004\028\000J\0017\004!\000\153\0049\003l\003\131\005\252\005\255\005i\005j\000\140\006\241\003n\001g\006\132\001~\003o\005]\000h\000_\004P\004r\000h\002\164\004Y\004A\000h\000\154\000J\003|\004\019\005k\003n\003l\003\131\000_\003o\000J\002\238\005[\004\230\003}\002\198\005^\005i\005j\002\199\005\127\000_\002x\000\155\004Q\002\164\004Y\004A\000\193\004u\000h\000h\004\019\004\249\003n\001\018\003\253\000\157\003o\001C\000L\000\140\005k\0030\001i\002\143\003|\004z\001j\000h\002\201\004\002\004\147\006\248\004u\004\003\004\020\006\181\003}\006\026\004w\004\019\004\016\003n\003\197\003\198\006v\003o\002=\002\166\004\005\000J\000J\001\"\004%\004\164\001w\002\193\005k\005\247\002\219\003\130\000h\005\251\003|\004v\004\007\001\027\000N\000J\004B\000_\006\183\004\172\003\253\002\239\003}\004\028\004\141\000Q\006\185\000J\0049\003\140\003|\005\252\005\255\005i\005j\004\002\000J\002\210\002\212\004\003\004\020\002\241\003}\004\255\004g\004}\000h\002\242\004\141\003\253\002\213\003\141\004\188\000J\004\005\004\143\003\142\005\248\000\140\003|\003\143\004\236\002\198\000S\004\002\003\144\002\199\006^\004\003\004\020\004\007\003}\004e\004g\004B\002\245\004a\004\016\003\253\004\142\001x\004\028\001\"\004\005\004!\000_\0049\003\140\003|\003~\004\197\005\249\004\238\004\002\005k\006\027\001\027\004\003\004\020\004\007\003}\004\140\004g\004B\001\142\004a\005\171\002\236\003q\003\141\004\028\000W\004\005\004!\003\142\0049\003\140\006m\003\143\002\247\001\228\000J\001%\003\144\001+\000h\001\144\001\028\004\007\001\029\004\236\000\203\004B\002\248\004a\003l\003\131\003z\003\141\004\028\006\214\006R\004!\003\142\0049\003\140\003\215\003\143\001\145\000d\000_\005\141\003\144\001\146\002\164\004Y\004A\001\147\001g\002\212\001h\004\237\001\148\003\230\003l\003\131\000\205\003\141\000J\002\167\005\016\002\213\003\142\005\142\005i\005j\003\143\000\208\001g\000_\001h\003\144\005\019\002\164\004Y\004A\005\026\003+\005\018\006\214\004\019\002H\003n\005\029\006R\001g\003o\001h\000J\002\193\005\018\006\030\002\197\000\140\005\028\001%\005$\0033\005'\005*\001\028\005\028\001\029\000\140\000\203\007\015\001i\006\238\006\133\004\019\001j\003n\003l\003\131\005&\003o\005&\005\028\0052\006R\007\016\003\234\006\172\000\140\006a\005k\001i\000_\000\212\000\211\001j\006q\0055\004\018\004\016\006\144\0054\005\232\001w\0058\000\140\002\166\000_\001i\000\140\004\016\002\164\001j\002\198\001g\0054\001~\002\199\003\237\003\238\003\240\006\172\005\028\001w\005\233\006\221\000J\006\172\000\214\005\236\005i\005j\004\019\000h\003n\005\169\003\253\000\203\003o\006\187\001w\002\166\000_\000a\002D\000e\003|\003N\000\216\006\214\006\188\004\002\006U\000\220\002\193\004\003\004\020\002\197\003}\005\003\004g\003:\005\250\000h\006\132\003\253\007\003\006\214\000\222\000\140\004\005\006x\001i\006\178\006\215\003|\001j\004\215\000\225\006\194\004\002\001x\000g\006\249\004\003\004\020\004\007\003}\006\141\004g\004B\005k\004a\002\193\000\229\000\228\002\197\004\028\005\148\004\005\004!\001x\0049\003\140\001w\006T\001\192\004\231\000\231\000\140\002\212\000_\000f\002\198\000e\004\007\000\233\002\199\001x\004B\007\002\004a\002\213\003\253\000_\003\141\004\028\007\t\002\164\004!\003\142\0049\003\140\003|\003\143\006\248\000h\001\194\004\002\003\144\006S\000\237\004\003\004\020\006\174\003}\003l\003\131\002\238\001y\000\239\000g\002\198\006v\003\141\007\n\002\199\006\177\004\020\003\142\000\241\000_\000\245\003\143\003N\006q\000\244\004\018\003\144\001\145\000\247\000h\000\249\004\007\004.\000\252\000\254\004\023\006\179\006\217\003H\000\138\001x\001\156\004\028\000\147\001\145\006\185\001\000\0049\003\140\002\247\005-\001\002\006\011\001\006\000_\006\219\003L\004\028\001\158\004\019\004!\003n\0049\002\252\005\021\003o\003l\003\131\002\212\001F\003\141\001\012\001\011\0043\001;\003\142\005\177\006\173\001A\003\143\002\213\000_\006\248\001@\003\144\006q\001\144\004\018\001\222\006\249\002\239\0047\001\221\001\227\000\140\001\015\006\249\0016\005\178\000\141\005\181\005i\005j\000\142\001\241\001\244\001\248\002\212\001\145\001\247\003\029\001\250\005\141\001\146\001\252\002\000\002\242\001\147\002\002\002\213\002\005\004\019\001\148\003n\005\141\002\t\002\008\003o\001g\000\151\001~\002\011\002\013\004\020\005\142\005i\005j\003l\003\131\006\176\001\012\002\017\002\019\002\021\002\245\002\025\005\142\005i\005j\002\247\003\253\001g\000_\001|\002\024\000\138\002\164\002\027\004\018\000\139\003|\002\029\005k\002\254\001\015\004\002\0016\005/\002 \004\003\004\020\006\174\003}\002\"\004\028\002$\002&\004!\002*\0049\006v\003 \0023\000\140\006\177\001g\001i\001{\002\247\0022\001j\002A\004\019\002G\003n\002F\005k\002\138\003o\002J\004\007\002M\002\248\002Q\004\023\006\179\000\140\000\152\005k\001i\000\140\004\028\003\253\001j\006\185\000\141\0049\003\140\001w\000\142\002P\002S\003|\002U\001T\002Y\005\011\004\002\002[\000\153\004\135\004\003\004\020\006\174\003}\002^\002b\002a\002d\003\141\000\140\001w\006v\001i\003\142\000\151\006\177\001j\003\143\001\195\002f\000\203\002j\003\144\000\183\000_\000a\002\134\000e\002l\002n\002r\004\007\002q\002t\002v\004\023\006\179\005\201\003l\003\131\002y\002{\004\028\002}\001w\006\185\000\155\0049\003\140\002\127\000\184\002\131\003\253\000_\000\185\002\137\002\136\002\164\002\142\004\018\000\157\002\148\003|\002\147\000g\001x\005c\004\002\005w\005\139\003\141\004\003\004\020\005\154\003}\003\142\005v\005\132\005\174\003\143\005\190\005\209\005\231\006\004\003\144\005\152\004|\006\153\001x\005\023\005x\006\199\000\152\004\019\006\203\003n\005{\005i\005j\003o\000_\001g\004\007\001~\006M\006\222\004\023\004~\006\226\003l\003\131\001\144\002\166\004\028\000\153\006\231\004!\004\011\0049\003\140\006\232\005\144\001x\006\237\000_\006\236\006\244\004\133\002\164\004\013\004\018\004\135\000J\001\145\001g\006\246\001h\006\252\001\146\000\181\007\000\003\141\001\147\005\142\005i\005j\003\142\001\148\007\001\007\004\003\143\007\005\003l\003\131\007\008\003\144\000\140\005\180\005k\001i\007\011\004\025\000\155\001j\004\019\007\012\003n\000_\007\020\007\024\003o\002\164\004\026\004A\000\000\000\000\000\157\000\000\000\000\005\178\000\000\005\181\005i\005j\003\253\000_\000a\002\140\000e\000\140\000\000\001w\001i\000\000\003|\001\012\001j\000\000\000\138\004\002\000\000\000\000\000\139\004\003\004\020\005k\003}\004\019\000\000\003n\000\000\003l\003\131\003o\000\000\000\000\000\000\000\000\004|\001\015\004D\0016\000\000\000\000\001w\000g\000_\000\000\000\000\000\000\002\164\004\026\004A\000\000\004\007\000\000\000\138\000\000\004\023\004~\000\139\000\000\000h\005k\002\193\004\028\000\000\002\197\004!\000\000\0049\003\140\000\000\000\140\000\000\003\253\000\000\000\000\000\141\000\000\005\135\006X\000\142\000\000\000\000\003|\004\019\000_\003n\001x\004\002\006M\003o\003\141\004\003\004\020\000\000\003}\003\142\000\138\000\000\000\138\003\143\000\139\000\000\000\147\003O\003\144\000\151\004F\000\000\000\140\000\000\005\025\000\000\006O\000\141\000\203\003\253\000\140\000\142\000\000\001x\002\198\003S\004\007\005\141\002\199\003|\004\023\004H\000\000\000\000\004\002\000\000\001\144\004\028\004\003\004\020\004J\003}\0049\003\140\000\000\006R\000\000\000\151\000\000\005\142\005i\005j\000\000\004\005\000\000\000\140\000\000\000\140\001\145\000\000\000\141\002\166\000\141\001\146\000\142\003\141\000\142\001\147\002\193\004\007\003\142\002\218\001\148\004B\003\143\004C\000\000\001\012\003\253\003\144\004\028\003:\000\000\004!\000\000\0049\003\140\000\152\003|\000\000\000\151\001\145\000\151\004\002\000\000\003l\003\131\004\003\004\020\000\000\003}\001\015\000\000\0016\004I\001\160\000\000\000\000\003\141\000\153\000_\005k\004\005\003\142\002\164\004\026\004A\003\143\000\000\000\000\000\000\002\212\003\144\000\140\001g\000\152\001~\002\198\004\007\000\000\000\000\002\199\004B\002\213\004C\000\000\005\251\000\000\001g\004\028\001z\005\251\004!\000\000\0049\003\140\000\000\000\153\000\000\006W\004\019\000\000\003n\000\000\003l\003\131\003o\000\155\005\252\005\255\005i\005j\003&\005\252\005\255\005i\005j\003\141\000\152\000_\000\152\000\159\003\142\002\164\004Y\004A\003\143\000\000\000\000\000\140\000\000\003\144\001i\006O\000\000\000\203\001j\002\234\000\000\000\000\000\153\000h\000\153\000\140\003;\001Q\001i\000\000\000\000\000\000\001j\006V\002\247\000\000\000\000\000\000\000\000\000\000\000\000\004\019\002\166\003n\003l\003\131\001w\003o\003\000\000\183\000\000\005\165\000\000\005k\000\000\001g\002\212\001h\005k\000_\001w\000\000\000J\002\164\004Y\004A\000\000\003@\002\213\000\000\000\155\000\138\000\155\003\253\000\000\000\139\000\184\000\000\005\177\000\000\000\185\000\000\000\000\003|\000\161\003D\000\157\000\000\004\002\000\000\000\000\000\000\004\003\004\020\002\193\003}\000\000\002\197\000\000\004\019\005\178\003n\005\181\005i\005j\003o\000\000\004\005\000\000\000\000\000\140\000\000\000\000\001i\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\004\007\001x\000\000\000\140\004B\000\000\004C\000\000\000\141\003\253\000\000\004\028\000\142\000\000\004!\001x\0049\003\140\000\000\003|\000\000\000\000\001w\000\000\004\002\005)\002\238\000\000\004\003\004\020\002\198\003}\000\000\004`\002\199\003l\003\131\006\t\000\151\003\141\000\000\005k\006\014\004\005\003\142\000\000\000\000\001\144\003\143\000h\000_\000\000\000\000\003\144\002\164\004Y\004A\000_\000\000\004\007\000\000\006M\000\000\004B\001g\004a\001~\003\253\000\000\001\145\004\028\000\000\000\000\004!\001\146\0049\003\140\003|\001\147\000\000\000\000\000\000\004\002\001\148\000\000\000\000\004\003\004\020\000\000\003}\004\019\004b\003n\004;\003l\003\131\003o\000\000\003\141\000\000\001x\004\005\000\000\003\142\000\000\003l\003\178\003\143\000\000\000_\002\239\004?\003\144\002\164\004\127\004A\000\152\004\007\000\000\000\140\000\000\004B\001i\004a\000\000\000\000\001j\002\212\004\028\002\193\003\026\004!\002\197\0049\003\140\001g\002\242\001h\000\153\002\213\000_\000a\002\145\000e\000\000\000\000\000\000\005\219\000\000\004\019\000\000\003n\003l\003\131\001w\003o\003\141\000\000\003\028\000\138\000\140\003\142\003n\000\139\002\245\003\143\003o\000_\001\145\000\000\003\144\002\164\004\127\004A\000\000\000\000\000\000\000\000\000\000\000\000\000g\003\253\001\162\000\000\000\140\004\129\001\197\000\000\002\198\000\000\000\140\003|\002\199\001i\000\000\000\000\004\002\001j\000\000\000\000\004\003\004\020\003\"\003}\000\000\004t\000\000\004\019\002\247\003n\000\000\000\000\000\000\003o\000\140\004\005\000\000\000\000\006N\000\141\000\000\000\000\002\248\000\142\000_\001w\000\000\000\000\002\164\000\000\000\000\004\007\001x\000\000\000\000\004B\000\000\004a\003l\003m\003\253\000\000\004\028\004\131\000\000\004!\000\000\0049\003\140\000\151\003|\000\000\006O\000\000\000\203\004\002\0057\000_\000\000\004\003\004\020\003|\003}\000\000\003N\000\000\000\000\003l\003\131\000\000\003\141\000\000\000\000\003}\004\005\003\142\004\149\000\000\001\144\003\143\000\000\000\000\000_\000\000\003\144\002\212\002\164\004\026\004A\000\000\004\007\000\000\000\000\000\140\004B\003n\004\130\002\213\003\253\003o\001\145\004\028\000\000\001x\004!\001\146\0049\003\140\003|\001\147\000\000\001\012\000\000\004\002\001\148\000\000\000\000\004\003\004\020\000\000\003}\000\000\004\019\006\134\003n\003l\003\131\000\152\003o\003\141\000\000\005\177\004\005\000\000\003\142\001\015\002\193\0016\003\143\002\197\000_\000\000\000\000\003\144\002\164\000\000\004\018\000\000\004\007\000\153\000\000\000\000\004B\005\178\004\130\005\181\005i\005j\000\000\004\028\000\000\000\000\004!\000\000\0049\003\140\002\215\000\000\000\000\000\000\000\000\001\145\001g\000\000\001h\004\020\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\001\164\003o\003\141\000\000\000\000\002\193\000\140\003\142\002\217\003|\002\198\003\143\000\155\000_\002\199\000\000\003\144\002\164\000\000\004\018\000\000\003}\000\000\000\000\0051\000\000\000\163\000\000\003\253\004\253\000\000\004\028\005k\004\135\004!\001g\0049\001h\003|\000\000\000\000\000\000\000\140\004\002\005\232\001i\000\000\004\003\004\020\001j\003}\000\000\000\000\004\019\000\000\003n\000\000\000\000\000\000\003o\000\140\006\137\004\005\006\138\002\198\006\127\005\233\006\128\002\199\000\203\000\000\005\236\005i\005j\000\000\000\138\005\141\001w\004\007\001\209\000\000\000\000\004B\000\000\004C\000\000\003\253\005\013\003\141\004\028\000\140\004\135\004!\001i\0049\003\140\003|\001j\005\142\005i\005j\004\002\003\146\000\000\000_\004\003\004\020\002\212\003}\000\000\000\000\000\000\000\000\003l\003\131\000\000\000\000\003\141\000\000\002\213\004|\006R\003\142\000\000\000\000\001w\003\143\000\000\000_\000\000\000\140\003\144\002\164\005k\004\018\000\141\004\007\002\166\006\020\000\142\004\023\004~\000\000\000\000\003\253\000_\001\014\004\028\000e\000\000\004!\000\000\0049\003\140\003|\001x\000\000\003:\000\000\004\002\005k\002\212\000\000\004\003\004\020\000\151\003}\000\000\004\019\001\"\003n\003l\003\131\002\213\003o\003\141\000\000\000\000\004|\000\000\003\142\000\000\000\000\001\027\003\143\000g\000_\000\000\002\214\003\144\002\164\000\000\004\018\000\000\004\007\000\000\000\000\000\000\004\023\004~\003l\003\131\005\015\001x\000\000\004\028\004\135\000\000\004!\006c\0049\003\140\000\000\000\000\000\000\000_\000\000\000\000\000\000\002\164\004\026\004A\000\000\001\145\000\000\001g\004\019\001h\003n\003l\003\131\000\000\003o\003\141\000\000\000\000\006/\001\166\003\142\000\000\000\000\000\000\003\143\000\152\000_\000\000\000\000\003\144\002\164\002\193\004\018\000\000\002\197\000\000\000\000\004\019\000\000\003n\000\000\003\253\006[\003o\000\000\000\000\004\135\000\153\000\000\000h\005\163\003|\004.\001\145\000\000\000\000\004\002\000\000\000\000\006V\004\003\004\020\000\140\003}\000\000\001i\004\019\001\168\003n\001j\000\000\000\000\003o\000\000\001%\004|\003=\002\193\000\000\001\028\002\197\001\029\000\000\000\203\000\000\000\000\000\140\000\000\000\000\000\000\002\198\004\007\000\000\0043\002\199\004\023\004~\001w\001\012\003\253\006i\000\000\004\028\000\000\004\135\004!\000\000\0049\003\140\003|\000\000\0047\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\000\000\003}\001\015\000\000\0016\000\000\000\000\000\000\003\253\000\000\003\141\000\000\002\238\004|\000\000\003\142\002\198\000\000\003|\003\143\002\199\000\000\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004~\000\000\000\000\003\253\000\000\000\000\004\028\000\000\004\005\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\001x\004\003\004\020\004\007\003}\000\000\000\000\004B\000\000\004C\000\000\000\000\002\212\003\141\004\028\000\000\004|\004!\003\142\0049\003\140\000\000\003\143\000\000\002\213\000\000\000\138\003\144\002\193\000\000\000\139\002\216\004\007\000\000\000\000\000\000\004\023\004~\000\000\000\000\000\000\002\239\003\141\004\028\003l\003\131\004!\003\142\0049\003\140\000\000\003\143\000\000\006\146\000\000\000\000\003\144\000\000\002\212\000_\000\000\003\026\000\000\002\164\004\026\004A\000\000\002\242\001\145\000\000\002\213\003\141\004\144\003l\003\131\000\000\003\142\000\000\000\000\000\000\003\143\000\140\001\174\000\140\005\210\003\144\000\141\002\198\000_\003\028\000\142\002\199\002\164\002\247\004A\002\245\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\005\211\003\002\000\000\005\214\005i\005j\000\000\005\251\004E\000\000\000\151\000_\005\141\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\003!\003o\005\252\005\255\005i\005j\002\247\005\142\005i\005j\004\017\005\141\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\002\248\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\005\142\005i\005j\000\000\000\000\005k\004\027\000\000\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\000\000\000\000\002\212\000\000\004\019\000\000\003n\000\000\003\253\000\000\003o\000\000\000\152\000\000\002\213\000\000\005k\000\000\003|\000\000\005k\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\000\000\003}\000\000\000\000\004\019\000\153\003n\000\000\003\253\000\000\003o\000\000\000\000\004\005\000\000\000\000\000\000\005k\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004B\000\000\004C\000\000\003\253\000\000\000\000\004\028\000\000\004\146\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\000\000\004\002\000\155\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004B\000\000\004\148\005\216\003\253\000\165\003\141\004\028\000\000\004\021\004!\003\142\0049\003\140\003|\003\143\000\000\000_\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000_\000\000\004\023\004\024\000\000\006\028\003\253\000\000\003\141\004\028\005\161\004\021\004!\003\142\0049\003\140\003|\003\143\000\000\000\000\000\000\004\002\003\144\000\000\000_\004\003\004\020\004\007\003}\000\000\000\000\004\023\004\024\003l\003\131\000\000\005\199\003\141\004\028\000\000\004\021\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\001\"\004\007\000\000\000\000\000\000\004\023\004\024\003l\003\131\000\000\001\"\003\141\004\028\000\000\001\027\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\001\027\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\001\"\003n\003l\003\131\000\000\003o\003\141\000\000\000\000\000\000\000\000\003\142\000\000\000\000\001\027\003\143\000\000\000_\005\251\000\000\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\000\000\000\000\000\000\005\252\005\255\005i\005j\000\000\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006_\000\000\000\000\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\001%\003\253\004(\003o\000\000\001\028\000\000\001\029\000\000\000\203\001%\003|\0040\000\000\005k\001\028\004\002\001\029\000\000\000\203\004\003\004\020\000\000\003}\000\000\000\000\004\019\000\000\003n\004d\003\253\000\000\003o\000\000\001%\004]\004\175\000\000\000\000\001\028\003|\001\029\000\000\000\203\000\000\004\002\000\000\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004_\000\000\004\\\003\253\000\000\000\000\004\028\000\000\004]\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004_\004p\000\000\003\253\000\000\003\141\004\028\000\000\004q\004!\003\142\0049\003\140\003|\003\143\000\000\000_\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004s\000\000\004n\003\253\000\000\003\141\004\028\006#\004]\004!\003\142\0049\003\140\003|\003\143\000\000\000\000\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004_\003l\003\131\000\000\000\000\003\141\004\028\000\000\006`\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\001\"\004\007\000\000\000\000\000\000\004\023\006b\003l\003\131\000\000\000\000\003\141\004\028\000\000\001\027\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\003\141\000\000\000\000\000\000\000\000\003\142\000\000\006k\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\004{\000\000\000\000\000\000\000\000\006n\000\000\000\000\000\000\000_\005\141\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\005\251\003n\000\000\000\000\000\000\003o\000\000\000\000\004\128\000\000\000\000\005\142\005i\005j\000\138\000\000\000\000\000\000\001V\000\000\000\000\000\000\005\252\005\255\005i\005j\000\000\000\000\004\019\000\000\003n\001%\003\253\004\218\003o\000\000\001\028\000\000\001\029\000\000\000\203\000\000\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\000\138\003}\000\000\000\000\000\147\000\000\000\000\000\000\003\253\000\000\000\000\000\000\000\000\004|\000\000\000_\000\140\000\000\003|\000\000\005k\000\141\000\000\004\002\000\000\000\142\000\000\004\003\004\020\004\007\003}\000\000\005k\004\023\004~\000\000\000\000\003\253\000\000\000\000\004\028\000\000\004|\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\000\151\004\002\000\000\000\000\000\140\004\003\004\020\004\007\003}\000\141\000\000\004\023\004~\000\142\000\000\003\253\000\000\003\141\004\028\000\000\006`\004!\003\142\0049\003\140\003|\003\143\000\000\000\000\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\151\004\023\006b\000\000\000\000\003l\003\131\003\141\004\028\000\000\006`\004!\003\142\0049\003\140\000\000\003\143\000\000\000\000\000\000\000_\003\144\000\000\000\000\004\162\000\000\004\007\000\000\003l\003\129\004\023\006b\000\000\000\000\000\000\000\000\003\141\004\028\005\204\000\152\004!\003\142\0049\003\140\000\000\003\143\000\000\004\193\000\000\006&\003\144\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\004\196\000\153\003n\000\000\000\000\003\141\003o\000\000\000\000\000_\003\142\000\000\000\000\000\138\003\143\003l\003\128\000\147\000\152\003\144\001g\005\251\001h\000\140\004\202\003n\000\000\000\000\000_\003o\000\000\000\000\000\197\000\198\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\000\000\000\005\252\005\255\005i\005j\000\000\000\000\000\140\000\000\000\000\004\239\000\000\000\141\003\136\000\000\001\181\000\142\000\138\000\202\000\000\000\203\000\147\000\000\000\183\000\000\000\000\000\140\000\000\000\140\000\000\003n\000\141\000_\000\140\003o\000\142\001i\000\000\000\000\000\000\001j\000\000\000\151\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\005\141\000\000\000\000\003|\000\157\000\151\001G\000\000\005k\005\141\000\000\000\000\001w\004\203\000\000\003}\000\140\005\141\000\000\000\000\000\000\000\141\005\142\005i\005j\000\142\003|\004\241\000\000\000\000\000\000\005\142\005i\005j\000\000\000\000\000\000\000\000\003}\005\142\005i\005j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\151\003l\003\131\004\206\000\000\000\000\004\242\000\000\004\229\003\140\000\000\000\138\000\000\000\152\000\000\000\147\000_\000\000\002\193\000\000\004\162\002\197\003|\000\000\000\000\000\000\000_\000\197\001n\000\200\000\201\003\141\000\152\005k\003}\000\153\003\142\000\000\000\000\001x\003\143\000\000\005k\004\243\000\000\003\144\000\197\002\203\000\200\000\201\005k\000\000\000\000\000\000\000\153\000\202\004\196\000\203\003n\000\000\000\183\000\000\003o\000\000\006-\000\000\000\140\000\000\000\000\003l\003\127\000\141\000\000\000\140\000\202\000\142\000\203\002\198\000\152\000\183\004\202\002\199\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\197\003s\000\200\000\201\000\000\000\157\000\000\001G\000\153\000\151\000\155\000\000\000\000\000\000\000\184\001\145\000\138\000\000\000\185\000\000\000\147\000\000\000\000\000\000\000\157\000\000\001G\000\000\000\202\001\176\000\203\000_\000\140\000\183\003n\000\138\003l\003\131\003o\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\228\000_\000_\000\000\000\000\000\000\004\162\000\155\000\000\005\226\000\000\000\184\000\000\000\000\000\000\000\185\003|\006\018\000\000\000\000\000\000\000\157\000\140\001G\000\000\000\000\004\203\000\141\003}\004\195\000\000\000\142\000\000\002\212\000\000\000\000\000\000\000\000\000\152\000\000\004\204\000\140\004\196\000\000\003n\002\213\000\141\000\000\003o\000\000\000\142\000\000\000\197\003\255\000\200\000\201\000\000\000\151\002\193\000\000\000\153\002\197\000\000\000\000\000\000\000\000\004\202\004\206\000\000\000\000\004\211\000\000\004\229\003\140\000\138\000\000\000\151\000\000\000\147\000\000\000\202\000\000\000\203\000\000\003|\000\183\000\000\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\000\003\141\003}\000\000\000\000\000\000\003\142\000\000\000\000\000\000\003\143\003l\003\131\000\000\000\155\003\144\000\000\000\000\000\184\000\140\002\247\000\000\000\185\002\198\000\000\000\000\000\000\002\199\000\157\000\000\001G\000\000\004M\000\000\003\004\000\140\000\000\000\000\000\000\000\000\000\141\000\152\000\000\000\000\000\142\000\000\000\000\000\000\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\197\004\030\000\200\000\201\004\203\000\152\003}\000\000\000\153\000\000\000\000\002\238\000\000\003n\000\000\000\151\000\000\003o\004\204\000\197\004\208\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\202\000\000\000\203\000\000\000\000\000\183\000\000\000\000\001\179\001\181\000\000\000\138\000\000\000\000\000\000\000\147\000\000\004\206\000\000\000\202\004\211\000\203\004\229\003\140\000\183\000\000\000_\000\000\000\155\000\000\000\000\000\000\000\184\000\000\004S\000\000\000\185\002\212\003\136\000\000\000\000\000\000\000\157\000\000\001G\003\141\000\000\000\155\000\000\002\213\003\142\000\184\000\000\000\000\003\143\000\185\000\000\000\000\000\000\003\144\000\000\000\157\000\000\001G\000\000\000\152\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\003\253\000\142\003l\003\131\000\000\000\000\000\000\000\000\001\183\000\000\003|\000\000\000\000\000\153\000\000\004\002\000\000\000\000\000\000\004\003\000\000\000\000\003}\003\246\005\n\003l\003\131\000\151\000\000\000\000\000\000\000\000\000\000\001\189\004U\000\203\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\002\247\000\000\003\246\004V\000\000\000\000\004\007\003l\003\131\000\000\000\000\000\000\000\000\002\238\003\006\003n\000\138\000\155\000\000\003o\000\147\000\184\000\000\003\140\000\000\000\185\000\000\002\193\003\246\004L\002\197\000\157\000\000\000\000\000\000\000\000\002\238\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\003\141\000\000\000\000\000\000\000\000\003\142\000\000\000\000\000\000\003\143\000\000\003l\003m\000\000\003\144\000\000\000\152\002\238\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\000\140\000\000\003l\003\131\001I\000\141\000\000\000\201\000\000\000\142\000\000\000\140\000\153\000\000\000\000\002\198\000\000\000\000\000\000\002\199\000\000\001\210\000\000\003\246\003\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\003\253\000\203\000\151\000\000\000\183\000\000\000\000\000\140\000\000\003n\003|\000\000\000\000\003o\000\000\004\002\000\000\000\000\000\000\004\003\000\000\000\000\003}\003\253\002\238\000\000\003n\000\155\000\000\000\000\003o\000\184\000\000\003|\004\005\000\185\000\000\000\000\004\002\000\000\000\000\000\157\004\003\001G\000\000\003}\000\000\000\000\000\000\003\253\004\007\000\000\000\000\000\000\000\000\000\000\000\000\004\005\000\000\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\003\140\004\003\000\000\000\000\003}\000\000\004\007\003l\003\131\000\000\000\000\000\000\002\212\000\152\000\000\000\000\004\005\000\000\003l\003\131\000\000\000\000\003\141\003\140\002\213\000\000\000\000\003\142\003\246\004\001\000\182\003\143\004\007\000\000\000\000\000\153\003\144\000\000\000\000\003\246\004X\003|\000\000\000\000\000\000\003\141\000\000\000\000\003\253\003\140\003\142\000\000\000\000\003}\003\143\000\000\003l\003\131\003|\003\144\000\183\000\000\002\238\004\002\003n\000\000\000\000\004\003\003o\000\000\003}\003\141\000\000\002\238\000\000\003n\003\142\003\246\005\031\003o\003\143\000\000\004\005\000\155\000\000\003\144\000\000\000\184\000\000\000\000\000\000\000\185\000\000\002\247\000\000\000\000\000\000\000\157\004\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\008\000\000\000\000\000\000\002\238\000\000\003n\000\000\003\140\000\000\003o\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\000\000\000\003l\003\131\000\000\000\000\000\000\000\000\000\000\003\148\000\000\000\000\003\141\003l\003\131\000\000\000\000\003\142\000\000\000\000\000\000\003\143\000\000\003\246\005!\000\000\003\144\000\000\003\253\000\000\000\000\000\000\000\000\000\000\003\246\005#\000\000\000\000\003|\003\253\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\000\000\003|\003}\000\000\000\000\000\000\004\002\000\000\000\000\002\238\004\003\003n\000\000\003}\004\005\003o\003l\003\131\000\000\000\000\002\238\000\000\003n\000\000\000\000\004\005\003o\000\000\000\000\003\253\004\007\000\000\000\000\000\000\000\000\000\000\000\000\004O\000\138\003|\000\000\004\007\000\147\000\000\004\002\000\000\000\000\003\140\004\003\000\000\001g\003}\001h\000_\002\193\000\000\000\000\002\197\003\140\000\000\000\000\000\000\000\000\004\005\000\000\000\000\000\000\000\000\000\000\003\141\000\000\002\238\000\000\003n\003\142\000\000\000\000\003o\003\143\004\007\003\141\000\000\000\000\003\144\000\138\003\142\000\000\000\000\000\147\003\143\000\000\000\000\000\000\000\140\003\144\000\000\003\140\000\000\000\141\000_\003\253\000\000\000\142\000\000\000\000\000\140\000\000\000\000\001i\000\140\003|\003\253\001j\002\198\000\000\004\002\000\000\002\199\003\141\004\003\000\000\003|\003}\003\142\000\000\000\000\004\002\003\143\000\151\000\000\004\003\000\000\003\144\003}\004\005\000\000\003l\003m\000\000\000\140\001w\000\000\000\000\000\000\000\141\004\005\000\000\000\138\000\142\000\000\004\007\001S\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\004\007\003\253\000\000\000\000\000\000\000\000\003\140\000_\000\000\000\000\000\138\003|\000\000\000\151\000\147\000\000\004\002\003\140\003l\003m\004\003\000\000\000\000\003}\000\000\000_\000\000\000\000\003\141\000\000\000\140\000\000\003n\003\142\000\000\004\005\003o\003\143\000\000\003\141\000\000\000\140\003\144\000\000\003\142\000\152\000\141\000\140\003\143\002\212\000\142\004\007\000\141\003\144\000\000\000\000\000\142\001x\000\000\000\000\000\000\002\213\001W\000\000\000\000\000\140\000\000\000\153\003\140\000\000\000\141\000\000\000\000\000\140\000\142\003n\000\151\000\000\000\000\003o\000\000\000\138\000\151\000\000\000\000\000\147\000\000\001Y\000\000\000\203\003\141\000\152\000\183\000\000\000\000\003\142\000_\000\000\000\000\003\143\000\151\000\000\000\138\000\000\003\144\000\000\000\147\000\000\001W\000\000\000\000\000\000\000\000\000\153\000\000\000\155\000\000\000_\000\000\000\184\000\000\000\000\000\000\000\185\000\000\001\145\000\000\000\000\000\000\000\157\002\247\003|\000\000\001\201\002\193\000\203\000\140\002\197\000\183\001\178\000\000\000\141\000\000\003}\003\n\000\142\000\000\000\000\000\000\000\000\002\193\000\000\000\000\002\197\000\152\000\000\000\000\000\140\000\000\000\000\000\152\000\155\000\141\000\000\000\000\000\184\000\142\000\000\000\138\000\185\000\000\000\151\000\147\000\000\003|\000\157\000\153\001T\000\152\000\000\000\000\000\000\000\153\000_\000\000\000\000\003}\000\000\000\000\000\140\000\000\000\000\000\151\002\198\000\000\002\176\000\000\002\199\000\000\000\000\000\153\000\000\001\207\000\000\000\203\002\238\000\000\000\183\000\000\002\198\003\141\000\000\000\000\002\199\000\000\000\000\000\000\000\000\002\193\000\000\002\178\002\197\000\203\000\140\003\150\000\183\000\000\000\000\000\141\000\000\000\155\000\000\000\142\000\000\000\184\000\000\000\000\000\000\000\185\000\000\002\193\000\000\000\000\002\197\000\157\000\000\000\000\000\000\000\155\000\152\000\000\000\000\000\184\003\141\000\000\000\000\000\185\000\000\000\151\000\000\000\000\000\138\000\157\000\000\000\000\000\147\002\176\003\152\000\000\000\000\000\152\000\153\000\000\000\140\000\138\000\138\000\000\002\198\000\147\001R\000\000\002\199\000\000\000\000\000\000\000\000\000\000\003\\\000\000\002\239\002\212\002\195\000\153\000\203\000\000\002\238\000\183\000\000\000\000\002\198\003l\003m\002\213\002\199\000\000\000\000\002\212\003\019\003\020\003\022\000\000\000\000\003^\000\000\000\203\002\242\000\140\000\183\002\213\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\000\000\185\000\000\000\140\000\140\000\000\000\000\000\157\000\141\000\141\000\152\003\025\000\142\000\142\000\155\000\000\000\000\002\245\000\184\000\000\000\000\000\000\000\185\000\000\000\179\000\151\000\000\003\\\000\157\000\140\000\000\003n\000\153\000\000\000\000\003o\000\138\000\000\000\151\000\151\000\147\000\000\000\000\000\000\000\000\002\247\001\198\000\000\002\212\000\000\000\000\000\138\003\176\002\239\000\203\000\147\000\000\000\183\000\000\003\012\002\213\002\247\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\002\212\003\019\006e\003\022\000\000\002\248\000\000\000\000\000\000\002\242\000\155\000\000\002\213\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\140\000\000\000\000\000\157\000\000\000\141\000\000\000\000\000\000\000\142\003\025\000\000\000\152\000\000\002\193\000\140\002\245\002\197\000\000\000\000\000\141\001\170\000\000\000\000\000\142\000\152\000\152\000\000\000\140\001\183\000\000\000\000\000\000\000\141\000\153\000\151\000\000\000\142\002\247\003|\000\000\000\000\000\182\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\151\003}\003\014\000\000\000\000\000\000\000\000\000\000\000\000\000\183\002\247\002\193\000\138\000\151\002\197\000\000\000\147\000\000\000\000\002\238\000\000\002\173\000\183\002\198\002\248\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\155\000\000\000\000\002\193\000\184\000\000\002\197\000\000\000\185\000\000\000\000\000\000\000\000\000\155\000\157\000\000\000\000\000\184\003l\003m\000\000\000\185\000\138\000\000\000\000\000\000\000\147\000\157\000\000\000\000\000\000\000\152\000\000\000\000\002\238\000\140\003\141\000\000\002\198\000\000\000\141\000\000\002\199\000\000\000\142\000\000\000\152\000\000\000\182\000\000\003\154\002\232\000\000\000\153\000\000\000\000\000\000\000\000\002\238\000\152\000\000\000\000\002\198\001\183\000\000\000\000\002\199\000\000\000\153\000\000\000\151\002\239\000\000\000\140\000\000\003n\002\234\000\140\000\183\003o\000\000\000\153\000\141\000\000\000\000\000\000\000\142\000\000\002\212\003\024\000\138\003\022\000\000\000\183\000\147\000\000\000\000\002\242\000\000\000\000\002\213\000\155\000\000\000\138\000\000\000\184\000\183\000\147\000\000\000\185\000\000\000\000\000\151\000\000\000\000\000\157\000\155\000\000\002\239\003\025\000\184\000\000\000\000\000\000\000\185\002\245\000\000\000\000\000\000\000\155\000\157\000\000\000\000\000\184\000\000\002\212\000\000\000\185\003\026\000\000\0037\000\000\002\239\000\157\002\242\000\140\000\000\002\213\000\152\000\138\000\141\000\000\000\000\000\147\000\142\000\000\000\000\000\000\000\140\002\212\000\000\000\000\002\244\000\141\000\000\002\234\003\028\000\142\002\242\002\247\000\153\002\213\002\245\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\151\000\000\003B\002\248\000\000\000\000\003}\000\000\000\138\000\000\000\152\000\000\000\147\000\151\000\000\000\183\002\245\000\000\000\000\000\000\000\000\000\000\002\193\000\000\000\140\002\197\000\000\002\234\000\000\000\141\003\031\000\000\000\153\000\142\000\000\000\000\002\247\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\003\166\000\185\000\000\000\000\000\000\002\248\000\138\000\157\000\000\000\138\000\147\000\000\000\183\000\147\000\151\002\247\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\003J\000\000\000\142\003\141\002\248\000\000\000\000\000\140\000\152\000\000\000\155\002\198\000\000\003Q\000\184\002\199\000\000\003\156\000\185\000\000\000\000\000\152\000\000\000\000\000\157\002\234\000\000\000\000\000\151\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\140\000\000\002\234\000\140\000\000\000\141\000\000\000\153\000\141\000\142\000\000\000\000\000\142\000\138\000\000\000\000\000\138\000\147\000\000\000\183\000\147\003\219\000\000\000\000\003\221\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\183\000\000\000\000\000\151\000\138\000\000\000\151\000\000\000\139\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\182\000\000\000\185\000\000\000\000\000\153\000\000\000\155\000\157\000\000\000\000\000\184\000\000\000\000\004,\000\185\000\000\000\000\000\000\000\000\000\140\000\157\000\152\000\140\002\212\000\141\000\000\000\000\000\141\000\142\000\183\000\138\000\142\000\138\000\138\000\147\002\213\000\147\000\147\002\234\000\000\003\223\000\000\000\140\000\153\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\155\000\000\000\151\000\000\000\184\000\151\000\000\000\000\000\185\000\000\000\000\000\000\000\152\000\000\000\157\000\152\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\151\000\000\000\000\000\147\000\182\000\000\000\000\000\182\000\140\000\153\000\140\000\140\000\153\000\141\000\155\000\141\000\141\000\142\000\184\000\142\000\142\000\000\000\185\000\000\000\000\000\000\000\000\002\247\000\157\000\000\000\000\000\000\000\138\000\000\000\183\000\000\000\147\000\183\000\000\000\000\000\000\003\016\000\000\000\151\000\138\000\151\000\151\000\000\000\147\000\000\0045\000\000\000\000\000\000\000\140\000\152\000\000\000\155\000\152\000\141\000\155\000\184\000\000\000\142\000\184\000\185\000\000\000\000\000\185\000\000\000\000\000\157\000\182\000\000\000\157\002\234\000\000\000\153\000\152\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\151\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\140\000\153\000\000\000\183\000\000\000\141\000\183\000\000\000\000\000\142\000\000\000\000\000\000\000\000\004=\000\000\004\167\004\179\000\000\000\000\000\000\000\000\000\152\000\151\000\152\000\152\000\155\000\000\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\151\000\000\000\185\000\000\002\234\000\157\002\234\002\234\000\157\000\153\000\000\000\153\000\153\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\000\004\184\000\147\000\000\000\167\000\000\000\000\000\000\000\000\000\152\000\183\000\000\000\183\000\183\000\138\000\000\000\000\000\138\000\147\000\000\000\000\000\147\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\153\000\000\000\155\004\191\000\155\000\155\000\184\000\000\000\184\000\184\000\185\000\152\000\185\000\185\000\000\004\200\000\157\000\000\000\157\000\157\000\000\000\000\000\140\000\152\000\000\000\183\000\000\000\141\002\234\000\000\000\000\000\142\000\000\000\153\000\000\003l\003m\000\000\000\140\002\193\002\234\000\140\002\197\000\141\000\000\000\153\000\141\000\142\000\155\000\138\000\142\000\000\000\184\000\147\000\000\000\000\000\185\000\151\000\183\000\000\000\000\000\000\000\157\006\161\000\000\000\138\000\000\000\000\000\138\000\147\000\183\000\000\000\147\000\151\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\140\000\000\003n\000\155\000\140\000\157\003o\000\184\002\198\000\000\000\000\000\185\002\199\000\000\000\140\000\000\000\000\000\157\000\000\000\141\000\000\000\000\000\000\000\142\000\138\000\000\000\000\000\000\000\147\000\000\000\140\000\000\000\000\000\140\000\000\000\141\000\000\004\222\000\141\000\142\000\000\000\000\000\142\000\000\000\000\000\152\000\000\000\000\000\000\000\151\000\000\000\000\000\000\004\227\000\000\000\000\004\234\000\000\000\000\000\000\000\000\000\152\002\234\000\000\000\152\000\151\000\138\000\153\000\151\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\234\000\140\000\000\002\234\000\000\000\153\000\141\000\000\000\153\000\000\000\142\000\000\000\000\000\000\000\183\000\000\000\000\000\138\003l\003m\000\000\000\147\000\000\003|\000\000\000\000\000\000\002\212\000\138\000\000\000\183\000\000\000\147\000\183\000\000\003}\000\151\000\155\000\000\002\213\000\000\000\184\000\000\000\140\000\000\000\185\000\000\000\000\000\141\000\152\000\000\000\157\000\142\000\155\000\000\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\152\006B\000\157\000\152\000\000\000\157\000\153\000\140\000\140\000\000\003n\000\000\000\141\000\151\003o\000\000\000\142\001K\000\140\000\000\001q\000\000\000\153\000\141\000\000\000\153\000\000\000\142\000\138\000\000\000\000\000\183\000\147\000\000\000\000\000\138\000\000\003\141\000\000\000\147\000\000\000\000\000\151\002\247\000\000\000\000\000\000\000\183\000\000\000\152\000\183\003\158\000\000\000\151\000\155\000\000\000\000\003\018\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\001\138\000\000\000\157\000\000\000\155\000\153\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\000\000\140\000\157\000\000\000\000\000\157\000\141\000\000\000\140\000\152\000\142\000\000\000\138\000\141\000\183\000\000\000\147\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\185\003|\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\151\000\155\000\152\003}\000\138\000\184\000\000\000\151\000\147\000\185\000\000\000\000\000\000\000\152\000\000\000\157\000\000\000\000\000\000\002\155\000\183\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\002\159\000\140\000\000\000\000\000\000\000\153\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\155\000\138\000\000\000\000\000\184\000\147\000\183\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\140\000\183\000\000\000\000\000\138\000\141\000\000\000\151\000\147\000\142\000\000\003\141\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\152\000\000\000\185\000\000\000\000\000\155\003\160\000\152\000\157\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\151\002\206\000\000\000\157\000\000\000\140\000\153\000\000\002\221\000\000\000\141\000\000\000\000\000\153\000\142\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\140\000\000\000\000\003l\003m\000\141\000\000\000\183\000\138\000\142\000\000\000\000\000\147\000\000\000\183\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\152\000\138\000\147\000\000\000\155\000\147\000\000\000\000\000\184\000\151\000\000\000\155\000\185\000\000\000\000\000\184\000\000\002\223\000\157\000\185\000\000\000\000\000\153\000\000\000\140\000\157\000\000\000\000\000\152\000\141\000\000\000\000\000\140\000\142\003n\000\000\000\000\000\140\003o\000\000\000\000\000\000\000\141\000\000\000\000\003v\000\142\000\183\000\000\000\000\000\153\000\000\000\000\000\140\000\000\000\000\000\140\000\000\000\141\000\151\000\000\000\141\000\142\000\000\000\000\000\142\000\000\000\000\000\152\000\000\000\155\000\000\000\151\000\000\000\184\000\183\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003\181\000\000\000\152\000\151\000\138\000\153\000\151\000\000\000\147\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\003\186\000\000\000\185\000\000\000\000\000\153\000\000\000\000\000\157\000\138\000\000\000\183\000\000\000\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\000\138\003|\000\183\000\000\000\149\000\152\000\155\000\000\000\000\000\000\000\184\000\000\000\140\003}\000\185\000\000\000\000\000\141\000\152\000\000\000\157\000\142\003\190\000\000\000\000\000\155\000\000\000\153\000\000\000\184\000\000\000\000\000\000\000\185\000\152\003\211\000\140\000\152\000\000\000\157\000\153\000\141\000\000\000\000\000\000\000\142\000\138\000\151\000\000\000\000\000\149\003\250\000\183\000\000\004\155\000\140\000\153\000\000\000\000\000\153\000\141\000\000\000\000\000\000\000\142\000\183\000\000\000\000\000\000\003l\003m\000\151\000\000\000\138\000\138\000\155\000\000\000\149\000\139\000\184\003\141\000\183\000\000\000\185\000\183\000\000\000\000\000\000\000\155\000\157\000\151\000\138\000\184\000\000\003\162\000\149\000\185\000\000\000\000\000\000\000\000\000\140\000\157\000\000\000\155\000\000\000\141\000\155\000\184\000\000\000\142\000\184\000\185\000\000\000\000\000\185\000\000\000\000\000\157\000\000\000\000\000\157\000\000\000\138\000\140\000\152\003n\000\139\000\140\000\140\003o\000\000\000\000\000\141\000\141\000\000\000\151\000\142\000\142\000\000\000\000\000\000\005\001\000\000\000\000\000\000\000\140\000\153\000\000\000\152\000\000\000\141\000\000\000\000\000\000\000\142\000\138\000\000\000\000\000\000\000\139\000\000\000\000\000\151\000\151\000\000\000\000\000\000\000\152\000\000\000\000\000\153\000\183\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\138\000\151\000\000\000\141\000\139\000\000\000\000\000\142\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\155\000\154\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\140\000\000\000\151\000\152\000\154\000\141\000\000\000\000\000\155\000\142\000\000\003l\003m\000\196\003|\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\157\000\139\000\140\000\153\003}\000\155\000\000\000\141\000\152\000\152\001\128\000\142\000\138\000\151\000\000\000\000\000\139\000\000\000\000\000\157\003l\003m\000\000\000\000\000\000\000\000\000\152\000\000\000\154\000\000\000\153\000\153\000\000\000\000\000\000\000\138\000\000\000\151\000\000\000\139\000\000\000\000\000\000\000\138\000\140\000\000\003n\000\139\000\153\000\000\003o\000\155\000\140\000\000\000\000\000\154\001\130\000\141\000\152\003l\003m\000\142\000\000\000\000\000\000\000\157\000\000\000\140\000\000\000\000\000\000\003\141\000\141\000\154\000\000\000\140\000\142\003n\000\155\000\155\000\153\003o\000\000\003\133\000\000\003\164\000\000\000\151\000\000\000\000\000\140\000\152\000\157\000\169\000\000\000\141\000\155\000\000\000\140\000\142\000\000\003\135\000\151\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\157\000\000\000\000\000\153\000\140\000\152\003n\000\000\000\000\000\000\003o\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\171\000\000\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003}\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\003|\000\000\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000\155\000\000\000\153\003}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\175\000\000\000\000\000\153\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\000\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\141\000\153\000\000\003}\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\155\000\000\000\000\003\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\155\000\000\000\000\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\000\003\172\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\000\000\000\003\141\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\174")) + ((16, "\002H\000\019\000\000\000\000\000\000\000\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001/\000\000\001\003\0002\000\000\000\237\000\173\000\000\000\000\000\000\000\022\000\000\000,\000d\000\000\000\000\000\150\000\000\000\198\000\000\000\000\000\000\001`\000\000\001\252\000\000\000\000\000\000\000\000\002\180\000\000\003\152\003\206\000\000\000\000\004Z\000\000\005\022\000\000\000\000\000\000\005J\000\000\005\162\000\000\006>\000\000\006d\006\172\000\000\000\000\006\230\000\000\007\000\000\000\000#\000\000\000\000\007\030\000\000\007.\000\000\000\000\0074\000\000\007J\000\000\000\000\000\000\007\148\000\000\000\238\008\002\0007\000\000\000\000\000\000\002P\000f\000F\000\000\000\000\008t\000\000\008v\000\000\004\186\000\237#\158\000\000\000\000\012\202\000\000\0026\000\000\002\196)z!\196\011\142!\196\0052&z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\026\011\142\000\000\000\000\029r\000\000'T\000\000\t\144\000\000\000\000\000\000\000\000\000\232\000\000\029\192\000\000\000\000\000*\000\000\000\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n4\000\000\014\154\000\000\014\232\000\000\015<\000\000\015T\000\000\018\192\000\000\023\202\000\000-\218\000\0007<\000\0007t\000\000)\148\000\000\012v\000\000\000\000\000\000\000\000\000\0007\142\000\0007\164\000\0008\022\000\000\005\248\000\000\000\000\t\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\008\164\000\000\000\000\tb\000\000\tl\t~\000\000\000\000\t\154\000\000\t\218\000\000\000\000\000\000\t\226\000\000\t\238\000\000\000\000\n\016\000\000\n\020\n0\000\000\000\000\nT\000\000\nV\000\000\000\000\000\000\nX\000\000\nh\000\000\nv\000\000\n\136\n\146\000\000\000\000\n\174\000\000\n\186\000\000\002\192\n\194\000\000\n\202\000\000\n\206\000\000\n\208\000\000\000\000\000\000\n\212\000\000\n\214\000\184\000\000\n\230\000\000\002`\017\214\000\000\005j\000\000\006J\000\000\000\000\000,\000\000\000\000\000u\003(\000\000\000\000\000\000\000\000\003\012\000\000\003r\000\000\002\000\000\000\003\200\000\000\000\000\000\000\000\000\000\000\000\000\007\152\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\002\003|\002*\000\000\n\234\000\000\n\242\002X\000\000\n\248\000\000\000\000\006R\000\000\000\000\000\000\000\000\000\000\"\168\000\0000\138\000\000\000\000\000\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\000\000\000\000\000\000\000\000\000\000\000\000\016\248&z\000\000\023\208\000\000\026\134\019\140\000\000\000\000\000\000\0044\000\000\030\224\000\000\000\0000\144\000\000\000\000\000\000\004\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006V\000\0006~\000\000\000\000\000\000\000\000\000\191\000\000\000\0000\236\000\000\000\000\000\000\007\138\001*\000\000\000\000\000\000\000\000\000\000\000\000\002d\000\000\004\174\000\000\005n\000\000\011\164\000\000\013\170\000\000\016\130\000\000\016\172\000\000\018\144\000\000\018\222\000\000\020j\000\000*D\000\000\000\146\000\000\020\202\000\000\022F\000\000\031\020\000\000\000\000\000\000\000\000\000\000\000Z1@\000\000\002n\000\000\000\000\000\n\001\172\000\000\002\248\000\000\000\000\000\000\012F\000\000\000\000\000\000&\214\000\000\000\000\000\000\000\000\000\000'`\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\n\252\004\216\000\000\011\000\000\000\000\000\000\000\000\000\000\000\011\002\000\000\000\000\002P\001\240\000\000\002D\000\000\000\000\000\000\004\030\000\000\012R\001\"\011\004\000\000\000\000\011\008\000\000\011\014\011\018\000\000\000\000\011\022\000\000\011\024\000\000\000\000\000\000\011\026\000\000\011\030\000\000\000\000\011\"\000\000\011*\011.\000\000\000\000\0118\000\000\011<\000\000\000\000\000\000\011@\000\000\011B\000\000\011D\000\000\011F\011R\000\000\000\000\011X\000\000\011`\000\000\004\178\011b\000\000\011z\000\000\011|\000\000\011\132\000\000\000\000\000\000\011\138\000\000\001~\000\000\000\000\011\140\004\246\000\000\011\144\000\000\000\000\002\244\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\004\218\005,\000\000\011\148\000\000\011\152\t\192\000\000\011\154\000\000\000\000\012\164\011\172\000\000\000\000\011\192\000\000\011\214\011\220\000\000\000\000\011\224\000\000\011\244\000\000\000\000\000\000\011\248\000\000\011\254\000\000\000\000\012\000\000\000\012\004\012\018\000\000\000\000\012\028\000\000\012\"\000\000\000\000\000\000\012$\000\000\012&\000\000\012.\000\000\0126\012<\000\000\000\000\012B\000\000\012N\000\000\004\248\012R\000\000\012f\000\000\012~\000\000\012\134\000\000\000\000\000\000\012\142\000\000\012\144\014b\000\000\012\146\000\000\000\000\006H\014j\000\000\012\150\000\000\012\154\016Z\000\000\012\162\000\000\000\000\000\000\000\000\000\000\000\000\000\0001z\000\000#*\000\0001\144\000\000\000\000\000\017\000\000\000\000\001r\007\176\000\000\000\000\015@\004T\000\000\020\142*b\000\000\000\000'\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\228'\132\000\000\026\180\000\000\029\014\016P(\018\000\000\020\"\000\000\000\000\000\000\006\140\000\000\031\006\000\000\000\0002\018\000\000\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002 \000\0002\150\000\000\000\000\000\000(\156\000\000\000\000\000\000*|\000\000\000\000\000\000\000\000\008\002\000\000\000\000\000\000\000\000\007N\000\000\000\000+\\\000\000\001@\000\000\000\000\000\000\004`\000\000\t\200\000\000\n\144\000\000\016\250\000\000\022v\000\000 :\000\000!\164\000\000#\180\000\000$\188\000\000&\154\000\000(|\000\000)$\000\000,\234\000\000\000\000\000\000\000\000\000\000*\206\000\000\017H\000\000\022\210\n\222\000\000+,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\000\000\0038\000\000\006Z\000\000\000\000\t\014\000\000\000\000\000\000+.\000\000\000\000\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000+\130\000\000\000\000\000\000\000\000\003\172\012\004\000\000,\n\000\000\000\000\000\000\000\000\012\210\000\000,$\000\000\000\000\000\000\000\000\001\210\000\000\007>\000\000\t\236\000\026(<\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\000\000\017\004(<\000\000\021\008\000\000\030\172\007\022\000\000\000\000\000\000\008\020\000\000\031b\000\000\000\0002\206\000\000\000\000\000\000\008J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\208\000\0006\234\000\000\000\000\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\011\144\000\000\013\190\000\000\019^\000\000#\238\000\000'>\000\000't\000\000'\148\000\000)\200\000\000+z\000\0000N\000\000,\128\000\000\004\190\000\0001|\000\0003\184\000\0005\176\000\000(\192\000\000\000\000\000\0003\030\000\000\000\000\000\000\000\254\000\0003D\000\000\000\000\000\0003\168\000\000\000\000\002\188\000\000\024(\000!\001\174\000\000\003\024\000\000\013Z\002\026\007x\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\194\000\000#X\"\002\008R\000\000\000\000\000\000-$\000\000-*\000\000-\172\000\000#\140$\016\007d\0001\008\188\000\000\000\000\000\000\003\200\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\000\000\000\0003\226\000\000\000\000\000\000\000\000 ,\000\000$\226\000\000\000\000\000\000\000\000\000\000\000\000\013\232\000\000\003N\000\000\000\000\000\000\024b\005\018\000\000\024\156\000\000\000\000\012\210\000\000\005\128\000\000\000\000\014>\000\000\024\214\000\000\000\000 \238\000\000\000\000\000\000\019\014\000\000\000\000\006\152\000\000\000\000\025\188\000\000\000\000\000\000,\206\000\000\000\000\000\000\025\208\000\000\000\000\000\000\000\000-\178\000\000\000\000\000\000\000\000\005\132\013\218\000\000.0\000\000\000\000\000\000\000\000\000\000\000\000\014\180\000\000\000\000\005\248\000\000\015\250\000\000\019\014\000\000\000\000\004\200&N\000\000\006\206\000\000\000\000\000\000\000\000\003z\000\000$\248\000\000\0260\005\132\026j\000\000\005\158\000\000\016p\000\000\016\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\002\026\164\005\188\026\222\000\000\000\000\000\000\006d\000\000\017\200\000\000\007$\000\000\000\000\019\218\002\180\028r\000\000\007\006\000\000\018>\028\172\000\000\000\000\018\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\168\007\178\000\000\008\018\000\000\000\000\000\000\000\000\006\022\000\000\019\152\000\000\000\000\000\000 \0243\232\000\000\000\000\000\000\030~\000\000\000\000\000\000\000\000\002\212\006\154\000\000\000\000.4\000\000\000\000\003\212\000\000\006\182\000\000\000\000\026\000\000\000\000\000\000\000.6\000\000\000\000\000\000\000\000.\140\000\000\000\000\005\210\007\000\000\000\000\000.\206\000\000\000\000\008~!\022\000\000\007\198\000\000\000\000.\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\020\000\000\000\000\000\000\000\n\000\000\000\000\0086\000\000\000\000\027\254\000\000\000\000\000\000/\198\000\000\000\000\000\000\000\000/\230\000\000\000\000\007R\t \000\000\000\000/\236\000\000\000\000\008\164\000\000\000\000\000\000\000\000\003z\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\206\000\000\020\012\000\000\000\000\000\0004\152\000\000\tH\000\000\000\000\000\000\004\208\000\000\005\206\000\000\000\000\007\170\020\128\000\000\021f\000\000\000\000\000\000\008J\000\0004\200\008\1844\238\000\0005J\000\000\000\000\000\000\008\202\000\0005\164\008\218\000\000\000\000%D\t\004%\210\000\000%\232\000\000\000\000\000\000\t\006\000\0005\228\t\n\000\000\000\000\n0\t\022\014\162\000\000\017^\000\000\000\000\000\000\t\026\000\0005\250\t,\000\000\000\000\000\000\003\172\000\000\000\000\000\000\004\210\000\000\000\000\000\000\000\000\000\000\000\000\tP\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\138\000\000\000\000\003(\000\000\000\000\013`\000\000\000\000\000\000\000\000\003\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013`\000\000\000\000\013<\000\000\007\216\000\000\000\000\000\022\000\000\005d\012\242\002\018\000\000\000\000\007(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000~\000I\000\000\000\000\t\150\000\000\000\000\000\000\n\138\000\000\000\000\014\012\020\222\000\000\000\000\000\000\000\000\022\172\029\002\000{\000\000\029D\000\000\000\000\000\000\000\000\000\000\000\000\003J\000\000\000\000\006\184\000\000\000\000\012\188\000\000\000\000\000)\000\000\000\000\n\008\000\000\000X\000\000\000\000\000\000\000\000\000k\031r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\"\031\132\000\000\000\000\000\000\000\000\031\148\000\000\000\000\0126\000\000\013r\000\000\000\000\000\000\005\244\000\000\000\188\000\000\000\000\000\000\016n\000\000\000\000\tF\031\154\006\180\000\000!\n\000\000\000\000\000\000\000\000\013:\000\000\000\000\000\000\006\200\000\000\008\226\008>\001\154\000\000\000\000\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\000\000\000\013$\000\000\000\000\007\020\000\000\004\174\013~\001,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\150\000\000\000\000\0188!r\000\000\000\000\000\000\000\000\008\016\000\000\tP\011\138\000\000\022\198\000\000\000\000\000\000\000\000\000\000\002\162\024<\000\000\000\000\030\218\000\000\000\000\000\000\000\000\017\182\000\000\031\014\000\000\000\000\000\000\000\000\000c\000\000\000\000\000\000\004\166\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\204\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000T\n\\\016<\017\146\000\000\007\186\t\182\t\242\t\252\000\000\000\000\000\000\000\000\000\000\000\000\006\024\021\218\000\000\027\024\t\254\000\000\000\000\nd\000\000\022\020\000\000)P\000\000\000\000\0070\022N\000\000\028\230\000\000\008\022\029 \000\000\000\000\000\000\002\200\011\140\000\000\000\000\000\000\000\000\008p\000\000\023l\000\000\008\130\004\018\000\000\000\000\000\000\003\012\000\000\003r\000\000\t\142\000\000\000\000\005\178\000\000\000\000\000\000\000\000\t\130\000\000\000\000\n\178\000\000\023\238\000\000\019\014\013D\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000\000\000\000\000\0000j\000\000\002J\000\000\000\000\000\000\000\000\000\000\000\200\000\000\t\246\n(\011H\000\000\002\142\011\196\000\000\n0\000\000\003\002\000\000\004r\000\000\004\230\000\000\019\014\000\000\000\000\000\000\000\000\000\000\005Z\000\000\n:\000\000\006\202\000\000\019\014\013\178\000\000\000[\000\000\013\168\012\166\000\000\005L\000\000\007\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\252\000\000\n`\000\000\000\000\000\000\000\000\000\000\000\000\013\192\012\176\000\000\000\000\012\210\000\000\000\000\012\184\t4\013\246\000\000\014\000\000\000\000\000\006\026\003\238\000\000\012\228\000\000\000\000\013\030\000\000\000\000\000\000\000\000\000\000\000\000\013\234\012\220\000\000\000\000\000\000\013\006\012\232\tj\n\014\013\006\013<\000\000\000\000\013\012\t\200\n(\013*\013`\000\000\000\000\005\214\000\000\000\000\000\000\000\000\0140\000\000\000\000\000\000\0142\000\000\000\000"), (16, "\003l\003\131\000\018\005\248\000_\000a\001\225\000e\005\163\005m\005n\005\145\007\004\006?\006@\000_\005\194\005m\005n\002\164\004Y\004A\0066\000_\005\245\005\181\007\005\002\164\000\017\003l\003\131\006D\0017\005\146\005m\005n\005>\000\138\001g\000\004\001h\000\149\001\212\000\025\000g\006I\001\140\005\182\006J\005\185\005m\005n\005~\000_\000J\004\019\000_\003n\003l\003\131\000\007\003o\000\005\003N\006N\006s\000_\000a\000b\000e\005o\006t\001B\000_\005|\000\024\003:\006u\005o\004\018\005\127\005m\005n\000\005\000\140\006\030\003n\006G\0026\001g\003o\001h\000\140\000\140\002=\005o\001i\000\141\000\138\001.\001j\000\142\000\149\0010\005\195\005\196\000g\0028\004\136\001\141\003\136\005o\001\181\004\019\0068\003n\003l\003\131\001\"\003o\006G\001\192\000J\000_\000a\001\t\000e\000\151\001w\006\173\003\231\000_\001\027\005\246\005\197\006u\006\174\004\018\0029\003\136\003\197\003\198\005o\005\198\000\140\001\213\003\253\001i\003U\007\013\000_\001j\001\194\000\140\005\195\005\196\003|\006$\000\141\006w\001\186\004\002\000\142\000g\000K\004\003\004\020\0024\003}\004\138\004g\004\019\000\028\003n\004\020\001\012\002=\003o\006x\001w\004U\003\232\006\193\000 \005\219\003|\000h\000J\000\151\004.\001/\001\188\001\214\005\198\001/\006.\004\007\003}\000\004\001\015\004B\0016\004a\005\149\003\253\000\152\001x\004\028\005\008\003\138\004x\000\031\0049\003\140\003|\004\028\000_\005\199\004!\004\002\0049\000\005\000_\004\003\004\020\006y\003}\000\153\003\197\003\198\004\224\000\008\001\217\006\194\006z\003\141\000\"\001\012\006\147\000J\003\142\001%\003\140\0011\003\143\000_\001\028\001\181\001\029\003\144\000\203\001\229\000\154\000\203\004\007\005\244\002\165\001x\004\023\006\149\000$\001\015\003\253\0016\003\141\004\028\000\152\004\252\006\151\003\142\0049\003\140\003|\003\143\001}\000\155\005\245\004\002\003\144\000_\000\194\004\003\004\020\006\195\003}\003l\003\131\000_\000\153\000\157\001\143\002H\006z\003\141\001\012\001\213\006\197\000\144\003\142\001g\000_\001~\003\143\001\172\002\164\004Y\004A\003\144\000_\000a\0019\000e\004\007\000\154\005\130\002\246\004\023\006\199\001\015\002,\0016\000_\001g\004\028\001h\001\145\006\201\000_\0049\003\140\001\223\000_\000a\001>\000e\000_\000\155\000(\001\013\001\148\004\019\000\156\003n\003l\003\131\001\189\003o\000\203\000g\003\234\000\157\003\141\001\"\001\141\000\140\003\200\003\142\001i\000_\006\030\003\143\001j\006u\006\179\004A\003\144\001\027\000g\002=\002\245\001g\000g\001\203\002H\000\138\000g\006\167\000\140\000\147\006\168\001i\003\236\004z\005\255\001j\005\246\001\131\000_\006E\001w\006\006\006Q\005\004\000_\004h\003\136\005\131\001\181\004\019\0026\003n\003l\003\131\004\246\003o\006\000\006\003\005m\005n\003\197\003\198\003-\001w\003F\006\190\000*\000_\001\189\002:\000\203\006u\006\179\004A\000J\003)\000\140\001\186\002\165\001i\000\140\006\172\003\253\001j\004\163\000\141\000_\003\197\003\198\000\142\006&\001\191\003|\000\203\005i\000J\000\013\004\002\005\249\001\234\0029\004\003\004\020\000_\003}\004\132\004j\004\019\001\187\003n\005j\001w\000J\003o\002\166\000\151\004U\001\236\001x\005o\006)\000\016\000\017\006\184\005\172\001\231\001%\000\203\001&\001\204\001\012\001\028\004\007\001\029\003:\000\203\004B\006G\004a\005\006\003\253\001x\001\134\004\028\006\159\006\160\004x\001\192\0049\003\140\003|\001\026\0017\001\012\001\015\004\002\0016\005\134\000/\004\003\004\020\006\185\003}\000J\001\144\001\027\000_\001\233\000J\000\203\006z\003\141\005l\001\015\004\005\0016\003\142\001\015\001\193\0016\003\143\001\015\001E\0016\000\251\003\144\001\145\003\199\005j\001x\004\007\001\146\003G\000\152\004B\001\147\006\187\006\164\003\253\006R\001\148\004\028\006\245\000_\006\189\000h\0049\003\140\003|\001\145\006F\001\186\003:\004\002\004\n\000\153\002H\004\003\004\020\006\185\003}\002\193\001-\001\150\002\197\000\005\006,\002\193\006z\003\141\002\197\001\"\004\005\006v\003\142\003F\003l\003\131\003\143\004\169\000\183\004\186\003\139\003\144\000h\001\027\004\247\003;\004\007\003*\005s\000_\004B\006G\006\187\006u\006\179\004A\000J\004\028\000J\002;\006\189\000\155\0049\003\140\001g\000\184\001h\006\130\004\249\000\185\0003\001(\003l\003m\002\238\000\157\001<\001\028\002\198\001\029\000\140\000\203\002\199\005t\002\198\003\141\003@\003\233\002\199\004\019\003\142\003n\003l\003\131\003\143\003o\005\173\0002\000\203\003\144\000_\000a\001\219\000e\003D\006\186\000J\000_\006\t\005^\006\n\006u\006\179\004A\005\176\000_\000a\0020\000e\000\140\000h\000J\001i\003;\004\015\000J\001j\000\140\001\237\003n\001g\005_\001~\003o\004\016\005b\005m\005n\003\232\006\011\000g\000J\000_\000a\002?\000e\001\236\004\019\006\012\003n\003l\003\131\001$\003o\001w\000g\000J\001\028\002\239\001\029\001g\000\203\001h\006\188\004\181\000_\001O\0005\001l\006u\006\179\004A\004P\006:\006;\002\212\003\019\003$\003\022\004\022\003\253\002\212\000g\005u\002\242\000\140\0017\002\213\001i\004\016\003|\004[\001j\002\213\006\131\004\002\006\132\005o\000\203\004\003\004\020\006\185\003}\004R\004[\004\019\003\025\003n\006\218\000_\006z\003o\002\245\000J\004\005\000\140\001u\001\131\001i\004m\001w\006\196\001j\000_\005\007\0017\004:\002\164\003|\000\138\004\007\002\031\001x\000\149\004B\000h\006\187\005\137\003\253\004G\003}\004\028\003\197\003\198\006\189\004\251\0049\003\140\003|\004\016\001w\002B\007\021\004\002\004\147\005\217\002\247\004\003\004\020\006\185\003}\0007\002\247\003N\004\016\004\187\002x\007\022\006z\003\141\002\248\001\012\004\005\005\138\003\142\006\138\002\250\005\215\003\143\001\215\005\218\005m\005n\003\144\000\140\003\168\001\012\000;\004\007\000\141\003l\003m\004B\000\142\006\187\001\015\003\253\0016\001x\004\028\001\145\005p\006\189\004m\0049\003\140\003|\003\141\005u\001\132\001\015\004\002\0016\001\012\001\152\004\003\004\020\006\185\003}\000\151\005\006\003\144\001\134\000h\000J\000J\006z\003\141\001x\000J\004\005\000=\003\142\000J\003l\003\131\003\143\001\015\006\225\0016\000_\003\144\005o\004c\001\144\000\140\004\007\003n\005\t\000_\004B\003o\006\187\006u\006\179\004A\004^\004\028\000J\005\239\006\189\005\175\0049\003\140\000J\000J\001\145\0014\006\246\006^\004o\001\146\003l\003m\004\020\001\147\005\228\005m\005n\000J\001\148\005\237\003\197\003\198\004z\003\141\005\240\005m\005n\004\019\003\142\003n\003l\003\131\003\143\003o\001\145\000\152\006\140\003\144\002\193\006\002\006\131\002\197\006\132\006\200\000\203\000_\005\008\000?\001\154\002\164\004Y\004A\005\133\004\028\000J\0017\004!\000\153\0049\003l\003\131\006\000\006\003\005m\005n\000\140\000C\003n\001g\004P\001~\003o\002\143\000h\000_\006\253\005o\000h\002\164\004Y\004A\000h\000\154\000J\003|\004\019\005o\003n\003l\003\131\000_\003o\004r\002\238\004}\004\230\003}\002\198\004u\004\249\004Q\002\199\000B\000_\000J\000\155\002\201\002\164\004Y\004A\000\193\006V\000h\000h\004\019\004u\003n\001\018\003\253\000\157\003o\001C\002\166\000\140\005o\0030\001i\000h\003|\004w\001j\000E\005{\004\002\005\131\003\197\003\198\004\003\004\020\006\185\003}\006\030\000J\004\019\000G\003n\004v\006l\006z\003o\002=\006\218\004\005\000J\005|\001\"\004%\004\164\001w\000L\005\127\005m\005n\003\130\000h\005\255\003|\000N\004\007\001\027\000Q\004\172\004B\005\173\006\187\000\203\003\253\002\239\003}\004\028\004\141\000S\006\189\000J\0049\003\140\003|\006\000\006\003\005m\005n\004\002\000J\002\210\002\212\004\003\004\020\002\241\003}\004\255\004g\000_\000f\002\242\000e\003\253\002\213\003\141\004\188\000J\004\005\004\143\003\142\005\245\003\234\003|\003\143\005\016\000W\000J\004\002\003\144\005o\000J\004\003\004\020\004\007\003}\004e\004g\004B\002\245\004a\004\141\003\253\005\018\001x\004\028\000\140\004\005\004!\000g\0049\003\140\003|\003~\003\237\003\238\003\240\004\002\005o\006\031\000h\004\003\004\020\004\007\003}\004\140\004g\004B\001\142\004a\006q\000h\004\142\003\141\004\028\006Z\004\005\004!\003\142\0049\003\140\001\228\003\143\002\247\000J\000_\001%\003\144\001+\006\219\001\144\001\028\004\007\001\029\004\236\000\203\004B\002\248\004a\003l\003\131\002\236\003\141\004\028\002\167\005\019\004!\003\142\0049\003\140\003q\003\143\001\145\004\236\000_\004\197\003\144\001\146\002\164\004Y\004A\001\147\003+\005\018\005\236\004\238\001\148\000h\003l\003\131\005\251\003\141\005\139\005\252\000J\000\138\003\142\003z\000d\000\139\003\143\003\215\006\135\000_\004\237\003\144\005\237\002\164\004Y\004A\001\"\005\240\005m\005n\004\019\002H\003n\005\\\005]\006|\003o\005\026\000\205\002\193\001\027\006\"\002\197\005\253\000\138\005\148\005\029\004\215\000\149\006V\000_\000a\002D\000e\005 \005\028\001\012\003l\003\178\004\019\005\254\003n\003l\003\131\005\028\003o\000\140\005\146\005m\005n\003\230\000\141\005\028\005(\005+\000\142\006b\000_\005.\006V\001\015\006u\0016\004\018\006V\0056\004\016\0059\006\243\005o\000g\005*\005*\000\138\000\140\005<\005\028\000\139\002\198\000\140\005\184\000\151\002\199\0058\000\141\0058\000_\006\176\000\142\006\136\002\164\006\176\000\140\005\028\003n\007\008\006\176\004\019\003o\003n\000h\003\253\005\182\003o\005\185\005m\005n\006e\000_\005o\006\218\003|\006Q\000\208\000\151\006\192\004\002\004\016\000\212\002\193\004\003\004\020\002\197\003}\005\003\004g\003N\000\211\000\140\001%\003\253\0033\006\137\000\141\001\028\004\005\001\029\000\142\000\203\006\191\003|\000\214\007\015\006\182\004\231\004\002\006\148\005\145\006\198\004\003\004\020\004\007\003}\006\145\004g\004B\004\016\004a\002\193\000\152\006\218\002\197\004\028\000\151\004\005\004!\005o\0049\003\140\005\146\005m\005n\006\015\000\216\000\140\002\212\007\t\000\220\002\198\006\254\004\007\000\153\002\199\000\222\004B\006Y\004a\002\213\003\253\007\016\003\141\004\028\000\152\003|\004!\003\142\0049\003\140\003|\003\143\000\225\001\012\000\229\004\002\003\144\003}\006\254\004\003\004\020\006\178\003}\003l\003\131\002\238\000\153\006X\000\228\002\198\006z\003\141\006W\002\199\006\181\006\136\003\142\001\015\000_\0016\003\143\001Q\006u\005o\004\018\003\144\000\231\000\233\000\237\004\020\004\007\000\154\006\221\000\152\004\023\006\183\000\239\006\253\000\138\003l\003m\004\028\000\147\000\241\006\189\006\254\0049\003\140\002\247\001g\006\253\001h\000\245\000_\000\155\000\153\006V\000\244\004\019\000\196\003n\006\\\002\252\0051\003o\003l\003\131\002\212\000\157\003\141\004\028\000\247\002\166\004!\003\142\0049\006\177\000\249\003\143\002\213\000_\000\252\006\223\003\144\006u\000\254\004\018\001\000\001\002\002\239\001\006\001F\003:\000\140\000\140\006S\003n\000\203\000\141\001\011\003o\001;\000\142\000\155\000\140\001A\002\212\001i\001@\003\029\001\222\001j\001\221\001\227\001\241\002\242\001\244\000\159\002\213\001\248\004\019\001\247\003n\001\250\001\252\002\000\003o\002\002\000\151\002\005\000\138\005\152\002\166\002\t\000\139\002\008\003l\003\131\006\180\001w\002\011\005\181\002\013\002\245\002\017\002\019\002\021\002\025\002\247\003\253\005\214\000_\000J\002\024\000\138\002\164\002\027\004\018\000\139\003|\002\029\002 \002\254\005\182\004\002\005\185\005m\005n\004\003\004\020\006\178\003}\005\215\002\"\002$\005\218\005m\005n\002&\006z\003 \002*\0023\006\181\0022\000\140\002A\002\247\002G\002F\000\141\004\019\002\138\003n\000\142\003|\000\138\003o\002J\004\007\001\209\002\248\000h\004\023\006\183\003;\000\152\003}\002M\000\140\004\028\003\253\006Z\006\189\000\141\0049\003\140\001x\000\142\002Q\000\151\003|\002P\001T\002S\005\011\004\002\005o\000\153\004\135\004\003\004\020\006\178\003}\002U\002\166\002Y\005o\003\141\002[\002^\006z\002b\003\142\000\151\006\181\003@\003\143\001\195\002a\000\203\000\140\003\144\000\183\002d\000J\000\141\002f\002j\002l\000\142\004\007\000h\002n\003D\004\023\006\183\002r\003l\003\131\002q\005\255\004\028\002t\003\141\006\189\000\155\0049\003\140\002v\000\184\002y\003\253\000_\000\185\001\145\000\151\002\164\003\146\004\018\000\157\002{\003|\006\000\006\003\005m\005n\004\002\000\152\001\156\003\141\004\003\004\020\002}\003}\003\142\003H\002\127\001g\003\143\001h\002\131\002\137\002\136\003\144\002\142\004|\002\148\003l\003m\000\153\002\147\000\152\004\019\003L\003n\005g\005\143\005\255\003o\005z\005\136\004\007\005\205\005\178\005\213\004\023\004~\005\235\003l\003\131\006\008\005\220\004\028\000\153\006\157\004!\004\011\0049\003\140\006\000\006\003\005m\005n\000_\006\203\005o\004\133\002\164\004\013\004\018\004\135\006\207\000\140\000\152\000h\001i\002\166\001\197\000\181\001j\003\141\006\226\000\140\006\230\003n\003\142\006\231\006\236\003o\003\143\006\237\003l\003\131\006\242\003\144\000\153\000J\005\145\006\241\006\249\004\025\000\155\006\251\004\019\007\001\003n\000_\001w\007\002\003o\002\164\004\026\004A\007\006\007\007\000\157\007\n\007\011\003O\005\146\005m\005n\005o\003\253\000_\000a\002\134\000e\000_\000a\002\140\000e\007\014\003|\007\017\007\018\003S\000\138\004\002\007\026\007\030\000\139\004\003\004\020\000\000\003}\004\019\000\000\003n\000\000\003l\003\131\003o\000\000\000\000\000\000\000_\004|\000\000\004D\002\164\000\000\000\000\000\000\000g\000_\000\000\000\000\000g\002\164\004\026\004A\006\013\004\007\000\000\000\000\000\138\004\023\004~\000\000\000\139\005o\000\000\003|\004\028\001x\000\000\004!\000\000\0049\003\140\000\000\000\140\000\000\003\253\003}\003N\000\141\000\000\000\000\000\000\000\142\000\000\000\000\003|\004\019\000h\003n\000\000\004\002\000\000\003o\003\141\004\003\004\020\000\000\003}\003\142\000\138\000\000\000\138\003\143\000\139\000\000\000\147\000\000\003\144\000\151\004F\006\018\000\138\000\140\000\000\000\000\000\139\000\000\000\141\003\253\000\000\000\000\000\142\000\000\000\000\000\000\004\007\000\000\000\000\003|\004\023\004H\004;\000\000\004\002\001\145\000\000\004\028\004\003\004\020\004J\003}\0049\003\140\003\141\000\000\000\000\000\000\000\151\001\158\004?\000\000\000\000\004\005\000\000\000\140\000\000\000\140\003\148\000\000\000\141\000\000\000\141\000\000\000\142\003\141\000\142\000\140\000\000\004\007\003\142\005\158\000\141\004B\003\143\004C\000\142\001\012\003\253\003\144\004\028\001\012\000\000\004!\000\000\0049\003\140\000\152\003|\004\020\000\151\000\000\000\151\004\002\000\000\003l\003\131\004\003\004\020\000\000\003}\001\015\000\151\0016\004I\001\015\000\000\0016\003\141\000\153\000_\000\000\004\005\003\142\002\164\004\026\004A\003\143\000\000\000\000\000\000\000\000\003\144\0053\000\000\000\000\000\152\000\000\004\007\000\000\004\028\000\000\004B\004!\004C\0049\000\000\000\000\002\193\004\028\000\000\002\197\004!\000_\0049\003\140\000\000\006Q\000\153\000\000\004\019\000\000\003n\000\000\003l\003\131\003o\000\155\000_\000a\002\145\000e\003&\001g\000\000\001h\000\000\003\141\000\152\000_\000\152\000\161\003\142\002\164\004Y\004A\003\143\000\000\000\000\000\000\000\152\003\144\005\181\000\000\001g\000\000\001h\002\234\000\000\000\000\000\153\000\000\000\153\000\140\000\000\000\000\000\155\002\198\000g\000\000\000\000\002\199\000\153\000\000\005\182\000\000\005\185\005m\005n\004\019\000\163\003n\003l\003\131\000\000\003o\000\000\000\183\000\140\000\000\000\000\001i\001g\002\193\001|\001j\002\197\000_\003l\003\129\000\000\002\164\004Y\004A\000\000\000\000\000\000\000\000\000\155\000\140\000\155\003\253\001i\000\000\000\184\000\000\001j\000\000\000\185\000\000\000\155\003|\000\165\001w\000\157\000\000\004\002\000\000\000\000\000\000\004\003\004\020\002\193\003}\000\167\002\197\000\000\004\019\005o\003n\000\000\000\000\000\000\003o\001w\004\005\000\000\000\140\000\140\000\000\001i\000\000\002\198\000\140\001j\003n\002\199\000\000\000_\003o\000\000\004\007\002\164\000\000\002\212\004B\000\000\004C\000\000\000\000\003\253\000\000\004\028\000\000\006[\004!\002\213\0049\003\140\000\000\003|\000\000\001w\000\000\000_\004\002\000\000\002\238\006Q\004\003\004\020\002\198\003}\000\000\004`\002\199\003l\003\131\003N\001\012\003\141\001x\000\000\000\000\004\005\003\142\000\000\000\000\006S\003\143\000\203\000_\000\000\005\236\003\144\002\164\004Y\004A\000_\001\014\004\007\000e\001x\001\015\004B\0016\004a\000\000\003\253\000\000\000\000\004\028\000\000\000\000\004!\005\237\0049\003\140\003|\000\000\005\240\005m\005n\004\002\005\223\002\215\000\000\004\003\004\020\002\212\003}\004\019\004b\003n\003|\003l\003\131\003o\000g\003\141\001x\002\213\004\005\000\000\003\142\000\000\003}\000\000\003\143\001\145\000_\002\239\000\000\003\144\002\164\004\127\004A\000\000\004\007\000\000\000\000\005\181\004B\001\160\004a\000\000\000\000\000\000\002\212\004\028\001\145\003\026\004!\000\000\0049\003\140\001g\002\242\001h\000\000\002\213\000\000\005o\005\182\001\162\005\185\005m\005n\000\000\004\020\004\019\000\000\003n\003l\003\131\000\000\003o\003\141\000\000\003\028\000\138\000\000\003\142\000\000\000\139\002\245\003\143\000\000\000_\000\000\002\247\003\144\002\164\004\127\004A\001g\000\000\001h\000\000\000\000\000\000\000\000\003\253\0055\003\000\006R\004\129\000\000\000\000\000\000\004\028\000\140\003|\004!\001i\0049\000\000\004\002\001j\000\000\000\000\004\003\004\020\003\"\003}\000\000\004t\005o\004\019\002\247\003n\000\000\000\000\000\000\003o\000\140\004\005\000\000\006V\006S\000\141\000\203\000\000\002\248\000\142\000\000\001w\000\000\000\000\001\012\000\140\000\000\004\007\001i\002\166\000\000\004B\001j\004a\003l\003m\003\253\000\000\004\028\004\131\0063\004!\000\000\0049\003\140\000\151\003|\000\000\001\015\003:\0016\004\002\000\000\000\000\000\000\004\003\004\020\001g\003}\001h\001w\000\000\000\000\003l\003\131\000\000\003\141\000\000\000\000\000\000\004\005\003\142\004\149\000\000\000\000\003\143\000\000\000\000\000_\000\000\003\144\000\000\002\164\004\026\004A\000\000\004\007\000\000\000\000\000\140\004B\003n\004\130\000\000\003\253\003o\000\000\004\028\000\000\001x\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\006\024\004\002\000\000\000\000\000\140\004\003\004\020\001i\003}\000\000\004\019\001j\003n\003l\003\131\000\152\003o\003\141\000\000\000\000\004\005\000\000\003\142\002\166\002\193\000\000\003\143\002\197\000_\000\000\001x\003\144\002\164\000\000\004\018\000\000\004\007\000\153\000\000\001w\004B\000\000\004\130\003:\000\000\000\000\000\000\004\028\000\000\000\000\004!\000h\0049\003\140\004.\000\000\000\000\000\000\000\000\001\145\001g\006Z\001h\000\000\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\001\164\003o\003\141\000\000\000\000\002\193\000\140\003\142\002\219\003|\002\198\003\143\000\155\000_\002\199\001\192\003\144\002\164\000\000\004\018\000\000\003}\0043\000\000\000\000\001\145\000\169\000\000\003\253\004\253\005a\000\000\000\000\004\135\000\000\001g\000\000\001h\003|\001\166\0047\000\000\000\140\004\002\001x\001i\001\194\004\003\004\020\001j\003}\000\000\005_\004\019\000\000\003n\005b\005m\005n\003o\000\140\000\000\004\005\000\000\002\198\000\000\003l\003\128\002\199\000\000\000\000\000\000\000\000\000\000\000\000\000\138\005\145\001w\004\007\001V\000h\000\000\004B\004.\004C\000\000\003\253\005\013\003\141\004\028\000\140\004\135\004!\001i\0049\003\140\003|\001j\005\146\005m\005n\004\002\003\150\000\000\000_\004\003\004\020\002\212\003}\000\000\000\000\000\000\001y\003l\003\131\000\000\000\000\003\141\005o\002\213\004|\000\140\003\142\003n\0043\001w\003\143\003o\000_\000\000\000\140\003\144\002\164\000\000\004\018\000\141\004\007\000\000\000\000\000\142\004\023\004~\0047\000\000\003\253\000\000\000\000\004\028\000\000\000\000\004!\000\000\0049\003\140\003|\001x\000\000\000\000\000\000\004\002\005o\002\212\000\000\004\003\004\020\000\151\003}\000\000\004\019\001\"\003n\003l\003\131\002\213\003o\003\141\000\000\000\000\004|\000\000\003\142\000\000\000\000\001\027\003\143\000\000\000_\000\000\002\214\003\144\002\164\000\000\004\018\000\000\004\007\000\000\000\000\000\000\004\023\004~\003l\003\131\005\015\001x\000\000\004\028\004\135\000\000\004!\006g\0049\003\140\000\000\000\000\000\000\000_\000\000\000\000\000\000\002\164\004\026\004A\003|\001\145\000\000\001g\004\019\001h\003n\003l\003\131\000\000\003o\003\141\003}\000\000\000\000\001\168\003\142\000\000\000\000\000\000\003\143\000\152\000_\000\000\000\000\003\144\002\164\002\193\004\018\000\000\002\197\000\000\000\000\004\019\000\000\003n\000\000\003\253\006_\003o\000\000\000\000\004\135\000\153\000\000\000\000\005\156\003|\000\000\001\145\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\000\140\003}\000\000\001i\004\019\001\174\003n\001j\000\000\000\000\003o\000\000\001%\004|\003=\002\193\000\000\001\028\002\197\001\029\000\000\000\203\000\000\000\000\000\140\000\000\000\000\005\145\002\198\004\007\000\000\000\000\002\199\004\023\004~\001w\000\000\003\253\006m\005\255\004\028\000\000\004\135\004!\000\000\0049\003\140\003|\000\000\005\146\005m\005n\004\002\000\000\000\000\000\000\004\003\004\020\000\000\003}\000\000\006\000\006\003\005m\005n\000\000\003\253\000\000\003\141\000\000\002\238\004|\000\000\003\142\002\198\000\000\003|\003\143\002\199\000\000\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004~\000\000\000\000\003\253\000\000\000\000\004\028\000\000\004\005\004!\000\000\0049\003\140\003|\000\000\000_\000\000\000\000\004\002\005o\000\000\001x\004\003\004\020\004\007\003}\000\000\000\000\004B\000\000\004C\000\000\005o\002\212\003\141\004\028\000\000\004|\004!\003\142\0049\003\140\000\000\003\143\000\000\002\213\000\000\000\138\003\144\000\000\001g\000\139\001{\004\007\000\000\000\000\000\000\004\023\004~\000\000\000\000\000\000\002\239\003\141\004\028\003l\003\131\004!\003\142\0049\003\140\000\000\003\143\000\000\006\150\000\000\000\000\003\144\000\000\002\212\000_\006\138\003\026\000\000\002\164\004\026\004A\000\000\002\242\001\145\000\000\002\213\003\141\004\144\003l\003\131\000\000\003\142\000\000\000\000\000\000\003\143\000\140\001\176\000\000\000\140\003\144\000\141\001i\000_\003\028\000\142\001j\002\164\002\247\004A\002\245\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\005\169\003\002\000\000\000\000\000\000\000\000\000\000\005\255\004E\000\000\000\151\000_\006 \001w\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\003!\003o\006\000\006\003\005m\005n\002\247\000\000\000\000\000\000\004\017\000\000\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\002\248\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\000\000\002\193\000\000\000\000\002\218\000\000\004\027\000\000\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\000\000\006\141\000\000\006\142\004\019\006\131\003n\006\132\003\253\000\203\003o\000\000\000\152\000\000\000\000\001x\005o\000\000\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\000\000\003}\000\000\000\000\004\019\000\153\003n\000\000\003\253\000\000\003o\000\140\000\000\004\005\000\000\002\198\000\000\000\000\003|\002\199\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004B\000\000\004C\000\000\003\253\000\000\000\000\004\028\000\000\004\146\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\000\000\004\002\000\155\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004B\000\000\004\148\000\000\003\253\000\171\003\141\004\028\000\000\004\021\004!\003\142\0049\003\140\003|\003\143\000\000\000_\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000_\000\000\004\023\004\024\000\000\006'\003\253\000\000\003\141\004\028\000\000\004\021\004!\003\142\0049\003\140\003|\003\143\000\000\000\000\000\000\004\002\003\144\002\212\000_\004\003\004\020\004\007\003}\000\000\000\000\004\023\004\024\003l\003\131\002\213\000\000\003\141\004\028\000\000\004\021\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\001\"\004\007\000\000\000\000\000\000\004\023\004\024\003l\003\131\000\000\001\"\003\141\004\028\000\000\001\027\004!\003\142\0049\003\140\000\000\003\143\001g\000_\001z\001\027\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\001\"\003n\003l\003\131\000\000\003o\003\141\000\000\000\000\000\000\002\193\003\142\000\000\002\217\001\027\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\000\001i\000_\000\000\000\000\001j\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\140\000\000\000\000\000\000\002\198\000\000\006c\000\000\002\199\000\000\000_\000\000\001w\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\001%\003\253\004(\003o\000\000\001\028\000\000\001\029\000\000\000\203\001%\003|\0040\000\000\000\000\001\028\004\002\001\029\000\000\000\203\004\003\004\020\000\000\003}\000\000\000\000\004\019\000\000\003n\004d\003\253\000\000\003o\000\000\001%\004]\004\175\000\000\000\000\001\028\003|\001\029\000\000\000\203\000\000\004\002\000\000\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004_\000\000\004\\\003\253\000\000\000\000\004\028\000\000\004]\004!\001x\0049\003\140\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\002\212\004\003\004\020\004\007\003}\000\000\000\000\004\023\004_\004p\000\000\003\253\002\213\003\141\004\028\000\000\004q\004!\003\142\0049\003\140\003|\003\143\000\000\000_\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004s\000\000\004n\003\253\000\000\003\141\004\028\000\000\004]\004!\003\142\0049\003\140\003|\003\143\000\000\000\000\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004_\003l\003\131\000\000\000\000\003\141\004\028\000\000\006d\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\001\"\004\007\000\000\000\000\000\000\004\023\006f\003l\003\131\000\000\000\000\003\141\004\028\000\000\001\027\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\003\141\000\000\000\000\000\000\000\000\003\142\000\000\006o\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\002\193\004\018\000\000\002\216\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\004{\000\000\000\000\000\000\000\000\006r\000\000\000\000\000\000\000_\005\145\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\004\128\000\000\000\000\005\146\005m\005n\000\138\000\000\000\000\000\000\001S\000\140\000\000\000\000\005\145\002\198\000\000\000\000\000\000\002\199\004\019\000\000\003n\001%\003\253\004\218\003o\000\000\001\028\000\000\001\029\000\000\000\203\000\000\003|\000\000\005\146\005m\005n\004\002\000\000\000\000\000\000\004\003\004\020\000\138\003}\000\000\000\000\000\147\000\000\000\000\000\000\003\253\000\000\000\000\000\000\000\000\004|\000\000\000_\000\140\000\000\003|\000\000\005o\000\141\000\000\004\002\000\000\000\142\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004~\000\000\000\000\003\253\000\000\000\000\004\028\000\000\004|\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\000\151\004\002\005o\000\000\000\140\004\003\004\020\004\007\003}\000\141\000\000\004\023\004~\000\142\000\000\003\253\002\212\003\141\004\028\000\000\006d\004!\003\142\0049\003\140\003|\003\143\000\000\002\213\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\151\004\023\006f\000\000\000\000\003l\003\131\003\141\004\028\000\000\006d\004!\003\142\0049\003\140\000\000\003\143\000\000\000\000\000\000\000_\003\144\000\000\000\000\004\162\000\000\004\007\000\000\003l\003\127\004\023\006f\000\000\000\000\000\000\000\000\003\141\004\028\005\167\000\152\004!\003\142\0049\003\140\000\000\003\143\000\000\004\193\000\000\000\000\003\144\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\004\196\000\153\003n\000\000\000\000\003\141\003o\000\000\000\000\000_\003\142\005\165\000\000\000\138\003\143\000\000\000\000\000\147\000\152\003\144\001g\005\255\001h\000\140\004\202\003n\000\000\000\000\000_\003o\000\000\000\000\000\197\000\198\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\000\000\000\006\000\006\003\005m\005n\005\255\000\000\000\140\000\000\000\000\004\239\000\000\000\141\003\136\000\000\001\181\000\142\000\138\000\202\000\000\000\203\000\147\000\000\000\183\000\000\000\000\000\140\006\000\006\003\005m\005n\000\141\000_\000\140\000\000\000\142\001i\000\000\000\000\000\000\001j\000\000\000\151\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\005\145\000\000\000\000\003|\000\157\000\151\001G\000\000\005o\005\145\000\000\000\000\001w\004\203\000\000\003}\000\140\005\145\000\000\000\000\005\145\000\141\005\146\005m\005n\000\142\003|\004\241\000\000\000\000\000\000\005\146\005m\005n\005o\000\000\000\000\000\000\003}\005\146\005m\005n\005\146\005m\005n\000\000\000\000\000\000\000\000\000\000\000\000\000\151\003l\003\131\004\206\000\000\000\000\004\242\000\000\004\229\003\140\000\000\000\138\000\000\000\152\000\000\000\147\000_\000\000\002\193\000\000\004\162\002\197\000\000\000\000\000\000\000\000\000_\000\197\001n\000\200\000\201\003\141\000\152\005o\000\000\000\153\003\142\000\000\000\000\001x\003\143\000\000\005o\004\243\000\000\003\144\000\197\002\203\000\200\000\201\005o\000\000\000\000\005o\000\153\000\202\004\196\000\203\003n\000\000\000\183\000\000\003o\000\000\006*\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\140\000\202\000\142\000\203\002\198\000\152\000\183\004\202\002\199\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\0061\000\185\000\197\003s\000\200\000\201\000\000\000\157\000\000\001G\000\153\000\151\000\155\000\000\000\000\000\000\000\184\001\145\000\138\000\000\000\185\000\000\000\147\000\000\000\000\000\000\000\157\000\000\001G\000\000\000\202\001\178\000\203\000_\000\000\000\183\000\000\000\138\003l\003\131\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\192\000_\000_\000\000\000\000\000\000\004\162\000\155\000\000\005\203\000\000\000\184\005\145\000\000\000\000\000\185\003|\005\208\000\000\000\000\005\232\000\157\000\140\001G\000\000\000\000\004\203\000\141\003}\004\195\000\000\000\142\000\000\002\212\005\146\005m\005n\000\000\000\152\000\000\004\204\000\140\004\196\000\000\003n\002\213\000\141\000\000\003o\000\000\000\142\000\000\000\197\003\255\000\200\000\201\000\000\000\151\002\193\000\000\000\153\002\197\000\000\000\000\005\145\000\000\004\202\004\206\000\000\000\000\004\211\000\000\004\229\003\140\000\138\000\000\000\151\000\000\000\147\000\000\000\202\000\000\000\203\000\000\000\000\000\183\005\146\005m\005n\000_\000\000\000\000\000\000\000\000\000\000\003\141\005o\000\000\000\000\000\000\003\142\000\000\000\000\000\000\003\143\003l\003\131\000\000\000\155\003\144\000\000\000\000\000\184\000\140\002\247\000\000\000\185\002\198\000\000\000\000\000\000\002\199\000\157\000\000\001G\000\000\004M\000\000\003\004\000\140\000\000\000\000\000\000\000\000\000\141\000\152\000\000\000\000\000\142\000\000\000\000\000\000\000\000\003|\000\000\000\000\000\000\000\000\005o\000\197\004\030\000\200\000\201\004\203\000\152\003}\000\000\000\153\000\000\000\000\002\238\000\000\003n\000\000\000\151\000\000\003o\004\204\000\197\004\208\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\202\000\000\000\203\000\000\000\000\000\183\000\000\000\000\001\179\001\181\000\000\000\138\000\000\000\000\000\000\000\147\000\000\004\206\000\000\000\202\004\211\000\203\004\229\003\140\000\183\000\000\000_\005\230\000\155\000\000\000\000\000\000\000\184\000\000\004S\000\000\000\185\002\212\003\136\000\000\000\000\000\000\000\157\000\000\001G\003\141\000\000\000\155\000\000\002\213\003\142\000\184\000\000\000\000\003\143\000\185\000\000\000\000\000\000\003\144\000\000\000\157\000\000\001G\000\000\000\152\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\003\253\000\142\003l\003\131\000\000\006\022\000\000\000\000\001\183\000\000\003|\000\000\000\000\000\153\000\000\004\002\000\000\000\000\000\000\004\003\000\000\000\000\003}\003\246\005\n\003l\003\131\000\151\000\000\000\000\000\000\000\000\000\000\001\189\004U\000\203\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\002\247\000\000\003\246\004V\000\000\000\000\004\007\003l\003\131\000\000\000\000\000\000\000\000\002\238\003\006\003n\000\138\000\155\000\000\003o\000\147\000\184\000\000\003\140\000\000\000\185\000\000\002\193\003\246\004L\002\197\000\157\000\000\000\000\000\000\000\000\002\238\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\003\141\000\000\000\000\000\000\000\000\003\142\000\000\000\000\000\000\003\143\000\000\003l\003m\000\000\003\144\000\000\000\152\002\238\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\000\140\000\000\003l\003\131\001I\000\141\000\000\000\201\000\000\000\142\000\000\000\140\000\153\000\000\000\000\002\198\000\000\000\000\000\000\002\199\000\000\001\210\000\000\003\246\003\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\003\253\000\203\000\151\000\000\000\183\000\000\000\000\000\140\000\000\003n\003|\000\000\000\000\003o\000\000\004\002\000\000\000\000\000\000\004\003\000\000\000\000\003}\003\253\002\238\000\000\003n\000\155\000\000\000\000\003o\000\184\000\000\003|\004\005\000\185\000\000\000\000\004\002\000\000\000\000\000\157\004\003\001G\000\000\003}\000\000\000\000\000\000\003\253\004\007\000\000\000\000\000\000\000\000\002\193\000\000\004\005\002\197\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\003\140\004\003\000\000\000\000\003}\000\000\004\007\003l\003\131\000\000\000\000\000\000\002\212\000\152\000\000\000\000\004\005\000\000\003l\003\131\000\000\000\000\003\141\003\140\002\213\000\000\000\000\003\142\003\246\004\001\000\182\003\143\004\007\000\000\000\000\000\153\003\144\000\000\000\000\003\246\004X\003|\000\000\000\140\000\000\003\141\000\000\002\198\003\253\003\140\003\142\002\199\000\000\003}\003\143\000\000\003l\003\131\003|\003\144\000\183\000\000\002\238\004\002\003n\000\000\000\000\004\003\003o\000\000\003}\003\141\000\000\002\238\000\000\003n\003\142\003\246\005#\003o\003\143\000\000\004\005\000\155\000\000\003\144\000\000\000\184\000\000\000\000\000\000\000\185\000\000\002\247\000\000\000\000\000\000\000\157\004\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\008\000\000\000\000\000\000\002\238\000\000\003n\000\000\003\140\000\000\003o\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\000\000\000\003l\003\131\000\000\000\000\000\000\000\000\000\000\003\152\000\000\000\000\003\141\003l\003\131\000\000\000\000\003\142\000\000\002\212\000\000\003\143\000\000\003\246\005%\000\000\003\144\000\000\003\253\000\000\000\000\002\213\000\000\000\000\003\246\005'\000\000\000\000\003|\003\253\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\000\000\003|\003}\000\000\000\000\000\000\004\002\000\000\000\000\002\238\004\003\003n\000\000\003}\004\005\003o\003l\003\131\000\000\000\000\002\238\000\000\003n\000\000\000\000\004\005\003o\000\000\000\000\003\253\004\007\000\000\000\000\000\000\000\000\000\000\000\000\004O\000\138\003|\000\000\004\007\000\147\000\000\004\002\000\000\000\000\003\140\004\003\000\000\000\000\003}\002\247\000_\002\193\000\000\000\000\002\197\003\140\000\000\000\000\000\000\000\000\004\005\000\000\000\000\003\n\000\000\000\000\003\141\000\000\002\238\000\000\003n\003\142\000\000\000\000\003o\003\143\004\007\003\141\000\000\000\000\003\144\000\138\003\142\000\000\000\000\000\147\003\143\000\000\000\000\000\000\000\140\003\144\000\000\003\140\000\000\000\141\000_\003\253\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\140\003|\003\253\000\000\002\198\000\000\004\002\000\000\002\199\003\141\004\003\000\000\003|\003}\003\142\000\000\000\000\004\002\003\143\000\151\000\000\004\003\000\000\003\144\003}\004\005\000\000\003l\003m\000\000\000\140\000\000\000\000\000\000\000\000\000\141\004\005\000\000\000\138\000\142\000\000\004\007\001R\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\004\007\003\253\003l\003m\000\000\000\000\003\140\000_\000\000\000\000\000\138\003|\000\000\000\151\000\147\000\000\004\002\003\140\003l\003m\004\003\000\000\000\000\003}\000\000\000_\000\000\000\000\003\141\000\000\000\140\000\000\003n\003\142\000\000\004\005\003o\003\143\000\000\003\141\000\000\000\140\003\144\000\000\003\142\000\152\000\141\000\140\003\143\002\212\000\142\004\007\000\141\003\144\000\000\000\000\000\142\000\140\000\000\003n\000\000\002\213\001W\003o\000\000\000\140\000\000\000\153\003\140\000\000\000\141\000\000\000\000\000\140\000\142\003n\000\151\000\000\000\000\003o\000\000\000\138\000\151\000\000\000\000\000\147\000\000\001Y\000\000\000\203\003\141\000\152\000\183\000\000\000\000\003\142\000_\000\000\000\000\003\143\000\151\000\000\000\138\000\000\003\144\000\000\000\147\000\000\001W\000\000\000\000\000\000\000\000\000\153\000\000\000\155\000\000\000_\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\002\247\003|\000\000\001\201\002\193\000\203\000\140\002\197\000\183\000\000\000\000\000\141\000\000\003}\003\012\000\142\000\000\000\000\000\000\000\000\002\193\000\000\000\000\002\197\000\152\000\000\000\000\000\140\003|\000\000\000\152\000\155\000\141\000\000\000\000\000\184\000\142\000\000\000\138\000\185\003}\000\151\000\147\000\000\003|\000\157\000\153\001T\000\152\000\000\000\000\000\000\000\153\000_\000\000\000\000\003}\000\000\000\000\000\140\000\000\000\000\000\151\002\198\000\000\002\176\000\000\002\199\000\000\000\000\000\153\000\000\001\207\000\000\000\203\002\238\000\000\000\183\000\000\002\198\003\141\000\000\000\000\002\199\000\000\000\000\000\000\000\000\002\193\000\000\002\178\002\197\000\203\000\140\003\154\000\183\000\000\000\000\000\141\000\000\000\155\000\000\000\142\000\000\000\184\000\000\000\000\003\141\000\185\000\000\002\193\000\000\000\000\002\197\000\157\000\000\000\000\000\000\000\155\000\152\000\000\003\156\000\184\003\141\000\000\000\000\000\185\000\000\000\151\000\000\000\000\000\138\000\157\000\000\000\000\000\147\002\176\003\158\000\000\000\000\000\152\000\153\000\000\000\140\000\138\000\000\000\000\002\198\000\147\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\000\003\\\000\000\002\239\002\212\002\195\000\153\000\203\000\000\002\238\000\183\000\000\000\000\002\198\003l\003m\002\213\002\199\000\000\000\000\002\212\003\019\003\020\003\022\000\000\000\000\003^\000\000\000\203\002\242\000\140\000\183\002\213\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\000\000\185\000\000\000\140\000\000\000\000\000\000\000\157\000\141\000\000\000\152\003\025\000\142\000\000\000\155\000\000\000\000\002\245\000\184\000\000\000\000\000\000\000\185\000\000\000\179\000\151\000\000\003\\\000\157\000\140\000\000\003n\000\153\000\000\000\000\003o\000\138\000\000\000\151\000\000\000\147\000\000\000\000\000\000\000\000\002\247\001\198\000\000\002\212\000\000\000\000\000\138\003\176\002\239\000\203\000\147\000\000\000\183\000\000\003\014\002\213\002\247\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\002\212\003\019\006i\003\022\000\000\002\248\000\000\000\000\000\000\002\242\000\155\000\000\002\213\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\140\000\000\000\000\000\157\000\000\000\141\000\000\000\000\000\000\000\142\003\025\000\000\000\152\000\000\002\193\000\140\002\245\002\197\000\000\000\000\000\141\001\170\000\000\000\000\000\142\000\152\000\000\000\000\000\140\001\183\000\000\000\000\000\000\000\141\000\153\000\151\000\000\000\142\002\247\003|\000\000\000\000\000\182\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\151\003}\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\183\002\247\002\193\000\138\000\151\002\197\000\000\000\147\000\000\000\000\002\238\000\000\002\173\000\183\002\198\002\248\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\155\000\000\000\000\002\193\000\184\000\000\002\197\000\000\000\185\000\000\000\000\000\000\000\000\000\155\000\157\000\000\000\000\000\184\003l\003m\000\000\000\185\000\138\000\000\000\000\000\000\000\147\000\157\000\000\000\000\000\000\000\152\000\000\000\000\002\238\000\140\003\141\000\000\002\198\000\000\000\141\000\000\002\199\000\000\000\142\000\000\000\152\000\000\000\182\000\000\003\160\002\232\000\000\000\153\000\000\000\000\000\000\000\000\002\238\000\152\000\000\000\000\002\198\001\183\000\000\000\000\002\199\000\000\000\153\000\000\000\151\002\239\000\000\000\140\000\000\003n\002\234\000\140\000\183\003o\000\000\000\153\000\141\000\000\000\000\000\000\000\142\000\000\002\212\003\024\000\138\003\022\000\000\000\183\000\147\000\000\000\000\002\242\000\000\000\000\002\213\000\155\000\000\000\138\000\000\000\184\000\183\000\147\000\000\000\185\000\000\000\000\000\151\000\000\000\000\000\157\000\155\000\000\002\239\003\025\000\184\000\000\000\000\000\000\000\185\002\245\000\000\000\000\000\000\000\155\000\157\000\000\000\000\000\184\000\000\002\212\000\000\000\185\003\026\000\000\0037\000\000\002\239\000\157\002\242\000\140\000\000\002\213\000\152\000\138\000\141\000\000\000\000\000\147\000\142\000\000\000\000\000\000\000\140\002\212\000\000\000\000\002\244\000\141\000\000\002\234\003\028\000\142\002\242\002\247\000\153\002\213\002\245\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\151\000\000\003B\002\248\000\000\000\000\003}\000\000\000\138\000\000\000\152\000\000\000\147\000\151\000\000\000\183\002\245\000\000\000\000\000\000\000\000\000\000\002\193\000\000\000\140\002\197\000\000\002\234\000\000\000\141\003\031\000\000\000\153\000\142\000\000\000\000\002\247\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\003\166\000\185\000\000\000\000\000\000\002\248\000\138\000\157\000\000\000\138\000\147\000\000\000\183\000\147\000\151\002\247\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\003J\000\000\000\142\003\141\002\248\000\000\000\000\000\140\000\152\000\000\000\155\002\198\000\000\003Q\000\184\002\199\000\000\003\162\000\185\000\000\000\000\000\152\000\000\000\000\000\157\002\234\000\000\000\000\000\151\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\140\000\000\002\234\000\140\000\000\000\141\000\000\000\153\000\141\000\142\000\000\000\000\000\142\000\138\000\000\000\000\000\138\000\147\000\000\000\183\000\147\003\219\000\000\000\000\003\221\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\183\000\000\000\000\000\151\000\138\000\000\000\151\000\000\000\139\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\182\000\000\000\185\000\000\000\000\000\153\000\000\000\155\000\157\000\000\000\000\000\184\000\000\000\000\004,\000\185\000\000\000\000\000\000\000\000\000\140\000\157\000\152\000\140\002\212\000\141\000\000\000\000\000\141\000\142\000\183\000\138\000\142\000\138\000\138\000\147\002\213\000\147\000\147\002\234\000\000\003\223\000\000\000\140\000\153\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\155\000\000\000\151\000\000\000\184\000\151\000\000\000\000\000\185\000\000\000\000\000\000\000\152\000\000\000\157\000\152\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\151\000\000\000\000\000\147\000\182\000\000\000\000\000\182\000\140\000\153\000\140\000\140\000\153\000\141\000\155\000\141\000\141\000\142\000\184\000\142\000\142\000\000\000\185\000\000\000\000\000\000\000\000\002\247\000\157\000\000\000\000\000\000\000\138\000\000\000\183\000\000\000\147\000\183\000\000\000\000\000\000\003\018\000\000\000\151\000\138\000\151\000\151\000\000\000\147\000\000\0045\000\000\000\000\000\000\000\140\000\152\000\000\000\155\000\152\000\141\000\155\000\184\000\000\000\142\000\184\000\185\000\000\000\000\000\185\000\000\000\000\000\157\000\182\000\000\000\157\002\234\000\000\000\153\000\152\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\151\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\140\000\153\000\000\000\183\000\000\000\141\000\183\000\000\000\000\000\142\000\000\000\000\000\000\000\000\004=\000\000\004\167\004\179\000\000\000\000\000\000\000\000\000\152\000\151\000\152\000\152\000\155\000\000\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\151\000\000\000\185\000\000\002\234\000\157\002\234\002\234\000\157\000\153\000\000\000\153\000\153\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\000\004\184\000\147\000\000\000\173\000\000\000\000\000\000\000\000\000\152\000\183\000\000\000\183\000\183\000\138\000\000\000\000\000\138\000\147\000\000\000\000\000\147\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\153\000\000\000\155\004\191\000\155\000\155\000\184\000\000\000\184\000\184\000\185\000\152\000\185\000\185\000\000\004\200\000\157\000\000\000\157\000\157\000\000\000\000\000\140\000\152\000\000\000\183\000\000\000\141\002\234\000\000\000\000\000\142\000\000\000\153\000\000\003l\003m\000\000\000\140\000\000\002\234\000\140\000\000\000\141\000\000\000\153\000\141\000\142\000\155\000\138\000\142\000\000\000\184\000\147\000\000\000\000\000\185\000\151\000\183\000\000\000\000\000\000\000\157\006\165\000\000\000\138\000\000\000\000\000\138\000\147\000\183\000\000\000\147\000\151\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\140\000\000\003n\000\155\000\000\000\157\003o\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\140\000\000\000\000\000\157\000\000\000\141\000\000\000\000\000\000\000\142\000\138\000\000\000\000\000\000\000\147\000\000\000\140\000\000\000\000\000\140\000\000\000\141\000\000\004\222\000\141\000\142\000\000\000\000\000\142\000\000\000\000\000\152\000\000\000\000\000\000\000\151\000\000\000\000\000\000\004\227\000\000\000\000\004\234\000\000\000\000\000\000\000\000\000\152\002\234\000\000\000\152\000\151\000\138\000\153\000\151\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\234\000\140\000\000\002\234\000\000\000\153\000\141\000\000\000\153\000\000\000\142\000\000\000\000\000\000\000\183\000\000\000\000\000\138\003l\003m\000\000\000\147\000\000\003|\000\000\000\000\000\000\000\000\000\138\000\000\000\183\000\000\000\147\000\183\000\000\003}\000\151\000\155\000\000\000\000\000\000\000\184\000\000\000\140\000\000\000\185\000\000\000\000\000\141\000\152\000\000\000\157\000\142\000\155\000\000\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\152\006F\000\157\000\152\000\000\000\157\000\153\000\140\000\140\000\000\003n\000\000\000\141\000\151\003o\000\000\000\142\001K\000\140\000\000\001q\000\000\000\153\000\141\000\000\000\153\000\000\000\142\000\138\000\000\000\000\000\183\000\147\000\000\000\000\000\138\000\000\003\141\000\000\000\147\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\183\000\000\000\152\000\183\003\164\000\000\000\151\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\001\138\000\000\000\157\000\000\000\155\000\153\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\000\000\140\000\157\000\000\000\000\000\157\000\141\000\000\000\140\000\152\000\142\000\000\000\138\000\141\000\183\000\000\000\147\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\185\003|\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\151\000\155\000\152\003}\000\138\000\184\000\000\000\151\000\147\000\185\000\000\000\000\000\000\000\152\000\000\000\157\000\000\000\000\000\000\002\155\000\183\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\002\159\000\140\000\000\000\000\000\000\000\153\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\155\000\138\000\000\000\000\000\184\000\147\000\183\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\140\000\183\000\000\000\000\000\138\000\141\000\000\000\151\000\147\000\142\000\000\003\141\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\152\000\000\000\185\000\000\000\000\000\155\003\170\000\152\000\157\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\151\002\206\000\000\000\157\000\000\000\140\000\153\000\000\002\221\000\000\000\141\000\000\000\000\000\153\000\142\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\140\000\000\000\000\003l\003m\000\141\000\000\000\183\000\138\000\142\000\000\000\000\000\147\000\000\000\183\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\152\000\138\000\147\000\000\000\155\000\147\000\000\000\000\000\184\000\151\000\000\000\155\000\185\000\000\000\000\000\184\000\000\002\223\000\157\000\185\000\000\000\000\000\153\000\000\000\140\000\157\000\000\000\000\000\152\000\141\000\000\000\000\000\140\000\142\003n\000\000\000\000\000\140\003o\000\000\000\000\000\000\000\141\000\000\000\000\003v\000\142\000\183\000\000\000\000\000\153\000\000\000\000\000\140\000\000\000\000\000\140\000\000\000\141\000\151\000\000\000\141\000\142\000\000\000\000\000\142\000\000\000\000\000\152\000\000\000\155\000\000\000\151\000\000\000\184\000\183\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003\181\000\000\000\152\000\151\000\138\000\153\000\151\000\000\000\147\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\003\186\000\000\000\185\000\000\000\000\000\153\000\000\000\000\000\157\000\138\000\000\000\183\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\003|\000\183\000\000\000\147\000\152\000\155\000\000\000\000\000\000\000\184\000\000\000\140\003}\000\185\000\000\000\000\000\141\000\152\000\000\000\157\000\142\003\190\000\000\000\000\000\155\000\000\000\153\000\000\000\184\000\000\000\000\000\000\000\185\000\152\003\211\000\140\000\152\000\000\000\157\000\153\000\141\000\000\000\000\000\000\000\142\000\138\000\151\000\000\000\000\000\147\003\250\000\183\000\000\004\155\000\140\000\153\000\000\000\000\000\153\000\141\000\000\000\000\000\000\000\142\000\183\000\000\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\003\141\000\183\000\000\000\185\000\183\000\000\000\000\000\000\000\155\000\157\000\151\000\138\000\184\000\000\003\172\000\147\000\185\003l\003m\000\000\000\000\000\140\000\157\000\000\000\155\000\000\000\141\000\155\000\184\000\000\000\142\000\184\000\185\000\000\000\000\000\185\000\000\000\000\000\157\000\000\000\000\000\157\000\000\000\138\000\000\000\152\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\151\000\000\000\147\000\000\000\000\000\000\005\001\000\000\000\000\000\000\000\140\000\153\000\000\000\152\000\000\000\141\000\140\000\000\003n\000\142\000\000\000\000\003o\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\021\000\000\000\152\000\000\000\000\000\153\000\183\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\138\000\151\000\000\000\141\000\149\005\023\000\000\000\142\000\000\000\140\000\153\000\000\000\000\000\000\000\141\000\155\000\183\000\000\000\142\000\184\000\138\000\000\000\000\000\185\000\149\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\151\000\152\000\183\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\151\000\000\000\000\000\185\000\000\000\000\000\000\005\025\000\000\000\157\000\000\000\140\000\153\000\000\000\155\000\000\000\141\000\138\000\184\000\000\000\142\000\149\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003|\000\138\000\140\000\000\000\000\000\149\000\152\000\141\000\183\000\000\000\000\000\142\003}\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\005\031\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\151\000\152\000\185\000\000\000\000\000\138\000\140\000\000\000\157\000\139\000\000\000\141\000\152\000\000\000\000\000\142\000\183\000\000\005-\000\140\000\000\000\000\000\000\000\153\000\141\000\000\000\000\000\000\000\142\005;\000\000\000\000\000\000\000\138\000\153\000\000\000\000\000\139\000\000\000\155\000\000\000\151\003\141\000\184\000\000\000\000\000\138\000\185\000\183\000\000\000\139\000\000\000\000\000\157\000\151\000\000\003\174\000\138\000\152\000\183\000\140\000\139\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\152\000\185\000\153\000\000\000\155\000\000\000\000\000\157\000\184\000\000\000\140\000\000\000\185\000\000\000\000\000\141\000\000\000\151\000\157\000\142\000\000\000\000\000\153\000\140\000\000\000\000\000\000\000\154\000\141\000\000\000\000\000\000\000\142\000\000\000\140\000\000\000\138\000\000\000\000\000\141\000\139\000\152\000\000\000\142\000\000\000\151\000\000\000\154\000\000\000\000\000\155\000\000\000\000\000\000\000\152\001\128\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\153\000\157\000\000\000\000\000\000\000\000\000\151\000\155\000\000\000\000\000\000\000\000\001\130\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\154\000\000\000\000\000\140\000\000\000\000\000\000\000\152\000\141\000\000\000\000\000\000\000\142\000\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\003\133\000\153\000\000\000\000\000\000\000\000\000\000\000\152\000\155\000\157\000\151\000\000\000\000\003\135\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\175\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\155\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\153\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\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")) let semantic_action = [| @@ -1552,9 +1557,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1882 "parser_cocci_menhir.mly" +# 1883 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp _1 ) -# 1558 "parser_cocci_menhir.ml" +# 1563 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1573,14 +1578,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 66 "parser_cocci_menhir.mly" +# 67 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 1579 "parser_cocci_menhir.ml" +# 1584 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1884 "parser_cocci_menhir.mly" +# 1885 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -1588,7 +1593,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Some nm -> Some(P.clt2mcode nm clt) | None -> None in Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) ) -# 1592 "parser_cocci_menhir.ml" +# 1597 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1610,9 +1615,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1892 "parser_cocci_menhir.mly" +# 1893 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) ) -# 1616 "parser_cocci_menhir.ml" +# 1621 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1632,9 +1637,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 1936 "parser_cocci_menhir.mly" +# 1937 "parser_cocci_menhir.mly" ( Ast.WhenAny ) -# 1638 "parser_cocci_menhir.ml" +# 1643 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1654,9 +1659,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 1937 "parser_cocci_menhir.mly" +# 1938 "parser_cocci_menhir.mly" ( Ast.WhenStrict ) -# 1660 "parser_cocci_menhir.ml" +# 1665 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1676,9 +1681,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 1938 "parser_cocci_menhir.mly" +# 1939 "parser_cocci_menhir.mly" ( Ast.WhenForall ) -# 1682 "parser_cocci_menhir.ml" +# 1687 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1698,9 +1703,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 1939 "parser_cocci_menhir.mly" +# 1940 "parser_cocci_menhir.mly" ( Ast.WhenExists ) -# 1704 "parser_cocci_menhir.ml" +# 1709 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1722,9 +1727,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1283 "parser_cocci_menhir.mly" +# 1284 "parser_cocci_menhir.mly" ( _1 ) -# 1728 "parser_cocci_menhir.ml" +# 1733 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1754,17 +1759,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 1760 "parser_cocci_menhir.ml" +# 1765 "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_ = -# 1285 "parser_cocci_menhir.mly" +# 1286 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 1768 "parser_cocci_menhir.ml" +# 1773 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1794,17 +1799,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 98 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 1800 "parser_cocci_menhir.ml" +# 1805 "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_ = -# 1287 "parser_cocci_menhir.mly" +# 1288 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 1808 "parser_cocci_menhir.ml" +# 1813 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1834,17 +1839,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 1840 "parser_cocci_menhir.ml" +# 1845 "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_ = -# 1289 "parser_cocci_menhir.mly" +# 1290 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 1848 "parser_cocci_menhir.ml" +# 1853 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1874,17 +1879,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 1880 "parser_cocci_menhir.ml" +# 1885 "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_ = -# 1291 "parser_cocci_menhir.mly" +# 1292 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 1888 "parser_cocci_menhir.ml" +# 1893 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1914,17 +1919,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 97 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 1920 "parser_cocci_menhir.ml" +# 1925 "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_ = -# 1293 "parser_cocci_menhir.mly" +# 1294 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 1928 "parser_cocci_menhir.ml" +# 1933 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1954,17 +1959,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 1960 "parser_cocci_menhir.ml" +# 1965 "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_ = -# 1295 "parser_cocci_menhir.mly" +# 1296 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 1968 "parser_cocci_menhir.ml" +# 1973 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1994,17 +1999,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Data.clt) -# 2000 "parser_cocci_menhir.ml" +# 2005 "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_ = -# 1297 "parser_cocci_menhir.mly" +# 1298 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 2008 "parser_cocci_menhir.ml" +# 2013 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2034,17 +2039,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Data.clt) -# 2040 "parser_cocci_menhir.ml" +# 2045 "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_ = -# 1299 "parser_cocci_menhir.mly" +# 1300 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2048 "parser_cocci_menhir.ml" +# 2053 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2074,17 +2079,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 94 "parser_cocci_menhir.mly" (Data.clt) -# 2080 "parser_cocci_menhir.ml" +# 2085 "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_ = -# 1301 "parser_cocci_menhir.mly" +# 1302 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2088 "parser_cocci_menhir.ml" +# 2093 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2114,17 +2119,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 91 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Data.clt) -# 2120 "parser_cocci_menhir.ml" +# 2125 "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_ = -# 1303 "parser_cocci_menhir.mly" +# 1304 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2128 "parser_cocci_menhir.ml" +# 2133 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2154,17 +2159,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 92 "parser_cocci_menhir.mly" +# 93 "parser_cocci_menhir.mly" (Data.clt) -# 2160 "parser_cocci_menhir.ml" +# 2165 "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_ = -# 1305 "parser_cocci_menhir.mly" +# 1306 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2168 "parser_cocci_menhir.ml" +# 2173 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2194,17 +2199,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 90 "parser_cocci_menhir.mly" +# 91 "parser_cocci_menhir.mly" (Data.clt) -# 2200 "parser_cocci_menhir.ml" +# 2205 "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_ = -# 1307 "parser_cocci_menhir.mly" +# 1308 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 2208 "parser_cocci_menhir.ml" +# 2213 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2234,17 +2239,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Data.clt) -# 2240 "parser_cocci_menhir.ml" +# 2245 "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_ = -# 1309 "parser_cocci_menhir.mly" +# 1310 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 2248 "parser_cocci_menhir.ml" +# 2253 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2266,9 +2271,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1283 "parser_cocci_menhir.mly" +# 1284 "parser_cocci_menhir.mly" ( _1 ) -# 2272 "parser_cocci_menhir.ml" +# 2277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2298,17 +2303,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 2304 "parser_cocci_menhir.ml" +# 2309 "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_ = -# 1285 "parser_cocci_menhir.mly" +# 1286 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 2312 "parser_cocci_menhir.ml" +# 2317 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2338,17 +2343,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 98 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2344 "parser_cocci_menhir.ml" +# 2349 "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_ = -# 1287 "parser_cocci_menhir.mly" +# 1288 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2352 "parser_cocci_menhir.ml" +# 2357 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2378,17 +2383,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 2384 "parser_cocci_menhir.ml" +# 2389 "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_ = -# 1289 "parser_cocci_menhir.mly" +# 1290 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 2392 "parser_cocci_menhir.ml" +# 2397 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2418,17 +2423,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 2424 "parser_cocci_menhir.ml" +# 2429 "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_ = -# 1291 "parser_cocci_menhir.mly" +# 1292 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 2432 "parser_cocci_menhir.ml" +# 2437 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2458,17 +2463,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 97 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2464 "parser_cocci_menhir.ml" +# 2469 "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_ = -# 1293 "parser_cocci_menhir.mly" +# 1294 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2472 "parser_cocci_menhir.ml" +# 2477 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2498,17 +2503,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 2504 "parser_cocci_menhir.ml" +# 2509 "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_ = -# 1295 "parser_cocci_menhir.mly" +# 1296 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 2512 "parser_cocci_menhir.ml" +# 2517 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2538,17 +2543,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Data.clt) -# 2544 "parser_cocci_menhir.ml" +# 2549 "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_ = -# 1297 "parser_cocci_menhir.mly" +# 1298 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 2552 "parser_cocci_menhir.ml" +# 2557 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2578,17 +2583,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Data.clt) -# 2584 "parser_cocci_menhir.ml" +# 2589 "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_ = -# 1299 "parser_cocci_menhir.mly" +# 1300 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2592 "parser_cocci_menhir.ml" +# 2597 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2618,17 +2623,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 94 "parser_cocci_menhir.mly" (Data.clt) -# 2624 "parser_cocci_menhir.ml" +# 2629 "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_ = -# 1301 "parser_cocci_menhir.mly" +# 1302 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2632 "parser_cocci_menhir.ml" +# 2637 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2658,17 +2663,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 91 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Data.clt) -# 2664 "parser_cocci_menhir.ml" +# 2669 "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_ = -# 1303 "parser_cocci_menhir.mly" +# 1304 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2672 "parser_cocci_menhir.ml" +# 2677 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2698,17 +2703,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 92 "parser_cocci_menhir.mly" +# 93 "parser_cocci_menhir.mly" (Data.clt) -# 2704 "parser_cocci_menhir.ml" +# 2709 "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_ = -# 1305 "parser_cocci_menhir.mly" +# 1306 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2712 "parser_cocci_menhir.ml" +# 2717 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2738,17 +2743,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 90 "parser_cocci_menhir.mly" +# 91 "parser_cocci_menhir.mly" (Data.clt) -# 2744 "parser_cocci_menhir.ml" +# 2749 "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_ = -# 1307 "parser_cocci_menhir.mly" +# 1308 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 2752 "parser_cocci_menhir.ml" +# 2757 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2778,17 +2783,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Data.clt) -# 2784 "parser_cocci_menhir.ml" +# 2789 "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_ = -# 1309 "parser_cocci_menhir.mly" +# 1310 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 2792 "parser_cocci_menhir.ml" +# 2797 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2810,9 +2815,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1283 "parser_cocci_menhir.mly" +# 1284 "parser_cocci_menhir.mly" ( _1 ) -# 2816 "parser_cocci_menhir.ml" +# 2821 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2842,17 +2847,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 2848 "parser_cocci_menhir.ml" +# 2853 "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_ = -# 1285 "parser_cocci_menhir.mly" +# 1286 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 2856 "parser_cocci_menhir.ml" +# 2861 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2882,17 +2887,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 98 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2888 "parser_cocci_menhir.ml" +# 2893 "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_ = -# 1287 "parser_cocci_menhir.mly" +# 1288 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2896 "parser_cocci_menhir.ml" +# 2901 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2922,17 +2927,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 2928 "parser_cocci_menhir.ml" +# 2933 "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_ = -# 1289 "parser_cocci_menhir.mly" +# 1290 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 2936 "parser_cocci_menhir.ml" +# 2941 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2962,17 +2967,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 2968 "parser_cocci_menhir.ml" +# 2973 "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_ = -# 1291 "parser_cocci_menhir.mly" +# 1292 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 2976 "parser_cocci_menhir.ml" +# 2981 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3002,17 +3007,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 97 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3008 "parser_cocci_menhir.ml" +# 3013 "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_ = -# 1293 "parser_cocci_menhir.mly" +# 1294 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3016 "parser_cocci_menhir.ml" +# 3021 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3042,17 +3047,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 3048 "parser_cocci_menhir.ml" +# 3053 "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_ = -# 1295 "parser_cocci_menhir.mly" +# 1296 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3056 "parser_cocci_menhir.ml" +# 3061 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3082,17 +3087,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Data.clt) -# 3088 "parser_cocci_menhir.ml" +# 3093 "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_ = -# 1297 "parser_cocci_menhir.mly" +# 1298 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3096 "parser_cocci_menhir.ml" +# 3101 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3122,17 +3127,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Data.clt) -# 3128 "parser_cocci_menhir.ml" +# 3133 "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_ = -# 1299 "parser_cocci_menhir.mly" +# 1300 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 3136 "parser_cocci_menhir.ml" +# 3141 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3162,17 +3167,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 94 "parser_cocci_menhir.mly" (Data.clt) -# 3168 "parser_cocci_menhir.ml" +# 3173 "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_ = -# 1301 "parser_cocci_menhir.mly" +# 1302 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 3176 "parser_cocci_menhir.ml" +# 3181 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3202,17 +3207,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 91 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Data.clt) -# 3208 "parser_cocci_menhir.ml" +# 3213 "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_ = -# 1303 "parser_cocci_menhir.mly" +# 1304 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 3216 "parser_cocci_menhir.ml" +# 3221 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3242,17 +3247,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 92 "parser_cocci_menhir.mly" +# 93 "parser_cocci_menhir.mly" (Data.clt) -# 3248 "parser_cocci_menhir.ml" +# 3253 "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_ = -# 1305 "parser_cocci_menhir.mly" +# 1306 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 3256 "parser_cocci_menhir.ml" +# 3261 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3282,17 +3287,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 90 "parser_cocci_menhir.mly" +# 91 "parser_cocci_menhir.mly" (Data.clt) -# 3288 "parser_cocci_menhir.ml" +# 3293 "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_ = -# 1307 "parser_cocci_menhir.mly" +# 1308 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 3296 "parser_cocci_menhir.ml" +# 3301 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3322,17 +3327,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Data.clt) -# 3328 "parser_cocci_menhir.ml" +# 3333 "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_ = -# 1309 "parser_cocci_menhir.mly" +# 1310 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 3336 "parser_cocci_menhir.ml" +# 3341 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3354,9 +3359,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1283 "parser_cocci_menhir.mly" +# 1284 "parser_cocci_menhir.mly" ( _1 ) -# 3360 "parser_cocci_menhir.ml" +# 3365 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3386,17 +3391,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 3392 "parser_cocci_menhir.ml" +# 3397 "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_ = -# 1285 "parser_cocci_menhir.mly" +# 1286 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 3400 "parser_cocci_menhir.ml" +# 3405 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3426,17 +3431,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 98 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3432 "parser_cocci_menhir.ml" +# 3437 "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_ = -# 1287 "parser_cocci_menhir.mly" +# 1288 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3440 "parser_cocci_menhir.ml" +# 3445 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3466,17 +3471,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 3472 "parser_cocci_menhir.ml" +# 3477 "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_ = -# 1289 "parser_cocci_menhir.mly" +# 1290 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 3480 "parser_cocci_menhir.ml" +# 3485 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3506,17 +3511,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 3512 "parser_cocci_menhir.ml" +# 3517 "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_ = -# 1291 "parser_cocci_menhir.mly" +# 1292 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 3520 "parser_cocci_menhir.ml" +# 3525 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3546,217 +3551,177 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 97 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3552 "parser_cocci_menhir.ml" +# 3557 "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_ = -# 1293 "parser_cocci_menhir.mly" +# 1294 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3560 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.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_expr_invalid_ = Obj.magic _3 in - let _2 : ( -# 95 "parser_cocci_menhir.mly" - (Ast_cocci.logicalOp * Data.clt) -# 3592 "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_ = -# 1295 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3600 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.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_expr_invalid_ = Obj.magic _3 in - let _2 : ( -# 94 "parser_cocci_menhir.mly" - (Data.clt) -# 3632 "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_ = -# 1297 "parser_cocci_menhir.mly" - ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3640 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.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_expr_invalid_ = Obj.magic _3 in - let _2 : ( -# 94 "parser_cocci_menhir.mly" - (Data.clt) -# 3672 "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_ = -# 1299 "parser_cocci_menhir.mly" - ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 3680 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.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_expr_invalid_ = Obj.magic _3 in - let _2 : ( -# 93 "parser_cocci_menhir.mly" - (Data.clt) -# 3712 "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_ = -# 1301 "parser_cocci_menhir.mly" - ( P.arith_op Ast.And _1 _2 _3 ) -# 3720 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.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_expr_invalid_ = Obj.magic _3 in - let _2 : ( -# 91 "parser_cocci_menhir.mly" - (Data.clt) -# 3752 "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_ = -# 1303 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Or _1 _2 _3 ) -# 3760 "parser_cocci_menhir.ml" +# 3565 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.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_expr_invalid_ = Obj.magic _3 in + let _2 : ( +# 96 "parser_cocci_menhir.mly" + (Ast_cocci.logicalOp * Data.clt) +# 3597 "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_ = +# 1296 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) +# 3605 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.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_expr_invalid_ = Obj.magic _3 in + let _2 : ( +# 95 "parser_cocci_menhir.mly" + (Data.clt) +# 3637 "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_ = +# 1298 "parser_cocci_menhir.mly" + ( P.logic_op Ast.Eq _1 _2 _3 ) +# 3645 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.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_expr_invalid_ = Obj.magic _3 in + let _2 : ( +# 95 "parser_cocci_menhir.mly" + (Data.clt) +# 3677 "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_ = +# 1300 "parser_cocci_menhir.mly" + ( P.logic_op Ast.NotEq _1 _2 _3 ) +# 3685 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.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_expr_invalid_ = Obj.magic _3 in + let _2 : ( +# 94 "parser_cocci_menhir.mly" + (Data.clt) +# 3717 "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_ = +# 1302 "parser_cocci_menhir.mly" + ( P.arith_op Ast.And _1 _2 _3 ) +# 3725 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3788,15 +3753,55 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 92 "parser_cocci_menhir.mly" (Data.clt) -# 3792 "parser_cocci_menhir.ml" +# 3757 "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_ = -# 1305 "parser_cocci_menhir.mly" +# 1304 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Or _1 _2 _3 ) +# 3765 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.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_expr_invalid_ = Obj.magic _3 in + let _2 : ( +# 93 "parser_cocci_menhir.mly" + (Data.clt) +# 3797 "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_ = +# 1306 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 3800 "parser_cocci_menhir.ml" +# 3805 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3826,17 +3831,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 90 "parser_cocci_menhir.mly" +# 91 "parser_cocci_menhir.mly" (Data.clt) -# 3832 "parser_cocci_menhir.ml" +# 3837 "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_ = -# 1307 "parser_cocci_menhir.mly" +# 1308 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 3840 "parser_cocci_menhir.ml" +# 3845 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3866,17 +3871,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Data.clt) -# 3872 "parser_cocci_menhir.ml" +# 3877 "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_ = -# 1309 "parser_cocci_menhir.mly" +# 1310 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 3880 "parser_cocci_menhir.ml" +# 3885 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3896,9 +3901,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 491 "parser_cocci_menhir.mly" +# 492 "parser_cocci_menhir.mly" ( Ast.UNIQUE ) -# 3902 "parser_cocci_menhir.ml" +# 3907 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3918,9 +3923,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 492 "parser_cocci_menhir.mly" +# 493 "parser_cocci_menhir.mly" ( Ast.OPT ) -# 3924 "parser_cocci_menhir.ml" +# 3929 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3940,9 +3945,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 493 "parser_cocci_menhir.mly" +# 494 "parser_cocci_menhir.mly" ( Ast.MULTI ) -# 3946 "parser_cocci_menhir.ml" +# 3951 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3957,9 +3962,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_arity = -# 494 "parser_cocci_menhir.mly" +# 495 "parser_cocci_menhir.mly" ( Ast.NONE ) -# 3963 "parser_cocci_menhir.ml" +# 3968 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3988,22 +3993,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let r : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 3994 "parser_cocci_menhir.ml" +# 3999 "parser_cocci_menhir.ml" ) = Obj.magic r in let i : 'tv_option_eexpr_ = Obj.magic i in let l : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 4000 "parser_cocci_menhir.ml" +# 4005 "parser_cocci_menhir.ml" ) = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_array_dec = -# 1090 "parser_cocci_menhir.mly" +# 1091 "parser_cocci_menhir.mly" ( (l,i,r) ) -# 4007 "parser_cocci_menhir.ml" +# 4012 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4025,9 +4030,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1255 "parser_cocci_menhir.mly" +# 1256 "parser_cocci_menhir.mly" ( _1 ) -# 4031 "parser_cocci_menhir.ml" +# 4036 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4057,19 +4062,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 109 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4063 "parser_cocci_menhir.ml" +# 4068 "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_ = -# 1257 "parser_cocci_menhir.mly" +# 1258 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4073 "parser_cocci_menhir.ml" +# 4078 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4099,19 +4104,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 4105 "parser_cocci_menhir.ml" +# 4110 "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_ = -# 1261 "parser_cocci_menhir.mly" +# 1262 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4115 "parser_cocci_menhir.ml" +# 4120 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4133,9 +4138,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1255 "parser_cocci_menhir.mly" +# 1256 "parser_cocci_menhir.mly" ( _1 ) -# 4139 "parser_cocci_menhir.ml" +# 4144 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4165,19 +4170,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 109 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4171 "parser_cocci_menhir.ml" +# 4176 "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_ = -# 1257 "parser_cocci_menhir.mly" +# 1258 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4181 "parser_cocci_menhir.ml" +# 4186 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4207,19 +4212,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 4213 "parser_cocci_menhir.ml" +# 4218 "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_ = -# 1261 "parser_cocci_menhir.mly" +# 1262 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4223 "parser_cocci_menhir.ml" +# 4228 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4241,9 +4246,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1255 "parser_cocci_menhir.mly" +# 1256 "parser_cocci_menhir.mly" ( _1 ) -# 4247 "parser_cocci_menhir.ml" +# 4252 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4273,19 +4278,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 109 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4279 "parser_cocci_menhir.ml" +# 4284 "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_ = -# 1257 "parser_cocci_menhir.mly" +# 1258 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4289 "parser_cocci_menhir.ml" +# 4294 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4315,19 +4320,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 4321 "parser_cocci_menhir.ml" +# 4326 "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_ = -# 1261 "parser_cocci_menhir.mly" +# 1262 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4331 "parser_cocci_menhir.ml" +# 4336 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4349,9 +4354,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_bis = -# 1266 "parser_cocci_menhir.mly" +# 1267 "parser_cocci_menhir.mly" ( _1 ) -# 4355 "parser_cocci_menhir.ml" +# 4360 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4381,19 +4386,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 109 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4387 "parser_cocci_menhir.ml" +# 4392 "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 = -# 1268 "parser_cocci_menhir.mly" +# 1269 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4397 "parser_cocci_menhir.ml" +# 4402 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4423,19 +4428,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 4429 "parser_cocci_menhir.ml" +# 4434 "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 = -# 1272 "parser_cocci_menhir.mly" +# 1273 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4439 "parser_cocci_menhir.ml" +# 4444 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4457,9 +4462,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_eexpr_dot_expressions_ = -# 1252 "parser_cocci_menhir.mly" +# 1253 "parser_cocci_menhir.mly" ( _1 ) -# 4463 "parser_cocci_menhir.ml" +# 4468 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4481,9 +4486,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_eexpr_nest_expressions_ = -# 1252 "parser_cocci_menhir.mly" +# 1253 "parser_cocci_menhir.mly" ( _1 ) -# 4487 "parser_cocci_menhir.ml" +# 4492 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4505,9 +4510,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_expr_invalid_ = -# 1252 "parser_cocci_menhir.mly" +# 1253 "parser_cocci_menhir.mly" ( _1 ) -# 4511 "parser_cocci_menhir.ml" +# 4516 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4537,22 +4542,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_fun_start = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 4543 "parser_cocci_menhir.ml" +# 4548 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 4548 "parser_cocci_menhir.ml" +# 4553 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_case_line = -# 954 "parser_cocci_menhir.mly" +# 955 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) ) -# 4556 "parser_cocci_menhir.ml" +# 4561 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4587,22 +4592,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _4 : 'tv_fun_start = Obj.magic _4 in let _3 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 4593 "parser_cocci_menhir.ml" +# 4598 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 4599 "parser_cocci_menhir.ml" +# 4604 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_case_line = -# 957 "parser_cocci_menhir.mly" +# 958 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) ) -# 4606 "parser_cocci_menhir.ml" +# 4611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4624,9 +4629,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_dot_expressions_ = -# 1312 "parser_cocci_menhir.mly" +# 1313 "parser_cocci_menhir.mly" ( _1 ) -# 4630 "parser_cocci_menhir.ml" +# 4635 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4661,23 +4666,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 4667 "parser_cocci_menhir.ml" +# 4672 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 4673 "parser_cocci_menhir.ml" +# 4678 "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_ = -# 1314 "parser_cocci_menhir.mly" +# 1315 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 4681 "parser_cocci_menhir.ml" +# 4686 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4699,9 +4704,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1312 "parser_cocci_menhir.mly" +# 1313 "parser_cocci_menhir.mly" ( _1 ) -# 4705 "parser_cocci_menhir.ml" +# 4710 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4736,23 +4741,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 4742 "parser_cocci_menhir.ml" +# 4747 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 4748 "parser_cocci_menhir.ml" +# 4753 "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_ = -# 1314 "parser_cocci_menhir.mly" +# 1315 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 4756 "parser_cocci_menhir.ml" +# 4761 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4774,9 +4779,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_nest_expressions_ = -# 1312 "parser_cocci_menhir.mly" +# 1313 "parser_cocci_menhir.mly" ( _1 ) -# 4780 "parser_cocci_menhir.ml" +# 4785 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4811,23 +4816,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 4817 "parser_cocci_menhir.ml" +# 4822 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 4823 "parser_cocci_menhir.ml" +# 4828 "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_ = -# 1314 "parser_cocci_menhir.mly" +# 1315 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 4831 "parser_cocci_menhir.ml" +# 4836 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4849,9 +4854,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_expr_invalid_ = -# 1312 "parser_cocci_menhir.mly" +# 1313 "parser_cocci_menhir.mly" ( _1 ) -# 4855 "parser_cocci_menhir.ml" +# 4860 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4886,23 +4891,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 4892 "parser_cocci_menhir.ml" +# 4897 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 4898 "parser_cocci_menhir.ml" +# 4903 "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_ = -# 1314 "parser_cocci_menhir.mly" +# 1315 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 4906 "parser_cocci_menhir.ml" +# 4911 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4928,9 +4933,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_choose_iso = -# 237 "parser_cocci_menhir.mly" +# 238 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) -# 4934 "parser_cocci_menhir.ml" +# 4939 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4954,23 +4959,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 4960 "parser_cocci_menhir.ml" +# 4965 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 4965 "parser_cocci_menhir.ml" +# 4970 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_comma_decls_TEllipsis_decl_ = -# 1677 "parser_cocci_menhir.mly" +# 1678 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); dot_builder _2] ) -# 4974 "parser_cocci_menhir.ml" +# 4979 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4995,17 +5000,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_one_dec_decl_ = Obj.magic _2 in let _1 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 5001 "parser_cocci_menhir.ml" +# 5006 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_comma_decls_TEllipsis_decl_ = -# 1681 "parser_cocci_menhir.mly" +# 1682 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] ) -# 5009 "parser_cocci_menhir.ml" +# 5014 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5029,23 +5034,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 5035 "parser_cocci_menhir.ml" +# 5040 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 5040 "parser_cocci_menhir.ml" +# 5045 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = -# 1677 "parser_cocci_menhir.mly" +# 1678 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); dot_builder _2] ) -# 5049 "parser_cocci_menhir.ml" +# 5054 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5070,17 +5075,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_one_dec_name_opt_decl_ = Obj.magic _2 in let _1 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 5076 "parser_cocci_menhir.ml" +# 5081 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = -# 1681 "parser_cocci_menhir.mly" +# 1682 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] ) -# 5084 "parser_cocci_menhir.ml" +# 5089 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5095,9 +5100,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1143 "parser_cocci_menhir.mly" +# 1144 "parser_cocci_menhir.mly" ( [] ) -# 5101 "parser_cocci_menhir.ml" +# 5106 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5125,9 +5130,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1145 "parser_cocci_menhir.mly" +# 1146 "parser_cocci_menhir.mly" ( (function dot_builder -> [dot_builder d])::r ) -# 5131 "parser_cocci_menhir.ml" +# 5136 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5157,18 +5162,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in let c : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 5163 "parser_cocci_menhir.ml" +# 5168 "parser_cocci_menhir.ml" ) = Obj.magic c in let i : 'tv_initialize2 = Obj.magic i in let _startpos = _startpos_i_ in let _endpos = _endpos_r_ in let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1147 "parser_cocci_menhir.mly" +# 1148 "parser_cocci_menhir.mly" ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))]):: r ) -# 5172 "parser_cocci_menhir.ml" +# 5177 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5183,9 +5188,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = -# 1151 "parser_cocci_menhir.mly" +# 1152 "parser_cocci_menhir.mly" ( [] ) -# 5189 "parser_cocci_menhir.ml" +# 5194 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5215,18 +5220,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in let c : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 5221 "parser_cocci_menhir.ml" +# 5226 "parser_cocci_menhir.ml" ) = Obj.magic c in let i : 'tv_initialize2 = Obj.magic i in let _startpos = _startpos_i_ in let _endpos = _endpos_r_ in let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = -# 1153 "parser_cocci_menhir.mly" +# 1154 "parser_cocci_menhir.mly" ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))]):: r ) -# 5230 "parser_cocci_menhir.ml" +# 5235 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5248,9 +5253,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_any_strict_ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5254 "parser_cocci_menhir.ml" +# 5259 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5272,9 +5277,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ctype_ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5278 "parser_cocci_menhir.ml" +# 5283 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5296,9 +5301,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_d_ident_ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5302 "parser_cocci_menhir.ml" +# 5307 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5320,9 +5325,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ident_or_const_ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5326 "parser_cocci_menhir.ml" +# 5331 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5344,9 +5349,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_meta_ident_ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5350 "parser_cocci_menhir.ml" +# 5355 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5368,9 +5373,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5374 "parser_cocci_menhir.ml" +# 5379 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5392,9 +5397,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5398 "parser_cocci_menhir.ml" +# 5403 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5416,9 +5421,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5422 "parser_cocci_menhir.ml" +# 5427 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5440,9 +5445,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5446 "parser_cocci_menhir.ml" +# 5451 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5464,9 +5469,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5470 "parser_cocci_menhir.ml" +# 5475 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5488,9 +5493,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5494 "parser_cocci_menhir.ml" +# 5499 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5512,9 +5517,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5518 "parser_cocci_menhir.ml" +# 5523 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5536,9 +5541,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5542 "parser_cocci_menhir.ml" +# 5547 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5560,9 +5565,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_typedef_ident_ = -# 1914 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( _1 ) -# 5566 "parser_cocci_menhir.ml" +# 5571 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5584,9 +5589,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_dot_expressions_ = -# 1277 "parser_cocci_menhir.mly" +# 1278 "parser_cocci_menhir.mly" ( _1 ) -# 5590 "parser_cocci_menhir.ml" +# 5595 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5626,24 +5631,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in let dd : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 5632 "parser_cocci_menhir.ml" +# 5637 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 5638 "parser_cocci_menhir.ml" +# 5643 "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_ = -# 1279 "parser_cocci_menhir.mly" +# 1280 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5647 "parser_cocci_menhir.ml" +# 5652 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5665,9 +5670,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_nest_expressions_ = -# 1277 "parser_cocci_menhir.mly" +# 1278 "parser_cocci_menhir.mly" ( _1 ) -# 5671 "parser_cocci_menhir.ml" +# 5676 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5707,24 +5712,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in let dd : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 5713 "parser_cocci_menhir.ml" +# 5718 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 5719 "parser_cocci_menhir.ml" +# 5724 "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_ = -# 1279 "parser_cocci_menhir.mly" +# 1280 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5728 "parser_cocci_menhir.ml" +# 5733 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5746,9 +5751,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1277 "parser_cocci_menhir.mly" +# 1278 "parser_cocci_menhir.mly" ( _1 ) -# 5752 "parser_cocci_menhir.ml" +# 5757 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5788,24 +5793,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in let dd : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 5794 "parser_cocci_menhir.ml" +# 5799 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 5800 "parser_cocci_menhir.ml" +# 5805 "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_ = -# 1279 "parser_cocci_menhir.mly" +# 1280 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5809 "parser_cocci_menhir.ml" +# 5814 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5826,14 +5831,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 5830 "parser_cocci_menhir.ml" +# 5835 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 863 "parser_cocci_menhir.mly" +# 864 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Const _1 ) -# 5837 "parser_cocci_menhir.ml" +# 5842 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5854,14 +5859,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 5858 "parser_cocci_menhir.ml" +# 5863 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 864 "parser_cocci_menhir.mly" +# 865 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Volatile _1 ) -# 5865 "parser_cocci_menhir.ml" +# 5870 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5876,9 +5881,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_continue_struct_decl_list = -# 615 "parser_cocci_menhir.mly" +# 616 "parser_cocci_menhir.mly" ( [] ) -# 5882 "parser_cocci_menhir.ml" +# 5887 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5906,9 +5911,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_struct_decl_list = -# 616 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( _1@_2 ) -# 5912 "parser_cocci_menhir.ml" +# 5917 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5930,9 +5935,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_struct_decl_list = -# 617 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( _1 ) -# 5936 "parser_cocci_menhir.ml" +# 5941 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5964,12 +5969,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 5968 "parser_cocci_menhir.ml" +# 5973 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 5973 "parser_cocci_menhir.ml" +# 5978 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -5979,28 +5984,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 501 "parser_cocci_menhir.mly" +# 502 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 5985 "parser_cocci_menhir.ml" +# 5990 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 5991 "parser_cocci_menhir.ml" +# 5996 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 5998 "parser_cocci_menhir.ml" +# 6003 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6004 "parser_cocci_menhir.ml" +# 6009 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6032,12 +6037,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 6036 "parser_cocci_menhir.ml" +# 6041 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6041 "parser_cocci_menhir.ml" +# 6046 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6047,28 +6052,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 503 "parser_cocci_menhir.mly" +# 504 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 6053 "parser_cocci_menhir.ml" +# 6058 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6059 "parser_cocci_menhir.ml" +# 6064 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6066 "parser_cocci_menhir.ml" +# 6071 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6072 "parser_cocci_menhir.ml" +# 6077 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6100,12 +6105,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 6104 "parser_cocci_menhir.ml" +# 6109 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6109 "parser_cocci_menhir.ml" +# 6114 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6115,28 +6120,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 505 "parser_cocci_menhir.mly" +# 506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 6121 "parser_cocci_menhir.ml" +# 6126 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6127 "parser_cocci_menhir.ml" +# 6132 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6134 "parser_cocci_menhir.ml" +# 6139 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6140 "parser_cocci_menhir.ml" +# 6145 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6166,14 +6171,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 6172 "parser_cocci_menhir.ml" +# 6177 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6177 "parser_cocci_menhir.ml" +# 6182 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6183,29 +6188,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 507 "parser_cocci_menhir.mly" +# 508 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 6190 "parser_cocci_menhir.ml" +# 6195 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6196 "parser_cocci_menhir.ml" +# 6201 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6203 "parser_cocci_menhir.ml" +# 6208 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6209 "parser_cocci_menhir.ml" +# 6214 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6246,17 +6251,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 6250 "parser_cocci_menhir.ml" +# 6255 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 47 "parser_cocci_menhir.mly" (string) -# 6255 "parser_cocci_menhir.ml" +# 6260 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6260 "parser_cocci_menhir.ml" +# 6265 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -6268,33 +6273,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 510 "parser_cocci_menhir.mly" +# 511 "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*))) ) -# 6279 "parser_cocci_menhir.ml" +# 6284 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6285 "parser_cocci_menhir.ml" +# 6290 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6292 "parser_cocci_menhir.ml" +# 6297 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6298 "parser_cocci_menhir.ml" +# 6303 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6326,12 +6331,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 6330 "parser_cocci_menhir.ml" +# 6335 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6335 "parser_cocci_menhir.ml" +# 6340 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6341,28 +6346,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 518 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 6347 "parser_cocci_menhir.ml" +# 6352 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6353 "parser_cocci_menhir.ml" +# 6358 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6360 "parser_cocci_menhir.ml" +# 6365 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6366 "parser_cocci_menhir.ml" +# 6371 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6399,17 +6404,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 6403 "parser_cocci_menhir.ml" +# 6408 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 6408 "parser_cocci_menhir.ml" +# 6413 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6413 "parser_cocci_menhir.ml" +# 6418 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6421,31 +6426,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 519 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 6430 "parser_cocci_menhir.ml" +# 6435 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6436 "parser_cocci_menhir.ml" +# 6441 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6443 "parser_cocci_menhir.ml" +# 6448 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6449 "parser_cocci_menhir.ml" +# 6454 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6477,12 +6482,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 6481 "parser_cocci_menhir.ml" +# 6486 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6486 "parser_cocci_menhir.ml" +# 6491 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6492,28 +6497,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 501 "parser_cocci_menhir.mly" +# 502 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 6498 "parser_cocci_menhir.ml" +# 6503 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6504 "parser_cocci_menhir.ml" +# 6509 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6511 "parser_cocci_menhir.ml" +# 6516 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6517 "parser_cocci_menhir.ml" +# 6522 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6545,12 +6550,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 6549 "parser_cocci_menhir.ml" +# 6554 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6554 "parser_cocci_menhir.ml" +# 6559 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6560,28 +6565,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 503 "parser_cocci_menhir.mly" +# 504 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 6566 "parser_cocci_menhir.ml" +# 6571 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6572 "parser_cocci_menhir.ml" +# 6577 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6579 "parser_cocci_menhir.ml" +# 6584 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6585 "parser_cocci_menhir.ml" +# 6590 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6613,12 +6618,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 6617 "parser_cocci_menhir.ml" +# 6622 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6622 "parser_cocci_menhir.ml" +# 6627 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6628,28 +6633,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 505 "parser_cocci_menhir.mly" +# 506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 6634 "parser_cocci_menhir.ml" +# 6639 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6640 "parser_cocci_menhir.ml" +# 6645 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6647 "parser_cocci_menhir.ml" +# 6652 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6653 "parser_cocci_menhir.ml" +# 6658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6679,14 +6684,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 6685 "parser_cocci_menhir.ml" +# 6690 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6690 "parser_cocci_menhir.ml" +# 6695 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6696,29 +6701,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 507 "parser_cocci_menhir.mly" +# 508 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 6703 "parser_cocci_menhir.ml" +# 6708 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6709 "parser_cocci_menhir.ml" +# 6714 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6716 "parser_cocci_menhir.ml" +# 6721 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6722 "parser_cocci_menhir.ml" +# 6727 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6759,17 +6764,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 6763 "parser_cocci_menhir.ml" +# 6768 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 47 "parser_cocci_menhir.mly" (string) -# 6768 "parser_cocci_menhir.ml" +# 6773 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6773 "parser_cocci_menhir.ml" +# 6778 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -6781,33 +6786,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 510 "parser_cocci_menhir.mly" +# 511 "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*))) ) -# 6792 "parser_cocci_menhir.ml" +# 6797 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6798 "parser_cocci_menhir.ml" +# 6803 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6805 "parser_cocci_menhir.ml" +# 6810 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6811 "parser_cocci_menhir.ml" +# 6816 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6839,12 +6844,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 6843 "parser_cocci_menhir.ml" +# 6848 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6848 "parser_cocci_menhir.ml" +# 6853 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6854,28 +6859,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 518 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 6860 "parser_cocci_menhir.ml" +# 6865 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6866 "parser_cocci_menhir.ml" +# 6871 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6873 "parser_cocci_menhir.ml" +# 6878 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6879 "parser_cocci_menhir.ml" +# 6884 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6912,17 +6917,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 6916 "parser_cocci_menhir.ml" +# 6921 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 6921 "parser_cocci_menhir.ml" +# 6926 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6926 "parser_cocci_menhir.ml" +# 6931 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6934,31 +6939,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 519 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 6943 "parser_cocci_menhir.ml" +# 6948 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6949 "parser_cocci_menhir.ml" +# 6954 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6956 "parser_cocci_menhir.ml" +# 6961 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6962 "parser_cocci_menhir.ml" +# 6967 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6985,7 +6990,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 6989 "parser_cocci_menhir.ml" +# 6994 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -6994,28 +6999,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 501 "parser_cocci_menhir.mly" +# 502 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 7000 "parser_cocci_menhir.ml" +# 7005 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 7006 "parser_cocci_menhir.ml" +# 7011 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7013 "parser_cocci_menhir.ml" +# 7018 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7019 "parser_cocci_menhir.ml" +# 7024 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7042,7 +7047,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 7046 "parser_cocci_menhir.ml" +# 7051 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7051,28 +7056,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 503 "parser_cocci_menhir.mly" +# 504 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 7057 "parser_cocci_menhir.ml" +# 7062 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 7063 "parser_cocci_menhir.ml" +# 7068 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7070 "parser_cocci_menhir.ml" +# 7075 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7076 "parser_cocci_menhir.ml" +# 7081 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7099,7 +7104,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 7103 "parser_cocci_menhir.ml" +# 7108 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7108,28 +7113,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 505 "parser_cocci_menhir.mly" +# 506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 7114 "parser_cocci_menhir.ml" +# 7119 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 7120 "parser_cocci_menhir.ml" +# 7125 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7127 "parser_cocci_menhir.ml" +# 7132 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7133 "parser_cocci_menhir.ml" +# 7138 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7154,9 +7159,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 7160 "parser_cocci_menhir.ml" +# 7165 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -7165,29 +7170,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 507 "parser_cocci_menhir.mly" +# 508 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 7172 "parser_cocci_menhir.ml" +# 7177 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 7178 "parser_cocci_menhir.ml" +# 7183 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7185 "parser_cocci_menhir.ml" +# 7190 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7191 "parser_cocci_menhir.ml" +# 7196 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7223,12 +7228,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 7227 "parser_cocci_menhir.ml" +# 7232 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 47 "parser_cocci_menhir.mly" (string) -# 7232 "parser_cocci_menhir.ml" +# 7237 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in @@ -7239,33 +7244,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 510 "parser_cocci_menhir.mly" +# 511 "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*))) ) -# 7250 "parser_cocci_menhir.ml" +# 7255 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 7256 "parser_cocci_menhir.ml" +# 7261 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7263 "parser_cocci_menhir.ml" +# 7268 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7269 "parser_cocci_menhir.ml" +# 7274 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7292,7 +7297,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 7296 "parser_cocci_menhir.ml" +# 7301 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7301,28 +7306,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 518 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 7307 "parser_cocci_menhir.ml" +# 7312 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 7313 "parser_cocci_menhir.ml" +# 7318 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7320 "parser_cocci_menhir.ml" +# 7325 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7326 "parser_cocci_menhir.ml" +# 7331 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7354,12 +7359,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 7358 "parser_cocci_menhir.ml" +# 7363 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 7363 "parser_cocci_menhir.ml" +# 7368 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -7370,31 +7375,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 519 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 7379 "parser_cocci_menhir.ml" +# 7384 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 7385 "parser_cocci_menhir.ml" +# 7390 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7392 "parser_cocci_menhir.ml" +# 7397 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7398 "parser_cocci_menhir.ml" +# 7403 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7421,7 +7426,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 50 "parser_cocci_menhir.mly" (Data.clt) -# 7425 "parser_cocci_menhir.ml" +# 7430 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7430,28 +7435,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 527 "parser_cocci_menhir.mly" +# 528 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 7436 "parser_cocci_menhir.ml" +# 7441 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 7442 "parser_cocci_menhir.ml" +# 7447 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7449 "parser_cocci_menhir.ml" +# 7454 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7455 "parser_cocci_menhir.ml" +# 7460 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7478,7 +7483,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 7482 "parser_cocci_menhir.ml" +# 7487 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7487,28 +7492,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 529 "parser_cocci_menhir.mly" +# 530 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 7493 "parser_cocci_menhir.ml" +# 7498 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 7499 "parser_cocci_menhir.ml" +# 7504 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7506 "parser_cocci_menhir.ml" +# 7511 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7512 "parser_cocci_menhir.ml" +# 7517 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7535,7 +7540,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 7539 "parser_cocci_menhir.ml" +# 7544 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7544,28 +7549,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 7550 "parser_cocci_menhir.ml" +# 7555 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 7556 "parser_cocci_menhir.ml" +# 7561 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7563 "parser_cocci_menhir.ml" +# 7568 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7569 "parser_cocci_menhir.ml" +# 7574 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7598,7 +7603,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 50 "parser_cocci_menhir.mly" (Data.clt) -# 7602 "parser_cocci_menhir.ml" +# 7607 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -7609,28 +7614,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 533 "parser_cocci_menhir.mly" +# 534 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 7615 "parser_cocci_menhir.ml" +# 7620 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 7621 "parser_cocci_menhir.ml" +# 7626 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7628 "parser_cocci_menhir.ml" +# 7633 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7634 "parser_cocci_menhir.ml" +# 7639 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7670,28 +7675,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 535 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 7676 "parser_cocci_menhir.ml" +# 7681 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 7682 "parser_cocci_menhir.ml" +# 7687 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7689 "parser_cocci_menhir.ml" +# 7694 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7695 "parser_cocci_menhir.ml" +# 7700 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7731,15 +7736,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 7737 "parser_cocci_menhir.ml" +# 7742 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 7743 "parser_cocci_menhir.ml" +# 7748 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let _startpos = _startpos_s00_ in @@ -7758,36 +7763,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 7762 "parser_cocci_menhir.ml" +# 7767 "parser_cocci_menhir.ml" in -# 538 "parser_cocci_menhir.mly" +# 539 "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)) ) -# 7772 "parser_cocci_menhir.ml" +# 7777 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 7778 "parser_cocci_menhir.ml" +# 7783 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7785 "parser_cocci_menhir.ml" +# 7790 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7791 "parser_cocci_menhir.ml" +# 7796 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7832,15 +7837,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 7838 "parser_cocci_menhir.ml" +# 7843 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 7844 "parser_cocci_menhir.ml" +# 7849 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : 'tv_struct_or_union = Obj.magic s00 in @@ -7863,36 +7868,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 7867 "parser_cocci_menhir.ml" +# 7872 "parser_cocci_menhir.ml" in -# 538 "parser_cocci_menhir.mly" +# 539 "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)) ) -# 7877 "parser_cocci_menhir.ml" +# 7882 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 7883 "parser_cocci_menhir.ml" +# 7888 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7890 "parser_cocci_menhir.ml" +# 7895 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7896 "parser_cocci_menhir.ml" +# 7901 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7932,20 +7937,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 7938 "parser_cocci_menhir.ml" +# 7943 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 7944 "parser_cocci_menhir.ml" +# 7949 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 7949 "parser_cocci_menhir.ml" +# 7954 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -7960,30 +7965,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 544 "parser_cocci_menhir.mly" +# 545 "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)) ) -# 7968 "parser_cocci_menhir.ml" +# 7973 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 7974 "parser_cocci_menhir.ml" +# 7979 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7981 "parser_cocci_menhir.ml" +# 7986 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7987 "parser_cocci_menhir.ml" +# 7992 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8010,7 +8015,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 8014 "parser_cocci_menhir.ml" +# 8019 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -8019,28 +8024,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 548 "parser_cocci_menhir.mly" +# 549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 8025 "parser_cocci_menhir.ml" +# 8030 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 8031 "parser_cocci_menhir.ml" +# 8036 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8038 "parser_cocci_menhir.ml" +# 8043 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8044 "parser_cocci_menhir.ml" +# 8049 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8077,12 +8082,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 8081 "parser_cocci_menhir.ml" +# 8086 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8086 "parser_cocci_menhir.ml" +# 8091 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8093,15 +8098,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 501 "parser_cocci_menhir.mly" +# 502 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 8099 "parser_cocci_menhir.ml" +# 8104 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8105 "parser_cocci_menhir.ml" +# 8110 "parser_cocci_menhir.ml" in let cv = @@ -8109,13 +8114,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8113 "parser_cocci_menhir.ml" +# 8118 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8119 "parser_cocci_menhir.ml" +# 8124 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8152,12 +8157,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 8156 "parser_cocci_menhir.ml" +# 8161 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8161 "parser_cocci_menhir.ml" +# 8166 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8168,15 +8173,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 503 "parser_cocci_menhir.mly" +# 504 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 8174 "parser_cocci_menhir.ml" +# 8179 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8180 "parser_cocci_menhir.ml" +# 8185 "parser_cocci_menhir.ml" in let cv = @@ -8184,13 +8189,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8188 "parser_cocci_menhir.ml" +# 8193 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8194 "parser_cocci_menhir.ml" +# 8199 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8227,12 +8232,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 8231 "parser_cocci_menhir.ml" +# 8236 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8236 "parser_cocci_menhir.ml" +# 8241 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8243,15 +8248,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 505 "parser_cocci_menhir.mly" +# 506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 8249 "parser_cocci_menhir.ml" +# 8254 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8255 "parser_cocci_menhir.ml" +# 8260 "parser_cocci_menhir.ml" in let cv = @@ -8259,13 +8264,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8263 "parser_cocci_menhir.ml" +# 8268 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8269 "parser_cocci_menhir.ml" +# 8274 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8300,14 +8305,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 8306 "parser_cocci_menhir.ml" +# 8311 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8311 "parser_cocci_menhir.ml" +# 8316 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8318,16 +8323,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 507 "parser_cocci_menhir.mly" +# 508 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 8325 "parser_cocci_menhir.ml" +# 8330 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8331 "parser_cocci_menhir.ml" +# 8336 "parser_cocci_menhir.ml" in let cv = @@ -8335,13 +8340,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8339 "parser_cocci_menhir.ml" +# 8344 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8345 "parser_cocci_menhir.ml" +# 8350 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8387,17 +8392,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 8391 "parser_cocci_menhir.ml" +# 8396 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 47 "parser_cocci_menhir.mly" (string) -# 8396 "parser_cocci_menhir.ml" +# 8401 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8401 "parser_cocci_menhir.ml" +# 8406 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8410,20 +8415,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 510 "parser_cocci_menhir.mly" +# 511 "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*))) ) -# 8421 "parser_cocci_menhir.ml" +# 8426 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8427 "parser_cocci_menhir.ml" +# 8432 "parser_cocci_menhir.ml" in let cv = @@ -8431,13 +8436,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8435 "parser_cocci_menhir.ml" +# 8440 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8441 "parser_cocci_menhir.ml" +# 8446 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8474,12 +8479,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 8478 "parser_cocci_menhir.ml" +# 8483 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8483 "parser_cocci_menhir.ml" +# 8488 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8490,15 +8495,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 518 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 8496 "parser_cocci_menhir.ml" +# 8501 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8502 "parser_cocci_menhir.ml" +# 8507 "parser_cocci_menhir.ml" in let cv = @@ -8506,13 +8511,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8510 "parser_cocci_menhir.ml" +# 8515 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8516 "parser_cocci_menhir.ml" +# 8521 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8554,17 +8559,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 8558 "parser_cocci_menhir.ml" +# 8563 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 8563 "parser_cocci_menhir.ml" +# 8568 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8568 "parser_cocci_menhir.ml" +# 8573 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8577,18 +8582,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 519 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 8586 "parser_cocci_menhir.ml" +# 8591 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8592 "parser_cocci_menhir.ml" +# 8597 "parser_cocci_menhir.ml" in let cv = @@ -8596,13 +8601,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8600 "parser_cocci_menhir.ml" +# 8605 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8606 "parser_cocci_menhir.ml" +# 8611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8639,12 +8644,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 8643 "parser_cocci_menhir.ml" +# 8648 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8648 "parser_cocci_menhir.ml" +# 8653 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8655,15 +8660,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 501 "parser_cocci_menhir.mly" +# 502 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 8661 "parser_cocci_menhir.ml" +# 8666 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8667 "parser_cocci_menhir.ml" +# 8672 "parser_cocci_menhir.ml" in let cv = @@ -8671,13 +8676,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8675 "parser_cocci_menhir.ml" +# 8680 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8681 "parser_cocci_menhir.ml" +# 8686 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8714,12 +8719,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 8718 "parser_cocci_menhir.ml" +# 8723 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8723 "parser_cocci_menhir.ml" +# 8728 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8730,15 +8735,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 503 "parser_cocci_menhir.mly" +# 504 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 8736 "parser_cocci_menhir.ml" +# 8741 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8742 "parser_cocci_menhir.ml" +# 8747 "parser_cocci_menhir.ml" in let cv = @@ -8746,13 +8751,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8750 "parser_cocci_menhir.ml" +# 8755 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8756 "parser_cocci_menhir.ml" +# 8761 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8789,12 +8794,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 8793 "parser_cocci_menhir.ml" +# 8798 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8798 "parser_cocci_menhir.ml" +# 8803 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8805,15 +8810,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 505 "parser_cocci_menhir.mly" +# 506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 8811 "parser_cocci_menhir.ml" +# 8816 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8817 "parser_cocci_menhir.ml" +# 8822 "parser_cocci_menhir.ml" in let cv = @@ -8821,13 +8826,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8825 "parser_cocci_menhir.ml" +# 8830 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8831 "parser_cocci_menhir.ml" +# 8836 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8862,14 +8867,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 8868 "parser_cocci_menhir.ml" +# 8873 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8873 "parser_cocci_menhir.ml" +# 8878 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8880,16 +8885,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 507 "parser_cocci_menhir.mly" +# 508 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 8887 "parser_cocci_menhir.ml" +# 8892 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8893 "parser_cocci_menhir.ml" +# 8898 "parser_cocci_menhir.ml" in let cv = @@ -8897,13 +8902,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8901 "parser_cocci_menhir.ml" +# 8906 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8907 "parser_cocci_menhir.ml" +# 8912 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8949,17 +8954,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 8953 "parser_cocci_menhir.ml" +# 8958 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 47 "parser_cocci_menhir.mly" (string) -# 8958 "parser_cocci_menhir.ml" +# 8963 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8963 "parser_cocci_menhir.ml" +# 8968 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8972,20 +8977,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 510 "parser_cocci_menhir.mly" +# 511 "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*))) ) -# 8983 "parser_cocci_menhir.ml" +# 8988 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8989 "parser_cocci_menhir.ml" +# 8994 "parser_cocci_menhir.ml" in let cv = @@ -8993,13 +8998,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8997 "parser_cocci_menhir.ml" +# 9002 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9003 "parser_cocci_menhir.ml" +# 9008 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9036,12 +9041,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 9040 "parser_cocci_menhir.ml" +# 9045 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9045 "parser_cocci_menhir.ml" +# 9050 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9052,15 +9057,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 518 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 9058 "parser_cocci_menhir.ml" +# 9063 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9064 "parser_cocci_menhir.ml" +# 9069 "parser_cocci_menhir.ml" in let cv = @@ -9068,13 +9073,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9072 "parser_cocci_menhir.ml" +# 9077 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9078 "parser_cocci_menhir.ml" +# 9083 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9116,17 +9121,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 9120 "parser_cocci_menhir.ml" +# 9125 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 9125 "parser_cocci_menhir.ml" +# 9130 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9130 "parser_cocci_menhir.ml" +# 9135 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9139,18 +9144,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 519 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 9148 "parser_cocci_menhir.ml" +# 9153 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9154 "parser_cocci_menhir.ml" +# 9159 "parser_cocci_menhir.ml" in let cv = @@ -9158,13 +9163,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9162 "parser_cocci_menhir.ml" +# 9167 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9168 "parser_cocci_menhir.ml" +# 9173 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9196,7 +9201,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 9200 "parser_cocci_menhir.ml" +# 9205 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9206,15 +9211,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 501 "parser_cocci_menhir.mly" +# 502 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 9212 "parser_cocci_menhir.ml" +# 9217 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 9218 "parser_cocci_menhir.ml" +# 9223 "parser_cocci_menhir.ml" in let cv = @@ -9222,13 +9227,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9226 "parser_cocci_menhir.ml" +# 9231 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9232 "parser_cocci_menhir.ml" +# 9237 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9260,7 +9265,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 9264 "parser_cocci_menhir.ml" +# 9269 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9270,15 +9275,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 503 "parser_cocci_menhir.mly" +# 504 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 9276 "parser_cocci_menhir.ml" +# 9281 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 9282 "parser_cocci_menhir.ml" +# 9287 "parser_cocci_menhir.ml" in let cv = @@ -9286,13 +9291,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9290 "parser_cocci_menhir.ml" +# 9295 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9296 "parser_cocci_menhir.ml" +# 9301 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9324,7 +9329,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 9328 "parser_cocci_menhir.ml" +# 9333 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9334,15 +9339,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 505 "parser_cocci_menhir.mly" +# 506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 9340 "parser_cocci_menhir.ml" +# 9345 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 9346 "parser_cocci_menhir.ml" +# 9351 "parser_cocci_menhir.ml" in let cv = @@ -9350,13 +9355,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9354 "parser_cocci_menhir.ml" +# 9359 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9360 "parser_cocci_menhir.ml" +# 9365 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9386,9 +9391,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 9392 "parser_cocci_menhir.ml" +# 9397 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9398,16 +9403,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 507 "parser_cocci_menhir.mly" +# 508 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 9405 "parser_cocci_menhir.ml" +# 9410 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 9411 "parser_cocci_menhir.ml" +# 9416 "parser_cocci_menhir.ml" in let cv = @@ -9415,13 +9420,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9419 "parser_cocci_menhir.ml" +# 9424 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9425 "parser_cocci_menhir.ml" +# 9430 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9462,12 +9467,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 9466 "parser_cocci_menhir.ml" +# 9471 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 47 "parser_cocci_menhir.mly" (string) -# 9471 "parser_cocci_menhir.ml" +# 9476 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9479,20 +9484,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 510 "parser_cocci_menhir.mly" +# 511 "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*))) ) -# 9490 "parser_cocci_menhir.ml" +# 9495 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 9496 "parser_cocci_menhir.ml" +# 9501 "parser_cocci_menhir.ml" in let cv = @@ -9500,13 +9505,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9504 "parser_cocci_menhir.ml" +# 9509 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9510 "parser_cocci_menhir.ml" +# 9515 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9538,7 +9543,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 9542 "parser_cocci_menhir.ml" +# 9547 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9548,15 +9553,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 518 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 9554 "parser_cocci_menhir.ml" +# 9559 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 9560 "parser_cocci_menhir.ml" +# 9565 "parser_cocci_menhir.ml" in let cv = @@ -9564,13 +9569,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9568 "parser_cocci_menhir.ml" +# 9573 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9574 "parser_cocci_menhir.ml" +# 9579 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9607,12 +9612,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 9611 "parser_cocci_menhir.ml" +# 9616 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 9616 "parser_cocci_menhir.ml" +# 9621 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9624,18 +9629,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 519 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 9633 "parser_cocci_menhir.ml" +# 9638 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 9639 "parser_cocci_menhir.ml" +# 9644 "parser_cocci_menhir.ml" in let cv = @@ -9643,13 +9648,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9647 "parser_cocci_menhir.ml" +# 9652 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9653 "parser_cocci_menhir.ml" +# 9658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9681,7 +9686,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 50 "parser_cocci_menhir.mly" (Data.clt) -# 9685 "parser_cocci_menhir.ml" +# 9690 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9691,15 +9696,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 527 "parser_cocci_menhir.mly" +# 528 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 9697 "parser_cocci_menhir.ml" +# 9702 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 9703 "parser_cocci_menhir.ml" +# 9708 "parser_cocci_menhir.ml" in let cv = @@ -9707,13 +9712,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9711 "parser_cocci_menhir.ml" +# 9716 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9717 "parser_cocci_menhir.ml" +# 9722 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9745,7 +9750,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 9749 "parser_cocci_menhir.ml" +# 9754 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9755,15 +9760,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 529 "parser_cocci_menhir.mly" +# 530 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 9761 "parser_cocci_menhir.ml" +# 9766 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 9767 "parser_cocci_menhir.ml" +# 9772 "parser_cocci_menhir.ml" in let cv = @@ -9771,13 +9776,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9775 "parser_cocci_menhir.ml" +# 9780 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9781 "parser_cocci_menhir.ml" +# 9786 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9809,7 +9814,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 9813 "parser_cocci_menhir.ml" +# 9818 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9819,15 +9824,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 9825 "parser_cocci_menhir.ml" +# 9830 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 9831 "parser_cocci_menhir.ml" +# 9836 "parser_cocci_menhir.ml" in let cv = @@ -9835,13 +9840,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9839 "parser_cocci_menhir.ml" +# 9844 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9845 "parser_cocci_menhir.ml" +# 9850 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9879,7 +9884,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 50 "parser_cocci_menhir.mly" (Data.clt) -# 9883 "parser_cocci_menhir.ml" +# 9888 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9891,15 +9896,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 533 "parser_cocci_menhir.mly" +# 534 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 9897 "parser_cocci_menhir.ml" +# 9902 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 9903 "parser_cocci_menhir.ml" +# 9908 "parser_cocci_menhir.ml" in let cv = @@ -9907,13 +9912,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9911 "parser_cocci_menhir.ml" +# 9916 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9917 "parser_cocci_menhir.ml" +# 9922 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9959,15 +9964,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 535 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 9965 "parser_cocci_menhir.ml" +# 9970 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 9971 "parser_cocci_menhir.ml" +# 9976 "parser_cocci_menhir.ml" in let cv = @@ -9975,13 +9980,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9979 "parser_cocci_menhir.ml" +# 9984 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9985 "parser_cocci_menhir.ml" +# 9990 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10026,15 +10031,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 10032 "parser_cocci_menhir.ml" +# 10037 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 10038 "parser_cocci_menhir.ml" +# 10043 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in @@ -10054,23 +10059,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 10058 "parser_cocci_menhir.ml" +# 10063 "parser_cocci_menhir.ml" in -# 538 "parser_cocci_menhir.mly" +# 539 "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)) ) -# 10068 "parser_cocci_menhir.ml" +# 10073 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 10074 "parser_cocci_menhir.ml" +# 10079 "parser_cocci_menhir.ml" in let cv = @@ -10078,13 +10083,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10082 "parser_cocci_menhir.ml" +# 10087 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10088 "parser_cocci_menhir.ml" +# 10093 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10134,15 +10139,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 10140 "parser_cocci_menhir.ml" +# 10145 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 10146 "parser_cocci_menhir.ml" +# 10151 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : 'tv_struct_or_union = Obj.magic s00 in @@ -10166,23 +10171,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10170 "parser_cocci_menhir.ml" +# 10175 "parser_cocci_menhir.ml" in -# 538 "parser_cocci_menhir.mly" +# 539 "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)) ) -# 10180 "parser_cocci_menhir.ml" +# 10185 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 10186 "parser_cocci_menhir.ml" +# 10191 "parser_cocci_menhir.ml" in let cv = @@ -10190,13 +10195,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10194 "parser_cocci_menhir.ml" +# 10199 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10200 "parser_cocci_menhir.ml" +# 10205 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10241,20 +10246,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 10247 "parser_cocci_menhir.ml" +# 10252 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 10253 "parser_cocci_menhir.ml" +# 10258 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 10258 "parser_cocci_menhir.ml" +# 10263 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10270,17 +10275,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 544 "parser_cocci_menhir.mly" +# 545 "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)) ) -# 10278 "parser_cocci_menhir.ml" +# 10283 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 10284 "parser_cocci_menhir.ml" +# 10289 "parser_cocci_menhir.ml" in let cv = @@ -10288,13 +10293,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10292 "parser_cocci_menhir.ml" +# 10297 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10298 "parser_cocci_menhir.ml" +# 10303 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10326,7 +10331,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 10330 "parser_cocci_menhir.ml" +# 10335 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10336,15 +10341,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 548 "parser_cocci_menhir.mly" +# 549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 10342 "parser_cocci_menhir.ml" +# 10347 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 10348 "parser_cocci_menhir.ml" +# 10353 "parser_cocci_menhir.ml" in let cv = @@ -10352,13 +10357,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10356 "parser_cocci_menhir.ml" +# 10361 "parser_cocci_menhir.ml" in -# 561 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10362 "parser_cocci_menhir.ml" +# 10367 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10379,14 +10384,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 10383 "parser_cocci_menhir.ml" +# 10388 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 563 "parser_cocci_menhir.mly" +# 564 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) ) -# 10390 "parser_cocci_menhir.ml" +# 10395 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10407,14 +10412,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 10411 "parser_cocci_menhir.ml" +# 10416 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 565 "parser_cocci_menhir.mly" +# 566 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) ) -# 10418 "parser_cocci_menhir.ml" +# 10423 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10443,24 +10448,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 10449 "parser_cocci_menhir.ml" +# 10454 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 10455 "parser_cocci_menhir.ml" +# 10460 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_ctype = -# 567 "parser_cocci_menhir.mly" +# 568 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 10464 "parser_cocci_menhir.ml" +# 10469 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10488,7 +10493,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_d_ident = -# 1081 "parser_cocci_menhir.mly" +# 1082 "parser_cocci_menhir.mly" ( (_1, function t -> List.fold_right @@ -10497,7 +10502,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Ast0.wrap (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r))) _2 t) ) -# 10501 "parser_cocci_menhir.ml" +# 10506 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10525,9 +10530,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_i_ in let _v : 'tv_decl = -# 837 "parser_cocci_menhir.mly" +# 838 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Param(t, Some i)) ) -# 10531 "parser_cocci_menhir.ml" +# 10536 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10549,9 +10554,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_decl = -# 838 "parser_cocci_menhir.mly" +# 839 "parser_cocci_menhir.mly" ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) ) -# 10555 "parser_cocci_menhir.ml" +# 10560 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10605,44 +10610,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 10611 "parser_cocci_menhir.ml" +# 10616 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 10617 "parser_cocci_menhir.ml" +# 10622 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 10622 "parser_cocci_menhir.ml" +# 10627 "parser_cocci_menhir.ml" ) = Obj.magic rp in let i : 'tv_ident = Obj.magic i in let s : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 10628 "parser_cocci_menhir.ml" +# 10633 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 10633 "parser_cocci_menhir.ml" +# 10638 "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 = -# 841 "parser_cocci_menhir.mly" +# 842 "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)) ) -# 10646 "parser_cocci_menhir.ml" +# 10651 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10661,17 +10666,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 10667 "parser_cocci_menhir.ml" +# 10672 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl = -# 848 "parser_cocci_menhir.mly" +# 849 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) ) -# 10675 "parser_cocci_menhir.ml" +# 10680 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10692,14 +10697,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 10696 "parser_cocci_menhir.ml" +# 10701 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1626 "parser_cocci_menhir.mly" +# 1627 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 10703 "parser_cocci_menhir.ml" +# 10708 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10718,17 +10723,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 62 "parser_cocci_menhir.mly" +# 63 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 10724 "parser_cocci_menhir.ml" +# 10729 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1628 "parser_cocci_menhir.mly" +# 1629 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 10732 "parser_cocci_menhir.ml" +# 10737 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10743,9 +10748,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_decl_list_decl_ = -# 1648 "parser_cocci_menhir.mly" +# 1649 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS([])) ) -# 10749 "parser_cocci_menhir.ml" +# 10754 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10767,13 +10772,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_decl_ = -# 1650 "parser_cocci_menhir.mly" +# 1651 "parser_cocci_menhir.mly" (let circle x = match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in if List.exists circle _1 then Ast0.wrap(Ast0.CIRCLES(_1)) else Ast0.wrap(Ast0.DOTS(_1)) ) -# 10777 "parser_cocci_menhir.ml" +# 10782 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10788,9 +10793,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_decl_list_name_opt_decl_ = -# 1648 "parser_cocci_menhir.mly" +# 1649 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS([])) ) -# 10794 "parser_cocci_menhir.ml" +# 10799 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10812,13 +10817,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_name_opt_decl_ = -# 1650 "parser_cocci_menhir.mly" +# 1651 "parser_cocci_menhir.mly" (let circle x = match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in if List.exists circle _1 then Ast0.wrap(Ast0.CIRCLES(_1)) else Ast0.wrap(Ast0.DOTS(_1)) ) -# 10822 "parser_cocci_menhir.ml" +# 10827 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10840,9 +10845,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_start_decl_ = -# 1657 "parser_cocci_menhir.mly" +# 1658 "parser_cocci_menhir.mly" ( [_1] ) -# 10846 "parser_cocci_menhir.ml" +# 10851 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10872,17 +10877,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 10878 "parser_cocci_menhir.ml" +# 10883 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_list_start_decl_ = -# 1659 "parser_cocci_menhir.mly" +# 1660 "parser_cocci_menhir.mly" ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 ) -# 10886 "parser_cocci_menhir.ml" +# 10891 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10907,17 +10912,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in let _1 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 10913 "parser_cocci_menhir.ml" +# 10918 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_decl_list_start_decl_ = -# 1661 "parser_cocci_menhir.mly" +# 1662 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1)):: (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) ) -# 10921 "parser_cocci_menhir.ml" +# 10926 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10939,9 +10944,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_start_name_opt_decl_ = -# 1657 "parser_cocci_menhir.mly" +# 1658 "parser_cocci_menhir.mly" ( [_1] ) -# 10945 "parser_cocci_menhir.ml" +# 10950 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10971,17 +10976,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 10977 "parser_cocci_menhir.ml" +# 10982 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_list_start_name_opt_decl_ = -# 1659 "parser_cocci_menhir.mly" +# 1660 "parser_cocci_menhir.mly" ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 ) -# 10985 "parser_cocci_menhir.ml" +# 10990 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11006,17 +11011,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in let _1 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 11012 "parser_cocci_menhir.ml" +# 11017 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_decl_list_start_name_opt_decl_ = -# 1661 "parser_cocci_menhir.mly" +# 1662 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1)):: (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) ) -# 11020 "parser_cocci_menhir.ml" +# 11025 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11035,17 +11040,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 11041 "parser_cocci_menhir.ml" +# 11046 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1159 "parser_cocci_menhir.mly" +# 1160 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 11049 "parser_cocci_menhir.ml" +# 11054 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11067,13 +11072,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1162 "parser_cocci_menhir.mly" +# 1163 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) _1 ) -# 11077 "parser_cocci_menhir.ml" +# 11082 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11095,9 +11100,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1167 "parser_cocci_menhir.mly" +# 1168 "parser_cocci_menhir.mly" ( [_1] ) -# 11101 "parser_cocci_menhir.ml" +# 11106 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11126,20 +11131,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 11132 "parser_cocci_menhir.ml" +# 11137 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 11138 "parser_cocci_menhir.ml" +# 11143 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement = -# 1176 "parser_cocci_menhir.mly" +# 1177 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function x -> @@ -11149,7 +11154,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct else [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3))] ) -# 11153 "parser_cocci_menhir.ml" +# 11158 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11168,17 +11173,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 11174 "parser_cocci_menhir.ml" +# 11179 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1189 "parser_cocci_menhir.mly" +# 1190 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 11182 "parser_cocci_menhir.ml" +# 11187 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11200,13 +11205,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1192 "parser_cocci_menhir.mly" +# 1193 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) _1 ) -# 11210 "parser_cocci_menhir.ml" +# 11215 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11228,9 +11233,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1197 "parser_cocci_menhir.mly" +# 1198 "parser_cocci_menhir.mly" ( [_1] ) -# 11234 "parser_cocci_menhir.ml" +# 11239 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11259,20 +11264,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 11265 "parser_cocci_menhir.ml" +# 11270 "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 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 11271 "parser_cocci_menhir.ml" +# 11276 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement_expr = -# 1206 "parser_cocci_menhir.mly" +# 1207 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function [] -> true | _ -> false) code then [] @@ -11281,7 +11286,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids, P.clt2mcode ")" _3))] ) -# 11285 "parser_cocci_menhir.ml" +# 11290 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11305,17 +11310,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11311 "parser_cocci_menhir.ml" +# 11316 "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 = -# 969 "parser_cocci_menhir.mly" +# 970 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] ) -# 11319 "parser_cocci_menhir.ml" +# 11324 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11344,9 +11349,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11350 "parser_cocci_menhir.ml" +# 11355 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11356,16 +11361,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11360 "parser_cocci_menhir.ml" +# 11365 "parser_cocci_menhir.ml" in -# 971 "parser_cocci_menhir.mly" +# 972 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 11369 "parser_cocci_menhir.ml" +# 11374 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11399,9 +11404,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11405 "parser_cocci_menhir.ml" +# 11410 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11413,16 +11418,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11417 "parser_cocci_menhir.ml" +# 11422 "parser_cocci_menhir.ml" in -# 971 "parser_cocci_menhir.mly" +# 972 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 11426 "parser_cocci_menhir.ml" +# 11431 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11444,9 +11449,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_decl_var = -# 975 "parser_cocci_menhir.mly" +# 976 "parser_cocci_menhir.mly" ( [f] ) -# 11450 "parser_cocci_menhir.ml" +# 11455 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11485,15 +11490,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11491 "parser_cocci_menhir.ml" +# 11496 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11497 "parser_cocci_menhir.ml" +# 11502 "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 @@ -11503,14 +11508,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11507 "parser_cocci_menhir.ml" +# 11512 "parser_cocci_menhir.ml" in -# 977 "parser_cocci_menhir.mly" +# 978 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 11514 "parser_cocci_menhir.ml" +# 11519 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11554,15 +11559,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11560 "parser_cocci_menhir.ml" +# 11565 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11566 "parser_cocci_menhir.ml" +# 11571 "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 @@ -11574,14 +11579,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11578 "parser_cocci_menhir.ml" +# 11583 "parser_cocci_menhir.ml" in -# 977 "parser_cocci_menhir.mly" +# 978 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 11585 "parser_cocci_menhir.ml" +# 11590 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11610,9 +11615,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11616 "parser_cocci_menhir.ml" +# 11621 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11622,25 +11627,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11626 "parser_cocci_menhir.ml" +# 11631 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11633 "parser_cocci_menhir.ml" +# 11638 "parser_cocci_menhir.ml" in -# 982 "parser_cocci_menhir.mly" +# 983 "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 ) -# 11644 "parser_cocci_menhir.ml" +# 11649 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11674,9 +11679,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11680 "parser_cocci_menhir.ml" +# 11685 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11688,25 +11693,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11692 "parser_cocci_menhir.ml" +# 11697 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11699 "parser_cocci_menhir.ml" +# 11704 "parser_cocci_menhir.ml" in -# 982 "parser_cocci_menhir.mly" +# 983 "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 ) -# 11710 "parser_cocci_menhir.ml" +# 11715 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11740,9 +11745,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11746 "parser_cocci_menhir.ml" +# 11751 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11753,7 +11758,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11757 "parser_cocci_menhir.ml" +# 11762 "parser_cocci_menhir.ml" in let s = @@ -11761,18 +11766,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11765 "parser_cocci_menhir.ml" +# 11770 "parser_cocci_menhir.ml" in -# 982 "parser_cocci_menhir.mly" +# 983 "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 ) -# 11776 "parser_cocci_menhir.ml" +# 11781 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11811,9 +11816,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11817 "parser_cocci_menhir.ml" +# 11822 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11826,7 +11831,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11830 "parser_cocci_menhir.ml" +# 11835 "parser_cocci_menhir.ml" in let s = @@ -11834,18 +11839,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11838 "parser_cocci_menhir.ml" +# 11843 "parser_cocci_menhir.ml" in -# 982 "parser_cocci_menhir.mly" +# 983 "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 ) -# 11849 "parser_cocci_menhir.ml" +# 11854 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11884,15 +11889,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11890 "parser_cocci_menhir.ml" +# 11895 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11896 "parser_cocci_menhir.ml" +# 11901 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11902,24 +11907,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11906 "parser_cocci_menhir.ml" +# 11911 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11913 "parser_cocci_menhir.ml" +# 11918 "parser_cocci_menhir.ml" in -# 990 "parser_cocci_menhir.mly" +# 991 "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))] ) -# 11923 "parser_cocci_menhir.ml" +# 11928 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11963,15 +11968,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11969 "parser_cocci_menhir.ml" +# 11974 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 11975 "parser_cocci_menhir.ml" +# 11980 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11983,24 +11988,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11987 "parser_cocci_menhir.ml" +# 11992 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11994 "parser_cocci_menhir.ml" +# 11999 "parser_cocci_menhir.ml" in -# 990 "parser_cocci_menhir.mly" +# 991 "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))] ) -# 12004 "parser_cocci_menhir.ml" +# 12009 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12044,15 +12049,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 12050 "parser_cocci_menhir.ml" +# 12055 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 12056 "parser_cocci_menhir.ml" +# 12061 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -12063,7 +12068,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12067 "parser_cocci_menhir.ml" +# 12072 "parser_cocci_menhir.ml" in let s = @@ -12071,17 +12076,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12075 "parser_cocci_menhir.ml" +# 12080 "parser_cocci_menhir.ml" in -# 990 "parser_cocci_menhir.mly" +# 991 "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))] ) -# 12085 "parser_cocci_menhir.ml" +# 12090 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12130,15 +12135,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 12136 "parser_cocci_menhir.ml" +# 12141 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 12142 "parser_cocci_menhir.ml" +# 12147 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -12151,7 +12156,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12155 "parser_cocci_menhir.ml" +# 12160 "parser_cocci_menhir.ml" in let s = @@ -12159,17 +12164,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12163 "parser_cocci_menhir.ml" +# 12168 "parser_cocci_menhir.ml" in -# 990 "parser_cocci_menhir.mly" +# 991 "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))] ) -# 12173 "parser_cocci_menhir.ml" +# 12178 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12228,36 +12233,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 12234 "parser_cocci_menhir.ml" +# 12239 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 12239 "parser_cocci_menhir.ml" +# 12244 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 12245 "parser_cocci_menhir.ml" +# 12250 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 12250 "parser_cocci_menhir.ml" +# 12255 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 12256 "parser_cocci_menhir.ml" +# 12261 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 12261 "parser_cocci_menhir.ml" +# 12266 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -12266,11 +12271,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12270 "parser_cocci_menhir.ml" +# 12275 "parser_cocci_menhir.ml" in -# 1000 "parser_cocci_menhir.mly" +# 1001 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12278,7 +12283,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] ) -# 12282 "parser_cocci_menhir.ml" +# 12287 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12342,36 +12347,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 12348 "parser_cocci_menhir.ml" +# 12353 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 12353 "parser_cocci_menhir.ml" +# 12358 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 12359 "parser_cocci_menhir.ml" +# 12364 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 12364 "parser_cocci_menhir.ml" +# 12369 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 12370 "parser_cocci_menhir.ml" +# 12375 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 12375 "parser_cocci_menhir.ml" +# 12380 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -12382,11 +12387,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12386 "parser_cocci_menhir.ml" +# 12391 "parser_cocci_menhir.ml" in -# 1000 "parser_cocci_menhir.mly" +# 1001 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12394,7 +12399,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] ) -# 12398 "parser_cocci_menhir.ml" +# 12403 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12433,29 +12438,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 12439 "parser_cocci_menhir.ml" +# 12444 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 12444 "parser_cocci_menhir.ml" +# 12449 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 12450 "parser_cocci_menhir.ml" +# 12455 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_decl_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_decl_var = -# 1008 "parser_cocci_menhir.mly" +# 1009 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5))] ) -# 12459 "parser_cocci_menhir.ml" +# 12464 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12524,42 +12529,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 12530 "parser_cocci_menhir.ml" +# 12535 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 12536 "parser_cocci_menhir.ml" +# 12541 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 12541 "parser_cocci_menhir.ml" +# 12546 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 12547 "parser_cocci_menhir.ml" +# 12552 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 12552 "parser_cocci_menhir.ml" +# 12557 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 12558 "parser_cocci_menhir.ml" +# 12563 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 12563 "parser_cocci_menhir.ml" +# 12568 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -12568,11 +12573,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12572 "parser_cocci_menhir.ml" +# 12577 "parser_cocci_menhir.ml" in -# 1014 "parser_cocci_menhir.mly" +# 1015 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12580,7 +12585,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 12584 "parser_cocci_menhir.ml" +# 12589 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12654,42 +12659,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 12660 "parser_cocci_menhir.ml" +# 12665 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 12666 "parser_cocci_menhir.ml" +# 12671 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 12671 "parser_cocci_menhir.ml" +# 12676 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 12677 "parser_cocci_menhir.ml" +# 12682 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 12682 "parser_cocci_menhir.ml" +# 12687 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 12688 "parser_cocci_menhir.ml" +# 12693 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 12693 "parser_cocci_menhir.ml" +# 12698 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -12700,11 +12705,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12704 "parser_cocci_menhir.ml" +# 12709 "parser_cocci_menhir.ml" in -# 1014 "parser_cocci_menhir.mly" +# 1015 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12712,7 +12717,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 12716 "parser_cocci_menhir.ml" +# 12721 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12746,27 +12751,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 12752 "parser_cocci_menhir.ml" +# 12757 "parser_cocci_menhir.ml" ) = Obj.magic pv in let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in let t : 'tv_typedef_ctype = Obj.magic t in let s : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 12759 "parser_cocci_menhir.ml" +# 12764 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = -# 1022 "parser_cocci_menhir.mly" +# 1023 "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 ) -# 12770 "parser_cocci_menhir.ml" +# 12775 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12788,13 +12793,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_define_param_list = -# 739 "parser_cocci_menhir.mly" +# 740 "parser_cocci_menhir.mly" (let circle x = match Ast0.unwrap x with Ast0.DPcircles(_) -> true | _ -> false in if List.exists circle _1 then Ast0.wrap(Ast0.CIRCLES(_1)) else Ast0.wrap(Ast0.DOTS(_1)) ) -# 12798 "parser_cocci_menhir.ml" +# 12803 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12816,9 +12821,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_define_param_list_option = -# 763 "parser_cocci_menhir.mly" +# 764 "parser_cocci_menhir.mly" ( _1 ) -# 12822 "parser_cocci_menhir.ml" +# 12827 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12833,9 +12838,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_define_param_list_option = -# 764 "parser_cocci_menhir.mly" +# 765 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS([])) ) -# 12839 "parser_cocci_menhir.ml" +# 12844 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12857,9 +12862,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_define_param_list_start = -# 746 "parser_cocci_menhir.mly" +# 747 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.DParam _1)] ) -# 12863 "parser_cocci_menhir.ml" +# 12868 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12889,18 +12894,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_define_param_list_start = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 12895 "parser_cocci_menhir.ml" +# 12900 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_define_param_list_start = -# 748 "parser_cocci_menhir.mly" +# 749 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DParam _1):: Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 ) -# 12904 "parser_cocci_menhir.ml" +# 12909 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12925,17 +12930,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic r in let d : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 12931 "parser_cocci_menhir.ml" +# 12936 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_define_param_list_start = -# 751 "parser_cocci_menhir.mly" +# 752 "parser_cocci_menhir.mly" ( (P.mkdpdots "..." d):: (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) ) -# 12939 "parser_cocci_menhir.ml" +# 12944 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12954,14 +12959,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 81 "parser_cocci_menhir.mly" +# 82 "parser_cocci_menhir.mly" (Data.clt * token) -# 12960 "parser_cocci_menhir.ml" +# 12965 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_defineop = -# 698 "parser_cocci_menhir.mly" +# 699 "parser_cocci_menhir.mly" ( let (clt,ident) = _1 in function body -> Ast0.wrap @@ -12978,7 +12983,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct "unexpected name for a #define")), Ast0.wrap Ast0.NoParams, body)) ) -# 12982 "parser_cocci_menhir.ml" +# 12987 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13007,20 +13012,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 13013 "parser_cocci_menhir.ml" +# 13018 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_define_param_list_option = Obj.magic _2 in let _1 : ( -# 82 "parser_cocci_menhir.mly" +# 83 "parser_cocci_menhir.mly" (Data.clt * token * int * int) -# 13019 "parser_cocci_menhir.ml" +# 13024 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_defineop = -# 715 "parser_cocci_menhir.mly" +# 716 "parser_cocci_menhir.mly" ( let (clt,ident,parenoff,parencol) = _1 in (* clt is the start of the #define itself *) let (arity,line,lline,offset,col,strbef,straft,pos) = clt in @@ -13041,7 +13046,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Semantic_cocci.Semantic "unexpected name for a #define")), Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) ) -# 13045 "parser_cocci_menhir.ml" +# 13050 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13063,9 +13068,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dep = -# 225 "parser_cocci_menhir.mly" +# 226 "parser_cocci_menhir.mly" ( _1 ) -# 13069 "parser_cocci_menhir.ml" +# 13074 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13097,9 +13102,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_dep = -# 226 "parser_cocci_menhir.mly" +# 227 "parser_cocci_menhir.mly" ( Ast.AndDep(_1, _3) ) -# 13103 "parser_cocci_menhir.ml" +# 13108 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13131,9 +13136,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_dep = -# 227 "parser_cocci_menhir.mly" +# 228 "parser_cocci_menhir.mly" ( Ast.OrDep (_1, _3) ) -# 13137 "parser_cocci_menhir.ml" +# 13142 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13148,9 +13153,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_depends = -# 221 "parser_cocci_menhir.mly" +# 222 "parser_cocci_menhir.mly" ( Ast.NoDep ) -# 13154 "parser_cocci_menhir.ml" +# 13159 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13180,9 +13185,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_parents_ in let _v : 'tv_depends = -# 222 "parser_cocci_menhir.mly" +# 223 "parser_cocci_menhir.mly" ( parents ) -# 13186 "parser_cocci_menhir.ml" +# 13191 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13207,16 +13212,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_ident = Obj.magic _2 in let _1 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 13213 "parser_cocci_menhir.ml" +# 13218 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_designator = -# 1123 "parser_cocci_menhir.mly" +# 1124 "parser_cocci_menhir.mly" ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) ) -# 13220 "parser_cocci_menhir.ml" +# 13225 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13245,22 +13250,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 13251 "parser_cocci_menhir.ml" +# 13256 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 13257 "parser_cocci_menhir.ml" +# 13262 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_designator = -# 1125 "parser_cocci_menhir.mly" +# 1126 "parser_cocci_menhir.mly" ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) ) -# 13264 "parser_cocci_menhir.ml" +# 13269 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13299,29 +13304,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 13305 "parser_cocci_menhir.ml" +# 13310 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : 'tv_eexpr = Obj.magic _4 in let _3 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 13311 "parser_cocci_menhir.ml" +# 13316 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 13317 "parser_cocci_menhir.ml" +# 13322 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_designator = -# 1127 "parser_cocci_menhir.mly" +# 1128 "parser_cocci_menhir.mly" ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3, _4,P.clt2mcode "]" _5) ) -# 13325 "parser_cocci_menhir.ml" +# 13330 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13343,9 +13348,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dexpr = -# 1226 "parser_cocci_menhir.mly" +# 1227 "parser_cocci_menhir.mly" ( _1 ) -# 13349 "parser_cocci_menhir.ml" +# 13354 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13371,9 +13376,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_disable = -# 240 "parser_cocci_menhir.mly" +# 241 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) -# 13377 "parser_cocci_menhir.ml" +# 13382 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13392,16 +13397,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 13398 "parser_cocci_menhir.ml" +# 13403 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1235 "parser_cocci_menhir.mly" +# 1236 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) ) -# 13405 "parser_cocci_menhir.ml" +# 13410 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13423,9 +13428,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1236 "parser_cocci_menhir.mly" +# 1237 "parser_cocci_menhir.mly" ( _1 ) -# 13429 "parser_cocci_menhir.ml" +# 13434 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13449,22 +13454,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let d : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 13455 "parser_cocci_menhir.ml" +# 13460 "parser_cocci_menhir.ml" ) = Obj.magic d in let c : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 13460 "parser_cocci_menhir.ml" +# 13465 "parser_cocci_menhir.ml" ) = Obj.magic c in let _startpos = _startpos_c_ in let _endpos = _endpos_d_ in let _v : 'tv_dp_comma_args_TEllipsis_ = -# 756 "parser_cocci_menhir.mly" +# 757 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] ) -# 13468 "parser_cocci_menhir.ml" +# 13473 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13489,18 +13494,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_ident = Obj.magic _2 in let _1 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 13495 "parser_cocci_menhir.ml" +# 13500 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_dp_comma_args_TEllipsis_ = -# 759 "parser_cocci_menhir.mly" +# 760 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1)); Ast0.wrap(Ast0.DParam _2)] ) -# 13504 "parser_cocci_menhir.ml" +# 13509 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13519,16 +13524,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 13525 "parser_cocci_menhir.ml" +# 13530 "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_ = -# 1924 "parser_cocci_menhir.mly" +# 1925 "parser_cocci_menhir.mly" ( (d,None) ) -# 13532 "parser_cocci_menhir.ml" +# 13537 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13565,16 +13570,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_eexpr = Obj.magic w in let d : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 13571 "parser_cocci_menhir.ml" +# 13576 "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_ = -# 1925 "parser_cocci_menhir.mly" +# 1926 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 13578 "parser_cocci_menhir.ml" +# 13583 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13593,16 +13598,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 13599 "parser_cocci_menhir.ml" +# 13604 "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_ = -# 1924 "parser_cocci_menhir.mly" +# 1925 "parser_cocci_menhir.mly" ( (d,None) ) -# 13606 "parser_cocci_menhir.ml" +# 13611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13639,16 +13644,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_initialize = Obj.magic w in let d : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 13645 "parser_cocci_menhir.ml" +# 13650 "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_ = -# 1925 "parser_cocci_menhir.mly" +# 1926 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 13652 "parser_cocci_menhir.ml" +# 13657 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13667,16 +13672,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 13673 "parser_cocci_menhir.ml" +# 13678 "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_ = -# 1924 "parser_cocci_menhir.mly" +# 1925 "parser_cocci_menhir.mly" ( (d,None) ) -# 13680 "parser_cocci_menhir.ml" +# 13685 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13713,16 +13718,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_struct_decl = Obj.magic w in let d : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 13719 "parser_cocci_menhir.ml" +# 13724 "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_ = -# 1925 "parser_cocci_menhir.mly" +# 1926 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 13726 "parser_cocci_menhir.ml" +# 13731 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13744,9 +13749,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr = -# 1224 "parser_cocci_menhir.mly" +# 1225 "parser_cocci_menhir.mly" ( _1 ) -# 13750 "parser_cocci_menhir.ml" +# 13755 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13768,7 +13773,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr_list = -# 1868 "parser_cocci_menhir.mly" +# 1869 "parser_cocci_menhir.mly" (let circle x = match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in let star x = @@ -13779,7 +13784,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct if List.exists star _1 then Ast0.wrap(Ast0.STARS(_1)) else Ast0.wrap(Ast0.DOTS(_1)) ) -# 13783 "parser_cocci_menhir.ml" +# 13788 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13801,9 +13806,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr_list_option = -# 1907 "parser_cocci_menhir.mly" +# 1908 "parser_cocci_menhir.mly" ( _1 ) -# 13807 "parser_cocci_menhir.ml" +# 13812 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13818,9 +13823,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_eexpr_list_option = -# 1908 "parser_cocci_menhir.mly" +# 1909 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS([])) ) -# 13824 "parser_cocci_menhir.ml" +# 13829 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13842,9 +13847,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr_list_start = -# 1895 "parser_cocci_menhir.mly" +# 1896 "parser_cocci_menhir.mly" ( [_1] ) -# 13848 "parser_cocci_menhir.ml" +# 13853 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13874,17 +13879,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_eexpr_list_start = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 13880 "parser_cocci_menhir.ml" +# 13885 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_aexpr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_eexpr_list_start = -# 1897 "parser_cocci_menhir.mly" +# 1898 "parser_cocci_menhir.mly" ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 ) -# 13888 "parser_cocci_menhir.ml" +# 13893 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13904,9 +13909,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_exists = -# 243 "parser_cocci_menhir.mly" +# 244 "parser_cocci_menhir.mly" ( Ast.Exists ) -# 13910 "parser_cocci_menhir.ml" +# 13915 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13926,9 +13931,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_exists = -# 244 "parser_cocci_menhir.mly" +# 245 "parser_cocci_menhir.mly" ( Ast.Forall ) -# 13932 "parser_cocci_menhir.ml" +# 13937 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13943,9 +13948,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_exists = -# 245 "parser_cocci_menhir.mly" +# 246 "parser_cocci_menhir.mly" ( Ast.Undetermined ) -# 13949 "parser_cocci_menhir.ml" +# 13954 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13967,9 +13972,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_expr = -# 1222 "parser_cocci_menhir.mly" +# 1223 "parser_cocci_menhir.mly" ( _1 ) -# 13973 "parser_cocci_menhir.ml" +# 13978 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13991,9 +13996,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_expr_dots_TEllipsis_ = -# 1404 "parser_cocci_menhir.mly" +# 1405 "parser_cocci_menhir.mly" ( r ) -# 13997 "parser_cocci_menhir.ml" +# 14002 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14008,9 +14013,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_extends = -# 216 "parser_cocci_menhir.mly" +# 217 "parser_cocci_menhir.mly" ( () ) -# 14014 "parser_cocci_menhir.ml" +# 14019 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14035,14 +14040,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let parent : ( # 47 "parser_cocci_menhir.mly" (string) -# 14039 "parser_cocci_menhir.ml" +# 14044 "parser_cocci_menhir.ml" ) = Obj.magic parent in let _startpos = _startpos__1_ in let _endpos = _endpos_parent_ in let _v : 'tv_extends = -# 218 "parser_cocci_menhir.mly" +# 219 "parser_cocci_menhir.mly" ( !Data.install_bindings (parent) ) -# 14046 "parser_cocci_menhir.ml" +# 14051 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14066,23 +14071,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 83 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (string * Data.clt) -# 14072 "parser_cocci_menhir.ml" +# 14077 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 83 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (string * Data.clt) -# 14077 "parser_cocci_menhir.ml" +# 14082 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_filespec = -# 655 "parser_cocci_menhir.mly" +# 656 "parser_cocci_menhir.mly" ( [Ast0.wrap (Ast0.FILEINFO(P.id2mcode _1, P.id2mcode _2))] ) -# 14086 "parser_cocci_menhir.ml" +# 14091 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14097,9 +14102,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fninfo = -# 792 "parser_cocci_menhir.mly" +# 793 "parser_cocci_menhir.mly" ( [] ) -# 14103 "parser_cocci_menhir.ml" +# 14108 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14127,13 +14132,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 794 "parser_cocci_menhir.mly" +# 795 "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 ) -# 14137 "parser_cocci_menhir.ml" +# 14142 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14161,9 +14166,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_r_ in let _v : 'tv_fninfo = -# 799 "parser_cocci_menhir.mly" +# 800 "parser_cocci_menhir.mly" ( (Ast0.FType(t))::r ) -# 14167 "parser_cocci_menhir.ml" +# 14172 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14190,17 +14195,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 14194 "parser_cocci_menhir.ml" +# 14199 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 801 "parser_cocci_menhir.mly" +# 802 "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 ) -# 14204 "parser_cocci_menhir.ml" +# 14209 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14227,17 +14232,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 55 "parser_cocci_menhir.mly" (string * Data.clt) -# 14231 "parser_cocci_menhir.ml" +# 14236 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 806 "parser_cocci_menhir.mly" +# 807 "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 ) -# 14241 "parser_cocci_menhir.ml" +# 14246 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14252,9 +14257,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fninfo_nt = -# 812 "parser_cocci_menhir.mly" +# 813 "parser_cocci_menhir.mly" ( [] ) -# 14258 "parser_cocci_menhir.ml" +# 14263 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14282,13 +14287,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 814 "parser_cocci_menhir.mly" +# 815 "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 ) -# 14292 "parser_cocci_menhir.ml" +# 14297 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14315,17 +14320,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 14319 "parser_cocci_menhir.ml" +# 14324 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 820 "parser_cocci_menhir.mly" +# 821 "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 ) -# 14329 "parser_cocci_menhir.ml" +# 14334 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14352,17 +14357,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 55 "parser_cocci_menhir.mly" (string * Data.clt) -# 14356 "parser_cocci_menhir.ml" +# 14361 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 825 "parser_cocci_menhir.mly" +# 826 "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 ) -# 14366 "parser_cocci_menhir.ml" +# 14371 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14377,9 +14382,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_dots = -# 1816 "parser_cocci_menhir.mly" +# 1817 "parser_cocci_menhir.mly" ([]) -# 14383 "parser_cocci_menhir.ml" +# 14388 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14405,9 +14410,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1817 "parser_cocci_menhir.mly" +# 1818 "parser_cocci_menhir.mly" (_2) -# 14411 "parser_cocci_menhir.ml" +# 14416 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14435,9 +14440,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1818 "parser_cocci_menhir.mly" +# 1819 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) -# 14441 "parser_cocci_menhir.ml" +# 14446 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14465,9 +14470,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1819 "parser_cocci_menhir.mly" +# 1820 "parser_cocci_menhir.mly" (_1@_2) -# 14471 "parser_cocci_menhir.ml" +# 14476 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14482,9 +14487,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_dots_or = -# 1826 "parser_cocci_menhir.mly" +# 1827 "parser_cocci_menhir.mly" ([]) -# 14488 "parser_cocci_menhir.ml" +# 14493 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14510,9 +14515,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1827 "parser_cocci_menhir.mly" +# 1828 "parser_cocci_menhir.mly" (_2) -# 14516 "parser_cocci_menhir.ml" +# 14521 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14540,9 +14545,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1828 "parser_cocci_menhir.mly" +# 1829 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) -# 14546 "parser_cocci_menhir.ml" +# 14551 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14570,9 +14575,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1829 "parser_cocci_menhir.mly" +# 1830 "parser_cocci_menhir.mly" (_1@_2) -# 14576 "parser_cocci_menhir.ml" +# 14581 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14600,9 +14605,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp = -# 1822 "parser_cocci_menhir.mly" +# 1823 "parser_cocci_menhir.mly" (_1::_2) -# 14606 "parser_cocci_menhir.ml" +# 14611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14617,9 +14622,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_exp_or = -# 1832 "parser_cocci_menhir.mly" +# 1833 "parser_cocci_menhir.mly" ([]) -# 14623 "parser_cocci_menhir.ml" +# 14628 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14647,9 +14652,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp_or = -# 1833 "parser_cocci_menhir.mly" +# 1834 "parser_cocci_menhir.mly" (_1::_2) -# 14653 "parser_cocci_menhir.ml" +# 14658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14664,9 +14669,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_stm = -# 1811 "parser_cocci_menhir.mly" +# 1812 "parser_cocci_menhir.mly" ([]) -# 14670 "parser_cocci_menhir.ml" +# 14675 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14694,9 +14699,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 1812 "parser_cocci_menhir.mly" +# 1813 "parser_cocci_menhir.mly" (_1::_2) -# 14700 "parser_cocci_menhir.ml" +# 14705 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14724,9 +14729,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 1813 "parser_cocci_menhir.mly" +# 1814 "parser_cocci_menhir.mly" (_1@_2) -# 14730 "parser_cocci_menhir.ml" +# 14735 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14748,9 +14753,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fun_start = -# 1808 "parser_cocci_menhir.mly" +# 1809 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 14754 "parser_cocci_menhir.ml" +# 14759 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14772,9 +14777,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1606 "parser_cocci_menhir.mly" +# 1607 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 14778 "parser_cocci_menhir.ml" +# 14783 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14793,17 +14798,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 62 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 14799 "parser_cocci_menhir.ml" +# 14804 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1608 "parser_cocci_menhir.mly" +# 1609 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 14807 "parser_cocci_menhir.ml" +# 14812 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14822,17 +14827,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 62 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 14828 "parser_cocci_menhir.ml" +# 14833 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1611 "parser_cocci_menhir.mly" +# 1612 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 14836 "parser_cocci_menhir.ml" +# 14841 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14851,18 +14856,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 62 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 14857 "parser_cocci_menhir.ml" +# 14862 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1614 "parser_cocci_menhir.mly" +# 1615 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 14866 "parser_cocci_menhir.ml" +# 14871 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14920,33 +14925,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rb : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 14926 "parser_cocci_menhir.ml" +# 14931 "parser_cocci_menhir.ml" ) = Obj.magic rb in let b : 'tv_fun_start = Obj.magic b in let lb : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 14932 "parser_cocci_menhir.ml" +# 14937 "parser_cocci_menhir.ml" ) = Obj.magic lb in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 14937 "parser_cocci_menhir.ml" +# 14942 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_decl_ = Obj.magic d in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 14943 "parser_cocci_menhir.ml" +# 14948 "parser_cocci_menhir.ml" ) = Obj.magic lp in let i : 'tv_func_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 = -# 783 "parser_cocci_menhir.mly" +# 784 "parser_cocci_menhir.mly" ( P.verify_parameter_declarations (Ast0.undots d); Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()), f, i, @@ -14954,7 +14959,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode ")" rp, P.clt2mcode "{" lb, b, P.clt2mcode "}" rb)) ) -# 14958 "parser_cocci_menhir.ml" +# 14963 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14998,20 +15003,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pt : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 15004 "parser_cocci_menhir.ml" +# 15009 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 15009 "parser_cocci_menhir.ml" +# 15014 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 15015 "parser_cocci_menhir.ml" +# 15020 "parser_cocci_menhir.ml" ) = Obj.magic lp in let id : 'tv_func_ident = Obj.magic id in let t : 'tv_ctype = Obj.magic t in @@ -15021,11 +15026,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 15025 "parser_cocci_menhir.ml" +# 15030 "parser_cocci_menhir.ml" in -# 771 "parser_cocci_menhir.mly" +# 772 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -15033,7 +15038,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.FunctionType(Some t, P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), id, P.clt2mcode ";" pt)) ) -# 15037 "parser_cocci_menhir.ml" +# 15042 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15082,20 +15087,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pt : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 15088 "parser_cocci_menhir.ml" +# 15093 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 15093 "parser_cocci_menhir.ml" +# 15098 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 15099 "parser_cocci_menhir.ml" +# 15104 "parser_cocci_menhir.ml" ) = Obj.magic lp in let id : 'tv_func_ident = Obj.magic id in let t : 'tv_ctype = Obj.magic t in @@ -15107,11 +15112,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15111 "parser_cocci_menhir.ml" +# 15116 "parser_cocci_menhir.ml" in -# 771 "parser_cocci_menhir.mly" +# 772 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -15119,7 +15124,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.FunctionType(Some t, P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), id, P.clt2mcode ";" pt)) ) -# 15123 "parser_cocci_menhir.ml" +# 15128 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15141,9 +15146,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1619 "parser_cocci_menhir.mly" +# 1620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 15147 "parser_cocci_menhir.ml" +# 15152 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15162,17 +15167,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 62 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 15168 "parser_cocci_menhir.ml" +# 15173 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1621 "parser_cocci_menhir.mly" +# 1622 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 15176 "parser_cocci_menhir.ml" +# 15181 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15194,9 +15199,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_i_ in let _v : 'tv_ident_or_const = -# 1573 "parser_cocci_menhir.mly" +# 1574 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) ) -# 15200 "parser_cocci_menhir.ml" +# 15205 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15215,17 +15220,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 15221 "parser_cocci_menhir.ml" +# 15226 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident_or_const = -# 1575 "parser_cocci_menhir.mly" +# 1576 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 15229 "parser_cocci_menhir.ml" +# 15234 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15244,16 +15249,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 15250 "parser_cocci_menhir.ml" +# 15255 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_incl = -# 256 "parser_cocci_menhir.mly" +# 257 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Data.Include(x) ) -# 15257 "parser_cocci_menhir.ml" +# 15262 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15276,16 +15281,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 15282 "parser_cocci_menhir.ml" +# 15287 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 257 "parser_cocci_menhir.mly" +# 258 "parser_cocci_menhir.mly" ( Data.Iso(Common.Left(P.id2name _2)) ) -# 15289 "parser_cocci_menhir.ml" +# 15294 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15308,16 +15313,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 79 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (string) -# 15314 "parser_cocci_menhir.ml" +# 15319 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 258 "parser_cocci_menhir.mly" +# 259 "parser_cocci_menhir.mly" ( Data.Iso(Common.Right _2) ) -# 15321 "parser_cocci_menhir.ml" +# 15326 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15343,14 +15348,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 260 "parser_cocci_menhir.mly" +# 261 "parser_cocci_menhir.mly" ( let names = List.map P.id2name _2 in (* 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) ) -# 15354 "parser_cocci_menhir.ml" +# 15359 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15376,13 +15381,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 146 "parser_cocci_menhir.mly" +# 147 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 15382 "parser_cocci_menhir.ml" +# 15387 "parser_cocci_menhir.ml" ) = -# 252 "parser_cocci_menhir.mly" +# 253 "parser_cocci_menhir.mly" ( _1 ) -# 15386 "parser_cocci_menhir.ml" +# 15391 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15408,13 +15413,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 146 "parser_cocci_menhir.mly" +# 147 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 15414 "parser_cocci_menhir.ml" +# 15419 "parser_cocci_menhir.ml" ) = -# 253 "parser_cocci_menhir.mly" +# 254 "parser_cocci_menhir.mly" ( _1 ) -# 15418 "parser_cocci_menhir.ml" +# 15423 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15433,14 +15438,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 15439 "parser_cocci_menhir.ml" +# 15444 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 661 "parser_cocci_menhir.mly" +# 662 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -15451,7 +15456,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode (Ast.Local (Parse_aux.str2inc (P.id2name _1))) (P.drop_bef clt))) ) -# 15455 "parser_cocci_menhir.ml" +# 15460 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15470,14 +15475,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 15476 "parser_cocci_menhir.ml" +# 15481 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 672 "parser_cocci_menhir.mly" +# 673 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -15488,7 +15493,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1))) (P.drop_bef clt))) ) -# 15492 "parser_cocci_menhir.ml" +# 15497 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15520,10 +15525,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 683 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in d (Ast0.wrap(Ast0.DOTS([ty]))) ) -# 15527 "parser_cocci_menhir.ml" +# 15532 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15555,7 +15560,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 686 "parser_cocci_menhir.mly" +# 687 "parser_cocci_menhir.mly" ( let body = match b with [e] -> @@ -15565,7 +15570,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | _ -> b) | _ -> b in _1 (Ast0.wrap(Ast0.DOTS(body))) ) -# 15569 "parser_cocci_menhir.ml" +# 15574 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15587,9 +15592,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1094 "parser_cocci_menhir.mly" +# 1095 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 15593 "parser_cocci_menhir.ml" +# 15598 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15618,22 +15623,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 15624 "parser_cocci_menhir.ml" +# 15629 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 15630 "parser_cocci_menhir.ml" +# 15635 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize = -# 1096 "parser_cocci_menhir.mly" +# 1097 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 15637 "parser_cocci_menhir.ml" +# 15642 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15657,23 +15662,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 15663 "parser_cocci_menhir.ml" +# 15668 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 15668 "parser_cocci_menhir.ml" +# 15673 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_initialize = -# 1098 "parser_cocci_menhir.mly" +# 1099 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []), P.clt2mcode "}" _2)) ) -# 15677 "parser_cocci_menhir.ml" +# 15682 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15692,17 +15697,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 65 "parser_cocci_menhir.mly" +# 66 "parser_cocci_menhir.mly" (Parse_aux.info) -# 15698 "parser_cocci_menhir.ml" +# 15703 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1102 "parser_cocci_menhir.mly" +# 1103 "parser_cocci_menhir.mly" (let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) ) -# 15706 "parser_cocci_menhir.ml" +# 15711 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15724,9 +15729,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize2 = -# 1108 "parser_cocci_menhir.mly" +# 1109 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 15730 "parser_cocci_menhir.ml" +# 15735 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15755,22 +15760,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 15761 "parser_cocci_menhir.ml" +# 15766 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 15767 "parser_cocci_menhir.ml" +# 15772 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1110 "parser_cocci_menhir.mly" +# 1111 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 15774 "parser_cocci_menhir.ml" +# 15779 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15794,23 +15799,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 15800 "parser_cocci_menhir.ml" +# 15805 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 15805 "parser_cocci_menhir.ml" +# 15810 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_initialize2 = -# 1112 "parser_cocci_menhir.mly" +# 1113 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []), P.clt2mcode "}" _2)) ) -# 15814 "parser_cocci_menhir.ml" +# 15819 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15840,17 +15845,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_initialize2 = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 15846 "parser_cocci_menhir.ml" +# 15851 "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 = -# 1117 "parser_cocci_menhir.mly" +# 1118 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) ) -# 15854 "parser_cocci_menhir.ml" +# 15859 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15880,17 +15885,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_initialize2 = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 15886 "parser_cocci_menhir.ml" +# 15891 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1119 "parser_cocci_menhir.mly" +# 1120 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) ) -# 15894 "parser_cocci_menhir.ml" +# 15899 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15912,9 +15917,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize_list = -# 1131 "parser_cocci_menhir.mly" +# 1132 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 15918 "parser_cocci_menhir.ml" +# 15923 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15938,17 +15943,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 15944 "parser_cocci_menhir.ml" +# 15949 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_initialize2 = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_initialize_list_start = -# 1134 "parser_cocci_menhir.mly" +# 1135 "parser_cocci_menhir.mly" ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] ) -# 15952 "parser_cocci_menhir.ml" +# 15957 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15978,17 +15983,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_initialize_list_start = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 15984 "parser_cocci_menhir.ml" +# 15989 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_initialize2 = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize_list_start = -# 1136 "parser_cocci_menhir.mly" +# 1137 "parser_cocci_menhir.mly" ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 ) -# 15992 "parser_cocci_menhir.ml" +# 15997 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16016,10 +16021,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_initialize_list_start = -# 1139 "parser_cocci_menhir.mly" +# 1140 "parser_cocci_menhir.mly" ( (P.mkidots "..." d):: (List.concat(List.map (function x -> x (P.mkidots "...")) r)) ) -# 16023 "parser_cocci_menhir.ml" +# 16028 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16039,9 +16044,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_invalid = -# 1232 "parser_cocci_menhir.mly" +# 1233 "parser_cocci_menhir.mly" ( raise (Semantic_cocci.Semantic "not matchable") ) -# 16045 "parser_cocci_menhir.ml" +# 16050 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16056,9 +16061,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_is_expression = -# 248 "parser_cocci_menhir.mly" +# 249 "parser_cocci_menhir.mly" ( false ) -# 16062 "parser_cocci_menhir.ml" +# 16067 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16078,9 +16083,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_is_expression = -# 249 "parser_cocci_menhir.mly" +# 250 "parser_cocci_menhir.mly" ( true ) -# 16084 "parser_cocci_menhir.ml" +# 16089 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16106,9 +16111,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 1976 "parser_cocci_menhir.mly" +# 1981 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16112 "parser_cocci_menhir.ml" +# 16117 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16134,9 +16139,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 1977 "parser_cocci_menhir.mly" +# 1982 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16140 "parser_cocci_menhir.ml" +# 16145 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16162,9 +16167,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 1976 "parser_cocci_menhir.mly" +# 1981 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16168 "parser_cocci_menhir.ml" +# 16173 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16190,9 +16195,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 1977 "parser_cocci_menhir.mly" +# 1982 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16196 "parser_cocci_menhir.ml" +# 16201 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16214,13 +16219,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let t : 'tv_dexpr = Obj.magic t in + let t : 'tv_eexpr = Obj.magic t in let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in - let _v : 'tv_iso_dexpr_ = -# 1976 "parser_cocci_menhir.mly" + let _v : 'tv_iso_eexpr_ = +# 1981 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16224 "parser_cocci_menhir.ml" +# 16229 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16242,13 +16247,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let t : 'tv_dexpr = Obj.magic t in + let t : 'tv_eexpr = Obj.magic t in let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in - let _v : 'tv_iso_dexpr_ = -# 1977 "parser_cocci_menhir.mly" + let _v : 'tv_iso_eexpr_ = +# 1982 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16252 "parser_cocci_menhir.ml" +# 16257 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16274,9 +16279,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 1976 "parser_cocci_menhir.mly" +# 1981 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16280 "parser_cocci_menhir.ml" +# 16285 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16302,9 +16307,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 1977 "parser_cocci_menhir.mly" +# 1982 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16308 "parser_cocci_menhir.ml" +# 16313 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16330,9 +16335,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 1976 "parser_cocci_menhir.mly" +# 1981 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16336 "parser_cocci_menhir.ml" +# 16341 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16358,9 +16363,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 1977 "parser_cocci_menhir.mly" +# 1982 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16364 "parser_cocci_menhir.ml" +# 16369 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16391,18 +16396,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let el : 'tv_list_iso_dexpr__ = Obj.magic el in - let e1 : 'tv_dexpr = Obj.magic e1 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 : ( -# 162 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16402 "parser_cocci_menhir.ml" +# 16407 "parser_cocci_menhir.ml" ) = -# 1948 "parser_cocci_menhir.mly" - ( P.iso_adjust (function x -> Ast0.ExprTag x) e1 el ) -# 16406 "parser_cocci_menhir.ml" +# 1949 "parser_cocci_menhir.mly" + ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el ) +# 16411 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16433,18 +16438,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let el : 'tv_list_iso_dexpr__ = Obj.magic el in - let e1 : 'tv_dexpr = Obj.magic e1 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 : ( -# 162 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16444 "parser_cocci_menhir.ml" +# 16449 "parser_cocci_menhir.ml" ) = -# 1950 "parser_cocci_menhir.mly" - ( P.iso_adjust (function x -> Ast0.ArgExprTag x) e1 el ) -# 16448 "parser_cocci_menhir.ml" +# 1951 "parser_cocci_menhir.mly" + ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el ) +# 16453 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16475,18 +16480,62 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let el : 'tv_list_iso_dexpr__ = Obj.magic el in - let e1 : 'tv_dexpr = Obj.magic e1 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 : ( -# 162 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16486 "parser_cocci_menhir.ml" +# 16491 "parser_cocci_menhir.ml" ) = -# 1952 "parser_cocci_menhir.mly" - ( P.iso_adjust (function x -> Ast0.TestExprTag x) e1 el ) -# 16490 "parser_cocci_menhir.ml" +# 1953 "parser_cocci_menhir.mly" + ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el ) +# 16495 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + 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 : ( +# 163 "parser_cocci_menhir.mly" + (Ast0_cocci.anything list list) +# 16533 "parser_cocci_menhir.ml" + ) = +# 1955 "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 ) +# 16539 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16522,13 +16571,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 162 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16528 "parser_cocci_menhir.ml" +# 16577 "parser_cocci_menhir.ml" ) = -# 1954 "parser_cocci_menhir.mly" - ( P.iso_adjust (function x -> Ast0.StmtTag x) s1 sl ) -# 16532 "parser_cocci_menhir.ml" +# 1959 "parser_cocci_menhir.mly" + ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl ) +# 16581 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16564,13 +16613,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 162 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16570 "parser_cocci_menhir.ml" +# 16619 "parser_cocci_menhir.ml" ) = -# 1956 "parser_cocci_menhir.mly" - ( P.iso_adjust (function x -> Ast0.TypeCTag x) t1 tl ) -# 16574 "parser_cocci_menhir.ml" +# 1961 "parser_cocci_menhir.mly" + ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl ) +# 16623 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16606,13 +16655,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 162 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16612 "parser_cocci_menhir.ml" +# 16661 "parser_cocci_menhir.ml" ) = -# 1958 "parser_cocci_menhir.mly" - ( P.iso_adjust (function x -> Ast0.DotsStmtTag x) e1 el ) -# 16616 "parser_cocci_menhir.ml" +# 1963 "parser_cocci_menhir.mly" + ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el ) +# 16665 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16648,11 +16697,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 162 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16654 "parser_cocci_menhir.ml" +# 16703 "parser_cocci_menhir.ml" ) = -# 1960 "parser_cocci_menhir.mly" +# 1965 "parser_cocci_menhir.mly" ( let check_one = function [x] -> x | _ -> @@ -16666,8 +16715,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Common.Left x -> Common.Left(check_one x) | Common.Right x -> Common.Right(check_one x)) dl in - P.iso_adjust (function x -> Ast0.DeclTag x) d1 dl ) -# 16671 "parser_cocci_menhir.ml" + let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl ) +# 16720 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16689,13 +16738,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : ( -# 165 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 16695 "parser_cocci_menhir.ml" +# 16744 "parser_cocci_menhir.ml" ) = -# 182 "parser_cocci_menhir.mly" +# 183 "parser_cocci_menhir.mly" ( m "" ) -# 16699 "parser_cocci_menhir.ml" +# 16748 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16721,13 +16770,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_nm_ in let _endpos = _endpos__2_ in let _v : ( -# 149 "parser_cocci_menhir.mly" +# 150 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 16727 "parser_cocci_menhir.ml" +# 16776 "parser_cocci_menhir.ml" ) = -# 197 "parser_cocci_menhir.mly" +# 198 "parser_cocci_menhir.mly" ( P.make_iso_rule_name_result (P.id2name nm) ) -# 16731 "parser_cocci_menhir.ml" +# 16780 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16748,14 +16797,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 16752 "parser_cocci_menhir.ml" +# 16801 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1633 "parser_cocci_menhir.mly" +# 1634 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 16759 "parser_cocci_menhir.ml" +# 16808 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16774,17 +16823,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 62 "parser_cocci_menhir.mly" +# 63 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 16780 "parser_cocci_menhir.ml" +# 16829 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1635 "parser_cocci_menhir.mly" +# 1636 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 16788 "parser_cocci_menhir.ml" +# 16837 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16801,7 +16850,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_TMul_ = # 114 "standard.mly" ( [] ) -# 16805 "parser_cocci_menhir.ml" +# 16854 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16826,16 +16875,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_list_TMul_ = Obj.magic xs in let x : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 16832 "parser_cocci_menhir.ml" +# 16881 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in let _v : 'tv_list_TMul_ = # 116 "standard.mly" ( x :: xs ) -# 16839 "parser_cocci_menhir.ml" +# 16888 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16852,7 +16901,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_array_dec_ = # 114 "standard.mly" ( [] ) -# 16856 "parser_cocci_menhir.ml" +# 16905 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16882,7 +16931,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_array_dec_ = # 116 "standard.mly" ( x :: xs ) -# 16886 "parser_cocci_menhir.ml" +# 16935 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16899,7 +16948,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_case_line_ = # 114 "standard.mly" ( [] ) -# 16903 "parser_cocci_menhir.ml" +# 16952 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16929,7 +16978,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_case_line_ = # 116 "standard.mly" ( x :: xs ) -# 16933 "parser_cocci_menhir.ml" +# 16982 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16946,7 +16995,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_comma_decls_TEllipsis_decl__ = # 114 "standard.mly" ( [] ) -# 16950 "parser_cocci_menhir.ml" +# 16999 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16976,7 +17025,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_comma_decls_TEllipsis_decl__ = # 116 "standard.mly" ( x :: xs ) -# 16980 "parser_cocci_menhir.ml" +# 17029 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16993,7 +17042,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = # 114 "standard.mly" ( [] ) -# 16997 "parser_cocci_menhir.ml" +# 17046 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17023,7 +17072,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = # 116 "standard.mly" ( x :: xs ) -# 17027 "parser_cocci_menhir.ml" +# 17076 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17040,7 +17089,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_decl_var_ = # 114 "standard.mly" ( [] ) -# 17044 "parser_cocci_menhir.ml" +# 17093 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17070,7 +17119,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_decl_var_ = # 116 "standard.mly" ( x :: xs ) -# 17074 "parser_cocci_menhir.ml" +# 17123 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17087,7 +17136,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_designator_ = # 114 "standard.mly" ( [] ) -# 17091 "parser_cocci_menhir.ml" +# 17140 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17117,7 +17166,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_designator_ = # 116 "standard.mly" ( x :: xs ) -# 17121 "parser_cocci_menhir.ml" +# 17170 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17134,7 +17183,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_dp_comma_args_TEllipsis__ = # 114 "standard.mly" ( [] ) -# 17138 "parser_cocci_menhir.ml" +# 17187 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17164,7 +17213,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_dp_comma_args_TEllipsis__ = # 116 "standard.mly" ( x :: xs ) -# 17168 "parser_cocci_menhir.ml" +# 17217 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17181,7 +17230,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_incl_ = # 114 "standard.mly" ( [] ) -# 17185 "parser_cocci_menhir.ml" +# 17234 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17211,7 +17260,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_incl_ = # 116 "standard.mly" ( x :: xs ) -# 17215 "parser_cocci_menhir.ml" +# 17264 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17228,7 +17277,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_ctype__ = # 114 "standard.mly" ( [] ) -# 17232 "parser_cocci_menhir.ml" +# 17281 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17258,7 +17307,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_ctype__ = # 116 "standard.mly" ( x :: xs ) -# 17262 "parser_cocci_menhir.ml" +# 17311 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17275,7 +17324,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_decl_var__ = # 114 "standard.mly" ( [] ) -# 17279 "parser_cocci_menhir.ml" +# 17328 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17305,7 +17354,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_decl_var__ = # 116 "standard.mly" ( x :: xs ) -# 17309 "parser_cocci_menhir.ml" +# 17358 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17319,10 +17368,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_list_iso_dexpr__ = + let _v : 'tv_list_iso_eexpr__ = # 114 "standard.mly" ( [] ) -# 17326 "parser_cocci_menhir.ml" +# 17375 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17345,14 +17394,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_list_iso_dexpr__ = Obj.magic xs in - let x : 'tv_iso_dexpr_ = Obj.magic x in + let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in + let x : 'tv_iso_eexpr_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_list_iso_dexpr__ = + let _v : 'tv_list_iso_eexpr__ = # 116 "standard.mly" ( x :: xs ) -# 17356 "parser_cocci_menhir.ml" +# 17405 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17369,7 +17418,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_nest_start__ = # 114 "standard.mly" ( [] ) -# 17373 "parser_cocci_menhir.ml" +# 17422 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17399,7 +17448,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_nest_start__ = # 116 "standard.mly" ( x :: xs ) -# 17403 "parser_cocci_menhir.ml" +# 17452 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17416,7 +17465,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_single_statement__ = # 114 "standard.mly" ( [] ) -# 17420 "parser_cocci_menhir.ml" +# 17469 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17446,7 +17495,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_single_statement__ = # 116 "standard.mly" ( x :: xs ) -# 17450 "parser_cocci_menhir.ml" +# 17499 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17463,7 +17512,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_ctype__ = # 114 "standard.mly" ( [] ) -# 17467 "parser_cocci_menhir.ml" +# 17516 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17493,7 +17542,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_ctype__ = # 116 "standard.mly" ( x :: xs ) -# 17497 "parser_cocci_menhir.ml" +# 17546 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17510,7 +17559,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_eexpr__ = # 114 "standard.mly" ( [] ) -# 17514 "parser_cocci_menhir.ml" +# 17563 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17540,7 +17589,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_eexpr__ = # 116 "standard.mly" ( x :: xs ) -# 17544 "parser_cocci_menhir.ml" +# 17593 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17557,7 +17606,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_after_dots_or__ = # 114 "standard.mly" ( [] ) -# 17561 "parser_cocci_menhir.ml" +# 17610 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17587,7 +17636,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_after_dots_or__ = # 116 "standard.mly" ( x :: xs ) -# 17591 "parser_cocci_menhir.ml" +# 17640 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17604,7 +17653,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_start__ = # 114 "standard.mly" ( [] ) -# 17608 "parser_cocci_menhir.ml" +# 17657 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17634,7 +17683,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_start__ = # 116 "standard.mly" ( x :: xs ) -# 17638 "parser_cocci_menhir.ml" +# 17687 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17651,7 +17700,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_rule_elem_statement__ = # 114 "standard.mly" ( [] ) -# 17655 "parser_cocci_menhir.ml" +# 17704 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17681,7 +17730,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_rule_elem_statement__ = # 116 "standard.mly" ( x :: xs ) -# 17685 "parser_cocci_menhir.ml" +# 17734 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17698,7 +17747,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_statement__ = # 114 "standard.mly" ( [] ) -# 17702 "parser_cocci_menhir.ml" +# 17751 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17728,7 +17777,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_statement__ = # 116 "standard.mly" ( x :: xs ) -# 17732 "parser_cocci_menhir.ml" +# 17781 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17745,7 +17794,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = # 114 "standard.mly" ( [] ) -# 17749 "parser_cocci_menhir.ml" +# 17798 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17784,13 +17833,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 70 "standard.mly" ( (x, y) ) -# 17788 "parser_cocci_menhir.ml" +# 17837 "parser_cocci_menhir.ml" in # 116 "standard.mly" ( x :: xs ) -# 17794 "parser_cocci_menhir.ml" +# 17843 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17807,7 +17856,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_whenppdecs_ = # 114 "standard.mly" ( [] ) -# 17811 "parser_cocci_menhir.ml" +# 17860 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17837,7 +17886,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_whenppdecs_ = # 116 "standard.mly" ( x :: xs ) -# 17841 "parser_cocci_menhir.ml" +# 17890 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17854,7 +17903,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_choose_iso_ = # 57 "standard.mly" ( [] ) -# 17858 "parser_cocci_menhir.ml" +# 17907 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17878,7 +17927,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_choose_iso_ = # 59 "standard.mly" ( x ) -# 17882 "parser_cocci_menhir.ml" +# 17931 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17895,7 +17944,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_disable_ = # 57 "standard.mly" ( [] ) -# 17899 "parser_cocci_menhir.ml" +# 17948 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17919,7 +17968,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_disable_ = # 59 "standard.mly" ( x ) -# 17923 "parser_cocci_menhir.ml" +# 17972 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17936,7 +17985,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_filespec_ = # 57 "standard.mly" ( [] ) -# 17940 "parser_cocci_menhir.ml" +# 17989 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17960,7 +18009,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_filespec_ = # 59 "standard.mly" ( x ) -# 17964 "parser_cocci_menhir.ml" +# 18013 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17977,7 +18026,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_minus_start_ = # 57 "standard.mly" ( [] ) -# 17981 "parser_cocci_menhir.ml" +# 18030 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18001,7 +18050,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_minus_start_ = # 59 "standard.mly" ( x ) -# 18005 "parser_cocci_menhir.ml" +# 18054 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18018,7 +18067,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_ceq_ = # 57 "standard.mly" ( [] ) -# 18022 "parser_cocci_menhir.ml" +# 18071 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18042,7 +18091,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_ceq_ = # 59 "standard.mly" ( x ) -# 18046 "parser_cocci_menhir.ml" +# 18095 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18059,7 +18108,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_pos_ = # 57 "standard.mly" ( [] ) -# 18063 "parser_cocci_menhir.ml" +# 18112 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18083,7 +18132,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_pos_ = # 59 "standard.mly" ( x ) -# 18087 "parser_cocci_menhir.ml" +# 18136 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18100,7 +18149,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_plus_start_ = # 57 "standard.mly" ( [] ) -# 18104 "parser_cocci_menhir.ml" +# 18153 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18124,7 +18173,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_plus_start_ = # 59 "standard.mly" ( x ) -# 18128 "parser_cocci_menhir.ml" +# 18177 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18146,9 +18195,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_meta_exp_type = -# 485 "parser_cocci_menhir.mly" +# 486 "parser_cocci_menhir.mly" ( [Ast0_cocci.ast0_type_to_type t] ) -# 18152 "parser_cocci_menhir.ml" +# 18201 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18184,11 +18233,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_meta_exp_type = -# 487 "parser_cocci_menhir.mly" +# 488 "parser_cocci_menhir.mly" ( List.map (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m) t ) -# 18192 "parser_cocci_menhir.ml" +# 18241 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18219,14 +18268,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 47 "parser_cocci_menhir.mly" (string) -# 18223 "parser_cocci_menhir.ml" +# 18272 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1442 "parser_cocci_menhir.mly" +# 1443 "parser_cocci_menhir.mly" ( (Some _1,P.id2name _3) ) -# 18230 "parser_cocci_menhir.ml" +# 18279 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18257,14 +18306,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 47 "parser_cocci_menhir.mly" (string) -# 18261 "parser_cocci_menhir.ml" +# 18310 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1443 "parser_cocci_menhir.mly" +# 1444 "parser_cocci_menhir.mly" ( (Some _1,_3) ) -# 18268 "parser_cocci_menhir.ml" +# 18317 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18286,13 +18335,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : ( -# 157 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 18292 "parser_cocci_menhir.ml" +# 18341 "parser_cocci_menhir.ml" ) = -# 181 "parser_cocci_menhir.mly" +# 182 "parser_cocci_menhir.mly" ( m (!Ast0.rule_name) ) -# 18296 "parser_cocci_menhir.ml" +# 18345 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18335,17 +18384,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 338 "parser_cocci_menhir.mly" +# 339 "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) ) -# 18343 "parser_cocci_menhir.ml" +# 18392 "parser_cocci_menhir.ml" in -# 270 "parser_cocci_menhir.mly" +# 271 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18349 "parser_cocci_menhir.ml" +# 18398 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18392,17 +18441,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 342 "parser_cocci_menhir.mly" +# 343 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaParamListDecl(arity,name,None)) in !Data.add_paramlist_meta name None pure; tok) ) -# 18400 "parser_cocci_menhir.ml" +# 18449 "parser_cocci_menhir.ml" in -# 270 "parser_cocci_menhir.mly" +# 271 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18406 "parser_cocci_menhir.ml" +# 18455 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18449,17 +18498,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 346 "parser_cocci_menhir.mly" +# 347 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaExpListDecl(arity,name,None)) in !Data.add_explist_meta name None pure; tok) ) -# 18457 "parser_cocci_menhir.ml" +# 18506 "parser_cocci_menhir.ml" in -# 270 "parser_cocci_menhir.mly" +# 271 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18463 "parser_cocci_menhir.ml" +# 18512 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18502,17 +18551,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 350 "parser_cocci_menhir.mly" +# 351 "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) ) -# 18510 "parser_cocci_menhir.ml" +# 18559 "parser_cocci_menhir.ml" in -# 270 "parser_cocci_menhir.mly" +# 271 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18516 "parser_cocci_menhir.ml" +# 18565 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18555,17 +18604,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 354 "parser_cocci_menhir.mly" +# 355 "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) ) -# 18563 "parser_cocci_menhir.ml" +# 18612 "parser_cocci_menhir.ml" in -# 270 "parser_cocci_menhir.mly" +# 271 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18569 "parser_cocci_menhir.ml" +# 18618 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18608,17 +18657,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 358 "parser_cocci_menhir.mly" +# 359 "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) ) -# 18616 "parser_cocci_menhir.ml" +# 18665 "parser_cocci_menhir.ml" in -# 270 "parser_cocci_menhir.mly" +# 271 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18622 "parser_cocci_menhir.ml" +# 18671 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18665,17 +18714,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 362 "parser_cocci_menhir.mly" +# 363 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in !Data.add_stmlist_meta name pure; tok) ) -# 18673 "parser_cocci_menhir.ml" +# 18722 "parser_cocci_menhir.ml" in -# 270 "parser_cocci_menhir.mly" +# 271 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18679 "parser_cocci_menhir.ml" +# 18728 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18718,18 +18767,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 366 "parser_cocci_menhir.mly" +# 367 "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")) ) -# 18727 "parser_cocci_menhir.ml" +# 18776 "parser_cocci_menhir.ml" in -# 270 "parser_cocci_menhir.mly" +# 271 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18733 "parser_cocci_menhir.ml" +# 18782 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18776,18 +18825,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 371 "parser_cocci_menhir.mly" +# 372 "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")) ) -# 18785 "parser_cocci_menhir.ml" +# 18834 "parser_cocci_menhir.ml" in -# 270 "parser_cocci_menhir.mly" +# 271 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18791 "parser_cocci_menhir.ml" +# 18840 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18834,18 +18883,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 376 "parser_cocci_menhir.mly" +# 377 "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")) ) -# 18843 "parser_cocci_menhir.ml" +# 18892 "parser_cocci_menhir.ml" in -# 270 "parser_cocci_menhir.mly" +# 271 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18849 "parser_cocci_menhir.ml" +# 18898 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18880,17 +18929,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__4_ in let _v : 'tv_metadec = let kindfn = -# 331 "parser_cocci_menhir.mly" +# 332 "parser_cocci_menhir.mly" ( (fun name check_meta seed -> let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in !Data.add_fresh_id_meta name; tok) ) -# 18888 "parser_cocci_menhir.ml" +# 18937 "parser_cocci_menhir.ml" in -# 273 "parser_cocci_menhir.mly" +# 274 "parser_cocci_menhir.mly" ( P.create_fresh_metadec kindfn ids ) -# 18894 "parser_cocci_menhir.ml" +# 18943 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18933,7 +18982,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 383 "parser_cocci_menhir.mly" +# 384 "parser_cocci_menhir.mly" ( let idfn arity name pure check_meta constraints = let tok = check_meta(Ast.MetaIdDecl(arity,name)) in @@ -18947,17 +18996,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let tok = check_meta(Ast.MetaIdDecl(arity,name)) in !Data.add_virt_id_meta_not_found name pure; tok in (idfn,virtfn) ) -# 18951 "parser_cocci_menhir.ml" +# 19000 "parser_cocci_menhir.ml" in -# 279 "parser_cocci_menhir.mly" +# 280 "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) ) -# 18961 "parser_cocci_menhir.ml" +# 19010 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19000,17 +19049,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 399 "parser_cocci_menhir.mly" +# 400 "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) ) -# 19008 "parser_cocci_menhir.ml" +# 19057 "parser_cocci_menhir.ml" in -# 288 "parser_cocci_menhir.mly" +# 289 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19014 "parser_cocci_menhir.ml" +# 19063 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19057,18 +19106,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 403 "parser_cocci_menhir.mly" +# 404 "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) ) -# 19066 "parser_cocci_menhir.ml" +# 19115 "parser_cocci_menhir.ml" in -# 288 "parser_cocci_menhir.mly" +# 289 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19072 "parser_cocci_menhir.ml" +# 19121 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19111,17 +19160,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 408 "parser_cocci_menhir.mly" +# 409 "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) ) -# 19119 "parser_cocci_menhir.ml" +# 19168 "parser_cocci_menhir.ml" in -# 288 "parser_cocci_menhir.mly" +# 289 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19125 "parser_cocci_menhir.ml" +# 19174 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19164,17 +19213,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 412 "parser_cocci_menhir.mly" +# 413 "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) ) -# 19172 "parser_cocci_menhir.ml" +# 19221 "parser_cocci_menhir.ml" in -# 288 "parser_cocci_menhir.mly" +# 289 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19178 "parser_cocci_menhir.ml" +# 19227 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19217,17 +19266,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 418 "parser_cocci_menhir.mly" +# 419 "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) ) -# 19225 "parser_cocci_menhir.ml" +# 19274 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 294 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19231 "parser_cocci_menhir.ml" +# 19280 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19280,11 +19329,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 19284 "parser_cocci_menhir.ml" +# 19333 "parser_cocci_menhir.ml" in -# 422 "parser_cocci_menhir.mly" +# 423 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -19293,13 +19342,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19297 "parser_cocci_menhir.ml" +# 19346 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 294 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19303 "parser_cocci_menhir.ml" +# 19352 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19360,11 +19409,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 19364 "parser_cocci_menhir.ml" +# 19413 "parser_cocci_menhir.ml" in -# 422 "parser_cocci_menhir.mly" +# 423 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -19373,13 +19422,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19377 "parser_cocci_menhir.ml" +# 19426 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 294 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19383 "parser_cocci_menhir.ml" +# 19432 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19436,7 +19485,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m = m0 in let l = l0 in -# 431 "parser_cocci_menhir.mly" +# 432 "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 @@ -19446,13 +19495,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19450 "parser_cocci_menhir.ml" +# 19499 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 294 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19456 "parser_cocci_menhir.ml" +# 19505 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19502,18 +19551,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let m = m0 in -# 441 "parser_cocci_menhir.mly" +# 442 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in !Data.add_exp_meta ty name constraints pure; tok) ) -# 19511 "parser_cocci_menhir.ml" +# 19560 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 294 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19517 "parser_cocci_menhir.ml" +# 19566 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19567,18 +19616,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let vl = vl0 in -# 446 "parser_cocci_menhir.mly" +# 447 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in !Data.add_exp_meta ty name constraints pure; tok) ) -# 19576 "parser_cocci_menhir.ml" +# 19625 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 294 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19582 "parser_cocci_menhir.ml" +# 19631 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19624,21 +19673,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 19628 "parser_cocci_menhir.ml" +# 19677 "parser_cocci_menhir.ml" in -# 451 "parser_cocci_menhir.mly" +# 452 "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) ) -# 19636 "parser_cocci_menhir.ml" +# 19685 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 294 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19642 "parser_cocci_menhir.ml" +# 19691 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19692,21 +19741,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 19696 "parser_cocci_menhir.ml" +# 19745 "parser_cocci_menhir.ml" in -# 451 "parser_cocci_menhir.mly" +# 452 "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) ) -# 19704 "parser_cocci_menhir.ml" +# 19753 "parser_cocci_menhir.ml" in -# 293 "parser_cocci_menhir.mly" +# 294 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19710 "parser_cocci_menhir.ml" +# 19759 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19749,17 +19798,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 457 "parser_cocci_menhir.mly" +# 458 "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 (Ast0.NotExpCstrt constraints) pure; tok) ) -# 19757 "parser_cocci_menhir.ml" +# 19806 "parser_cocci_menhir.ml" in -# 297 "parser_cocci_menhir.mly" +# 298 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19763 "parser_cocci_menhir.ml" +# 19812 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19805,7 +19854,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let vl = vl0 in -# 461 "parser_cocci_menhir.mly" +# 462 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some vl in List.iter @@ -19826,13 +19875,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in !Data.add_exp_meta ty name (Ast0.NotExpCstrt constraints) pure; tok) ) -# 19830 "parser_cocci_menhir.ml" +# 19879 "parser_cocci_menhir.ml" in -# 297 "parser_cocci_menhir.mly" +# 298 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19836 "parser_cocci_menhir.ml" +# 19885 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19874,7 +19923,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__5_ in let _v : 'tv_metadec = -# 303 "parser_cocci_menhir.mly" +# 304 "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 = @@ -19882,7 +19931,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 ) -# 19886 "parser_cocci_menhir.ml" +# 19935 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19942,14 +19991,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 313 "parser_cocci_menhir.mly" +# 314 "parser_cocci_menhir.mly" ( P.create_len_metadec ar ispure (fun lenname arity name pure check_meta -> let tok = check_meta(Ast.MetaParamListDecl(arity,name,Some lenname)) in !Data.add_paramlist_meta name (Some lenname) pure; tok) id ids ) -# 19953 "parser_cocci_menhir.ml" +# 20002 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20009,14 +20058,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 322 "parser_cocci_menhir.mly" +# 323 "parser_cocci_menhir.mly" ( P.create_len_metadec ar ispure (fun lenname arity name pure check_meta -> let tok = check_meta(Ast.MetaExpListDecl(arity,name,Some lenname)) in !Data.add_explist_meta name (Some lenname) pure; tok) id ids ) -# 20020 "parser_cocci_menhir.ml" +# 20069 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20044,9 +20093,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_ctype_ctype_ = -# 1918 "parser_cocci_menhir.mly" +# 1919 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20050 "parser_cocci_menhir.ml" +# 20099 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20074,9 +20123,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_eexpr_eexpr_ = -# 1918 "parser_cocci_menhir.mly" +# 1919 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20080 "parser_cocci_menhir.ml" +# 20129 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20104,9 +20153,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_expr_eexpr_ = -# 1918 "parser_cocci_menhir.mly" +# 1919 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20110 "parser_cocci_menhir.ml" +# 20159 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20134,9 +20183,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = -# 1918 "parser_cocci_menhir.mly" +# 1919 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20140 "parser_cocci_menhir.ml" +# 20189 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20164,9 +20213,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_fun_start_fun_start_ = -# 1918 "parser_cocci_menhir.mly" +# 1919 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20170 "parser_cocci_menhir.ml" +# 20219 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20194,9 +20243,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = -# 1918 "parser_cocci_menhir.mly" +# 1919 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20200 "parser_cocci_menhir.ml" +# 20249 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20224,9 +20273,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_statement_statement_ = -# 1918 "parser_cocci_menhir.mly" +# 1919 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20230 "parser_cocci_menhir.ml" +# 20279 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20254,11 +20303,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_body = -# 629 "parser_cocci_menhir.mly" +# 630 "parser_cocci_menhir.mly" ( match f@b(*@ew*) with [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") | code -> Top_level.top_level code ) -# 20262 "parser_cocci_menhir.ml" +# 20311 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20286,11 +20335,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_exp_body = -# 643 "parser_cocci_menhir.mly" +# 644 "parser_cocci_menhir.mly" ( match f@[b](*@ew*) with [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") | code -> Top_level.top_level code ) -# 20294 "parser_cocci_menhir.ml" +# 20343 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20316,13 +20365,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 137 "parser_cocci_menhir.mly" +# 138 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 20322 "parser_cocci_menhir.ml" +# 20371 "parser_cocci_menhir.ml" ) = -# 177 "parser_cocci_menhir.mly" +# 178 "parser_cocci_menhir.mly" ( _1 ) -# 20326 "parser_cocci_menhir.ml" +# 20375 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20348,13 +20397,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 137 "parser_cocci_menhir.mly" +# 138 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 20354 "parser_cocci_menhir.ml" +# 20403 "parser_cocci_menhir.ml" ) = -# 177 "parser_cocci_menhir.mly" +# 178 "parser_cocci_menhir.mly" ( m ) -# 20358 "parser_cocci_menhir.ml" +# 20407 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20380,13 +20429,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 137 "parser_cocci_menhir.mly" +# 138 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 20386 "parser_cocci_menhir.ml" +# 20435 "parser_cocci_menhir.ml" ) = -# 178 "parser_cocci_menhir.mly" +# 179 "parser_cocci_menhir.mly" ( m ) -# 20390 "parser_cocci_menhir.ml" +# 20439 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20412,13 +20461,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 134 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 20418 "parser_cocci_menhir.ml" +# 20467 "parser_cocci_menhir.ml" ) = -# 173 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" ( _1 ) -# 20422 "parser_cocci_menhir.ml" +# 20471 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20444,13 +20493,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 134 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 20450 "parser_cocci_menhir.ml" +# 20499 "parser_cocci_menhir.ml" ) = -# 173 "parser_cocci_menhir.mly" +# 174 "parser_cocci_menhir.mly" ( m ) -# 20454 "parser_cocci_menhir.ml" +# 20503 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20476,13 +20525,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 134 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 20482 "parser_cocci_menhir.ml" +# 20531 "parser_cocci_menhir.ml" ) = -# 174 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" ( m ) -# 20486 "parser_cocci_menhir.ml" +# 20535 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20504,9 +20553,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1727 "parser_cocci_menhir.mly" +# 1728 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.DECL(_1))] ) -# 20510 "parser_cocci_menhir.ml" +# 20559 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20528,9 +20577,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1728 "parser_cocci_menhir.mly" +# 1729 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) -# 20534 "parser_cocci_menhir.ml" +# 20583 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20552,9 +20601,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1729 "parser_cocci_menhir.mly" +# 1730 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) -# 20558 "parser_cocci_menhir.ml" +# 20607 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20576,9 +20625,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1731 "parser_cocci_menhir.mly" +# 1732 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 ) -# 20582 "parser_cocci_menhir.ml" +# 20631 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20603,16 +20652,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_ctype = Obj.magic b in let a : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 20609 "parser_cocci_menhir.ml" +# 20658 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_ctype_ = -# 1921 "parser_cocci_menhir.mly" +# 1922 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 20616 "parser_cocci_menhir.ml" +# 20665 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20637,16 +20686,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_eexpr = Obj.magic b in let a : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 20643 "parser_cocci_menhir.ml" +# 20692 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_eexpr_ = -# 1921 "parser_cocci_menhir.mly" +# 1922 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 20650 "parser_cocci_menhir.ml" +# 20699 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20671,16 +20720,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_fun_after_dots_or = Obj.magic b in let a : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 20677 "parser_cocci_menhir.ml" +# 20726 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_fun_after_dots_or_ = -# 1921 "parser_cocci_menhir.mly" +# 1922 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 20684 "parser_cocci_menhir.ml" +# 20733 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20705,16 +20754,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_fun_start = Obj.magic b in let a : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 20711 "parser_cocci_menhir.ml" +# 20760 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_fun_start_ = -# 1921 "parser_cocci_menhir.mly" +# 1922 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 20718 "parser_cocci_menhir.ml" +# 20767 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20739,16 +20788,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_rule_elem_statement = Obj.magic b in let a : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 20745 "parser_cocci_menhir.ml" +# 20794 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_rule_elem_statement_ = -# 1921 "parser_cocci_menhir.mly" +# 1922 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 20752 "parser_cocci_menhir.ml" +# 20801 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20773,16 +20822,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_statement = Obj.magic b in let a : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 20779 "parser_cocci_menhir.ml" +# 20828 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_statement_ = -# 1921 "parser_cocci_menhir.mly" +# 1922 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 20786 "parser_cocci_menhir.ml" +# 20835 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20804,9 +20853,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_name_opt_decl = -# 852 "parser_cocci_menhir.mly" +# 853 "parser_cocci_menhir.mly" ( _1 ) -# 20810 "parser_cocci_menhir.ml" +# 20859 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20855,43 +20904,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 20861 "parser_cocci_menhir.ml" +# 20910 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 20867 "parser_cocci_menhir.ml" +# 20916 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 20872 "parser_cocci_menhir.ml" +# 20921 "parser_cocci_menhir.ml" ) = Obj.magic rp in let s : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 20877 "parser_cocci_menhir.ml" +# 20926 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 20882 "parser_cocci_menhir.ml" +# 20931 "parser_cocci_menhir.ml" ) = Obj.magic lp in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_rp1_ in let _v : 'tv_name_opt_decl = -# 855 "parser_cocci_menhir.mly" +# 856 "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)) ) -# 20895 "parser_cocci_menhir.ml" +# 20944 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20919,9 +20968,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1842 "parser_cocci_menhir.mly" +# 1843 "parser_cocci_menhir.mly" (_1@_2) -# 20925 "parser_cocci_menhir.ml" +# 20974 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20947,9 +20996,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1843 "parser_cocci_menhir.mly" +# 1844 "parser_cocci_menhir.mly" (_2) -# 20953 "parser_cocci_menhir.ml" +# 21002 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20977,9 +21026,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1844 "parser_cocci_menhir.mly" +# 1845 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 20983 "parser_cocci_menhir.ml" +# 21032 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20994,9 +21043,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_nest_after_exp = -# 1852 "parser_cocci_menhir.mly" +# 1853 "parser_cocci_menhir.mly" ([]) -# 21000 "parser_cocci_menhir.ml" +# 21049 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21024,9 +21073,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_exp = -# 1853 "parser_cocci_menhir.mly" +# 1854 "parser_cocci_menhir.mly" (_1::_2) -# 21030 "parser_cocci_menhir.ml" +# 21079 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21041,9 +21090,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_nest_after_stm = -# 1847 "parser_cocci_menhir.mly" +# 1848 "parser_cocci_menhir.mly" ([]) -# 21047 "parser_cocci_menhir.ml" +# 21096 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21071,9 +21120,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 1848 "parser_cocci_menhir.mly" +# 1849 "parser_cocci_menhir.mly" (_1::_2) -# 21077 "parser_cocci_menhir.ml" +# 21126 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21101,9 +21150,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 1849 "parser_cocci_menhir.mly" +# 1850 "parser_cocci_menhir.mly" (_1@_2) -# 21107 "parser_cocci_menhir.ml" +# 21156 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21132,24 +21181,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 21138 "parser_cocci_menhir.ml" +# 21187 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 21144 "parser_cocci_menhir.ml" +# 21193 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1241 "parser_cocci_menhir.mly" +# 1242 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...>" c, None, false)) ) -# 21153 "parser_cocci_menhir.ml" +# 21202 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21178,24 +21227,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 21184 "parser_cocci_menhir.ml" +# 21233 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 21190 "parser_cocci_menhir.ml" +# 21239 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1245 "parser_cocci_menhir.mly" +# 1246 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...+>" c, None, true)) ) -# 21199 "parser_cocci_menhir.ml" +# 21248 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21217,9 +21266,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nest_start = -# 1839 "parser_cocci_menhir.mly" +# 1840 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 21223 "parser_cocci_menhir.ml" +# 21272 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21239,13 +21288,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : ( -# 168 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (unit) -# 21245 "parser_cocci_menhir.ml" +# 21294 "parser_cocci_menhir.ml" ) = -# 1984 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( () ) -# 21249 "parser_cocci_menhir.ml" +# 21298 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21269,13 +21318,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 168 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (unit) -# 21275 "parser_cocci_menhir.ml" +# 21324 "parser_cocci_menhir.ml" ) = -# 1985 "parser_cocci_menhir.mly" +# 1990 "parser_cocci_menhir.mly" ( () ) -# 21279 "parser_cocci_menhir.ml" +# 21328 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21295,13 +21344,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : ( -# 168 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (unit) -# 21301 "parser_cocci_menhir.ml" +# 21350 "parser_cocci_menhir.ml" ) = -# 1986 "parser_cocci_menhir.mly" +# 1991 "parser_cocci_menhir.mly" ( () ) -# 21305 "parser_cocci_menhir.ml" +# 21354 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21329,10 +21378,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_g_ in let _endpos = _endpos_dg_ in let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = -# 1409 "parser_cocci_menhir.mly" +# 1410 "parser_cocci_menhir.mly" ( function dot_builder -> g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) ) -# 21336 "parser_cocci_menhir.ml" +# 21385 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21351,16 +21400,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let x : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 21357 "parser_cocci_menhir.ml" +# 21406 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : 'tv_nonempty_list_TMul_ = # 124 "standard.mly" ( [ x ] ) -# 21364 "parser_cocci_menhir.ml" +# 21413 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21385,16 +21434,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in let x : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 21391 "parser_cocci_menhir.ml" +# 21440 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in let _v : 'tv_nonempty_list_TMul_ = # 126 "standard.mly" ( x :: xs ) -# 21398 "parser_cocci_menhir.ml" +# 21447 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21420,13 +21469,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_ceq = -# 1560 "parser_cocci_menhir.mly" +# 1561 "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] ) -# 21430 "parser_cocci_menhir.ml" +# 21479 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21460,13 +21509,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_ceq = -# 1566 "parser_cocci_menhir.mly" +# 1567 "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 ) -# 21470 "parser_cocci_menhir.ml" +# 21519 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21492,14 +21541,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqe = -# 1541 "parser_cocci_menhir.mly" +# 1542 "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))))] ) -# 21503 "parser_cocci_menhir.ml" +# 21552 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21533,7 +21582,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqe = -# 1548 "parser_cocci_menhir.mly" +# 1549 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21543,7 +21592,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))) l ) -# 21547 "parser_cocci_menhir.ml" +# 21596 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21565,19 +21614,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let i : 'tv_pure_ident = Obj.magic i in + let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqid = -# 1520 "parser_cocci_menhir.mly" +# 1521 "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"); - Ast.IdNegIdSet([fst i]) ) -# 21581 "parser_cocci_menhir.ml" + Ast.IdNegIdSet([snd i]) ) +# 21630 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21607,18 +21656,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let l : 'tv_comma_list_pure_ident_ = Obj.magic l in + let l : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic l in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqid = -# 1528 "parser_cocci_menhir.mly" +# 1529 "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"); - Ast.IdNegIdSet(List.map fst l) + Ast.IdNegIdSet(List.map snd l) ) -# 21622 "parser_cocci_menhir.ml" +# 21671 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21644,7 +21693,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_pos = -# 1580 "parser_cocci_menhir.mly" +# 1581 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21655,7 +21704,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = (rule,name) in P.check_meta(Ast.MetaPosDecl(Ast.NONE,i)); [i] ) -# 21659 "parser_cocci_menhir.ml" +# 21708 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21689,7 +21738,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_pos = -# 1591 "parser_cocci_menhir.mly" +# 1592 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21703,7 +21752,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_meta(Ast.MetaPosDecl(Ast.NONE,i)); i) l ) -# 21707 "parser_cocci_menhir.ml" +# 21756 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21725,9 +21774,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1665 "parser_cocci_menhir.mly" +# 1666 "parser_cocci_menhir.mly" ( _1 ) -# 21731 "parser_cocci_menhir.ml" +# 21780 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21746,14 +21795,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 66 "parser_cocci_menhir.mly" +# 67 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 21752 "parser_cocci_menhir.ml" +# 21801 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1667 "parser_cocci_menhir.mly" +# 1668 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -21761,7 +21810,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Some nm -> Some(P.clt2mcode nm clt) | None -> None in Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) ) -# 21765 "parser_cocci_menhir.ml" +# 21814 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21783,9 +21832,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_name_opt_decl_ = -# 1665 "parser_cocci_menhir.mly" +# 1666 "parser_cocci_menhir.mly" ( _1 ) -# 21789 "parser_cocci_menhir.ml" +# 21838 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21804,14 +21853,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 66 "parser_cocci_menhir.mly" +# 67 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 21810 "parser_cocci_menhir.ml" +# 21859 "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_ = -# 1667 "parser_cocci_menhir.mly" +# 1668 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -21819,7 +21868,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Some nm -> Some(P.clt2mcode nm clt) | None -> None in Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) ) -# 21823 "parser_cocci_menhir.ml" +# 21872 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21843,17 +21892,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 21849 "parser_cocci_menhir.ml" +# 21898 "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 = -# 1030 "parser_cocci_menhir.mly" +# 1031 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) ) -# 21857 "parser_cocci_menhir.ml" +# 21906 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21882,9 +21931,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 21888 "parser_cocci_menhir.ml" +# 21937 "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 @@ -21894,14 +21943,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 21898 "parser_cocci_menhir.ml" +# 21947 "parser_cocci_menhir.ml" in -# 1032 "parser_cocci_menhir.mly" +# 1033 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 21905 "parser_cocci_menhir.ml" +# 21954 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21935,9 +21984,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 21941 "parser_cocci_menhir.ml" +# 21990 "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 @@ -21949,14 +21998,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 21953 "parser_cocci_menhir.ml" +# 22002 "parser_cocci_menhir.ml" in -# 1032 "parser_cocci_menhir.mly" +# 1033 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 21960 "parser_cocci_menhir.ml" +# 22009 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21978,9 +22027,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_one_decl_var = -# 1034 "parser_cocci_menhir.mly" +# 1035 "parser_cocci_menhir.mly" ( f ) -# 21984 "parser_cocci_menhir.ml" +# 22033 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22019,15 +22068,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22025 "parser_cocci_menhir.ml" +# 22074 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22031 "parser_cocci_menhir.ml" +# 22080 "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 @@ -22037,14 +22086,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22041 "parser_cocci_menhir.ml" +# 22090 "parser_cocci_menhir.ml" in -# 1036 "parser_cocci_menhir.mly" +# 1037 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 22048 "parser_cocci_menhir.ml" +# 22097 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22088,15 +22137,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22094 "parser_cocci_menhir.ml" +# 22143 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22100 "parser_cocci_menhir.ml" +# 22149 "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 @@ -22108,14 +22157,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22112 "parser_cocci_menhir.ml" +# 22161 "parser_cocci_menhir.ml" in -# 1036 "parser_cocci_menhir.mly" +# 1037 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 22119 "parser_cocci_menhir.ml" +# 22168 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22144,9 +22193,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22150 "parser_cocci_menhir.ml" +# 22199 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22156,22 +22205,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22160 "parser_cocci_menhir.ml" +# 22209 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22167 "parser_cocci_menhir.ml" +# 22216 "parser_cocci_menhir.ml" in -# 1041 "parser_cocci_menhir.mly" +# 1042 "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)) ) -# 22175 "parser_cocci_menhir.ml" +# 22224 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22205,9 +22254,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22211 "parser_cocci_menhir.ml" +# 22260 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22219,22 +22268,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22223 "parser_cocci_menhir.ml" +# 22272 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22230 "parser_cocci_menhir.ml" +# 22279 "parser_cocci_menhir.ml" in -# 1041 "parser_cocci_menhir.mly" +# 1042 "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)) ) -# 22238 "parser_cocci_menhir.ml" +# 22287 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22268,9 +22317,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22274 "parser_cocci_menhir.ml" +# 22323 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22281,7 +22330,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22285 "parser_cocci_menhir.ml" +# 22334 "parser_cocci_menhir.ml" in let s = @@ -22289,15 +22338,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22293 "parser_cocci_menhir.ml" +# 22342 "parser_cocci_menhir.ml" in -# 1041 "parser_cocci_menhir.mly" +# 1042 "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)) ) -# 22301 "parser_cocci_menhir.ml" +# 22350 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22336,9 +22385,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22342 "parser_cocci_menhir.ml" +# 22391 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22351,7 +22400,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22355 "parser_cocci_menhir.ml" +# 22404 "parser_cocci_menhir.ml" in let s = @@ -22359,15 +22408,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22363 "parser_cocci_menhir.ml" +# 22412 "parser_cocci_menhir.ml" in -# 1041 "parser_cocci_menhir.mly" +# 1042 "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)) ) -# 22371 "parser_cocci_menhir.ml" +# 22420 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22406,15 +22455,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22412 "parser_cocci_menhir.ml" +# 22461 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22418 "parser_cocci_menhir.ml" +# 22467 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22424,24 +22473,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22428 "parser_cocci_menhir.ml" +# 22477 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22435 "parser_cocci_menhir.ml" +# 22484 "parser_cocci_menhir.ml" in -# 1046 "parser_cocci_menhir.mly" +# 1047 "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)) ) -# 22445 "parser_cocci_menhir.ml" +# 22494 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22485,15 +22534,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22491 "parser_cocci_menhir.ml" +# 22540 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22497 "parser_cocci_menhir.ml" +# 22546 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22505,24 +22554,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22509 "parser_cocci_menhir.ml" +# 22558 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22516 "parser_cocci_menhir.ml" +# 22565 "parser_cocci_menhir.ml" in -# 1046 "parser_cocci_menhir.mly" +# 1047 "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)) ) -# 22526 "parser_cocci_menhir.ml" +# 22575 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22566,15 +22615,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22572 "parser_cocci_menhir.ml" +# 22621 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22578 "parser_cocci_menhir.ml" +# 22627 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22585,7 +22634,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22589 "parser_cocci_menhir.ml" +# 22638 "parser_cocci_menhir.ml" in let s = @@ -22593,17 +22642,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22597 "parser_cocci_menhir.ml" +# 22646 "parser_cocci_menhir.ml" in -# 1046 "parser_cocci_menhir.mly" +# 1047 "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)) ) -# 22607 "parser_cocci_menhir.ml" +# 22656 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22652,15 +22701,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22658 "parser_cocci_menhir.ml" +# 22707 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22664 "parser_cocci_menhir.ml" +# 22713 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22673,7 +22722,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22677 "parser_cocci_menhir.ml" +# 22726 "parser_cocci_menhir.ml" in let s = @@ -22681,17 +22730,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22685 "parser_cocci_menhir.ml" +# 22734 "parser_cocci_menhir.ml" in -# 1046 "parser_cocci_menhir.mly" +# 1047 "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)) ) -# 22695 "parser_cocci_menhir.ml" +# 22744 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22750,36 +22799,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22756 "parser_cocci_menhir.ml" +# 22805 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 22761 "parser_cocci_menhir.ml" +# 22810 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 22767 "parser_cocci_menhir.ml" +# 22816 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 22772 "parser_cocci_menhir.ml" +# 22821 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 22778 "parser_cocci_menhir.ml" +# 22827 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 22783 "parser_cocci_menhir.ml" +# 22832 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -22788,11 +22837,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22792 "parser_cocci_menhir.ml" +# 22841 "parser_cocci_menhir.ml" in -# 1056 "parser_cocci_menhir.mly" +# 1057 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -22800,7 +22849,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 22804 "parser_cocci_menhir.ml" +# 22853 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22864,36 +22913,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22870 "parser_cocci_menhir.ml" +# 22919 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 22875 "parser_cocci_menhir.ml" +# 22924 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 22881 "parser_cocci_menhir.ml" +# 22930 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 22886 "parser_cocci_menhir.ml" +# 22935 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 22892 "parser_cocci_menhir.ml" +# 22941 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 22897 "parser_cocci_menhir.ml" +# 22946 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -22904,11 +22953,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22908 "parser_cocci_menhir.ml" +# 22957 "parser_cocci_menhir.ml" in -# 1056 "parser_cocci_menhir.mly" +# 1057 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -22916,7 +22965,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 22920 "parser_cocci_menhir.ml" +# 22969 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22955,29 +23004,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 22961 "parser_cocci_menhir.ml" +# 23010 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 22966 "parser_cocci_menhir.ml" +# 23015 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 22972 "parser_cocci_menhir.ml" +# 23021 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_decl_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_one_decl_var = -# 1064 "parser_cocci_menhir.mly" +# 1065 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5)) ) -# 22981 "parser_cocci_menhir.ml" +# 23030 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23046,42 +23095,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 23052 "parser_cocci_menhir.ml" +# 23101 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 23058 "parser_cocci_menhir.ml" +# 23107 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 23063 "parser_cocci_menhir.ml" +# 23112 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 23069 "parser_cocci_menhir.ml" +# 23118 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 23074 "parser_cocci_menhir.ml" +# 23123 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 23080 "parser_cocci_menhir.ml" +# 23129 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 23085 "parser_cocci_menhir.ml" +# 23134 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -23090,11 +23139,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 23094 "parser_cocci_menhir.ml" +# 23143 "parser_cocci_menhir.ml" in -# 1070 "parser_cocci_menhir.mly" +# 1071 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -23102,7 +23151,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))) -# 23106 "parser_cocci_menhir.ml" +# 23155 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23176,42 +23225,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 23182 "parser_cocci_menhir.ml" +# 23231 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 23188 "parser_cocci_menhir.ml" +# 23237 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 23193 "parser_cocci_menhir.ml" +# 23242 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 23199 "parser_cocci_menhir.ml" +# 23248 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 23204 "parser_cocci_menhir.ml" +# 23253 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 23210 "parser_cocci_menhir.ml" +# 23259 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 23215 "parser_cocci_menhir.ml" +# 23264 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -23222,11 +23271,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 23226 "parser_cocci_menhir.ml" +# 23275 "parser_cocci_menhir.ml" in -# 1070 "parser_cocci_menhir.mly" +# 1071 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -23234,7 +23283,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))) -# 23238 "parser_cocci_menhir.ml" +# 23287 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23251,7 +23300,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 29 "standard.mly" ( None ) -# 23255 "parser_cocci_menhir.ml" +# 23304 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23275,7 +23324,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 31 "standard.mly" ( Some x ) -# 23279 "parser_cocci_menhir.ml" +# 23328 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23292,7 +23341,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 29 "standard.mly" ( None ) -# 23296 "parser_cocci_menhir.ml" +# 23345 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23316,7 +23365,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 31 "standard.mly" ( Some x ) -# 23320 "parser_cocci_menhir.ml" +# 23369 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23333,7 +23382,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 29 "standard.mly" ( None ) -# 23337 "parser_cocci_menhir.ml" +# 23386 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23357,7 +23406,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 31 "standard.mly" ( Some x ) -# 23361 "parser_cocci_menhir.ml" +# 23410 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23374,7 +23423,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqe_ = # 29 "standard.mly" ( None ) -# 23378 "parser_cocci_menhir.ml" +# 23427 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23398,7 +23447,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqe_ = # 31 "standard.mly" ( Some x ) -# 23402 "parser_cocci_menhir.ml" +# 23451 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23415,7 +23464,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqid_ = # 29 "standard.mly" ( None ) -# 23419 "parser_cocci_menhir.ml" +# 23468 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23439,7 +23488,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqid_ = # 31 "standard.mly" ( Some x ) -# 23443 "parser_cocci_menhir.ml" +# 23492 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23454,9 +23503,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_dots = -# 1789 "parser_cocci_menhir.mly" +# 1790 "parser_cocci_menhir.mly" ([]) -# 23460 "parser_cocci_menhir.ml" +# 23509 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23482,9 +23531,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1790 "parser_cocci_menhir.mly" +# 1791 "parser_cocci_menhir.mly" (_2) -# 23488 "parser_cocci_menhir.ml" +# 23537 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23512,9 +23561,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1792 "parser_cocci_menhir.mly" +# 1793 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 23518 "parser_cocci_menhir.ml" +# 23567 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23542,9 +23591,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1793 "parser_cocci_menhir.mly" +# 1794 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 23548 "parser_cocci_menhir.ml" +# 23597 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23572,9 +23621,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1795 "parser_cocci_menhir.mly" +# 1796 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 23578 "parser_cocci_menhir.ml" +# 23627 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23589,9 +23638,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_exp = -# 1785 "parser_cocci_menhir.mly" +# 1786 "parser_cocci_menhir.mly" ([]) -# 23595 "parser_cocci_menhir.ml" +# 23644 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23619,9 +23668,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_exp = -# 1786 "parser_cocci_menhir.mly" +# 1787 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 23625 "parser_cocci_menhir.ml" +# 23674 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23636,9 +23685,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_stm = -# 1798 "parser_cocci_menhir.mly" +# 1799 "parser_cocci_menhir.mly" ([]) -# 23642 "parser_cocci_menhir.ml" +# 23691 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23666,9 +23715,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1799 "parser_cocci_menhir.mly" +# 1800 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 23672 "parser_cocci_menhir.ml" +# 23721 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23696,9 +23745,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1800 "parser_cocci_menhir.mly" +# 1801 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 23702 "parser_cocci_menhir.ml" +# 23751 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23726,9 +23775,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1802 "parser_cocci_menhir.mly" +# 1803 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 23732 "parser_cocci_menhir.ml" +# 23781 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23756,9 +23805,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_body = -# 637 "parser_cocci_menhir.mly" +# 638 "parser_cocci_menhir.mly" ( Top_level.top_level (f@b(*@ew*)) ) -# 23762 "parser_cocci_menhir.ml" +# 23811 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23786,9 +23835,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_exp_body = -# 651 "parser_cocci_menhir.mly" +# 652 "parser_cocci_menhir.mly" ( Top_level.top_level (f@[b](*@ew*)) ) -# 23792 "parser_cocci_menhir.ml" +# 23841 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23814,13 +23863,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 143 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23820 "parser_cocci_menhir.ml" +# 23869 "parser_cocci_menhir.ml" ) = -# 179 "parser_cocci_menhir.mly" +# 180 "parser_cocci_menhir.mly" ( _1 ) -# 23824 "parser_cocci_menhir.ml" +# 23873 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23846,13 +23895,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 143 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23852 "parser_cocci_menhir.ml" +# 23901 "parser_cocci_menhir.ml" ) = -# 179 "parser_cocci_menhir.mly" +# 180 "parser_cocci_menhir.mly" ( p ) -# 23856 "parser_cocci_menhir.ml" +# 23905 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23878,13 +23927,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 143 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23884 "parser_cocci_menhir.ml" +# 23933 "parser_cocci_menhir.ml" ) = -# 180 "parser_cocci_menhir.mly" +# 181 "parser_cocci_menhir.mly" ( p ) -# 23888 "parser_cocci_menhir.ml" +# 23937 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23910,13 +23959,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 140 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23916 "parser_cocci_menhir.ml" +# 23965 "parser_cocci_menhir.ml" ) = -# 175 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" ( _1 ) -# 23920 "parser_cocci_menhir.ml" +# 23969 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23942,13 +23991,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 140 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23948 "parser_cocci_menhir.ml" +# 23997 "parser_cocci_menhir.ml" ) = -# 175 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" ( p ) -# 23952 "parser_cocci_menhir.ml" +# 24001 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23974,13 +24023,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 140 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23980 "parser_cocci_menhir.ml" +# 24029 "parser_cocci_menhir.ml" ) = -# 176 "parser_cocci_menhir.mly" +# 177 "parser_cocci_menhir.mly" ( p ) -# 23984 "parser_cocci_menhir.ml" +# 24033 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24002,9 +24051,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 1774 "parser_cocci_menhir.mly" +# 1775 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) -# 24008 "parser_cocci_menhir.ml" +# 24057 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24026,9 +24075,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 1775 "parser_cocci_menhir.mly" +# 1776 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) -# 24032 "parser_cocci_menhir.ml" +# 24081 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24056,9 +24105,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1777 "parser_cocci_menhir.mly" +# 1778 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 24062 "parser_cocci_menhir.ml" +# 24111 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24086,9 +24135,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1779 "parser_cocci_menhir.mly" +# 1780 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 24092 "parser_cocci_menhir.ml" +# 24141 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24116,9 +24165,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1780 "parser_cocci_menhir.mly" +# 1781 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 24122 "parser_cocci_menhir.ml" +# 24171 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24146,9 +24195,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1782 "parser_cocci_menhir.mly" +# 1783 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 24152 "parser_cocci_menhir.ml" +# 24201 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24169,14 +24218,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 47 "parser_cocci_menhir.mly" (string) -# 24173 "parser_cocci_menhir.ml" +# 24222 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pnrule = -# 230 "parser_cocci_menhir.mly" +# 231 "parser_cocci_menhir.mly" ( Ast.Dep _1 ) -# 24180 "parser_cocci_menhir.ml" +# 24229 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24201,14 +24250,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 47 "parser_cocci_menhir.mly" (string) -# 24205 "parser_cocci_menhir.ml" +# 24254 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 231 "parser_cocci_menhir.mly" +# 232 "parser_cocci_menhir.mly" ( Ast.AntiDep _2 ) -# 24212 "parser_cocci_menhir.ml" +# 24261 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24233,14 +24282,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 47 "parser_cocci_menhir.mly" (string) -# 24237 "parser_cocci_menhir.ml" +# 24286 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 232 "parser_cocci_menhir.mly" +# 233 "parser_cocci_menhir.mly" ( Ast.EverDep _2 ) -# 24244 "parser_cocci_menhir.ml" +# 24293 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24265,14 +24314,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 47 "parser_cocci_menhir.mly" (string) -# 24269 "parser_cocci_menhir.ml" +# 24318 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 233 "parser_cocci_menhir.mly" +# 234 "parser_cocci_menhir.mly" ( Ast.NeverDep _2 ) -# 24276 "parser_cocci_menhir.ml" +# 24325 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24302,9 +24351,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pnrule = -# 234 "parser_cocci_menhir.mly" +# 235 "parser_cocci_menhir.mly" ( _2 ) -# 24308 "parser_cocci_menhir.ml" +# 24357 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24326,9 +24375,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1342 "parser_cocci_menhir.mly" +# 1343 "parser_cocci_menhir.mly" ( _1 ) -# 24332 "parser_cocci_menhir.ml" +# 24381 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24362,24 +24411,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 24368 "parser_cocci_menhir.ml" +# 24417 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 24374 "parser_cocci_menhir.ml" +# 24423 "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_ = -# 1344 "parser_cocci_menhir.mly" +# 1345 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 24383 "parser_cocci_menhir.ml" +# 24432 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24409,17 +24458,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 24415 "parser_cocci_menhir.ml" +# 24464 "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_ = -# 1347 "parser_cocci_menhir.mly" +# 1348 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 24423 "parser_cocci_menhir.ml" +# 24472 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24449,18 +24498,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 104 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) -# 24455 "parser_cocci_menhir.ml" +# 24504 "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_ = -# 1349 "parser_cocci_menhir.mly" +# 1350 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 24464 "parser_cocci_menhir.ml" +# 24513 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24484,17 +24533,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 24490 "parser_cocci_menhir.ml" +# 24539 "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_ = -# 1352 "parser_cocci_menhir.mly" +# 1353 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 24498 "parser_cocci_menhir.ml" +# 24547 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24518,17 +24567,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 24524 "parser_cocci_menhir.ml" +# 24573 "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_ = -# 1354 "parser_cocci_menhir.mly" +# 1355 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 24532 "parser_cocci_menhir.ml" +# 24581 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24562,25 +24611,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 24568 "parser_cocci_menhir.ml" +# 24617 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 24574 "parser_cocci_menhir.ml" +# 24623 "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_ = -# 1356 "parser_cocci_menhir.mly" +# 1357 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 24584 "parser_cocci_menhir.ml" +# 24633 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24602,9 +24651,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1342 "parser_cocci_menhir.mly" +# 1343 "parser_cocci_menhir.mly" ( _1 ) -# 24608 "parser_cocci_menhir.ml" +# 24657 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24638,24 +24687,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 24644 "parser_cocci_menhir.ml" +# 24693 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 24650 "parser_cocci_menhir.ml" +# 24699 "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_ = -# 1344 "parser_cocci_menhir.mly" +# 1345 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 24659 "parser_cocci_menhir.ml" +# 24708 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24685,17 +24734,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 24691 "parser_cocci_menhir.ml" +# 24740 "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_ = -# 1347 "parser_cocci_menhir.mly" +# 1348 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 24699 "parser_cocci_menhir.ml" +# 24748 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24725,18 +24774,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 104 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) -# 24731 "parser_cocci_menhir.ml" +# 24780 "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_ = -# 1349 "parser_cocci_menhir.mly" +# 1350 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 24740 "parser_cocci_menhir.ml" +# 24789 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24760,17 +24809,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 24766 "parser_cocci_menhir.ml" +# 24815 "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_ = -# 1352 "parser_cocci_menhir.mly" +# 1353 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 24774 "parser_cocci_menhir.ml" +# 24823 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24794,17 +24843,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 24800 "parser_cocci_menhir.ml" +# 24849 "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_ = -# 1354 "parser_cocci_menhir.mly" +# 1355 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 24808 "parser_cocci_menhir.ml" +# 24857 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24838,25 +24887,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 24844 "parser_cocci_menhir.ml" +# 24893 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 24850 "parser_cocci_menhir.ml" +# 24899 "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_ = -# 1356 "parser_cocci_menhir.mly" +# 1357 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 24860 "parser_cocci_menhir.ml" +# 24909 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24878,9 +24927,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1342 "parser_cocci_menhir.mly" +# 1343 "parser_cocci_menhir.mly" ( _1 ) -# 24884 "parser_cocci_menhir.ml" +# 24933 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24914,24 +24963,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 24920 "parser_cocci_menhir.ml" +# 24969 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 24926 "parser_cocci_menhir.ml" +# 24975 "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_ = -# 1344 "parser_cocci_menhir.mly" +# 1345 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 24935 "parser_cocci_menhir.ml" +# 24984 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24961,17 +25010,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 24967 "parser_cocci_menhir.ml" +# 25016 "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_ = -# 1347 "parser_cocci_menhir.mly" +# 1348 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 24975 "parser_cocci_menhir.ml" +# 25024 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25001,18 +25050,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 104 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) -# 25007 "parser_cocci_menhir.ml" +# 25056 "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_ = -# 1349 "parser_cocci_menhir.mly" +# 1350 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 25016 "parser_cocci_menhir.ml" +# 25065 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25036,17 +25085,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 25042 "parser_cocci_menhir.ml" +# 25091 "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_ = -# 1352 "parser_cocci_menhir.mly" +# 1353 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 25050 "parser_cocci_menhir.ml" +# 25099 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25070,17 +25119,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 25076 "parser_cocci_menhir.ml" +# 25125 "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_ = -# 1354 "parser_cocci_menhir.mly" +# 1355 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 25084 "parser_cocci_menhir.ml" +# 25133 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25114,25 +25163,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 25120 "parser_cocci_menhir.ml" +# 25169 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 25126 "parser_cocci_menhir.ml" +# 25175 "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_ = -# 1356 "parser_cocci_menhir.mly" +# 1357 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 25136 "parser_cocci_menhir.ml" +# 25185 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25154,9 +25203,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1342 "parser_cocci_menhir.mly" +# 1343 "parser_cocci_menhir.mly" ( _1 ) -# 25160 "parser_cocci_menhir.ml" +# 25209 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25190,24 +25239,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 25196 "parser_cocci_menhir.ml" +# 25245 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (Data.clt) -# 25202 "parser_cocci_menhir.ml" +# 25251 "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_ = -# 1344 "parser_cocci_menhir.mly" +# 1345 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 25211 "parser_cocci_menhir.ml" +# 25260 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25237,17 +25286,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 25243 "parser_cocci_menhir.ml" +# 25292 "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_ = -# 1347 "parser_cocci_menhir.mly" +# 1348 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 25251 "parser_cocci_menhir.ml" +# 25300 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25277,18 +25326,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 104 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) -# 25283 "parser_cocci_menhir.ml" +# 25332 "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_ = -# 1349 "parser_cocci_menhir.mly" +# 1350 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 25292 "parser_cocci_menhir.ml" +# 25341 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25312,17 +25361,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 25318 "parser_cocci_menhir.ml" +# 25367 "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_ = -# 1352 "parser_cocci_menhir.mly" +# 1353 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 25326 "parser_cocci_menhir.ml" +# 25375 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25346,17 +25395,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 25352 "parser_cocci_menhir.ml" +# 25401 "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_ = -# 1354 "parser_cocci_menhir.mly" +# 1355 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 25360 "parser_cocci_menhir.ml" +# 25409 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25390,25 +25439,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 25396 "parser_cocci_menhir.ml" +# 25445 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 25402 "parser_cocci_menhir.ml" +# 25451 "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_ = -# 1356 "parser_cocci_menhir.mly" +# 1357 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 25412 "parser_cocci_menhir.ml" +# 25461 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25430,9 +25479,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1361 "parser_cocci_menhir.mly" +# 1362 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 25436 "parser_cocci_menhir.ml" +# 25485 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25451,17 +25500,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 25457 "parser_cocci_menhir.ml" +# 25506 "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_ = -# 1363 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 25465 "parser_cocci_menhir.ml" +# 25514 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25480,17 +25529,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 25486 "parser_cocci_menhir.ml" +# 25535 "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_ = -# 1366 "parser_cocci_menhir.mly" +# 1367 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 25494 "parser_cocci_menhir.ml" +# 25543 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25509,17 +25558,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 25515 "parser_cocci_menhir.ml" +# 25564 "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_ = -# 1369 "parser_cocci_menhir.mly" +# 1370 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 25523 "parser_cocci_menhir.ml" +# 25572 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25538,17 +25587,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 25544 "parser_cocci_menhir.ml" +# 25593 "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_ = -# 1372 "parser_cocci_menhir.mly" +# 1373 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 25552 "parser_cocci_menhir.ml" +# 25601 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25567,18 +25616,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25573 "parser_cocci_menhir.ml" +# 25622 "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_ = -# 1375 "parser_cocci_menhir.mly" +# 1376 "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)) ) -# 25582 "parser_cocci_menhir.ml" +# 25631 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25597,17 +25646,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 63 "parser_cocci_menhir.mly" +# 64 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 25603 "parser_cocci_menhir.ml" +# 25652 "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_ = -# 1379 "parser_cocci_menhir.mly" +# 1380 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 25611 "parser_cocci_menhir.ml" +# 25660 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25626,18 +25675,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25632 "parser_cocci_menhir.ml" +# 25681 "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_ = -# 1382 "parser_cocci_menhir.mly" +# 1383 "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)) ) -# 25641 "parser_cocci_menhir.ml" +# 25690 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25656,18 +25705,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25662 "parser_cocci_menhir.ml" +# 25711 "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_ = -# 1386 "parser_cocci_menhir.mly" +# 1387 "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)) ) -# 25671 "parser_cocci_menhir.ml" +# 25720 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25686,18 +25735,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25692 "parser_cocci_menhir.ml" +# 25741 "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_ = -# 1390 "parser_cocci_menhir.mly" +# 1391 "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)) ) -# 25701 "parser_cocci_menhir.ml" +# 25750 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25726,23 +25775,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 25732 "parser_cocci_menhir.ml" +# 25781 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 25738 "parser_cocci_menhir.ml" +# 25787 "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_ = -# 1394 "parser_cocci_menhir.mly" +# 1395 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 25746 "parser_cocci_menhir.ml" +# 25795 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25771,25 +25820,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 25777 "parser_cocci_menhir.ml" +# 25826 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 25783 "parser_cocci_menhir.ml" +# 25832 "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_ = -# 1397 "parser_cocci_menhir.mly" +# 1398 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 25793 "parser_cocci_menhir.ml" +# 25842 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25811,9 +25860,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1401 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( _1 ) -# 25817 "parser_cocci_menhir.ml" +# 25866 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25835,9 +25884,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1361 "parser_cocci_menhir.mly" +# 1362 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 25841 "parser_cocci_menhir.ml" +# 25890 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25856,17 +25905,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 25862 "parser_cocci_menhir.ml" +# 25911 "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_ = -# 1363 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 25870 "parser_cocci_menhir.ml" +# 25919 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25885,17 +25934,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 25891 "parser_cocci_menhir.ml" +# 25940 "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_ = -# 1366 "parser_cocci_menhir.mly" +# 1367 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 25899 "parser_cocci_menhir.ml" +# 25948 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25914,17 +25963,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 25920 "parser_cocci_menhir.ml" +# 25969 "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_ = -# 1369 "parser_cocci_menhir.mly" +# 1370 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 25928 "parser_cocci_menhir.ml" +# 25977 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25943,17 +25992,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 25949 "parser_cocci_menhir.ml" +# 25998 "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_ = -# 1372 "parser_cocci_menhir.mly" +# 1373 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 25957 "parser_cocci_menhir.ml" +# 26006 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25972,18 +26021,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25978 "parser_cocci_menhir.ml" +# 26027 "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_ = -# 1375 "parser_cocci_menhir.mly" +# 1376 "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)) ) -# 25987 "parser_cocci_menhir.ml" +# 26036 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26002,17 +26051,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 63 "parser_cocci_menhir.mly" +# 64 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 26008 "parser_cocci_menhir.ml" +# 26057 "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_ = -# 1379 "parser_cocci_menhir.mly" +# 1380 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 26016 "parser_cocci_menhir.ml" +# 26065 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26031,18 +26080,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26037 "parser_cocci_menhir.ml" +# 26086 "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_ = -# 1382 "parser_cocci_menhir.mly" +# 1383 "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)) ) -# 26046 "parser_cocci_menhir.ml" +# 26095 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26061,18 +26110,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26067 "parser_cocci_menhir.ml" +# 26116 "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_ = -# 1386 "parser_cocci_menhir.mly" +# 1387 "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)) ) -# 26076 "parser_cocci_menhir.ml" +# 26125 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26091,18 +26140,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26097 "parser_cocci_menhir.ml" +# 26146 "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_ = -# 1390 "parser_cocci_menhir.mly" +# 1391 "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)) ) -# 26106 "parser_cocci_menhir.ml" +# 26155 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26131,23 +26180,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 26137 "parser_cocci_menhir.ml" +# 26186 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 26143 "parser_cocci_menhir.ml" +# 26192 "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_ = -# 1394 "parser_cocci_menhir.mly" +# 1395 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 26151 "parser_cocci_menhir.ml" +# 26200 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26176,25 +26225,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 26182 "parser_cocci_menhir.ml" +# 26231 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 26188 "parser_cocci_menhir.ml" +# 26237 "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_ = -# 1397 "parser_cocci_menhir.mly" +# 1398 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 26198 "parser_cocci_menhir.ml" +# 26247 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26216,9 +26265,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1401 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( _1 ) -# 26222 "parser_cocci_menhir.ml" +# 26271 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26240,9 +26289,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1361 "parser_cocci_menhir.mly" +# 1362 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 26246 "parser_cocci_menhir.ml" +# 26295 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26261,17 +26310,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 26267 "parser_cocci_menhir.ml" +# 26316 "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_ = -# 1363 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 26275 "parser_cocci_menhir.ml" +# 26324 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26290,17 +26339,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 26296 "parser_cocci_menhir.ml" +# 26345 "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_ = -# 1366 "parser_cocci_menhir.mly" +# 1367 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 26304 "parser_cocci_menhir.ml" +# 26353 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26319,17 +26368,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 26325 "parser_cocci_menhir.ml" +# 26374 "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_ = -# 1369 "parser_cocci_menhir.mly" +# 1370 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 26333 "parser_cocci_menhir.ml" +# 26382 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26348,17 +26397,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 26354 "parser_cocci_menhir.ml" +# 26403 "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_ = -# 1372 "parser_cocci_menhir.mly" +# 1373 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 26362 "parser_cocci_menhir.ml" +# 26411 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26377,18 +26426,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26383 "parser_cocci_menhir.ml" +# 26432 "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_ = -# 1375 "parser_cocci_menhir.mly" +# 1376 "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)) ) -# 26392 "parser_cocci_menhir.ml" +# 26441 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26407,17 +26456,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 63 "parser_cocci_menhir.mly" +# 64 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 26413 "parser_cocci_menhir.ml" +# 26462 "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_ = -# 1379 "parser_cocci_menhir.mly" +# 1380 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 26421 "parser_cocci_menhir.ml" +# 26470 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26436,18 +26485,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26442 "parser_cocci_menhir.ml" +# 26491 "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_ = -# 1382 "parser_cocci_menhir.mly" +# 1383 "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)) ) -# 26451 "parser_cocci_menhir.ml" +# 26500 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26466,18 +26515,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26472 "parser_cocci_menhir.ml" +# 26521 "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_ = -# 1386 "parser_cocci_menhir.mly" +# 1387 "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)) ) -# 26481 "parser_cocci_menhir.ml" +# 26530 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26496,18 +26545,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26502 "parser_cocci_menhir.ml" +# 26551 "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_ = -# 1390 "parser_cocci_menhir.mly" +# 1391 "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)) ) -# 26511 "parser_cocci_menhir.ml" +# 26560 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26536,23 +26585,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 26542 "parser_cocci_menhir.ml" +# 26591 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 26548 "parser_cocci_menhir.ml" +# 26597 "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_ = -# 1394 "parser_cocci_menhir.mly" +# 1395 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 26556 "parser_cocci_menhir.ml" +# 26605 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26581,25 +26630,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 26587 "parser_cocci_menhir.ml" +# 26636 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 26593 "parser_cocci_menhir.ml" +# 26642 "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_ = -# 1397 "parser_cocci_menhir.mly" +# 1398 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 26603 "parser_cocci_menhir.ml" +# 26652 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26621,9 +26670,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1401 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( _1 ) -# 26627 "parser_cocci_menhir.ml" +# 26676 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26645,9 +26694,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1361 "parser_cocci_menhir.mly" +# 1362 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 26651 "parser_cocci_menhir.ml" +# 26700 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26666,17 +26715,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 26672 "parser_cocci_menhir.ml" +# 26721 "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_ = -# 1363 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 26680 "parser_cocci_menhir.ml" +# 26729 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26695,17 +26744,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 26701 "parser_cocci_menhir.ml" +# 26750 "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_ = -# 1366 "parser_cocci_menhir.mly" +# 1367 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 26709 "parser_cocci_menhir.ml" +# 26758 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26724,17 +26773,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 26730 "parser_cocci_menhir.ml" +# 26779 "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_ = -# 1369 "parser_cocci_menhir.mly" +# 1370 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 26738 "parser_cocci_menhir.ml" +# 26787 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26753,17 +26802,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 26759 "parser_cocci_menhir.ml" +# 26808 "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_ = -# 1372 "parser_cocci_menhir.mly" +# 1373 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 26767 "parser_cocci_menhir.ml" +# 26816 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26782,18 +26831,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26788 "parser_cocci_menhir.ml" +# 26837 "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_ = -# 1375 "parser_cocci_menhir.mly" +# 1376 "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)) ) -# 26797 "parser_cocci_menhir.ml" +# 26846 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26812,17 +26861,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 63 "parser_cocci_menhir.mly" +# 64 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 26818 "parser_cocci_menhir.ml" +# 26867 "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_ = -# 1379 "parser_cocci_menhir.mly" +# 1380 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 26826 "parser_cocci_menhir.ml" +# 26875 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26841,18 +26890,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26847 "parser_cocci_menhir.ml" +# 26896 "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_ = -# 1382 "parser_cocci_menhir.mly" +# 1383 "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)) ) -# 26856 "parser_cocci_menhir.ml" +# 26905 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26871,18 +26920,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26877 "parser_cocci_menhir.ml" +# 26926 "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_ = -# 1386 "parser_cocci_menhir.mly" +# 1387 "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)) ) -# 26886 "parser_cocci_menhir.ml" +# 26935 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26901,18 +26950,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 68 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26907 "parser_cocci_menhir.ml" +# 26956 "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_ = -# 1390 "parser_cocci_menhir.mly" +# 1391 "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)) ) -# 26916 "parser_cocci_menhir.ml" +# 26965 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26941,23 +26990,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 26947 "parser_cocci_menhir.ml" +# 26996 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 26953 "parser_cocci_menhir.ml" +# 27002 "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_ = -# 1394 "parser_cocci_menhir.mly" +# 1395 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 26961 "parser_cocci_menhir.ml" +# 27010 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26986,25 +27035,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 26992 "parser_cocci_menhir.ml" +# 27041 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 26998 "parser_cocci_menhir.ml" +# 27047 "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_ = -# 1397 "parser_cocci_menhir.mly" +# 1398 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 27008 "parser_cocci_menhir.ml" +# 27057 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27026,9 +27075,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1401 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( _1 ) -# 27032 "parser_cocci_menhir.ml" +# 27081 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27048,9 +27097,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure = -# 190 "parser_cocci_menhir.mly" +# 191 "parser_cocci_menhir.mly" ( Ast0.Pure ) -# 27054 "parser_cocci_menhir.ml" +# 27103 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27070,9 +27119,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure = -# 191 "parser_cocci_menhir.mly" +# 192 "parser_cocci_menhir.mly" ( Ast0.Context ) -# 27076 "parser_cocci_menhir.ml" +# 27125 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27096,9 +27145,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pure = -# 192 "parser_cocci_menhir.mly" +# 193 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 27102 "parser_cocci_menhir.ml" +# 27151 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27122,9 +27171,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pure = -# 193 "parser_cocci_menhir.mly" +# 194 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 27128 "parser_cocci_menhir.ml" +# 27177 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27139,9 +27188,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_pure = -# 194 "parser_cocci_menhir.mly" +# 195 "parser_cocci_menhir.mly" ( Ast0.Impure ) -# 27145 "parser_cocci_menhir.ml" +# 27194 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27162,14 +27211,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 27166 "parser_cocci_menhir.ml" +# 27215 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident = -# 1415 "parser_cocci_menhir.mly" +# 1416 "parser_cocci_menhir.mly" ( _1 ) -# 27173 "parser_cocci_menhir.ml" +# 27222 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27189,9 +27238,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1418 "parser_cocci_menhir.mly" +# 1419 "parser_cocci_menhir.mly" ( "identifier" ) -# 27195 "parser_cocci_menhir.ml" +# 27244 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27211,9 +27260,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1419 "parser_cocci_menhir.mly" +# 1420 "parser_cocci_menhir.mly" ( "expression" ) -# 27217 "parser_cocci_menhir.ml" +# 27266 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27233,9 +27282,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1420 "parser_cocci_menhir.mly" +# 1421 "parser_cocci_menhir.mly" ( "statement" ) -# 27239 "parser_cocci_menhir.ml" +# 27288 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27255,9 +27304,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1421 "parser_cocci_menhir.mly" +# 1422 "parser_cocci_menhir.mly" ( "function" ) -# 27261 "parser_cocci_menhir.ml" +# 27310 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27277,9 +27326,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1422 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( "local" ) -# 27283 "parser_cocci_menhir.ml" +# 27332 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27299,9 +27348,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1423 "parser_cocci_menhir.mly" +# 1424 "parser_cocci_menhir.mly" ( "type" ) -# 27305 "parser_cocci_menhir.ml" +# 27354 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27321,9 +27370,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1424 "parser_cocci_menhir.mly" +# 1425 "parser_cocci_menhir.mly" ( "parameter" ) -# 27327 "parser_cocci_menhir.ml" +# 27376 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27343,9 +27392,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1425 "parser_cocci_menhir.mly" +# 1426 "parser_cocci_menhir.mly" ( "idexpression" ) -# 27349 "parser_cocci_menhir.ml" +# 27398 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27365,9 +27414,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1426 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( "initialiser" ) -# 27371 "parser_cocci_menhir.ml" +# 27420 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27387,9 +27436,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1427 "parser_cocci_menhir.mly" +# 1428 "parser_cocci_menhir.mly" ( "list" ) -# 27393 "parser_cocci_menhir.ml" +# 27442 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27409,9 +27458,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1428 "parser_cocci_menhir.mly" +# 1429 "parser_cocci_menhir.mly" ( "fresh" ) -# 27415 "parser_cocci_menhir.ml" +# 27464 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27431,9 +27480,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1429 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( "constant" ) -# 27437 "parser_cocci_menhir.ml" +# 27486 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27453,9 +27502,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1430 "parser_cocci_menhir.mly" +# 1431 "parser_cocci_menhir.mly" ( "error" ) -# 27459 "parser_cocci_menhir.ml" +# 27508 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27475,9 +27524,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1431 "parser_cocci_menhir.mly" +# 1432 "parser_cocci_menhir.mly" ( "words" ) -# 27481 "parser_cocci_menhir.ml" +# 27530 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27497,9 +27546,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1432 "parser_cocci_menhir.mly" +# 1433 "parser_cocci_menhir.mly" ( "pure" ) -# 27503 "parser_cocci_menhir.ml" +# 27552 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27519,9 +27568,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1433 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( "context" ) -# 27525 "parser_cocci_menhir.ml" +# 27574 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27541,9 +27590,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1434 "parser_cocci_menhir.mly" +# 1435 "parser_cocci_menhir.mly" ( "generated" ) -# 27547 "parser_cocci_menhir.ml" +# 27596 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27563,9 +27612,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1435 "parser_cocci_menhir.mly" +# 1436 "parser_cocci_menhir.mly" ( "typedef" ) -# 27569 "parser_cocci_menhir.ml" +# 27618 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27585,9 +27634,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1436 "parser_cocci_menhir.mly" +# 1437 "parser_cocci_menhir.mly" ( "declarer" ) -# 27591 "parser_cocci_menhir.ml" +# 27640 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27607,9 +27656,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1437 "parser_cocci_menhir.mly" +# 1438 "parser_cocci_menhir.mly" ( "iterator" ) -# 27613 "parser_cocci_menhir.ml" +# 27662 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27629,9 +27678,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1438 "parser_cocci_menhir.mly" +# 1439 "parser_cocci_menhir.mly" ( "name" ) -# 27635 "parser_cocci_menhir.ml" +# 27684 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27651,9 +27700,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1439 "parser_cocci_menhir.mly" +# 1440 "parser_cocci_menhir.mly" ( "position" ) -# 27657 "parser_cocci_menhir.ml" +# 27706 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27675,9 +27724,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1446 "parser_cocci_menhir.mly" +# 1447 "parser_cocci_menhir.mly" ( (None,P.id2name _1) ) -# 27681 "parser_cocci_menhir.ml" +# 27730 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27699,9 +27748,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1447 "parser_cocci_menhir.mly" +# 1448 "parser_cocci_menhir.mly" ( (None,_1) ) -# 27705 "parser_cocci_menhir.ml" +# 27754 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27723,9 +27772,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1448 "parser_cocci_menhir.mly" +# 1449 "parser_cocci_menhir.mly" ( _1 ) -# 27729 "parser_cocci_menhir.ml" +# 27778 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27753,13 +27802,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_optc_ in let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ = -# 1474 "parser_cocci_menhir.mly" +# 1475 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) | Some c -> (i, c) ) -# 27763 "parser_cocci_menhir.ml" +# 27812 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27787,13 +27836,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_c_ in let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = -# 1492 "parser_cocci_menhir.mly" +# 1493 "parser_cocci_menhir.mly" ( match c with None -> (i, Ast.IdNoConstraint) | Some constraint_ -> (i,constraint_) ) -# 27797 "parser_cocci_menhir.ml" +# 27846 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27821,14 +27870,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_c_ in let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = -# 1482 "parser_cocci_menhir.mly" +# 1483 "parser_cocci_menhir.mly" ( Common.Left (match c with None -> (i, Ast.IdNoConstraint) | Some constraint_ -> (i,constraint_)) ) -# 27832 "parser_cocci_menhir.ml" +# 27881 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27858,9 +27907,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = -# 1488 "parser_cocci_menhir.mly" +# 1489 "parser_cocci_menhir.mly" ( Common.Right (P.id2name _3) ) -# 27864 "parser_cocci_menhir.ml" +# 27913 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27882,9 +27931,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident_with_seed = -# 1451 "parser_cocci_menhir.mly" +# 1452 "parser_cocci_menhir.mly" ( (_1,Ast.NoVal) ) -# 27888 "parser_cocci_menhir.ml" +# 27937 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27916,11 +27965,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pure_ident_or_meta_ident_with_seed = -# 1454 "parser_cocci_menhir.mly" +# 1455 "parser_cocci_menhir.mly" ( match _3 with [Ast.SeedString s] -> (_1,Ast.StringSeed s) | _ -> (_1,Ast.ListSeed _3) ) -# 27924 "parser_cocci_menhir.ml" +# 27973 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27948,11 +27997,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_l_ in let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ = -# 1468 "parser_cocci_menhir.mly" +# 1469 "parser_cocci_menhir.mly" ( (i, l) ) -# 27956 "parser_cocci_menhir.ml" +# 28005 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27980,11 +28029,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_l_ in let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = -# 1468 "parser_cocci_menhir.mly" +# 1469 "parser_cocci_menhir.mly" ( (i, l) ) -# 27988 "parser_cocci_menhir.ml" +# 28037 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28006,9 +28055,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_re_ in let _endpos = _endpos_re_ in let _v : 'tv_re_or_not_eqe = -# 1536 "parser_cocci_menhir.mly" +# 1537 "parser_cocci_menhir.mly" (Ast0.NotIdCstrt (re)) -# 28012 "parser_cocci_menhir.ml" +# 28061 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28030,9 +28079,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ne_ in let _endpos = _endpos_ne_ in let _v : 'tv_re_or_not_eqe = -# 1537 "parser_cocci_menhir.mly" +# 1538 "parser_cocci_menhir.mly" (Ast0.NotExpCstrt (ne)) -# 28036 "parser_cocci_menhir.ml" +# 28085 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28054,9 +28103,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_re_ in let _endpos = _endpos_re_ in let _v : 'tv_re_or_not_eqid = -# 1499 "parser_cocci_menhir.mly" +# 1500 "parser_cocci_menhir.mly" (re) -# 28060 "parser_cocci_menhir.ml" +# 28109 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28078,9 +28127,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ne_ in let _endpos = _endpos_ne_ in let _v : 'tv_re_or_not_eqid = -# 1500 "parser_cocci_menhir.mly" +# 1501 "parser_cocci_menhir.mly" (ne) -# 28084 "parser_cocci_menhir.ml" +# 28133 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28103,21 +28152,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let re : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 28109 "parser_cocci_menhir.ml" +# 28158 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1504 "parser_cocci_menhir.mly" +# 1505 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); let (s,_) = re in Ast.IdRegExp (s,Str.regexp s) ) -# 28121 "parser_cocci_menhir.ml" +# 28170 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28140,21 +28189,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let re : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 28146 "parser_cocci_menhir.ml" +# 28195 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1511 "parser_cocci_menhir.mly" +# 1512 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s) ) -# 28158 "parser_cocci_menhir.ml" +# 28207 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28169,13 +28218,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : ( -# 131 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (unit) -# 28175 "parser_cocci_menhir.ml" +# 28224 "parser_cocci_menhir.ml" ) = -# 172 "parser_cocci_menhir.mly" +# 173 "parser_cocci_menhir.mly" ( ) -# 28179 "parser_cocci_menhir.ml" +# 28228 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28197,9 +28246,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_rule_elem_statement = -# 927 "parser_cocci_menhir.mly" +# 928 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) ) -# 28203 "parser_cocci_menhir.ml" +# 28252 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28223,17 +28272,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 28229 "parser_cocci_menhir.ml" +# 28278 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_expr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 928 "parser_cocci_menhir.mly" +# 929 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 28237 "parser_cocci_menhir.ml" +# 28286 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28262,22 +28311,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 28268 "parser_cocci_menhir.ml" +# 28317 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 28274 "parser_cocci_menhir.ml" +# 28323 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 929 "parser_cocci_menhir.mly" +# 930 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 28281 "parser_cocci_menhir.ml" +# 28330 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28301,21 +28350,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 28307 "parser_cocci_menhir.ml" +# 28356 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 28312 "parser_cocci_menhir.ml" +# 28361 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 930 "parser_cocci_menhir.mly" +# 931 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 28319 "parser_cocci_menhir.ml" +# 28368 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28339,21 +28388,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 28345 "parser_cocci_menhir.ml" +# 28394 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 28350 "parser_cocci_menhir.ml" +# 28399 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 931 "parser_cocci_menhir.mly" +# 932 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 28357 "parser_cocci_menhir.ml" +# 28406 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28377,21 +28426,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 28383 "parser_cocci_menhir.ml" +# 28432 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 28388 "parser_cocci_menhir.ml" +# 28437 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 932 "parser_cocci_menhir.mly" +# 933 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 28395 "parser_cocci_menhir.ml" +# 28444 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28420,26 +28469,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 28426 "parser_cocci_menhir.ml" +# 28475 "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 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 28432 "parser_cocci_menhir.ml" +# 28481 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 934 "parser_cocci_menhir.mly" +# 935 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap (Ast0.Disj(P.clt2mcode "(" _1, List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code, mids, P.clt2mcode ")" _3)) ) -# 28443 "parser_cocci_menhir.ml" +# 28492 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28493,20 +28542,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : ( -# 153 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28499 "parser_cocci_menhir.ml" +# 28548 "parser_cocci_menhir.ml" ) = let nm = # 39 "standard.mly" ( None ) -# 28504 "parser_cocci_menhir.ml" +# 28553 "parser_cocci_menhir.ml" in -# 202 "parser_cocci_menhir.mly" +# 203 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) -# 28510 "parser_cocci_menhir.ml" +# 28559 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28566,21 +28615,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_x0_ in let _endpos = _endpos__8_ in let _v : ( -# 153 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28572 "parser_cocci_menhir.ml" +# 28621 "parser_cocci_menhir.ml" ) = let nm = let x = x0 in # 41 "standard.mly" ( Some x ) -# 28578 "parser_cocci_menhir.ml" +# 28627 "parser_cocci_menhir.ml" in -# 202 "parser_cocci_menhir.mly" +# 203 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) -# 28584 "parser_cocci_menhir.ml" +# 28633 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28638,13 +28687,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : ( -# 153 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28644 "parser_cocci_menhir.ml" +# 28693 "parser_cocci_menhir.ml" ) = -# 207 "parser_cocci_menhir.mly" +# 208 "parser_cocci_menhir.mly" ( P.make_generated_rule_name_result None d i a e ee ) -# 28648 "parser_cocci_menhir.ml" +# 28697 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28684,13 +28733,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : ( -# 153 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28690 "parser_cocci_menhir.ml" +# 28739 "parser_cocci_menhir.ml" ) = -# 209 "parser_cocci_menhir.mly" +# 210 "parser_cocci_menhir.mly" ( P.make_script_rule_name_result lang d ) -# 28694 "parser_cocci_menhir.ml" +# 28743 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28702,35 +28751,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lang; - MenhirLib.EngineTypes.startp = _startpos_lang_; - MenhirLib.EngineTypes.endp = _endpos_lang_; + 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.semv = lang; + MenhirLib.EngineTypes.startp = _startpos_lang_; + MenhirLib.EngineTypes.endp = _endpos_lang_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__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__4_ in + let _endpos = _endpos__5_ in let _v : ( -# 153 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28730 "parser_cocci_menhir.ml" +# 28785 "parser_cocci_menhir.ml" ) = -# 211 "parser_cocci_menhir.mly" - ( P.make_initial_script_rule_name_result lang ) -# 28734 "parser_cocci_menhir.ml" +# 212 "parser_cocci_menhir.mly" + ( P.make_initial_script_rule_name_result lang d ) +# 28789 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28742,35 +28797,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lang; - MenhirLib.EngineTypes.startp = _startpos_lang_; - MenhirLib.EngineTypes.endp = _endpos_lang_; + 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.semv = lang; + MenhirLib.EngineTypes.startp = _startpos_lang_; + MenhirLib.EngineTypes.endp = _endpos_lang_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__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__4_ in + let _endpos = _endpos__5_ in let _v : ( -# 153 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28770 "parser_cocci_menhir.ml" +# 28831 "parser_cocci_menhir.ml" ) = -# 213 "parser_cocci_menhir.mly" - ( P.make_final_script_rule_name_result lang ) -# 28774 "parser_cocci_menhir.ml" +# 214 "parser_cocci_menhir.mly" + ( P.make_final_script_rule_name_result lang d ) +# 28835 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28814,19 +28875,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 47 "parser_cocci_menhir.mly" (string) -# 28818 "parser_cocci_menhir.ml" +# 28879 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let py : 'tv_pure_ident = Obj.magic py in let _startpos = _startpos_py_ in let _endpos = _endpos__6_ in let _v : ( -# 159 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (string * Ast_cocci.meta_name) -# 28826 "parser_cocci_menhir.ml" +# 28887 "parser_cocci_menhir.ml" ) = -# 1990 "parser_cocci_menhir.mly" +# 1995 "parser_cocci_menhir.mly" ( (P.id2name py, (_3, P.id2name cocci)) ) -# 28830 "parser_cocci_menhir.ml" +# 28891 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28870,13 +28931,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_py_ in let _endpos = _endpos__6_ in let _v : ( -# 159 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (string * Ast_cocci.meta_name) -# 28876 "parser_cocci_menhir.ml" +# 28937 "parser_cocci_menhir.ml" ) = -# 1992 "parser_cocci_menhir.mly" +# 1997 "parser_cocci_menhir.mly" ( (P.id2name py, ("virtual", P.id2name cocci)) ) -# 28880 "parser_cocci_menhir.ml" +# 28941 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28895,16 +28956,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 28901 "parser_cocci_menhir.ml" +# 28962 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1459 "parser_cocci_menhir.mly" +# 1460 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Ast.SeedString x ) -# 28908 "parser_cocci_menhir.ml" +# 28969 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28923,16 +28984,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 62 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 28929 "parser_cocci_menhir.ml" +# 28990 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1460 "parser_cocci_menhir.mly" +# 1461 "parser_cocci_menhir.mly" ( let (x,_,_,_) = _1 in Ast.SeedId x ) -# 28936 "parser_cocci_menhir.ml" +# 28997 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28963,16 +29024,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 47 "parser_cocci_menhir.mly" (string) -# 28967 "parser_cocci_menhir.ml" +# 29028 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_seed_elem = -# 1462 "parser_cocci_menhir.mly" +# 1463 "parser_cocci_menhir.mly" ( let nm = (_1,P.id2name _3) in P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm)); Ast.SeedId nm ) -# 28976 "parser_cocci_menhir.ml" +# 29037 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28991,16 +29052,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let x : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 28997 "parser_cocci_menhir.ml" +# 29058 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : 'tv_separated_nonempty_list_TComma_TString_ = # 144 "standard.mly" ( [ x ] ) -# 29004 "parser_cocci_menhir.ml" +# 29065 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29029,16 +29090,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in let x : ( -# 87 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (string * Data.clt) -# 29035 "parser_cocci_menhir.ml" +# 29096 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in let _v : 'tv_separated_nonempty_list_TComma_TString_ = # 146 "standard.mly" ( x :: xs ) -# 29042 "parser_cocci_menhir.ml" +# 29103 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29062,7 +29123,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = # 144 "standard.mly" ( [ x ] ) -# 29066 "parser_cocci_menhir.ml" +# 29127 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29096,7 +29157,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = # 146 "standard.mly" ( x :: xs ) -# 29100 "parser_cocci_menhir.ml" +# 29161 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29120,7 +29181,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ctype_ = # 144 "standard.mly" ( [ x ] ) -# 29124 "parser_cocci_menhir.ml" +# 29185 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29154,7 +29215,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ctype_ = # 146 "standard.mly" ( x :: xs ) -# 29158 "parser_cocci_menhir.ml" +# 29219 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29178,7 +29239,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29182 "parser_cocci_menhir.ml" +# 29243 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29212,7 +29273,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29216 "parser_cocci_menhir.ml" +# 29277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29236,7 +29297,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = # 144 "standard.mly" ( [ x ] ) -# 29240 "parser_cocci_menhir.ml" +# 29301 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29270,7 +29331,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = # 146 "standard.mly" ( x :: xs ) -# 29274 "parser_cocci_menhir.ml" +# 29335 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29294,7 +29355,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29298 "parser_cocci_menhir.ml" +# 29359 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29328,7 +29389,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29332 "parser_cocci_menhir.ml" +# 29393 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29352,7 +29413,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29356 "parser_cocci_menhir.ml" +# 29417 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29386,7 +29447,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29390 "parser_cocci_menhir.ml" +# 29451 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29410,7 +29471,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29414 "parser_cocci_menhir.ml" +# 29475 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29444,7 +29505,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29448 "parser_cocci_menhir.ml" +# 29509 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29468,7 +29529,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = # 144 "standard.mly" ( [ x ] ) -# 29472 "parser_cocci_menhir.ml" +# 29533 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29502,7 +29563,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = # 146 "standard.mly" ( x :: xs ) -# 29506 "parser_cocci_menhir.ml" +# 29567 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29526,7 +29587,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = # 144 "standard.mly" ( [ x ] ) -# 29530 "parser_cocci_menhir.ml" +# 29591 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29560,7 +29621,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = # 146 "standard.mly" ( x :: xs ) -# 29564 "parser_cocci_menhir.ml" +# 29625 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29584,7 +29645,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = # 144 "standard.mly" ( [ x ] ) -# 29588 "parser_cocci_menhir.ml" +# 29649 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29618,7 +29679,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = # 146 "standard.mly" ( x :: xs ) -# 29622 "parser_cocci_menhir.ml" +# 29683 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29642,7 +29703,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = # 144 "standard.mly" ( [ x ] ) -# 29646 "parser_cocci_menhir.ml" +# 29707 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29676,7 +29737,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = # 146 "standard.mly" ( x :: xs ) -# 29680 "parser_cocci_menhir.ml" +# 29741 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29700,7 +29761,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = # 144 "standard.mly" ( [ x ] ) -# 29704 "parser_cocci_menhir.ml" +# 29765 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29734,7 +29795,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = # 146 "standard.mly" ( x :: xs ) -# 29738 "parser_cocci_menhir.ml" +# 29799 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29758,7 +29819,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = # 144 "standard.mly" ( [ x ] ) -# 29762 "parser_cocci_menhir.ml" +# 29823 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29792,7 +29853,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = # 146 "standard.mly" ( x :: xs ) -# 29796 "parser_cocci_menhir.ml" +# 29857 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29816,7 +29877,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29820 "parser_cocci_menhir.ml" +# 29881 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29850,7 +29911,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29854 "parser_cocci_menhir.ml" +# 29915 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29874,7 +29935,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 144 "standard.mly" ( [ x ] ) -# 29878 "parser_cocci_menhir.ml" +# 29939 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29908,7 +29969,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 146 "standard.mly" ( x :: xs ) -# 29912 "parser_cocci_menhir.ml" +# 29973 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29930,9 +29991,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_single_statement = -# 942 "parser_cocci_menhir.mly" +# 943 "parser_cocci_menhir.mly" ( _1 ) -# 29936 "parser_cocci_menhir.ml" +# 29997 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29961,26 +30022,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 29967 "parser_cocci_menhir.ml" +# 30028 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 29973 "parser_cocci_menhir.ml" +# 30034 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_single_statement = -# 946 "parser_cocci_menhir.mly" +# 947 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap (Ast0.Disj(P.clt2mcode "(" _1, List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code, mids, P.clt2mcode ")" _3)) ) -# 29984 "parser_cocci_menhir.ml" +# 30045 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30002,9 +30063,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 869 "parser_cocci_menhir.mly" +# 870 "parser_cocci_menhir.mly" ( _1 ) -# 30008 "parser_cocci_menhir.ml" +# 30069 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30023,16 +30084,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 30029 "parser_cocci_menhir.ml" +# 30090 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 871 "parser_cocci_menhir.mly" +# 872 "parser_cocci_menhir.mly" ( P.meta_stm _1 ) -# 30036 "parser_cocci_menhir.ml" +# 30097 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30056,17 +30117,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 30062 "parser_cocci_menhir.ml" +# 30123 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_expr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 873 "parser_cocci_menhir.mly" +# 874 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 30070 "parser_cocci_menhir.ml" +# 30131 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30106,27 +30167,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 30112 "parser_cocci_menhir.ml" +# 30173 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 30118 "parser_cocci_menhir.ml" +# 30179 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 30123 "parser_cocci_menhir.ml" +# 30184 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 875 "parser_cocci_menhir.mly" +# 876 "parser_cocci_menhir.mly" ( P.ifthen _1 _2 _3 _4 _5 ) -# 30130 "parser_cocci_menhir.ml" +# 30191 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30178,31 +30239,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _6 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 30182 "parser_cocci_menhir.ml" +# 30243 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 30188 "parser_cocci_menhir.ml" +# 30249 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 30194 "parser_cocci_menhir.ml" +# 30255 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 30199 "parser_cocci_menhir.ml" +# 30260 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 877 "parser_cocci_menhir.mly" +# 878 "parser_cocci_menhir.mly" ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 ) -# 30206 "parser_cocci_menhir.ml" +# 30267 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30262,39 +30323,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _9 : 'tv_single_statement = Obj.magic _9 in let _8 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 30268 "parser_cocci_menhir.ml" +# 30329 "parser_cocci_menhir.ml" ) = Obj.magic _8 in let _7 : 'tv_option_eexpr_ = Obj.magic _7 in let _6 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 30274 "parser_cocci_menhir.ml" +# 30335 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_option_eexpr_ = Obj.magic _5 in let _4 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 30280 "parser_cocci_menhir.ml" +# 30341 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_option_eexpr_ = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 30286 "parser_cocci_menhir.ml" +# 30347 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 30291 "parser_cocci_menhir.ml" +# 30352 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__9_ in let _v : 'tv_statement = -# 880 "parser_cocci_menhir.mly" +# 881 "parser_cocci_menhir.mly" ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 ) -# 30298 "parser_cocci_menhir.ml" +# 30359 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30334,27 +30395,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 30340 "parser_cocci_menhir.ml" +# 30401 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 30346 "parser_cocci_menhir.ml" +# 30407 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 30351 "parser_cocci_menhir.ml" +# 30412 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 882 "parser_cocci_menhir.mly" +# 883 "parser_cocci_menhir.mly" ( P.whileloop _1 _2 _3 _4 _5 ) -# 30358 "parser_cocci_menhir.ml" +# 30419 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30403,38 +30464,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _7 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 30409 "parser_cocci_menhir.ml" +# 30470 "parser_cocci_menhir.ml" ) = Obj.magic _7 in let _6 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 30414 "parser_cocci_menhir.ml" +# 30475 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_eexpr = Obj.magic _5 in let _4 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 30420 "parser_cocci_menhir.ml" +# 30481 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 30425 "parser_cocci_menhir.ml" +# 30486 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_single_statement = Obj.magic _2 in let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 30431 "parser_cocci_menhir.ml" +# 30492 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 884 "parser_cocci_menhir.mly" +# 885 "parser_cocci_menhir.mly" ( P.doloop _1 _2 _3 _4 _5 _6 _7 ) -# 30438 "parser_cocci_menhir.ml" +# 30499 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30474,23 +30535,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 30480 "parser_cocci_menhir.ml" +# 30541 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 30486 "parser_cocci_menhir.ml" +# 30547 "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 = -# 886 "parser_cocci_menhir.mly" +# 887 "parser_cocci_menhir.mly" ( P.iterator _1 _2 _3 _4 _5 ) -# 30494 "parser_cocci_menhir.ml" +# 30555 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30544,39 +30605,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _8 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 30550 "parser_cocci_menhir.ml" +# 30611 "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 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 30557 "parser_cocci_menhir.ml" +# 30618 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 30562 "parser_cocci_menhir.ml" +# 30623 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 30568 "parser_cocci_menhir.ml" +# 30629 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 30573 "parser_cocci_menhir.ml" +# 30634 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : 'tv_statement = -# 888 "parser_cocci_menhir.mly" +# 889 "parser_cocci_menhir.mly" ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 ) -# 30580 "parser_cocci_menhir.ml" +# 30641 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30605,22 +30666,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 30611 "parser_cocci_menhir.ml" +# 30672 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 30617 "parser_cocci_menhir.ml" +# 30678 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 889 "parser_cocci_menhir.mly" +# 890 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 30624 "parser_cocci_menhir.ml" +# 30685 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30644,21 +30705,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 30650 "parser_cocci_menhir.ml" +# 30711 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 30655 "parser_cocci_menhir.ml" +# 30716 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 890 "parser_cocci_menhir.mly" +# 891 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 30662 "parser_cocci_menhir.ml" +# 30723 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30682,21 +30743,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 30688 "parser_cocci_menhir.ml" +# 30749 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 30693 "parser_cocci_menhir.ml" +# 30754 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 891 "parser_cocci_menhir.mly" +# 892 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 30700 "parser_cocci_menhir.ml" +# 30761 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30720,21 +30781,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 30726 "parser_cocci_menhir.ml" +# 30787 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 30731 "parser_cocci_menhir.ml" +# 30792 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 892 "parser_cocci_menhir.mly" +# 893 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 30738 "parser_cocci_menhir.ml" +# 30799 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30758,17 +30819,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 30764 "parser_cocci_menhir.ml" +# 30825 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 893 "parser_cocci_menhir.mly" +# 894 "parser_cocci_menhir.mly" ( P.label _1 _2 ) -# 30772 "parser_cocci_menhir.ml" +# 30833 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30797,22 +30858,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 30803 "parser_cocci_menhir.ml" +# 30864 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_ident = Obj.magic _2 in let _1 : ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 30809 "parser_cocci_menhir.ml" +# 30870 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 894 "parser_cocci_menhir.mly" +# 895 "parser_cocci_menhir.mly" ( P.goto _1 _2 _3 ) -# 30816 "parser_cocci_menhir.ml" +# 30877 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30841,22 +30902,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 30847 "parser_cocci_menhir.ml" +# 30908 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_fun_start = Obj.magic _2 in let _1 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 30853 "parser_cocci_menhir.ml" +# 30914 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 896 "parser_cocci_menhir.mly" +# 897 "parser_cocci_menhir.mly" ( P.seq _1 _2 _3 ) -# 30860 "parser_cocci_menhir.ml" +# 30921 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30881,16 +30942,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 30887 "parser_cocci_menhir.ml" +# 30948 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_w_ in let _v : 'tv_stm_dots = -# 900 "parser_cocci_menhir.mly" +# 901 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) ) -# 30894 "parser_cocci_menhir.ml" +# 30955 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30924,24 +30985,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 30930 "parser_cocci_menhir.ml" +# 30991 "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 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 30937 "parser_cocci_menhir.ml" +# 30998 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 902 "parser_cocci_menhir.mly" +# 903 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 30945 "parser_cocci_menhir.ml" +# 31006 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30975,24 +31036,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 30981 "parser_cocci_menhir.ml" +# 31042 "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 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 30988 "parser_cocci_menhir.ml" +# 31049 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 905 "parser_cocci_menhir.mly" +# 906 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 30996 "parser_cocci_menhir.ml" +# 31057 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31013,14 +31074,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 31017 "parser_cocci_menhir.ml" +# 31078 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 831 "parser_cocci_menhir.mly" +# 832 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Static s ) -# 31024 "parser_cocci_menhir.ml" +# 31085 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31041,14 +31102,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 31045 "parser_cocci_menhir.ml" +# 31106 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 832 "parser_cocci_menhir.mly" +# 833 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Auto s ) -# 31052 "parser_cocci_menhir.ml" +# 31113 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31069,14 +31130,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 31073 "parser_cocci_menhir.ml" +# 31134 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 833 "parser_cocci_menhir.mly" +# 834 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Register s ) -# 31080 "parser_cocci_menhir.ml" +# 31141 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31097,14 +31158,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 31101 "parser_cocci_menhir.ml" +# 31162 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 834 "parser_cocci_menhir.mly" +# 835 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Extern s ) -# 31108 "parser_cocci_menhir.ml" +# 31169 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31124,9 +31185,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl = -# 587 "parser_cocci_menhir.mly" +# 588 "parser_cocci_menhir.mly" ( [] ) -# 31130 "parser_cocci_menhir.ml" +# 31191 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31155,19 +31216,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 31161 "parser_cocci_menhir.ml" +# 31222 "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 = -# 589 "parser_cocci_menhir.mly" +# 590 "parser_cocci_menhir.mly" ( let (id,fn) = d in [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] ) -# 31171 "parser_cocci_menhir.ml" +# 31232 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31226,42 +31287,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 31232 "parser_cocci_menhir.ml" +# 31293 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 31237 "parser_cocci_menhir.ml" +# 31298 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 31243 "parser_cocci_menhir.ml" +# 31304 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 31248 "parser_cocci_menhir.ml" +# 31309 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 31254 "parser_cocci_menhir.ml" +# 31315 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 31259 "parser_cocci_menhir.ml" +# 31320 "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 = -# 593 "parser_cocci_menhir.mly" +# 594 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -31269,7 +31330,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] ) -# 31273 "parser_cocci_menhir.ml" +# 31334 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31298,9 +31359,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 31304 "parser_cocci_menhir.ml" +# 31365 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -31310,15 +31371,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 31314 "parser_cocci_menhir.ml" +# 31375 "parser_cocci_menhir.ml" in -# 601 "parser_cocci_menhir.mly" +# 602 "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))] ) -# 31322 "parser_cocci_menhir.ml" +# 31383 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31352,9 +31413,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 31358 "parser_cocci_menhir.ml" +# 31419 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -31366,15 +31427,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 31370 "parser_cocci_menhir.ml" +# 31431 "parser_cocci_menhir.ml" in -# 601 "parser_cocci_menhir.mly" +# 602 "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))] ) -# 31378 "parser_cocci_menhir.ml" +# 31439 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31396,9 +31457,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list = -# 606 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 31402 "parser_cocci_menhir.ml" +# 31463 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31420,9 +31481,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list_start = -# 609 "parser_cocci_menhir.mly" +# 610 "parser_cocci_menhir.mly" ( _1 ) -# 31426 "parser_cocci_menhir.ml" +# 31487 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31450,9 +31511,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_struct_decl_list_start = -# 610 "parser_cocci_menhir.mly" +# 611 "parser_cocci_menhir.mly" ( _1@_2 ) -# 31456 "parser_cocci_menhir.ml" +# 31517 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31480,9 +31541,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_struct_decl_list_start = -# 612 "parser_cocci_menhir.mly" +# 613 "parser_cocci_menhir.mly" ( (P.mkddots "..." d)::r ) -# 31486 "parser_cocci_menhir.ml" +# 31547 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31503,14 +31564,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 50 "parser_cocci_menhir.mly" (Data.clt) -# 31507 "parser_cocci_menhir.ml" +# 31568 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_struct_or_union = -# 583 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Struct s ) -# 31514 "parser_cocci_menhir.ml" +# 31575 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31531,14 +31592,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let u : ( # 50 "parser_cocci_menhir.mly" (Data.clt) -# 31535 "parser_cocci_menhir.ml" +# 31596 "parser_cocci_menhir.ml" ) = Obj.magic u in let _startpos = _startpos_u_ in let _endpos = _endpos_u_ in let _v : 'tv_struct_or_union = -# 584 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Union u ) -# 31542 "parser_cocci_menhir.ml" +# 31603 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31560,9 +31621,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_top_eexpr = -# 1229 "parser_cocci_menhir.mly" +# 1230 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) ) -# 31566 "parser_cocci_menhir.ml" +# 31627 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31591,22 +31652,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 31597 "parser_cocci_menhir.ml" +# 31658 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 31603 "parser_cocci_menhir.ml" +# 31664 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_top_init = -# 1767 "parser_cocci_menhir.mly" +# 1768 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 31610 "parser_cocci_menhir.ml" +# 31671 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31621,9 +31682,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_dots = -# 1755 "parser_cocci_menhir.mly" +# 1756 "parser_cocci_menhir.mly" ([]) -# 31627 "parser_cocci_menhir.ml" +# 31688 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31649,9 +31710,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1756 "parser_cocci_menhir.mly" +# 1757 "parser_cocci_menhir.mly" (_2) -# 31655 "parser_cocci_menhir.ml" +# 31716 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31679,9 +31740,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1757 "parser_cocci_menhir.mly" +# 1758 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 31685 "parser_cocci_menhir.ml" +# 31746 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31709,9 +31770,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1758 "parser_cocci_menhir.mly" +# 1759 "parser_cocci_menhir.mly" (_1@_2) -# 31715 "parser_cocci_menhir.ml" +# 31776 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31737,9 +31798,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1746 "parser_cocci_menhir.mly" +# 1747 "parser_cocci_menhir.mly" (_2) -# 31743 "parser_cocci_menhir.ml" +# 31804 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31767,9 +31828,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1747 "parser_cocci_menhir.mly" +# 1748 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 31773 "parser_cocci_menhir.ml" +# 31834 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31797,9 +31858,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1748 "parser_cocci_menhir.mly" +# 1749 "parser_cocci_menhir.mly" (_1@_2) -# 31803 "parser_cocci_menhir.ml" +# 31864 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31814,9 +31875,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_exp = -# 1751 "parser_cocci_menhir.mly" +# 1752 "parser_cocci_menhir.mly" ([]) -# 31820 "parser_cocci_menhir.ml" +# 31881 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31844,9 +31905,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_exp = -# 1752 "parser_cocci_menhir.mly" +# 1753 "parser_cocci_menhir.mly" (_1::_2) -# 31850 "parser_cocci_menhir.ml" +# 31911 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31861,9 +31922,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_stm = -# 1761 "parser_cocci_menhir.mly" +# 1762 "parser_cocci_menhir.mly" ([]) -# 31867 "parser_cocci_menhir.ml" +# 31928 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31891,9 +31952,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 1762 "parser_cocci_menhir.mly" +# 1763 "parser_cocci_menhir.mly" (_1::_2) -# 31897 "parser_cocci_menhir.ml" +# 31958 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31921,9 +31982,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 1763 "parser_cocci_menhir.mly" +# 1764 "parser_cocci_menhir.mly" (_1@_2) -# 31927 "parser_cocci_menhir.ml" +# 31988 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31951,9 +32012,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1741 "parser_cocci_menhir.mly" +# 1742 "parser_cocci_menhir.mly" ( _1::_2 ) -# 31957 "parser_cocci_menhir.ml" +# 32018 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31981,9 +32042,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1742 "parser_cocci_menhir.mly" +# 1743 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 31987 "parser_cocci_menhir.ml" +# 32048 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32011,9 +32072,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1743 "parser_cocci_menhir.mly" +# 1744 "parser_cocci_menhir.mly" ( _1@_2 ) -# 32017 "parser_cocci_menhir.ml" +# 32078 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32044,9 +32105,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let b : 'tv_toplevel_after_dots_init = Obj.magic b in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 32050 "parser_cocci_menhir.ml" +# 32111 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -32054,15 +32115,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 910 "parser_cocci_menhir.mly" +# 911 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) ) -# 32060 "parser_cocci_menhir.ml" +# 32121 "parser_cocci_menhir.ml" in -# 1734 "parser_cocci_menhir.mly" +# 1735 "parser_cocci_menhir.mly" ( a::b ) -# 32066 "parser_cocci_menhir.ml" +# 32127 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32102,16 +32163,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_toplevel_after_dots_init = Obj.magic b in let c0 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 32108 "parser_cocci_menhir.ml" +# 32169 "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 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 32115 "parser_cocci_menhir.ml" +# 32176 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -32121,16 +32182,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 914 "parser_cocci_menhir.mly" +# 915 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 32128 "parser_cocci_menhir.ml" +# 32189 "parser_cocci_menhir.ml" in -# 1735 "parser_cocci_menhir.mly" +# 1736 "parser_cocci_menhir.mly" ( a::b ) -# 32134 "parser_cocci_menhir.ml" +# 32195 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32170,16 +32231,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_toplevel_after_dots_init = Obj.magic b in let c0 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 32176 "parser_cocci_menhir.ml" +# 32237 "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 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 32183 "parser_cocci_menhir.ml" +# 32244 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -32189,16 +32250,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 917 "parser_cocci_menhir.mly" +# 918 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 32196 "parser_cocci_menhir.ml" +# 32257 "parser_cocci_menhir.ml" in -# 1735 "parser_cocci_menhir.mly" +# 1736 "parser_cocci_menhir.mly" ( a::b ) -# 32202 "parser_cocci_menhir.ml" +# 32263 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32232,16 +32293,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c0 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 32238 "parser_cocci_menhir.ml" +# 32299 "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 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 32245 "parser_cocci_menhir.ml" +# 32306 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_c0_ in @@ -32251,16 +32312,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 914 "parser_cocci_menhir.mly" +# 915 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 32258 "parser_cocci_menhir.ml" +# 32319 "parser_cocci_menhir.ml" in -# 1736 "parser_cocci_menhir.mly" +# 1737 "parser_cocci_menhir.mly" ( [a] ) -# 32264 "parser_cocci_menhir.ml" +# 32325 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32294,16 +32355,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c0 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 32300 "parser_cocci_menhir.ml" +# 32361 "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 : ( -# 73 "parser_cocci_menhir.mly" +# 74 "parser_cocci_menhir.mly" (Data.clt) -# 32307 "parser_cocci_menhir.ml" +# 32368 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_c0_ in @@ -32313,16 +32374,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 917 "parser_cocci_menhir.mly" +# 918 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 32320 "parser_cocci_menhir.ml" +# 32381 "parser_cocci_menhir.ml" in -# 1736 "parser_cocci_menhir.mly" +# 1737 "parser_cocci_menhir.mly" ( [a] ) -# 32326 "parser_cocci_menhir.ml" +# 32387 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32350,9 +32411,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = -# 1737 "parser_cocci_menhir.mly" +# 1738 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 32356 "parser_cocci_menhir.ml" +# 32417 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32380,9 +32441,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = -# 1738 "parser_cocci_menhir.mly" +# 1739 "parser_cocci_menhir.mly" ( _1@_2 ) -# 32386 "parser_cocci_menhir.ml" +# 32447 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32414,12 +32475,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 32418 "parser_cocci_menhir.ml" +# 32479 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 32423 "parser_cocci_menhir.ml" +# 32484 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32429,28 +32490,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 501 "parser_cocci_menhir.mly" +# 502 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 32435 "parser_cocci_menhir.ml" +# 32496 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32441 "parser_cocci_menhir.ml" +# 32502 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32448 "parser_cocci_menhir.ml" +# 32509 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32454 "parser_cocci_menhir.ml" +# 32515 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32482,12 +32543,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 32486 "parser_cocci_menhir.ml" +# 32547 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 32491 "parser_cocci_menhir.ml" +# 32552 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32497,28 +32558,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 503 "parser_cocci_menhir.mly" +# 504 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 32503 "parser_cocci_menhir.ml" +# 32564 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32509 "parser_cocci_menhir.ml" +# 32570 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32516 "parser_cocci_menhir.ml" +# 32577 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32522 "parser_cocci_menhir.ml" +# 32583 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32550,12 +32611,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 32554 "parser_cocci_menhir.ml" +# 32615 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 32559 "parser_cocci_menhir.ml" +# 32620 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32565,28 +32626,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 505 "parser_cocci_menhir.mly" +# 506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 32571 "parser_cocci_menhir.ml" +# 32632 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32577 "parser_cocci_menhir.ml" +# 32638 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32584 "parser_cocci_menhir.ml" +# 32645 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32590 "parser_cocci_menhir.ml" +# 32651 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32616,14 +32677,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 32622 "parser_cocci_menhir.ml" +# 32683 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 32627 "parser_cocci_menhir.ml" +# 32688 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32633,29 +32694,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 507 "parser_cocci_menhir.mly" +# 508 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 32640 "parser_cocci_menhir.ml" +# 32701 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32646 "parser_cocci_menhir.ml" +# 32707 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32653 "parser_cocci_menhir.ml" +# 32714 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32659 "parser_cocci_menhir.ml" +# 32720 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32696,17 +32757,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 32700 "parser_cocci_menhir.ml" +# 32761 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 47 "parser_cocci_menhir.mly" (string) -# 32705 "parser_cocci_menhir.ml" +# 32766 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 32710 "parser_cocci_menhir.ml" +# 32771 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -32718,33 +32779,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 510 "parser_cocci_menhir.mly" +# 511 "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*))) ) -# 32729 "parser_cocci_menhir.ml" +# 32790 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32735 "parser_cocci_menhir.ml" +# 32796 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32742 "parser_cocci_menhir.ml" +# 32803 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32748 "parser_cocci_menhir.ml" +# 32809 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32776,12 +32837,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 32780 "parser_cocci_menhir.ml" +# 32841 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 32785 "parser_cocci_menhir.ml" +# 32846 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32791,28 +32852,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 518 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 32797 "parser_cocci_menhir.ml" +# 32858 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32803 "parser_cocci_menhir.ml" +# 32864 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32810 "parser_cocci_menhir.ml" +# 32871 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32816 "parser_cocci_menhir.ml" +# 32877 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32849,17 +32910,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 32853 "parser_cocci_menhir.ml" +# 32914 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 32858 "parser_cocci_menhir.ml" +# 32919 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 32863 "parser_cocci_menhir.ml" +# 32924 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32871,31 +32932,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 519 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 32880 "parser_cocci_menhir.ml" +# 32941 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32886 "parser_cocci_menhir.ml" +# 32947 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32893 "parser_cocci_menhir.ml" +# 32954 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32899 "parser_cocci_menhir.ml" +# 32960 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32927,12 +32988,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 32931 "parser_cocci_menhir.ml" +# 32992 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 32936 "parser_cocci_menhir.ml" +# 32997 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32942,28 +33003,96 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 501 "parser_cocci_menhir.mly" +# 502 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 32948 "parser_cocci_menhir.ml" +# 33009 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 32954 "parser_cocci_menhir.ml" +# 33015 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32961 "parser_cocci_menhir.ml" +# 33022 "parser_cocci_menhir.ml" + + in + +# 575 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 33028 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 49 "parser_cocci_menhir.mly" + (Data.clt) +# 33060 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let r0 : ( +# 51 "parser_cocci_menhir.mly" + (Data.clt) +# 33065 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let r = r0 in + let ty = + let ty = ty0 in + +# 504 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) +# 33077 "parser_cocci_menhir.ml" + + in + +# 556 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 33083 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 33090 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32967 "parser_cocci_menhir.ml" +# 33096 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32995,12 +33124,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 32999 "parser_cocci_menhir.ml" +# 33128 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33004 "parser_cocci_menhir.ml" +# 33133 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33010,96 +33139,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 503 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 33016 "parser_cocci_menhir.ml" - - in - -# 555 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33022 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 33029 "parser_cocci_menhir.ml" - - in - -# 574 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 33035 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 49 "parser_cocci_menhir.mly" - (Data.clt) -# 33067 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" - (Data.clt) -# 33072 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_typedef_ctype = let ty = - let ty0 = ty00 in - let r = r0 in - let ty = - let ty = ty0 in - -# 505 "parser_cocci_menhir.mly" +# 506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 33084 "parser_cocci_menhir.ml" +# 33145 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33090 "parser_cocci_menhir.ml" +# 33151 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33097 "parser_cocci_menhir.ml" +# 33158 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33103 "parser_cocci_menhir.ml" +# 33164 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33129,14 +33190,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 33135 "parser_cocci_menhir.ml" +# 33196 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33140 "parser_cocci_menhir.ml" +# 33201 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33146,29 +33207,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 507 "parser_cocci_menhir.mly" +# 508 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 33153 "parser_cocci_menhir.ml" +# 33214 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33159 "parser_cocci_menhir.ml" +# 33220 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33166 "parser_cocci_menhir.ml" +# 33227 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33172 "parser_cocci_menhir.ml" +# 33233 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33209,17 +33270,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 33213 "parser_cocci_menhir.ml" +# 33274 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 47 "parser_cocci_menhir.mly" (string) -# 33218 "parser_cocci_menhir.ml" +# 33279 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33223 "parser_cocci_menhir.ml" +# 33284 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -33231,33 +33292,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 510 "parser_cocci_menhir.mly" +# 511 "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*))) ) -# 33242 "parser_cocci_menhir.ml" +# 33303 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33248 "parser_cocci_menhir.ml" +# 33309 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33255 "parser_cocci_menhir.ml" +# 33316 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33261 "parser_cocci_menhir.ml" +# 33322 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33289,12 +33350,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 33293 "parser_cocci_menhir.ml" +# 33354 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33298 "parser_cocci_menhir.ml" +# 33359 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33304,28 +33365,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 518 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 33310 "parser_cocci_menhir.ml" +# 33371 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33316 "parser_cocci_menhir.ml" +# 33377 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33323 "parser_cocci_menhir.ml" +# 33384 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33329 "parser_cocci_menhir.ml" +# 33390 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33362,17 +33423,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 33366 "parser_cocci_menhir.ml" +# 33427 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 33371 "parser_cocci_menhir.ml" +# 33432 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33376 "parser_cocci_menhir.ml" +# 33437 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33384,31 +33445,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 519 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 33393 "parser_cocci_menhir.ml" +# 33454 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33399 "parser_cocci_menhir.ml" +# 33460 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33406 "parser_cocci_menhir.ml" +# 33467 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33412 "parser_cocci_menhir.ml" +# 33473 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33435,7 +33496,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 33439 "parser_cocci_menhir.ml" +# 33500 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33444,28 +33505,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 501 "parser_cocci_menhir.mly" +# 502 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 33450 "parser_cocci_menhir.ml" +# 33511 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 33456 "parser_cocci_menhir.ml" +# 33517 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33463 "parser_cocci_menhir.ml" +# 33524 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33469 "parser_cocci_menhir.ml" +# 33530 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33492,7 +33553,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 33496 "parser_cocci_menhir.ml" +# 33557 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33501,28 +33562,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 503 "parser_cocci_menhir.mly" +# 504 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 33507 "parser_cocci_menhir.ml" +# 33568 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 33513 "parser_cocci_menhir.ml" +# 33574 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33520 "parser_cocci_menhir.ml" +# 33581 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33526 "parser_cocci_menhir.ml" +# 33587 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33549,7 +33610,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 33553 "parser_cocci_menhir.ml" +# 33614 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33558,28 +33619,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 505 "parser_cocci_menhir.mly" +# 506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 33564 "parser_cocci_menhir.ml" +# 33625 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 33570 "parser_cocci_menhir.ml" +# 33631 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33577 "parser_cocci_menhir.ml" +# 33638 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33583 "parser_cocci_menhir.ml" +# 33644 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33604,9 +33665,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 33610 "parser_cocci_menhir.ml" +# 33671 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -33615,29 +33676,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 507 "parser_cocci_menhir.mly" +# 508 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 33622 "parser_cocci_menhir.ml" +# 33683 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 33628 "parser_cocci_menhir.ml" +# 33689 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33635 "parser_cocci_menhir.ml" +# 33696 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33641 "parser_cocci_menhir.ml" +# 33702 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33673,12 +33734,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 33677 "parser_cocci_menhir.ml" +# 33738 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 47 "parser_cocci_menhir.mly" (string) -# 33682 "parser_cocci_menhir.ml" +# 33743 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in @@ -33689,33 +33750,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 510 "parser_cocci_menhir.mly" +# 511 "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*))) ) -# 33700 "parser_cocci_menhir.ml" +# 33761 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 33706 "parser_cocci_menhir.ml" +# 33767 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33713 "parser_cocci_menhir.ml" +# 33774 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33719 "parser_cocci_menhir.ml" +# 33780 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33742,7 +33803,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 33746 "parser_cocci_menhir.ml" +# 33807 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33751,28 +33812,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 518 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 33757 "parser_cocci_menhir.ml" +# 33818 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 33763 "parser_cocci_menhir.ml" +# 33824 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33770 "parser_cocci_menhir.ml" +# 33831 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33776 "parser_cocci_menhir.ml" +# 33837 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33804,12 +33865,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 33808 "parser_cocci_menhir.ml" +# 33869 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 33813 "parser_cocci_menhir.ml" +# 33874 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -33820,31 +33881,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 519 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 33829 "parser_cocci_menhir.ml" +# 33890 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 33835 "parser_cocci_menhir.ml" +# 33896 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33842 "parser_cocci_menhir.ml" +# 33903 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33848 "parser_cocci_menhir.ml" +# 33909 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33871,7 +33932,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 50 "parser_cocci_menhir.mly" (Data.clt) -# 33875 "parser_cocci_menhir.ml" +# 33936 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33880,28 +33941,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 527 "parser_cocci_menhir.mly" +# 528 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 33886 "parser_cocci_menhir.ml" +# 33947 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 33892 "parser_cocci_menhir.ml" +# 33953 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33899 "parser_cocci_menhir.ml" +# 33960 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33905 "parser_cocci_menhir.ml" +# 33966 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33928,7 +33989,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 33932 "parser_cocci_menhir.ml" +# 33993 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33937,28 +33998,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 529 "parser_cocci_menhir.mly" +# 530 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 33943 "parser_cocci_menhir.ml" +# 34004 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 33949 "parser_cocci_menhir.ml" +# 34010 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33956 "parser_cocci_menhir.ml" +# 34017 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33962 "parser_cocci_menhir.ml" +# 34023 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33985,7 +34046,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 33989 "parser_cocci_menhir.ml" +# 34050 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33994,28 +34055,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 34000 "parser_cocci_menhir.ml" +# 34061 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 34006 "parser_cocci_menhir.ml" +# 34067 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34013 "parser_cocci_menhir.ml" +# 34074 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34019 "parser_cocci_menhir.ml" +# 34080 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34048,7 +34109,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 50 "parser_cocci_menhir.mly" (Data.clt) -# 34052 "parser_cocci_menhir.ml" +# 34113 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -34059,28 +34120,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 533 "parser_cocci_menhir.mly" +# 534 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 34065 "parser_cocci_menhir.ml" +# 34126 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 34071 "parser_cocci_menhir.ml" +# 34132 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34078 "parser_cocci_menhir.ml" +# 34139 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34084 "parser_cocci_menhir.ml" +# 34145 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34120,28 +34181,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 535 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 34126 "parser_cocci_menhir.ml" +# 34187 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 34132 "parser_cocci_menhir.ml" +# 34193 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34139 "parser_cocci_menhir.ml" +# 34200 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34145 "parser_cocci_menhir.ml" +# 34206 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34181,15 +34242,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 34187 "parser_cocci_menhir.ml" +# 34248 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 34193 "parser_cocci_menhir.ml" +# 34254 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let _startpos = _startpos_s00_ in @@ -34208,36 +34269,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 34212 "parser_cocci_menhir.ml" +# 34273 "parser_cocci_menhir.ml" in -# 538 "parser_cocci_menhir.mly" +# 539 "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)) ) -# 34222 "parser_cocci_menhir.ml" +# 34283 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 34228 "parser_cocci_menhir.ml" +# 34289 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34235 "parser_cocci_menhir.ml" +# 34296 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34241 "parser_cocci_menhir.ml" +# 34302 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34282,15 +34343,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 34288 "parser_cocci_menhir.ml" +# 34349 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 34294 "parser_cocci_menhir.ml" +# 34355 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : 'tv_struct_or_union = Obj.magic s00 in @@ -34313,36 +34374,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34317 "parser_cocci_menhir.ml" +# 34378 "parser_cocci_menhir.ml" in -# 538 "parser_cocci_menhir.mly" +# 539 "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)) ) -# 34327 "parser_cocci_menhir.ml" +# 34388 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 34333 "parser_cocci_menhir.ml" +# 34394 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34340 "parser_cocci_menhir.ml" +# 34401 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34346 "parser_cocci_menhir.ml" +# 34407 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34382,20 +34443,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 34388 "parser_cocci_menhir.ml" +# 34449 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 34394 "parser_cocci_menhir.ml" +# 34455 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 34399 "parser_cocci_menhir.ml" +# 34460 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -34410,30 +34471,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 544 "parser_cocci_menhir.mly" +# 545 "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)) ) -# 34418 "parser_cocci_menhir.ml" +# 34479 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 34424 "parser_cocci_menhir.ml" +# 34485 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34431 "parser_cocci_menhir.ml" +# 34492 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34437 "parser_cocci_menhir.ml" +# 34498 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34460,7 +34521,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 34464 "parser_cocci_menhir.ml" +# 34525 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -34469,28 +34530,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 548 "parser_cocci_menhir.mly" +# 549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 34475 "parser_cocci_menhir.ml" +# 34536 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 34481 "parser_cocci_menhir.ml" +# 34542 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34488 "parser_cocci_menhir.ml" +# 34549 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34494 "parser_cocci_menhir.ml" +# 34555 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34527,12 +34588,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 34531 "parser_cocci_menhir.ml" +# 34592 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34536 "parser_cocci_menhir.ml" +# 34597 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34543,15 +34604,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 501 "parser_cocci_menhir.mly" +# 502 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 34549 "parser_cocci_menhir.ml" +# 34610 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34555 "parser_cocci_menhir.ml" +# 34616 "parser_cocci_menhir.ml" in let cv = @@ -34559,13 +34620,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34563 "parser_cocci_menhir.ml" +# 34624 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34569 "parser_cocci_menhir.ml" +# 34630 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34602,12 +34663,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 34606 "parser_cocci_menhir.ml" +# 34667 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34611 "parser_cocci_menhir.ml" +# 34672 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34618,15 +34679,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 503 "parser_cocci_menhir.mly" +# 504 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 34624 "parser_cocci_menhir.ml" +# 34685 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34630 "parser_cocci_menhir.ml" +# 34691 "parser_cocci_menhir.ml" in let cv = @@ -34634,13 +34695,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34638 "parser_cocci_menhir.ml" +# 34699 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34644 "parser_cocci_menhir.ml" +# 34705 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34677,12 +34738,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 34681 "parser_cocci_menhir.ml" +# 34742 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34686 "parser_cocci_menhir.ml" +# 34747 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34693,15 +34754,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 505 "parser_cocci_menhir.mly" +# 506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 34699 "parser_cocci_menhir.ml" +# 34760 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34705 "parser_cocci_menhir.ml" +# 34766 "parser_cocci_menhir.ml" in let cv = @@ -34709,13 +34770,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34713 "parser_cocci_menhir.ml" +# 34774 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34719 "parser_cocci_menhir.ml" +# 34780 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34750,14 +34811,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 34756 "parser_cocci_menhir.ml" +# 34817 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34761 "parser_cocci_menhir.ml" +# 34822 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34768,16 +34829,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 507 "parser_cocci_menhir.mly" +# 508 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 34775 "parser_cocci_menhir.ml" +# 34836 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34781 "parser_cocci_menhir.ml" +# 34842 "parser_cocci_menhir.ml" in let cv = @@ -34785,13 +34846,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34789 "parser_cocci_menhir.ml" +# 34850 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34795 "parser_cocci_menhir.ml" +# 34856 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34837,17 +34898,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 34841 "parser_cocci_menhir.ml" +# 34902 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 47 "parser_cocci_menhir.mly" (string) -# 34846 "parser_cocci_menhir.ml" +# 34907 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34851 "parser_cocci_menhir.ml" +# 34912 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34860,20 +34921,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 510 "parser_cocci_menhir.mly" +# 511 "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*))) ) -# 34871 "parser_cocci_menhir.ml" +# 34932 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34877 "parser_cocci_menhir.ml" +# 34938 "parser_cocci_menhir.ml" in let cv = @@ -34881,13 +34942,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34885 "parser_cocci_menhir.ml" +# 34946 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34891 "parser_cocci_menhir.ml" +# 34952 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34924,12 +34985,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 34928 "parser_cocci_menhir.ml" +# 34989 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34933 "parser_cocci_menhir.ml" +# 34994 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34940,15 +35001,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 518 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 34946 "parser_cocci_menhir.ml" +# 35007 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34952 "parser_cocci_menhir.ml" +# 35013 "parser_cocci_menhir.ml" in let cv = @@ -34956,13 +35017,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34960 "parser_cocci_menhir.ml" +# 35021 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34966 "parser_cocci_menhir.ml" +# 35027 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35004,17 +35065,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 35008 "parser_cocci_menhir.ml" +# 35069 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 35013 "parser_cocci_menhir.ml" +# 35074 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35018 "parser_cocci_menhir.ml" +# 35079 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35027,18 +35088,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 519 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 35036 "parser_cocci_menhir.ml" +# 35097 "parser_cocci_menhir.ml" in -# 553 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35042 "parser_cocci_menhir.ml" +# 35103 "parser_cocci_menhir.ml" in let cv = @@ -35046,13 +35107,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35050 "parser_cocci_menhir.ml" +# 35111 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35056 "parser_cocci_menhir.ml" +# 35117 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35089,12 +35150,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 35093 "parser_cocci_menhir.ml" +# 35154 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35098 "parser_cocci_menhir.ml" +# 35159 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35105,15 +35166,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 501 "parser_cocci_menhir.mly" +# 502 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 35111 "parser_cocci_menhir.ml" +# 35172 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35117 "parser_cocci_menhir.ml" +# 35178 "parser_cocci_menhir.ml" in let cv = @@ -35121,13 +35182,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35125 "parser_cocci_menhir.ml" +# 35186 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35131 "parser_cocci_menhir.ml" +# 35192 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35164,12 +35225,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 35168 "parser_cocci_menhir.ml" +# 35229 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35173 "parser_cocci_menhir.ml" +# 35234 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35180,15 +35241,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 503 "parser_cocci_menhir.mly" +# 504 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 35186 "parser_cocci_menhir.ml" +# 35247 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35192 "parser_cocci_menhir.ml" +# 35253 "parser_cocci_menhir.ml" in let cv = @@ -35196,13 +35257,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35200 "parser_cocci_menhir.ml" +# 35261 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35206 "parser_cocci_menhir.ml" +# 35267 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35239,12 +35300,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 35243 "parser_cocci_menhir.ml" +# 35304 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35248 "parser_cocci_menhir.ml" +# 35309 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35255,15 +35316,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 505 "parser_cocci_menhir.mly" +# 506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 35261 "parser_cocci_menhir.ml" +# 35322 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35267 "parser_cocci_menhir.ml" +# 35328 "parser_cocci_menhir.ml" in let cv = @@ -35271,13 +35332,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35275 "parser_cocci_menhir.ml" +# 35336 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35281 "parser_cocci_menhir.ml" +# 35342 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35312,14 +35373,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 35318 "parser_cocci_menhir.ml" +# 35379 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35323 "parser_cocci_menhir.ml" +# 35384 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35330,16 +35391,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 507 "parser_cocci_menhir.mly" +# 508 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 35337 "parser_cocci_menhir.ml" +# 35398 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35343 "parser_cocci_menhir.ml" +# 35404 "parser_cocci_menhir.ml" in let cv = @@ -35347,13 +35408,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35351 "parser_cocci_menhir.ml" +# 35412 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35357 "parser_cocci_menhir.ml" +# 35418 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35399,17 +35460,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 35403 "parser_cocci_menhir.ml" +# 35464 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 47 "parser_cocci_menhir.mly" (string) -# 35408 "parser_cocci_menhir.ml" +# 35469 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35413 "parser_cocci_menhir.ml" +# 35474 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35422,20 +35483,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 510 "parser_cocci_menhir.mly" +# 511 "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*))) ) -# 35433 "parser_cocci_menhir.ml" +# 35494 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35439 "parser_cocci_menhir.ml" +# 35500 "parser_cocci_menhir.ml" in let cv = @@ -35443,13 +35504,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35447 "parser_cocci_menhir.ml" +# 35508 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35453 "parser_cocci_menhir.ml" +# 35514 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35486,12 +35547,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 35490 "parser_cocci_menhir.ml" +# 35551 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35495 "parser_cocci_menhir.ml" +# 35556 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35502,15 +35563,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 518 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 35508 "parser_cocci_menhir.ml" +# 35569 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35514 "parser_cocci_menhir.ml" +# 35575 "parser_cocci_menhir.ml" in let cv = @@ -35518,13 +35579,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35522 "parser_cocci_menhir.ml" +# 35583 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35528 "parser_cocci_menhir.ml" +# 35589 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35566,17 +35627,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 35570 "parser_cocci_menhir.ml" +# 35631 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 35575 "parser_cocci_menhir.ml" +# 35636 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35580 "parser_cocci_menhir.ml" +# 35641 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35589,18 +35650,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 519 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 35598 "parser_cocci_menhir.ml" +# 35659 "parser_cocci_menhir.ml" in -# 555 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35604 "parser_cocci_menhir.ml" +# 35665 "parser_cocci_menhir.ml" in let cv = @@ -35608,13 +35669,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35612 "parser_cocci_menhir.ml" +# 35673 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35618 "parser_cocci_menhir.ml" +# 35679 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35646,7 +35707,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 35650 "parser_cocci_menhir.ml" +# 35711 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35656,15 +35717,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 501 "parser_cocci_menhir.mly" +# 502 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 35662 "parser_cocci_menhir.ml" +# 35723 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 35668 "parser_cocci_menhir.ml" +# 35729 "parser_cocci_menhir.ml" in let cv = @@ -35672,13 +35733,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35676 "parser_cocci_menhir.ml" +# 35737 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35682 "parser_cocci_menhir.ml" +# 35743 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35710,7 +35771,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 35714 "parser_cocci_menhir.ml" +# 35775 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35720,15 +35781,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 503 "parser_cocci_menhir.mly" +# 504 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 35726 "parser_cocci_menhir.ml" +# 35787 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 35732 "parser_cocci_menhir.ml" +# 35793 "parser_cocci_menhir.ml" in let cv = @@ -35736,13 +35797,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35740 "parser_cocci_menhir.ml" +# 35801 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35746 "parser_cocci_menhir.ml" +# 35807 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35774,7 +35835,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 35778 "parser_cocci_menhir.ml" +# 35839 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35784,15 +35845,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 505 "parser_cocci_menhir.mly" +# 506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 35790 "parser_cocci_menhir.ml" +# 35851 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 35796 "parser_cocci_menhir.ml" +# 35857 "parser_cocci_menhir.ml" in let cv = @@ -35800,13 +35861,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35804 "parser_cocci_menhir.ml" +# 35865 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35810 "parser_cocci_menhir.ml" +# 35871 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35836,9 +35897,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 35842 "parser_cocci_menhir.ml" +# 35903 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35848,16 +35909,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 507 "parser_cocci_menhir.mly" +# 508 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 35855 "parser_cocci_menhir.ml" +# 35916 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 35861 "parser_cocci_menhir.ml" +# 35922 "parser_cocci_menhir.ml" in let cv = @@ -35865,13 +35926,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35869 "parser_cocci_menhir.ml" +# 35930 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35875 "parser_cocci_menhir.ml" +# 35936 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35912,12 +35973,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 35916 "parser_cocci_menhir.ml" +# 35977 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 47 "parser_cocci_menhir.mly" (string) -# 35921 "parser_cocci_menhir.ml" +# 35982 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35929,20 +35990,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 510 "parser_cocci_menhir.mly" +# 511 "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*))) ) -# 35940 "parser_cocci_menhir.ml" +# 36001 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 35946 "parser_cocci_menhir.ml" +# 36007 "parser_cocci_menhir.ml" in let cv = @@ -35950,13 +36011,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35954 "parser_cocci_menhir.ml" +# 36015 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35960 "parser_cocci_menhir.ml" +# 36021 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35988,7 +36049,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 35992 "parser_cocci_menhir.ml" +# 36053 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35998,15 +36059,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 518 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 36004 "parser_cocci_menhir.ml" +# 36065 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 36010 "parser_cocci_menhir.ml" +# 36071 "parser_cocci_menhir.ml" in let cv = @@ -36014,13 +36075,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36018 "parser_cocci_menhir.ml" +# 36079 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36024 "parser_cocci_menhir.ml" +# 36085 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36057,12 +36118,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 36061 "parser_cocci_menhir.ml" +# 36122 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 36066 "parser_cocci_menhir.ml" +# 36127 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36074,18 +36135,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 519 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 36083 "parser_cocci_menhir.ml" +# 36144 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( ty ) -# 36089 "parser_cocci_menhir.ml" +# 36150 "parser_cocci_menhir.ml" in let cv = @@ -36093,13 +36154,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36097 "parser_cocci_menhir.ml" +# 36158 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36103 "parser_cocci_menhir.ml" +# 36164 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36131,7 +36192,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 50 "parser_cocci_menhir.mly" (Data.clt) -# 36135 "parser_cocci_menhir.ml" +# 36196 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36141,15 +36202,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 527 "parser_cocci_menhir.mly" +# 528 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 36147 "parser_cocci_menhir.ml" +# 36208 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 36153 "parser_cocci_menhir.ml" +# 36214 "parser_cocci_menhir.ml" in let cv = @@ -36157,13 +36218,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36161 "parser_cocci_menhir.ml" +# 36222 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36167 "parser_cocci_menhir.ml" +# 36228 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36195,7 +36256,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 36199 "parser_cocci_menhir.ml" +# 36260 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36205,15 +36266,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 529 "parser_cocci_menhir.mly" +# 530 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 36211 "parser_cocci_menhir.ml" +# 36272 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 36217 "parser_cocci_menhir.ml" +# 36278 "parser_cocci_menhir.ml" in let cv = @@ -36221,13 +36282,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36225 "parser_cocci_menhir.ml" +# 36286 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36231 "parser_cocci_menhir.ml" +# 36292 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36259,7 +36320,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 49 "parser_cocci_menhir.mly" (Data.clt) -# 36263 "parser_cocci_menhir.ml" +# 36324 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36269,15 +36330,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 36275 "parser_cocci_menhir.ml" +# 36336 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 36281 "parser_cocci_menhir.ml" +# 36342 "parser_cocci_menhir.ml" in let cv = @@ -36285,13 +36346,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36289 "parser_cocci_menhir.ml" +# 36350 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36295 "parser_cocci_menhir.ml" +# 36356 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36329,7 +36390,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 50 "parser_cocci_menhir.mly" (Data.clt) -# 36333 "parser_cocci_menhir.ml" +# 36394 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36341,15 +36402,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 533 "parser_cocci_menhir.mly" +# 534 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 36347 "parser_cocci_menhir.ml" +# 36408 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 36353 "parser_cocci_menhir.ml" +# 36414 "parser_cocci_menhir.ml" in let cv = @@ -36357,13 +36418,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36361 "parser_cocci_menhir.ml" +# 36422 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36367 "parser_cocci_menhir.ml" +# 36428 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36409,15 +36470,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 535 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 36415 "parser_cocci_menhir.ml" +# 36476 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 36421 "parser_cocci_menhir.ml" +# 36482 "parser_cocci_menhir.ml" in let cv = @@ -36425,13 +36486,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36429 "parser_cocci_menhir.ml" +# 36490 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36435 "parser_cocci_menhir.ml" +# 36496 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36476,15 +36537,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 36482 "parser_cocci_menhir.ml" +# 36543 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 36488 "parser_cocci_menhir.ml" +# 36549 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in @@ -36504,23 +36565,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 36508 "parser_cocci_menhir.ml" +# 36569 "parser_cocci_menhir.ml" in -# 538 "parser_cocci_menhir.mly" +# 539 "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)) ) -# 36518 "parser_cocci_menhir.ml" +# 36579 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 36524 "parser_cocci_menhir.ml" +# 36585 "parser_cocci_menhir.ml" in let cv = @@ -36528,13 +36589,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36532 "parser_cocci_menhir.ml" +# 36593 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36538 "parser_cocci_menhir.ml" +# 36599 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36584,15 +36645,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 36590 "parser_cocci_menhir.ml" +# 36651 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 36596 "parser_cocci_menhir.ml" +# 36657 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : 'tv_struct_or_union = Obj.magic s00 in @@ -36616,23 +36677,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36620 "parser_cocci_menhir.ml" +# 36681 "parser_cocci_menhir.ml" in -# 538 "parser_cocci_menhir.mly" +# 539 "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)) ) -# 36630 "parser_cocci_menhir.ml" +# 36691 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 36636 "parser_cocci_menhir.ml" +# 36697 "parser_cocci_menhir.ml" in let cv = @@ -36640,13 +36701,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36644 "parser_cocci_menhir.ml" +# 36705 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36650 "parser_cocci_menhir.ml" +# 36711 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36691,20 +36752,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 36697 "parser_cocci_menhir.ml" +# 36758 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) -# 36703 "parser_cocci_menhir.ml" +# 36764 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 36708 "parser_cocci_menhir.ml" +# 36769 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36720,17 +36781,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 544 "parser_cocci_menhir.mly" +# 545 "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)) ) -# 36728 "parser_cocci_menhir.ml" +# 36789 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 36734 "parser_cocci_menhir.ml" +# 36795 "parser_cocci_menhir.ml" in let cv = @@ -36738,13 +36799,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36742 "parser_cocci_menhir.ml" +# 36803 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36748 "parser_cocci_menhir.ml" +# 36809 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36776,7 +36837,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 59 "parser_cocci_menhir.mly" (string * Data.clt) -# 36780 "parser_cocci_menhir.ml" +# 36841 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36786,15 +36847,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 548 "parser_cocci_menhir.mly" +# 549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 36792 "parser_cocci_menhir.ml" +# 36853 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( ty ) -# 36798 "parser_cocci_menhir.ml" +# 36859 "parser_cocci_menhir.ml" in let cv = @@ -36802,13 +36863,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36806 "parser_cocci_menhir.ml" +# 36867 "parser_cocci_menhir.ml" in -# 574 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36812 "parser_cocci_menhir.ml" +# 36873 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36837,24 +36898,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 36843 "parser_cocci_menhir.ml" +# 36904 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 36849 "parser_cocci_menhir.ml" +# 36910 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_typedef_ctype = -# 576 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 36858 "parser_cocci_menhir.ml" +# 36919 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36876,9 +36937,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1640 "parser_cocci_menhir.mly" +# 1641 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) ) -# 36882 "parser_cocci_menhir.ml" +# 36943 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36897,17 +36958,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 64 "parser_cocci_menhir.mly" +# 65 "parser_cocci_menhir.mly" (Parse_aux.info) -# 36903 "parser_cocci_menhir.ml" +# 36964 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1642 "parser_cocci_menhir.mly" +# 1643 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 36911 "parser_cocci_menhir.ml" +# 36972 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36929,9 +36990,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1318 "parser_cocci_menhir.mly" +# 1319 "parser_cocci_menhir.mly" ( _1 ) -# 36935 "parser_cocci_menhir.ml" +# 36996 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36956,16 +37017,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 36962 "parser_cocci_menhir.ml" +# 37023 "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_ = -# 1320 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 36969 "parser_cocci_menhir.ml" +# 37030 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36990,16 +37051,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 36996 "parser_cocci_menhir.ml" +# 37057 "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_ = -# 1322 "parser_cocci_menhir.mly" +# 1323 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37003 "parser_cocci_menhir.ml" +# 37064 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37027,9 +37088,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1324 "parser_cocci_menhir.mly" +# 1325 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37033 "parser_cocci_menhir.ml" +# 37094 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37054,17 +37115,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 37060 "parser_cocci_menhir.ml" +# 37121 "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_ = -# 1326 "parser_cocci_menhir.mly" +# 1327 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37068 "parser_cocci_menhir.ml" +# 37129 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37091,14 +37152,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 37095 "parser_cocci_menhir.ml" +# 37156 "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_ = -# 1329 "parser_cocci_menhir.mly" +# 1330 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37102 "parser_cocci_menhir.ml" +# 37163 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37132,29 +37193,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 37138 "parser_cocci_menhir.ml" +# 37199 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 37144 "parser_cocci_menhir.ml" +# 37205 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 37149 "parser_cocci_menhir.ml" +# 37210 "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_ = -# 1331 "parser_cocci_menhir.mly" +# 1332 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37158 "parser_cocci_menhir.ml" +# 37219 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37176,9 +37237,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1318 "parser_cocci_menhir.mly" +# 1319 "parser_cocci_menhir.mly" ( _1 ) -# 37182 "parser_cocci_menhir.ml" +# 37243 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37203,16 +37264,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 37209 "parser_cocci_menhir.ml" +# 37270 "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_ = -# 1320 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37216 "parser_cocci_menhir.ml" +# 37277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37237,16 +37298,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 37243 "parser_cocci_menhir.ml" +# 37304 "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_ = -# 1322 "parser_cocci_menhir.mly" +# 1323 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37250 "parser_cocci_menhir.ml" +# 37311 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37274,9 +37335,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1324 "parser_cocci_menhir.mly" +# 1325 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37280 "parser_cocci_menhir.ml" +# 37341 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37301,17 +37362,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 37307 "parser_cocci_menhir.ml" +# 37368 "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_ = -# 1326 "parser_cocci_menhir.mly" +# 1327 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37315 "parser_cocci_menhir.ml" +# 37376 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37338,14 +37399,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 37342 "parser_cocci_menhir.ml" +# 37403 "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_ = -# 1329 "parser_cocci_menhir.mly" +# 1330 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37349 "parser_cocci_menhir.ml" +# 37410 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37379,29 +37440,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 37385 "parser_cocci_menhir.ml" +# 37446 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 37391 "parser_cocci_menhir.ml" +# 37452 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 37396 "parser_cocci_menhir.ml" +# 37457 "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_ = -# 1331 "parser_cocci_menhir.mly" +# 1332 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37405 "parser_cocci_menhir.ml" +# 37466 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37423,9 +37484,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1318 "parser_cocci_menhir.mly" +# 1319 "parser_cocci_menhir.mly" ( _1 ) -# 37429 "parser_cocci_menhir.ml" +# 37490 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37450,16 +37511,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 37456 "parser_cocci_menhir.ml" +# 37517 "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_ = -# 1320 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37463 "parser_cocci_menhir.ml" +# 37524 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37484,16 +37545,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 37490 "parser_cocci_menhir.ml" +# 37551 "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_ = -# 1322 "parser_cocci_menhir.mly" +# 1323 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37497 "parser_cocci_menhir.ml" +# 37558 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37521,9 +37582,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1324 "parser_cocci_menhir.mly" +# 1325 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37527 "parser_cocci_menhir.ml" +# 37588 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37548,17 +37609,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 37554 "parser_cocci_menhir.ml" +# 37615 "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_ = -# 1326 "parser_cocci_menhir.mly" +# 1327 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37562 "parser_cocci_menhir.ml" +# 37623 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37585,14 +37646,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 37589 "parser_cocci_menhir.ml" +# 37650 "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_ = -# 1329 "parser_cocci_menhir.mly" +# 1330 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37596 "parser_cocci_menhir.ml" +# 37657 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37626,29 +37687,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 37632 "parser_cocci_menhir.ml" +# 37693 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 37638 "parser_cocci_menhir.ml" +# 37699 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 37643 "parser_cocci_menhir.ml" +# 37704 "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_ = -# 1331 "parser_cocci_menhir.mly" +# 1332 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37652 "parser_cocci_menhir.ml" +# 37713 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37670,9 +37731,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1318 "parser_cocci_menhir.mly" +# 1319 "parser_cocci_menhir.mly" ( _1 ) -# 37676 "parser_cocci_menhir.ml" +# 37737 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37697,16 +37758,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 37703 "parser_cocci_menhir.ml" +# 37764 "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_ = -# 1320 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37710 "parser_cocci_menhir.ml" +# 37771 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37731,16 +37792,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Data.clt) -# 37737 "parser_cocci_menhir.ml" +# 37798 "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_ = -# 1322 "parser_cocci_menhir.mly" +# 1323 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37744 "parser_cocci_menhir.ml" +# 37805 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37768,9 +37829,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1324 "parser_cocci_menhir.mly" +# 1325 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37774 "parser_cocci_menhir.ml" +# 37835 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37795,17 +37856,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 37801 "parser_cocci_menhir.ml" +# 37862 "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_ = -# 1326 "parser_cocci_menhir.mly" +# 1327 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37809 "parser_cocci_menhir.ml" +# 37870 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37832,14 +37893,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 37836 "parser_cocci_menhir.ml" +# 37897 "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_ = -# 1329 "parser_cocci_menhir.mly" +# 1330 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37843 "parser_cocci_menhir.ml" +# 37904 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37873,29 +37934,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) -# 37879 "parser_cocci_menhir.ml" +# 37940 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) -# 37885 "parser_cocci_menhir.ml" +# 37946 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 58 "parser_cocci_menhir.mly" (Data.clt) -# 37890 "parser_cocci_menhir.ml" +# 37951 "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_ = -# 1331 "parser_cocci_menhir.mly" +# 1332 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37899 "parser_cocci_menhir.ml" +# 37960 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37914,16 +37975,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 93 "parser_cocci_menhir.mly" +# 94 "parser_cocci_menhir.mly" (Data.clt) -# 37920 "parser_cocci_menhir.ml" +# 37981 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1335 "parser_cocci_menhir.mly" +# 1336 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.GetRef _1 ) -# 37927 "parser_cocci_menhir.ml" +# 37988 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37942,16 +38003,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 37948 "parser_cocci_menhir.ml" +# 38009 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1336 "parser_cocci_menhir.mly" +# 1337 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.DeRef _1 ) -# 37955 "parser_cocci_menhir.ml" +# 38016 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37970,16 +38031,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 98 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 37976 "parser_cocci_menhir.ml" +# 38037 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1337 "parser_cocci_menhir.mly" +# 1338 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnPlus _1 ) -# 37983 "parser_cocci_menhir.ml" +# 38044 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37998,16 +38059,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 98 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 38004 "parser_cocci_menhir.ml" +# 38065 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1338 "parser_cocci_menhir.mly" +# 1339 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnMinus _1 ) -# 38011 "parser_cocci_menhir.ml" +# 38072 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38026,16 +38087,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 38032 "parser_cocci_menhir.ml" +# 38093 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1339 "parser_cocci_menhir.mly" +# 1340 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Tilde _1 ) -# 38039 "parser_cocci_menhir.ml" +# 38100 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38063,9 +38124,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1860 "parser_cocci_menhir.mly" +# 1861 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) ) -# 38069 "parser_cocci_menhir.ml" +# 38130 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38093,9 +38154,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1862 "parser_cocci_menhir.mly" +# 1863 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1@_2)) ) -# 38099 "parser_cocci_menhir.ml" +# 38160 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38117,9 +38178,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_w_ in let _endpos = _endpos_w_ in let _v : 'tv_whenppdecs = -# 921 "parser_cocci_menhir.mly" +# 922 "parser_cocci_menhir.mly" ( w ) -# 38123 "parser_cocci_menhir.ml" +# 38184 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38153,9 +38214,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1928 "parser_cocci_menhir.mly" +# 1929 "parser_cocci_menhir.mly" ( [Ast0.WhenNot w] ) -# 38159 "parser_cocci_menhir.ml" +# 38220 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38189,9 +38250,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1929 "parser_cocci_menhir.mly" +# 1930 "parser_cocci_menhir.mly" ( [Ast0.WhenAlways w] ) -# 38195 "parser_cocci_menhir.ml" +# 38256 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38221,9 +38282,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1931 "parser_cocci_menhir.mly" +# 1932 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.WhenModifier(x)) _2 ) -# 38227 "parser_cocci_menhir.ml" +# 38288 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38257,9 +38318,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1932 "parser_cocci_menhir.mly" +# 1933 "parser_cocci_menhir.mly" ( [Ast0.WhenNotTrue e] ) -# 38263 "parser_cocci_menhir.ml" +# 38324 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38293,9 +38354,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1933 "parser_cocci_menhir.mly" +# 1934 "parser_cocci_menhir.mly" ( [Ast0.WhenNotFalse e] ) -# 38299 "parser_cocci_menhir.ml" +# 38360 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38316,106 +38377,106 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rec script_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1805 lexer lexbuf) : ( -# 159 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1811 lexer lexbuf) : ( +# 160 "parser_cocci_menhir.mly" (string * Ast_cocci.meta_name) -# 38323 "parser_cocci_menhir.ml" +# 38384 "parser_cocci_menhir.ml" )) and rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1735 lexer lexbuf) : ( -# 153 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1739 lexer lexbuf) : ( +# 154 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 38331 "parser_cocci_menhir.ml" +# 38392 "parser_cocci_menhir.ml" )) and reinit = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1733 lexer lexbuf) : ( -# 131 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1737 lexer lexbuf) : ( +# 132 "parser_cocci_menhir.mly" (unit) -# 38339 "parser_cocci_menhir.ml" +# 38400 "parser_cocci_menhir.ml" )) and plus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1697 lexer lexbuf) : ( -# 140 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1701 lexer lexbuf) : ( +# 141 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38347 "parser_cocci_menhir.ml" +# 38408 "parser_cocci_menhir.ml" )) and plus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1689 lexer lexbuf) : ( -# 143 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1693 lexer lexbuf) : ( +# 144 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38355 "parser_cocci_menhir.ml" +# 38416 "parser_cocci_menhir.ml" )) and never_used = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1683 lexer lexbuf) : ( -# 168 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1687 lexer lexbuf) : ( +# 169 "parser_cocci_menhir.mly" (unit) -# 38363 "parser_cocci_menhir.ml" +# 38424 "parser_cocci_menhir.ml" )) and minus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1603 lexer lexbuf) : ( -# 134 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1607 lexer lexbuf) : ( +# 135 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38371 "parser_cocci_menhir.ml" +# 38432 "parser_cocci_menhir.ml" )) and minus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1591 lexer lexbuf) : ( -# 137 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1595 lexer lexbuf) : ( +# 138 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38379 "parser_cocci_menhir.ml" +# 38440 "parser_cocci_menhir.ml" )) and meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1588 lexer lexbuf) : ( -# 157 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1592 lexer lexbuf) : ( +# 158 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 38387 "parser_cocci_menhir.ml" +# 38448 "parser_cocci_menhir.ml" )) and iso_rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1584 lexer lexbuf) : ( -# 149 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1588 lexer lexbuf) : ( +# 150 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 38395 "parser_cocci_menhir.ml" +# 38456 "parser_cocci_menhir.ml" )) and iso_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1338 lexer lexbuf) : ( -# 165 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1342 lexer lexbuf) : ( +# 166 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 38403 "parser_cocci_menhir.ml" +# 38464 "parser_cocci_menhir.ml" )) and iso_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : ( -# 162 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 38411 "parser_cocci_menhir.ml" +# 38472 "parser_cocci_menhir.ml" )) and include_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : ( -# 146 "parser_cocci_menhir.mly" +# 147 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 38419 "parser_cocci_menhir.ml" +# 38480 "parser_cocci_menhir.ml" )) diff --git a/parsing_cocci/parser_cocci_menhir.mli b/parsing_cocci/parser_cocci_menhir.mli index 3b440b6..85287f3 100644 --- a/parsing_cocci/parser_cocci_menhir.mli +++ b/parsing_cocci/parser_cocci_menhir.mli @@ -53,7 +53,7 @@ type token = | TPure | TPtrOp of (Data.clt) | TPtVirg of (Data.clt) - | TPragma of (string * Data.clt) + | TPragma of (Ast_cocci.added_string * Data.clt) | TPosition | TPosAny | TPlusFile of (string * Data.clt) @@ -107,6 +107,7 @@ type token = | TIterator | TIsoType | TIsoTopLevel + | TIsoToTestExpression | TIsoTestExpression | TIsoStatement | TIsoExpression diff --git a/parsing_cocci/parser_cocci_menhir.mly b/parsing_cocci/parser_cocci_menhir.mly index 86972fa..93d4d5a 100644 --- a/parsing_cocci/parser_cocci_menhir.mly +++ b/parsing_cocci/parser_cocci_menhir.mly @@ -56,7 +56,8 @@ module P = Parse_aux %token TIf TElse TWhile TFor TDo TSwitch TCase TDefault TReturn %token TBreak TContinue TGoto TSizeof TFunDecl -%token TIdent TTypeId TDeclarerId TIteratorId TPragma +%token TIdent TTypeId TDeclarerId TIteratorId +%token TPragma %token TMetaId TMetaFunc TMetaLocalFunc %token TMetaIterator TMetaDeclarer @@ -108,7 +109,7 @@ module P = Parse_aux %token TAssign %token TIso TRightIso TIsoExpression TIsoStatement TIsoDeclaration TIsoType -%token TIsoTopLevel TIsoArgExpression TIsoTestExpression +%token TIsoTopLevel TIsoArgExpression TIsoTestExpression TIsoToTestExpression %token TInvalid @@ -207,10 +208,10 @@ rule_name: { P.make_generated_rule_name_result None d i a e ee } | TScript TDotDot lang=pure_ident d=depends TArob { P.make_script_rule_name_result lang d } - | TInitialize TDotDot lang=pure_ident TArob - { P.make_initial_script_rule_name_result lang } - | TFinalize TDotDot lang=pure_ident TArob - { P.make_final_script_rule_name_result lang } + | TInitialize TDotDot lang=pure_ident d=depends TArob + { P.make_initial_script_rule_name_result lang d } + | TFinalize TDotDot lang=pure_ident d=depends TArob + { P.make_final_script_rule_name_result lang d } extends: /* empty */ { () } @@ -1516,20 +1517,20 @@ regexp_eqid: } not_eqid: - TNotEq i=pure_ident + TNotEq i=pure_ident_or_meta_ident { (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"); - Ast.IdNegIdSet([fst i]) } - | TNotEq TOBrace l=comma_list(pure_ident) TCBrace + Ast.IdNegIdSet([snd i]) } + | TNotEq TOBrace l=comma_list(pure_ident_or_meta_ident) TCBrace { (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"); - Ast.IdNegIdSet(List.map fst l) + Ast.IdNegIdSet(List.map snd l) } re_or_not_eqe: @@ -1944,18 +1945,22 @@ any_strict: *****************************************************************************/ iso_main: - TIsoExpression e1=dexpr el=list(iso(dexpr)) EOF - { P.iso_adjust (function x -> Ast0.ExprTag x) e1 el } -| TIsoArgExpression e1=dexpr el=list(iso(dexpr)) EOF - { P.iso_adjust (function x -> Ast0.ArgExprTag x) e1 el } -| TIsoTestExpression e1=dexpr el=list(iso(dexpr)) EOF - { P.iso_adjust (function x -> Ast0.TestExprTag x) e1 el } + TIsoExpression e1=eexpr el=list(iso(eexpr)) EOF + { let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el } +| TIsoArgExpression e1=eexpr el=list(iso(eexpr)) EOF + { let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el } +| TIsoTestExpression e1=eexpr el=list(iso(eexpr)) EOF + { let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el } +| TIsoToTestExpression e1=eexpr el=list(iso(eexpr)) EOF + { let ffn x = Ast0.ExprTag x in + let fn x = Ast0.TestExprTag x in + P.iso_adjust ffn fn e1 el } | TIsoStatement s1=single_statement sl=list(iso(single_statement)) EOF - { P.iso_adjust (function x -> Ast0.StmtTag x) s1 sl } + { let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl } | TIsoType t1=ctype tl=list(iso(ctype)) EOF - { P.iso_adjust (function x -> Ast0.TypeCTag x) t1 tl } + { let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl } | TIsoTopLevel e1=nest_start el=list(iso(nest_start)) EOF - { P.iso_adjust (function x -> Ast0.DotsStmtTag x) e1 el } + { let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el } | TIsoDeclaration d1=decl_var dl=list(iso(decl_var)) EOF { let check_one = function [x] -> x @@ -1970,7 +1975,7 @@ iso_main: Common.Left x -> Common.Left(check_one x) | Common.Right x -> Common.Right(check_one x)) dl in - P.iso_adjust (function x -> Ast0.DeclTag x) d1 dl } + let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl } iso(term): TIso t=term { Common.Left t } diff --git a/parsing_cocci/pretty_print_cocci.ml b/parsing_cocci/pretty_print_cocci.ml index 8a92f90..68e40af 100644 --- a/parsing_cocci/pretty_print_cocci.ml +++ b/parsing_cocci/pretty_print_cocci.ml @@ -80,11 +80,10 @@ let print_around printer term = function print_anything "<<< " bef; printer term; print_anything ">>> " aft let print_string_befaft fn x info = - List.iter (function (s,_,_) -> print_string s; force_newline()) - info.Ast.strbef; + let print = function Ast.Noindent s | Ast.Indent s -> print_string s in + List.iter (function (s,_,_) -> print s; force_newline()) info.Ast.strbef; fn x; - List.iter (function (s,_,_) -> force_newline(); print_string s) - info.Ast.straft + List.iter (function (s,_,_) -> force_newline(); print s) info.Ast.straft let print_meta (r,x) = print_string r; print_string ":"; print_string x @@ -795,7 +794,9 @@ let _ = | Ast.ConstVolTag(x) -> const_vol x | Ast.Token(x,Some info) -> print_string_befaft print_string x info | Ast.Token(x,None) -> print_string x - | Ast.Pragma(xs) -> print_between force_newline print_string xs + | Ast.Pragma(xs) -> + let print = function Ast.Noindent s | Ast.Indent s -> print_string s in + print_between force_newline print xs | Ast.Code(x) -> let _ = top_level x in () | Ast.ExprDotsTag(x) -> dots (function _ -> ()) expression x | Ast.ParamDotsTag(x) -> parameter_list x @@ -824,38 +825,27 @@ let rec dep in_and = function | Ast.NoDep -> print_string "no_dep" | Ast.FailDep -> print_string "fail_dep" +let script_header str lang deps code = + print_string "@@"; + force_newline(); + print_string (str ^ ":" ^ lang); + (match deps with + Ast.NoDep -> () + | _ -> print_string " depends on "; dep true deps); + force_newline(); + print_string "@@"; + force_newline(); + print_string code; + force_newline() + let unparse z = match z with - Ast.InitialScriptRule (lang,code) -> - print_string "@@"; - force_newline(); - print_string ("initialize:" ^ lang); - force_newline(); - print_string "@@"; - force_newline(); - print_string code; - force_newline() - | Ast.FinalScriptRule (lang,code) -> - print_string "@@"; - force_newline(); - print_string ("finalize:" ^ lang); - force_newline(); - print_string "@@"; - force_newline(); - print_string code; - force_newline() + Ast.InitialScriptRule (lang,deps,code) -> + script_header "initialize" lang deps code + | Ast.FinalScriptRule (lang,deps,code) -> + script_header "finalize" lang deps code | Ast.ScriptRule (lang,deps,bindings,code) -> - print_string "@@"; - force_newline(); - print_string ("script:" ^ lang); - (match deps with - Ast.NoDep -> () - | _ -> print_string " depends on "; dep true deps); - force_newline(); - print_string "@@"; - force_newline(); - print_string code; - force_newline() + script_header "script" lang deps code | Ast.CocciRule (nm, (deps, drops, exists), x, _, _) -> print_string "@@"; force_newline(); diff --git a/parsing_cocci/type_infer.ml b/parsing_cocci/type_infer.ml index 2c209d0..1fc1e1c 100644 --- a/parsing_cocci/type_infer.ml +++ b/parsing_cocci/type_infer.ml @@ -337,7 +337,9 @@ let rec propagate_types env = (* if a type is known, it is specified in the decl *) None | (Ast0.Paren(lp,exp,rp),None) -> process_test exp - | (_,None) -> Some (int_type) + (* the following doesn't seem like a good idea - triggers int isos + on all test expressions *) + (*| (_,None) -> Some (int_type) *) | _ -> None in let new_expty = process_test exp in (match new_expty with diff --git a/parsing_cocci/unitary_ast0.ml b/parsing_cocci/unitary_ast0.ml index cdd460e..3823ce4 100644 --- a/parsing_cocci/unitary_ast0.ml +++ b/parsing_cocci/unitary_ast0.ml @@ -242,7 +242,7 @@ let do_unitary rules = | (r::rules) -> match r with Ast0.ScriptRule (_,_,_,_) - | Ast0.InitialScriptRule (_,_) | Ast0.FinalScriptRule (_,_) -> + | Ast0.InitialScriptRule (_,_,_) | Ast0.FinalScriptRule (_,_,_) -> let (x,rules) = loop rules in (x, r::rules) | Ast0.CocciRule ((minus,metavars,chosen_isos),((plus,_) as plusz),rt) -> diff --git a/parsing_cocci/unparse_ast0.ml b/parsing_cocci/unparse_ast0.ml index e62a412..aae81d9 100644 --- a/parsing_cocci/unparse_ast0.ml +++ b/parsing_cocci/unparse_ast0.ml @@ -52,7 +52,8 @@ let meta_pos = function (* Modified code *) let mcodekind brackets fn x info mc = - List.iter (function (s,_) -> print_string s) info.Ast0.strings_before; + let print = function Ast.Noindent s | Ast.Indent s -> print_string s in + List.iter (function (s,_) -> print s) info.Ast0.strings_before; (match mc with Ast0.MINUS(plus_stream) -> let (lb,rb) = @@ -92,7 +93,7 @@ let mcodekind brackets fn x info mc = let (plus_streams,_,_) = !plus_streams in U.print_around (function x -> print_string lb; fn x; print_string rb) x plus_streams); - List.iter (function (s,_) -> print_string s) info.Ast0.strings_after + List.iter (function (s,_) -> print s) info.Ast0.strings_after let mcode fn (x,_,info,mc,pos,adj) = let fn x = fn x; meta_pos !pos in diff --git a/scripts/coccicheck/Makefile b/scripts/coccicheck/Makefile deleted file mode 100644 index 55fc0ee..0000000 --- a/scripts/coccicheck/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -PREFIX?=/home/npalix/Documents/build/coccinelle/scripts/coccicheck -PROJECT?=/ -SPFLAGS?="-timeout 60 -use_glimpse -D org" - -COCCI?=/home/npalix/Documents/build/coccinelle/scripts/coccicheck/cocci -RESULTS?=/home/npalix/Documents/build/coccinelle/scripts/coccicheck/results - -.PHONY:: update viewlog viewfilteredlog viewres checkcocci -.PHONY:: all clean distclean depend - -all: - $(MAKE) -C $(RESULTS) - -update: - ./bin/update_result_tree $(PREFIX) $(PROJECT) $(COCCI) $(RESULTS) $(SPFLAGS) - -viewlog: - find $(RESULTS) -name "*.log" | xargs cat | pager - -viewfilteredlog: - find $(RESULTS) -name "*.log" | xargs cat | \ - grep -ve "^$$" | \ - grep -v "HANDLING" | \ - grep -v "NOTE" | \ - grep -v "Unsupported form of #define" | \ - grep -v "no glimpse keyword inferred from snippet" | \ - grep -v "EXN:Common.Timeout" | \ - grep -v "FLOW: can't find exit or error exit:" | \ - grep -v "FLOW: deadcode detected:" | \ - grep -v "LEXER: identifier with dollar:" | \ - grep -v "LEXER: unrecognised symbol in char:" | \ - grep -v "LEXER: ZARB" | \ - grep -v "CFG: orphelin nodes, maybe something weird happened" | \ - grep -v "not worth trying" | \ - grep -v "MultiFound field:" | \ - grep -ve "(ONCE) warning: I consider .* as a constant" | \ - grep -ve "TYPE: header .* not found" - -viewres: - find $(RESULTS) -name "*.out" | xargs pager - -checkcocci: - for c in `find $(COCCI) -name "*.cocci"`; do spatch -parse_cocci $$c > /dev/null ; done - -clean: - find $(RESULTS) -name "*.out" -delete - find $(RESULTS) -name "*.log" -delete - -distclean: - rm -rf $(RESULTS) - -depend: update diff --git a/scripts/coccicheck/README b/scripts/coccicheck/README index e604d0e..b6bc267 100644 --- a/scripts/coccicheck/README +++ b/scripts/coccicheck/README @@ -1,5 +1,5 @@ - Coccicheck version 0.2.2 + Coccicheck version 0.2.4 -*- Usage -*- @@ -12,7 +12,7 @@ NB: The project directory must currently be an absolute path. - You can overwrite the default flags on the command line: + On bash, you can overwrite the default flags on the command line: SPFLAGS="-I my_include -timeout 30" ./configure mode 2) make update @@ -34,8 +34,9 @@ If you edit/add some SmPL files in `cocci` directory, you can use `make checkcocci` to parse them and see if there is any error. Once the results are computed, you can either: - - run `make viewres` to view all the results - - run `make viewlog` to view the complete trace - - run `make viewfilteredlog` to view the most important part of the trace - + - run `make viewres` to view all the bug reports + - run `make viewlog` to view the complete execution trace + - run `make viewfilteredlog` to only view unlikely errors of the trace + Note that this filter will remove some error messages about + timeout, parsing ... Check Makefile to see the exact list. diff --git a/scripts/coccicheck/bin/update_result_tree b/scripts/coccicheck/bin/update_result_tree index af552c3..a2e6eb9 100755 --- a/scripts/coccicheck/bin/update_result_tree +++ b/scripts/coccicheck/bin/update_result_tree @@ -34,7 +34,7 @@ for s in $SMPL;do echo "#!/bin/bash" > $RESULTS/$f.sh echo "" >> $RESULTS/$f.sh echo "FLAGS=\"`grep -E \"// +Options *:\" $COCCI/$s | cut -f2 -d\":\"`\"" >> $RESULTS/$f.sh - echo "INC=$PROJECT/include" >> $RESULTS/$f.sh + echo "INC?=$PROJECT/include" >> $RESULTS/$f.sh echo "echo \"Applying $COCCI/$s with: '\$FLAGS'\"" >> $RESULTS/$f.sh echo "nice -19 $SPATCH $SPFLAGS \$FLAGS -I \$INC -cocci_file $COCCI/$s -dir $PROJECT/ $FLAGS \\" >> $RESULTS/$f.sh echo "> $f.out \\" >> $RESULTS/$f.sh diff --git a/scripts/coccicheck/configure b/scripts/coccicheck/configure index ac65188..1b7e105 100755 --- a/scripts/coccicheck/configure +++ b/scripts/coccicheck/configure @@ -45,9 +45,57 @@ echo -e "\nFor efficiency, run \`/scripts/glimpseindex_cocci.sh\ echo -e "in $PROJECT" echo -e "NB: glimpse is available at http://webglimpse.net/ but it is not under the GPL.\n" -sed -i "s|^PREFIX?=.*$|PREFIX?=${PREFIX}|" Makefile -sed -i "s|^PROJECT?=.*$|PROJECT?=${PROJECT}|" Makefile -sed -i "s|^COCCI?=.*$|COCCI?=${COCCI}|" Makefile -sed -i "s|^RESULTS?=.*$|RESULTS?=${RESULTS}|" Makefile -sed -i "s|^SPFLAGS?=.*$|SPFLAGS?=\"${SPFLAGS}\"|" Makefile +cat > Makefile < /dev/null ; done + +clean: + find \$(RESULTS) -name "*.out" -delete + find \$(RESULTS) -name "*.log" -delete + +distclean: + rm -rf \$(RESULTS) + +depend: update +EOF diff --git a/standard.iso b/standard.iso index e392aa8..555f6ee 100644 --- a/standard.iso +++ b/standard.iso @@ -131,34 +131,85 @@ signed => signed int // --------------------------------------------------------------------------- -// Boolean isomorphisms +// Boolean isomorphisms for int and pointer types // --------------------------------------------------------------------------- // the space at the beginning of the line is very important! Expression -@ not_int1 @ +@ not_int1 @ int X; @@ - !X => 0 == X + !X => X == 0 + +TestExpression +@ not_int2 @ +int X; +@@ + X => X != 0 // the space at the beginning of the line is very important! Expression -@ not_int2 @ -int X; +@ not_ptr1 @ +expression *X; @@ - !X => X == 0 + !X => X == NULL + +TestExpression +@ not_ptr2 @ +expression *X; +@@ + X => X != NULL + +// --------------------------------------------------------------------------- +// Boolean isomorphisms +// --------------------------------------------------------------------------- + +Expression +@commeq@ +expression E; +constant C; +@@ + +E == C <=> C == E + +Expression +@commneq@ +expression E; +constant C; +@@ + +E != C <=> C != E Expression @ is_zero @ expression X; @@ -X == 0 <=> 0 == X => !X +X == 0 => !X -TestExpression +// X should be a test expression, but X!=0 doesn't have to be one +// not nice at all... ToTestExpression sets everything after the first +// pattern in the iso rule to be TestExpression +ToTestExpression @ isnt_zero @ expression X; @@ -X != 0 <=> 0 != X => X +X != 0 => X + +Expression +@ is_null @ +expression X; +@@ +X == NULL => !X + +ToTestExpression +@ isnt_null1 @ +expression X; +@@ +X != NULL => X + +// --------------------------------------------------------------------------- +// Bit operations +// --------------------------------------------------------------------------- Expression @ bitor_comm @ @@ -337,80 +388,10 @@ expression E; (E) => E -// --------------------------------------------------------------------------- -// Pointer isomorphisms -// --------------------------------------------------------------------------- - -// the space at the beginning of the line is very important! -Expression -@ not_ptr1 @ -expression *X; -@@ - !X => NULL == X - -// the space at the beginning of the line is very important! -Expression -@ not_ptr2 @ -expression *X; -@@ - !X => X == NULL - -Expression -@ is_null @ -expression X; -@@ -X == NULL <=> NULL == X => !X - -Expression -@ isnt_null1 @ -expression X; -@@ -X != NULL <=> NULL != X - -TestExpression -@ isnt_null1 @ -expression X; -@@ -NULL != X => X - -// pointer arithmetic equivalences - // --------------------------------------------------------------------------- // Statement isomorphisms // --------------------------------------------------------------------------- -// ---------------- -// If -// ---------------- - -Statement -@ int_if_test1 @ -int X; -statement S1, S2; -@@ -if (X) S1 else S2 => if (X != 0) S1 else S2 <=> if (0 != X) S1 else S2 - -Statement -@ int_if_test2 @ -int X; -statement S; -@@ -if (X) S => if (X != 0) S <=> if (0 != X) S - -Statement -@ ptr_if_test1 @ -expression *X; -statement S1, S2; -@@ -if (X) S1 else S2 => if (X != NULL) S1 else S2 => if (NULL != X) S1 else S2 - -Statement -@ ptr_if_test2 @ -expression *X; -statement S; -@@ -if (X) S => if (X != NULL) S <=> if (NULL != X) S - // --------------------------------------------------------------------------- // Value isomorphisms // --------------------------------------------------------------------------- @@ -424,11 +405,15 @@ ArgExpression @@ 0 => '\0' +// ---------------- +// If +// ---------------- + // **************************************************************************** // if structure isomorphisms // **************************************************************************** -// these after after the above so that the introduced negation will distribute +// these are after the above so that the introduced negation will distribute // properly over the argument to likely/unlikely Statement diff --git a/test.ml b/test.ml index 0f3486f..02d038d 100644 --- a/test.ml +++ b/test.ml @@ -42,6 +42,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix diff --git a/testing.ml b/testing.ml index 4f3b731..84ca3fe 100644 --- a/testing.ml +++ b/testing.ml @@ -32,14 +32,14 @@ open Common * * If want to test without iso, use -iso_file empty.iso option. *) -let testone x compare_with_expected_flag = +let testone prefix x compare_with_expected_flag = let x = if x =~ "\\(.*\\)_ver0$" then matched1 x else x in let base = if x =~ "\\(.*\\)_ver[0-9]+$" then matched1 x else x in - let cfile = "tests/" ^ x ^ ".c" in - let cocci_file = "tests/" ^ base ^ ".cocci" in + let cfile = prefix ^ x ^ ".c" in + let cocci_file = prefix ^ base ^ ".cocci" in - let expected_res = "tests/" ^ x ^ ".res" in + let expected_res = prefix ^ x ^ ".res" in begin let cocci_infos = Cocci.pre_engine (cocci_file, !Config.std_iso) in let res = Cocci.full_engine cocci_infos [cfile] in diff --git a/testing.mli b/testing.mli index 0aebd68..1c1e0ab 100644 --- a/testing.mli +++ b/testing.mli @@ -25,7 +25,7 @@ open Common (*****************************************************************************) (* work with tests/ *) (*****************************************************************************) -val testone : string (*test*) -> bool (*compare_expected*) -> unit +val testone : string (*prefix*) -> string (*test*) -> bool (*compare_expected*) -> unit val testall : ?expected_score_file:string -> unit -> unit (*****************************************************************************) diff --git a/tests/SCORE_expected.sexp b/tests/SCORE_expected.sexp new file mode 100644 index 0000000..de9cd74 --- /dev/null +++ b/tests/SCORE_expected.sexp @@ -0,0 +1,162 @@ +((a.res Ok) (a3d.res Ok) (a_and_e.res Ok) (a_and_e_ver1.res Ok) (ab.res Ok) + (addaft.res Ok) (addbefore.res Ok) (addbeforeafter.res Ok) (addelse.res Ok) + (addif.res Ok) (addif1.res Ok) (addif2.res Ok) (addtoo.res Ok) + (after_if.res Ok) (anon.res Ok) (ar.res Ok) (arg.res Ok) (argument.res Ok) + (array_init.res Ok) (array_size.res Ok) (arraysz.res Ok) (b1.res Ok) + (b2.res Ok) + (bad_iso_example.res + (Pb + "INCORRECT:diff token: ( VS x\nFile \"tests/bad_iso_example.c\", line 2, column 6, charpos = 19\n around = '(', whole content = if ((x = 3)) return;\nFile \"tests/bad_iso_example.res\", line 2, column 6, charpos = 19\n around = 'x', whole content = if (x) return;\n\n diff (result(<) vs expected_result(>)) = \n @@ -1,4 +1,4 @@\n int main() {\n - if ((x = 3)) return;\n + if (x) return;\n }\n \n")) + (bad_ptr_print.res Ok) (bad_typedef.res Ok) (badexp.res Ok) + (badpos.res + (Pb + "PROBLEM\n exn = Failure(\"rule starting on line 1: already tagged token:\\nC code context\\nFile \\\"tests/badpos.c\\\", line 5, column 30, charpos = 139\\n around = 'reg_ptr', whole content = \\t (int) -(((struct pt_regs *) reg_ptr)->orig_eax + 2));\")\n")) + (badtypedef.res Ok) (badzero.res Ok) (befS.res Ok) (ben.res Ok) + (bitfield.res Ok) (braces.res Ok) (break.res Ok) (bug1.res Ok) + (bugloop.res + (Pb + "INCORRECT:diff token: PF_FREEZE VS )\nFile , line 12, column 16, charpos = 390\n around = 'PF_FREEZE', whole content = \t\t\trefrigerator(PF_FREEZE);\nFile \"tests/bugloop.res\", line 8, column 16, charpos = 160\n around = ')', whole content = \t\t\trefrigerator();\n\n diff (result(<) vs expected_result(>)) = \n @@ -1,7 +1,3 @@\n -/* this doesn't work, because on the paths where we don't find refrigerator,\n -we expect to reach Exit without first going through current->flags & PF_FREEZE,\n -but of course any path that goes around the loop does precisely that */\n -\n static int stir_transmit_thread(void *arg)\n {\n \n @@ -9,7 +5,7 @@\n \t{\n \t\t/* if suspending, then power off and wait */\n \t\tif (unlikely(freezing(current))) {\n -\t\t\trefrigerator(PF_FREEZE);\n +\t\t\trefrigerator();\n \n \t\t}\n \t}\n")) + (bugon.res Ok) (cards.res Ok) (cast.res Ok) (cast_iso.res Ok) (com.res Ok) + (compare.res Ok) (const.res Ok) (const1bis.res Ok) (const_adding.res Ok) + (const_array.res Ok) (const_implicit_iso.res Ok) (constty.res Ok) + (constx.res Ok) (cs_check.res Ok) (cst.res Ok) (csw.res Ok) + (dbg.res + (Pb + "INCORRECT:diff token: else VS (\nFile , line 8, column 2, charpos = 133\n around = 'else', whole content = \t\telse pr = NULL;(\"PCI\");\nFile \"tests/dbg.res\", line 7, column 5, charpos = 130\n around = '(', whole content = \t\tDBG(\"PCI\");\n\n diff (result(<) vs expected_result(>)) = \n @@ -4,6 +4,6 @@\n \tstruct resource *pr, *r = &dev->resource[idx];\n \n \tif (pr)\n -\t\tDBG\n -\t\telse pr = NULL;(\"PCI\");\n +\t\tDBG(\"PCI\");\n +\telse pr = NULL;\n }\n")) + (dbg1.res + (Pb + "INCORRECT:diff token: E VS (\nFile , line 5, column 2, charpos = 75\n around = 'E', whole content = \t\tE = NULL;(\"PCI\");\nFile \"tests/dbg1.res\", line 4, column 5, charpos = 72\n around = '(', whole content = \t\tDBG(\"PCI\");\n\n diff (result(<) vs expected_result(>)) = \n @@ -1,6 +1,6 @@\n \n static inline void alloc_resource(struct pci_dev *dev, int idx)\n {\n -\t\tDBG\n -\t\tE = NULL;(\"PCI\");\n +\t\tDBG(\"PCI\");\n +\t\tE = NULL;\n }\n")) + (dc_close.res Ok) (debug.res Ok) (dec.res Ok) (decl.res Ok) (decl2.res Ok) + (decl_space.res Ok) + (decl_split.res + (Pb + "INCORRECT:diff token: int VS }\nFile \"tests/decl_split.c\", line 2, column 8, charpos = 27\n around = 'int', whole content = int x, y;\nFile \"tests/decl_split.res\", line 2, column 0, charpos = 19\n around = '}', whole content = }\n\n diff (result(<) vs expected_result(>)) = \n @@ -1,3 +1,2 @@\n int func(int i) { \n - int x, y;\n }\n")) + (define_exp.res Ok) (define_param.res Ok) (deftodo.res Ok) + (delete_function.res Ok) (deref.res Ok) (devlink.res Ok) (disjexpr.res Ok) + (disjexpr_ver1.res Ok) (disjexpr_ver2.res Ok) (distribute.res Ok) + (double.res Ok) (double_assign.res Ok) (double_switch.res Ok) + (doublepos.res Ok) (doubleswitch.res Ok) + (doundo.res + (Pb + "INCORRECT:diff token: xxx VS new_foo\nFile , line 7, column 2, charpos = 85\n around = 'xxx', whole content = xxx();\nFile \"tests/doundo.res\", line 7, column 2, charpos = 85\n around = 'new_foo', whole content = new_foo();\n\n diff (result(<) vs expected_result(>)) = \n @@ -4,5 +4,5 @@\n {\n const s8 (*queue_priority_mapping)[2];\n s8 *noevent;\n - xxx();\n + new_foo();\n }\n")) + (dowhile.res Ok) (dropf.res Ok) (dropparam.res Ok) (edots.res Ok) + (edots_ver1.res Ok) (empty.res Ok) (end_commas.res Ok) (endif.res Ok) + (enum.res Ok) (exp.res Ok) (expnest.res Ok) (expopt.res Ok) (expopt2.res Ok) + (expopt3.res Ok) (expopt3_ver1.res Ok) (expopt3_ver2.res Ok) (fields.res Ok) + (fieldsmin.res Ok) (find_long.res Ok) (fix_flow_need.res Ok) + (fn_todo.res Ok) (fnptr.res Ok) (fnret.res Ok) (four.res Ok) (foura.res Ok) + (fp.res Ok) (fsh.res Ok) (fun.res Ok) (gilles-question.res Ok) + (gotobreak.res Ok) (hd.res Ok) (headers.res Ok) (hex.res Ok) (hil1.res Ok) + (if.res Ok) (ifbr.res Ok) (ifdef1.res Ok) (ifdef2.res Ok) + (ifdef3.res + (Pb + "PROBLEM\n exn = Lexer_cocci.Lexical(\"unrecognised symbol, in token rule: #\")\n")) + (ifdef4.res Ok) (ifdef5.res Ok) (ifdef6.res Ok) (ifdef6a.res Ok) + (ifdefmeta.res Ok) (ifdefmeta1.res Ok) (ifdefmeta2.res Ok) + (ifdefmeta3.res Ok) + (ifdefmeta4.res + (Pb + "PROBLEM\n exn = Unix.Unix_error(20, \"stat\", \"tests/ifdefmeta4.cocci\")\n")) + (ifend.res Ok) (ifzer.res Ok) (inc.res Ok) + (incdir.res + (Pb + "INCORRECT:diff token: x VS 12\nFile \"tests/incdir.c\", line 4, column 6, charpos = 46\n around = 'x', whole content = foo(x);\nFile \"tests/incdir.res\", line 4, column 6, charpos = 46\n around = '12', whole content = foo(12);\n\n diff (result(<) vs expected_result(>)) = \n @@ -1,5 +1,5 @@\n #include \"sub/incdir2.c\"\n \n int main () {\n - foo(x);\n + foo(12);\n }\n")) + (incl.res Ok) (inclifdef.res Ok) (include.res Ok) + (incompatible_value.res Ok) (inherited.res Ok) (inherited_ver1.res Ok) + (inhpos.res Ok) (initializer.res Ok) (initializer_many_fields.res Ok) + (inline.res Ok) (isococci.res Ok) (isotest.res Ok) (isotest2.res Ok) + (iterator.res Ok) + (jloop1.res + (Pb + "PROBLEM\n exn = Failure(\"minus: parse error: \\n = File \\\"tests/jloop1.cocci\\\", line 10, column 3, charpos = 129\\n around = '...>', whole content = ...>\\n\")\n")) + (julia10.res Ok) (julia7.res Ok) (justremove.res Ok) (keep_comma.res Ok) + (km.res Ok) (kmalloc.res Ok) (kmc.res Ok) (ktype.res Ok) + (labels_metastatement.res Ok) (labels_metastatement_ver1.res Ok) + (line_before_last.res Ok) (local.res Ok) (localid.res Ok) (longconst.res Ok) + (longlong.res Ok) (longlongint.res Ok) (loop.res Ok) (lvalue.res Ok) + (macro.res Ok) (macro_int16.res Ok) (match_no_meta.res Ok) (max.res Ok) + (memory.res (Pb "PROBLEM\n exn = Out of memory\n")) + (metahex.res + (Pb + "INCORRECT:diff token: f VS }\nFile \"tests/metahex.c\", line 2, column 2, charpos = 15\n around = 'f', whole content = f(3);\nFile \"tests/metahex.res\", line 2, column 0, charpos = 13\n around = '}', whole content = }\n\n diff (result(<) vs expected_result(>)) = \n @@ -1,4 +1,2 @@\n int main() {\n - f(3);\n - g(0x03);\n }\n")) + (metaruleelem.res Ok) (metastatement2.res Ok) (metastatement_for.res Ok) + (metastatement_if.res Ok) + (mini_null_ref.res + (Pb + "INCORRECT:diff token: if VS struct\nFile , line 6, column 8, charpos = 269\n around = 'if', whole content = if (!pdata) {\nFile \"tests/mini_null_ref.res\", line 6, column 8, charpos = 269\n around = 'struct', whole content = struct w90p910_keypad *keypad;\n\n diff (result(<) vs expected_result(>)) = \n @@ -3,6 +3,8 @@\n const struct w90p910_keypad_platform_data *pdata =\n pdev->dev.platform_data;\n const struct matrix_keymap_data * keymap_data;\n + struct w90p910_keypad *keypad;\n +\n if (!pdata) {\n dev_err(&pdev->dev, \"no platform data defined\\n\");\n return -EINVAL;\n")) + (minstruct.res Ok) (minusdots.res Ok) (minusdots_ver1.res Ok) + (multi_func1.res + (Pb + "PROBLEM\n exn = Failure(\"minus: parse error: \\n = File \\\"tests/multi_func1.cocci\\\", line 12, column 2, charpos = 102\\n around = 'fn2', whole content = fn2(...) {\\n\")\n")) + (multiplus.res Ok) (multitype.res Ok) (multitypedef.res Ok) + (multivars.res Ok) (nest.res Ok) (nestone.res Ok) (nestseq.res Ok) + (neststruct.res Ok) (nl.res Ok) (nocast.res Ok) (not.res Ok) (notest.res Ok) + (noty.res Ok) (null_type.res Ok) + (oddifdef.res + (Pb + "INCORRECT:diff token: #else\n VS x\nFile , line 10, column 0, charpos = 114\n around = '#else\n', whole content = #else\nFile \"tests/oddifdef.res\", line 10, column 2, charpos = 116\n around = 'x', whole content = x = 0;\n\n diff (result(<) vs expected_result(>)) = \n @@ -7,8 +7,9 @@\n a = 5;\n \n #ifdef FOO\n + x = 0;\n #else\n - \n + x = 0;\n #endif\n }\n \n @@ -21,8 +22,9 @@\n a = 3;\n \n #ifdef FOO\n + x = 0;\n #else\n - \n + x = 0;\n #endif\n }\n \n @@ -35,7 +37,8 @@\n #endif\n \n #ifdef FOO\n + x = 0;\n #else\n - \n + x = 0;\n #endif\n }\n")) + (of.res Ok) (oneline.res Ok) (opt.res Ok) (optional_qualifier.res Ok) + (optional_storage.res Ok) (orexp.res Ok) (overshoot.res Ok) (param.res Ok) + (param_end.res Ok) (param_ver1.res Ok) (parameters_dots.res Ok) + (partial.res Ok) + (pb_distribute_type.res + (Pb + "INCORRECT:PB parsing only in generated-file\n diff (result(<) vs expected_result(>)) = \n @@ -5,11 +5,11 @@\n \n \n int foo() {\n - int * *x;\n + int **x;\n return 0;\n }\n \n int foo() {\n - int[45] *x;\n + int (*x)[45];\n return 0;\n }\n")) + (pb_distribute_type2.res + (Pb + "INCORRECT:PB parsing only in generated-file\n diff (result(<) vs expected_result(>)) = \n @@ -1,5 +1,5 @@\n int foo() {\n - int* x;\n + int *x;\n return 0;\n }\n \n @@ -10,6 +10,6 @@\n }\n \n int foo() {\n - int x[45]*;\n + int (*x)[45];\n return 0;\n }\n")) + (pb_distribute_type3.res + (Pb "PROBLEM\n exn = Failure(\"line 7: index 53 53 already used\\n\")\n")) + (pb_distribute_type4.res Ok) (pb_params_iso.res Ok) + (pb_parsing_macro.res Ok) (pb_tag_symbols.res Ok) (pmac.res Ok) + (posiso.res Ok) (positionc.res Ok) (post.res Ok) (print_return.res Ok) + (proto.res Ok) (proto2.res Ok) (proto_ver1.res Ok) (proto_ver2.res Ok) + (protoassert.res Ok) (protox.res Ok) (rcu3.res Ok) (regexp.res Ok) + (regexp2.res Ok) (regexp3.res Ok) + (remstruct.res + (Pb + "INCORRECT:not same number of entities (func, decl, ...)\n diff (result(<) vs expected_result(>)) = \n @@ -1,10 +1,3 @@\n -\n - .ack = mpuio_ack_irq,\n - .mask = mpuio_mask_irq,\n - .unmask = mpuio_unmask_irq\n -\n - .b = 15,\n -\n int hello ( String input )\n {\n String input = input.lowercase();\n")) + (replace_typedef.res Ok) (reserved.res Ok) (retmacro.res Ok) (rets.res Ok) + (return.res Ok) (return_implicit.res Ok) (retval.res Ok) (same_expr.res Ok) + (scope_problem.res + (Pb + "INCORRECT:diff token: } VS a\nFile , line 5, column 2, charpos = 43\n around = '}', whole content = }\nFile \"tests/scope_problem.res\", line 7, column 4, charpos = 49\n around = 'a', whole content = a = 2;\n\n diff (result(<) vs expected_result(>)) = \n @@ -1,7 +1,10 @@\n void main(int i) {\n \n + \n +\n if(1) {\n int a;\n + a = 2;\n }\n \n \n")) + (serio.res + (Pb + "INCORRECT:diff token: init_MUTEX VS mutex_init\nFile \"tests/serio.c\", line 7, column 1, charpos = 130\n around = 'init_MUTEX', whole content = \tinit_MUTEX(&serio->drv_sem);\nFile \"tests/serio.res\", line 7, column 1, charpos = 130\n around = 'mutex_init', whole content = \tmutex_init(&serio->new_lock);\n\n diff (result(<) vs expected_result(>)) = \n @@ -4,5 +4,5 @@\n \n static void serio_init_port(struct serio *serio)\n {\n -\tinit_MUTEX(&serio->drv_sem);\n +\tmutex_init(&serio->new_lock);\n }\n")) + (shared_brace.res Ok) (signed.res Ok) (sis.res Ok) (sizeof.res Ok) + (sizeof_julia.res Ok) (sizestar.res Ok) (skip.res Ok) (sp.res Ok) + (spaces.res Ok) (spl.res Ok) + (static.res (Pb "PROBLEM\n exn = Common.Impossible\n")) (stm1.res Ok) + (stm10.res Ok) (stm10_ver1.res Ok) (stm2.res Ok) (stm3.res Ok) (stm4.res Ok) + (stm5.res Ok) (stm6.res Ok) (stm7.res Ok) (stm8.res Ok) (stmt.res Ok) + (strangeorder.res Ok) (string.res Ok) (struct.res Ok) + (struct_metavar.res Ok) (struct_typedef.res Ok) (structfoo.res Ok) + (substruct.res Ok) (sw.res Ok) (switch.res Ok) (switchdecl.res Ok) + (td.res Ok) (test0.res Ok) (test1.res Ok) (test10.res Ok) + (test10_ver1.res Ok) (test11.res Ok) (test11_ver1.res Ok) (test12.res Ok) + (test2.res Ok) (test3.res Ok) (test4.res Ok) (test5.res Ok) + (test5_ver1.res Ok) (test6.res Ok) (test7.res Ok) (test8.res Ok) + (test9.res Ok) (test_s.res Ok) (test_unsigned_meta.res Ok) + (three_types.res Ok) (threea.res Ok) (top.res Ok) (topdec.res Ok) + (topdec_ver1.res Ok) (topdec_ver2.res Ok) (toplevel_macrostmt.res Ok) + (toplevel_struct.res Ok) (tup.res Ok) (twoproto.res Ok) (ty.res Ok) + (ty1.res Ok) (ty_tyexp.res Ok) (tydisj.res Ok) (tyex.res Ok) (type.res Ok) + (type1.res Ok) (type_annotated.res Ok) (type_ver1.res Ok) + (type_ver2.res + (Pb + "INCORRECT:PB parsing only in generated-file\n diff (result(<) vs expected_result(>)) = \n @@ -1,5 +1,5 @@\n int foo() {\n - int[10] *x;\n + int *x[10];\n return 0;\n }\n \n")) + (typedef.res Ok) + (typedef3.res + (Pb + "INCORRECT:diff token: link VS p_dev\nFile , line 7, column 29, charpos = 137\n around = 'link', whole content = \tunsigned int iobase = info->link.io.BasePort1;\nFile \"tests/typedef3.res\", line 7, column 29, charpos = 137\n around = 'p_dev', whole content = \tunsigned int iobase = info->p_dev->io.BasePort1;\n\n diff (result(<) vs expected_result(>)) = \n @@ -4,7 +4,7 @@\n \n static void should_work(foo *info)\n {\n -\tunsigned int iobase = info->link.io.BasePort1;\n +\tunsigned int iobase = info->p_dev->io.BasePort1;\n }\n \n static void does_work(struct bluecard_info_t *info)\n")) + (typedef_double.res Ok) + (typeof.res + (Pb + "INCORRECT:diff token: x VS sizeof\nFile , line 3, column 4, charpos = 26\n around = 'x', whole content = f(x);\nFile \"tests/typeof.res\", line 3, column 4, charpos = 26\n around = 'sizeof', whole content = f(sizeof(struct foo));\n\n diff (result(<) vs expected_result(>)) = \n @@ -1,4 +1,4 @@\n int main() {\n int x;\n - f(x);\n + f(sizeof(struct foo));\n }\n")) + (useless_cast.res Ok) (varargs.res Ok) (video1bis.res Ok) (void.res Ok) + (vpos.res Ok) (whitespace.res Ok) (wierd_argument.res Ok) + (wierdinit.res + (Pb + "seems incorrect, but only because of code that was not parsablediff token: dev_link_t VS struct\nFile \"tests/wierdinit.c\", line 4, column 1, charpos = 27\n around = 'dev_link_t', whole content = \tdev_link_t *link;\nFile \"tests/wierdinit.res\", line 4, column 1, charpos = 27\n around = 'struct', whole content = \tstruct pcmcia_device *link;\n")) + (ws2.res Ok) (xfield.res Ok) (y2.res Ok) (zero.res Ok)) \ No newline at end of file diff --git a/tests/comments.c b/tests/comments.c new file mode 100644 index 0000000..cbe2dc3 --- /dev/null +++ b/tests/comments.c @@ -0,0 +1,5 @@ + +int main() { + return 0; +} + diff --git a/tests/comments.cocci b/tests/comments.cocci new file mode 100644 index 0000000..78a86fd --- /dev/null +++ b/tests/comments.cocci @@ -0,0 +1,18 @@ +@@ +@@ + +int main() { + ... ++ // Calls foo() ++ foo(); + return 0; +} + ++/** ++ Some info about @foo() ++ @return void ++*/ ++void foo() { ++ /* Do nothing */ ++} + diff --git a/tests/comments.res b/tests/comments.res new file mode 100644 index 0000000..99d9535 --- /dev/null +++ b/tests/comments.res @@ -0,0 +1,16 @@ + +int main() { + // Calls foo() + foo(); + return 0; +} + +/** + Some info about @foo() + @return void +*/ +void foo() { +/* Do nothing */ + +} + diff --git a/tests/cst_null.c b/tests/cst_null.c new file mode 100644 index 0000000..0e3adc3 --- /dev/null +++ b/tests/cst_null.c @@ -0,0 +1,43 @@ +void* videobuf_alloc(unsigned int size) +{ + struct videobuf_buffer *vb; + + vb = kmalloc(size,GFP_KERNEL); + if (vb != NULL) { + memset(vb,0,size); + videobuf_dma_init(&vb->dma); + init_waitqueue_head(&vb->done); + vb->magic = MAGIC_BUFFER; + } + return vb; +} + + +void* videobuf_alloc(unsigned int size) +{ + struct videobuf_buffer *vb; + + vb = kmalloc(size,GFP_KERNEL); + if (vb) { + memset(vb,0,size); + videobuf_dma_init(&vb->dma); + init_waitqueue_head(&vb->done); + vb->magic = MAGIC_BUFFER; + } + return vb; +} + + +void* videobuf_alloc(unsigned int size) +{ + struct videobuf_buffer *vb; + + vb = kmalloc(size,GFP_KERNEL); + if (NULL != vb) { + memset(vb,0,size); + videobuf_dma_init(&vb->dma); + init_waitqueue_head(&vb->done); + vb->magic = MAGIC_BUFFER; + } + return vb; +} diff --git a/tests/cst_null.cocci b/tests/cst_null.cocci new file mode 100644 index 0000000..d564681 --- /dev/null +++ b/tests/cst_null.cocci @@ -0,0 +1,16 @@ +// test x != NULL <=> NULL != x iso, and x != NULL => x iso + +@r@ +expression x; +expression E1,E2; +statement S2; +@@ + +- x = kmalloc(E1,E2) ++ x = kzalloc(E1,E2) + ... + if (x!=NULL) { + ... +- memset(x,0,E1); + ... + } else S2 diff --git a/tests/cst_null.res b/tests/cst_null.res new file mode 100644 index 0000000..928df6a --- /dev/null +++ b/tests/cst_null.res @@ -0,0 +1,40 @@ +void* videobuf_alloc(unsigned int size) +{ + struct videobuf_buffer *vb; + + vb = kzalloc(size,GFP_KERNEL); + if (vb != NULL) { + videobuf_dma_init(&vb->dma); + init_waitqueue_head(&vb->done); + vb->magic = MAGIC_BUFFER; + } + return vb; +} + + +void* videobuf_alloc(unsigned int size) +{ + struct videobuf_buffer *vb; + + vb = kzalloc(size,GFP_KERNEL); + if (vb) { + videobuf_dma_init(&vb->dma); + init_waitqueue_head(&vb->done); + vb->magic = MAGIC_BUFFER; + } + return vb; +} + + +void* videobuf_alloc(unsigned int size) +{ + struct videobuf_buffer *vb; + + vb = kzalloc(size,GFP_KERNEL); + if (NULL != vb) { + videobuf_dma_init(&vb->dma); + init_waitqueue_head(&vb->done); + vb->magic = MAGIC_BUFFER; + } + return vb; +} diff --git a/tests/decl_star.c b/tests/decl_star.c new file mode 100644 index 0000000..c51d9a8 --- /dev/null +++ b/tests/decl_star.c @@ -0,0 +1,5 @@ +int main () { + int *x; + int x; + return x; +} diff --git a/tests/decl_star.cocci b/tests/decl_star.cocci new file mode 100644 index 0000000..14fd18e --- /dev/null +++ b/tests/decl_star.cocci @@ -0,0 +1,6 @@ +@@ +type T; +@@ + +- T x; ++ T y; \ No newline at end of file diff --git a/tests/decl_star.res b/tests/decl_star.res new file mode 100644 index 0000000..25d5f12 --- /dev/null +++ b/tests/decl_star.res @@ -0,0 +1,5 @@ +int main () { + int *y; + int y; + return x; +} diff --git a/tests/minusdots.cocci b/tests/minusdots.cocci index 440c749..ecf6155 100644 --- a/tests/minusdots.cocci +++ b/tests/minusdots.cocci @@ -3,7 +3,8 @@ identifier ptr; //statement S; @@ +// body could be S instead of { ... } - if (!ptr) - { - ... -- } // could be S instead of { ... } +- } diff --git a/tests/null_bool.c b/tests/null_bool.c new file mode 100644 index 0000000..fe918e8 --- /dev/null +++ b/tests/null_bool.c @@ -0,0 +1,8 @@ +int main () { + if (x != NULL) return; + if (a && x != NULL && b) return; + if (x) return; + if (a && x && b) return; + x = x + 20; +} + diff --git a/tests/null_bool.cocci b/tests/null_bool.cocci new file mode 100644 index 0000000..4d4a972 --- /dev/null +++ b/tests/null_bool.cocci @@ -0,0 +1,5 @@ +@@ +@@ + +- x != NULL ++ 12 diff --git a/tests/null_bool.res b/tests/null_bool.res new file mode 100644 index 0000000..3eabc13 --- /dev/null +++ b/tests/null_bool.res @@ -0,0 +1,8 @@ +int main () { + if (12 != NULL) return; + if (a && 12 != NULL && b) return; + if (12) return; + if (a && 12 && b) return; + x = x + 20; +} + diff --git a/tools/split_patch.ml b/tools/split_patch.ml dissimilarity index 89% index d8e88d5..f30ae9b 100644 --- a/tools/split_patch.ml +++ b/tools/split_patch.ml @@ -1,286 +1,104 @@ -(* - * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen - * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix - * This file is part of Coccinelle. - * - * Coccinelle is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, according to version 2 of the License. - * - * Coccinelle is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Coccinelle. If not, see . - * - * The authors reserve the right to distribute this or future versions of - * Coccinelle under other licenses. - *) - - -open Common - -module CP = Classic_patch - -(* ./split_patch ../demos/janitorings/patch-kzalloc-vnew3.patch /tmp/xx "0 -> NULL" ../bodymail.doc -./split_patch /tmp/badzero.patch /tmp/xx ../mailbody.doc ../kernel_dirs.meta - -update: see http://lwn.net/Articles/284469/ -for a script using git annotate to find automatically to who send -a patch (by looking at authors of lines close concerning the patch I guess -*) - -(*****************************************************************************) -(* Flags *) -(*****************************************************************************) - -let just_patch = ref false -let verbose = ref true - -let pr2 s = - if !verbose then pr2 s - -(*****************************************************************************) -(* Helpers *) -(*****************************************************************************) - -let print_header_patch patch = - patch +> List.iter (function CP.File (s, header, body) -> pr s) - - -(*****************************************************************************) -(* Grouping strategies *) -(*****************************************************************************) - -let group_patch_depth_2 patch = - let patch_with_dir = patch +> List.map (function (CP.File (s,header,body)) -> - Common.split "/" (Common.dirname s), - (CP.File (s, header, body)) - ) - in - let rec aux_patch xs = - match xs with - | [] -> [] - | (dir_elems,x)::xs -> - let cond, base = - if List.length dir_elems >= 2 then - let base = Common.take 2 dir_elems in - (fun dir_elems' -> - List.length dir_elems' >= 2 && Common.take 2 dir_elems' = base), - base - else - (fun dir_elems' -> dir_elems' = dir_elems), - dir_elems - in - - let (yes, no) = xs +> Common.partition_either (fun (dir_elems', x) -> - if cond dir_elems' - then Left x - else Right (dir_elems', x) - ) in - (Common.join "/" base, ["NOEMAIL"], (x::yes))::aux_patch no - in - aux_patch patch_with_dir - - - -let group_patch_subsystem_info patch subinfo = - let patch_with_dir = patch +> List.map (function (CP.File (s,header,body)) -> - (Common.dirname s), (CP.File (s, header, body)) - ) - in - let index = Maintainers.mk_inverted_index_subsystem subinfo in - let hash = Maintainers.subsystem_to_hash subinfo in - - let rec aux_patch xs = - match xs with - | [] -> [] - | ((dir,patchitem)::xs) as xs' -> - let leader = - try Hashtbl.find index dir - with Not_found -> failwith ("cant find leader for : " ^ dir) - in - let (emailsleader, subdirs) = - try Hashtbl.find hash leader - with Not_found -> failwith ("cant find subdirs of : " ^ leader) - in - - (match emailsleader with - | ["NOEMAIL"] | [] | [""] -> pr2 ("no leader maintainer for: "^leader); - | _ -> () - ); - - let emails = ref emailsleader in - let allsubdirs = (leader, emailsleader)::subdirs in - - let (yes, no) = xs' +> Common.partition_either (fun (dir',patchitem')-> - try ( - let emailsdir' = List.assoc dir' allsubdirs in - emails := !emails $+$ emailsdir'; - Left patchitem' - ) with Not_found -> Right (dir', patchitem') - (* - if List.mem dir' (leader::subdirs) - then Left x - else Right (dir', x) - *) - ) in - (leader, !emails, yes)::aux_patch no - in - aux_patch patch_with_dir - - -(*****************************************************************************) -(* Split patch *) -(*****************************************************************************) -let i_to_s_padded i total = - match i with - | i when i < 10 && total >= 10 -> "0" ^ i_to_s i - | i when i < 100 -> i_to_s i - | i -> i_to_s i - -let split_patch file prefix bodymail subinfofile = - let patch = CP.parse_patch file in - - let subsystem_info = Maintainers.parse_subsystem_info subinfofile in - let minipatches = group_patch_subsystem_info patch subsystem_info in - (* let minipatches = group_patch_depth_2 patch in *) - - let total = List.length minipatches in - let minipatches_indexed = Common.index_list_1 minipatches in - - let (subject, bodymail_rest) = - match Common.cat bodymail with - | x::y::xs -> - if x =~ "Subject: \\(.*\\)" - then - let subject = matched1 x in - if y =~ "[-]+$" - then - subject, xs - else failwith ("wrong format for mailbody in:" ^ bodymail) - else failwith ("wrong format for mailbody in:" ^ bodymail) - | _ -> failwith ("wrong format for mailbody in:" ^ bodymail) - in - - Common.command2_y_or_no ("rm -f " ^ prefix ^ "*"); - - - minipatches_indexed +> List.iter (fun ((dir,emails, minipatch), i) -> - let numpatch = i_to_s_padded i total in - let tmpfile = prefix ^ numpatch ^ ".mail" in - let patchfile = "/tmp/x.patch" in - pr2 ("generating :" ^ tmpfile ^ " for " ^ dir); - - CP.unparse_patch minipatch patchfile; - - let emails = - (match emails with - | ["NOEMAIL"] | [] | [""] -> - pr2 "no maintainer"; [] - | xs -> xs - ) @ ["akpm@linux-foundation.org"] - in - - - if !just_patch - then command2(sprintf "cat %s > %s" patchfile tmpfile) - else begin - Common.with_open_outfile tmpfile (fun (pr_no_nl, chan) -> - let pr s = pr_no_nl (s ^ "\n") in - pr "To: kernel-janitors@vger.kernel.org"; - pr (sprintf "Subject: [PATCH %s/%d] %s, for %s" - numpatch total subject dir); - pr ("Cc: " ^ (Common.join ", " (emails @ ["linux-kernel@vger.kernel.org"]))); - pr "BCC: padator@wanadoo.fr"; - pr "From: Yoann Padioleau "; - pr "--text follows this line--"; - - pr ""; - bodymail_rest +> List.iter pr; - pr ""; - pr "Signed-off-by: Yoann Padioleau "; - emails +> List.iter (fun s -> - pr ("Cc: " ^ s) - ); - pr "---"; - - pr ""; - ); - - command2(sprintf "diffstat -p1 %s >> %s" patchfile tmpfile); - command2(sprintf "echo >> %s" tmpfile); - command2(sprintf "cat %s >> %s" patchfile tmpfile); - end - ) - - - -(*****************************************************************************) -(* Test *) -(*****************************************************************************) - -let test_patch file = - let patch = CP.parse_patch file in - let groups = group_patch_depth_2 patch in - groups +> List.iter (fun (dir, email, minipatch) -> - print_header_patch minipatch; - pr "" - ) - - -(*****************************************************************************) -(* Main entry point *) -(*****************************************************************************) - -let main () = - begin - let args = ref [] in - let options = [ - "-just_patch", Arg.Set just_patch, ""; - "-no_verbose", Arg.Clear verbose, ""; - ] in - let usage_msg = - "Usage: " ^ basename Sys.argv.(0) ^ - " [options]" ^ "\n" - ^ "Options are:" - in - - Arg.parse (Arg.align options) (fun x -> args := x::!args) usage_msg; - args := List.rev !args; - - (match (!args) with - | [patch] -> test_patch patch - | [patch;prefix;bodymail;subinfofile] -> - split_patch patch prefix bodymail subinfofile; - - command2("rm -f /tmp/split_check*"); - let checkfile = "/tmp/split_check.all" in - let checkprefix = "/tmp/split_check-xx" in - save_excursion verbose (fun () -> - save_excursion just_patch (fun () -> - just_patch := true; - verbose := false; - split_patch patch checkprefix bodymail subinfofile; - )); - command2("cat /tmp/split_check*.mail > " ^ checkfile); - - let diff = Common.cmd_to_list (sprintf "diff %s %s " patch checkfile) - in - let samesize = Common.filesize patch = Common.filesize checkfile in - if (List.length diff <> 0) - then - if samesize - then pr2 "diff but at least same size" - else pr2 "PB: diff and not same size" - - | _ -> Arg.usage (Arg.align options) usage_msg; - ) - end - -(*****************************************************************************) -let _ = - main () - +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +(* split patch per file *) + +let is_diff = Str.regexp "diff " +let split_patch i = + let patches = ref [] in + let cur = ref [] in + let rec loop _ = + let l = input_line i in + (if Str.string_match is_diff l 0 + then + (if List.length !cur > 0 + then begin patches := List.rev !cur :: !patches; cur := [l] end) + else cur := l :: !cur); + loop() in + try loop() with End_of_file -> !patches + +(* ------------------------------------------------------------------------ *) + +(* can get_maintainers takea file as an argument, or only a patch? *) +let resolve_maintainers cmd patches = + let maintainer_table = Hashtbl.create (List.length patches) in + List.iter + (function + diff_line::rest -> + (match Str.split (Str.regexp " a/") diff_line with + [before;after] -> + (match Str.split (Str.regexp " ") after with + file::_ -> + (match Common.cmd_to_list (cmd ^ " " ^ file) with + [info] -> + let cell = + try Hashtbl.find maintainer_table info + with Not_found -> + let cell = ref [] in + Hashtbl.add maintainer_table info cell; + cell in + cell := (diff_line :: rest) :: !cell + | _ -> failwith "badly formatted maintainer result") + | _ -> failwith "filename not found") + | _ -> + failwith (Printf.sprintf "prefix a/ not found in %s" diff_line)) + | _ -> failwith "bad diff line") + patches; + maintainer_table + +(* ------------------------------------------------------------------------ *) + +let print_all o l = + List.iter (function x -> Printf.fprintf o "%s\n" x) l + +let make_output_files template maintainer_table patch = + let ctr = ref 0 in + Hashtbl.iter + (function maintainers -> + function diffs -> + ctr := !ctr + 1; + let o = open_out (Printf.sprintf "%s%d" patch !ctr) in + Printf.fprintf o "To: %s\n\n" maintainers; + print_all o template; + List.iter (print_all o) (List.rev !diffs); + close_out o) + maintainer_table + +(* ------------------------------------------------------------------------ *) + +let command = ref "get_maintainers.pl" +let file = ref "" + +let options = + ["-cmd", Arg.String (function x -> command := x), "get maintainer command"] + +let usage = "" + +let anonymous x = file := x + +let _ = + Arg.parse (Arg.align options) (fun x -> file := x) usage; + let i = open_in !file in + let patches = split_patch i in + let maintainer_table = resolve_maintainers !command patches in + let template = Common.cmd_to_list (Printf.sprintf "cat %s.tmp" !file) in + make_output_files template maintainer_table !file -- 2.20.1