Caml1999I031r)(Patterns%omegas)Typedtree'pattern@@@@3typing/patterns.mliUU@@D@&omegast@#intA@@@$listI 'pattern@@@@@@@@@XX@@0E@*omega_listu@!a@@@@ >'pattern@@@@@@@@@<[''=['O@@NF@Ӡ-Non_empty_rowv@!t{8!a@@A@ACa'pattern@@@@@@@@Y@@@@@b_c_@@@@tGA@*of_initial|@[y'pattern@@@@@@3'pattern@@@@@@@@@aa@@H@)map_first}@@!a@!b@@@@" @@@& @@@@@@@@d"$d"N@@I@@@^tteOR@J@@Ӡ&Simplew@$view~8@@@AР%Tuple'pattern@@@@@@à#Any@%Array'pattern@@@@@@'Variant(Asttypes%label@@@&optionJ'pattern@@@@@@&Stdlib#ref%Types(row_desc@@@@@@@@&Record6#loc)Longident!t@@@@@@'1label_description@@@6'pattern@@@@@@@@R+closed_flag@@@@@$LazyG'pattern@@@)Constructi#loc3!t@@@@@@X7constructor_description@@@Mk'pattern@@@@@@@@(Constant(constant@@@@@@A@@@@@@@thhjus@@@@KA@'pattern8@@@A,pattern_data@@@@@@@@@@tt@@@@LA@%omega,pattern_dataРߠ@@@@@@ᠠݐ@ܐ۠@@@@@@ߠِ@@@ܠԠ@@@@@@۠͠@@@@@@@@ݠȐǠƠ@@@@@@Ԡ@@@Ҡ@@@@@@@@֠@@@@@נ@@@Ϡ$@@@@@@͠@@@ˠ!@@@@@@@@Π?@@@@@@@@@@@@@@+v,v%@@=M@@@/gTT0w&)@AN@@Ӡ+Half_simplex@$view8@@@AРQ@@@@@@@`@@@@@@~@@@}tz@@@@@@yvur@@@@@@@@qponk@@@@@@j@@@i@@@@@@@@h@@@@@gf@@@"Or'pattern@@@'pattern@@@Ѡ(row_desc@@@@@@@@@@@@@@@@@~}@@@@@@@@|{@@@@@@A@@@@@@@zDF}@@@@OA@'pattern8@@@A,pattern_data@@@@@@@@@@~~@@@@PA@@@y++@Q@@Ӡ'Generaly@$view8@@@AР`_(^@@@N@@@O]@#Var%Ident!t@@@LV#loc&stringO@@@J@@@K@@MyxTw@@@H@@@Ivur@@@Fqhn@@@D@@@Emjif@@@B@@@C@@Gedcb_@@@=@@@>^@@@<]@@@;@@?@@@@\@@@:@@A[Z@@@9@@@7@@@6@@@4@@@5@@8rqpo@@@1@@@2n@@@0ml@@@.@@@/@@3%Alias'pattern@@@,!t@@@+#loc@@@)@@@*@@-@@@(@@@PA@@@Q@@@@BF Q T@@@@RA@'pattern8@@@A,pattern_data@@@R@@@S@@@@G U WG U w@@@@"SA@$view@#'pattern@@@T"@@@U@@V@%I y {&I y @@7T@%erase@8,pattern_dataР@~G}@@@}@@@~@@A}A@@A}@|X{@@@{@@@|@@A.@-*@@@y)(@@@w@@@x@@z@@A@@@@u@@@s@@@t@@@q@@@r@@v@@A@~}z@@@l@@@my@@@kx@@@j@@n@@@ow@@@i@@p@@Aw@v@@@h@@A@@@@f@@@e @@@c@@@d@@g@@A@@@@`@@@a@@@_@@@]@@@^@@b@@A@@@@[@@@Z!@@@X@@@Y@@\@@A@.@@@W@@A@@A@ @@@@@"'pattern@@@@@@ J  !J  @@2U@*strip_vars@ @@@'pattern@@@@@@4L  5L  @@FV@@@8A9M  @JW@@Ӡ$Headz@$desc8@@#Anya@@MQ 5 9NQ 5 >@@_Y)ConstructbV7constructor_description@@@@@\R ? C]R ? i@@nZ(Constantc(constant@@@@@kS j nlS j @@}[%Tupledi@@@@@yT  zT  @@\&Recordeq1label_description@@@@@@@@U  U  @@]'Variantf#tagg@%label@@@W  W  @@^'has_argh@$boolE@@@W  W  @@_(cstr_rowi@#ref(row_desc@@@@@@X  X  @@`(type_rowj@@$unitF@@@ (row_desc@@@@@Y  !Y  =@@a@@V  Y  ?@@b%Arrayk@@@ @@\  \  @@c$Lazyl@@]  ]  @@d@@A@@@@@P ' )@@@@XA@!t8@@@A,pattern_data@@@@@@@@@@_  _  @@@@jA@%arity@@@@ @@@@@@a  a  @@,k@+deconstruct@}'pattern@@@@@@! >'pattern@@@@@@ @@"@@#@<f  =f  @@Nl@0to_omega_pattern@5@@@$R'pattern@@@%@@&@Oi ! #Pi ! F@@am@%omegaF@@@'@[k H J\k H W@@mn@@@_O  `m Y \@qo@@@p(Patterns0hd=PY Wbu(Warnings0zdͦkUe$%Types0lm?ƈ)Typedtree0r&/ĤVD dˠ.Type_immediacy0dV^25b)̓ԆSj%Subst0BYw>*Su}Ck-Stdlib__Uchar0*Ujmyc6]]W.Stdlib__String0I3UK# +Stdlib__Set0.z9FX+Stdlib__Seq05"g1<)b+Stdlib__Map0kZ,ҷ'V.Stdlib__Lexing01'jh,-k4,Stdlib__Lazy0C 4 "$p1tU/Stdlib__Hashtbl04$*uկdD.Stdlib__Format0{hXsHW#ȼ.Stdlib__Either0&]XF.Stdlib__Digest0aI]2t*x4%".Stdlib__Buffer0K ɦb+Z8)#KH"&Stdlib0yӶ~*%Shape0H[DTċwToe@Q)Primitive0յ_9|br$Path0L%SsN|#Ɣj)Parsetree0`ⰧkRE+Outcometree0gCtrz<(Patternsࠐ(Asttypes(Asttypes3typing/patterns.mliQQ@@A0@@@@@@%arrayH8@@M@A@A@@@@@@&_none_@@A@@@ $boolE8@@%false^@@ @$true_@@@@@A@@@@@@A@$charB8@@@A@@@@@@A@#exnG8@@AA@@@@@@@@5extension_constructorP8@@@A@@@@@ @@@%floatD8@@@A@@@@@$@@@*floatarrayQ8@@@A@@@@@(@@@#intA8@@@A@@@@@,@A@%int32L8@@@A@@@@@0@@@%int64M8@@@A@@@@@4@@@&lazy_tN8@@O@A@A@Y@@@@@=@@@$listI8@@P@A"[]a@@J@"::b@@@Q@@W@ @@A@Y@@@@@Z@@@)nativeintK8@@@A@@@@@^@@@&optionJ8@@S@A$Nonec@@k@$Somed@@r@@@A@Y@@@@@u@@@&stringO8@@@A@@@@@y@@@$unitF8@@"()`@@@@@A@@@@@@A@ .Assert_failure\ p@@@@Jm@@@@@@V@@A=ocaml.warn_on_literal_pattern@@0Division_by_zeroY @@@A  @+End_of_fileX !@@@A@'FailureU )@%@@A@0Invalid_argumentT 2@.@@A$#@-Match_failureR ;@:67@@\@@Aʠ21@ )Not_foundV I@@@AҠ:9@-Out_of_memoryS Q@@@AڠBA@.Stack_overflowZ Y@@@A⠰JI@.Sys_blocked_io[ a@@@A꠰RQ@)Sys_errorW i@e@@A󠰠[Z@:Undefined_recursive_module] r@qmn@@c@@Aih@ %bytesC8@@@A@@@@@@@@&Stdlib@@A:Q9@@087788888@5@A;@ࠐ)Typedtree)TypedtreeIRJR@@A0HGGHHHHH@G @ANR@@L@ࠐ%Types%Types\S]S@@A0[ZZ[[[[[@ @AaS@@@%omegakUlU@г.'patterntUuU@@ @@@`@@@|U@)ocaml.docT9 aka. "Tpat_any" or "_" VV@@@@@@@D@@0&omegasXX@б@гG#intXX@@ @@@a0@IA.@A@@гA$listXX@гt'patternXX@@ @@@b@@@@@@d @@@$@@e!'@@@X@N> [List.init (fun _ -> omega)] YY%@@@@@@@E@)@4*omega_list['+['5@б@г~$list[';['?@А!a@nA@f0@Sh2@A['8[':@@@ @@@h @@г$list ['K ['O@г'pattern['C['J@@ @@@i @@@@@@k% @@@#@@l(&@@@#[''@= [List.map (fun _ -> omega)] /\PP0\Pr@@@@@@@AF@)@;-Non_empty_rowA=^t{>^t@@БA(!tBK_L_@А!a@q0RQQRRRRR@_z78@@p@A@A@C@x@@C@yC@oG@B@@@i_j_@@@@{G@Am_n_@@BA@8 @A@A&D@r>'pattern@@@s@@@u@@vY@@@@@@@@@@AВА!a8__@@г$list_.@г)Typedtree__@@%M@@@*N:@@@1O;@@=@@0@O@A>=@*of_initialaa@б@гK$listaa@г~'pattern)Typedtreeaa@@ @@@0@w^@A@@@ @@@ @@г!taa@г'pattern)Typedtreeaa@@ @@@!@@@@@@& @@@&@@)/@@@a@|> 'assert false' on empty rows bb @@@@@@@H@,@<)map_firstd"(d"1@б@б@А!a@C@0@Su*@A!d"5"d"7@@А!b@C@ ,d";-d"=@@@ @@@@б@г!t:d"E;d"F@А!a'"Ad"BBd"D@@@-@@@) @@г!tOd"MPd"N@А!b/7Vd"JWd"L@@@5@@@> @@@@@A@@@4@@Dcd"4@@@fd"$@@wI@@@K@$A@w@c @@0lkklllll@Re @A 0onnooooo@@At^tueOR@@@w^tt@@&Simple0CgT[gTa@@БA($viewDhhohhs@@8@@@AР%Tuple5b'pattern@@@@@@#Any@%ArrayHu'pattern@@@@@@렠'Variant%label@@@נ?'pattern@@@@@@ڠ#ref(row_desc@@@@@@@@ޠ&Record~#loc)Longident!t@@@@@@1label_description@@@'pattern@@@@@@@@+closed_flag@@@@@蠠$Lazy'pattern@@@젠)Construct*#loc3!t@@@@@@Ѡ7constructor_description@@@Ҡˠ'pattern@@@@@@@@֠(ConstantL(constant@@@@@@A@@@@@@@IhhjJs@@@@[K@@AзTix~Uix@A@@@\j]j@@гdjej@@$0cbbccccc@1@&A@y@e @@@J8@@@A@@E@E@@@@@2@@@/@A@@@ @@kk@@г砐$listkk@г점kk@@.@@@/ @@@ @@ll@@Вгmm@г)Longidentmm@@M@@@N @@гmm@@W@@г$listm m@гmm @@i@@@j @@@k! @@@7 @@nn@@Вгn#n(@@#@@г&optionn3n9@г$%n+n2@@+@@@0 @@г'(nEnH@г*+n<nD@@1@@@7 @@@L) @@@5 @@1oIOoIV@@Вг2$listpZpZ@Вг78)pZo*pZr@г:)Longident:3pZc4pZn@@Cϰ@@@Iа @@г<==pZu>pZ@@Cٰ@@г?@FpZGpZ@@F@@@_@@@dKpZb-@@гDERpZSpZ@@K@@@r @@@E@@\q]q@@г$listeqfq@гmqnq@@ @@@  @@@ @@fwrxr@@гghrr@@n@@@ @@@@@hhv;@@=@@0@@A>=@A('pattern.Ett@@8@@@AU,pattern_data@@@G@@@I@@@@tt@@@@L@@Aгt @г$viewtt@@0@M(")8@@@A0@@F@JF@F@@@@@@@@A @@@* @@!@@0@ @A"!@%omega/vv @г,pattern_datavv%@згP$viewvv@@ @@@U0@4\V@A@@ @@@A@РUTS@@Z@@YS@RQP@#@\@%@[PO@0@^NM@8@`@:@_MK@B@b@D@a@@]KJIG@X@g@Z@fD@_@hC@d@i@@e@f@dC@k@j@@cBA@s@k@?=@@n@@m<@@o;:@@q@@p@@l:9@@r@@@t@@@@uvv@@@@@@w@@@v@@M@@@@A@A@ @@0@ @A 0@2@AgTdw&)@@@gTT@@+Half_simple3Fy+2y+=@@БA($view1GzDKzDO@@8@@@AР'&%@@@@@'@&%$@@@@%$@ @$#@)@@+@$#@5@@7@@@$#"!@M@@@@Š@T@Ǡ@Z@@@@\@à2@b@@@ @k@ʠ"Or'pattern@@@Ҡ'pattern@@@Ӡ(row_desc@@@@@@@@נ<e;:9@@@@@̠9@@Π908@@@@@@ˠ98@@@@@A@@@@@@@zDF}@@@@O@@Aзг$view&Simple{TZ{Te@@ @@0@3@ A@A@@@@N8@@@A@@H@H@x@@@@,@@@)@A@@@@z|fl|fo@@Вг{||fs|fz@@(@@г~|f}|f@@1@@г&option|f|f@г|f|f@@C@@@D @@@E  @@@, @@@@@#GzDR_@@a@@0@H@Aba@A('pattern2H~~@@8@@@A,pattern_dataD@@@Q@@@S@@@@~~@@@@ P@@Aг~ @г$view ~ ~@@0        @w]W)8@@@A0@@I@TI@P@@@@@@@@A @@@* @@!@@0@ @A"!@@keA@93A@@0@;5@A0!  !!!!!@@A&y+@'@@@)y++@@'General_I5A6A@@БA($view4JCBDB@@8@@@AР@@@@@@#Var%Ident!t@@@w#loc@@@@@@@@ ̐ˠ?@-@@/@ː@;@ʠV@D@@F@jʠO@P@@R@@@ʐɠȠ@h@@@@n@o@@u@@@@w@@}@@@Ő@@@@@@@@@@@@ᐐ @@@@@@@ޠ@@@@@@%Alias'pattern@@@à!t@@@Ġ :#loc@@@@@@@@Ƞ H@@@@@A@@@@@@@ EB FF Q T@@@@ WR@@Aзг$view+Half_simple XC YC@@ @@0 Y X X Y Y Y Y Y@@A@}wA@@@= uQ'8@@@A.@@K@K@_@@@@*@@@'@A@@@@ uD  vD @@Вг%Ident D  D @@ (@@г D  D !@г&string D  D @@$:@@@*; @@@7< @@@%@@ E " ( E " .@@Вг E " 2 E " 9@@P@@г%Ident E " < E " C@@[@@г E " M E " P@г&string E " F E " L@@m@@@n @@@o" @@@.@@@@@q B@@@@0        @r@A@A('pattern[K G U \ G U c@@8@@@A,pattern_data@@@i@@@k@@@@ G U W G U w@@@@ S@@Aг G U k @г$view G U f G U j@@0        @)8@@@A0@@L@lL@h@@@@@@@@A @@@* @@!@@0        @ @A"!@$view\ I y  I y @б@г'pattern)Typedtree !I y  "I y @@ @@@w0 # " " # # # # #@*RL@A@@гV'pattern 0I y  1I y @@ @@@x@@@@@y@@@ ;I y { @@ LT@ @@%erase] FJ   GJ  @б@г ,pattern_data QJ   RJ  @зг$view `J   aJ  @@ @@@z0 b a a b b b b b@@X.@A@@ @@@@@Р@Ԡ#@@@@~@@AA@@A@Ӡ@&@@(@@@A1@0@4@,*@<@@>@@@@@A@@J@@R@@T@@\@@^@@@@@A@@s@@u@@z@@@@@@@@@@@@@A@@@@@A@@@@@@@@@@@@@A@@@@@@@@@@@@@@@A@@@@@@@@@@@@@A @@@@@A@@@A@@@ XJ   YJ  @@@@@@ @@г 'pattern)Typedtree iJ   jJ  @@ @@@ @@@@@ @@@ tJ   @@ U@ @@*strip_vars^ L   L  @б@г'pattern L   L  @@ @@@0        @+O@A@@г'pattern+Half_simple L   L  @@ @@@@@@@@@@@ L   @@ V@ @@@mgA@A@w@p@@9@@0        @&;@A 0        @Z@A A M  @@@ A@@$HeadrL O   O  @@БA($desc`M P ' . P ' 2@@8@@#Anya@@ Q 5 9 Q 5 >@@ Y)Constructb 7constructor_description@@@@@ R ? C R ? i@@ Z(Constantc (constant@@@@@ S j n S j @@ [%Tupled @@@@@ T   T  @@ \&Recorde  1label_description@@@@@@@@ U   !U  @@ 2]'Variantf#tagg@ 6%label@@@ 2W   3W  @@ D^'has_argh@ @@@ >W   ?W  @@ P_(cstr_rowi@ #ref (row_desc@@@@@@ QX   RX  @@ c`(type_rowj@@ @@@ (row_desc@@@@@ð dY  ! eY  =@@ va@@ hV   iY  ?@@ zb%Arrayk @@@@@ v\   w\  @@ c$Lazyl@@ ]   ]  @@ d@@A@@@@@ P ' )@@@@ X@ Q 5 ;@@@@@ R ? E R ? N@@г R ? R@@0        @?m@b\A@A@l@e5@.@@@ W8@@@A@@@@@)@@@'@A@@@@@ S j p S j x@@г S j |@@ @@@@@ T   T  @@г#int T  @@0@@@@@ U   U  @@г$list U  @г ð U   U  @@H@@@I@@@@@ V   V  @@àð W  @@Ш@гƠǰ W   W  @@_@@@O@b@@Ǡǰ W  @@Ш@гʠ$bool W   W  @@q@@@O@t@@͠Ͱ X  @@Ш@гРѰ X   X  @гӠ԰ "X   #X  @@@@@ @@@O@@@Ԡ԰ ,Y  )@@Ш@б@гנ$unit 7Y  , 8Y  0@@@@гܠݰ ?Y  4 @Y  <@@@@ @@@O@@@@@@ڠڰ I\   J\  @@гܠ#int S\  @@@@@@@ܠܰ Y]  @@@@@@A@@@0 X W W X X X X X@@A@A(!tmN f_   g_  @@8@@@A +,pattern_data@@@@@@@@@@ u_   v_  @@@@ j@@Aг ~_   @г$desc _   _  @@0        @)8@@@A0@@O@O@@@@@@@@@A @@@* @@!@@0        @ @A"!@%arityn a   a  @б@гD!t a   a  @@ @@@0        @'OI@A@@г _#int a   a  @@ @@@@@@@@@@@ a   @@ k@ @@+deconstructo f   f  @б@г Y'pattern&Simple f   f  @@ @@@0        @4I"@A@@Вг!t f   f  @@ @@@@@г $list f   f  @г 'patternf  f  @@ @@@*@@@@@@/ @@@$ @@ 4(@@@:@@ 7=@@@f  @ [deconstruct p] returns the head of [p] and the list of sub patterns. @raise [Invalid_arg _] if [p] is an or- or an exception-pattern. (c  )e Z @@@@@@@:l@.@J0to_omega_patternp4i ! '5i ! 7@б@г٠!t?i ! :@i ! ;@@ @@@ 0A@@AAAAA@c{,@A@@г 'patternNi ! ?Oi ! F@@ @@@ @@@@@ @@@Yi ! # @ ݐ < reconstructs a pattern, putting wildcards as sub-patterns. eh  fh  @@@@@@@wm@@%%omegaqqk H Nrk H S@г!tzk H V{k H W@@ @@@0|{{|||||@<Q*@A@@@k H J @@n@ @@@A@)#A@@u@a:@&@@0@(@A0@@AO  #m Y \@@@O  @@@ 8 %@  @  @ m@ 5@ 0 5@@ *@@ @@@@G@@~@@@@@@o@@@0@@A@YSA@"@@j@VA@@@)@A@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Gabriel Scherer, projet Partout, INRIA Paris-Saclay E44E4@ H Thomas Refis, Jane Street Europe FF@ H GG@ H Copyright 2019 Institut National de Recherche en Informatique et HHg@ H en Automatique. IhhIh@ H JJ@ H All rights reserved. This file is distributed under the terms of KKN@ H the GNU Lesser General Public License version 2.1, with the  LOO LO@ H special exception on linking described in the file LICENSE. MM@ H NN5@ H************************************************************************O66O6@:* aka. "Tpat_any" or "_"  ?* [List.init (fun _ -> omega)]  N>* [List.map (fun _ -> omega)]  ?* 'assert false' on empty rows  & i the row of the type may evolve if [close_variant] is called, hence the (unit -> ...) delay -Z @ J.[  @ * [deconstruct p] returns the head of [p] and the list of sub patterns. @raise [Invalid_arg _] if [p] is an or- or an exception-pattern.  =* reconstructs a pattern, putting wildcards as sub-patterns. @-./boot/ocamlc"-g)-nostdlib"-I$boot*-use-prims2runtime/primitives0-strict-sequence*-principal(-absname"-w>+a-4-9-40-41-42-44-45-48-66-70+-warn-error"+a*-bin-annot,-safe-string/-strict-formats"-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"-cab 3/home/barsac/ci/builds/workspace/step-by-step-build - @0 tkAԩ0srrsssss@p@@{0'$O~75Build_path_prefix_map0xөvĠ8CamlinternalFormatBasics0cEXy*Su}Ck.Type_immediacy0dV^25b)̓ԆSjՐ0r&/ĤVD dˠ%Types0lm?ƈ(Warnings0zdͦkUe$@0hd=PY WbuA[@r@  @@ @@   @@  @ 2 1@ts@@QT@@C  @@°  lk@  ް  @@P@