Caml1999I037( ʠ6Closure_conversion_auxӠ#Env:@!t<;@@@A@@@@@ -middle_end/flambda/closure_conversion_aux.mliYY@@@@@@A@%empty=@@@@[[@@A@@'add_var>@@@@@@@%Ident!t@@@@@@(Variable!t@@@@@,@@@@@@@@@@9]:]@@JB@@(add_vars?@<@@@@@@$listK1!t@@@@@@@@@4!t@@@@@@@@_@@@@@@@@@@l^m^<@@}C@@(find_var@@o@@@@@@^!t@@@@@X!t@@@@@@@@`>@`>i@@D@@,find_var_exnA@@@@@@@~!t@@@@@x!t@@@@@@@@ajlaj@@E@@/add_mutable_varB@@@@@@@!t@@@@@@0Mutable_variable!t@@@@@@@@@@@@@@@cc@@F@@4find_mutable_var_exnC@@@@@@@!t@@@@@%!t@@@@@@@@dd@@G@@4add_static_exceptionD@@@@@@@#intA@@@@@@0Static_exception!t@@@@@@@@@@@@@@@ff\@@/H@@5find_static_exceptionE@!@@@@@@)@@@@@#!t@@@@@@@@!t@@@o@@@p@@q@gA  hA  @@xT@@$bodyT@n@@@r@@s&lambda@@@t@@u@}B  ~B  @@U@@&inlineU@@@@v@@w0inline_attribute@@@x@@y@C  C  @@V@@*specialiseV@@@@z@@{4specialise_attribute@@@|@@}@D  D  B@@W@@,is_a_functorW@@@@~@@$boolE@@@@@@E C GE C c@@X@@$stubX@@@@@@@@@@@@F d hF d |@@Y@@#locY@@@@@@/scoped_location@@@@@@G } G } @@Z@@.poll_attributeZ@@@@@@0.poll_attribute@@@@@@H  H  @@[@@+free_idents[@@@@@@#Set!t@@@@@@K  K  ?@@(\@@@@qL @ E@,]@@@!tI;@@@A@@@@@%N G I&N G O@@@@6^@A@&createJ@!t@@@@@@@@@@@@@@AP Q SBP Q y@@R_@@'to_listK@@@@@@!t@@@@@@@@@[Q z |\Q z @@l`@@/all_free_identsL@+@@@@@J#Set!t@@@@@@sU 7 9tU 7 _@@a@@>closure_env_without_parametersM@!t@@@@@@M@@@@@ !t@@@@@@@@[km[k@@b@@@@p\@c@@@@O6Closure_conversion_aux0 WhmLd:y!(Warnings0Ef{&(Variable0?l猵eY)Unit_info0'T Χ@aR%Types0"|Vȷ`X .Type_immediacy00$ jbv\"k&&Symbol03E?Y7(%Subst0=aqT/!p+-Stdlib__Uchar0=H^V9>ɠ+Stdlib__Sys0b'8=OIn.Stdlib__String0 w_OA4D"Q~~+Stdlib__Set0ܔ@Z8XWaa2+Stdlib__Seq0?72#[O.Stdlib__Result0p~ !ԥ//+Stdlib__Map0*4ɇ2.Stdlib__Domain0'Ϳo\0m.K.Stdlib__Digest0#z25I*.Stdlib__Buffer0,I[?z&Stdlib0t0VoS%{<F:0Static_exception0Jmyrqܒx-8ɞ%Shape0 M``ll)Primitive0dU=\I/}$Path0k.tbGmᠠ)Parsetree0v o[pY Y+Outcometree0BuG^)= 9c 0Mutable_variable0CQᷧ$$Misc0Bpg]?[q)Longident0wP q;ɡ(Location0nBɊOn?7~ؠ)Load_path0,j " nn7ݠ,Linkage_name0tԈK1G&Lambda0x_edT-uq7Internal_variable_names0TbgѹG+L,Identifiable0]/*N %Ident0>ЃzV)j⠠*Format_doc0uy@GmWUࠠ#Env0S B2)Debuginfo0_ |PooGq*Data_types0v\3,Svh0Compilation_unit0Dl ]wN*Cmi_format0`M{?w}@0CamlinternalLazy0zY# #4#-8CamlinternalFormatBasics0|.e1R$|o5Build_path_prefix_map0DGl}%Y5Lhi(Asttypes0eT$BbRM dc@@@Caml1999T037WC;8C6Closure_conversion_aux-ocaml.warning -middle_end/flambda/closure_conversion_aux.mliQQ@2+a-4-9-30-40-41-42 QQ@@QQ@@@@@@QQ@3@@@@@@#intA;@@#intA@@@@@&_none_@@A@A@$charB;@@$charA@@@@@ @A@&stringQ;@@&stringA@@@@@@@@%bytesC;@@%bytesA@@@@@@@@%floatD;@@%floatA@@@@@@@@$boolE;@@%falsec@@%@$trued@@+@@@A@@@@@,@A@$unitF;@@"()e@@6@@@A@@@@@7@A@ #exnG;@@@A@@@@@;@@@#effH;@@O@A@A@@@@@@D@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@T@@@%arrayJ;@@R@A%arrayA@@@@@@_@@@ $listK;@@S@A"[]f@@l@"::g@@@T@@y@ @@A@Y@@@@@|@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@)nativeintA@@@@@@@@%int32N;@@%int32A@@@@@@@@%int64O;@@%int64A@@@@@@@@&lazy_tP;@@X@A&lazy_tA@Y@@@@@@@@ 5extension_constructorR;@@5extension_constructorA@@@@@@@@*floatarrayS;@@*floatarrayA@@@@@@@@&iarrayT;@@Y@A&iarrayA@Y@@@@@@@@ *atomic_locU;@@Z@A*atomic_locA@@@@@@@@@ .Assert_failure`#@@@@@J@@@@@@@@[@@A頰=ocaml.warn_on_literal_pattern@@0Division_by_zero]#@@@A󠰠  @+End_of_file\#$@@@A@'FailureY#,@'@@A@0Invalid_argumentX#5@0@@A $#@-Match_failureV#>@@=@9@;@@a@@A5!4!@)Not_foundZ#O@@@A&=)<)@-Out_of_memoryW#W@@@A.E1D1@.Stack_overflow^#_@@@A6M9L9@.Sys_blocked_io_#g@@@A>UATA@)Sys_error[#o@j@@AG^J]J@:Undefined_recursive_modulea#x@@w@s@u@@h@@AXo[n[@:Continuation_already_takenb#@@@A`wcvc@&Stdlib@A@*ocaml.textn G Environments and auxiliary structures used during closure conversion. SS@@@@@@#EnvAXX@L@@БA+!tBYY@@;@@@A@@@@@Y@@@@@@@@A@@@3@@A@%empty[[@г!t[[@@ @@@{3@%@A@@@[ @@A@@ @@'add_varU]]@б@г:!t]]@@ @@@|3@!4@A@@б@г%Ident!t%Ident%]&]@ )]*]@@@@@@  @@б@г(Variable!t(Variable?]@]@ C]D]@@@@@@ 6 @@г}!tQ]R]@@ @@@ C@@@@@ @@ H @@@4@@  @@ M<@@@U@@  @@ RX@@@h]@@tB@@@@X(add_varsVs^t^@б@г!t~^^@@ @@@ 3mllmmmmm@q@A@@б@гꠐ$list^ ^$@гz!t%Ident^^@ ^^@@@@@@ $ @@@ @@@ )@@б@г$list^3^7@г!t(Variable^(^0@ ^1^2@@@@@@ K @@@ @@@ P@@г!t^;^<@@ @@@ ]@@@@@ @@ b" @@@B@@ ! @@ "gN@@@o@@ # @@ $lr@@@^@@C@@@@r(find_varW`>D`>L@б@г4!t`>O `>P@@ @@@ %3@@A@@б@г!t%Ident`>T`>Y@ !`>Z"`>[@@@@@@ & @@г!t(Variable3`>_4`>g@ 7`>h8`>i@@@@@@ '0 @@@@@ (@@ )5& @@@=@@ * @@ +:@@@@J`>@@@VD@@@@@,find_var_exnXUajpVaj|@б@г!t`ajaaj@@ @@@ ,3ONNOOOOO@Yn@A@@б@гR!t%Identuajvaj@ yajzaj@@@@@@ - @@гN!t(Variableajaj@ ajaj@@@@@@ .0 @@@@@ /@@ 05& @@@=@@ 1 @@ 2:@@@@ajl@@E@@@@@/add_mutable_varmcc@б@г䠐!tcc@@ @@@ 33@Yn@A@@б@г!t%Identcc@ cc@@@@@@ 4 @@б@г0Mutable_variable!t0Mutable_variablecc@ cc@@@@@@ 4 @@г%!tcc@@ @@@ A@@@@@ @@ F @@@4@@  @@ K<@@@S@@  @@ PV@@@c@@F@@@@V4find_mutable_var_exnndd@б@гR!t&d'd@@ @@@ 3@o@A@@б@г!t%Ident;dfA@@ @@@ @@б@г0Static_exception!t0Static_exceptionfEfU@ fVfW@@@@@@ Z+ @@г⠐!tf[f\@@ @@@ [8@@@@@ \@@ ]= @@@4@@ ^ @@ _B7@@@J@@ ` @@ aGM@@@f@@H@@@@M5find_static_exception|g]cg]x@б@г!tg]{g]|@@ @@@ b3@f{@A@@б@г#intg]g]@@ @@@ c@@гc!t0Static_exceptiong]g]@  g] g]@@@@@@ d' @@@@@ e@@ f,! @@@4@@ g @@ h17@@@g]_@@(I@@@@7*add_global'i(i@б@г^!t2i3i@@ @@@ i3!  !!!!!@Pe@A@@б@г#intCiDi@@ @@@ j@@б@г&Symbol!t&SymbolXiYi@ \i]i@@@@@@ + @@г!tjiki@@ @@@ 8@@@@@ @@ = @@@4@@  @@ B7@@@J@@  @@ GM@@@i@@J@@@@M+find_globaljj@б@гà!tjj@@ @@@ 3@f{@A@@б@гh#intjj@@ @@@ @@гc!t&Symboljj@ jj@@@@@@ ' @@@@@ @@ ,! @@@4@@  @@ 17@@@j@@K@@@@7@A@@s@l@@?@8@}@v@@j@c@@3@Pe@AذXk@@)ocaml.doc Used to remember which [Variable.t] values correspond to which [Ident.t] values during closure conversion, and similarly for static exception identifiers. UW@@@@@@@X@@.Function_decls+Cpp@c@@Б-Function_decl%Dqq@+]@@БA+!tE-r  .r  @@;@@YA@@@@@1r  @@@@=M@@@A@@@3@u@icA@ZE@>@O@H@@7@0@~@w1@*@@@^]\@\\@@@\@\@Y@A*-@&createct  dt  @б-let_rec_identг&optionpu  ?qu  E@г[!t%Ident~u  7u  <@ u  =u  >@@@@@@ 3rqqrrrrr@Va[@A @@@" @@@ @@б1closure_bound_varгb!t(Variablev F av F i@ v F jv F k@@@@@@ ! @@б$kindг&Lambda-function_kind&Lambdaw l zw l @ w l w l @@@@@@= @@б¶msг,$listx  x  @г!t%Identx  x  @ x  x  @@@@@@a @@@ @@@f@@б$bodyгE&lambda&Lambday  y  @ y  y  @@@@@@ @@б$attrг_2function_attribute&Lambdaz  z  @ z  z  @@@@@@ @@б#locгy/scoped_location&Lambda2{  3{  @ 6{  7{  @@@@@@ @@г!tD|  E|  @@ @@@@@'@@@@ưO{   @@G5@@ @@̰Uz  @@gU@@ @@Ұ[y  @@v@@ @@ذax  @@@@ @@ްgw l u#@@@@ @@mv F O)@@ @@ @@su  )/@@@vt  2@@P@@4@@-let_rec_ident~  (~  5@б@г_!t~  8~  9@@ @@@3{zz{{{{{@ 4@A@@г|!t%Ident~  =~  B@ ~  C~  D@@@@@@ @@@ @@@@# @@@~  $@@Q@@@@#1closure_bound_var E M E ^@б@г!t E a E b@@ @@@ 3@<Q@A@@г!t(Variable E f E n@  E o E p@@@@@@  @@@ @@ @@ # @@@ E I@@R@@@@#$kind@ q y@ q }@б@гՠ!t@ q @ q @@ @@@ 3@<Q@A@@г\-function_kind&Lambda@ q @ q @ @ q @ q @@@@@@ @@@ @@@@# @@@'@ q u@@3S@@@@#¶ms2A  3A  @б@г!t=A  >A  @@ @@@3,++,,,,,@<Q@A@@г$listLA  MA  @г7!t%IdentZA  [A  @ ^A  _A  @@@@@@" @@@ @@@'@@@/@@ @@,2"@@@qA  %@@}T@@'@@2$body|B  }B  @б@гZ!tB  B  @@ @@@3vuuvvvvv@K`@A@@г&lambda&LambdaB  B  @ B  B  @@@@@@ @@@ @@@@# @@@B  @@U@@@@#&inlineC  C  @б@г!tC  C  @@ @@@3@<Q@A@@г0inline_attribute&LambdaC  C  @ C  C  @@@@@@ @@@ @@@@# @@@C  @@V@@@@#*specialiseD  D  @б@гР!tD  "D  #@@ @@@3@<Q@A@@гW4specialise_attribute&Lambda D  ' D  -@  D  . D  B@@@@@@  @@@ @@!@@"# @@@ "D  @@ .W@@@@#,is_a_functor -E C K .E C W@б@г !t 8E C Z 9E C [@@ @@@#3 ' & & ' ' ' ' '@<Q@A@@г栐$bool GE C _ HE C c@@ @@@$@@@@@%@@& @@@ TE C G @@ `X@@@@$stub _F d l `F d p@б@г=!t jF d s kF d t@@ @@@'3 Y X X Y Y Y Y Y@3H@A@@г $bool yF d x zF d |@@ @@@(@@@@@)@@* @@@ F d h @@ Y@@@@#loc G }  G } @б@гo!t G }  G } @@ @@@+3        @3H@A@@г/scoped_location&Lambda G }  G } @  G }  G } @@@@@@, @@@ @@-@@.# @@@ G } @@ Z@@@@#.poll_attribute H   H  @б@г!t H   H  @@ @@@/3        @<Q@A@@г1.poll_attribute&Lambda H   H  @  H   H  @@@@@@0 @@@ @@1@@2# @@@ H  @@ [@@@@#+free_idents$ K  ! K  ,@б@г堐!t K  / K  0@@ @@@33        @<Q@A@@г#Set!t%Ident )K  4 *K  9@  -K  : .K  =@@ 2K  > 3K  ?@ @@@@@!@@@)@@@@&, @@@ @K  @@ L\@@@@,@A@@@a@Z(@!@@n@g5@.@@@c@\!@@3 I H H I I I I I@I^#@A3 L K K L L L L L@/@A dq  eL @ E@@@ gq@@A+!t&F rN G N sN G O@@;@@A@@@@@ vN G I@@@@ ^@@@A@@@3 b a a b b b b b@Fa@UOA@! @@@a@Z@@@n@g>@7@@@Z@@@2x@A#&@&create' P Q W P Q ]@б@г $list P Q p P Q t@г!t-Function_decl P Q ` P Q m@  P Q n P Q o@@@@@@3        @MXR@A @@@" @@@@@гa!t P Q x P Q y@@ @@@@@@@@@@$ @@@ P Q S @@ _@@@@'to_list( Q z  Q z @б@г!t Q z  Q z @@ @@@3        @8`@A@@г `$list Q z  Q z @г!t-Function_decl Q z  Q z @  Q z  Q z @@@@@@ " @@@ @@@"'@@@/@@# @@$,2"@@@ *Q z |%@@ 6`@@'@@2/all_free_idents) 5U 7 = 6U 7 L@б@гΠ!t @U 7 O AU 7 P@@ @@@%3 / . . / / / / /@K`@A@@г 1#Set!t%Ident WU 7 T XU 7 Y@  [U 7 Z \U 7 ]@@ `U 7 ^ aU 7 _@ @@@@@&!@@@)@@'@@(&, @@@ nU 7 9@@ za@@@@,>closure_env_without_parameters* y[kq z[k@б@г !t#Env [k [k@  [k [k@@@@@@3 | { { | | | | |@Nc(@A @@б@г,!t [k [k@@ @@@@@г !t#Env [k [k@  [k [k@@@@@@' @@@@@@@,! @@@4@@ @@1<@@@ [km@@ b@@@@7@@k@f@@`ZA@3@@h@a@@3        @Ec@A3        @@A p \@@ Used to represent information about a set of function declarations during closure conversion. (The only case in which such a set may contain more than one declaration is when processing "let rec".)  m o@@@@@@@ p@@@ 1@ +@@@@@@@@@@@@3        @@@A@@^@W%@@@k@d2@+@@@`@Y'@ @@@@@A@I@B@@i@@8A@A@ H************************************************************************ 1A@@ 2A@L@ H  7BMM 8BM@ H OCaml  =C >C@ H  CD DD3@ H Pierre Chambart, OCamlPro  IE44 JE4@ H Mark Shinwell and Leo White, Jane Street Europe  OF PF@ H  UG VG@ H Copyright 2013--2016 OCamlPro SAS  [H \Hg@ H Copyright 2014--2016 Jane Street Group LLC  aIhh bIh@ H  gJ hJ@ H All rights reserved. This file is distributed under the terms of  mK nKN@ H the GNU Lesser General Public License version 2.1, with the  sLOO tLO@ H special exception on linking described in the file LICENSE.  yM zM@ H  N N5@ H************************************************************************ O66 O6@ H* Environments and auxiliary structures used during closure conversion.  Ҡ * Used to remember which [Variable.t] values correspond to which [Ident.t] values during closure conversion, and similarly for static exception identifiers.  * Used to represent information about a set of function declarations during closure conversion. (The only case in which such a set may contain more than one declaration is when processing "let rec".)  4 Like [all_free_idents], but for just one function.  J   J  @ All identifiers free in the given function declarations after the binding of parameters and function identifiers has been performed.  S   T  6@  A map from identifiers to their corresponding [Variable.t]s whose domain is the set of all identifiers free in the bodies of the declarations that are not bound as parameters. It also contains the globals bindings of the provided environment.  W a c Z j@@-./boot/ocamlc)-nostdlib"-I&./boot*-use-prims2runtime/primitives"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I2middle_end/flambda"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events"-c ݐ F/home/ci/builds/workspace/main/flambda/false/label/ocaml-ubuntu-latest >10/.-,+*)('&%$#"! @@0Bl7 }nU3        @ @@(Asttypes0eT$BbRM dc5Build_path_prefix_map0DGl}%Y5Lhi8CamlinternalFormatBasics0|.e1R$|o0CamlinternalLazy0zY# #4#- 0 WhmLd:y!*Cmi_format0`M{?w}@0Compilation_unit0Dl ]wN*Data_types0v\3,Svh)Debuginfo0_ |PooGq#Env0S B2*Format_doc0uy@GmWUࠠ 0>ЃzV)j⠠,Identifiable0]/*N 7Internal_variable_names0TbgѹG+L&Lambda0x_edT-uq,Linkage_name0tԈK1G)Load_path0,j " nn7ݠ(Location0nBɊOn?7~ؠ)Longident0wP q;ɡ$Misc0Bpg]?[q {0CQᷧ$+Outcometree0BuG^)= 9c )Parsetree0v o[pY Y$Path0k.tbGmᠠ)Primitive0dU=\I/}%Shape0 M``llې0Jmyrqܒx-8ɞ&Stdlib0t0VoS%{<F:.Stdlib__Buffer0,I[?z.Stdlib__Digest0#z25I*.Stdlib__Domain0'Ϳo\0m.K.Stdlib__Either0HD ?|>.Stdlib__Format00FClW/Stdlib__Hashtbl0(L%bԠ,Stdlib__Lazy0$1mlࠠ.Stdlib__Lexing0^m|e+Stdlib__Map0*4ɇ2ɠ%Subst0=aqT/!p+03E?Y7(.Type_immediacy00$ jbv\"k&%Types0"|Vȷ`X )Unit_info0'T Χ@aR 0?l猵eY(Warnings0Ef{&@0 WhmLd:y!Ab@3j@E|ٖ@@@@ސ )@Ґذ ` @@Ɛ@ C@ܰ 3 ?@@.t@  @@ Ȑ @@@n@@1@ Q @4k@@2 @?v   d n@ 4 N@h  " @@@d D @@P@@