Caml1999T037 0C(ParmatchР$Misc$Misc2typing/parmatch.mlRsxRs|@@ 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@@@@A3@@@Rss@@@3@@@Р(Asttypes(AsttypesS}S}@@ 3@@@@@A3@@@S}}@@ @3@@@Р%Types%TypesTT@@ 3@@@@@A3@@@T@@ @3@@@Р*Data_types*Data_typesUU@@ 3@@@@@A3@@@U@@ @3@@@Р)Typedtree)TypedtreeVV@@ 3@@@@@A3@@@V@@ @3@@@A+-parmatch_caseMAXX@А'pattern@3        @;@@@A@A@G@B@@@X\@@@@-DA@@XX@@BA@;@A'patternN@@B@+Y,Y@@>EA)has_guardO@@@@@7Z8Z@@JFA,needs_refuteP@@@@@C[D[@@VGA@@A@Y@@@@@/@@@,@#%%"MY@!@@Ш@А'pattern+CTYUY@@0@@H@.@#**%\Z@$@@Ш@г-$booleZfZ@@5W@@8@@Z@4@#00+n[@*@@Ш@г3$boolw[x[@@;i@@>@@l@:@@A@c@@cb@3xwwxxxxx@@@@ఠ*typed_caseQ^ $^ .@HA@@@)Typedtree$case@@1@@@2B@+@@,/general_pattern@@@FC@C@@@EB@-@@.B@*3@@@@࣠@%paramlAঠ%c_lhs^ 1^ 6A3%c_lhs/!k@@@@$@@@ @@@3&c_cont&optionL%Ident!t@@@ @@@ @@A@A4typing/typedtree.mli6--6--@@M@3'c_guard%X*expression@@@@@@ @@B#@A7--7-.@@]@3%c_rhs5 @@@@@C,@A8..8..(@@f@@A5--5--@@j@ఠISJIH@IA@bp@@@33      @`^  b@@@@'c_guard^ 8^ ?A5ఠT@2JA@98@@@9@@@8@%c_rhs/^ A0^ FA:ఠU@GKA@J@@@=,@@@;^ /<^ H@@D@/1@@@@ະ3&@@)!@@@3@@A@A@3@@B@A @@A"@'patternQ_KOR_KV@ఐP%c_lhsZ_KY[_K^@S@U@T@@3YXXYYYYY@S\DA@C@B0-@/@.@@@)has_guardj``dk``m@డ&Option'is_somey``pz``v@ }``w~``~@@@&optionL!a@@@@Z@@Y$boolE@@@X@@W@*option.mli\  \  +@@.Stdlib__OptionQ@$@@@@@@C@@@@@@@@@@@O@@ఐ'c_guard````@W@@9@@@D@D@d@@J @@@@@LD@j@~,needs_refuteaa@డA!=aa@@!a@@@@@@$boolE@@@@@@@&%equalBA @@@@*stdlib.mliyy@@&StdlibQ@"!@@@l/expression_desc@@@C@@@@ @@"@@@@@@@@@ఐ⠐%c_rhsaa@@@1@@@@@(exp_desc%a&a@3(exp_desc<@@@|+@@@r@@@ 3'exp_loc (Location!t@@@s@@A @AX(,Y(@@@x@3)exp_extra$listK@)exp_extra@@@v@!t@@@w@*attributes@@@x@@u@@@t@@B0@A}AE~A{@@y@3(exp_type<%Types)type_expr@@@y@@C>@A||@@z@3'exp_envJ#Env!t@@@z@@DL@A@@{@3.exp_attributesX(@@@{@@EU@A@@|@@A   '@@w@tg@@/@@ภ0Texp_unreachableaa@;0Texp_unreachable@@@@@@@A_@A*,,*,,@@@@@  @@D@G@@aa@@l@@@D@O@@@_KM@@Q@uA@#B@@A@@@@ఠ,untyped_casemdd@LA@@@)Parsetree$case@@@ &B@@@2'pattern@@@ 8C@ 5@@@ 7B@@@B@3@1\U@V@W@@@࣠@1Aঠ)Parsetreedd@&pc_lhsdd@A3&pc_lhs2@@@e&@@@a@@@ 3(pc_guard &optionLA*expression@@@c@@@b@@A@A5parsing/parsetree.mliE:E?E:E[@@G@3&pc_rhs @@@d@@B@A E\Ea E\Et@@P@@AE$E)E$E9@@T@ఠ1260@9OA@P@@@ '3'&&'''''@Ns0d1h@@@@(pc_guard8d9dA7ఠ@PPA@;8@@@ ,@@@ +@&pc_rhsMdNdA9ఠ@eQA@J@@@ /,@@@YdZd@@D@1@@@@ະ'patternheie @ఐH&pc_lhsqe re@K@M@L@@3pooppppp@LT=:@<@;)&@(@'@@@2)has_guardff"@డ&Option'is_somef%f+@ f,f3@@@@@@@@ OC@ D@@@ C@@ B@@@ A@@ @3@@ఐr(pc_guardf4f<@;@@4@@@ MD@ PD@ NH@@. @@@@@ >D@ KN@y,needs_refuteg>Bg>N@డ<g>cg>d@@@@/expression_desc@@@ mC@ ]@@ ^@ @@ \@@@ [@@ Z@@ Ys@@ఐ&pc_rhsg>Rg>X@|@@@@@ n@ l@)pexp_descg>Yg>b@3)pexp_desc@@@+@@@@@@ 3(pexp_loc (Location!t@@@@@A @A4..4..@@J@3.pexp_loc_stackQ.location_stack@@@@@B@A5..5..@@U@3/pexp_attributes"\*attributes@@@@@C!@A6..6./@@`@@A3.~.3.~.@@d@@3@@X@@ภ)Parsetree?g>e@g>n@0Pexp_unreachableDg>oEg>@@;0Pexp_unreachablem@@@`@@@@Aa@A<DD=DE@@@@@ @@xD@ q@@Ug>QVg>@@@@@ WD@ h@@@]e-@@@.A@B@ t5@A@2@21@@ఠ(make_patmnnn @RA@@@@ B@ v@@ w@)type_expr@@@&B@ |@@ }@!t@@@&B@ @@ ,pattern_data$@@@ B@ @@ B@ ~@@ B@ x@@ yB@ u3@@@@@@࣠@$descAn n@SA@@93@Hnr@@@@@  @@"tyAnn@TA@@D3@!P@@@@@@@@$tenvAnn@UA@@G3@X@@@@@@@@3(pat_descH!a@@@@@@@ 3'pat_loc !t@@@@@A @Arr @@[\@3)pat_extra@j)pat_extra@@@@!t@@@@@@@@@@@@@@B*@A0s 1s G@@|]@3(pat_type8@@@@@C3@A9tHL:tHf@@_@3'pat_envA@@@@@D<@ABugkCugz@@c@3.pat_attributesJ@@@@@EE@AKv{Lv{@@d@@AOqPq@@[@(pat_desc:o;o'@ఐ$descCo*Do.@@@3A@@AAAAA@r~@u@v@@@a'pat_locOo0Po7@డ(Location$none(Location^o:_oB@ boCcoG@@(Location!t@@@"@4parsing/location.mli~ ; ;~ ; G@@D@@@@@@ E@&[3@)pat_extraoIoR@ภ"[]oUoW@;@@U@@@@AA@A_@@@ @@@@@@&l@@@@&m@J@@@&n@@&k@@@&jE@&wa@(pat_typepY\pYd@ఐ"typYgpYi@@@9s@'pat_envpYlpYs@ఐ$tenvpYvpYz@@@=@.pat_attributesq|q|@ภRq|q|@Q@@@@@@4E@4 @@@o-@@L@7.A@rB@45@A@2@21@H@ఠ%omegaˠtt@YA@@)Typedtree'pattern@@@40B@43@b@@@@@డ(Patterns%omega(Patternstt@ tt@@ @@@4%@3typing/patterns.mliVV@@(PatternsD@ @@*"@A@"t@@@%@ఠ&omegasԠ/u0u@BZA@@@#intA@@@46@@45$listKN'pattern@@@44@@@43@@42B@413FEEFFFFF@M`Y@Z@[@@@డL&omegas(PatternsYuZu@ ]u^u@@@,@@@4*@@4))&@@@4(@@@4'@@4&@UYVY@@TE@@@?)@A@uu@@@,@ఠ*omega_listՠvv@[A@@@M@4=@@@4<@@4;S'pattern@@@4:@@@49@@48B@473@Rsl@m@n@@@డ*omega_list(Patternsvv@ vv@@@*!a@4@@@4/@@4.,+@@@4-@@@4,@@4+@\77\7_@@F@ @@B.@A@v@@@1@ఠ)extra_pat֠xx@\A@@FN,pattern_descS%value@@@4f@@@4eB@4D@@@4YB@4>3@Tsl@m@n@@@ఐ(make_paty y@@@@!@@4I@@@@4H@@4G@}@@@4F@@4Ex2@@@4C@@4B@@4A@@4@%@@ภ(Tpat_var z z@;(Tpat_var><@@@@@@@P!t@@@(Asttypes#loc&stringQ@@@@@@#Uid!t@@@@C@ALAAfQ E GgQ E @@@k@డ%Ident,create_local%Ident \z! ]z&@  `z' az3@@@&stringQ@@@5l@@5k%Ident!t@@@5j@@5i@0typing/ident.mlib##b#@@@E@ @@@@@@6@@6@@@6@@6@@!+ z5 z6@@ z4 z7@@/@@@6D@6D@6@@? @@v@@@4i@6 D@6@డ'mknoloc z9 z@@@!a@3@@#loc @@@@@@ssss@@(@@@@@@@4kC@68C@6'@@6( @@@6&@@6%@@!+ zB zC@@ zA zD@@C@66@@5@@*@@@64@డ#Uid8@0typing/ctype.mlicc@@%Ctypel@@@@@@4]C@BEC@BDP@@డ#Env%empty#Env O|o~ P|o@  S|o T|o@@#Env!t@@@-s@.typing/env.mliy  y  @@c@@@@@@4[C@BGC@BF}@@r@@~@A@ nx@@@@ఠ,all_coherentӠ { |@ `A@@@$listKy$Head$desc@@@R(@@@R'F@Q@@@QB@BI@@BJ V@@@QB@BK@@BLB@BH3        @@@@@@࣠@&columnA  @ aA@@03        @?  P@@@@@  @@ Р$Head(Patterns ) 1@  2 6@@@3        @".T@%@&@@@@A3        @@@ $ @@ @3        @@@@ఠ.coherent_headsܠ :@ :N@ cA@@@]h@@@BE@B@@@BE@B@@B@ny@@@BE@B@@@BE@B@@B)@@@CrE@B@@BE@B@@BE@B3        @<@@@࣠@#hp1A !:O ":R@ 4dA@@23        @MA ):< *Re@@@@@  @@#hp2A 5:S 6:V@ HeA@@53 4 3 3 4 4 4 4 4@!I@@@@@@@@@ఐ/#hp1 MYc NYf@@@]3 K J J K K K K K@$O@@@@@(pat_desc WYg XYo@{ @@b @@ఐ3#hp2 eYq fYt@@@d@(pat_desc lYu mY}@ @@f@@#@@@|@m@@B&@@Ġ)Construct  @;)Construct@@@B@*Data_types7constructor_description@@@Bs@A@BF@A{S  |S  @@@z\@ఠ!c  @ fA@@@@@B3        @W@@@@@%@@@B@@Ġ)Construct  @.ఠ"c'  @ gA@@3@@@B@@@@@@B@@A @@@ @@@B$@@@&@@@B*@@@డ B"&&  @@@@@V@@U@@@@T@@S@@@R@@Q@@P(%sequandBA@@@@@@]@ @@@@@@Cf@@Ce@@@@Cd@@Cc@@@Cb@@Ca@@C`3        @rk@l@mXQ@R@S@@@@డ CE  @B@@@#intA@@@CJ@C|@@C}@ @@C{F@@@Cz@@Cy@@Cx&@@ఐ!c = >@1@@*Data_types7constructor_description@@@C@C?@+cstr_consts N O@3+cstr_consts@@@1@@@@@F;3)cstr_name &stringQ@@@@@@ @A5typing/data_types.mliWW@@C@3(cstr_res%Types)type_expr@@@@@A@AX X @@-D@31cstr_existentials$$listK)type_expr@@@@@@@@B*@A!YIM"YIo@@?E@3)cstr_args6$)type_expr@@@@@@@@C:@A1Z2Z@@OF@3*cstr_arityFt@@@@@DD@A;[<[@@YG@3(cstr_tagP`/constructor_tag@@@@@EO@AF\G\0@@dH@[3.cstr_nonconsts[@@@@@GY@AP^Q^@@nJ@30cstr_generalizede$boolE@@@@@He@A\_]_ @@zK@3,cstr_privateq(Asttypes,private_flag@@@@@Is@Aj`8<k`8W@@L@3(cstr_loc(Location!t@@@@@J@Axa}ya}@@M@3/cstr_attributes)Parsetree*attributes@@@@@K@Abb@@P@3,cstr_inlined&optionL0type_declaration@@@@@@@@L@Acc@@Q@3(cstr_uid#Uid!t@@@@@M@Add@@S@@A]TX]Ti@@I@@@@@ఐ`"c'  @@@@@@C@C@+cstr_consts ' (@ٰ@@K@C!@@@@P@@@Cv@CK@C)@@డ  g i ? @@ f@@@@@@CJ@C@@C@ @@C g@@@C@@C@@CG@@ఐ!c ^ _@R@@!@@@C@C[@.cstr_nonconsts j k@@@%b@@ఐ"c' y z@l@@<@@@C@Cv@.cstr_nonconsts  @ܰ@@BK@C@@-@@@@@Ct@CK@C@@V @@@@Ġ(Constant  @;(Constant@(Asttypes(constant@@@Bt@AABF@AT  T  @@@]@ఠ"c1   @ hA@@@@@B3        @q@@@@@"@@@B@@Ġ(Constant   @,ఠ"c2  @ iA@@4@@@B@@@@@@B@@@ @@@"@ @@B&@@@(@@@B,@@@@ఐ@"c1 !/ !1@?@@@A@@X@@@C3        @N2+@,@-@@@@ఐ8"c2!3!5@ @@k@@@C@@@@@@ @@C@@Ġ*Const_char5;E6;O@;*Const_char(Asttypes(constant@@@ @$charB@@@ @AA@G@A4parsing/asttypes.mliYY@@@B@@Q;PR;Q@@@@@CU@@@"@@@@@CY@@Ġ*Const_charb;Sc;]@-@g;^h;_@@'@@@Ck@@@ @@@@@Co@@< @@@@ @@Cv@@v@@Ġ)Const_int`j`s@;)Const_intN@#intA@@@ @A@@G@AFXGX@@@UA@@`t`u@@@@@C@@@@@@@@C@@Ġ)Const_int`w`@$@``@@&@@@C@@@ @@ @@@C@@3 @@@@ @@C@@@@@@@@@@Cܠ@ @@@C@@C@@Ġ+Const_int32@;+Const_int32@%int32N@@@ @AD@G@A\Z\\Zr@@@E@@@@@@@C@@@@@H@@@C@@Ġ+Const_int32@$@@@&@@@C@@@ @@^@@@C@@3 @@@@ @@C @@ @@@@@m@@@C@r@@@C@@C@@Ġ+Const_int64'(@;+Const_int64@%int64O@@@ @AE@G@A]su]s@@@F@@:;@@@@@C>@@@@@@@@CB@@Ġ+Const_int64KL@$@PQ@@&@@@DT@@@ @@@@@DX@@3 @@@@ @@D_@@_@@,@@@@@@D@@@@D@@Dl@@Ġ/Const_nativeintyz@;/Const_nativeintD@)nativeintM@@@ @AF@G@A<^=^@@@KG@@@@@@@D@@@@@@@@D@@Ġ/Const_nativeint@$@@@&@@@D@@@ @@@@@D@@3 @@@@ @@D@@@@~@@@@@@D@@@@D@@D@@Ġ+Const_float @;+Const_float@&stringQ@@@ @AC@G@A[@B[@Y@@@D@@@@@@@D#@@@@@>@@@D$@@Ġ+Const_float$@$@%&@@&@@@D(@@@ @@T@@@D)@@3 @@@@ @@D*@@@@@@@c@@@D,@h@@@D-@@D+@@Ġ,Const_string'1'=@;,Const_string@R@@@ (Location!t@@@ &optionLf@@@ @@@ @CB@G@AZ Z?@@@C@@C'>D'?@@#@@@D:G@@@#@@@D;L@@ @@@@D=@@@D<U@@@:@@@@@D>Y@@Ġ,Const_stringb'Ac'M@E@g'Nh'O@@G@@@DEk@@@G@@@DFp@@ @C@@@@DH@@@DGy@@@@@@@@DI}@@b@@@,@ @@DJ@@@@Q@@@@@@DO@@@@DP@@DN@@@ภ$true'S'W@;B@@@M@@@AB@@Ao@@D@@@@@Ġ*Const_charXdXn@@XoXp@@@@@D]@@@ @@@@@D^@Ġ)Const_intq}q@K@qq@@M@@@Db@@@ @@3@@@Dc@@# @@7@@@Dd@Ġ+Const_int32@@@@@@@Dh@@@ @@K@@@Di@@; @@O@@@Dj@Ġ+Const_int64@נ@@@@@@Dn@@@ @@c@@@Do @@S @@g@@@Dp@Ġ/Const_nativeint@@@@@@@Dt@@@ @@{@@@Du#@@k @@@@@Dv'@Ġ+Const_float./@c@34@@e@@@Dz7@@@ @@@@@D{;@@ @@@@@D|?@Ġ,Const_stringFG @)@KL@@+@@@DO@@@+@@@DT@@ @'$@@@D@@@D]@@@@@@@@Da@@cXbd@@@@@Dg@@@lm@@@@@Dp@@@@@@ @@Dw@@@@@@D@@@@D@@D@@@ภ%false@;:@@@@B@@A^@@9@@@@@@A&@@@@Ġ%Tuple'-'2@;%Tuple@ f&optionL&stringQ@@@Bw@@@Bv@@@Bu@ABBF@A U   U  @@@ ^@ఠ"l1'3'5@jA@@"!@@@B@@@B@@@B3@@@@@@4@@@B@@Ġ%Tuple'7'<@>ఠ"l2'='?@kA@@FEB@@@B@@@B@@@B$@@@@@@B'@@Z@@@*@ @@B.@@@0@@@B4@@@డw68'F'G@5@@@rqn@@@D@@@D@@@DI@D@@D@@@D>@@@D@@D@@D3$##$$$$$@mf@g@hJC@D@E@@@@ఐu"l18'C9'E@@@$@@ఐ^"l2E'HF'J@@@3I@D!@@@@<"@@Ġ&RecordYKQZKW@;&Record@ 1label_description@@@By@@@Bx@ACBF@A OV   PV  @@@ N_@Ġ"::tK^uK`@; @B@AA@AH@@Ϡఠ$lbl1KYK]@lA@@!@@@B3@6@@@@KaKb@@-@@@B@@@B @@@KXKc@@87@@@B@@@B@@@E @@@B@@Ġ&RecordKeKk@OĠ=KrKt@<ఠ$lbl2KmKq@mA@@[@@@B:@@KuKv@@!f@@@B@@@BF@@@KlKw@@qp@@@B@@@BP@@@/ @@@BS@@ @@@@@ @@BZ@@@F@@@C`@@@డW{{@@@@#intA@@@HI@D@@D@ @@D@@@D@@D@@D3@@@SL@M@N@@@@డ~%Array&length{{@ {{@@@%arrayJ!a@F@@@F@@F9@@@F@@F-%array_lengthAA @@@)array.mliaa@@-Stdlib__ArrayA@&!@@@1label_description@@@HJ@H@@@H@@HW@@@H@@HM@@ఐޠ$lbl1]{^{@X@@@@@H@Ha@'lbl_alli{j{@3'lbl_all%@@@%arrayJ.@@@@@@@@F33(lbl_name"@@@@@@@A { | !{ | @@>]@3'lbl_res)type_expr@@@@@A@A+|  ,|  @@I^@3'lbl_arg%*)type_expr@@@@@B@A6}  7}  @@T_@3'lbl_mut0,mutable_flag@@@@@C(@AA  B  @@_`@3*lbl_atomic;+atomic_flag@@@@@D3@AL@  M@  @@ja@3'lbl_posF@@@@@E=@AVA  WA  "@@tb@P3*lbl_represPU5record_representation@@@@@GH@AaC  bC  @@d@3+lbl_private[,private_flag@@@@@HS@AlD  mD @@e@3'lbl_locf!t@@@@@I_@AxE'+yE'?@@f@3.lbl_attributesr*attributes@@@@@Jk@AF@DF@i@@g@3'lbl_uid~#Uid!t@@@@@Kx@AGjnGj}@@h@@AB Q UB Q v@@c@@@ڠ@@@HK@HK@H@@@@ @@డy%Array&length{{@ {{@@@@@@@@HJ@H@@@H@@H2@@@H@@H(@@ఐ$lbl28{9{@2@@@@@H@H<@'lbl_allD{E{@۰@@&+@@@HK@HK@HK@@< @@[K@HN@@:@@ DO@@Ġ%Arrayab@;%Array@,mutable_flag@@@B 3@@@B@BEBF@A W]   X]  ;@@@ Ve@ఠ#am1|}@nA@@@@@C  3@@@@@@@C  ;@@@+@@ @C ?@@Ġ%Array@6ఠ#am2@oA@@>@@@C W@@@@@@@@C _@@@@@ @C c@@S@@@+@ @@C j@@@1@@@C p@@@డ1@@@@k@@@HI@H@@H@ @@H@@@H@@H@@H3@ f_@`@aC<@=@>@@@@ఐn#am1@@@@@ఐW#am2@@@+J@H!@@@@ "@@Ġ#Any@;#Any @@@@BF@A R   R  @@@ [@@@  @@ %@C @@@#$@@ @C @@@@@@ @@C @@ @@@67@@ @@C @@Ġ#AnyBC@/@@@@ <@C @@@@@@ @@C @@ @@< @@@ [@ L@@C @@Ġ&Recorda b@Ġ ij@ @@@@ @@@C,@@@C+ #@@@ @@ |@C  &@@Ġ&Record~@%Ġ@ @@@@+*@@@C5@@@C4 @@@@ @@ @C! C@@3 @@@$@ @@C6 J@@ J@@@@@ @ @@C7 Q@@Ġ'Variant$+@;'Variant )@ !@@@B@ADBF@A W ! % Z y @@;@@#tag@@%label@@@Bz X 2 < X 2 G@@ `@'has_arg@@$boolE@@@B{ X 2 H X 2 V@@ a@(cstr_row@@&Stdlib#ref%Types(row_desc@@@B}@@@B| Y W a Y W x@@ b@(type_row@@@$unitF@@@B@@B(row_desc@@@B@@B~ Z y  Z y @@ c@@DA@@@@@@@@bA d@@,-@@_@@@C> @@@h@@ @C8 @@Ġ'Variant/ 6@r@$7%8@@t@@@CA @@@ @@ !@C9 @@@@@@ @@CB @@ @@!@@@ @@ 1@@CC @@Ġ$LazyF9?G9C@;$Lazy @@@ABF@A1^ < @2^ < F@@@0f@@@  @@ X@CD @@Ġ$LazyZ9E[9I@@@@@ T@CE @@@@@@ @@CJ @@ @@T @@@ s@ d@@CL @@@ภ۰r9Ms9Q@@@@ f %@@@RXRY@@ @CN 3@@@R[R\@@ @CO ;@@ @@@@ @@CR B@@@@@@CS H@@@ภR` t@@ u@@  O@@@AY] w@@ 3@ Q@@@  yA@ E@LS @A@ }@డ$List$findsws{@ s|s@@@@!a@M@@P$boolE@@@P@@P@@P@ K@@@P@@P@@P@@P@(list.mli9(e(e9(e(@@,Stdlib__Listj@*%@@@@ [B@RE@Q@@Q"@@@Q@@Q@@Q@@@@Q@@Q@@Q@@Q3@   @ @ @@@@@ঠ(pat_desc @,Ġ#Any@@@@@ B@RB@RB@QI@Q&@@@@@@@@@  @ఠ)discr_pat~?C?L@qA@@@@@@@డ$List'for_allPTPX@ PYP`@@@@!a@M@@PX@@@PW@@PV@@PU@ 7@@@PT@@PS@@@PR@@PQ@@PP@####@@d@)$@@@@ F@@Q@@@Q@@Q@@Q@ S P@@@Q@@Q@@@Q@@Q@@Q3@V@P@Q@@@@ఐ .coherent_headsPbPp@@@@_ h@@@R@@@R@@R@j s@@@R@@@R@@R @@@R@@R@@R+@@ఐ)discr_patPqPz@5@@38@@PaP{@@@ @@@R#@@@R"@@R! @@@R @@RI@@ఐ &column4P| {@ ] |@@ U@@ }@@ V@@@A8km @@ @  @@  %@;  @@ 376677777@ f@@@  A@ B@R, @A@ @  @ @ఠ,first_columnLM@_rA@@@ Ѡ@@@R8C@RV@@@RW@@RXC@RS@@@RT@@RUC@R;@@@RMB@R.@@R/ @@@RKB@R0@@R1B@R-3vuuvvvvv@  @@@@@࣠@1simplified_matrixA@sA@@73@F@@@@@  @@డ$List#map@ @@@@!a@N@@O!b@N@@O@@O@f@@@O@@OL@@@O@@O@@O@@@W@)$@@@@w@@R>i@@R=@@R<@~@@@R:@@R9et@@@R7@@R6@@R53@S_@V@W@@@@࣠@4A@@ఠ$head@ tA@@3@@@@@ఠ%_args@uA@@ @@  @@@@@@RY@@ఠ%_rest@.vA@@"@@ !@@@@ @@@R\@@@R[1@@@@ఐ>$head78@@>@?@@365566666@_J=@7@8)@#@$@@@BC@@@@@RP@@ROD@RdD@RbO@@ఐР1simplified_matrixV@v@@y@@@@\@A@ B@Rh@A@@@⠰@ఠ)is_absenth!T!Xi!T!a@{wA@@@(Asttypes%label@@@RB@Rj@@Rk@#ref%Types(row_desc@@@RB@R@@@RB@Rp@@Rq@@@RB@Rr@@RsB@Rl@@RmB@Ri3@SL@M@N@@@࣠@#tagA!T!b!T!e@xA@@93@H!T!T!T!@@@@@  @@#rowA!T!f!T!i@yA@@=3@!P@@@@@@@@డ5!T!!T!@@@@J.row_field_view@@@RD@R{@@R|@ @@Rz@@@Ry@@Rx@@Rw3@#/b@&@'@@@@డ1.row_field_repr!T!l!T!z@@l)row_field@@@@@'@@@@@ @0typing/types.mli<<<<@@ti@@@@@@@R@@R7@@@R@@R.@@డ\-get_row_field!T!|!T!@@@@@@@@@@@@@5@@@@@@@@0:$:$1:$:U@@W@@@@@@@R@@R@@@@R@@RK@@@R@@R@@Rd@@ఐ#tagO!T!P!T!@@@q@@డ!!^!T!_!T!@@!a@@@@3@@2@@1'%field0AA@@@}~@@|@@@@@@@R@@R@@R@@ఐР#row)!T!@+@@@@-@@@@!T!{!T!@@@@@R@RG@R@@ @@@@ภ'Rabsent!T!@;'Rabsent@@@ @@@@AB@A<<<<@@@h@@ @@E@R@@@@@A@CB@R@A@@@@ఠ-is_absent_pat!!!!@zA@@@1<@@@RB@R@@@RB@R@@R@@@RB@R@@RB@R3@?un@o@p@@@࣠@!dA!!!!@{A@@"3@1!!""$@@@@@  @@ఐ!d!!!!@8@@@@93@$@@@(pat_desc!!!!@* @@= @Ġ(Patterns!!!!@$Head!!!!@@'Variant"!!#!!@@vঠ#tag.!!/!!A3p@@@Rr@@@3hg@@A-Aa@^3[Z@@B.AI@F3CB@@C/A3@0/Aq@nఠ@N|A@|@@@RA@(cstr_rowG!!H!!A3n@@@Rp@@B3@@@FA@3@@AGA{@x3\[@@CHAL@IHAc@`ఠ@g}A@zu@@@R@@@R^@@A_!!`!!@@@@@RF@Rf@@@P@@g@@g@@@ఐ)is_absentp!!q!"@@@@@@@R@@R@@@@R@@@R@@R@@@R@@R@@R3@QN@P@O96@8@7@@@@ఐY#tag!" !" @@@*@@@SF@SF@S@@ఐT(cstr_row!" !"@!@@.*@@@S@@@SF@S F@S 1@@J@@2@@""""@@@@@@@ภ >""@ <@@@@@@A!!@@3@@@@A@ B@S@A@@@@ఠ-const_compare"&"*"&"7@~A@@@ @@@S-B@S@@S@ B@S@@S#intA@@@SB@S@@S B@S@@SB@S3@$C<@=@>@@@࣠@!xA"&"8 "&"9@A@@'3@6"&"&##@@@@@  @@!yA"&":"&";@/@A@@03@!>@@@@@@@@@ఐ-!x2">"F3">"G@@@P30//00000@"H@@@@@@ఐ(!yA">"HB">"I@ @@T@@@@@d@[@@S'@@Ġ+Const_floatY"O"SZ"O"^@ ఠ"f1b"O"_c"O"a@uAA@@ @@@S/3dccddddd@4@@@@@@@@S)@@Ġ+Const_floatt"O"cu"O"n@ ఠ"f2}"O"o~"O"q@BA@@ @@@S2@@@@@B@S0@S*@@0 @@@"@ @@S3&@@@(@@@S4,@@@డ&Stdlib'compare"u"{"u"@ "u""u"@@@!a@Sz@@S@@@S@@@S~@@S}@@S|(%compareBA @@@@.utils/misc.mli    @@$Miscn@$@@@%floatD@@@SF@S@@S@ @@S@@@S@@S@@S3@~w@x@yd]@^@_@@@@డR/float_of_string"u""u"@@&stringQ@@@@@+@@@@@4caml_float_of_stringAA @@@ ll lm(@@ }@@@@@@@S@@S>@@@S@@S4@@ఐ"f1"u""u"@=@@-@@@SH@SH@SH@@""u"#"u"@@XK@@డ/float_of_string0"u"1"u"@F@@@F@@@S@@Sn@@@S@@Sd@@ఐʠ"f2G"u"H"u"@l@@]@@@SH@SH@Sx@@R"u"S"u"@@H@S}@@@@e~@@Ġ,Const_stringe""f""@ Hఠ"s1n""o""@CA@@ P@@@S?@@@x""y""@@ S@@@S@H@@""""@@ R O@@@SB@@@SAT@@@%""@@@S6X@@Ġ,Const_string""""@ xఠ"s2""""@DA@@ @@@SHp@@""""@@ @@@SIx@@""""@@  @@@SK@@@SJ@@@%""@@6@S7@@Y@@@7@ @@SL@@@=@@@SM@@@డ<&String'compare "" ""@  "" "#@@@u&String!t@@@V&@@V%@ @@@V$@@V##intA@@@V"@@V!@@V @*string.mli*@@.Stdlib__StringL@'"@@@@@@W@@W@&@@@W@@W@@@W@@W@@W3        @@@yr@s@t@@@@ఐ"s1 "# "#@@@@@@@X G@X @@ఐ"s20 "#1 "#@@@R@@@XG@X)@@b@@G*@@Ġ)Const_intS ## T ##@Р@X ##Y ##@@@@@SU(@@@ @@y@SO+@Ġ*Const_charf ##g ##'@1@k ##(l ##)@@+@@@SX;@@@ @@<@@@@=@Ġ,Const_stringx #*#/y #*#;@[@} #*#=~ #*#>@@]@@@S^M@@ #*#@ #*#A@@`@@@S_U@@ #*#C #*#D@@_\@@@Sa@@@S`a@@@ #*#E@@:c@@F@@;d@Ġ+Const_float #F#K #F#V@Ԡ@ #F#W #F#X@@@@@Sdt@@@ @@Lu@@X@@Mv@Ġ+Const_int32#Y#^#Y#i@ܠ@#Y#j#Y#k@@@@@Sg@@@ @@^@@j@@_@Ġ+Const_int64#l#q#l#|@@#l#}#l#~@@@@@Sj@@@ @@p@@|@@q@Ġ/Const_nativeint####@\@####@@^@@@Sm@@@ @@@@ ## ##@@@@@####@@d@SP@@ @@@@ @@Sn@@@@@@So@@@డ&Stdlib'compare####@  ## ##@@c@@@,F@X@@X@@@X#@@@X@@X@@X@@ఐ!x$##%##@@@B@@ఐ!y1##!@"@@C@@/#@@B@@@A5">"@%@@D310011111@@@@0'A@YB@X.@A@+@+*@A@ఠ,records_argsF##G##@YEA@@@Ƞ@@_@ @@@_ࠠ@j@@@_@@_@@@_B@X@@X@@@_@ /@@@_ܠ@@@@_@@_@@@_B@X@@X@)@@@_ՠ@@@@_@@_B@X@@XB@X@@XB@X3@@@@@@࣠@"l1A####@FA@@S3@b## &&&;@@@@@  @@"l2A####@GA@@L3@!j@@@@@@@@Aఠ'combine$$$$$+@HA@@@,@@@YE@Z@@@ZE@X@@X@;@@@YE@Z@@@ZE@X@@X@d@@@Y;@ @@@ZnE@Y<@/E@Y=@@Y>E@Y@@@YE@X@@X@@@@Y+@ @@@ZqE@Y,@=E@Y-@@Y.E@Y@@@YE@X@@X@XE@Yq@@@YzE@Xՠ@E@Y@@@YE@X@@X@@X@@X@@X@@X3 2 1 1 2 2 2 2 2@@@@@@࣠@"r1A E$$, F$$.@ XIA@@{3 D C C D D D D D@@@@X@{@@X@r@@X@[@@X@D@<@@XF@X@@XF@X@@XF@X@@XF@X@@XF@X@@@@@@('@@"r2A v$$/ w$$1@ JA@@3 u t t u u u u u@2>@5@6@@@@@@"l1A $$2 $$4@ KA@@3        @@@@@@@@@"l2A $$5 $$7@ LA@@3        @@@@@@@@@@ఐ*"l1 $$@ $$B@@@3        @"@@@@@@ఐ("l2 $$C $$E@ @@@@@@@٠@@@Y@@ĠN $K$O $K$Q@M@@@@@Y3        @'@@@@ĠZ $K$R $K$T@Y@@@@@Y @@@@@@@@Y@@@@@@Y @@@@డg$List#rev!$K$X!$K$\@ !$K$]!$K$`@@@!a@N@@@Od@@Oc@@@Ob@@Oa@ De Ee@@ CM@@@@@@@Ys@@Yr@@@Yp@@YoT@@ఐ"r1!6$K$a!7$K$c@@@ka@@8@@b@@డ$List#rev!I$K$e!J$K$i@ !M$K$j!N$K$m@@G@@@G#@@@Y@@YӠ'@@@Y@@Y@@ఐ"r2!g$K$n!h$K$p@ܰ@@@@"@@9@@j@@@J@B@@Yi@@Ġ!$q$u!$q$w@@@@@@Y"3!!~!~!!!!!@@@@@Ġ!$q$!$q$@@@!$q$y!$q$z@@@@@!$q${!$q$|@@@@ఠ"p2!$q$}!$q$@!MA@@%@@!$q$x@@@@@@@Y//@ఠ$rem2-!$q$@!NA0@@!E@Y)@@@Y0>@@@ @@@Y#A@@G @@@H@ @@Y1H@@@N@@@Y2N@@@ఐ'combine!$q$!$q$@@@@@@Y@ @@Y@@@Y@@@Y@̠@@@Y@@Y@@Y@@Y@@Y3!!!!!!!!@EV@P@QB<@=@>@@@@ภ"::"$q$"$q$@ఐ%omega" $q$ @ @@9@ఐԠ"r1"$q$@@@J$@@"$q$"$q$@@]E@ZE@ZE@ZE@Z?E@Z@E@YE@YE@YE@Y8@@ภ3"4$q$"5$q$@ఐ"p2">$q$ @H @@!L@ఐՠ"r2"H$q$@@@mV@@"K$q$"L$q$@@E@ZE@ZE@ZE@ZFE@ZVE@YE@YE@YE@Yj@@ภ"f$q$"g$q$@@@@}E@Yw@@ఐ$rem2"u$q$"v$q$@@@oE@Y@@@@@@Ġ"$$"$$@@@"$$"$$@@3""""""""@@@@@@"$$"$$@@@@ఠ"p1"$$"$$@"OA@@@@"$$ @@@@@@@Y?@ఠ$rem1."$$@"PA1@@"E@Y9@@@Y@,@@@ @@@Y4/@@ĠC"$$"$$@B@@@@@Y5;@@(@@@@ @@YCB@@@@@@YDH@@@ఐ'combine"$$"$$@@@@@@Y@@@Y@@@Y@@@Y@ՠ@@@Y@@Y@@Y@@Y@@Y3""""""""@Nb@\@]NH@I@J@@@@ภ # $$# $$@ఐr"p1#$$ @ @@@ఐܠ"r1#$$@@@R#@@#!$$#"$$@@E@Y(@@ภ,#-$$#.$$@ఐF%omega#7$$ @ @@U<@ఐΠ"r2#A$$@@@fF@@#D$$#E$$@@E@YK@@ఐ$rem1#R$$#S$$@S@@iE@YZ@@ภٰ#_$$#`$$@@@@YE@Yg@@@@h@@Ġ#r$$#s$$@@@#{$$#|$$@@E@YM@@ఠ$lbl1#$$#$$@#QA@@E@ZE@YN@@ఠ"p1#$$#$$@#RA@@E@YO@@#$$+@@@$@@ @@YQ@ఠ$rem19#$%@#SA<@@# E@YK@@@YR@@@ @@@YF@@ĠL#$%#$%@K@@#$%#$%@@E@YV@@ఠ$lbl2#$%#$% @#TA@@E@ZE@YW*@@ఠ"p2#$% #$%@#UA@@E@YX7@@#$%+@@@$@@ @@YZA@ఠ$rem29#$%@$ VA<@@#XE@YT@@@Y[Q@@@ @@@YGT@@j @@@T@ @@Y\[@@@Z@@@Y]a@@@డ"!<$%%0$%%1@@!a@@@%@@@$ D@@@#@@"@@!)%lessthanBA B@@@@ A B @@ @S@@@@@@@ZK@Z@@Z@ @@Z@@@Z@@Z@@Z3$E$D$D$E$E$E$E$E@@@@@@@}@~@vo@p@qa[@\@]@@@@ఐܠ$lbl1$c%%#$d%%'@@@@'lbl_pos$j%%($k%%/@ @@-#@@ఐ$lbl2$y%%2$z%%6@'@@2@'lbl_pos$%%7$%%>@Ѱ @@EL@Z;@@#@@$?@@@ZL@ZB@ఐϠ'combine$%D%L$%D%S@L@@@@@Z#@@@Z"@@@Z!@@@Z @@~@@Z@@Z@@Z@@Z@@Zd@@ภ$%D%W$%D%Y@Bఐ*"p1$%D%U @o @@(x@ఐ"r1$%D%[@O@@@@$%D%T$%D%\@@E@Z>@@ภذ$%D%c$%D%e@eఐ%omega$%D%^ @ @@@@@ZN@ఐ}"r2$%D%g@d@@@@$%D%]$%D%h@@E@ZE@@ఐU$rem1%%D%i%%D%m@@@E@ZW@@ఐ{"l2%%D%n%%D%p@_@@ @@@@@@@@ZXL@Z5@డ#!>%(%q%%)%q%@@!a@@@*@@@)!O@@@(@@'@@&,%greaterthanBA!M@@@@!L!M@@!KT@@@@@@@ZmK@Z^@@Z_@ @@Z]@@@Z\@@Z[@@ZZ @@ఐڠ$lbl1%a%q%%b%q%@@@@'lbl_pos%h%q%%i%q%@ @@ !@@ఐ$lbl2%w%q%%x%q%@%@@0@'lbl_pos%~%q%%%q%@ϰ @@8L@Zp9@@#@@@@@ZrL@Zi?@ఐ̠'combine%%%%%%@I@@@@@Z|@@@Z{@@@Zz@@@Zy@@{@@Zx@@Zw@@Zv@@Zu@@Zta@@ภ%%%%%%@?ఐ̠%omega%%% @q @@@@@Zx@ఐ"r1%%%@O@@@@%%%%%%@@E@Z@@ภذ%%%%%%@eఐ"p2%%% @ @@@ఐz"r2%%%@a@@@@%%%%%%@@E@Z@@ఐz"l1%%%%%%@b@@@@ఐ$rem2& %%& %%@@@E@Z@@@@@ZL@Z@ఐY'combine&%%& %&@ְ@@@X@@Z@M@@Z@B@@Z@)@@Z@@@@Z@@Z@@Z@@Z@@Z@@ภ?&@%& &A%& @̠ఐ"p1&J%& @ @@@ఐ"r1&T%&@ٰ@@ @@&W%&&X%&@@E@Z@@ภb&c%&&d%&@ఐ"p2&m%& @ @@%@ఐ"r2&w%&@@@/@@&z%&&{%&@@E@Z4@@ఐܠ$rem1&%&&%&@7@@E@ZC@@ఐ$rem2&%&&%&"@C@@E@ZR@@~@@@ZL@ZW@&%q%| @@Y@&%%  @@9[@@@A&$$:@@@@}@@_j@iA@@@@_@@@_@@@_@@@_@@@@_@@_@@_@@_@@_E@_}@@@&$$0@@ఐ 'combine& &&&(& &&&/@@@@&4@@@_@@@_@@_@&?@@@_@@@_@@_@d@@@@@_@!@@_@@@_@@_@w@@@@@_@)@@_@@@_@@_@<@@@_@7@@@_@@_@@_@@_@@_@@_3''''''''@@@@@ภ'' &&&0'( &&&2@@@@&@@@_E@_@@ภ'8 &&&3'9 &&&5@@@@&@@@_E@_#@@ఐ"l1'K &&&6'L &&&8@@@0@@ఐ"l2'X &&&9@ @@<@@@@=@@@%@A@B@_@A@@@Ϡ&Compat2B'j$&?&F'k$&?&L@'}A@Т&ConstrC'v%&M&R'w%&M&X@Б%equal'&&]&g'&&]&l@б@г%7constructor_description*Data_types''&o&y''&o&@ ''&o&''&o&@@@@@@_3''''''''@ \U@V@W@A @@б@г%7constructor_description*Data_types'(&&'(&&@ '(&&'(&&@@@@@@` @@г'o$bool')&&')&&@@ @@@`(@@@@@`@@`- @@@5@@` @@`2=@@@'&&]&c@@'WA@@@8@W@@3''''''''@;Y @A3''''''''@=@@'%&M&Y'*&&@@БAఠ&compat',&'',&'@'YA@@@%M@@@b@@@bD@` @@`-@%Z@@@b%@@@b$D@`@@`,"@@@tD@`@@`+@@`*3( ((( ( ( ( ( @t@F@@@(&XA@@@࣠@!pA(!,&'(",&' @(4]A@@23( ((( ( ( ( ( @C@>@@` @7@@`.@@`E@` @@` E@`@I@J'ocompat@%o%SD@cC@@@cB@@@cAD@`@@`@%XD@cF@@@cE@@@cDD@`@@`VD@`@@`E@`@@`E@`@(aK+n+t(bK+n+{@@(tZA'compats@$/%ˠD@b@@@b@@@bD@`@@`@%ݠD@b@@@b@@@bD@`@@`D@` @@`!E@`@@`E@`@(P++(P+,@@([A,tuple_compat@$\@%! @@@tI@tq@@@tD@c@& D@c@@@c@@c@@@cD@`"@@`#@%@%E$@@@tD@c@&)D@c@@@c@@c@@@cD@`&@@`'D@`(@@`)E@`$@@`%E@` @(U,t,z(U,t,@@(\A@@@@@@!qA(,&' (,&' @(^A@@3((((((((@@@@@@@@@@ఐ᠐!p(,&'),&'@@@3((((((((@$@@@@@(pat_desc) ,&') ,&'@"- @@ +I@b@@bD@`K@@ఐ@@@`d@@@`c@@@ <@@@`e@@@@@# @@).'O'T).'O'i@@&#@@@).'O'j).'O'k@@cD@`lD@`H@`S.@@).'O'S).'O'l@@@8@@@`f7@ @7@@@)/'m'r)/'m's@@D@`gC@@Ġ(Tpat_any)/'m'u)/'m'}@a@@@@%@`hQ@Ġ(Tpat_var)/'m'~)/'m'@ @)/'m')/'m'@@ @@@`wa@@@  @@@`y@@@`xj@@@ @@@`zo@@@@@ p@@)/'m't)/'m'@@#s@@)/'m'q)/'m'@@@9@,@@`{|@ @|@@N@@@ՠ@@@`}@@@ภQ)/'m')/'m'@P@@@@@Ġ*Tpat_alias)1'')1''@;*Tpat_alias!!@@@@@@@']! @@@@@@'4!t@@@ #loc @@@@@@ !t@@@%)type_expr@@@ @EAALAA'JS  'KU  @@@'l@ఠ!p*71''*81''@*J_A@@'!V@@@`@@@`3*=*<*<*=*=*=*=*=@@@@@@*F1''*G1''@@;@@@` @@*N1''*O1''@@<:@@@`@@@`@@*Z1''*[1''@@=@@@`@@*b1''*c1''@@?@@@`%@@@o*h1''@@ @`)@@@*o1''*p1''@@@`1@@{@@@@ @@`8@@@@@@`>@@@ఐ&compat*1''*1''@a@@@@@b@@@b@@b@@b3********@c\@]@^@@@@ఐj!p*1''*1''@ @@@@ఐʠ!q*1''*1''@@@@@)@@@@@*2''*2''@@a@`3********@@@@@Ġ*Tpat_alias*2''*2''@Рఠ!q*2''*2''@*`A@@(.!@@@`@@@`@@*2''*2''@@@@@`%@@*2''*2''@@֠@@@`@@@`1@@*2''*2''@@@@@`9@@*2''*2''@@@@@`A@@@9+2''@@x@`E@@J@@@L@ @@`L@@@R@@@`R@@@ఐ0&compat+2'(+2'( @@@@/@@b@&@@b@@b@@b3+!+ + +!+!+!+!+!@%ZS@T@U@@@@ఐ!p+32'( +42'( @H@@C@@ఐn!q+@2'( +A2'( @@@A@@)@@;@@Ġ'Tpat_or+R3((+S3((@;'Tpat_or"s!k@@@@]@( @@@^(@@@_('(row_desc@@@a@@@`@CKALAA((/@@@(v@ఠ"p1+3((+3((@+aA@@(ܠD@`@@@`3++++++++@@@@ఠ"p2+3((+3(( @+bA@@(@@@`@@+3((!+3(("@@65@@@`@@@`@@@U+3((#@@K@` @@@+3(($+3((%@@%@`(@@a@@@@ @@`/@@@@@@`5@@@డ*0"||+4()(<+4()(>@@'@@@]@@\@'@@@[@@Z'@@@Y@@X@@W'%sequorBA'@@@@''@@'^@! @@@@@@b1@@b0@@@@b/@@b.@@@b-@@b,@@b+3++++++++@z@{@|pi@j@k@@@@ఐ &compat, 4()(0, 4()(6@@@@@@bF@@@bE @@bD@@bC@@ఐ"p1, 4()(7,!4()(9@%@@){@@@bQ-@@ఐM!q,14()(:,24()(;@/@@4:@@*@@,;@@ఐV&compat,A4()(?,B4()(E@@@@U@@b[@L@@bZC@@bY@@bXR@@ఐĠ"p2,V4()(F,W4()(H@Z@@)@@@bfc@@ఐ!q,g4()(I,h4()(J@e@@jp@@*@@bq@@,l4()(/,m4()(K@@et@@@,x5(L(P,y5(L(Q@@@`3,w,v,v,w,w,w,w,w@z@@@@Ġ'Tpat_or,5(L(R,5(L(Y@3ఠ"q1,5(L([,5(L(]@,cA@@)D@`@@@`@ఠ"q2,5(L(^,5(L(`@,dA@@)@@@`+@@,5(L(a,5(L(b@@CB@@@`@@@`7@@@/,5(L(c@@*@`;@@@@@@B@ @@`B@@@H@@@`H@@@డ+5,6(g(z,6(g(|@@@@@@@bs@@br@@@@bq@@bp@@@bo@@bn@@bm3,,,,,,,,@YR@S@TIB@C@D@@@@ఐ&compat,6(g(n,6(g(t@ɰ@@@@@b@@@b@@b@@b@@ఐ蠐!p-6(g(u-6(g(v@@@)@@ఐ"q1-6(g(w-6(g(y@2@@*n@@@b:@@*@@;@@ఐ<&compat-'6(g(}-(6(g(@@@@;@@b@2@@b)@@b@@bR@@ఐ!p-<6(g(-=6(g(@Q@@L_@@ఐ"q2-I6(g(-J6(g(@g@@*@@@bp@@*@@Hq@@-R6(g(m-S6(g(@@Kt@@Ġ.Tpat_construct-b8((-c8((@;.Tpat_construct$$@@@-@@@,@$>#loc)Longident!t@@@/@@@.*Data_types7constructor_description@@@0*$@@@3@@@2@@@1*@)Z$n#loc*!t@@@8@@@7@@@6@+)core_type@@@9@@5@@@4@DDALAA*a  *d@@@+o@@-8((-8((@@OM@@@`@@@`3--------@@@@ఠ"c1-8((-8((@-eA@@S@@@`@ఠ#ps1-8((-8((@-fA@@o+9$@@@`@@@`@@@`%@@-8((-8((@@\@[ZX@@@`@@@`@@@`@U@@@`@@`@@@`B@@@.8((@@@`F@@Ġ.Tpat_construct.8((.8((@@.8((.8((@@@@@a@@@a\@ఠ"c2.'8((.(8((@.:gA@@@@@a j@ఠ#ps2.58((.68((@.HhA@@ʠ+%W@@@a @@@a @@@a @@.G8((.H8((@@@@@@a@@@a@@@a@@@@a@@a@@@a @@@P.b8()@@@`@@@@@b@ @@a@@@h@@@a@@@డ,"".z9)).{9))@"@@@"@@@b@@b@"@@@b@@b#z@@@b@@b@@b3........@@@@@rk@l@me^@_@`@@@@డ/%equal&Constr.9)) .9))@ .9)).9))@@@,+@@@b@@b@@@@b@@b@@@b@@b@@b@@@@@@@@b@@b@@@@b@@b@@@b@@b@@bF@@ఐ"c1.9)).9))@M@@2@@@bJ@bJ@bZ@@ఐˠ"c2.9)).9))@_@@>@@@bJ@bJ@bn@@V @@# @@@b@bJ@bv@@ఐ'compats/9)) /9))'@@@@@@b@@@b@@b@@b@@ఐK#ps1/%9))(/&9))+@@@@@ఐ#ps2/29)),/39))/@@@@@&@@@@@@.@@Ġ,Tpat_variant/E;)J)N/F;)J)Z@;,Tpat_variant&f&d@@@;@@@:@&!%label@@@<,&u@@@?@@@>@@@=&Stdlib#ref+(row_desc@@@A@@@@@CEALAA,moq,o@@@,p@ఠ"l1/~;)J)[/;)J)]@/iA@@1@@@a$3////////@@@@ఠ#op1 /;)J)^/;)J)a@/jA@@O,&@@@a'@@@a&@@@a%@@/;)J)c/;)J)d@@>9@@@a)@@@a(#@@@d/;)J)e@@M@a'@@Ġ,Tpat_variant/;)J)g/;)J)s@oఠ"l2 /;)J)t/;)J)v@/kA@@p@@@a4?@ఠ#op2 /;)J)w/;)J)z@/lA@@-*&@@@a7@@@a6@@@a5U@@/;)J){/;)J)|@@|w@@@a9@@@a8a@@@3/;)J)}@@]@ae@@@@@E@ @@a:l@@@K@@@a;r@@@డ.h$&$(/<))0<))@$%@@@$%@@@c@@c@$$@@@c@@c$@@@c@@c@@c300 0 00000@@@@@aZ@[@\TM@N@O@@@@డ.,O,Q0'<))0(<))@,N@@@@@@c+I@c@@c@ @@c,O@@@c@@c@@c'@@ఐƠ"l10D<))@-@@3@@ఐ"l2(0P<))@7*@@@@@c.B@@@@$y@@@c@c1J@c(J@@ఐ.'ocompat0i<))0j<))@2@@@0@@c6@!@@c5@@c4@@c3a@@ఐ#op10~<))0<))@g@@?n@@ఐ#op20<))0<))@r@@9{@@&@@0|@@L@@}@@Ġ-Tpat_constant0=))0=))@;-Tpat_constant''@@@"@@@!@'z(constant@@@#@ABALAA-W ( *-W ( Z@@@.m@ఠ"c1 0=))0=))@0mA@@@@@aF300000000@@@@@@&@@g@a=@@Ġ-Tpat_constant0=))0=))@0ఠ"c2 0=))0=))@0nA@@1@@@aL@@@@@T@a>@@D @@@"@ @@aM&@@@(@@@aN,@@@డ/_-- 0>))0>))@-@@@ @@@clH@cM@@cN@ @@cL-@@@cK@@cJ@@cI311111111@ UN@O@P:3@4@5@@@@ఐ?-const_compare1>))1>))@@@@"@@@c`@@ca@@@c_4@@@c^@@c]@@c\"@@ఐz"c115>))16>))@+@@#@@@cnJ@cqJ@cp6@@ఐr"c21I>))1J>))@>@@J@csJ@crG@@7@@RH@@@1X>))1Y>))@@]I@ctS@@C@@ TT@@Ġ*Tpat_tuple1k?))1l?))@;*Tpat_tuple((@@@%@@@$@۠@.(J@@@)@@@(@.(@@@+@@@*@@'@@@&@ACALAA.Y  .Z  @@@.n@ఠ*labeled_ps1?))1?)*@1oA@@ @*)@@@aa@@@a`@/ (@@@ac@@@ab@@a_@@@a^311111111@@@@@@P@@^@aP@@Ġ*Tpat_tuple1?)*1?)* @Zఠ*labeled_qs1?)*1?)*@1pA@@ 6@[Z@@@aq@@@ap@/:(@@@as@@@ar@@ao@@@an1@@@&@@`@aQ4@@@@@7@ @@at;@@@=@@@auA@@@ఐ n,tuple_compat2@**"2@**.@ r@@@ p@@cy@ O@@cx 6@@cw@@cv32 222 2 2 2 2 @ xq@r@sHA@B@C@@@@ఐ*labeled_ps2@**/2@**9@@@ @@ఐ\*labeled_qs2*@**:2+@**D@@@ l@@+@@ % @@Ġ)Tpat_lazy2<A*E*I2=A*E*R@;)Tpat_lazy)])[@@@S@@@R@/)c@@@U@@@T@AHALAA/n.0/o.i@@@/s@ఠ!p2[A*E*S2\A*E*T@2nqA@@/)z@@@a@@@a32a2`2`2a2a2a2a2a@ d@@@@@, @@ @aw@@Ġ)Tpat_lazy2rA*E*V2sA*E*_@6ఠ!q2{A*E*`2|A*E*a@2rA@@/נ)@@@a@@@a @@@ @@@ax#@@N@@@&@ @@a*@@@,@@@a0@@@ఐ &compat2A*E*e2A*E*k@ w@@@ @@c@ @@c @@c@@c322222222@ VO@P@Q70@1@2@@@@ఐ^!p2A*E*l2A*E*m@@@0 D@c@@@c@@ఐQ!q2A*E*n2A*E*o@ @@0' D@c@@@c+@@7 @@ ,@@Ġ+Tpat_record2B*p*t2B*p*@;+Tpat_record**@@@C@@@B@.@)#loc!t@@@G@@@F@1label_description@@@H@0f*)@@@J@@@I@@E@@@D)+closed_flag@@@K@BFALAA0;u}0<{ '@@@0q@ఠ"l13(B*p*3)B*p*@3;sA@@<@;9@@@a@@@a@6@@@a@0*\@@@a@@@a@@a@@@a33D3C3C3D3D3D3D3D@ G@@@@3MB*p*3NB*p*@@8@@@a @@@o3SB*p*@@ @a @@Ġ+Tpat_record3^B*p*3_B*p*@zఠ"l23gB*p*3hB*p*@3ztA@@{@zx@@@a@@@a@u@@@a@0ؠ*@@@a@@@a@@a@@@a?@@3B*p*3B*p*@@v@@@aG@@@33B*p*@@ @aK@@@@@E@ @@aR@@@K@@@aX@@@@@ఠ"ps3C**3C**@3yA@@/+@@@c@@@cI@c333333333@ @@]V@W@X@@@@ఠ"qs3C**3C**@3zA@@I+@@@c@@@cI@c@@( @@@(@@@c!@ఐ,records_args3C**3C**@ J@@@,c@@@@c@@@cI@c@ @@@c @, @@@c@@c@@@c@@c@,@@@@d@@@dI@c@ @@@c@,,@@@c@@c@@@c@@c@*@@@c@@@@c@@c@@c@@cy@@ఐ"l14?C**4@C**@@@,@Y@!@@@c⠠@@@c@@@cJ@cJ@c@@ఐ"l24_C**4`C**@@@,ܠ@Z@!'@@@cޠ@@@c@@@cJ@dJ@d@@@@@ɠ@@@dJ@c@A@4C** @@ఐ !'compats4D**4D**@ %@@@ #@@d"@ @@d! @@d @@d344444444@@@@@@@@@ఐ"ps4D**4D**@@@ 9D@d-@@ఐ預"qs4D**4D**@@@ 5D@d:#@@/@@ ,$@:@@ @@Ġ*Tpat_array4E**4E**@;*Tpat_array++@@@M@@@L@+,mutable_flag@@@N025+@@@Q@@@P@@@O@BGALAA22 @@@2Pr@ఠ#am14E**4E**@5uA@@"@@@a @ఠ"ps4E**5E**@5vA@@*2^,!@@@a@@@a@@@a @@@H5E**@@ @a @@Ġ*Tpat_array5E**5E**@Sఠ#am25#E**5$E*+@56wA@@T@@@a (@ఠ"qs51E*+52E*+@5DxA@@\2,S@@@a@@@a@@@a >@@@'5AE*+@@ @a B@@~@@@9@ @@a I@@@?@@@a O@@@డ3))5YF+ +5ZF+ +@)@@@)@@@dN@@dM@)~@@@dL@@dK*Y@@@dJ@@dI@@dH35h5g5g5h5h5h5h5h@ o~@@xq@r@sUN@O@PHA@B@C@@@@డ3115F+ +5F+ +@1@@@@@@drI@dd@@de@ @@dc1@@@db@@da@@d`'@@ఐ#am15F+ +5F+ +@.@@4@@ఐ#am25F+ +5F+ +@9@@&J@dsC@@@@)@@@d^@dtJ@doK@@డ4,)ꠐ)5G++D5G++F@)@@@)@@@d|@@d{@)@@@dz@@dy*@@@dx@@dw@@dvj@@డ4K2 2 5G++35G++4@2 @@@#intA@@@dJ@d@@d@ @@d2 @@@d@@d@@d@@డ4m$List&length6G++$6 G++(@ 6 G++)6 G++/@@@+!a@O'@@@O1@@O02@@@O/@@O.@IkJk @@HC@@@@3-I@@@d@@@dK@d@@@d@@dK@@@d@@d@@ఐD"ps6CG++06DG++2@Ұ@@6!@@@dL@dL@d@@G @@d@@డ4$List&length6_G++56`G++9@ 6cG++:6dG++@@@W@@@W3Ƞ-@@@d@@@dK@d@@@d@@d@@@d@@d@@ఐT"qs6G++A6G++C@@@x!@@@dL@dL@d#@@2 @@L@d&@@@@*@@@d@dK@d.@@ఐ?'compats6H+G+M6H+G+T@C@@@A@@d@2@@d&@@d@@dE@@ఐ"ps6H+G+U6H+G+W@K@@RD@dT@@ఐ"qs6H+G+X6H+G+Z@X@@ND@dc@@*@@Ed@@@@*@@@d\@dJ@dl@@<@@m@@@6I+[+_6I+[+`@@ @a @@@6I+[+a6I+[+b@@ c@a @@ @@@@ @@a @@@@@@a @@@ภ%y7I+[+g7I+[+l@%x@@@@@@A7,&'@@ @A@@@@oh@@@og @@of@@oeD@oa@@@7,&&@@@@@@`1@@@`0@@`/@@`.377777777@@@@࣠@"op A7.K+n+|7/K+n+~@7A{A@@37-7,7,7-7-7-7-7-@ @@@@@@"oq!A7=K+n+7>K+n+@7P|A@@37<7;7;7<7<7<7<7<@@@@@@@@@@ఐ("op7SK+n+7TK+n+@@@37Q7P7P7Q7Q7Q7Q7Q@"@@@@@@ఐ("oq7bK+n+7cK+n+@ @@@@@@@*@@@oy@@Ġ$None7zL++7{L++@;666А@@W@@@@AA@A7R@@6@@ @@C@o{377777777@/@@@@Ġ$None7L++7L++@@@@@>@o|@@@@@@ @@o@@@@@@o@@@ภ'7L++7L++@' @@@I#@@Ġ$Some7M++7M++@;6<@6A@AA@A7@@6ఠ!p"7M++7M++@7}A@@D@oq@@@@@@ot@@Ġ$Some7M++7M++@ఠ!q#7M++7M++@7~A@@D@o@@@@@@o@@/ @@@!@ @@o@@@'@@@o@@@ఐ&compat7M++7M++@Ұ@@@@@o@@@o@@o@@o387788888@KD@E@F2+@,@-@@@@ఐS!p8M++8M++@@@R@@ఐF!q8!M++8"M++@@@E@@+@@ @@Ġ$None85N++86N++@@@@@@o@@Ġ$Some8BN++8CN++@@8GN++8HN++@@D@o@@@ @@@o@@8ON++8PN++@@@@ @@o@ @@@Ġ$Some8cN++8dN++@@8hN++8iN++@@&D@o@@@ @@-@o@@Ġ$None8wN++8xN++@@@@@'@o&@@8}N++8~N++@@@@ @@o/@ @/@@7@@@J@9@@o6@@@ภ'8N++8N++@'@@@5>@@@A8K+n+@@7@iA@@]@@q@N@@qB@@q@@qD@qo@@@8K+n+p@CC@@@@@@`5@1@@`4%@@`3@@`2388888888@@@@࣠@"ps$A8P+,8P+,@8A@@T388888888@@@@@@@"qs%A8P+,8P+,@8A@@P388888888@f@@@@@@@@@ఐ("ps8P+,8P+,@@@x388888888@"h@@@@@@ఐ("qs8P+,8P+,@ @@t@@@@@@{@@q@@Ġ19Q,, 9 Q,,"@1@@@@@q399999999@(@@@@Ġ19Q,,$9Q,,&@1@@@@@q @@@@@@ @@q@@@@@@q@@@ภ(9,Q,,*9-Q,,.@(@@@"@@Ġ&ɰ9<R,/,49=R,/,6@&Ƞఠ!p&9ER,/,3 @9WA @@D@qe@ఠ"ps'9QR,/,8@9cA@@8@@@qs@@@@@@qv@@Ġ&9bR,/,;9cR,/,=@&ఠ!q(9kR,/,: @9}A @@D@q@ఠ"qs)9wR,/,?@9A@@8֠@@@q@@@@@@q@@= @@@-@ @@q@@@3@@@q@@@డ7--9R,/,N9R,/,P@-@@@-@@@q@@q@-@@@q@@q.@@@q@@q@@q399999999@nh@i@jc]@^@_JD@E@F?9@:@;@@@@ఐԠ&compat9R,/,C9R,/,I@@@@@@q@@@q@@q@@q @@ఐ!p9R,/,J9R,/,K@'@@-@@ఐv!q9R,/,L9R,/,M@2@@v:@@&@@;@@ఐ'compats9R,/,Q9R,/,X@@@@@@r@|@@rp@@r@@rR@@ఐ"ps:R,/,Y:R,/,[@X@@D@r%a@@ఐ"qs:R,/,\:R,/,^@e@@D@r&p@@*@@q@@]@@r@@@:&S,_,c:'S,_,d@@@qE@@@:.S,_,e:/S,_,f@@@qM@@ @@@@ @@qT@@@@@@qZ@@@ภ(:DS,_,m:ES,_,r@(@@@b@@@A:HP+, @@<@A@@@@t @@@t @@t @@t D@t@@@:UP++@ɠɰ@@@@@`9@@@`8@@`7@@`63:_:^:^:_:_:_:_:_@V@@@࣠@*labeled_ps*A:pU,t,:qU,t,@:A@@3:o:n:n:o:o:o:o:o@O@@@@@@*labeled_qs+A:U,t,:U,t,@:A@@3:~:}:}:~:~:~:~:~@_@@@@@@@@@ఐ(*labeled_ps:U,t,:U,t,@@@3::::::::@"@@@@@@ఐ(*labeled_qs:U,t,:U,t,@ @@@@@@@@@@t@@Ġ35:V,,:V,,@34@@@@$@t 3::::::::@(@@@@Ġ3B:V,,:V,,@3A@@@@ @t! @@@@@@ @@t(@@@@@@t)@@@ภ*H:V,,:V,,@*G@@@ "@@Ġ(|:W,,:W,,@({@ఠ'p_label,:W,,:W,,@;A@@^D@tD@t2k@@ఠ!p-; W,,; W,,@;A@@_D@t3y@@;W,,$@@@@ @@t5@ఠ*labeled_ps.0; W,,@;2A3@@:D@t0@@@t6@@@ @@@t+@@Ġ(;3W,,;4W,,@(@ఠ'q_label/;@W,,;AW,,@;SA@@~D@tD@t:@@ఠ!q0;OW,,;PW,,@;bA@@D@t;@@;VW,,$@@@@ @@t=@ఠ*labeled_qs10;dW,- @;vA3@@:àD@t8@@@t>@@@ @@@t,@@_ @@@K@ @@t?@@@Q@@@t@@@@డ9//;Y-=-C;Y-=-E@/@@@/@@@tY@@tX@/@@@tW@@tV0@@@tU@@tT@@tS3;;;;;;;;@@@@@@@g`@a@bYR@S@TE?@@@A@@@@డ:&Option%equal;X- -;X- -@ ;X- -;X- -@@@@!a@u@@h@@@g8>@@@f@@e@@d@@c@0@@@b@@a@@@@`@@_8R@@@^@@]@@\@@[@8P_ j j8Q_ j @@8OR@50@@@@I@@ty@M@@tx)@@@tw@@tv@@tu@@tt@XW@@@ts@@tr@<_@@@tp@@to(@@@tn@@tm@@tl@@tkt@@డ:&String%equal<X- - <X- -&@ <X- -'< X- -,@@@D@@@V@@V@K@@@V@@V$boolE@@@V@@V@@V@@rrAr@@?K@!@@@]@@@t@@t@d@@@t@@t@@@t@@t@@t@@ఐ['p_label@@ఐ*labeled_ps<Y-=-a<Y-=-k@A@@JD@tM@@ఐ*labeled_qs<Y-=-l<Y-=-v@M@@4D@t\@@*@@]@@]@@1@@@tg@tJ@te@@I@@'f@@@= Z-w-{= Z-w-|@@q@tBu@@@=Z-w-}=Z-w-~@@T@tC}@@ @@@@ @@tF@@@@@@tG@@@ภ+='Z-w-=(Z-w-@+@@@R@@@A=+U,t,@@Tl@A@@@@w0@x@@w/_@@w.@@w-D@w)@@@=8U,t,v@@'@,@U@@@@@3===<=<==========@@@=D*&&=E\--@ 3=B=A=A=B=B=B=B=B@9@@@=I%&M&Q@t3=G=F=F=G=G=G=G=G@@@@@=N$&?&? @ @/SyntacticCompat8D=Z^--=[^--@=mA@гР&Compat=f_--=g_--@@@@G@<:@@@@3=r=q=q=r=r=r=r=r@@ @@X@MK@" @@@@;@@@Б@ఠ%equal3=a--=a--@=A@@@1^@@@w8@@w7@1e@@@w6@@w50@@@w4@@w3@@w2E@w17@డ;,equal_constr*Data_types=a--=a--@ =a--=a--@@@1@@@@@@1@@@@@%@@@@@@@@1qp  1rq  U@@1Y@@@;`@A@=a--@@@c@JC@D@E@@3========@gM@@=`--=b--@ 3========@l@@@@=b--@4@;Z;G;^5 @@@w@@@w@@w@;g;T;k5@@@w@@@w@@w~2@@@w}@@w|@@w{@@@5@Π;~;k$@@@w@@@w@@@w@@w@ޠ;;{'@@@w@@@w@@@w@@w2C@@@w@@w@@w@@@6@Ƞ;;K@@@w@@@w@@@w@@w@ؠ;;N@@@w@@@w@@@w@@w2j@@@w@@w@@w@@@7@ @&  @@@w@@@w@;;Ƞ@@@w@@@w@@w@@@w@@w@@@@@w@;;@@@w@@@w@@w@@@w@@w2@@@w@@w@@w@@@@@@>^--@@@ఠ&compat9>d-->d--@>A@@@<<<5@@@x@@@x@@x@<&<<*5@@@x@@@x@@x2@@@x@@x@@xF@x3>>>>>>>>@Qt@@@@{z@@@=w@@@డ&compat/SyntacticCompat>d-.>d-.@ >d-.>d-.@@@<;@@@x@@@x@@x@:9@@@x@@@x@@x3@@@x@@x@@x@@"@@V9@A@?d--@ఠ'compats:? e..? e..#@?A@@@<s@@@A?{j..@@?A@@@@@ @3?{?z?z?{?{?{?{?{@@@~w@x@y@@@ఠ*clean_copy<?q/s/w?q/s/@?A@@@%Types)type_expr@@@)G@x@@x G@x@@xG@x3????????@&5/@@@࣠@"ty>A?q/s/?q/s/@?A@@3????????@+?q/s/s?s//@@@@@  @@డ>1;;?r//?r//@;@@@#intA@@@yH@x@@x@ @@x;@@@x@@x@@x3????????@)5G@,@-@@@@డ>.)get_level?r//?r//@@&i)type_expr@@@f@@e(@@@d@@c@%#?#?%#?#^@@&pl@@@@@@@y @@y 7@@@y@@y-@@ఐf"ty@r//@r//@7@@~:@@,@@H;@@డ%Btype-generic_level%Btype@)r//@*r//@ @-r//@.r//@@#intA@@@{Y@0typing/btype.mli| e e| e {@@%Btype`@@@oI@}b@@T@@@@@}I@yh@ఐ"ty@Mr//@Nr//@o@@r@డ%Subst)type_expr%Subst@`s//@as//@ @ds//@es//@@@%Subst!t@@@~@@~@@@@~@@~)type_expr@@@~@@~@@~@0typing/subst.mli~ : :~ : d@@P@&!@@@@@@@@@@@@@@@@@@@@@@@డG(identity%Subst@s//@s//@ @s//@s//@@A%subst!a@~S@@@~a@7orr8or@@JE@@@R@@@1I@/@@ఐ"ty@s//@@@3@@n@@4I@'@@r//@@8@!A@?G@:@A@@@1@ఠ9get_constructor_type_path@u//@u//@@A@@@6)type_expr@@@^G@<@@=@#Env!t@@@`G@B@@C$Path!t@@@G@D@@EG@>@@?G@;3AAAAAAAA@h{@|@}@@@࣠@"tyAAu//Au/0@A-A@@33AAAAAAAA@BA"u//A#y0v0@@@@@  @@$tenvAA.u/0A/u/0@AAA@@:3A-A,A,A-A-A-A-A-@!J@@@@@@@@@ఠ"tyAAv0 0ABv0 0@ATA@@7)type_expr@@@\J@H3AGAFAFAGAGAGAGAG@'W@@@@@డ7=+expand_head%CtypeA\v0 0A]v0 0@ A`v0 0Aav0 0%@@@n@@@?@@?@@@@?@@?+@@@?@@?@@?@7D**7E**@@7C\@@@@@@@P@@O@@@@N@@MA@@@L@@K@@J?@@ఐj$tenvAv0 0&Av0 0*@I@@L@@ఐ*clean_copyAv0 0,Av0 06@@@@@@@d@@e@@cb@@ఐ"tyAv0 07Av0 09@@@o@@Av0 0+Av0 0:@@G@nG@ku@@f@@{v@A@Av0 0 @@డ@(get_descAw0>0FAw0>0N@@@@@b@@a(N)type_desc@@@`@@_@'##'##>@@(Rk@@@@@@@t@@s@@@r@@q3AAAAAAAA@@@@@@@ఐ"tyAw0>0OAw0>0Q@ @@ @@@}K@K@~@@6 @@,@@@{@Ġ'TconstrBx0W0[Bx0W0b@;'Tconstr=@@@4@@@@$listK0@@@@@@&Stdlib#ref(+abbrev_memo@@@@@@@CCAL@A(9UTV(:UT@@@(L@ఠ$pathBCx0W0dBDx0W0h@BVA@@C@@@]@@BMx0W0iBNx0W0j@@1^@@@@@@i@@BYx0W0kBZx0W0l@@2-@@@@@@u@@@QBcx0W0m@@@@@z@@@@@}@@@ఐ.$pathBqx0W0qBrx0W0u@-@.@/@@s3BpBoBoBpBpBpBpBp@8@@@@B}y0v0zB~y0v0{@@@@@@@@@@@@@ ภ1By0v0j@1@k@@7@@@@By0v0p@@@@@ABw0>0@r@@3BBBBBBBB@@@@t@@K@~uA@G@|@A@y@yx@@ఠ,simple_matchB11B11@BA@@@<8%@@@G@@@@G@@@@<+86@@@G@@@@G@@@$@@@bG@@@G@@@G@3BBBBBBBB@@@@@@࣠@!dAB11B11@BA@@33BBBBBBBB@BB11B22@@@@@  @@!hAB11B11@CA@@63BBBBBBBB@!J@@@@@@@@ Р:$Head(PatternsC 11&C 11.@ C11/C113@@@3CCCCCCCC@+W@"@#@@@@A3CCCCCCCC@@@C11! @@ @3CCCCCCCC@@@@ఐQ!dC-171?C.171@@6@@3C+C*C*C+C+C+C+C+@@@@(pat_descC5171AC6171I@@?@@@@ఐf"c1C1}1C1}1@@@7@@@fM@hM@g@@ఐ_"c2C1}1C1}1@!@@7@@@dM@jM@i-@@G @@$.@@Ġ'VariantC11C11@.Qঠ#tagD 11D 11@3.K.Z@@@.M@@@3.C.B@@A.A.<@.93.6.5@@B. A.$@.!3..@@C. A.@. . A.L@.Iఠ"t1D11D11@D,A@@.[@@@3DDDDDDDD@@@@@AD"11D#11@@.t@@@M@ @@@,@@u@ @@Ġ'VariantD411D511@.ঠ#tagD?11D@11@3..@@@.@@@3.y.x@@A.>A.r@.o3.l.k@@B.?A.Z@.W3.T.S@@C.@A.D@.A.@A.@.ఠ"t2DO11DP11@DbA@@.@@@6@@@DW11DX11@@.@@@M@>@@@+@@@A@@d @@@<@ @@H@@@B@@@N@@@డB@@Dv11Dw11@@@@@.@@@~L@p@@q@ @@o@@@@n@@m@@l3DDDDDDDD@swp@q@rB;@<@=@@@@ఐ"t1D11D11@@@@@ఐV"t2D11D11@@@.@@@"@@@@#@@Ġ(ConstantD11D11@7ఠ"c1D11D11@DA@@7!@@@3DDDDDDDD@@@@@@@@@@@Ġ(ConstantD11D11@75ఠ"c2D11D12@DA@@7=@@@@@@@@!@@@0 @@@"@ @@&@@@(@@@,@@@డCgA&A(D12D12@A%@@@)@@@L@@@@ @@A&@@@@@@@3E E E E E E E E @UN@O@P:3@4@5@@@@ఐ)G-const_compareE"12E#12@%@@@6@@@@@@@@)<@@@@@@@"@@ఐz"c1E=12E>12@+@@7 @@@N@N@6@@ఐr"c2EQ12ER12@>@@N@N@G@@7@@RH@@@E`12Ea12@@]M@S@@C@@T@@Ġ$LazyEs22 Et22$@/-@@@@@@@Ġ$LazyE22&E22*@/:@@@@@@@@@@@ @@@@@@@@@@@ภ5E22.E222@4@@@@@Ġ&RecordE2327E232=@3O@E232>E232?@@3Q3P@@@@@@@@@ @@@@@Ġ&RecordE232AE232G@3h@E232HE232I@@3j3i@@@ @@@ @@@ @@ @@@+ @@@ @ @@ @@@&@@@ @@@ภ5ME232ME232Q@5L@@@@@Ġ%TupleE2R2VE2R2[@4Uఠ%lbls1E2R2\E2R2a@FA@@4]4\4Y@@@@@@@@@3FFFFFFFF@@@@@@@@Z@@@Ġ%TupleF2R2cF2R2h@4yఠ%lbls2 F"2R2iF#2R2n@F5A@@444}@@@@@@@@@$@@@@@l@'@@@@@@*@ @@ .@@@0@@@!4@@@డDBqBsFI2R2xFJ2R2y@Bp@@@444@@@@@@@@@L@@@@@@By@@@@@@@3F_F^F^F_F_F_F_F_@Nmf@g@hJC@D@E@@@@ఐu%lbls1Fs2R2rFt2R2w@@@$@@ఐ^%lbls2F2R2zF2R2@@@3L@!@@@@"@@Ġ%ArrayF22F22@23ఠ#am1àF22F22@FA@@2;@@@*t@ఠ$len1ĠF22F22@FA@@2C@@@+@@@F22@@@#@@Ġ%ArrayF22F22@2]ఠ#am2ŠF22F22@FA@@2e@@@/@ఠ$len2ƠF22F22@FA@@2m@@@0@@@F22@@@$@@M@@@1@ @@1@@@7@@@2@@@డE^;;F22F22@;@@@;@@@@@@;@@@@@;@@@@@@@3GGGGGGGG@un@o@pha@b@cMF@G@H@9@:@;@@@@డECECGG22G22@CD@@@2@@@M@@@@ @@CE@@@@@@@'@@ఐ#am1G:22G;22@.@@4@@ఐ#am2GG22GH22@9@@&N@C@@@@;p@@@@N@K@@డECCG_22G`22@C@@@2@@@M@@@@ @@C@@@@@@@i@@ఐѠ$len1G|22G}22@o@@v@@ఐ$len2G22G22@z@@&N@@@@@;@@@@N@@@] @@@@@G22G22@@@4u@@Ġ#AnyG22G22@2@@@@@5@@@@@@ @@9@@@@@@:@@@ภ7-G22G22@7,@@@@@@G22G22@@@<@@@G22G22@@@=@@ @@@@ @@@@@@@@@A@@@ภ6fG22@6d@ @@%@@@AG1719 @@'3GGGGGGGG@@@@G11@@*3GGGGGGGG@@@@A@NG@@A@@@*@ఠ*record_argǠH33H33"@HA@@@Az=@@@G@@@@G@@@@5@@@G@@@@G@@@G@3H!H H H!H!H!H!H!@V@@@@@࣠@"phAH433#H533%@HGA@@(3H3H2H2H3H3H3H3H3@7H<33H=33@@@@@  @@ Р@C$Head(PatternsHP3(33HQ3(3;@ HT3(3<HU3(3@@@@3HTHSHSHTHTHTHTHT@".L@%@&@@@@A3HWHVHVHWHWHWHWHW@@@H_3(3. @@ @3H\H[H[H\H\H\H\H\@@@ఐ<"phHm3D3LHn3D3N@@@`3HkHjHjHkHkHkHkHk@@@@(pat_descHu3D3OHv3D3W@A @@c@Ġ#AnyH3]3aH3]3d@3o@@@@p3HHHHHHHH@)@@@@q@@@ภAH3]3hH3]3j@A@@@s @Ġ&RecordH3k3oH3k3u@6?ఠ$argsʠH3k3vH3k3z@HA@@6G6F@@@@@@<@@@ @@=@@=@@@ఐ$argsH3k3~H3k3@@@@@3HHHHHHHH@]@@@@H33H33@@R@@R@@@డH+fatal_errorH33H33@@&stringQ@@@ @@ !a@ @@ @,Y,Y@@,@@@@@@@@@@L@@@z@@2Parmatch.as_recordH33H33@@H33@@(@@@L@L@@@3@@@@@AH3D3F@@{@I3(3*@@3HHHHHHHH@@@@A@G@@A@@@ᠰ@ఠ.extract_fieldsˠI33I33@I%A@@@0Ơ5@@@I@d@@@vG@@@@2]@5@@@@AD@@@@@@@@G@@@0ˠ I@a@@@tG@@@G@@@G@3IBIAIAIBIBIBIBIB@"G@@A@B@@@࣠@$lblsAIU33IV33@IhA@@=3ITISISITITITITIT@LI]33I^4_4@@@@@  @@#argAIi33Ij33@I|A@@@3IhIgIgIhIhIhIhIh@!T@@@@@@@@@ఠ)get_fieldϠI|33I}33@IA@@@5@@@BJ@@@@2@6V@@@CM@&@A@@@WJ@'@@(M@ @@@J@@@J@@@J@@@J@3IIIIIIII@>J@A@B@@@࣠@#posAI33I33@IA@@63IIIIIIII@EI33I474Y@@@@@  @@#argAI33I33@IA@@?3IIIIIIII@!M@@@@@@@@డHI$List$findI33I33@ I33I33@@30@@@@^@@3,@@@@@@@ @3)h@@@ @@ i@@ @@3IIIIIIII@0<q@3@4@@@@࣠@GTA@ఠ#lblӠJ34J34@J(A@@}3JJJJJJJJ@@@@@@J34J34@@}@@J!34J"34@@@@@@*@@ @@డHF[F]J334J434@FZ@@@J@3@@4@@@2FW@@@1@@0@@/3J=J<J<J=J=J=J=J=@D3@-@.@@@@ఐ#posJO34 JP34@@@@@ఐI#lblJ^34J_34@@@@'lbl_posJe34Jf34@6 @@&@@@@3@@@DP@>,@Jo33Jp34@@@@@"3@@@!@@ N@IN@Fc@@ఐ#argJ34J34!@@@@@@@q@@@J4'4-J4'4.@@J@M@@ఠ!pՠJ4'40J4'41@JA@@J@N@@@@@@ @@P@@@@@@Q@@@ఐ!pJ4'45J4'46@@@@@3JJJJJJJJ@$@@@Ġ)Not_foundJ474GJ474P@3d@@@@I@@@T@J474=@@<@@@ఐB蠐%omegaJ474T@B@@2@@@AJ33@@43JJJJJJJJ@@@@'A@_J@\%@A@"@డIS$List#mapJ4_4aJ4_4e@ J4_4fJ4_4i@@2L@@@@@@g@@f@@e@2@@@c@@b2@@@`@@_@@^3KKKKKKKK@a@@@@@@࣠@#lblAK4_4oK4_4r@K.A@@3KKKKKKKK@@@@@@@ఐ)get_fieldK+4_4vK,4_4@!@@@7@@@@@@4g@7@@@@CN@@@@@@@@@@@@@@3KDKCKCKDKDKDKDKD@@7+@.@/@@@@ఐ@#lblKX4_4KY4_4@@@:@'lbl_posK_4_4K`4_4@7 @@7@@@L@L@ @@ఐ #argKs4_4Kt4_4@ɰ@@I-@@L@@<.@Kx4_4jKy4_4@@@a@@y>@@xJ@J@c@@ఐ:$lblsK4_4/@0@@r@@1@@Np@2@@O@<3A@{G@:@A@7@76@M@ఠ1simple_match_argsנK44K44@KA@@@EA@@@-G@Y@@@ZG@@@@E$A/@@@G@@@@G@@@@AFC@@@G@8@@@LG@@@ G@@@G@@@G@@@G@3KKKKKKKK@@@@@@࣠@%discrAK44K44@KA@@A3KKKKKKKK@PK44K7[7d@@@@@  @@$headAK44K44@L A@@D3KKKKKKKK@!X@@@@@@@@$argsAL 44L 45@LA@@D3L L L L L L L L @X@@@@@@@@ РD$Head(PatternsL$55L%55@ L(55L)55@@@3L(L'L'L(L(L(L(L(@+e@"@#@@@@A3L+L*L*L+L+L+L+L+@@@L355  @@ @3L0L/L/L0L0L0L0L0@@@ఐJ$headLA5!5)LB5!5-@2@@3L?L>L>L?L?L?L?L?@@@@(pat_descLI5!5.LJ5!56@Em @@@Ġ(ConstantLV5<5@LW5<5H@>@L[5<5IL\5<5J@@>@@@3L[LZLZL[L[L[L[L[@0@@@@@ @@@@@@@ภDLg5<5NLh5<5P@D@@@ @Ġ)ConstructL|5Q5UL}5Q5^@@@L5Q5_L5Q5`@@@@@@&@@@ @@'@@'@Ġ'VariantL5a5eL5a5l@6@L5a5mL5a5n@@6@@@9@@@ @@:@@:@@@@;@Ġ%TupleL5o5sL5o5x@;@L5o5yL5o5z@@;;;@@@@@@@@@U@@@ @@V@@V@@;@@W@Ġ%ArrayL5{5L5{5@8^@L5{5L5{5@@8`@@@i@@@8_@@@n@@@ @@o@@o@@T @@p@Ġ$LazyL55L55@6@@@@{@@{@@`@@|@@@ఐ۠$argsL55L55@@@@Ġ&RecordL55L55@:ఠ$lblsܠL55L55@M A@@::@@@@@@3LLLLLLLL@@@@@@ @@G@@G@@@ఐ.extract_fieldsM55M55@7@@@49@@@@@@@@@6O@9@@@@E6@@@@@@@@@@4@@@@@@@3M0M/M/M0M0M0M0M0@B;@<@=@@@@ఐ>*record_argMD55ME55@@@@FB@@@ @@@@@EȠ:@@@@@@@@$@@ఐ%discrMc55Md55@e@@1@@Mg55Mh55@@5:(@@@@@@N@0O@)?@@డK$List'combineM55M55@ M55M55@@@C !a@L@@@QT@@QS@Р!b@L@@@QR@@QQC@@@@QP@@@QO@@QN@@QM@6>}>}6>}>@@6A@1,@@@):z@@@N@UN@PN@7@@@<@@;@@@@:@@9)@@@@6@@@5@@4@@3@@ఐ預$lblsM55M55@@@Y0@@@NO@QO@O@@ఐ$argsM55M55@ʰ@@/@@M55M55@@7/@F@7@@@@@N@SO@I@@@@5@Ġ#AnyN55N55@9@@@@Z@@Z@@@ఐA%discrN$56N%56 @&@@~@(pat_descN+56 N,56@GO @@@Ġ)ConstructN866 N966)@Bఠ$cstrݠNA66*NB66.@NTA@@B@@@]3NCNBNBNCNCNCNCNC@@@@@@@@@@@@@డFJ&omegas(PatternsNW662NX66:@ N[66;N\66A@@E@@@F*@@@@@F'F$@@@@@@@@3NhNgNgNhNhNhNhNh@>2+@,@-@@@@ఐ;$cstrN|66BN}66F@@@B?@@@@@*cstr_arityN66GN66Q@A@@FV@@@P@P@%@@< @@&@Ġ'VariantN6R6ZN6R6a@8ঠ'has_argN6R6dN6R6k@388@@@b8@@A388@@@8A8@8388@@B8A8@8388@@C8A8@88A8@8Ġ>"N6R6nN6R6r@>!@@@@8@@@iw@@@N6R6bN6R6t@@9@@@kR@j@@@)@@@@@Ġ$LazyN6u6}N6u6@8@@@@%@@%@@5@@&@@@ภ"::N6u6N6u6A@@@F<@@@O@@@@@@FF@@@@@@@@3O?O>O>O?O?O?O?O?@3,@-@.@@@@ఐ:$lblsOQ66OR66@ @@F̠$@@@P@P@@@0 @@@Ġ%ArrayOg66Oh66@;@Ol66Om66@@;@@@u3OlOkOkOlOlOlOlOl@A@@@ఠ#lenߠOy66Oz66@OA@@;@@@v@@@O66@@@@@@@డG&omegas(PatternsO66O66@ O66O66@@G6@@@Gb@@@@@G_G\@@@@@@@@3OOOOOOOO@v2+@,@-@@@@ఐ9#lenO66O66@ @@G@@@P@P@@@. @@@Ġ%TupleO66O66@>'ఠ$lblsO66O66@OA@@>/>.>+@@@}@@@|@@@{@@@@@2@@2@@@ఐGg*omega_listO67O67 @F@@@Gd>L>I@@@@@@O@@@@@@GkGj@@@@@@@@3OOOOOOOO@:3@4@5@@@@ఐA$lblsP67 P67@ @@G(@@@ P@P@ @@4 @@F@Ġ'VariantP+77P,77!@:~ঠ'has_argP677$P777+@3:k:@@@:m@@A3:}:|@@@:5A:w@:t3:c:b@@B:6A:Q@:N3:K:J@@C:7A:;@:8:7A:k@:hĠ>PE77.PF773@>@@@@:y@@@@@@PL77"PM775@@:@@@T@@@@)@@@@@Ġ#AnyP\767>P]767A@;I@@@@@@@@5@@@Ġ(ConstantPh7B7JPi7B7R@BǠ@Pm7B7SPn7B7T@@B@@@.@@@ @@/@@/@@I@@0@@@ภHPy7B7XPz7B7Z@H@@@8@@@AP}55@@z@@@AP5!5#@@ @P55@@3P}P|P|P}P}P}P}P}@U@@@A@G@@A@@@@ఠ)discr_patP;;P;;@PA@@@F &Simple'pattern@@@]G@@@@I#@@F(!t@@@&M@@N$@@@$@N'@@@#@@@"G@@@G@@@G@@@G@3PPPPPPPP@/(@)@*@@@࣠@!qAP;;P;;@PA@@>3PPPPPPPP@MP;;P@r@|@@@@@  @@#pssAP;;P;;@PA@@C3PPPPPPPP@!U@@@@@@@@ РH$Head(PatternsQ;;Q;;@ Q;;Q;;@@@3QQQQQQQQ@+d@"@#@@@@A3Q Q Q Q Q Q Q Q @@@Q;; @@ @3QQQQQQQQ@@@Aఠ*refine_patQ;<Q ;< @Q2A@@@JF@@@K@@@@K@@@@I@@ K@@@@@@K@@@@@@K@@@@K@@@*K@@@@@3QMQLQLQMQMQMQMQM@C@@@࣠@#accAQ^;<Q_;<@QqA@@;3Q]Q\Q\Q]Q]Q]Q]Q]@TI@D@@@;@@ @@L@@@L@@O@P@@@@@@ĠIQz<<#Q{<<%@I@@@@G3QxQwQwQxQxQxQxQx@(Y@@ @@@@@ఐ,#accQ<<)Q<<,@ @@9 @Ġ?Q<->R>>@RA@@Q?V@@@Q@@@@Q@-3RRRRRRRR@+$@%@&@@@డQ$List*fold_rightR>>"R>>&@ R>>'R>>1@@@@!a@N/@@P@#acc@N+@@P@@P@@P@@P@HK@@@P@@P@@@P@@O@@O@@O@<<@@<^@.)@@@@LQ@6@@;@WQ@2@@:@@9@@8@@7@"@@@5@@4@@@3@@1@@0@@/3RRRRRRRR@Z@@@@࣠@#lblAS >>7S >>:@SA@@'m@@@@!rAS>>;S>><@S,A@@/3SSSSSSSS@|8@@@@@@@@డQ$List&existsS1>@>OS2>@>S@ S5>@>TS6>@>Z@@@@!a@M@@Pa<}@@@P`@@P_@@P^@HƠ@@@P]@@P\<@@@P[@@PZ@@PY@<$$<$$@@<~e@*%@@@@T@g@@k @@@j@@i@@h@ @@@f@@e@@@d@@c@@b3SnSmSmSnSnSnSnSn@Wc@Z@[@@@@࣠@!lAS>@>`S>@>a@SA@@%3SSSSSSSS@@@@@@@డQOOS>@>oS>@>p@O@@@?@@@V@@@@ @@O@@@@@@@3SSSSSSSS@4+F@"@#@@@@ఐ4!lS>@>eS>@>f@@@U@'lbl_posS>@>gS>@>n@@  @@#@@ఐà#lblS>@>qS>@>t@@@(@'lbl_posS>@>uS>@>|@@# @@;W@1@@#@@@@@W@7@S>@>[S>@>}@@@@@@@@~@@}U@U@c@@ఐߠ!rS>@>~S>@>@@@ @@@@/s@@@U@yv@ఐ!rT>>T>>@@@@ภ2 T>>T>>@Aఐ#lblT>>T>>@@@3@ఐ !rT#>>T$>>@@@8@@@@Q@@T*>@>L@@=@T,>>2T->>@@@N@@T@L@@SL@@R@@QR@R@@@ఐǠ$lblsTD>>TE>>@@@yf@@@OR@R@S@@ఐ U*record_argT[>>T\>>@ @@@MʠI@@@@@@@@LߠB @@@@@@@@t@@ఐ#accTz>>T{>>@@@V@@T~>>T>>@@Q@@@@@@A@T>> @@@ఠ!dT>>T>>@TA@@MJ@@@Q@@@@Q@3TTTTTTTT@ @ @ @@@Mǡ(pat_descT>?T>?@ภ&RecordT>?T>?@BYఐ)&fieldsT>?T>?@@@BeBd@@@@@@Q@Q@,@@@@3Q@/@MM@@@Q@@MM@M@@@@M@@@@P@@@@@@@@Q@@MؠNo@@@Q@@M֠Nh@@@ Q@@MԠP@@@Q@ @@ఐh$headU >>U >?@)@@o@U>>U>? @@}r@A@U>>@@ఐ*refine_patU?$?,U?$?6@@@@@@@@@@@@@3U!U U U!U!U!U!U!@@@@@@@ఐ!dU3?$?7U4?$?8@ @@K@"@@ఐv$rowsUB?$?9UC?$?=@\@@K@$!@@-@@"@8@@@@@@@UP?>?FUQ?>?G@@bm@@bm@@@ఐ#accUY?>?KUZ?>?N@ܰ@@ w@@@AU]"U`;<@@@A@@A@@@@6@@?@@>@@=K@9 @@@Um;;@@@@ఠ!qU|?T?ZU}?T?[@UA@@@@@YK@B3UUUUUUUU@#@@@@@U?T?]U?T?^@@MOM'pattern@@@[@@@ZK@C@@@@@@@@F@డ+deconstructU?T?aU?T?l@@@@@B@@B@@@@B@-,@@@B@@@B@@B@@B@Mg  Mg  L@@Mn@@@@-@@@N@@M@@@@J@IH@@@L@@@K@@I@@HY@@ఐ!qU?T?mU?T?n@@@Of@@D@@@r@h@@L@Xo@A@U?T?V @@ఐ!qV?r?zV?r?{@@@@@K@@@3VVVVVVVV@@@@(pat_descV?r?|V?r?@O2@@K@@K@@Ġ#AnyV#@K@OV$@K@R@A@@@@K@@@!@@!@Ġ&RecordV1@K@UV2@K@[@Cؠ@V6@K@\V7@K@]@@CڠC@@@@@@7@@@ @@K@@@;@@;@@! @@K@@@?@@@ఐ1*refine_patVP@K@aVQ@K@k@@@@OK@@@ @@@ @@@Nؠ@@@@@@@@ @@@ @@ @@@@j@@ఐ!qV|@K@lV}@K@m@{@@w@@ఐ#pssV@K@nV@K@q@}@@@@=@@@@V@r@vV@r@w@@L@@@@@L@@@@@@ఐ&!qV@r@{@@@@@@AV?r?t@@@@@"@;@@V@V;;@@3VVVVVVVV@@@@A@G@<@A@@@砰Aఠ)read_argsV@@V@@@VA@@@O:T*@i@@@hG@>@@M@OET7@G@v@@@uG@B@@L@V8 G@@@@G@F@G@G@@K@@J@@I3VVVVVVVV@ZS@T@U@@@࣠@"xsAV@@V@@@WA@@63VVVVVVVV@D@?@@?@:@@C@3@+@@HH@D@@EH@@@@AH@=@R@S@@@@@@!rAW@@W@@@W,A@@P3WWWWWWWW@&2^@)@*@@@@@@@ఐ>"xsW/@@W0@@@@@p3W-W,W,W-W-W-W-W-@"h@@@@@@ఐ(!rW>@@W?@@@ @@t@@@@@@{@@b@@ĠOϰWUAAWVAA @O@@@@@d3WTWSWSWTWTWTWTWT@'@@@@@W^AA W_AA @@G@`@e @@@@@@ @@j@@@@@@k@@@@ภOWyAAWzAA@O@@@O@@@'@@ఐs!rWAAWAA@W@@3@@@@@@@@:@@ĠE-WAAWAA@E,@WAA@@G@rv@ఠ"xsWAA@WA@@W@@@t@@@@@@m@@ĠEMWAA WAA"@ELఠ#argWAA @WA @@@ఠ$restWAA&@WA@@W2@@@x@@@@@@n@@8 @@@*@@@y@@@0@@@z@@@@@ఠ$argsWA*A1WA*A5@X A@@#G@L@3WWWWWWWW@WQ@R@S>2@9@:5/@0@1@@@@ఠ$restX A*A6XA*A:@X A@@DL@@@@@@@ @@@ఐi)read_argsX#A*A=X$A*AF@+@@@h@@@a@@@X@P@@@@@@6@@ఐ"xsX>A*AGX?A*AI@>@@G@E@@ఐz$restXMA*AJXNA*AN@K@@G@T@@0@@@^@J@@M@]@A@X\A*A-@@@ภ6eXfARAXXgARAZ@Eఐ#argXpARAU @n @@3XmXlXlXmXmXmXmXm@v{@|@}mf@g@h@@@ఐ$argsXARA^@ @@@@@@P@@@@@ఐ$restXARA_XARAc@@@ @@#@@@@@@'@> @@ @@@XAdAfXAdAg@@@|v@@@XAdAhXAdAi@@@}~@@ @@@@ @@@@@@@@@@@డX+fatal_errorXAmAqXAmA|@@@@@@@@@@@@@L@@@@@2Parmatch.read_argsXAmA~XAmA@@XAmA}XAmA@@@@@L@L@@@' @@`@@@AX@@ @@@@@@@A@@:@@ @3@@@*@"@@@@@@G@@@@Y@@$@@%@#@ఠ(set_argsYAAYAA@Y'A@@@VxP=@@@G@@@@G@ @@ @XG@@@@G@@@QG@$@@@&G@@@G@ @@G@ 3Y:Y9Y9Y:Y:Y:Y:Y:@G@@@࣠@!qAYKAAYLAA@Y^A@@13YJYIYIYJYJYJYJYJ@X@YSAAYT-GCGf@@@@@  @@!rAY_AAY`AA@YrA@@43Y^Y]Y]Y^Y^Y^Y^Y^@!H@@@@@@@@ఐ)!qYqAAYrAA@@@V3YoYnYnYoYoYoYoYo@H@@@@@ঠ(pat_descYAAYAA@RĠ*Tpat_tupleYAAYAA@( ఠ+lbls_omegasYAAYAA@YA@@0@(!( @@@(@@@'@WP@@@*@@@)@@&@@@%3YYYYYYYY@<@@@@@'@@PӠL@@@@G@L@@@@YAAYAA@@G@G@G@G@ G@G@G@0G@+G@G@G@G@G@L@,@@,@@@@@ఠ$lbls YAAYAA@YA@@Oi(x(w@@@@@@L@@@@L@3YYYYYYYY@pi@j@k@@@@ఠ&omegas Z AAZ AA@ZA@@OWmQ0@@@@@@L@@@@L@@@4@@@4@@@&@డX$List%splitZ1AAZ2AA@ Z5AAZ6AA@@@O@!a@L@!b@L@@QL@@@QK@@QJ@d@@@QH@K@@@QI@@QG@@QF@C==C==@@C@@2-@@@*@z@]@@@@@@@@@@@נ@lk@@@@@@@@@ఐ+lbls_omegasZAAZAB @@@S@@@@@@@M@M@@@j@@@@@@M@@A@ZAA@@@@ఠ$argsZB BZB B@ZA@@ZG@@@@L@3ZZZZZZZZ@@@@@@@@@ఠ$restZB BZB B@ZA@@G@G@YG@G@JG@RG@lG@G@G@G@3G@G@G@(G@G@G@G@(G@L@6@@C)@@@C@,@@=@ఐK)read_args[B B"[B B+@ @@@SXiR,@@@@@@L@ @@@ @@@Sd@@@@@@Zl@@@@@@@@@@l@@ఐ,&omegas[5B B,[6B B2@t@@S0@@@M@ M@@@ఐ!r[JB B3[KB B4@ְ@@@@I@@@@@@"M@@A@[WB B @@ภ9\[] B8B[^ B8B@HఐT(make_pat[i B8B<[j B8BD@Sj@@@RhG@G@G@G@G@G@L@@@@G@G@{G@tG@G@QK@.@@3@U@@@2@@1@U @@@0@@/U0@@@-@@,@@+@@*3[[[[[[[[@@@@@@@@@ภ*Tpat_tuple[ B8BF[ B8BP@*DడZ$$List'combine[ B8BR[ B8BV@ [ B8BW[ B8B^@@;@@@;*V*U@@@X@@@WL@L@yL@`@@@e@@d@'G@a@@@c@@b@@@ @@_@@@^@@]@@\N@@ఐ$lbls[ B8B_[ B8Bc@9@@p5@@@wM@{M@xc@@ఐ[$args\ B8Bd\ B8Bh@l@@H5@@@uM@}M@|x@@\ B8BQ\ B8Bi@@3@S@YG@ G@]G@jG@Z@@@Y@@V@@@UL@~M@r@@\7 B8BE\8 B8Bj@@K@S@@ఐ!q\G B8Bk\H B8Bl@@@,@(pat_type\N B8Bm\O B8Bu@U: @@U@@@GL@L@@@ఐ!q\d B8Bv\e B8Bw@@@I@'pat_env\k B8Bx\l B8B@UN @@U@@@EL@L@@@  @@:G@C@ఐ$rest\ B8B\ B8B@ܰ@@@@@@TJ@@@'@1@@@ @@R@ঠ(pat_desc\ BB\ BB@UĠ+Tpat_record\ BB\ BB@)ఠ&omegas\ BB\ BB@\A@@)@))@@@<@@@;@)@@@=@ZS@@@?@@@>@@:@@@93\\\\\\\\@S@@@ఠ&closed\ BB\ BB@\A@@)@@@@@@@:\ BB@@&G@+@@@\ BB\ BB@@@@@@@@@ఠ$args\ BB\ BB@\A@@\MG@@@@L@3\\\\\\\\@XQ@R@S0)@*@+@@@@ఠ$rest] BB] BB@]A@@0L@@@@@@@@@@ఐ_)read_args] BB] BB@!@@@U@*1*/@@@@@@@*,@@@@ZTR@@@@@@@@L@@@@@@@UR@@@@@@\Z@@@@@@@@@@Z@@ఐ&omegas][ BB]\ BB@c@@UؠB@@@M@M@o@@ఐ!r]p BB]q BB@@@D|@@[@@@@t@@M@@A@]} BB @@@ఠ$args] BB] BB@]A@@S@**@@@@@@L@@*@@@L@@L@@@ L@@@@L@3]]]]]]]]@@@@@@@@డ\$$List$map2] BB] BB@ ] BB] BB@@@@!a@N@@P"@!b@N@@P!!c@N @@P @@P@@P@S\@@@P@@P@Se@@@P@@Pc@@@P@@P@@P@@P@GG@@G`@;6@@@@@pL@@hL@@[hU+@@@@@@L@@@L@@@@qL@@@@@@@@@@=!@@@@@@<@@@@@@@@@@@@@@3^+^*^*^+^+^+^+^+@@@@@࣠@[A@ఠ#lid^D BC^E BC@^WA@@@@@ఠ#lbl^P BC ^Q BC @^cA@@I@@@^X BC^Y BC@@L@@^[ BC^\ BC@@@Y@X@W@@@@  @@#argA^o BC^p BC@^A@@X3^n^m^m^n^n^n^n^n@6o@0@1+m@%@&@@@@  @@@ఐA#lid^ BC^ BC@@@3^^^^^^^^@"p@@@@@@ఐD#lbl^ BC^ BC"@@@@@ఐ4#arg^ BC$^ BC'@@@@@^ BC^ BC(@@@@@@@ &@^ BB^ BC)@@@@@@@@+@@@@M@M@@@ఐ!&omegas^ BC*^ BC0@ϰ@@@@@M@ M@@@ఐ$args^ BC1^ BC5@.@@@@@M@"M@!@@) @@Z;@A@^ BB @@ภ<^C9Cx^C9Cz@L{ఐX(make_pat^C9C=^C9CE@V@@@G@SK@.@@3@X@@@2@@1@X@@@0@@/X|@@@-@@,@@+@@*3________@l@@@@@@ภ+Tpat_record_$C9CG_%C9CR@,@ఐ$args_.C9CT_/C9CX@@@,E@,D,B@@@Z@@@Y@,?@@@[@\@@@\@@X@@@WL@dL@_7@ఐ&closed_WC9CZ_XC9C`@^@@,G@@@^L@}L@|I@@_bC9CF_cC9Cb@@bK@UN@@ఐ*!q_rC9Cc_sC9Cd@@@W]@(pat_type_yC9Ce_zC9Cm@Xe @@X@@@GL@L@k@@ఐG!q_C9Cn_C9Co@,@@tz@'pat_env_C9Cp_C9Cw@Xy @@Y @@@EL@L@@@ @@G@C@ఐ$rest_C9C{_C9C@@@@@@@X%G@$@@@'@ @@ @: @@@ঠ(pat_desc_CC_CC@XĠ.Tpat_construct_CC_CC@2iఠ#lid_CC_CC@_A@@2j2h@@@T@@@S3________@k@@@ఠ!c_CC_CC@_A@@2n@@@U@ఠ&omegas_CC_CC@`A@@7]TW@@@X@@@W@@@V%@@`CC`CC@@2w@2v2u2s@@@]@@@\@@@[@2p@@@^@@Z@@@YB@@@W`"CC@@qG@AF@@@`&CC`'CC@@ I@@ I@@@@@ఠ$args`6CC`7CC@`IA@@_!G@@@@L@3`=`<`<`=`=`=`=`=@vo@p@qd]@^@_WP@Q@R@@@@ఠ$rest`QCC`RCC@`dA@@uL@@@!@@@!@@@@ఐ )read_args`fCC`gCC@ n@@@X]ʠW@@@@@@L@@@@@@@XB@@@@@@_J@@@@@@@@@@J@@ఐ&omegas`CC`CC@P@@Y0@@@M@M@_@@ఐO!r`CC`CC@7@@l@@I@@@{@b@@M@u@A@`CC @@ภ>`DD2`DD4@NJఐZ](make_pat`CC`CC@X˰@@@YG@K@@@@ZW@@@@@@ZP@@@@@ZK@@@@@@@@@3````````@@@@@@@@@ภ.Tpat_construct`CC`CD@3ఐ+#lid`CDaCD@@@33@@@L@L@@@@&@ఐ.!caCDaCD @а@@3@@@L@L@8@ఐ$argsa'CD a(CD@?@@8^@@@@@L@ L@N@ภ$Nonea<CDa=CD@)@@@3@333@@@@@@@@@@3@@@@@@@@L@r@@aZCCa[CD@@K@w@@ఐ"!qajDDakDD@@@O@(pat_typeaqDD arDD(@Z] @@Z@@@L@-L@*@@ఐ?!qaDD)aDD*@$@@l@'pat_envaDD+@Zp @@[@@@L@2L@/@@@@zG@@ఐQ$restaD5D9aD5D=@@@P@@@@ZG@@@@@ @@vk@ঠ(pat_descaD>DAaD>DI@ZĠ,Tpat_variantaD>DLaD>DX@2|ఠ!laD>DZaD>D[@aA@@2}@@@k3aaaaaaaa@]@@@ఠ%omegaaD>D]aD>Db@aA@@9_8X@@@n@@@m@@@l@ఠ#rowaD>DdaD>Dg@bA@@22@@@p@@@o)@@@:aD>Dh@@JG@_-@@@aD>D@bD>Di@@0@@0@@@@@ఠ#argbDmDubDmDx@b"A@@*L@@@@L@53bbbbbbbb@YR@S@TKD@E@F6/@0@1@@@@ఠ$restb*DmDzb+DmD~@b=A@@HL@6@@!@@@!@@@9@@ఐj%omegabCDDbDDD@%@@:_Yd@@@@@@@?@@@>3bLbKbKbLbLbLbLbL@6@@@@ఐ!rb[DDb\DD@@@ / @@@@@@ 6@@A@@Ġ$SomebsDDbtDD@*@bxDDbyDD@@_ҠY@@@S@@@R3b|b{b{b|b|b|b|b|@f@@@@@ @@:A_ޠY@@@V@@@U@@@T @@ĠP"bDDbDD@P!ఠ!abDD @bA @@ G@X"@ఠ!rbDD@bA@@b @@@Z0@@@@@@G3@@B @@@6@ @@[:@@@:}`Y@@@_@@@^@@@]@@@\K@@@@ภ$SomebDDbDD@+ ఐB!abDDbDD@B@C@D@@C3bbbbbbbb@MA;@<@=@@@@@@+l@@@ @@ఐL!rbDDbDD@@@@@$@@@렠@@@@@Ġ$NonecDDcDD@+@@@@:Ϡ`lZ/@@@r@@@q@@@p@@ఠ!rc$DDc%DD@c7A@@F@e@@@@@@ @@s@@@:`ZS@@@w@@@v@@@u@@@t@@@@ภ$NonecLDDcMDD@+@@@+Ҡ 4L@@@@3cPcOcOcPcPcPcPcP@;70@1@2@@@@ఐ=!rcaDDcbDD@ @@<@@@@k@@ckDDclDD@@@;/`̠Z@@@@@@~@@@}@ O@@|-@@@;@`ݠZ@@@@@@@@@@ `@@>@@@ ภR cDDcDD@R @@@X@@@K@cDD@@M@@@AcDD @@@@x@@f@A@cDmDq@@ภAcEE=cEE?@Q9ఐ]L(make_patcDDcDE@[@@@ZDN@@@@G@G@G@K@v@@{@]R@@@z@@y@]K@@@x@@w]F!@@@u@@t@@s@@r3cccccccc@@@@@@@@@ภ,Tpat_variantcEE cEE@4ఐ0!lcEEcEE@ݰ@@4@@@L@L@"@ఐ#argd EEd EE!@)@@;Ѡan@@@@@@L@L@9@ఐ4#rowd#EE#d$EE&@@@4Ǡ4@@@@@@L@L@O@@d2EE d3EE(@@tK@T@@ఐ !qdBEE)dCEE*@ ߰@@ 'c@(pat_typedIEE+dJEE3@]5 @@]@@@L@L@q@@ఐ !qd_EE4d`EE5@ @@ D@'pat_envdfEE6@]H @@]@@@L@L@@@@@ RG@@ఐP$restdzE@EDd{E@EH@@@O@@@@\ cG@h@@@k@ @@ Nj@ঠ(pat_descdEIELdEIET@]Ġ)Tpat_lazydEIEWdEIE`@2]ఠ&_omega dEIEadEIEg@dA@@a[@@@z@@@y3dddddddd@ 9@@@@@ @@ G@q@@@dEIEKdEIEh@@ @@ @@@ఐ a!rd ElE|d ElE}@ I@@ 3dddddddd@ M$@@@@@ĠRYd!EEd!EE@RXఠ#argd!EE @dA @@ G@@ఠ$restd!EE@dA@@d@@@@(@@@@@ )@@ )@@@ภBd"EEd"EE@Rzఐ^(make_patd"EEd"EE@\@@@=G@M@@@@^@@@@@@^@@@@@^{@@@@@@@@@3eeeeeeee@YIC@D@E>8@9@:@@@@ภ)Tpat_lazye%"EEe&"EE@2ఐZ#arge/"EEe0"EE@@@Z@@e3"EEe4"EE@@4M@ @@ఐ !qeC"EEeD"EE@ @@ (/@(pat_typeeJ"EEeK"EE@^6 @@^@@@N@ N@ =@@ఐ !qe`"EEea"EE@ @@ EL@'pat_enveg"EEz@^I {@@^@@@N@N@Y@@w@@ SG@\@ఐ$reste{"EE@a@@dݠ fG@@@@M@M@p@@ @@ Qq@@e#EEe#EE@@ a@@ a@@@డe+fatal_errore#EEe#EE@ΰ@@@@@@@@ lN@@@@@;Parmatch.do_set_args (lazy)e#EEe#EF@@e#EEe#EF@@@@@N@!N@ @@! @@ @@@Ae ElEpe$FF@@ 3eeeeeeee@@@@ঠ(pat_desce%FFe%FF@^Ġ*Tpat_arraye%FFe%FF'@1 ఠ"am e%FF)e%FF+@eA@@1 @@@ n@ఠ&omegas e%FF-e%FF3@eA@@1cH] @@@@@@@@@ @@@'e%FF4@@ HG@{ @@@e%FFe%FF5@@  @@  @@@@@ఠ$args f &F9FAf&F9FE@f A@@eo G@6@@@IL@,3ffffffff@ E>@?@@81@2@3@@@@ఠ$rest!f&&F9FFf'&F9FJ@f9A@@ )FF@@@@@@@_&G@U@@@X@ @@/@ঠ(pat_descgT*FFgU*FF@`xĠ-Tpat_constantg^*FFg_*FF@6@gc*FFgd*FF@@6@@@ @@@ @@ G@ @Ġ(Tpat_anygq*FFgr*FF@>%@@@@ @@@@ @@@gv*FFgw*FF@@Z@@Z@@@ภE|g}+FFg~+FF@U ఐ?!qg+FF @# @@k@ఐ5!rg+FF@@@d@@ @@] @ঠ(pat_descg,GG g,GG@`Ġ(Tpat_varg,GGg,GG@^@g,GGg,GG@@^@@@B@@@^^@@@@@@K@@@^@@@P@@@@@G@S@Ġ*Tpat_aliasg,GG"g,GG,@=Ԡ@g,GG-g,GG.@@e,^@@@@@@g@@ @=@@@l@@@=Π=@@@@@@u@@@=@@@z@@@=@@@@@@'!@@/@@I"@@0@Ġ'Tpat_org,GG1g,GG8@<@h,GG9h,GG:@@eZG@G@@@@@@ @ed @@@@@@<<@@@@@@@@@@@U@@h,GGh,GG;@@X@@Ah,GGh,GG?@@@@@@@డh,+fatal_errorh)-GCGGh*-GCGR@^@@@^@@@@@L@@@@@1Parmatch.set_argsh=-GCGTh>-GCGe@@h@-GCGS@@s@@@L@L@@@ @@@@@AhJAA@@3hFhEhEhFhFhFhFhF@@@@A@5G@M@A@@@@ఠ1simplify_head_pat"h[DIPITh\DIPIe@hnA@@*add_column@@@@@j@@@@l@@@k@@iG@L@@M@@@P@@Q@@@cG@T@@UG@VA@WG@RA@SG@NA@OG@O@@P@`'pattern@@@G@U@@V@&G@[@@\@$G@a@@b#@@dG@]@@^G@W@@XG@Q@@RG@N3hhhhhhhh@@@@@@࣠VV$AZhDIPIghDIPIq@hA@@\3hhhhhhhh@mhDIPIPhJJJ@@@@@hDIPIf @@!p%AhDIPIrhDIPIs@hA@@=3hhhhhhhh@!t@@@@@@@@"ps&AhDIPIthDIPIv@hA@@@3hhhhhhhh@Q@@@@@@@@!k'AhDIPIwhDIPIx@i A@@I3hhhhhhhh@T@@@@@@@@Aఠ1simplify_head_pat(i EI{Ii EI{I@iA@@@v@@@L@h@@y@L@l@@x@L@p@@wL@r@@v@@u@@t3iiiiiiii@*6u@-@.@@@࣠@!p)Ai1EI{Ii2EI{I@iDA@@$3i0i/i/i0i0i0i0i0@2@-@@i@*@@m@*@@q(@@sM@n@@oM@j@@kM@g@>@?@@@@@@"ps*AiTEI{IiUEI{I@igA@@>3iSiRiRiSiSiSiSiS@$0J@'@(@@@@@@!k+AieEI{IifEI{I@ixA@@I3idicicididididid@R@@@@@@@@ Рau'General(PatternsiFIIiFII@ iFIIiFII@@@3iiiiiiii@#/n@&@'@@@@A3iiiiiiii@@@@i`3iiiiiiii@@@డ*strip_varsiFIIiFII@@_'General'pattern@@@x@@w_+Half_simple'pattern@@@v@@u@aM 1 3aM 1 b@@aX@@@@@@@@@@@@@@3iiiiiiii@0@@@@డN$viewiFIIiFII@@5@@@>@@=4@@@<@@;@aJ  aJ  @@aV@@@@D@@@@@C@@@@@)@@ఐà!piFIIiFII@@@6@@*@@X@@@@ T@>@@2b@@U@@@B@jFII@@3iiiiiiii@w@@@(pat_descjFIIjFII@c+@@d$view@@P@@"Or@ఠ"p13j$GIIj%GII@j7A@@b1'pattern@@@N3j(j'j'j(j(j(j(j(@@@@@ఠ"p24j6GIIj7GII@jIA@@bC'pattern@@@O@@@jCGIIjDGII@@XTd(row_desc@@@Q@@@P"@@jPGIIjQGII@@@.@@@@R-@Р%Tupleb"@XX@@@@@@b'pattern@ @@@@ @#Any@%Array@\,mutable_flag@ @@bUb'pattern@,@@.@@@'Variant@]%label@=@Ġ@Yb'pattern@I@@K@Š@T#refT(row_desc@X@@Z@@@à&Record@b@]7#loc)Longident!t@y@@{@̠@_c1label_description@@Π@c'pattern@@@@@@ʠ@][+closed_flag@@@@ɠ$Lazyc'pattern@@Ѡ"Or@@@Ӡ@@@Ԡ@@@@@@@Ҡ)Construct@]#loc\!t@@@@ؠ@_7constructor_description@@ڠ@cc^'pattern@@@@@@נ(Constant](constant@@@@@A@]@klGII@@a@@CB@@c@@@SE@@@ఐr1simplify_head_patk{GIIk|GIJ@F@@@q@@@l@@ @j@@ h@@ @@ @@ 3kkkkkkkk@mf@g@h\U@V@W@@@@ఐu"p1kGIJ kGIJ @@@t@@@%@@ఐX"pskGIJ kGIJ@@@@"@@ఐ1simplify_head_patkGIJkGIJ!@@@@@@3@@@2@@@1@@0@@/@@.=@@ఐ"p2kGIJ"kGIJ$@E@@@@@CM@@ఐ"pskGIJ%kGIJ'@x@@Z@@ఐ!kkGIJ(kGIJ)@c@@g@@kGIJkGIJ*@@j@@z@@k@@k@@@@@@@@@@@@@@@@@Q@Y@Р@@@@@@㠠@@ @@@@ @ᠠ@@@@砠@@#@@%@@@栠@@1@렠@@:@@<@젠@@E@@G@@@ꠠ@@@]@@_@@@e@@@k@@@@m@@@s@@@@{@@@@@z@@@ut@@@@@@@@@@@@@@@@@@@@@@@@@@A@@lHJ+J1lHJ+JFA@@@{Q@y@z@ @@z@l@@{@@@@xw@@@@@@@@Q@^@#@ @u@l@@v@@@@sr@@@@@@@nl@@@@@@@@Q@b2@D@A2@j@m @@k@jh@@@@@@@a@@@@^@@@@@@@@@Z@@@@@Q@h\@Gn@k\@Y@m4@Z@@@Q@pg@Ry@vg@;@m?@@<:@@@@@@@5@@@@21@@@@@@@@Q@q@s@@-@m^@.@@@Q@w@|@@Р9@ؐnH|AS&@@@XA@$view@@@&@@'@@(@@)@@*@@+@e&Simple$view(PatternsmHJ+J2mHJ+J:@ mHJ+J;mHJ+JA@@mHJ+JB@ @@@@$view5mHJ+JJmHJ+JN@mAP@@@@2@@@@@@@@@@@ఐ7*add_columnmIJRJYmIJRJc@@@3mmmmmmmm@m@@@@@@డe$Head+deconstruct(PatternsnIJRJenIJRJm@ nIJRJnnIJRJr@@nIJRJsnIJRJ~@ @p @@@@@@_@@^@l@@@[@@@@]@@@\@@Z@@Y;@@g[(pat_descn>IJRJn?IJRJ@ఐh$viewnGIJRJnHIJRJ@P@@@@@R@X@gggh@@@$R@!@gbgc@gb@@@4@g`@@@5@j@@@6@@3@@@2R@+@gZg@@@@R@=@gXg@@@JR@G@gVj(@@@TR@Q@@ఐ^!pnIJRJnIJRJ@4@@~@nIJRJnIJRJ@@@@@nR@[@@nIJRJdnIJRJ@@+@@ఐS"psnIJRJnIJRJ@;@@@@ఐO!knIJRJnIJRJ@&@@@@@@@@@AnFII@@3nnnnnnnn@,@@@A@@@@v@@@u@@@t@@s@@r@@qL@k@@@nEI{I}@@ఐɠ1simplify_head_patnJJJnJJJ@@@@<@@@~@@}@@@|@@@{@@z@@y@@x3nnnnnnnn@@@@@ఐ!pnJJJnJJJ@@@W@@ఐ"psnJJJnJJJ@@@V@@ఐ!ko JJJB@C@@Z'@@:D@@(@EE@@@DFA@G@M@A@J@JI@_Aఠ2simplify_first_col6oLJJoLJJ@o/A@@@gg@@@G@@@@G@@@@G@@@n@@@@@&@@@@(@@@'@@%J@/@n)G@@@@OJ@0@@B@@@DG@@@3oUoToToUoUoUoUoU@@@@@@@ĠgogMJJohMJJ@g@@@@F3oeododoeoeoeoeoe@T@O@@>@@H@@T@U@@@@@ภgoxMJJoyMJJ@g@@@F@Ġ]oNJJoNJJ@]ĠhoNJJoNJJ@h@@@@dG@$@@oNJJoNJJ@@n @@@-@@@@@t.@@@ ภ^oNJKoNJK @^@@@e@@@;@oNJK@@r=@Ġ];oOK,K8oOK,K:@]:Ġ]CoOK,K2oOK,K4@]Bఠ!p7oOK,K1 @oA @@k3oooooooo@X@@@ఠ"ps8oOK,K6@oA@@o)y@@@@@@oOK,K0oOK,K7@@G@@ఠ$rows9oOK,K;oOK,K?@oA@@o=@@@#@@@@@$@@@@ఠ*add_column:oPKCKMoPKCKW@pA@@@@@J@@@@@@J@@@@ol@@@@J@@@@J@@@h@@@J@@@J@@@J@@@J@3pppppppp@k@f@ga[@\@]OH@I@J@@@࣠@!p3p3p2p2p3p3p3p3p3@Mp<PKCKIp=PKCKm@@@@@  @@"ps=ApHPKCKZpIPKCK\@p[ A@@H3pGpFpFpGpGpGpGpG@!U@@@@@@@@!k>ApYPKCK]pZPKCK^@pl A@@O3pXpWpWpXpXpXpXpX@\@@@@@@@@ภNfpgPKCKiphPKCKk@]@ఐD!ppuPKCKbpvPKCKc@)@@~3psprprpspspspsps@(m@@ @@@@ఐ?"pspPKCKepPKCKg@'@@@@pPKCKapPKCKh@@wJ@@ఐ>!kpPKCKlX@Y@@@@Z@@i @@@#@h_A@J@f@A@c@ఐL1simplify_head_patpQKqKwpQKqK@M@@I@@@@@@-,@@@@@@@@@@@tI@@@@I@@@A@A@A@@@@7@@@@@@@@@@@@@@@@@@@3pppppppp@@@@@@ఐ*add_columnpQKqKpQKqK@ @@@@@=@@@<@pW@Ġ@@@9@@@;@@:i{ @@@8@@7@@6@@5*@@ఐT!pqQKqKqQKqK@@@7@@ఐV"psq QKqKq!QKqK@@@D@@ఐ2simplify_first_colq/QKqKq0QKqK@Ű@@@@@R@@QW@@ఐc$rowsq@QKqKqAQKqK@@@G@Xf@@qFQKqKqGQKqK@@i@@@@~j@@@(@@AZ?qLLJJ@@@@@@0@@@@G@@@@qULJJ@@@@ఠ;build_specialized_submatrix@qb]MMqc]MM:@qu A@@*extend_row@%i@@@@@@G@p@@q@@@t@@un@jG@vA@wG@rA@sG@@@@jg@@@@@@G@ @@!@j@@kg@@@@@@@AK@<@@젠@8K@9@@@@@G@&@@'j4:@@@G@(@@)G@"@@#G@@@G@@࣠\\BA`q]MM<q]MMF@q A@@b3qqqqqqqq@gsq]MMqdN7NG@@@@@q]MM; @@%discrCAq]MMGq]MML@qA@@U3qqqqqqqq@!z@@@@@@@@#pssDAq]MMMq]MMP@rA@@W3qqqqqqqq@i@@@@@@@@Aఠ*filter_recEr^MSM]r^MSMg@rA@@@j@@kg@@@@@@K@;@t@@=K@8@r@@:K@6@@@5K@-@@2j@@@mK@/@@13r-r,r,r-r-r-r-r-@=I@@@A@@@@Ġ_̰r?_MsMr@_MsM@_ˠ@@ఠ$headFrP_MsM{rQ_MsM@rcA@@63rOrNrNrOrOrOrOrO@#U@P@@.1@@0L@,@U@V@@@@ఠ$argsGre_MsMrf_MsM@rxA@@@@rj_MsMzrk_MsM@@@R@@@>@@ఠ"psHrz_MsMr{_MsM@rA@@*@@r_MsMyr_MsM@@@@@@?3@ఠ#pssIr_MsMr_MsM@rA@@q@@@@B@@@@@C@@@ఐ/,simple_matchr`MMr`MM@*|@@@lh@@@O@@@N@@M@lh%@@@L@@@K@@J5@@@I@@H@@G3rrrrrrrr@nw@q@rc@]@^O @I@J<5@6@7@@@@ఐ%discrr`MMr`MM@۰@@D@@ఐ$headr`MMr`MM@@@#@@@@@N\@@@hN@])@ภPraMMraMM@`xఐ.*extend_rowraMMraMM@@@=@@ఐ'h1simple_match_argssaMMsaMM@"?@@@lvh@@@@@@@@@lh@@@@@@@@@'Wk0@@@}@@@|@@~@@{@@z@@ym@@ఐW%discrs5aMMs6aMM@?@@z@@ఐ$headsBaMMsCaMM@@@'@@ఐꠐ$argssOaMMsPaMM@@@@@sSaMMsTaMM@@@@ఐ堐"pss_aMMs`aMM@@@@@k@@@ఐh*filter_recsmaMMsnaMN@@@@g@@H@@@@ఐ#psss~aMNsaMN @@@tK@@@@@X@@@@W@ఐ*filter_recsbN NsbN N!@;@@@@@j@@@@ఐ#psssbN N"sbN N%@ܰ@@K@@@@@z@s`MM@@|@@scN&N,scN&N-@@Z@@@ภl-scN&N1scN&N3@l,@@@b@@A\zJs^MSMj@@@@@@@@@@K@3ssssssss@l@@@@@s^MSMU@@ఐǠ*filter_recsdN7N9sdN7NC@x@@@lI@@mFiO@@@@@@ܠ@2@@۠@0@@@@@@@l`f@@@@@@@ఐ #psssdN7ND$@Ű%@@[@@/&@@=@:'@@>@&(A@G@/@A@,@,+@>A+4specialized_matricesKGt iNNt iNN@А&matrix@3tt t ttttt@@@;@@@A@A@G@B@@@tiNNt lOCOD@@@@t2A@@t#iNNt$iNN@@r@;@A'defaultL@@H@t/jOOt0jOO@@tBA'constrsM@@s@l=$Head!t@@@@:H@@@@@@tLkOOtMkOOB@@t_A@@A@Y@@@@@3@@@0@#**'tVjOO @&@@Ш@А&matrix0It]jOO t^jOO@@5@@N@3@#//tekOO@@@Ш@г2$listtnkOO=tokOOA@В@г7(PatternstkOO"tkOO*@?tkOO+tkOO/@@CtkOO0tkOO1@ @@Mx @@@А&matrixI~tkOO4tkOO;@@@Z@@@_tkOO!(@@c@@@N@@A@{@@{z@3tttttttt@@@@ఠ=build_specialized_submatricesNtS?SCtS?S`@tA@@*extend_row@(l@@@u@@@tH@M@@N@r,@iH@Q@@RH@SA@TH@OA@PH@@@@@@@H@ @@!@mW@@H@͠@7L@-@@Ԡ@,L@*@@@@@H@&@@'Uw9H@@@@K@@@@H@(@@)H@"@@#H@@@H@3tttttttt@@@@࣠[[PA_uS?SbuS?Sl@u"A@@a3uu u uuuuu@ruS?S?u\\@@@@@uS?Sa @@%discrQAu$S?Smu%S?Sr@u7A@@T3u#u"u"u#u#u#u#u#@!y@@@@@@@@$rowsRAu5S?Ssu6S?Sw@uHA@@Z3u4u3u3u4u4u4u4u4@h@@@@@@@@@ఠ,extend_groupSuHSzSuISzS@u[A@@@nj@@@|@@@{L@-@@.@nˠj@@@y@@@xL@3@@4@L@9@@:@L@?@@@@tޠH@=H@@@@L@E@@F@=L@@n @@@L@@@L@G@@HL@A@@BL@;@@UU+w?UU/@wQ%A@@b3w=w<w<w=w=w=w=w=@*6r@-@.@@@@@@!r^AwOUU0wPUU1@wb&A@@m3wNwMwMwNwNwNwNwN@v@@@@@@@@Ġoٰw_U=UCw`U=UE@o@@@@v3w]w\w\w]w]w]w]w]@@@@@@@@ภ(wjUUwkUUAdఐ.,extend_group wvUU@n@@@pl@@@@@@@@@pl@@@@@@@@@"@@@@@@v@@@@@@&@p"@@@@@@@@@@@@@@@F@@ఐ$headwUUwUU@p@@S@@ఐ$headwUUwUU@}@@`@@ఐ$argswUUwUU@y@@m@@ఐ!rwUUwUU@w@@z@@ภp^wUUwUU@p]@@@wEg@@@R@.@@ @@@ภ(Apk@A@wS L@@@@Q@3@@wUU@@@ĠexUVxUV@e@ఠ"q0_xUVxUV@x('A@@FL@3xxxxxxxx@@@@@ఠ"rs`x$UVx%UV @x7(A@@0L@@@x+UVx,UV @@@@ @@@"bdax7UV2@xI)A@$@@@:@@%@ఠ#envb@xGUV@xY*AC@@w\L@@@@4@@@% @@d5@@@ఐ5,simple_matchx[VV#x\VV/@05@@@qʠm@@@=@@@<@@;@qՠm@@@:@@@9@@8:@@@7@@6@@53xrxqxqxrxrxrxrxr@kd@e@f]V@W@XKF@I@G<6@7@8@@@@ఐu"q0xVV0xVV2@@@t@@ఐ$headxVV3xVV7@U@@#@@@@@T@@@VR@K)@ภVxV8VbxV8Vd@f1ఐi,extend_groupxV8VCxV8VO@@@@r n)@@@e@@@d@@n@r+n4@@@m@@@l@@k@^@@j@Z@@i@x2T@@@h@@g@&@qV^@@@f@@c@@b@@a@@`@@_@@^m@@ఐ٠"q0xV8VPxV8VR@t@@z@@ఐ預$headxV8VSxV8VW@@@+@@ఐ͠$argsyV8VXy V8V\@@@+@@ఐɠ!ryV8V]yV8V^@@@2@@ఐ"rsy"V8V_y#V8Va@@@@@u@@5L@@ఐ預#envy0V8Vey1V8Vh@@@xIL@X@@@\Q@Q@@@ @@q@@@[@ภWGyHViVwyIViVy@fԠఐ"bdyRViVtySViVv@ְ@@dL@@ఐ-insert_constryaViVzybViV@H@@@@@@@@@@@@@@u@@@@@@@@@@ఐl$heady~ViVyViV@<@@ @@ఐP$argsyViVyViV@8@@@@ఐL!ryViVyViV@6@@$@@ఐ^#envyViVyViV@(@@L@3@@J@@4@@Z@@pQ@7@yVV  @@9@@AbtcyUU4 @@@A@@@@m@@@l@@@k@@@j@@i@@h@@g@@fL@^@@@yUU"@@@ఠ,insert_omegadyVVyVV@y+A@@@L@o@@p@a@sYob@@@@@@N@@yXz@@@N@@@N@@@@L@u@@va@@r@@@@@N@@@@L@w@@xL@q@@rL@n3zz z zzzzz@@@@࣠@!rfAzVVz VV@z2,A@@G3zzzzzzzz@ Vz'VVz(VW9@@@@@  @@#envgAz3VVz4VV@zF-A@@S3z2z1z1z2z2z2z2z2@!^@@@@@@@@డx$List#mapzIVVzJVV@ zMVVzNVV@@a@@@@p@@S@@@@@bw@@@@@a^@@@~@@}@@|3z`z_z_z`z`z`z`z`@/;@2@3@@@@࣠@wjA@ఠ"q0hz{VVz|VW@z.A@@3zzzyzyzzzzzzzzzz@@@@@ఠ"rsizVWzVW@z/A@@ @@zVVzVW@@@@@@@@ @@ఐX,extend_groupzVW zVW@@@@tp@@@@@@@@@tp#@@@@@@@@@M@@@I@@@z!C@@@@@@&@sEM@@@@@@@@@@@@@@@3zzzzzzzz@p_@Y@ZS@M@N@@@@ఐg"q0zVWzVW@@@@@డr$Head%omega(PatternszVWzVW!@ zVW"zVW&@@{VW'{VW,@ @*J@@@B@rl  rl  @@rp@ @@*R@@@<@@ภs{VW-{VW/@s@@@bH@I@@ఐ !r{&VW0{'VW1@@@MV@@ఐ"rs{3VW2{4VW4@^@@<c@@@@/d@{8VV{9VW5@@@Y@@<@@O@O@@@ఐ#env{LVW6%@&@@j@@'@@L@1(A@zL@/@A@,@Aఠ+form_groupsk{\W@WJ{]W@WU@{o0A@@@sܠ@tՠp@@@@@@@s@@@@@@@@L@@@@zݠL@^@@@bL@@@@t@@0L@,@@@.L@)@@@+L@%@@@$L@@@@BL@@*L@@@@@@@@@3{{{{{{{{@@@@@@࣠@-constr_groupslA{W@WV{W@Wc@{1A@@X3{{{{{{{{@f@a@@@L@@@G@@@1@0@@M@@@M@@@M@@@M@@z@{@@@@"!@@+omega_tailsmA{W@Wd{W@Wo@{2A@@h3{{{{{{{{@,8@/@0@@@@@@Ġtm{W{W{W{W@tl@@@@l3{{{{{{{{@z@@@@@@@@ఐO-constr_groups|W{W|W{W@@@@@ఐ0+omega_tails|W{W|W{W@@@@@|W{W|W{W@@@t@s@@7&@Ġi|#WW|$WW@i@@ఠ$headn|4WW|5WW@|G3A@@3|3|2|2|3|3|3|3|3@B@@@@ఠ$argso|AWW|BWW@|T4A@@V @@|FWW|GWW@@@@_@@/@@ఠ$tailp|VWW|WWW@|i5A@@g"@@|[WW|\WW@@@@p@@0+@ఠ$restq|jWW|kWW@|}6A@@{ʠL@'@@@1;@@@ @@<@@@ఐK$head|WW|WW@@K@L@@3|~|}|}|~|~|~|~|~@XK@E@F7@1@2$@@@@@(pat_desc|WW|WW@u@@(L@L@AL@?@Ġ(Patterns|WW|WW@$Head|WW|WX@@#Any|WX|WX@@g@@@@#2@@#2@@@ఐb+form_groups|XX|XX@@@@a@@K@J@@J@C@@I@+@*@@H@@G@@F@@EP@@ఐ(-constr_groups|XX|XX@@@|]@@ภZ|XY|XY@jtఐ$tail|XY|XY@k@@r@ఐ+omega_tails|XY |XY@@@}@@}XY}XY@@L@a@@ఐ$rest}XY}XY@@@L@d@@W@@@s@r@@C@@}!YY%}"YY&@@@@@@@ఐР+form_groups},Y*Y6}-Y*YA@p@@@@@m@@@l@@@k@@@@j@@i@@h@@g@@ఐ-insert_constr}MYBYQ}NYBY^@4@@@vr@@@@@@@@@@@@}@@@uݠ@@u@@@@@@@@@@|Ѡ@@@@@@@@@@@@@ఐO$head}YBY_}YBYc@@@@@ఐO$args}YBYd}YBYh@ @@@@ఐG$tail}YBYi}YBYm@@@@@ఐ-constr_groups}YBYn}YBY{@ð@@I*@@}YBYP}YBY|@@LL@/@@ఐܠ+omega_tails}YBY}}YBY@ư@@@<@@ఐ_$rest}YBY}YBY@A@@BL@K@@@@L@@@A}WW@@N@@Afr}W@Wr @@@ A@@w@@m@`@@l@Y@@k@A@@@@j@@i@@h@@gL@`-@@@}W@WB!@@@@ఠ-constr_groupss}YY}YY@~ 7A@@vu@ @v~@@@@@@@@L@o3~~~~~~~~@Q@@@@ఠ+omega_tailst~YY~YY@~)8A@@}x@@@L@p@@( @@@(@ @@s@@ఠ4initial_constr_groupu~1YY~2YY@~D9A@@v@ ZH@H@yM@@v{@@@@M@@@M@@@@M@tC@ РvS$Head(Patterns~`YY~aYY@ ~dYY~eYY@@@3~d~c~c~d~d~d~d~d@@@@@A3~e~d~d~e~e~e~e~e@@@~mYY @@ @3~j~i~i~j~j~j~j~j@@@ఐ Z%discr~{YZ~|YZ@ B@@ 3~y~x~x~y~y~y~y~y@@@@(pat_desc~YZ~YZ@w @@t@@@H@H@H@H@H@zH@x@Ġ&Record~ZZ~ZZ$@lL@~ZZ%~ZZ&@@lNlM@@@~@@@}5@@@ @@.6@@.6@Ġ%Tuple~ZZ)~ZZ.@m@~ZZ/~ZZ0@@mmm@@@@@@@@@P@@@ @@IQ@@IQ@@+@@JR@Ġ$Lazy~ZZ3~ZZ7@h@@@@U]@@U]@@7@@V^@@@ภ0~[e[n~[e[wAlm@ఐ Π%discr~[e[s@ @@ s@@ภwr~[e[t~[e[v@wq@@@M@@@@@M@@ภ0 $Aw}@%A@~e@@@P@@@[e[m-@@@@[x[[x[@@@@@@@ภw[x[[x[@w@@@@@@A YY@@@"YY@@@A@$YY@@ఐҠ+form_groups.[[/[[@r@@@w@xt@@@@@@@w @@@@@@@@@@@~@@@@@@w̠@@%@ t@@@ r@@@@@@@@5@@@@@@@@@3gffggggg@A:@;@<@@@@ఐH4initial_constr_groupy[[z[[@ @@M@M@@@ภx[[[[@x@@@qM@!@@ఐ e$rows[[[[@ @@ .@@m@@@@@@M@7@ @@ @A@YY@@@ఠ'defaultv\(\.\(\5@:A@@`0 @@@L@3@@@@@@@@డ~1$List#rev\(\8\(\<@ \(\=\(\@@@^ʰ@@@^ʠ @@@@@`V @@@@@&@@ఐԠ+omega_tails\(\A\(\L@.@@^ @@@M@M@;@@* @@@<@A@\(\* @@@ఠ'constrsw\P\V\P\]@;A@@g@ =H@L@7@` @@@\@@[@@@ZL@3@`oh@i@j@@@డ~$List#map+\\,\\@ /\\0\\@@g@@@@@2N@/@_8 @@@HN@0@@1N@@@@A@`Π @@@FN@8@@9N@@@@@@h$@@@@@g@@@@@@@3_^^_____@K@@@@࣠@}zA@ఠ%discrxx\\y\\@a? A@@@<@@;'@@ఐO"rs\\\\@0@@4@@"@@5@@\\\\@@@@@@J>@\\\\@@@@@,@@+O@NO@L@@ @@@h@@@)@@(h~@@@'@@&@@డm$List*fold_right\`\d \`\h@  \`\i \`\s@@.V@@@@ O@@n@hȠ@栠@` @@@`@@_@@@^M@M@e@@m@@l@@k@@j@.` l@@@h@@g@@@f@@d@@c@@b!@@ఐr,insert_omegaD\`\tE\`\@@@@o@@@h@zv@@@@@@@ @@@@@@@@@@h@@y @@@@@@@@@@@@Y@@ఐf+omega_tails|\`\}\`\@@@. @@@N@N@n@@ఐ-constr_groups\`\\`\@ְ@@zM@M@~@@@@|@@@@@A@\P\R@@ຠ3 u  |@@ w@@@3 p o@@A@A Z@ W@A w@ t'default\\\\Aఐ @@ 3@@@@@@'constrs\\\\Aఐ  @@ @ @8@Š@ K@@@@@@K@!@@@\\ @@ #@< @@ @ @@ @3 @@ @ @@ /@ @@ @ @@  @ - @@  C@  A@ 3H@ @A@ @  @ ݠ@ఠ(set_last{]]]] @>A@@@1Y@@@ H@@@@@@1R@@@@,,@@@@@@@@H@ࠠ@zz('pattern@@@@@@H@@@H@@@@&H@@zH@r@@@sH@@@H@@@H@@@H@332233333@ 6  @ @ @@@࣠@!a}AF]]!G]]"@Y?A@@U3EDDEEEEE@dN]]O]^@@@@@  @@Aఠ$loop~\]%]/]]%]3@o@A@@@zܠL@@@~J@@@@J@@@͠ J@@@@J@@@3rqqrrrrr@.:@1@2@@@@Ġz]?]E]?]G@z@@@@#3@1@,@@!@@K@@1@2@@@@@ ภq]?]R]?]W@q @@@w@@@@]?]K@@0@Ġ"::]X]_]X]aAp3@]X]`@@FJ@(@Ġ"[] A{-@@ A@ @@@4@@@]X]^@@Y6@@@ภ3]X]f]X]ApNడz'General%erase(Patterns]X]n@ ]X]o]X]v@@]X]w]X]|@@@z,pattern_dataР@@@@@H@@@G@{ @@@I@@F@@@E@@AA@@A@@un@@@K@{&@@@M@@@L@@J@@A#Var@@%Ident!t@@@O@u#locq@@@Q@@@P@m^#Uid!t@@@R@@N@@A@@u@@@T@{d@@@V@@@U@mm@@@X@@@W@@S@@A@@@u@@@]@@@\@w@@@^@{@@@_@@[@@@Z@u@@@`@@Y@@A@{@@@a@@A@@{@@@c@{u@@@d@pmo@@@f@@@e@@b@@A@@v @@@i@@@h@xE@@@j@{@@@l@@@k@@g@@A%Alias@@{'pattern@@@n@!t@@@o@vR#locrN@@@q@@@p@n #Uid!t@@@r@n()type_expr@@@s@@m@@A@vr@@@t@@A@@@DA@~$view@@C@@@B@@A@@@@@@?@| K  |K  /@@| W@jM@@@JР@٠@ؠ@@@ @@@ @H@@@ @@ @@@ @@@@@@K@@J@|o@ @L@@I@ @HH@A@@@@@f@@@@e@@@@@@@@@@@v@3@N@|@=@P@?@O@@MH@}@@|@@@@wu@@@@@@@t@@@@@@@@@@p@@@@o@@@@@@@nm@@@@@@@@@@@w:7@@R@6|5@@T@@S@o4o3@@V@@U@@QH@2@@1@@@@!@@@ @@@@"@@@@#@@@@@@@@@$@@@@@X@wWVS@@[@@@Z@yQ@@\@}PP@@]@@Y@@X@wO@@^@@WH@"N@@@@%@@}jU@@_H@*T@@@@@'@@@@(@3@@@*@@@)@@&@@@P@@ @@@-@@@,@@@@.@E@@@0@@@/@@+@@@xmlk@N@b@@@a@z&i@V@c@h}g@`@e@b@d@@`H@+@@@@@2@@@@3@ݠ@@@5@@@4@@@@6@@@@7@@1@@@@@@@8@@xM@@fH@1@@@@@pH@gA@P@@iH@2A@@4H@A@@@@@@@@@@@@@@@ఐԠ!a]X]}]X]~@@@%@@Y@@@ภ7) ^A~@ _A@J@@@@L@@@+]X]ei@@@Ġs3]]4]]@sఠ!x<]] @NAA @@J@3;::;;;;;@@@@ఠ!lH]]@ZBA@@@@@@@@@@@@@ภdTU]]V]]@sఐ#!x_]]`]]@#@$@%@@$3^]]^^^^^@."@@@@@ఐ$loopq]]r]]@@@@@@ @@@@ఐ:!l]]]]@@@!J@$@@@@%@@*@@&@@AoM]%]6 @@@ @@@/@@$@@J@ @@@]%]'@@@@@]]]]@@b@@Ġ#]]]]@"@@@@l@@]]]]@@@@@@u@@@@డ~$Head+deconstruct(Patterns]]]]@ ]]]]@@]]]]@ @1, @@@6=@@@@@@6(@@@@1Y1X@@@@@@@@@@@@ఐ!a]]]]@@@@@2@@@@ภ}]]]]@|@@@|@@@t@@ ]] ]]@@@@ఠ%first]]]]@,CA@@H@3@@@@@ఠ#row(]])]]@;DA@@H@H@@@0]]1]]@@@@ @@@@@@ఐ*%firstC]]D]]@)@*@+@@*3BAABBBBB@5&@ @!@@@@ఐ$loopV]]W]]@ϰ@@@ӠA@@@|@@@~@@}@@@{@@z!@@ఐJ#rowr]]s]]@*@@I.@@ @@FH@1@@y]]+@@T3@@Ap>|]].@@@/@@H@@@2@@ @<3A@H@:@A@7@76@M@ఠ,mark_partial^D^H^D^T@EA@@@oB@@6@@@H@@2$2#@@@<@@@;H@@@H@@3@@@>@@@AH@@@H@@@@@@oO@@)@$@@@@@H@@@@@@H@3@@@@@@@ఠ$zero^W^]^W^a@FA@@RР(Constanty@@@@@@@@@@I@@@@I@&@ఐ(make_pat^W^d^W^l@@@@ @@@@@@@@@@@@@@1@@@@@@@@@H@@0ภ)Const_int+^W^y,^W^@y@2^W^3^W^@@y@@@J@J@d@@<^W^x=^W^@@Gg@?^W^m@^W^@@Rj@@డ~0$none%CtypeO^W^P^W^@ S^W^T^W^@@~.@@@@@J@J@@@డ~%empty#Envl^W^m^W^@ p^W^q^W^@@~@@@@@J@J@@@v @@@A@}^W^Y @@డ$List#map^^^^@ ^^^^@@o@@@@@@@@@@@pG@@@@@p-@@@@@@@3@@@@@@@࣠@"psA@@ఠ"hp^^^^@GA@@3@!@@@@@^^^^@@@@^^^^@@@-@(@@@@@^^^^@@#@@@@@@*@@@44^^^^@HA@@I@D@@@;@@ ^^^^@@@@X@S@@ @J@@ =@@@@ఐN"hp^^^^@l@N@O@@m3@qYh0@4@1@@@(pat_desc^^^^@B@@~@@@H@H@H@@Ġ(Patterns:^^;^^@$Head?^^@^^@@#AnyE^^F^^@@t3@@@@(3@@(3@@@ఐ"psP^^Q^^@9@@=@@Y^_Z^_@@:E@@:E@@@ఐy(set_lastd^_ e^_@@@@8@@@%@@$@@@8@@@@33@@@@@@@@@l@@@ @@@#@@"@@!@@  @@@@@@@@@@@ఐ$zero^_^_@@@9 @@@KM@G@@ఐ"ps^_^_@@@@H@9@@@@M@M@@@a@@@@@A^^@@@^^__@@@5@@ @@I@I@ @@H @@= @W @@>@A@^D^D @@@@ఠ-close_variant__#__0@IA@@@H!t@@@H@@@@pq@@@H@@@@@@&H@@@H@@@H@3@/{t@u@v@@@࣠@#envA__1__4@&JA@@+3@:__btby@@@@@  @@#rowA'__5(__8@:KA@@13&%%&&&&&@!B@@@@@@@@డ|(row_repr;_;_u<_;_}@@p@@@@@p-row_desc_repr@@@@@@pK;;pL;;@@pd@@@@p@@@@@@@@@@3TSSTTTTT@/;b@2@3@@@@ఐB#rowf_;_~g_;_@ @@o@@/@@%@@@@Ġ#Roww_;_Ax_;_D@;#Row6@@@@; @@@@A@@A@Ap::p;F;}@@;@@&fields@@Hq@q#%label@@@@p@@@@@@@@p::p::@@qY@$more@@J@@@p::p::@@q!Z@&closed@@$boolE@@@p:; p:;@@q/[@%fixed@@&optionLq>1fixed_explanation@@@@@@p;;$p;;E@@qC\@$name@@@I!t@@@@HɠJ@@@@@@@@@@@p;F;Sp;F;{@@qd]@@@A@@@@@@@@@Aqg^@ঠ&fields_;_F_;_LA3u@@@w@@@3_^@@AA[@X3UT@@BAN@K3HG@@CA;@8354@@DA@Ai@fఠ@!LA@@@@@@q&@@@@@@@@@$more'_;_N(_;_RA3@@@@@A3@@@;A@3|{@@BAB@?>A@ఠ@HMA@KD@@@@&closedA_;_dB_;_jA3@@@@@B3@@@UA@3@@AVA@3@@CWA|@y3vu@@DXA\@YXA@ఠ@bNA@@@@@%fixed[_;_l\_;_qA3@@@@@C3@@@oA@3@@ApA@3@@BqA@3@@DrAv@srA@ఠ@|OA@@@@@@@@$namey_;_Tz_;_X@3@@@@@D3@@@A@3@@AA@3@@BA@3@@CA@ A@ఠ)orig_name_;_Y_;_b@PA@@@@@@@K@@@@@@@@@@@I@@@_;_E_;_r@@(@@@M@Q@@@4@@f@@@U@@i@@@X@@@@@ఠ$name____@QA@@TH@@@@@K@@@@@@@@M@@@@M@3@@@@@@@|y@{@z_X@Y@Z@@@@ఠ&static____@RA@@U@@@M@@@9 @@@9@ @@"#@డp$List)fold_left __ __@ ____@@@@#acc@N8@@O@!a@N;@@O @@O@@O@@O@@@O@@@@O@@O@@O@@O@@O@u]33u^3r@@u\]@.)@@@@@@Y@@M@PM@'@@0@@@@@M@Z@rg@@@M@[@@\M@*@@/ @@.@@-@@,@$@@+@:@@@)@@(,@@&@@%@@$3hgghhhhh@@@@@࣠@A@ఠ"nm____@SA@@M@N@@ఠ&static____@TA@@M@O@@____@@@@ @@R@@ @@A@ఠ$_tag____@UA@@\3@70@1@2*#@$@%@@@@ఠ!f____@VA@@f@@____@@@t@o@@^@@ @@డ.row_field_repr____@r@@@r@@@g@@fs @@@e@@d3@6?@9@:/@)@*@@@@ఐ6!f____@ @@@@ @@s#@@@n@Ġ'Reither___`@;'Reitherrg@U@@@JM@@@ @@@ c@@@ @CAAB@As<<s<<1@@@sg@@$_`%_`@@@@@yD@@,_` -_` @@M=@@@{@@@zP@Ġ{;_` <_`@{@@@@&@@@~\@@@=B_`@@sn@@@a@@sq@@@d@@@ డ2link_row_field_extT`c`oU`c`@&insidesf@@@v@@u@sm@@@t@@s$unitF@@@r@@q@@p@snjzjzsojzj@@sM@@@s@@@@@@s@@@@@@@@@@@@@,ఐϠ!f`c``c`@@@4@@డ)rf_absent`c``c`@s@@@@s=.=.s=.=F@@tk@  @@s@@@T@T@@@Y@@@@@S@@@ภ$None````@VB@@@VB@@@@@ఐ=&static````@@@<@@````@@@@E@@@@@@Ġ'Reither````@ޠ@````@@@@@@@````@@N@@@@@@@Ġ}h````@}g@@@@@@@ @@@#``@@t2@@@%@@t5@@@(@@@@ఐ"nm````@f@@6@@ภ|"``#``@|@@@@@@C@@)``*``@@F@Ġ'Rabsent7``8``@s@@@@te@@@X@@X@Ġ(RpresentE``F``@;(Rpresents@NZ@@@@@@@A@AB@AtT;;tU;<@@@tf@@Z``[``@@Nk@@@@@@~@@@ @@t@@@@@@@1 @@t@@@@@@@ఐ"nmv`aw`a@İ@@@@ఐ&static`a`a @ϰ@@@@`a`a@@G@@@A__@@I@__`a@@@T@@I@J@@HX@@G@@FN@N@@@@ఐ)orig_nameaaaa @İ@@M@?@@ภ~aa"aa&@~@@@M@K@@aaaa'@@zM@P@@ఐ&fieldsaa(aa.@@@@@@CN@N@e@@ @@@A@__ @@డHcca2aBa2aD@c@@@c@@@@@@c@@@@@c@@@@@@@3@;4@5@6 @@@@@@డl#nota2a7a2a:@@#@@@O@@N'@@@M@@L(%boolnotAA%@@@#LL$Lt@@"\@@@@@@@@@@@@@@3@@ఐޠ&closed0a2a;1a2aA@O@@,@@@$N@&N@%G@@7 @@cp@@@@'N@"O@@డ"!=Na2aJOa2aL@@!a@@@K@@@Ju@@@I@@H@@G&%noteqBAs@@@@rs@@q[@@@@W@@@@=@O@@@?@@@>@@<@@@;M@-@@.@@@,,@@@+@@*@@)@@ఐנ$namea2aEa2aI@@@(@@ఐ)orig_namea2aMa2aV@@@7M@@@@@@c@@@@EN@8@@ @@k+@@@FM@@@ఠ%more'abajabao@WA@@%Types)type_expr@@@UM@G3@@@@ఐꠐ&staticabauaba{@@@kU@@@IM@H@డO(newgenty%Btypeabaaba@ abaaba@@@3)type_desc@@@{@@{8@@@{@@{~@ON  ON  @@Of@@@@@@@N@@MG@@@L@@KB@@ภ$Tnilabaaba@;$TnilN@@@@AL@Avov o@@@vO@@  @@,@@@WN@[Z@@<@@c[@డP)newgenvar%Btype7aba8aba@ ;aba<aba@@$name&optionL&stringQ@@@{@@@{@@{@$unitF@@@{@@{)type_expr@@@{@@{@@{@P*R i iP+R i @@P)h@/*@@'%"@@@d@@@c@@b@@@@a@@`@@@_@@^@@]@<ภ$NoneSY@S@@=@@@y@@@x@@w@@ภ"()abaaba@;4>@@@N@@@@A@@Am@@7@ @@J@@@sN@}@@m@@N@q@abar@@@A@abaf@@డ%unify%Ctypeaaaa@ aaaa@@@@@@?@@?@)type_expr@@@?@@?@)type_expr@@@?@@?$unitF@@@?@@?@@?@@?@////@@g@,'@@@@@@@@@$@@@@@@"@@@@@ @@@@@@@@@3@ A:@;@<@@@@ఐ#envaa aa@ݰ@@@@ఐݠ$moreaaaa@5@@R@@@M@M@$@@డQ(newgenty%Btype/aa0aa@ 3aa4ab@@B@@@B@@@@@x@@@@@F@@ภ(TvariantJbbKbb@;(TvariantO8@w@@@-@AHAL@AwT~wU~@@@wR@డ*create_rowabb&bbb0@&fieldsOL@w%label@@@ @w@@@@@@@@@@$moreQ@@@@@&closed@@@@@%fixedӠ@@@@@@@@$name@P!t@@@@OQ@@@@@@@@@@@@@x2@@@@@@@@@@@@@@wN00wS0~0@@x4P@dc@@a_@^@@@Π@w@@@@@@@@@@\Q@@@@@ZX@@@@@WU%@@@@@@@@TR@Q@@@@NR@@@@@@@@@@@@@x@@@@@@@@@@@@@@ภbb9bb;@@@@@@@@@x/@@@@@@@@O@ /@ఐt%more'4bbB5bbG@9@@RG@@@O@O@C@ภFbHb_GbHbc@@@@@@@O@S@ఐ점%fixedXbHbkYbHbp@v@@ɠ@@@@@@O@O@k@Ȑఐ$namepbHbeqbHbi@|@@Ӡ@@@@@ϠR@@@@@@@@@@@O@O@@@bb%bHbq@@y@@@@$O@@@bbbHbr@@@@@N@@@aabHbs@@@@@@%N@@@ @@M@@a2a\@@@@a2a4@@@@@@@@A_;_=@@3@X@@@A@H@+@A@@@@ఠ*full_matchc+c/c+c9@XA@@@@@@PH@-@@.@\Ġ@KV@@@ P@@@@P@@@@@@H@@@@H@3@@4T@@@GH@5@@6H@/@@0H@,3@  @ @ @@@࣠@'closingAc+c:c+cA@YA@@=3@L c+c+ #h0h@@@@@@  @@#envAc+cBc+cE@+ZA@@F3@!T@@@@@@@@ఐ#env*c+cO+c+cR@W@@@@X3)(()))))@@@@Ġ9cXcZ:cXc\@@@@@f376677777@@@@@g@@@ภBcXc`CcXce@@@@T @Ġ۰NcfcsOcfcu@ڠ@ఠ%discr[cfci\cfcn@n[A@@H@MH@?5@@@gcfcphcfcq@@}H@@=@@lcfchmcfcr@@@@ @@BF@@wcfcvxcfcw@@ՠH@AH@=@@@CS@@@ @@T@@T@@@ Р$Head(Patternsc{cc{c@ c{cc{c@@@3@nF?@@@A@@@@A3@@@c{c @@ @3@@@ఐT%discrcccc@@@S3@@@@(pat_desccccc@۰ @@H@NH@L @Ġ#Anycccc@~@@@@3@-@@@@@@@ ภJcccc@I@@@7@@@@cc@@@Ġ)Constructcccc@aঠ(cstr_tagcccc@RĠ.Cstr_extensioncccc@;.Cstr_extensionZ@@@@$Path!t@@@ޠR@@@@BBAC@Ak  k  &@@@W@@cccc@@@@@YO@@@@@@ZT@@@( @@~@@@[X@@A$cc%cc@@@@@]P@\`@@@G@@ra@@ra@@@ภ1cd2cd@@@@Ci@Ġ)Construct>dd ?dd@ఠ!cGddHdd@Z\A@@@@@`3IHHIIIII@@@@@@@@@@@@@డXdd)Ydd*@@@@^v@@@O@@@@ @@@@@@@@@3feefffff@*#@$@%@@@@డ$List&length~dddd@ dddd$@@^v@@@^vH@@@@@@^@@@@@(@@ఐ#envdd%dd(@s@@5@@#@@@6@@డ!+dd9dd:@@#intA@@@@@@ @@@@@@@@@@@@'%addintBAؠ@@@@0++0+,@@n@#"@@@ @@@@@@@@@@@@@@@@@@v@@ఐ!cdd+dd,@@@@@@@@+cstr_constsdd-dd8@@@L@@@Q@Q@@@ఐȠ!cdd;dd<@@@@@@@@.cstr_nonconstsdd=ddK@r@@d@@@Q@Q@@@9 @@Q@@@ @@8@Ġ'Variant3dLdP4dLdW@ঠ(type_row>dLdZ?dLdbA3L@@@eN@@C3@@@=A@|3yx@@A>Ar@o3lk@@B?AZ@W?AC@@ఠ@^]A@@X@@@p@@oU@@@n@@m@@AYdLdXZdLdg@@@@@rP@q@@@.@@@@@@@@ఠ&fieldskdkduldkd{@~^A@@|@@@P@@@@P@3uttuuuuu@2/@1@0@@@డ$List#mapd~dd~d@ d~dd~d@@|@@@@P@@@(@@@@@}H @@@@@}.3@@@@@@@3@.@@@@࣠@A@ఠ!ddddd@_A@@F@@@dddd@@L@@dddd@@@젠@@@U@@ @@ఐ !ddddd@@ @!@@3@g*@@@(pat_descdddd@  @@ @Ġ'Variantdddd@Fঠ#tagddddA3@O@@@ B@@@387@@AA1@.3+*@@BA@3@@CA@AA@>ఠ@`A@L@@@1@@@dddd@@d@@@U@9@@@'@@4:@@4:@@@ఐ#tag!dd"dd@@@@@3      @F@@@@- dd. dd@@IO@@IO@@@ ภ6 de 7 de@@@@@@@\@= de@@^@@@A?dd @@3;::;;;;;@`@@@BddC de@@@@@@@Q@#Q@!@@ఐA#envV eeW ee@,@@@@@@@A@[dkdq@@@ఠ#rowf e'e1g e'e4@yaA@@l@@@2P@&3jiijjjjj@ @@@@@ఐ-(type_row{ e'e7| e'e?@@@@@@@+@@*@@@)@@(@@ภ e'e@ e'eB@@@@@@@4Q@8)@@@@-*@A@ e'e- @@డ̠ΰ eFeW eFeY@˰@@@@@@@@@?@@@@>@@=@@@<@@;@@:3@KYR@S@T@@@@ఐŠ'closing eFeO eFeV@@@@@డ=#not eFeZ eFe]@Ѱ@@@@@@V@@U@@@T@@S)@@డV5has_fixed_explanation%Btype eFe_ eFed@  eFee eFez@@@8(row_desc@@@{@@{$boolE@@@{@@{@VtVt@@Vw@@@@@@@d@@c@@@b@@a_@@ఐ#row" eFe{# eFe~@i@@+@@@mR@oR@ns@@- eFe^. eFe@@(@@@_@pR@k}@@b @@R@@@N@qQ@]@@y@@r@@@rP@L@డ$List'for_allQeeRee@ UeeVee@@@@@@@@@@O@@}y@@@O@@@O@y@@}@@@|@@{@@z@@@@x@@w@@@v@@u@@t@@࣠@A@ఠ#tageeee@bA@@13@@@@@ఠ!feeee@cA@@7 @@eeee@@@E@@@@@@ @@డ.row_field_repref ef@}˰@@@}@@@@@}@@@@@3@;e@5@6/_@)@*@@@@ఐ6!fefef@ @@l@@ @@~@@@@Ġ'Rabsentf!f/f!f6@}L@@@@~@@@(@@(@Ġ'Reitherf!f9f!f@@ @f!fAf!fB@@ @@@:@@f!fDf!fE@@ X@@@@@@F@Ġf!fGf!fL@@@@@ @@@R@@@#f!fM@@~G@@@W@@W@@6@@~K@@@[@@@ภ(f!fQ)f!fU@@@@u@@@f@Ġ'Reither:fVfd;fVfk@ 5@?fVfm@fVfn@@ 7@@@|@@GfVfpHfVfq@@ :XX@@@@@@@ĠVfVfsWfVfw@@@@@ A@@@@@@#]fVfx@@~@@@@@@Ġ(Rpresentiffjff@ $@nffoff@@ &X@@@@@@@@@ @@~@@@@@@@B @@~@@@@@@డ$List#memffff@ ffff@@@!a@M@@P@ @@@P@@P@@@P@@P@@P~@+'C'C+'C'b@@h@"@@@KO@@@@@@@@@@@@@@@@@@ఐ4#tagffff@@@d@@ఐj&fieldsffff@f@@<-@@@T@T@@@U @@@@@Aef @@-@@@@eeff@@@@@;@@@@@P@ P@\@@డA*row_fieldsfffg@@|@@@@@V@%label@@@Ǡ@"@@@@@@@@@@@U00U00@@Q@"!@@@@@@@@@@@@@>@@@@@@@@@@@@ఐݠ#rowCfgDfg @@@@@@$Q@&Q@%@@NffOfg @@͠@@@P@'Q@@@ @@hP@@డdgg.egg0@@@@@@@/@@.@@@@-@@,d@@@+@@*@@)@@డ*row_closedgggg)@@@@@@@@@@@@@9999<@@S@@@@@@@D@@C@@@B@@A3@@@@@ఐF#rowgg*gg-@@@(@@@MQ@OQ@N@@3 @@@@@?@PQ@K@@డ3$List'for_allg1g9g1g=@ g1g>g1gE@@,@@@@@$@@@P@s@@@@P@t@@uP@W@@[:@@@Z@@Y@@X@p@@@V@@U9@@@T@@S@@Rf@@࣠@PA@ఠ#taggFgVgFgY@$dA@@1t@@ఠ!fgFgZgFg[@0eA@@6@@"gFgU#gFg\@@@D@?@@w@@ @@డnmno4g`g5g`g@nl@@@nl@@@@@@nk@@@@@nj@@@@@~@@}3CBBCCCCC@>h@8@93b@-@.@@@@డXg`g}Yg`g~@@@@@@@S@@@@ @@@@@@@@@#@@డ.row_field_reprwg`glxg`gz@@@@@@@@@@@@@@<@@ఐq!fg`g{g`g|@D@@I@@@@1J@@ภ'Rabsentg`gg`g@@@@?T@X@@*@@n@@@@T@`@@డ$List#memg`gg`g@ g`gg`g@@,@@@P@@@@)@@@@@(@@@@@@@@@ఐɠ#tagg`gg`g@@@@@ఐ|&fieldsg`gg`g@x@@N-@@@T@T@@@; @@o @@@@T@@@@@G@@@S@@gFgPg`g@@@-@@oU@@@n@@mQ@Q@m@@డ[*row_fieldsgggg@@@@@@@@@@@@@ࠠ@9@@@@@@@@@@@@ఐؠ#row>gg?gg@@@@@@R@R@@@IggJgg@@Ƞt@@@kQ@R@@@ @@o@@@=@Q@i@@@@kP@;@_ eFeL@@@@@@@@q@Ġ(Constantlggmgg@ˠĠ*Const_charuggvgg@@@zgg{gg@@:@@@x@@@ @@@@@y@@@ @@@@@@@డgggg@@@@e@@@O@@@@ @@@@@@@@@@@డ$List&lengthgggg@ gggg@@e@@@e@@@@@ e@@@ @@ @@ఐ#envgggg@@@@@!@@;@@gggg@@FP@)@@-@@*@Ġ(Constantgggg@G@ghgh@@I@@@|@@@@ @@9A@@9A@Ġ%Array hh hh @@ hh  hh @@@@@S@@@@@@X@@@ @@QY@@QY@@$ @@RZ@@@ภ hh hh@@@@ #b@Ġ%Tuple"!hh#!hh @@'!hh!(!hh"@@@@@@@@@@@@@@ @@{@@{@Ġ&Record="h#h'>"h#h-@@B"h#h.C"h#h/@@@@@@@@@@@ @@@@@@+ @@@Ġ$LazyU#h0h4V#h0h8@@@@@@@@@7@@@@@ภǰ^#h0h< R@@ S@@ o@@@Aacc U@@ q@cc{c} W@@ s3_^^_____@@@@@@Afc+cI Z@@ v +@ d [A@ H@ b@A@ _@ _ ^@ u@ఠ-should_extendv'hhw'hh@fA@@@e$Path!t@@@HH@@@@H@@@@@ @@@H@1@@@0H@@@@@@H@@@@H@@@@@@H@@@H@@@H@3@   @ @ @@@࣠@#extA'hh'hh@gA@@H3@W'hh5jj@@@@@  @@#envA'hh'hh@hA@@F3@!_@@@@@@@@ఐ)#ext'hh'hh@@@m3@Z@@@@@Ġ$None(hh(hh@e@@@@}3@@@@@~@@@ภz(hh(hh@y@@@U @Ġ$Some)hh)hh@eZఠ#extà)hh)hh@,iA@@H@MH@3@@@@@4@@4@@@ఐU#env*)hh+)hh@=@@3(''(((((@A@@@@@Ġ9*hi:*hi@@@@@376677777@@@@@@@@ ภD*hiE*hi@@@@@@@@K*hi@@@ĠU+iiV+ii @@ఠ!pĠb+iic+ii@ujA@@9@@@j+iik+ii@@?@@m+ii@@@Ѡ@@@G@@!w+ii!@@ԠH@@@@P@@@@@Q@@Q@@@ Р$Head(Patterns,i%i4,i%i<@ ,i%i=,i%iA@@@3@k;@5@6@@@@A3@@@,i%i/ @@ @3@@@ఐI!p-iEiW-iEiX@@@ 3@@@@(pat_desc-iEiY-iEia@װ @@H@ @Ġ)Construct.igio.igix@>ঠ(cstr_tag.igiz.igi@/Ġ-Cstr_constant.igi.igi@;-Cstr_constant @@@@@A@AC@Ah"h6@@@T@@.igi.igi@@@@@A@@@@@N@@@E@Ġ*Cstr_block.igi.igi@;*Cstr_block @@@@@AAAC@Aijlij@@@U@@ .igi .igi@@@@@a@@@@@n@@@e@@; @@r@@@i@Ġ,Cstr_unboxed.igi.igi@;,Cstr_unboxed %@@@@AC@Ajj@@@V@@@  @@@@@|@@+.igi,.igi@@@@@@@@1.igiy2.igi@@@@@R@@@@w@@@@@@@@ఠ$pathŠC/iiD/ii@VkA@@]E@@@$R@3GFFGGGGG@@@@ఐ]u9get_constructor_type_pathV/iiW/ii@[@@@]p@@@@@@]j@@@@@]c@@@@@@@@@ఐ!pv/iiw/ii@߰@@-@(pat_type}/ii~/ii@i @@]@@@(S@-S@*;@@ఐ1!p/ii/ii@@@J@'pat_env/ii/ii@} @@]@@@&S@2S@/X@@O @@\Y@A@/ii @@డ$Path$same$Path0ij0ij@ 0ij 0ij @@@;@@@@@@B@@@@@$boolE@@@@@@@@/typing/path.mli{  {  )@@KH@"@@@U@@@:@@9@\@@@8@@7@@@6@@5@@43@P@@@@@@ఐ$path0ij0ij@ @@v@@@JR@LR@K@@ఐ#ext 0ij 0ij@ݰ@@$@@X@@]R@F'@k@@`@Ġ)Construct1jj1jj(@ঠ(cstr_tag&1jj*'1jj2@Ġ.Cstr_extension.1jj4/1jjB@ 6@31jjC41jjD@@ 5@@@@@@ 1@@@@@@>1jj3?1jjE@@@@@@@@D1jj)E1jjF@@@@@R@@@@1@@@@@@@ภȰQ1jjJR1jjO@@@@@Ġ(Constanth2jPjXi2jPj`@Ǡ@m2jPjan2jPjb@@@@@@@@ @@@@@Ġ%Tuple{2jPje|2jPjj@۠@2jPjk2jPjl@@ݠܠ@@@@@@@@@@@@ @@@@@@'@@@Ġ'Variant2jPjo2jPjv@@2jPjw2jPjx@@@@@@@@ @@@@@@;@@@Ġ&Record2jPj{2jPj@R@2jPj2jPj@@TS@@@@@@ @@@ @@ @@ @@S @@ @Ġ%Array2jPj2jPj@b@2jPj2jPj@@d@@@ @@@c@@@ $@@@ @@%@@%@@l @@&@Ġ$Lazy2jPj2jPj@@@@@)1@@)1@@x@@*2@@@ภ\2jPj2jPj@[@@@7:@Ġ#Any3jj3jj@@@@@?G@@?G@@@ ภs3jj3jj@r@@@`@@@WT@3jj@@SV@@@A-iEiK4jj@@V@,i%i+@@X3@r@@@@@A )hh?@@[@@@A 'hhA@@]@KBA@H@I@A@F@FE@\@ఠ-pat_of_constrƠ8jk8jk@0lA@@@@@@@H@@@@@@@dH@@@][@@@@@@H@@@@H@@@H@@@H@3CBBCCCCC@@@@@@࣠@&ex_patAV8jkW8jk@imA@@33UTTUUUUU@B^8jj_;kvk@@@@@  @@$cstrAj8jkk8jk@}nA@@:3ihhiiiii@!J@@@@@@@@(pat_desc|9kk-}9kk5@ภ.Tpat_construct:k8k;:k8kI@s"డ'mknoloc:k8kK:k8kR@@@@s(@@@J@FJ@-@@. @@@,@@+3@5Aq@8@9@@@@ภ)Longident:k8kT:k8k]@&Lident:k8k^:k8kd@@;&Lident)Longident!t@@@ji@&stringQ@@@j`@A@@C@A5parsing/longident.mli]>B]>R@@@A@ఐr$cstr:k8ke:k8ki@7@@:@)cstr_name:k8kj:k8ks@ @@$@@@@K@DK@BH@@:k8kS:k8kt@@XJ@>K@?N@@a@@:]@@@:S@ఐ$cstr;kvk;kvk@[@@^@ఐ۠&omegas ;kvk ;kvk@n@@@@@@V@@Uՠ@@@T@@@S@@Ry@@ఐ$cstr';kvk(;kvk@@@@*cstr_arity.;kvk/;kvk@ @@@@@aK@eK@c@@/ @@xΠ[@@@ @@@@@@J@fK@^@ภ$NoneO;kvkP;kvk@i@@@s @sss@@@%@@@$@@@#@s@@@&@@"@@@!J@@@m;kvk@@0J@@@@@J@@@@@@@@@@@3@@@@@@@@J@@{@@@J@@y @@@J@@wI@@@J@@@ఐZ&ex_pat9kk!9kk'@?@@@9kk S@@y@]TA@H@[@A@X@XW@n@ఠ%orifyʠ=kk=kk@oA@@@%3@@@@H@@@@2 @@@H@@@H@@@J@@@@H@@@H@@@H@3@@@@@@࣠@!xA=kk=kk@ pA@@13@@=kk=kk@@@@@  @@!yA =kk =kk@qA@@83        @!H@@@@@@@@ఐ(make_pat=kk=kk@@@@B@@@@@@@@@@@@@@S@@@@@@@@@321122222@(4b@+@,@@@@ภ'Tpat_orC=kkD=kk@vఐX!xM=kkN=kk@=@@@ఐO!yX=kkY=kk@!@@$@ภ$Noneb=kkc=kk@j@@@vv@@@@@@K@7@@o=kkp=kk@@J@<@@ఐ!x=kk=kk@o@@K@(pat_type=kk=kk@r @@ @@@K@K@Y@@ఐ!x=kk=kk@@@h@'pat_env=kk@ @@@@@K@K@u@@@@v@A@H@ @A@@@ǠAఠ*orify_manyΠ?kk?kl@rA@@@<#1@D@@@_H@+@@@*H@"@@'H@$@@&3@@@@@@@ĠY@ll@ll@X@@@@3@,@'@@#@@%I@!@,@-@@@@@ ภi@ll"@ll'@h@@@V@@@>@@ll@@)@Ġ [Al(l+Al(l-Aఠ!xϠ  Al(l,@sA @@FH@-3        @-@@@Ġ a A@@ A@s @@@2 @@@Al(l*@@Y@@@ఐ!x$Al(l1%Al(l2@@@@@W3#""#####@G$@@@Ġ1Bl3l72Bl3l9@ఠ!xР:Bl3l5;Bl3l6@MtA@@uH@43:99:::::@]@@@ఠ"xsѠGBl3l:HBl3l<@ZuA@@@@@6@@@@@@@@ఐ%orifyYBl3l@ZBl3lE@@@@@@@H@@G@@@@F@@EԠ@@@C@@@B@@A@@@3onnooooo@A:@;@<5.@/@0@@@@ఐI!xBl3lFBl3lG@@@H@@ఐ֠*orify_manyBl3lIBl3lS@@@@@@n@@m%@@ఐ\"xsBl3lTBl3lV@-@@H@t4@@Bl3lHBl3lW@@7@@S@@8@@ApҰ?kl @@@@@@@@@@H@@@@?kk@@@砰@ఠ.pat_of_constrsӠEllEll@vA@@@S@@@?H@@@@@@@K@@@@H@@@>@@@J@o@@@H@@@ H@@@H@@࣠@&ex_patAEllEll@ wA@@03@?EllHm m?@@@@@  @@%cstrsAEllEll@!xA@@93        @!G@@@@@@@@@ఠ&ex_patנ!Fll"Fll@4yA@@0'pattern@@@=K@#3'&&'''''@'V@@@@@డ0$Head0to_omega_pattern(Patterns@FllAFll@ DFllEFll@@IFllJFll@ @@S@@@B@@B-@@@B@@B@=j  >j  @@@{@@@@Hm m@@&@@@K@L@!@@@@"@Gll@@$@C@@@A@H@@A@@@}@ఠ,pats_of_typeؠJmAmEJmAmQ@zA@@@C@@@H@@@@\@@@ H@@@m@@@N@Y@@@lH@@@H@@@H@3@ .'@(@)@@@࣠@#envAJmAmRJmAmU@ {A@@-3@<JmAmAcqUqu@@@@@  @@"tyAJmAmVJmAmX@!|A@@63        @!D@@@@@@@@డ9extract_concrete_typedecl%Ctype&Km[mc'Km[mh@ *Km[mi+Km[m@@@e8!t@@@?@@?@)type_expr@@@?@@?:typedecl_extraction_result@@@?@@?@@?@///!/Y@@e@'"@@@@@@@@@@@@@@@@@@@@@3YXXYYYYY@MY@P@Q@@@@ఐt#envkKm[mlKm[m@Y@@@@ఐm"tyxKm[myKm[m@@@@@V@@;@@@!@Ġ(TypedeclLmmLmm@;(TypedeclL@@@?@$Path!t@@@?ˠ !t@@@?̠x0type_declaration@@@?@C@BA@Av .7.9w .7.i@@@ub@@LmmLmm@@@@@3@U@@@ఠ$pathܠLmmLmm@}A@@%@@@@ঠ)type_kindLmmLmm@3)type_kindD0type_declaration@@@I.type_decl_kind@@@@@B;3+type_params df@@@@@@@@@ @A#OVOZ#OVOv@@X@3*type_arityg@@@@@A@A$OwO{$OwO@@b@%3,type_private%,private_flag@@@@@C @A&OO&OO@@m@3-type_manifest0<g@@@@@@@@D.@A'OO 'OO@@{@3-type_variance>d(Variance!t@@@@@@@@E@@A(OO(OP@@@31type_separabilityPe,Separability!t@@@@@@@@FR@A,*PXP\-*PXP@@@3/type_is_newtypeb|@@@@@G\@A6+PP7+PP@@@34type_expansion_scopelgj@@@@@Hf@A@,PPA,PP@@@3(type_locv(Location!t@@@@@It@AN-PPO-PP@@@3/type_attributes)Parsetree*attributes@@@@@J@A\.PP].PQ@@@3.type_immediate.Type_immediacy!t@@@@@K@Aj/QQk/QQ(@@@34type_unboxed_default@@@@@L@At0Q)Q-u0Q)QH@@@3(type_uid#Uid!t@@@@@M@A2QQ2QQ@@@@A%OO%OO@@@Ġ,Type_variantLmmLmm@;,Type_variant )type_kind#lbl@ $cstr@ @@@@e @@@6variant_representation@@@@BBAD@A:RsRu:RsR@@@$@@LmmLmm@@17constructor_declaration@@@'@@@&@@@@@@(@@@8@@@@@)@Ġ+Type_recordLmmLmm@;+Type_recordA@eA@@@Q5record_representation@@@@BAAD@A9R=R?9R=Rr@@@V@@LmmLmm@@c1label_declaration@@@5@@@4A@@@@@@6F@@@)@@&@@@7J@@n@@*@@@8N@@@LmmLmm@@e@@@:M@9V@@@ Lmm@@@@@;[@@@@@<^@@@డ0find_type_descrs#Env Mmm!Mmm@ $Mmm%Mmm@@@$Path!t@@@-@@-@@@@-@@-1type_descriptions@@@-@@-@@-@W  W  K@@r@% @@@@@@@@@@@@@@@@@@@@@3QPPQQQQQ@@@@@@@ఐ$pathcMmmdMmn@ @@>@@@N@N@@@ఐ#envwMmnxMmn@e@@$@@[@@@@@@(@Ġ,Type_variantNn nNn n @ఠ%cstrsݠNn n"Nn n'@~A@@*Data_types7constructor_description@@@@@@3@K@@@@Nn n(Nn n)@@@@@ @@@#Nn n*@@q@@@@@t@@@@@డ$||Nn nGNn nI@|@@@|@@@@@@|@@@@@|@@@@@@@3@zD=@>@?@@@@డF"<=Nn nBNn nD@@!a@@@/@@@.@@@-@@,@@+*%lessequalBA@@@@)))Z@@U@@@@s@@@O@@@@ @@@@@@@@@3@<@@@@డ$List&lengthNn n0Nn n4@  Nn n5!Nn n;@@s@@@s@@@P@@@@@@sF@@@@@ )@@ఐ%cstrs>Nn n<?Nn nA@o@@s1@@@Q@Q@>@@. @@I?@@AQNn nERNn nF@@TP@J@@:@@}@@@@P@ R@@డ$List'for_allmPnnnPnn@ qPnnrPnn@@˰@@@@=@@@GO@&@@*@@@)@@(@@'@@@@%@@$@@@#@@"@@!@@࣠@"cdAPnnPnn@A@@%@@@@ఐ"cdPnnPnn@3@@@@43@@@@0cstr_generalizedPnnPnn@ @@@@@HQ@F@PnnPnn@@@M@@>@@@=@@@"A@@@i k@@@Q@@@@O@젠@@@@ O@@=@@@ O@@@O@@@@O@332233333@VO@P@Q@@@డ$List#mapHToAoMIToAoQ@ LToAoRMToAoU@@@@@@-O@@@B@@@@@ @@@@@M@@@@@@@3a``aaaaa@.@@@@࣠@"ldAuToAo[vToAo]@A@@!A@@@@@డ'mknolocUoaooUoaov@ܰ@@@l@@ؠo@@@@@3@\'>@@@@@@ภ)LongidentUoaoxUoao@&LidentUoaoUoao@@ ఐA"ldUoaoUoao@ @@^#@(lbl_nameUoaoUoao@A @@ @@@R@ R@1@@UoaowUoao@@R@6@@B@@7@@ఐa"ldUoaoUoao@@@@~C@@ఐ%omegaUoaoUoao@@@O@@[@@@Ǡ@@@@ X@ToAoVUoao@@@@@@@P@P@@@ఐ&labelsVooVoo@Ȱ@@@@@P@P@@@ @@@A@ So*o4 @@ภ]:XooXooAఐ(make_pat Xoo@@@@HH@J@N@@@@H@H@EN@ @@%@@@@$@@#@@@@"@@!#@@@@@@@@@3DCCDDDDD@@9@:@;@@@@ภ+Tpat_recordUXooVXoo@yqఐP&fields_Xoo`Xoo@@@yv@yuys@@@L@@@K@yp@@@M@Ӡ@@@O@@@N@@J@@@IO@WO@Q:@ภ&ClosedXooXoo@;&ClosedU+closed_flag@@@ @@@@B@@AKo Lo@@@Z^@@@@y@@@PO@yU@@XooXoo@@|N@GZ@@ఐ"tyXooXoo@O@@g@@ఐà#envXooXoo@@@t@@@@H@H@5x@ภ]ϰ A>@ A@&H@@@@N@@@Xoo@@H@@@@@@@@YopYop@@@@@@@@@@@@@ภ^Yop YopAvఐ%omega Yop@ @@@ภ^As@ A@[H@@@@N@@@Yop @@%@@@AMmmZpp@@(3@@@@Ġ/Has_no_typedecl[pp"[pp1@;/Has_no_typedecl@@@@BA@A....@@@c@@@  @@@@@@@@@@@A@@@డp(get_desc/\p5pG0\p5pO@k`@@@mB@@@@@k`@@@@@@@డ-+expand_head%CtypeL\p5pQM\p5pV@ P\p5pWQ\p5pb@@k@@@l^@@@@@@lr@@@@@l@@@@@@@@@ఐx#envo\p5pcp\p5pf@]@@@@ఐq"ty|\p5pg}\p5pi@@@!@@\p5pP\p5pj@@m@@@@O@+@@[ @@k@@@/@Ġ&Ttuple]pppx]ppp~@;&Ttuplek@k~@"&stringQ@@@@@@@m@@@@@@@@@ABAL@AM  M  3@@@*K@ఠ"tl]ppp]ppp@A@@)@('@@@@@@Ԡ@m@@@@@@@@{@@@C@@l@@@@@l@@@@@@ภ_ ^pp_ppAqఐ(make_pat ^pp@@@@@@H@@@@H@N@@@@@@@@@@@@@@@}!@@@@@@@@@3@^W@X@Y@@@@ภ*Tpat_tuple%^pp&^pp@|డ$List#map5^pp6^pp@ 9^pp:^pp@@@@@@@|Ӡ|@@@@@@O@UO@OO@<@nh@@@QO@=@@>O@$@@'@@à@@@@@@@@O@TO@EO@!@@&@@%@4@@@#@@"@@@ @@@@e@@࣠@A@ఠ#lbl^pp^pp@A@@J3@|@@@@@^pp^pp@@B@@^pp^pp@@@X@K@@@@@ @@@ఐ!#lbl^pp^pp@j@!@"@@k3@+@@@@ఐР%omega^pp^pp@v@@@@@F@@@@@@ @@G@^pp^pp@@@@@9z@@8P@KP@ID@@ఐ""tl^pp^pp@ʰ@@@@@6P@RP@M@@^pp^pp@@Y@@@O@SP@4d@@^pp^pp@@N@i@@ఐ"ty_pp _pp@@@ /@@ఐ #env_pp_pp@ @@ G@@4@@ 3H@@ภ`) ;A@ Ġ,Type_variantgqqgqr@ @gqrgqr@@ t _@@@@@@b@@ @ w@@@g@@@@@ Q@@@k@@@)gqq*gqr@@ @@@M@s@@@I1gqr@@ @@@x@@ @@@ {@@@డ0find_type_descrs#EnvGhr rHhr r@ Khr rLhr r/@@ '@@@ '@@@@@@@@@@@ "@@@@@@@3[ZZ[[[[[@mf@g@h@@@@ఐt$pathmhr r0nhr r4@ @@ H@@@3N@5N@4@@ఐ #envhr r5hr r8@@@3$@@>@@ J@@@/(@Ġ,Type_variantir>rFir>rR@ ఠ%cstrsir>rTir>rY@A@@  @@@K@@@JF@@ir>rZir>r[@@ @@@LN@@@ir>r\@@ u@@@MS@@ x@@@NV@@@ఐ"%cstrsir>r`ir>re@!@"@#@@`3@b,@@@@jrfrnjrfro@@ @@@Pn@@ @@@Qq@@@డ+fatal_errorjrfrsjrfr~@i@@@i@@@`@@_O@^@@]@@ !Parmatch.get_variant_constructorsjrfrjrfr@@jrfrjrfr@@i%@@@gO@iO@h@@! @@@@@Ahr rkrr@@3@@@@@lrrlrr@@ @@@ M@@ @@@ P@@@డ+fatal_errorlrrlrr@iK@@@iK@@@z@@yM@x@@we@@ !Parmatch.get_variant_constructors*lrr+lrr@@-lrr@@i`@@@M@M@x@@ @@y@@@A7fqq@@332233333@{@@@A@H@@A@@@Ӡ.ConstructorSetHGnrrHnrr@ZA@гР#Set$MakeYnrrZnrs@ ]nrs^nrs@@@3]\\]]]]]@!@@@@@#Ord+Stdlib__Set+OrderedType#elt@;@@@A!t@@@ @@@@'set.mliF//EF//U@@@@s@A@!t@;@@@A@@@@@ J U Y J U _@@@@D@A@%empty@@@ @M ~ M ~ @@,E@@#add@3@@@@@@@@@@@@@@@@@@@3P  4P  @@GF@@)singleton@@@@@@/@@@@@@FV  GV  @@ZG@@&remove@.@@@@@@F@@@@@I@@@@@@@@`Y 5 9aY 5 R@@tH@@%union@Y@@@@@@`@@@@@c@@@@@@@@z_]a{_]w@@I@@%inter@s@@@@@@z@@@@@}@@@@@@@@bb@@J@@(disjoint@@@@@@@@@@@@$boolE@@@@@@@@ee@@K@@$diff@@@@@@@@@@@@@@@@@@@@i(,i(A@@L@@(cardinal@@@@@@#intA@@@@@@mm@@M@@(elements@@@@@@$listK@@@@@@@@@rr7@@N@@'min_elt@@@@@@@@@@@@x x5@@"O@@+min_elt_opt@@@@@@&optionL@@@@@@@@@(})}@@@@gR@@&choose@L@@@@@>@@@@@@fg@@zS@@*choose_opt @_@@@@@XU@@@@@@@@@~@@T@@$find @f@@@@@@~@@@@@p@@@@@@@@@@U@@(find_opt @@@@@@@@@@@@@@@@@@@@@@@x|x@@V@@*find_first @@@@@@@ @@@@@@@@@@@@@@@@@@@@@KOKx@@W@@.find_first_opt @@@@@@@B@@@@@@@@@@@@@ڠ@@@@@@@@@@@RVR@@X@@)find_last@@@@@@@i@@@@@@@@@@@@@@@@@@@@@"{#{@@6Y@@-find_last_opt@@@@@@@@@@@@@@@*@@@@@# @@@@@@@@@@~@IJ@@]Z@@$iter@@5@@@}@@|$unitF@@@{@@z@@y@S@@@x@@w @@@v@@u@@t@no@@[@@$fold@@Z@@@s@@r@#acc@j@@q@@p@@o@@n@z@@@m@@l@@@k@@i@@h@@g@@@\@@#map@@@@@f@@e@@@d@@c@@b@@@@a@@`@@@_@@^@@]@@@]@@&filter@@@@@\@@[@@@Z@@Y@@X@@@@W@@V@@@U@@T@@S@    @@^@@*filter_map@@@@@R@@QΠ@@@P@@@O@@N@@M@@@@L@@K@@@J@@I@@H@"" ""7@@_@@)partition@@@@@G@@Fg@@@E@@D@@C@@@@B@@A@ @@@?@@@@@@@>@@=@@<@)$;$?*$;$i@@=`@@%split@@@@;@@:@)@@@9@@8@0@@@5@@@@6@;@@@7@@4@@3@@2@R%Z%^S%Z%@@fa@@(is_empty@K@@@1@@0@@@/@@.@f'$'(g'$'?@@zb@@,is_singleton@_@@@-@@,@@@+@@*@z'p't{'p'@@c@@#mem@b@@@)@@(@z@@@'@@&@@@%@@$@@#@ '' '(@@d@@%equal@@@@"@@!@@@@ @@@@@@@@@@(A(E(A(^@@e@@'compare@@@@@@@@@@@@@@@@@@@@((((@@f@@&subset@@@@@@@@@@@@7@@@@@@@@)_)c)_)}@@g@@'for_all@@@@@ @@ O@@@ @@ @@ @@@@@@Z@@@@@@@@ )) )*@@h@@&exists@@@@@@@r@@@@@@@@@@@@@}@@@@@@@@,*d*h-*d*@@@i@@'to_list@%@@@@@K@@@@@@@@@D%++!E%++<@@Xj@@'of_list @`0@@@@@@@@E@@@@@@\)+|+])+|+@@pk@@+to_seq_from!@D@@@@@@\@@@@@&Stdlib#Seq!tX@@@@@@@@@@@/,w,{/,w,@@l@@&to_seq"@z@@@@@#Seq!ts@@@@@@@@@4-0-44-0-O@@m@@*to_rev_seq#@@@@@@9#Seq!t@@@@@@@@@8--8--@@n@@'add_seq$@Q#Seq!t@@@@@@@@@@@@@@@@@@@@@@<..<..4@@o@@&of_seq%@s#Seq!t@@@@@@@@@@@@@@@..@..@@p@@@@'@@БA+!tIossoss@@;@@@A7constructor_description@@@@@@@ossoss1@@@@A@@Aг  oss @@3@7;@@@A#@@@@@@@@@@@@@ @@@@@3@C@@@ఠ'compareps2s8ps2s?@A@@@{@@@J@@@@@@@J@@@@@@J@@@J@@@J@3@oSM@@@࣠@"c1Aps2s@ps2sB@A@@&@@@@"c2Aps2sCps2sE@A@@)3@ 7@@@@@@@@డf&String'compareps2sHps2sN@ ps2sOps2sV@@*@@@*@@@@@@1@@@@@&@@@@@@@3@,8W@/@0@@@@ఐO"c1)ps2sW*ps2sY@:@@q@)cstr_name0ps2sZ1ps2sc@ٰ @@R@@@M@@@ఐ\"c2Dps2sdEps2sf@*@@-@)cstr_nameKps2sgLps2sp@ @@m@@@M@9@@S@@:@x A@J@@A@Xps2s4 @@@@A@@@@@3ZYYZZZZZ@@@bnrscqsqst@ 3`__`````@@@@@gqsqsu@(J;@@@A@@@w@k@@@@@@@A@)J;@@@A@@@@@@@@A@* @@@x@@@+@"@@@@@~@@@@}@@|@@@{@@z@@y@@@,@@@@@@%@@@@@@@@-@$@@@@@@7@@@@@:@@@@@@@@@@.@E@@@@@@L@@@@@O@@@@@@@@@@/@Z@@@@@@a@@@@@d@@@@@@@@@@0@o@@@@@@v@@@@@@@@@@@@@@@1@@@@@@@@@@@@@@@@@@@@@@2@@@@@@@@@@@@@@3@@@@@@@@@@@@@@@@@4@@@@@@@@@@@@@@5@@@@@@@@@@@@@@@@@6@@@@@@@@@@@@@@7@@@@@@@@@@@@@@@@@8@@@@@@@@@@@@@@9@@@@@@@@@@@@@@@@@:@ @@@@@@ @@@@@@@@@@@@@@@;@"@@@@@@5@@@@@/@@@@@@@@@@@@@<@@?@@@@@@@@@@@@@U@@@@@L@@@@@@@@@@~=@@[@@@@@}@@@@@@@@q@@@@@|k@@@@@@@@@@@{@x@w>@@{@@@@@v@@@@@@@@@@@@@@@@@@@@@u@r@q?@@@@@@@p@@@@@@@@@@@@@o@@@@@@@@@@@n@k@j@@@@@@ @@ i@@@ @@ @@ @@@@@@f@@@@@@@@e@b@aA@@@@@@@@`@@`@@@@@@@@@@@@@k@@k@@@@@@@\@Y@XB@@@@@#@@"@@@!@@ @@@@@@@@ @@@@@@@@W@T@SC@@ @@@-@@,R@@@+@@*@@)@#@@@(@@'&@@@&@@%@@$@Q@N@MD@@)@@@8@@7L/@@@6@@@5@@4@@3@C@@@2@@1F@@@0@@/@@.@K@H@GE@@I@@@D@@CF@@@B@@A@@@@_@@@?@@>@f@@@<@k@@@=@@;@@:@@9@E@B@AF@j@@@N@@M@}@@@L@@K@@@@H@@@@@I@@@@J@@G@@F@@E@?@<@;G@@@@R@@Q:@@@P@@O@9@6@5H@@@@V@@U4@@@T@@S@3@0@/I@@@@]@@\@@@@[@@Z.@@@Y@@X@@W@-@*@)J@@@@d@@c@@@@b@@a(@@@`@@_@@^@'@$@#K@@@@k@@j@@@@i@@h"@@@g@@f@@e@!@@L@@@@r@@q@@@@p@@o@@@n@@m@@l@@@M@@@@@|@@{@@@z@@y@@x@@@@w@@v@@@u@@t@@s@@@N@@@@@@@@@@@@@@@3@@@@@@@@@@~@@}@ @ @ O@A@@@@@;@@@@@@@@@@@P@J@@@@@@@@Z@@@@@@@@Q@Y@@@@@@l@@@@@h@@@@@@@@@@@@@R@@@@@@|@@@@@@@@@@@S@@@@@@$@@@@@@@@@@@T@5@@@@@@@@@@@@@@@@@@@@@@@@U@Pܠ@@@@@@@@@@@@@@@@@@@Nnrr@@렰@ఠ0complete_constrsՠ[tss\tss@nA@@@Ϡ*@@@K@@@@K@@@@ = @@@c@@@bK@@@$listK@@@5M@@@@/K@@@K@@@K@3@ . O@*)A@ A@@@@@@@@@@@|{@po@`_@TS@DC@87@('@@@@@@@ts@XW@>=@$#@@@@@@@@qp@^]@DC@*)@@  @@@@@@@ @@@࣠@&constrAtsstss@ A@@3@ptssuu@@@@@  @@,used_constrsAtsstss@!A@@3        @!@@@@@@@@@ఠ!c٠!uss"uss@4A@@K@K@3#""#####@#@@@@@ఐ=&constr4uss5ust@"@@@(pat_desc;ust<ust @_ @@K@@A@Auss@@@ఠ'constrsڠLvttMvtt@_A@@@@@ @@@ N@3TSSTTTTT@2>7@8@9@@@ఐ 8get_variant_constructorsevttfvtt7@ @@@@@@@@@7@@@@@Ҡ@@@@@@@@@@$@@ఐ&constrvtt8vtt>@w@@'3@'pat_envvtt?vttF@s @@@@@@O@O@A@@ఐ!cvttGvttH@M@@P@(cstr_resvttIvttQ@I @@x@@@ O@O@^@@S @@f_@A@vtt @@@ఠ,used_constrs۠wtUt[wtUtg@A@@O G@@@`N@3@v@@@@@డ 'of_list.ConstructorSetwtUtjwtUtx@ wtUtywtUt@@@r@@@4@@@3@@2'@@@1@@0@@@@@*@@@X@@@W@@V6@@@U@@T5@@ఐ,used_constrs wtUtwtUt@@@B@@3@@GC@A@wtUtW@@@ఠ&othersܠxttxtt@0A@@@@@ȱN@k@@@N@f3(''(((((@`oh@i@j@@@డ$List&filter=ytt>ytt@ AyttBytt@@@@!a@MR@@P@@@P@@P@@P@Ҡ@@@P@@P;@@@P@@P@@P@^-)-)^-)-X@@o@*%@@@@H@@q@@@p@@o@@n@R@@@m@@lWV@@@j@@i@@h3yxxyyyyy@Q@@@@࣠@%cnstrAzttztt@A@@jd@@@@డ#notzttztt@/@@@/@@@Ȑ@@ȏ/@@@Ȏ@@ȍ3@}%@@@@@@డ s#mem.ConstructorSetzttztt@ zttztt@@@M@@@@@@@@@@@@@@@@@@@@@@@_@@@ȡ@@Ƞ@@@@ȟ@@Ȟ@@@ȝ@@Ȝ@@ț>@@ఐg%cnstrzttztt@H@@K@@ఐ:,used_constrszttztt@Ѱ@@;@@@ȯR@ȶR@ȵ_@@ ztt ztt@@0@@@ș@ȷR@ȭi@@w @@@@@ȸQ@ȗo@zttztt@@@@@ȅ@@@Ȅ@@ȃO@ȽO@Ⱥ@@ఐ䠐'constrs0{tt1{tt@b@@ޠ@@@ȁO@O@@@ @@@A@=xtt @@@@ఠ%constޠL}u8u>M}u8uC@_A@@ˠ@@@N@@@@N@3WVVWWWWW@0E>@?@@@@@@ఠ(nonconstߠg}u8uEh}u8uM@zA@@@@@N@@@' @@@'@@@@డ$List)partition~uPuT~uPuX@ ~uPuY~uPub@@@@!a@M @@Q@@@Q@@Q@@P@@@@P@@P@Y@@@P@D@@@P@@P@@P@@P@3E3E3E3@@v@4/@@@@l@@(@@@@@@@@'v@@@@@@~@@@Ϡ@j@@@@@@@@@3@@@@@࣠@%cnstrA~uPuh~uPum@A@@@@@@డa "~uPu~uPu@@@@i@@@ P@@@@ @@ @@@@@@@3@*@!@"@@@@ఐ3%cnstr~uPuq~uPuv@@@@*cstr_arity!~uPuw"~uPu@ @@#@@@+~uPu,~uPu@@.Q@ $@@@@@@@ Q@*@6~uPuc7~uPu@@@@@@@@@@O@O@@@ఐ0&othersM~uPuN~uPu@@@@@@O@O@}@@ @@@@@@O@@A@b}u8u:@@డ!@luumuu@@!a@@@@@@@ @@@@@@@@@@@@@nnnn@@@"!@@@ @@@#@@"@@@@!@@ @@@@@@@3@H]V@W@XC<@=@>@@@@ఐe%constuuuu@@@E2@@@3N@6N@4@@ఐ_(nonconstuu@!@@LF@@@1N@9N@7.@@ @@N/@p@@Ov@@@P@@@Q@@@R|@@@S@A@xK@=@A@@@K@ఠ3build_other_constrsuuuu@A@@@@dm@@@K@@@JQ@4@@@5@@6Q@@@@.K@?@@@@pV@@@}K@E@@Fm0@@@t@@@sK@G@@HK@A@@BK@>3@@@@@@࣠@#envA*uu+uu@=A@@?3)(()))))@N2uu3ww@@@@@  @@!pA>uu?uu@QA@@43=<<=====@!V@@@@@@@@ РJ$Head(PatternsWuuXuu@ [uu\uu@@@3[ZZ[[[[[@+U@"@#@@@@A3^]]^^^^^@@@fuu @@ @3cbbccccc@@@ఐ9!ptuuuuu@@@i3rqqrrrrr@@@@(pat_desc|uu}uu@ @@@@@ʃK@ʀK@PK@N@Ġ)Constructuuuv@ঠ(cstr_taguv uv@Ġ.Cstr_extensionuvuv#@-@uv$uv%@@-@@@Z3@N@@@@ @-@@@[@@@ @@@@@\ @@@uvuv(@@4@@@^Q@]@@@0@@E@@E@@@ఐ)extra_patuv,uv5@(@@@Ġ)Constructv6v:v6vC@Tঠ(cstr_tagvDvMvDvU@GĠ-Cstr_constantvDvXvDve@$@vDvfvDvg@@$@@@ɒ@h@@@ @@\@@@i@Ġ*Cstr_blockvDvjvDvt@$@ vDvu vDvv@@$@@@ɔ@m@@@ @@r@@@n@@' @@v@@@o@Ġ,Cstr_unboxed!vDvy"vDv@$@@@@@@@r@@7@@@@@s@@@,vDvK-vDv@@@@@ɷQ@ɳQ@t@!c9vDv:vDv@LA@@@ɵR@vBvDvJCvDv@@@@@m@@@@@@@@ఠ&constrOvvPvv@bA@@@@@Q@@@@Q@ɽ3YXXYYYYY@+%@)@&@@@(pat_descjvvkvv@ఐ:!csvvtvv@@@@@@@Q@@@@@@ؠ@@@@٠@9@@@@@@@@Q@@@@@Q@@@@@Q@@}O@@@Q@@@ఐx!p³vv´vv@S@@X@·vv¸vv@@f[@A@ºvv@@@ఠ*get_constrvvvv@A@@@9D@@@Q@@@@Q@@@P@@@Q@@@Q@3@@@@@@࣠@!qAvvvv@A@@"3@1vvwwK@@@@@  @@ఐ!qvvvv@8@@@@93@$@@@(pat_descvvvv@2 @@= @Ġ)Constructvwvw@ఠ!c$vw%vw@7A@@@@@#@@@@@X$@@X$@@@ఐ!c3vw4vw@@@@@]321122222@0@@@@?ww%@ww&@@m9@@m9@@@డM+fatal_errorJww*Kww5@z@@@z@@@@@zU@@@N@@3Parmatch.get_constr^ww7_wwJ@@aww6l@@z@@@ U@ U@ a@@ t@@b@@@Akvvv@@3gffggggg@d@@@xA@Q@@A@|@@ఠ,used_constrszwOw[{wOwg@ÍA@@ @@@HQ@@@@,Q@3ÄÃÃÄÄÄÄÄ@@@@@@డ$List#mapÙwOwkÚwOwo@ ÝwOwpÞwOws@@@@@@@@&@@@@@U@@@@@;1@@@@@@@3ðïïððððð@,@@@@࣠@A@ఠ!pwOwzwOw{@A@@D@@@wOw|wOw}@@J@@wOwywOw~@@@ࠠ@@@8S@@ @@ఐ"*get_constrwOwwOw@^@@@V_@@@@@@@?@@>i@@@=@@<3@p5@/@0@@@@ఐ@@@@@@k@@wwww@@RZ@@RZ@@@ఐ)extra_patww@4@@c@@@Auu@@+@uu@@3@~@@@A@K@@A@@@Ǡ@ఠ4build_other_constantx xx x$@A@@@@@@@@ @@~K@!A@"K@@@@@@@v@bK@ˀA@ˁK@@@@K@@@@@)K@Y@@Z*K@[A@\K@@@@š@ˊ@@@ˉK@@@@@SR@$@@@%R@@@@@@R@@@@K@@@I@@@˚K@@@K@@@K@@@K@@@K@@@K@@@K@3XWWXXXXX@B~w@x@y@@@࣠@$projAkx x%lx x)@~A@@w3jiijjjjj@sx x txy @@@@@  @@$makeAx x*ŀx x.@ŒA@@x3~}}~~~~~@!@@@@@@@@%firstAŐx x/őx x4@ţA@@y3ŏŎŎŏŏŏŏŏ@@@@@@@@@$nextAšx x5Ţx x9@ŴA@@3ŠşşŠŠŠŠŠ@@@@@@@@@!pAŲx x:ųx x;@A@@3űŰŰűűűűű@@@@@@@@@#envAx x<x x?@A@@3@@@@@@@@@@ఠ#allxBxHxBxK@A@@fK@=K@@@@R@3@*@!@"@@@డY$List#mapxBxNxBxR@ xBxSxBxV@@R@@@@@@%@@@@@@@@@@0@@@@@@@3        @,@@@@࣠@cA@ఠ!p$xBx]%xBx^@7A@@D@@@,xBx`-xBxa@@J@@/xBx\0xBxb@@@렠@@@S@@ @@ఐڠ$projBxBxfCxBxj@@@M3@??@@@@@@b'@!@"@@@@ఐ0!pTxBxkUxBxl@@@ @(pat_desc[xBxm\xBxu@ @@@@@@_@`xBxWaxBxv@@@&@@@@S@)S@'@@ఐ#envtxBxwuxBxz@@@8g@@@@@A@yxBxD@@Aఠ)try_constƄx~xƅx~x@ƗA@@@R@-@@2@@@wR@/@@13ƎƍƍƎƎƎƎƎ@@@@@@࣠@!iAơx~xƢx~x@ƴA@@3ƠƟƟƠƠƠƠƠ@'@"@@.!@@0S@,@'@(@@@@ @@డ$$List#memƿxxxx@ xxxx@@.3@@@@@>@./@@@<@@;..@@@:@@9@@83@2>M@5@6@@@@ఐE!ixxxx@ @@Z@@ఐ#allxxxx@]@@.W@@@KT@NT@M%@@= @@v@@@OT@I+@ఐ)try_const xx xx@e@@@@@R@@Q;@@ఐ$nextxxxx@g@@J@@ఐ!i*xx+xx@T@@W@@.xx/xx@@Z@@'@@[@ఐΠ(make_pat;xx<xx@<@@@/@@g@@@@f@@e@@@@d@@c@@@@a@@`@@_@@^~@@ఐ䠐$make`xxaxx@̰@@X@@ఐϠ!imxxnxx@@@@@qxxrxx@@b@@ఐР!pxxǀxx@@@P@(pat_typedžxxLJxx@r @@ @@@{T@ˆT@˃@@ఐ!pǜxxǝxx@հ@@m@'pat_envǣxxǤxx@ @@@@@yT@ˋT@ˈ@@s @@@ǯxx @@#@ A@@+@@ː*@@ˏR@ˍ@@@Ǹx~x@@ఐ>)try_constxxxy@@@@=@@˔1@@@˓@@˒3@(@@@@ఐK%firstxye@2f@@ @@g@@@$h@@I@di@@@sjA@K@˧q@A@n@nm@@ఠ0some_private_tagylypyly@A@@@@@˩K@˨3@ @@@@@2ylyyly@@ylyyly@@ @A@ylyl@@@@ఠ+build_otheryyyy@#A@@@+@@@K@̻@@@̺K@˫@@ˬ@ՠ@w~@@@2S@݅@@@݆@@݇S@m@@@K@˱@@˲K@@@K@˳@@˴K@˭@@ˮK@˪3@??@@@@@@Q_X@Y@Z@@@࣠@#extASyyTyy@fA@@=3RQQRRRRR@L[yy\)s@@@@@  @@#envAgyyhyy@zA@@@3feefffff@!T@@@@@@@@ఐ#envyyyzyy@Q@@@@R3xwwxxxxx@@@@ĠȈyyȉyy@@@@@`3ȆȅȅȆȆȆȆȆ@@@@@a@@@ఐ%omegaȓyyȔyy@H@@V @Ġ,ȟyyȠyy@+@ఠ!d Ȭyyȭyy@ȿA@@zK@˽5@@@ȶyyȷyy@@K@ܠK@K@هK@/K@K@YK@њK@ͤK@IK@ K@˾Q@@yyyy@@@%@@@Z@@yyyy@@8K@K@\K@K@܉K@ټK@۪K@dK@pK@,K@K@ԎK@K@ћK@ͥK@gK@kK@(K@,K@˿K@˻@@@@@@:.@@@@@@@ Р $Head(Patternsyyyy@ yyyz@@@3@|u@v@w@@@@A3      @@@(yy @@ @3%$$%%%%%@@@ఐ!d6zz7zz@@@343344444@@@@(pat_desc>zz?zz@b @@@@@wK@tK@8K@5K@*K@.K@K@@Ġ)Construct^z#z+_z#z4@ڠঠ(cstr_tagiz#z7jz#z?@Ġ.Cstr_extensionqz#zBrz#zP@5y@vz#zQwz#zR@@5x@@@3vuuvvvvv@V@@@@ @5u@@@@@@ @@@@@ @@@Ɇz#z5ɇz#zT@@@@@S@@@@0@@M@@M@@@ఐ*(make_patɗzzɘzz@@@@@g@̴K@̶@@@̸K@\R@;@@@@0@@@?@@>@)@@@=@@<$!@@@:@@9@@8@@7E@@ภ(Tpat_varzzzz@డ,create_local%Identzzzz@ zzzz@@}@@@}@@@h@@gz@@@f@@ep@@+*extension*zzzz@@zzzz@@@@@qT@sT@r@@' @@@@@`@tT@o@ຠ3#txt#loc!a@ |@@@ @@@ 3#loc !t@@@ @@A @Azz@@g@@Ayy@@f@#txt.z{/z{ @+*extension*5z{ 6z{@@8z{ 9z{@@@@@̀S@́@'#locEz{Fz{@ఐ!dPz{!Qz{"@.@@@'pat_locWz{#Xz{*@p @@A@@@̐S@̔@@@`z{az{+@@2/@@@bS@̣@@@̢@డȅ#Uid^@@ఐޠ#envB||C||@ɰ@@k@@ఐ!dO||P||@-@@x@@A@@y@@@AT{{U||@@@Ġ'Variant`||a||@ঠ(cstr_rowk||l||A3@@@@@B3@@@jA@3@@AkA@3@@ClAp@mlA@ఠ @̋A@@@@@@@3}||}}}}}@]@@@(type_row̉||̊||A3@@@@@C3@@@A@3@@AA@3@@BA@A@ఠ @̩A@@@@@@@@@@@@!@@@̤||̥||@@@@@S@)@@@L@@k*@@k*@@@@ఠ$tags ̶}}̷}}@A@@F@@@ͼS@͈@@@͛S@̓3̿̿@QN@P@O41@3@2@@@డ<$List#map}}"}}&@ }}'}}*@@5@@@@S@͋@@͎*@@͍@@͌@ @@@͊@@͉{5@@@͇@@͆@@ͅ3@0@@@@࣠@H A@ఠ!d  }+}? }+}@@A@@S@ͣJ@@@}+}B}+}C@@WP@@}+}>}+}D@@@@`@@ͧY@@ @@ఐ"!d+}H}^,}H}_@!@"@#@@"3*))*****@k,@@@(pat_desc5}H}`6}H}h@Y @@ª@@K@ͮS@ͬ@Ġ'VariantJ}n}K}n}@ঠ#tagU}n}V}n}A3@@@Ͳ@@@3@@ATA@3@@BUAp@m3ji@@CVAZ@WVA@ఠ @uA@@@@ͷ9@@@i}n}j}n}@@@@@͹X@͸A@@@'@@9B@@9B@@@ఐ#tagx}n}y}n}@@@@@3wvvwwwww@N@@@@̈́}}ͅ}}@@NW@@NW@@@ ภ͍}}͎}}@@@@@@@d@͔}}@@f@@@A͖}H}X @@3͒͑͑͒͒͒͒͒@h@@@͙}+}9͚}}@@@@@͠@@͟T@T@@@ఐI#envͭ}}ͮ}}@4@@@@@@@A@Ͳ}} @@@ఠ.make_other_pat ͽ}};}}@A@@@x@@@S@@@@L@@@S@@@A@@@@@@U@@@@S@@@S@@@S@3@"6/@0@1@@@࣠@#tag A}}}}@A@@13@@}}~O~@@@@@  @@%const A}~ }~@A@@:3@!H@@@@@@@@@ఠ#arg ~~~~@.A@@/@@@V@@@@V@3%$$%%%%%@+[@"@#@@@ఐ1%const6~~#7~~(@ @@g@ภ$None?~~.@~~2@@@@Š!@@@@ภ$SomeM~~8N~~<@డN%omega(Patterns[~~=\~~E@ _~~F`~~K@@L@@=9@@@@$V@<@g~~ @@&>@A@i~~ @@ఐ(make_pats~O~]t~O~e@t@@@@@@@@@@@@@@@@@@@@@@@@@@3·ΆΆ·····@cwp@q@r@@@@ภ,Tpat_variantΘ~O~gΙ~O~s@Sఐ#tag΢~O~tΣ~O~w@@@@ఐ#argέ~O~yή~O~|@!@@r@@@@@@@@@V@V@3@ఐL(cstr_row~O~~~O~@@@kf@@@@@@V@1V@/I@@~O~f~O~@@U@N@@ఐ:!d~O~~O~@İ@@9]@(pat_type~O~~O~@ٰ @@r@@@V@7V@4k@@ఐW!d~O~~O~@@@Vz@'pat_env ~O~@ @@Ȁ@@@V@L~~M~~@>@@@W@@@OT@S)@@@@-*@A@V~~ @@డ$List)fold_leftf~~g~~@ j~~k~@@C[@@@@ԠƝƛ@@@@@@@@@S@@@@S@Y@@b@@D@@@#S@Ά@@@@ζS@·@@ΈS@\@@a)@@`@@_@@^@-@@]@Cx@@@[@@Z5@@X@@W@@V3ϦϥϥϦϦϦϦϦ@@@@@@@࣠@&others AϼϽ"@A@@J3ϻϺϺϻϻϻϻϻ@@@@@@@ A@ఠ#tag $'@A@@A3@*!a@@@@@@ఠ!f ()@A@@I@@#*@@@W@R@@Ί@@ @@డb$List#mem.C.G@ .H.K@@7q@@@~S@&S@S@S@ΥS@Δ@@Ε@7v@@@Γ@@Β7u@@@Α@@ΐ@@Ώ3@KT@N@OF@@@A@@@@ఐ\#tag,.L-.O@@@@@ఐ$tags9.P:.T@S@@7:@@@΢W@ΦW@Τ'@@H @@@@@ΧW@Π-@ఐ&othersQ.ZR.`@}@@7@డΡ.row_field_repr`f~af@p@@@p@@@έ@@ά@@@Ϋ@@ΪP@@ఐ!fwfxf@X@@]@@@@@@@δa@Ġ'RabsentЈЉ@@@@@@@@λ3ЉЈЈЉЉЉЉЉ@q@@@@@@@μ@@@ఐࠐ&othersЙК@Ű@@&@Ġ'ReitherЦ&Ч-@Cఠ!c Я/а0@A@@C@@@3бааббббб@@@@@к2л3@@C@@@@@@ @@56@@C@@@@@@&7@@@@@@@@@@@@@ภװPR@dఐ'.make_other_pat;I@@@@@@@@@@j@@@@@]@@@@@@@@@@@@@3@WP@Q@R@@@@ఐ=#tag JM@@@}@@ఐk!cNO@@@@@@Y@Y@$@@A @@%@ఐt&others-S.Y@Y@@0@@M@@1@Ġ(Rpresent;Zn<Zv@Bఠ#arg DZwEZz@WA@@BW@@@@@@2@@@ @@{@@@6@@~@@@9@@@ภZ[Z\Z@ఐ.make_other_patgZ~hZ@<@@@@@@@@@@@@ @@ ȘȖ@@@ @@@ @@@ @@@@3~}}~~~~~@gE>@?@@@@@@ఐ#tagѐZёZ@r@@@@డƠȰўZџZ@Ű@@@C]@@@;@@@:Y@,@@-@ @@+@@@*@@)@@(2@@ఐ{#argѿZZ@<@@?@@ภ$NoneZZ@Q@@@)Y@?M@@ZZ@@O@@@!@@Z@7W@@t @@`S@Z@ఐ,&othersZZ@@@re@@@@sf@@@Afx@@u]@.@@@w_@Z@@@@@{@o@@z@@y@@xT@_T@[<@@ภ~@}@@@S@f^@@డV*row_fields@9@@@@@@n@@m9@9@@@k@4@@@l@@j@@@i@@h@@ఐ#row9:@@@@@@}U@U@~@@DE@@F@@@uT@πU@x@@ @@@ĠҰXY@@@@@ѷƠ~|@@@ώ@@@ύ@@@ό@@@ϋ3eddeeeee@@@@@Ǡ֠ɎɌ@@@ϒ@@@ϑ@@@ϐ@@@Ϗ@@@@ఠ#tag ҄҅ @җA@@@@@U@ϰ3҈҇҇҈҈҈҈҈@@@@డv5has_fixed_explanation%Btypeҝ !Ҟ &@ ҡ 'Ң <@@;@@@;@@@ϵ@@ϴ;@@@ϳ@@ϲ3ҪҩҩҪҪҪҪҪ@@@@@ఐ#rowҺ =һ @@@@;@@@ϾV@V@Ͽ@@( @@?@@@V@ϼ@ఐ 堐0some_private_tag F V@ @@LU@&@Aఠ%mktag \v\{@A@@@(@@@V@@@V@@@b@࣠@#tag A\|\@ A@@3@T$@@@@@W@@$@%@@@@ @@డ}$List#mem@ @@:@@@@ @@X@@ఐ$tagsJK@d@@:0@@@X@X@%@@> @@@@@X@+@ఐ%mktagde@f@@@@@~@@;@@డ!^wx@@@@@@@@@@@@@@@@@@@@@Ϛ^6^6ϛ^6^\@@ϙq@@@@@@@@@@@@@@@@@@@@@@t@@ఐ#tagӮӯ@~@@@@!'ӹӺ@@Ӽӽ@@<@@@Y@ Y@ @@@@V@@@g@@@ఐܠ#tag@@@@@@@A@@@@@@V@@@@\n @@ఐ %mktag@@@@/@@@@@@@3@@@@@+AnyOtherTag@@@@B@@@"V@!@@@@~@)@@|@   @@7~@A@  @@ఐY.make_other_pat@@@@@@@0@@/@@@@.@@-͏GE@@@,@@@+@@@*@@)@@(3-,,-----@@@@@@@ఐ#tag?@@ @@@@@DU@HU@G@@ภúQR@ù@@@@@@BU@L'@@D@@ K@>*@Q @@ @Ġf0g2@ఠ#pat o- @ԁA @@ڠ˒ː@@@Ϡ@@@ϟ@@@Ϟ@ఠ*other_pats Ԅ<@ԖA @@˪˨@@@Ϥ@@@ϣ@@@Ϣ@@@ϡ@@@(@@˺˸@@@Ϩ@@@ϧ@@@Ϧ@@@ϥ@@ɠ@@@Ϭ@@@ϫ@@@Ϫ@@@ϩ@@@డ'$List)fold_left@P@T@ @U@^@@H@@@@,@ @OK@T@Ш@@@T@X@@a@>@@@зT@[@@`@@_@@^@@]@@@\@Hà@@@Z@@Y$@@W@@V@@U3@M@@zt@u@v@@@@࣠@%p_res A _v _{@A@@;3@@@@@@@#pat A_|_@+A@@83@'M@@@@@@@@ఐν(make_pat*+@+@@@TaK@Q@@@SK@T@ЭW@Ќ@@Б@@@@А@@Џ@κ@@@Ў@@Ѝε@@@Ћ@@Њ@@Љ@@Ј3LKKLLLLL@6Bp@9@:@@@@ภ'Tpat_or]^@ ఐR#patgh@@@@ఐl%p_resrs@V@@$@ภ$None|}@@@@@@@в@@@бX@7@@ՉՊ@@ZW@Ю<@@ఐ !dՙ՚@ w@@ K@(pat_typeՠա@Ό @@%@@@ХX@X@Y@@ఐ !dնշ@ @@ h@'pat_envսվ@Π @@4@@@УX@X@v@@ @@T@Сy@_q@@@@@z@@@y@@x@@wU@U@@@ఐt#pat@@@T@@@ఐn*other_pats@@@Iʠ@@@tU@U@@@< @@ @@@A~~@@ t@@@ @@@ @R@@  ?@Ġ(Constant @mĠ*Const_char@@ !@@@@@3@ @@@@@ @@}@@@@@@ @@ @@ @@@@ఠ)all_chars 1%32%<@DA@@@@@ѭS@~@@@ёS@y @డԲ$List#mapM?KN?O@ Q?PR?S@@@@@@ rS@с@@ф%@@у@@т@  @@@р@@0@@@}@@|@@{3feefffff@ F@@@@࣠@Ӿ A@ఠ!p ThրTi@֒A@@MS@љ @@@։Tj֊Tk@@  @@֌Tg֍Tl@@@@ @@ѝ @@ @@ఐ"!p֡Tv֢Tw@!@"@#@@"3֠֟֟֠֠֠֠֠@ ,@@@(pat_desc֫Tx֬T@ϰ @@ @|@ѾK@ѤS@Ѣ@Ġ(Constant@Ġ*Const_char@Ȕఠ!c @A@@Ȕ@@@ѩ4@@@@@6@@@Ѫ:@@@ @@2;@@2;@@@ఐ!c@@@@@3@G@@@@@@GP@@GP@@@ ภs@r@@@`@@@ѱ]@@@_@@@ATp @@3@a@@@Tb @@@@@і@@ѕT@ѹT@ѷ @@ఐ#env@@@@@@@ @A@!%/@@Aఠ*find_other ,-@?A@@@B@@@ұS@@@@ S@@@Шb`@@@@@@U@Һ@@@S@@@@@3HGGHHHHH@)"@@@@@࣠@!i !A[\@nA@@+3ZYYZZZZZ@9@4@@@1@@0@@T@@@T@ѿ@?@@@@@@@@$imax "Axy@׋A@@?3wvvwwwww@*K@!@"@@@@@@డdf׋,׌-@c@@@dS@ҲS@nS@oS@@@@ @@f@@@@@@@3כךךכככככ@%1f@(@)@@@@ఐU!i׭*׮+@1@@|@@ఐE$imax׺.׻2@@@@@@@8@@@V@#@డ4%raise8=@3 @@@3 @@@@@V@@@7@@ภ)Not_found>G@z@@@3@@@V@H@@@@I@@ఠ"ci #YkYm@A@@$charB@@@lV@3@`@@@డs$Char#chrYpYt@ YuYx@@@#intA@@@8@@7&@@@6@@5@(char.mlicc@@,Stdlib__CharB@@@@@@@e@@d7@@@c@@b4@@ఐ栐!i>Yy?Yz@°@@ A@@4@@HB@A@CYg@@డָ$List#memS~T~@ W~X~@@?ǰ@@@g@@@҆U@v@@w@?Ƞ @@@u@@t?@@@s@@r@@q3jiijjjjj@z@{@|@@@@ఐ"ci|~}~@ @@@@ఐX)all_chars؉~؊~@<@@?4@@@҄V@҉V@҇%@@B @@@@@ҊV@҂+@ఐw*find_otherأؤ@D@@@v@@ҏ@q@@Ҏp@@ҍ@@Ҍ?@@డ"D Dعغ@D @@@D @@@ҡ@@Ҡ@D @@@ҟ@@ҞD@@@ҝ@@Ҝ@@қ^@@ఐ!i@Z @@j@@A&@@D'@@@үW@ҴW@ҳy@@@@W@ҭ~@@ఐ$imax@W@@@@X@@@ఐҘ(make_pat@@@@@@ҿ@Ҏ@@@Ҿ@@ҽ@҇@@@Ҽ@@һ҂@@@ҹ@@Ҹ@@ҷ@@Ҷ@@ภ-Tpat_constant'( @ภ*Const_char0 1@ఐF"ci:;@˰@@@@@V@V@@@E F@@@@@V@@@MN@@ U@@@ఐ!d]^@;@@@(pat_typede&@P @@@@@V@V@@@ఐΠ!dz'{(@X@@@'pat_envف)ق0@d @@@@@V@V@@@ @@L@ٍ~ @@P@L @@Q@ِ'@@@7A@@d@@@_@@^@@@@S@=@@@ٝ@@Aఠ)try_chars 0٨>P٩>Y@ٻA@@@(@@@@=S@ @@@@MS@ @@ S@@@@S@@@@@@S@@@3@o@@@@ĠSeseu@R@@@@,3@~:@5@@@@T@@:@;@@@@@డ%omega(Patternseye@ ee@@@@/@Ġnj@Nj@ఠ"c1 1  @A@@U3        @4@@@@ఠ"c2 2@,A@@Z @@@@@i@c@@@ఠ$rest 3-.@@A@@ٍS@ @@@&@@@ @@'@@@ఐ*find_otherBC@@@@E@@@@@@@@Ӹpn@@@@@@@@@@@@@3VUUVVVVV@W@Q@RK@E@F81@2@3@@@@డ$Char$coders@ vw@@@@@@4@@3g@@@2@@1)%identityAA @@@g_h_ @@fA@@@@@@@4@@3@@@2@@1>@@ఐ"c1ڣڤ@F@@K@@ڧڨ@@E@@@.@?W@;U@@డ%$Char$code@ @@N@@@@@@D@@CN@@@B@@Aw@@ఐà"c2@~@@@@@@9@OW@K@@@@S@*@Ġ)Not_found  (@Ë@@@@@@@[@@@ఐX)try_chars , 5@$@@@W@@_>@@^@@ఐ䠐$rest 6 :@@@dS@e@@@@N@@@@@P@@A 4>\ @@@ @@@s@@ӄZ@@ӃS@ӁG@@@$>H@@ఐ)try_chars.HR/H[@R@@@ӫ@@@@Ӌ@@@@ӌ@@ӊ@@@Ӊ@@ӈN@@@Ӈ@@ӆ8@@ภwP\jQAܠ@a [\m@@@@@ӨS@ӴS@ӾS@ӽU@@zk\ol\r@@@@@өS@ӵS@S@ӿf@@' @@@@@@ӧS@ӳS@q@ภۇ\u7A@A ۑ\x@@8S@S@S@@@Z۞\z۟\}@@5S@S@S@@@ @@2S@S@@ภذ۱\aA<@p ۻ\@@,S@S@S@@@y\\@@,S@S@S@@@ @@,S@S@@ภAf@` @@,S@S@S@@@~@@,S@S@S@@@ @@,S@S@ @ภ,Aɐ@డ}$Char#chr@@@ @@@ @@@!@@ ,@@@@@@@@01@@@@@*T@,T@+)@@5 @@VS@@-T@(0@@డڴ$Char#chrOP@ ST@@A@@@A@@@2@@1d@@@0@@/Q@@hi@@T@@@;T@=T@<a@@# @@S@@>T@9h@@t@@S@S@?m@ภ2A@3A@@@@S@Gz@@:A@@@@S@@@AA@@@@S@@@HA@@@@S@@@OA@,@@@ӶS@@@ܧ\hW@@ 2@@@ӦS@Ӳ@@^@@oS@Ӥ@a@@@b@@f@c@@t2@Ġ(Constantܾܿ@Ġ)Const_int@D@@@F@@@3@@@@@@ @@-@@@@@@ @@@@@@@ఐ4build_other_constant@@@@@[@@R@X@@gk@@@R@_A@f@@e@@@@d  @@K@@@@K@ԼR@SA@c@@b@#@@a@@+@@`+A@^@@]@։9K@\@@@[@@Z@Ӡ@֚J@@@W@v@@V@@@U@@T֡=@@@R@@Q@@P@@O@@N@@M@@Ll@@@Ġ(ConstantKL@ϪĠ)Const_intTU&@Ѡఠ!i 5]'^(@pA@@@@@ԣ3_^^_____@?@@@@@f)@@@@@Ԥ@@@ @@@@@ఐ!ir-s.@@@@@3qppqqqqq@R@@@@|1}2@@@@@ ภ݅=݆B@@@@@@@ԫ'@݌6@@)@@AQ 6ݏ  @@@ݑ ݒC@@@@@ԛ@@ԚS@ԳS@Ա{@@@ఠ!i 7ݪDZݫD[@ݽA@@@@@ภ-Tpat_constantݴD_ݵDl@ภ)Const_intݽDmݾDv@:ఐ!iDwDx@@@@@3@'@@@@Dy@@'@@@T@ @@!@@ @@A/DQ @@@DPDz@@@@@Ԙ@@ԗS@S@@@@{{@@S@@@డ`$succ{{@@IK@@@@@IO@@@@@(%succintAA@@@*+_+_*+_+@@l@@@@@@@@@@@@@@I@@ఐx!d${%{@@@wV@@ఐ͠#env1{2{@@@ c@@U@@@Ġ(Constant?@@ОĠ+Const_int32HI@s@MN@@u@@@ 3MLLMMMMM@-@@@@@ @@Ю@@@ @@@ @@@@@@@ఐs4build_other_constantab@l@@@@@8@R@@@Ϛ@@@dR@A@@@@@@@աա@I@K@@@@ K@ZR@A@@@@#@@@@+@@+A@@@@ 9K@@@@@@@T@J@@@@@@@@@@@"=@@@@@@@@@@@@@@@l@@@Ġ(Constant@+Ġ+Const_int32@ఠ!i 8@A@@@@@A3@@@@@@@@B@@@B@@@ @@@@@ఐ!i@@@@@3@@@@@  @@@@@ ภ}@|@@@j@@@I'@ @@)@@A 9 @@@@@@@@9@@8S@QS@OL@@@ఠ!i :+3,4@>A@@@@@ภ-Tpat_constant586E@ภ+Const_int32>F?Q@iఐ!iHRIS@@@@@3GFFGGGGG@('@@@@OT@@@@@^T@c @@!@@ @@A/W* @@@Y)ZU@@@@@6@@5S@iS@g@@_ilVbmVd@@S@k@@డ%Int32$succ~VeVj@ ߂Vk߃Vo@@@%int32N@@@u@@t@@@s@@r@)int32.mliR  R  7@@-Stdlib__Int32K@@@@@@@@@ @@@ @@ S@@ఐ!d߯Vp߰Vq@@@`@@ఐX#env߼Vr߽Vu@C@@m@@_@@@Ġ(Constantv~v@)Ġ+Const_int64vv@Ь@vv@@Ю@@@3@@@@@@ @@9@@@@@@ @@@@@@@ఐ4build_other_constant@@@@@g@@nR@.@@=@@@לR@5A@<@@;@@@@:,,@@tK@v@@@xK@גR@)A@9@@8@#@@7@@+@@6+A@4@@3@ٕ9K@2@@@1@@0@ߠ@٦J@@@-@~@@,@@@+@@*٭=@@@(@@'@@&@@%@@$@@#@@"l@@@Ġ(ConstantWX@ҶĠ+Const_int64`a@9ఠ!i dij@|A@@A@@@y3kjjkkkkk@K@@@@@r@@@@@z@@@ @@@@@ఐ!i~@@@@@3}||}}}}}@^@@@@@@@@@ ภ@@@@@@@ׁ'@@@)@@A] e @@@@@@@@q@@pS@׉S@ׇV@@@ఠ!i f@A@@@@@ภ-Tpat_constant'@"ภ+Const_int64(3@Ѣఐ!i45@@@@@3@'@@@@6@@3@@@זT@כ @@!@@ @@A/  @@@ 7@@@@@n@@mS@סS@ן@@_j 8D 8F@@S@ף@@డn%Int64$succ  8G  8L@   8M 8Q@@@%int64O@@@ؽ@@ؼ@@@ػ@@غ@)int64.mliR  R  6@@-Stdlib__Int64K@@@@@@@f@@e@@@d@@cS@@ఐ!d: 8R; 8S@@@`@@ఐ㠐#envG 8TH 8W@ΰ@@m@@_@@ @Ġ(ConstantU X`V Xh@ӴĠ/Const_nativeint^ Xi_ Xx@@c Xyd Xz@@@@@3cbbccccc@C@@@@@ @@@@@@@@ @@-@@-@@@ఐ4build_other_constantw ~x ~@@@@@@N@ۨR@ن@@ٕ @@@R@ٍA@ٔ@@ٓ@@@@ْطط@_@ۮK@۰@@@۲K@R@فA@ّ@@ِ@#@@ُ@@+@@َ+A@ٌ@@ً@ 9K@ي@@@ى@@و@j@1J@@@م@@@ل@@@ك@@ق8=@@@ـ@@@@~@@}@@|@@{@@zl@@@Ġ(Constant  @AĠ/Const_nativeint  @rఠ!i   @A@@z@@@3@@@@@@ @@X@@@@@@ @@@@@ఐ!i    @@@@@3@@@@@  @@@@@ ภГ  @В@@@׀@@@'@# @@)@@A &  @@@( ) @@@@@@@S@S@V@@@ఠ!i A B @TA@@@@@ภ-Tpat_constantK L @ภ/Const_nativeintT U !@۠ఐ!i^ "_ #@@@@@3]\\]]]]]@>'@@@@e $@@@@@T@ @@!@@ @@A/m  @@@o p %@@@@@@@S@S@@@_n&2&4@@S@@@డ)Nativeint$succ&5&>@ &?&C@@@)nativeintM@@@@@@@@@@@-nativeint.mliX  X  @@1Stdlib__NativeintK@@@@@@@۠@@۟@@@۞@@۝S@@ఐ!d&D&E@@@`@@ఐn#env&F&I@Y@@m@@_@@@Ġ(ConstantJRJZ@?Ġ,Const_stringJ[Jg@̠@JhJi@@@@@!3@@@@@ @@@@"@@@ˠ@@@$@@@#@@@@@]@@@%@@@'@@@@@@@ఐ"4build_other_constantmwm@@@@@؋@@܇R@@@2@@@aR@ǐA@@@@@@@QQ@@܍K@܏@@@ܑK@9R@ۻA@@@@$@@@@,@@,A@@@@ܺ:K@@@@@@@@ˠK@@@ۿ@@@۾@@@۽@@ۼҠ=@@@ۺ@@۹@@۸@@۷@@۶@@۵@@۴{@@@Ġ(Constant|}@۠Ġ,Const_string@hఠ!s @A@@p@@@3@p@@@@@@t@@@ @@@@sp@@@@@@@@@.@@@@@@@@4@@@@@డ"&String&length@ @@@&stringQ@@@U@@U@@@U@@U.%string_lengthAA @@@a((a(Z@@D@ @@@@@@@@@@@@@3@_X@Y@Z@@@@ఐf!s@ @@2@@@"V@$V@#@@B @@@@@@p@@@ ภ҃  @҂@@@p@@@(}@@@@@A ° @@@@@@@@@@S@0S@.@@@ఠ!i à12@DA@@B@@@ภ-Tpat_constant;)<6@ภ,Const_stringD7IE7U@'డ&String$makeT7VU7\@ X7]Y7a@@@=@@@U@@U@$charB@@@U@@U@@@U@@U@@U@zN  {N  =@@yA@"@@@W@@@Q@@P@@@@O@@N@@@M@@L@@K3@c\i@V@W@@@@ఐc!i7b7c@ @@v@@j7d7g@@=@@@_U@dU@c @@T @@Ԋ@@@F@eU@](@డ_$none(Location7h7p@ 7q7u@@]@@Ԡ@@@GT@iT@hC@ภ$None7v7z@W@@@Ԧԣ@@@I@@@HT@oV@@7H7|@@8@@@=T@E^@@@@_@@A  @@@ 7}@@@@@Ð@@S@tS@r_@@@~~@@S@v @@డq$succ ~ ~@@@@@@@@@~@@@}@@|#@@ఐt!d ~!~@@@s0@@ఐɠ#env-~.~@@@=@@!@@@Ġ(Constant;<@ךĠ+Const_floatDE@y@IJ@@{@@@+3IHHIIIII@)@@@@@ @@ת@@@,@@@ @@@@@@@ఐ o4build_other_constant]^@h@@@@@4@ZR@ܟ@@ܮȤ@@@NR@ܦA@ܭ@@ܬ@@@@ܫܞܞ@F@`K@b@@@dK@R@ܚA@ܪ@@ܩ@$@@ܨ@@,@@ܧ,A@ܥ@@ܤ@:K@ܣ@@@ܢ@@ܡ@Q@K@@@ܞ@@@ܝ@@@ܜ@@ܛ=@@@ܙ@@ܘ@@ܗ@@ܖ@@ܕ@@ܔ@@ܓm@@@Ġ(Constant@(Ġ+Const_float@ఠ!f Ġ@A@@@@@3@@@@@@@@?@@@@@@ @@@@@డZ/float_of_string @@@@@@@@@0@@@@@3@*#@$@%@@@@ఐ1!f  @ @@"@@@V@V@@@% @@@@12@@;@@@ ภԛ$=%B@Ԛ@@@ۈ@@@H@+6@@J@@A Ű. @@@01C@@@@@̐@@S@ S@H@@@ఠ!f ƠIDZJD[@\A@@3HGGHHHHH@(@@@@@ภ-Tpat_constantTD_UDl@ภ+Const_float]Dm^Dx@֒డ/string_of_floatiDzjD@@ɤ@@@@@Ƀ@@@@@@hWhWhWh|@@{@@@@@@@!@@ @@@@@3@cD@>@?@@@@ఐK!fDD@ @@)@@DyD@@@@@@,U@(@@MD@@@@@T@!@@U@@,"@@AdDQ @@@DPD@@@H@@9@@S@0S@.@@#0.0@@WR@OR@*S@2y@@࣠@!f A@A@@j@@@@డK"+.@@z@@@@@@%@@@@@)@@@@@@@)%addfloatBA @@@@ << <@@=@@@@<@@;@@@:@@9@@83@I@@@A@@@@ఐP!f!"@ @@@@#1.0,-@@A@@@LU@QU@P!@@ @@U@J$@9:@@@@@Ր@@S@US@S@@ఐ!dNO@,@@@@ఐ#env[\@@@3@@@@l@Ġ%Arrayij@ఠ"am rs@A@@@@@0@@@|}@@@@@1H@@@@@BJ@@BJ@@@@ఠ+all_lengths Ƞ@A@@,@@@ݮS@j@@@}S@e3@x0)@*@+@@@డ$List#map@ @@ @@@@@@p&@@o@@n@h@@@l@@kN1@@@i@@h@@g3@,@@@@࣠@ A@ఠ!p ɠ  @A@@D@@@  @@J@@  @@@@@@݉S@@ @@ఐ !p % &@@ @!@@3@e*@@@(pat_desc ' /@* @@K@ݐS@ݎ @Ġ%Array!5E!5J@Ӷఠ#am' ʠ !5L!!5O@3A@@Ӿ@@@ݓ'@ఠ#len ˠ.!5Q/!5T@AA@@@@@ݔ5@@@6!5U@@.7@@.7@@డhj@!5^A!5_@g@@@@@@ݫW@ݝ@@ݞ@ @@ݜh@@@ݛ@@ݚ@@ݙ3NMMNNNNN@U:3@4@5-&@'@(@@@@ఐ"amb!5[c!5]@ư@@@@ఐO#am'o!5`p!5c@@@+X@ݬ!@@@@@@@ݭX@ݨ'@ఐS#len!5g!5j@,@@1@@"k{"k|@@@@@@@ ภ "k"k@ @@@@@@ݲ@"k@@@@@A  @@3@@@@ "k@@@ y@@݂@@݁T@ݷT@ݵ @@ఐ O#env##@ :@@ @@ @@$@A@@@Aఠ*try_arrays ͠$$@A@@@@@@BS@ݻ@@:@@@)@@@(T@@@@S@ݽ@@ݿ3@DXQ@R@S@@@࣠@!l A$$@A@@&3@4@/@@ݼ*@@ݾT@ݺ@4@5@@@@ @@డp$List#mem % %@ %%@@P@@@TS@CS@S@S@S@@@@P@@@@@P@@@@@@@3&%%&&&&&@;Gc@>@?@@@@ఐN!l8%9%@ @@p@@ఐ+all_lengthsE%F%@f@@P8@@@U@U@%@@F @@@@@U@+@ఐ*try_arrays_%`%@n@@@@@@@;@@డTŠTǰq%r%@Tİ@@@T@@@@@@T@@@@@T@@@@@@@Z@@ఐ!l%@c @@f@@A&%@@T@@@V@V@u@@%%@@V@z@@G@@{@ఐC(make_pat'''@ᱰ@@@@@ @9@@@ @@ @2@@@ @@-@@@@@@@@@@@ภ*Tpat_array')'3@ ఐj"am'5'7@@@@@@@,U@1U@0@ఐ&omegas'9'?@T@@@@@@7@@6Ỡ@@@5@@@4@@3@@ఐ!!l '@ 'A@@@C@@@@:n1@@@/@@@.@@@-U@DV@?@@'( 'C@@LT@*@@ఐ!!d/'D0'E@! @@!@(pat_type6'F7'N@" @@@@@ U@ZU@W@@ఐ!!dL'OM'P@!*@@!$@'pat_envS'QT'X@6 @@@@@U@_U@\2@@ @@3@_% @@5@t A@@@@d@@cS@av@@@h$@@ఐ*try_arraysr(\fs(\p@@@@@@@@k@@jᜠ@@@i@@@h@@@g@@f3@@@@@@(\q(\r@@\@@@xS@zS@y@@' @@"YK@t@4 @@@ @@"]@@)s{)s|@@!d!l@@!d!l@@@డ%omega(Patterns)s)s@ )s"Y@"Z@⠰"[@@"w!~@@@Azz "]@@"y!>@yy"_@@"{3@!@@@@@Ayy"b@@"~"3@"l"cA@"K@߱"j@A@"g@"g"f@"}Aఠ,has_instance Ϡ++@A@@@/@@@@@@K@ߴ@@߽@@@K@K@K@K@߶@@߼3@"""@"@"@@@࣠@!p A++@ A@@&3@5@0@@ߵ'@@߷L@߲@5@6-has_instances @7k>K@@@@@@@K@߸@@߹6K@ߺ@@߻L@߳@77@@/A@@@@)(@@ఐ8!p,+-+@Z@5@6@@[3+**+++++@6B@@@(pat_desc6+7+@Z @@ZhO@@g@K@K@@Ġ,Tpat_variantN,O,@ ఠ!l ҠW,X,@jA@@ @@@3YXXYYYYY@.@@@@b,c,@@"迠@@@@@@@@@@ఠ!r Ӡv,w,@A@@@@@@@@#@@@4,@@J%@@J%@@ఐ%)is_absent,,@ж@@@ @@@@@@@@@@@@@@@@@@@@@3@wUN@O@P70@1@2@@@@ఐ]!l,,@@@G@@@O@O@@@ఐR!r,,@!@@KG@@@@@@O@O@1@@J@@Q@@@O@7@ภX,,@W@@@?@Ġ(Tpat_any--@¨@@@@@@@Ġ(Tpat_var-- @@- - @@@@@@@@۠@@@@@@@@@@@@@@@@@@@@@%@@@Ġ-Tpat_constant!-"-@@&-'-@@~@@@@@@ @@@@@@9@@@Ġ,Tpat_variant5-"6-.@@:-0;-1@@@@@@Ġ$NoneF-2G-6@@@@@餠g@@@@@@@@@@@W-7X-8@@@@@@@@@@@,a-9@@)@@)@@o@@*@@@ภѰh-=i-A@@@@ @Ġ*Tpat_aliasw.BFx.BP@~ఠ!p Ԡ.BR.BS@A@@ܠ@@@&P@@@@3@]@@@@.BT.BU@@†@@@ @@.BV.BW@@‡…@@@@@@@@.BX.BY@@ˆ@@@@@.BZ.B[@@Š@@@%@@@<.B\@@{'@@{'@Ġ,Tpat_variant.B_.Bk@w@.Bm.Bn@@r@@@9@Ġ$Some.Bo.Bs@V!p.Bt.Bu@A@@1S@@@%P@@@@@Ĝ9@@@)@@@(@@@'\@@.Bv.Bw@@@@@+@@@*h@@@:.Bx@@j@@j@@@@k@@@ఐ4,has_instance.B|.B@@@@3@@*@@3@@@@@@@ఐ!p.B.B@ @@A@@@@;@Ġ'Tpat_or#/$/@Ѡఠ"p1 ֠,/-/@?A@@ꈠ[K@8@@@=310011111@@@@ఠ"p2 נ>/?/@QA@@ꚠ@@@>@@I/J/@@@@@@@@@?@@@0S/@@@@@@@డ\/]/@@@@@@@@@@@@@@@@@@@@@@3kjjkkkkk@BKD@E@F:3@4@5@@@@ఐ,has_instance//@@@@@@@@@@ఐf"p1//@!@@e@@@)@@@@*@@ఐ٠,has_instance//@@@@@@@@=@@ఐy"p2//@E@@@@@N@@@@O@@?@@P@Ġ.Tpat_construct00@j@00@@ec@@@R@@@Q3@@@@@00@@c@@@S @ఠ"ps ؠ00@A@@K@@@h@@@g@@@fP@T!@@00@@n@mlj@@@[@@@Z@@@Y@g@@@\@@X@@@W>@@@M0@@@@@@@Ġ*Tpat_array"0#0@[@'0(0@@V@@@eR@I"ps2030@EA@@F\@@@70@@^@@^@@m@@_@@@ఐ9-has_instancesB1C1@=@@@;@@/@@3DCCDDDDD@e^@_@`@@@@ఐl"psV1W1@ @@I@@@@|@Ġ*Tpat_tupled2e2"@ఠ*labeled_ps ڠm2#n2-@A@@ՠ@@@@@@@~@٠@@@@@@@@}@@@|3@Y@@@@@'@@R@@R@@@ఐ-has_instances212>@@@@@@!@@ 3@l4-@.@/@@@@డ$List#map2@2D@ 2E2H@@ @@@@@HG@@@P@@@OO@I@)K@R@@@QO@F@@LO@.@@1O@+@@0@@/@ք!@@@-@@,j @@@*@@)@@(I@@డV#snd2I2L@@@!a@⠠@!b@@@@@@@'%field1AA@@@ nn nn9@@@@@@T@@C;@@BP@Jw@@ఐ*labeled_ps2M2W@@@ˠh@@@@P@SP@M@@(2?)2X@@K@>@@@@O@Ġ+Tpat_record73Y]83Yh@Sఠ#lps ۠@3YjA3Ym@SA@@T@SQ@@@@@@@N@@@@챠t@@@@@@@@@@@3\[[\\\\\@1@@@@e3Ynf3Yo@@P@@@ @@@4k3Yp@@3 @@3 @@@ఐl-has_instancesu3Ytv3Y@p@@@n@@^b@@]3wvvwwwww@MB;@<@=@@@@డ$List#map3Y3Y@ 3Y3Y@@@@@@@@@@@@@O@რ@@@@O@ᄠ@K@@@@O@@@O@k@@nO@h@@m@@l@l(@@@j@@iR @@@g@@f@@eP@@࣠@ A@@3Y3Y@@83@a@@@@@3Y3Y@@4@@ఠ!x ݠ3Y3Y@A@@9@@3Y3Y@@@R@I@D@@@@  @@ఐ!x3Y3Y@P@@@@Q3@"@@@ 3Y 3Y@@@v@@V@@P@P@8@@ఐߠ#lps3Y 3Y@@@Π@@@}P@P@@@+3Y,3Y@@K@{R@@@@RS@Ġ)Tpat_lazy:4;4@ఠ!p ܠC4D4@VA@@ퟠb@@@@@@@@@ @@@@@@@ఐ,has_instanceX5Y5@\@@@@@@@3ZYYZZZZZ@0"@@@@@@ఐ)!pl5m5@ @@ǠK@@@@@@ @@@@@Aw+ @@3srrsssss@H@@@ A@@@@_@@^K@\@@@+@lk@jm@@~@@߿r@@߾3@@@@@Ġ88@@@@@3@@@@@@ภ 88@@@@ @Ġ799@6ఠ!q ߠ9 @A @@K@e3@@@@ఠ#rem 9@A@@@@@g@@@@@@@@డ999@@@@@@@u@@t@@@@s@@r@@@q@@p@@o3@82@3@4,&@'@(@@@@ఐ(,has_instance99@@@@'@@@@@@ఐS!q99@!@@S%@@@@,&@@ఐ -has_instances99$@@@@@@@@9@@ఐg#rem'9%(9(@A@@K@H@@@@I@@9@@J@@A 07 @@@ @@@*@@8@@7K@5@@@97@@@RAఠ+satisfiable FRGR@YA@@@Ơɠa@@@K@n@@@q@@@pK@:@@E@@@@ K@i@@@h@@@gK@>@@D@@@{K@@@@C@@B@࣠@#pss ARR@A@@83@F@A@@;@4@@?#@@AL@<@@=L@9@L@M@@@@@@"qs ARR@A@@B3@*X@!@"@@@@@@ఐ2#pssR R@@@f3@V@@@@@Ġ:SS@9@@@@u3@@@@@v@@@ఐĠ-has_instancesSS)@Ȱ@@@/@@@\@@@[@@@Z@@Y@@@X@@W@@ఐP"qsS*S,@8@@,@@#@@~-@@T-/T-0@@D@@D@@@ఐe"qsU5?U5A@M@@P@Ġꇰ VGMVGO@@@@@M@@M@@@ภVGSVGX@@@@U@Ġ߮!WY`"WYb@߭ఠ!q *WY_ @<A @@K@y{@ఠ"qs 6WYd@HA@@@@@{@@@@@@@@@@ РE'General(PatternsRXhuSXh}@ VXh~WXh@@@3VUUVVVVV@82@3@4-'@(@)@@@@A3[ZZ[[[[[@@@ @23]\\]]]]]@@@డ*strip_varslXhmXh@Ұ@@@@@@@@@@@@@3tssttttt@@@@@డ9$viewXhXh@@@@@@@@@@@@@@@@ఐs!qXhXh@A@@s'@@@@@@@@V@/@@#<@@@@@3@[Xh@@3@S@@@(pat_descXhXh@װd@@@@R@@"Or@ఠ"q1 YY@A@@@@@3@z@@@@ఠ"q2 YY@A@@@@@@@@YY@@@@@@@@@@YY@@@'@@@@ (@Р@@@@@@@@ @@@@ @@@@@@@#@@%@@@@@1@@@:@ @<@@@E@ @G@ @@@@@]@@_@@@e@@@k@@@@m@ @@s@@@ }|@{@z@l@@@`@@@[Z@@@@@@y@xv@@@@@s@@@qp@@@@@@nm@@ @@@A@@Y@@@@@@@@@!@@@డN ZZ@@@@@@@@@@@@@@@@@@@@@@3@2+@,@-#@@@@@@ఐĠ+satisfiable Z Z@@@@@@@@@@@@@@@ఐ#pssZ Z@|@@)@@ภ)*Z+Z@ᶠఐf"q14Z @9 @@@@@@@ఐ "qsAZ@@@K@@@@T@T@T@@NZOZ@@K@Y@@I@@Z@@ఐ+satisfiable_Z`Z@ٰ@@@@@@ @@@@@@q@@ఐ#psstZuZ@Ѱ@@)~@@ภ~ZZ@ ఐ"q2Z @ @@Q@@@@ఐ`"qsZ@8@@;K@@@@T@T@@@ZZ@@DK@@@I@@6@@@@7@#Any@РVU@TS@@@'@@&@R@ @(@@%@ @$P@O@N@@*@LK@#@,@%@+@@)I@H@1@.@FE@:@0@<@/@CA@E@2@G@1@@-?@>@=;@]@7@_@6@6@e@8@4@k@9@@5@m@4@2@s@:@@30/@{@;-@@@=@@@>@ @@@@@?@@<,@+)@@C@@B@&@@D@$#@@F@@E@@A! @@G@@@#A@{@[ [@@@@Q3@3@@@@@@@S@@@@ఠ#pss \"\%@A@@@@@@@@$#@@@@@@@@@nK@tK@lK@@@@@@@@@S@@ఐ2simplify_first_col\(\:@e@@@LO?@@@@@@@@@@@=@@2@@@@cb@@@@@@@@@V!@@@@@@@@@@*@@ఐ#pss \; \>@f@@7@@>@@k8@A@\@@డ#not]BO]BR@g@@@g@@@%@@$g@@@#@@"3"!!"""""@@@@@@@ఐ뻠,all_coherent6]BT7]B`@ݻ@@@붠蘒@@@5@@@4@@@3@@2@@@1@@0$@@ఐ ,first_columnW]BbX]Bn@ܾ@@@@@@@@]T@F@@@@_@@@^T@K@@J@٠@@@`T@L@@I@@@H@@G @@@E@@D_@@ఐ#pss]Bo]Br@i@@?@@9@4@@Y@+@@X@@@WU@aU@Z@@]Ba]Bs@@'HT@A@@@@T@dU@U@@]BS]Bt@@g@@@.@jT@>@@ @@9@@@kS@,@ภ@^z^z@?@@@ZK@n@@ঠ'default``Au=ఠ @A@^6i.T@w@@@S@>@@@eS@q3@@@@'constrs``AuUఠ @A@ɠ@@@@z@)T@v@@y@@@x@@@``@@1@@@{$@@ఠ"q0 aa@1A@@j@@@T@|7@ఐ)discr_pat0a1a@J@@@@@@@@@ﴠ@@@@@造@ @@@2@@@1T@@@鄠@@@@3T@@@@@@@@@@@@~p@@డb&Simple%omega(Patternsrasa@ vawa@@{a|a@ @,pattern_dataР+*@)(@@@@@@ˠ@$@@@@@@@@ɠ!@ @@@@Ϡ@@@@@@@@@Π@@@@Ӡ@@@@@@@Ԡ@@@@@@@@@Ҡ@ @C  @@@@@@۠@h@@@ݠ@@@@@@@@@٠@[@@@@@ؠ@@@ࠠݐ@oܠ@@@@@@⠠@@@@䠠@ՠ2@@@@@@@@ᠠѐ@@@@t@@@@@@@@@ w24!w2V@@M@@@@@@U@T@@ఐ#pssNaOa@'@@ˠ@@<@@@頠@ @@@@@U@4U@-u@@6@@Bv@A@ga@@ఐˠ=build_specialized_submatricesqbrb1@v9@@@@@@E@@@D@@K@@@JA@IA@H@@G@O@@@C@@F@ @@@%@@B@@@A@@@@@@?!@@@=@@@<@@;@@:@@93@@@@@@డ!!@b>bA@8M@@@8M@@@@@@8H@@@@@g?g@@@B@=@@@@ @@డwyPhQh@v@@@v@@@#@@"@u@@@!@@ P@@@@@@@3_^^_____@;?f@9@:3`@-@.@@@@డ#notuhvh@kq@@@kq@@@8@@7kp@@@6@@5@@ఐѠ-is_absent_pathh@ޔ@@@@@@G@@@F@@E@@@D@@C;@@ఐ}!phh@D@@H@@hh@@k@@@A@UW@OR@@B @@@@@3@VV@?Z@@ఐ +satisfiablei.i9@ D@@@ @@[@ t@@Z c@@Y@@Xq@@ఐ#pssi:i=@y@@~@@డV!@j>j>@:@@@:@@@V@j@@@n@@m@: @@@l@@k>@@@i@@h@@g@@ఐw1simple_match_argsj>Tj>e@N@@@@@@@@@@@@@@@@@@@@@f?@@@@@@@@@@@@@@@@ఐ!pDj>fEj>g@߰@@E@@డI$Head%omega(PatternsYj>hZj>p@ ]j>q^j>u@@bj>vcj>{@ @b @@@@@@@ภqj>|rj>~@@@@;@@@~W@X@X@@@i @@ @@ఐ S"qsj>j>@ ,@@;@@@|W@W@0@@j>Sj>@@ 6K@z5@@@@ (6@@&@@X@@@U@/<@gj>@@@@@f@@@@@ S@S@~@@ఐ'constrskk@@@r@@@ S@S@@@ @@K@1S@ @cLX@@ X@_l@@ [@]BL@@@@@ ^@'Variant@ఠ!l mm@A@@=@@@3@ @@@@@mm@@?>@@@@@@@@ఠ!r mm@A@@DB@@@@@@!@@ m m@@@+@#@@@,@Р@@@@N@@M@@ @O@@L@ @K@@@@Q@@#@S@%@R@@P@@1@U@@:@W@<@V@@E@Y@G@X@@T@@@]@^@_@]@@e@_@@k@`@@\@m@[@@s@a@@Z@{@b@@@d@x@@e@sr@@g@@f@@c@@@j@@i@@@k@@@m@@l@@h@@n@@@JA@@m@@@@ @@@@@ @@ఐ㗠)is_absentmm@(@@@@@@@@@㉠@@@@@@@@,@@@@@@@3@ <5@6@7 @@@@@@ఐD!l&m'm@@@@@@S@S@@@ఐ;!r:m;m@!@@㽠@@@@@@S@S@1@@J@@@@@S@7@ภʰSmTm@@@@ ?@@2@@@@@@@@Ġ@@@@@@@@@S@ @Р@@@@u@@t@@ @v@@s@ @r@@@@x@@#@z@%@y@@w@@1@|@ @:@~@<@}@  @E@@G@@@{@@@]@@_@脠@@e@膠@@k@@@@m@肠@@s@@@聠@{@艠@@@苠@@@茠@֠@@@@@@芠@@@@@萠@@@蒠@@@@@@@菠鐐@@@@@qA@C@RnSnA@J@@S@ @@ @ @ې@2@@@@@Ƞ@٠@@@@@@@@S@ @#@  @֐@J@@@@@̠@Ԡ@@@@@@͠@Ϡ@@@@@@@@S@ @D@A @ː@k@@̠@ˠ@@@@@@Ԡ@@@@֠@@@@@@@@@Ҡ@@@@@@S@ @Gn@k @@@@@@S@ @Ry@v @@@@@@@@@@ࠠ@@@@⠠@@@@@@@@@S@ =@s@ =@@@@@@S@ F@|@ F@Р{@za9nHݐA&@@@A@a@@ j@$@ k@%@ l@&@ m@'@ n@(@ o@)@&Simple$view(Patterns/n0n@ 3n4n@@8n@ @@@ @$view >n?n@QAN@@@@0@@@ @@;@@@ @@@@ఠ!q To Uo @g A@@ Р@@@@@@@@@@@@@@@@@@@@@ @@@@ @@@ @@@@@@ @@@@@@@@@@@@@@@@ ␐@@@@@@@@@@@@@@@@@@@@@@@@@@@͐@@@@@@@@@@@@@@@@@@ @@@@@@@@!@@@@K@@S@J@@@IS@3@ @@@@@,(pat_desco 'o /@ఐڠ$viewo 2o 6@@@@34@@@(S@%@./@.@@@4@,@@@5@@@@6@@3@@@2S@+@&@@@@@hJ@A@p<F@@@@ఠ"hq qjxqjz@ A@@4@@@S@v3@d@@@@@@ఠ%qargs qj|qj@A@@ts@@@@@@S@w@@" @@@"@@@z@డ$Head+deconstruct(Patterns!qj"qj@ %qj&qj@@*qj+qj@ @ @@@@@@@@@@@@~@@@@@@@@@}@@|T@@ఐ!qOqjPqj@@@@@@T@f@@7@@@r@`@@T@o@A@aqjt@@డ#notmrnr@ri@@@ri@@@!@@ rh@@@@@3uttuuuuu@@@@@@@@@ఐ,all_coherentrr@@@@ @@@1@@@0@@@/@@.@@@-@@,&@@ภߧrr@4ఐʠ"hqrr@7@@@@@J>@ఐv,first_columnrr@)@@@q@@@@@jT@S@ON@@@l@@@kT@X@@W@D@@@mT@Y@@V@@@U@@Tw@@@R@@Qw@@ఐ#pssrr@ @@骠@@9@4@@f@+@@e@@@dU@nU@g@@Q@@sgT@G@@@IT@qU@b@@rr@@rT@=@@@s@@@@@@ఠ"q0 KuLu@^A@@@@@S@|3ONNOOOOO@@@@ఐ̠)discr_pat^u_u(@x@@@@@@@@@@@@@@퀠@@@@2@@@1S@@@턠@6@@@3S@@@@@@@@@@@@~:@@ఐD!qu)u*@ @@@@@T@L@@ఐ@#pssu+u.@@@'@@k@B@@@9@@@@@T@4T@-m@@d@@qn@A@u@@ఐ+satisfiablev2@v2K@G@@@@@<@w@@;f@@:@@93@_@@@@@@ఐ;build_specialized_submatrixv2Mv2h@Ӱ@@@%@@@T@@@S@@]@BT@@@@S@U@@\K@S@LA@[A@Z@@Y@w@@@X@@@W@@V@@@@@@R@@@Q@<@@P@3@@O@@@N@@M/@@@K@@J@@I@@H]@͐డ!@?v2u@v2x@BӰ@@@BӠG@@@@@@BΠO@@@@@FϠS@@@@@@@~@@ఐ"q0`v2yav2{@@@@@@@@ఐ#psspv2|qv2@@@@@@@@T@}@4@@@@@|@@@{@@@zT@T@@@v2Lv2@@EK@x@@డ !@ww@C5@@@C5@@@S@@@@@@@C4 @@@@@G5@@@@@@@@@ఐ)1simple_match_argsww@@@@7@@@@@@@@@@BK@@@@@@@@@@@@@@@@@@@@@@@@@ఐ"q0ww@@@?@@@$@@ఐ"hqww@@@O@@@4@@ఐ%qargsww@@@Cy@@@T@U@U@U@M@@^@@ N@@ఐ"qs0w1w@Ӱ@@C@@@T@ T@ c@@<w=w@@K@h@@t@@i@BtCx@@@Er@@@@@V@o@@@@@F@@@AJXho@@3FEEFFFFF@@@@@@AMU59 @@@@@AOR @@@A@@ @@@@@@@@@K@@@@\R@@@Aఠ7list_satisfying_vectors it|jt@|A@@@@@@DK@^@@@a@@@`K@@@@@@@@@@@@@K@@@ K@@@@K@@@@@3@@@@࣠@#pss Att@A@@73@#E@@@@@3@@&@@L@@@L@@K@L@@@@@@"qs Att@A@@A3@*W@!@"@@@@@@ఐ2#pss@@@e3@U@@@@@Ġ\@[@@@@t3@@@@@u@@@ఐ蠐-has_instances@@@@S@@@@@@@@@@@@@@@@!@@ఐR"qs@:@@.@@#@@@@@P@4@ภEAఐj"qs (@Q @@E@ภ8A@ A@K@KK@K@K@@@@O@ Y@@?!@@ @@@_@ภİJK@@@@O@ j@P@@l@@WX@@@@@@@ఐ"qsbc@@@@Ġno@@@@@@@@@@ภv w @@@@@Ġ  @ఠ!q   @A@@K@K@IK@@@@K@@ఠ"qs   @A@@@@@@@@ @@'@@'@@@ Р'General(Patterns / 7@  8 ?@@@3@D=@>@?.'@(@)@@@@A3@@@ @3@@@డ*strip_vars K U@?@@@?@@@4@@3;@@@2@@13@@@@@డ9$view A E@(@@@]@@@K@@J\@@@I@@H@@ఐ!q  F  G@A@@~'@@@@q@@@C@uV@X/@@#<@@n@@@A3@[ V@@3@S@@@(pat_desc  W! _@Dd@@@@xR@y@"Or@ఠ"q1 ;et<ev@NA@@@@@3=<<=====@z@@@@ఠ"q2 KewLey@^A@@@@@@@@VezWe{@@@@@@@@@@`esae|@@@'@@@@(@Р@ @@@@@񙠠@ @ @@@@ @񗠠 @ @@@񝠠@@#@@%@@@񜠠@@1@񡠠@@:@@<@񢠠@@E@@G@@@񠠠@@@]@@_@񩠠@@e@񫠠@@k@@@@m@񧠠@@s@@@񦠠ꐐ@{@񮠠琐@@@񰠠@@@񱠠@Ƞ@@@@@@񯠠搐@@@@@񵠠@@@񷠠@ޠ@@@@@@񴠠ې@@@@@A@5@Dep@@9@@@@;@@@@@@డ!@ST@F@@@F'K@9@@@=@@<@F @@@;@@:J@@@8@@7@@63gffggggg@81@2@3)"@#@$@@@@ఐ7list_satisfying_vectors}~@հ@@@@@R@@@Q@@P@@O@@ఐ#pss@Ͱ@@$)@@ภ地@)ఐl"q1 @9 @@@@@g@@ఐ"qs@@@.K@^@@@bT@pT@oT@@@@K@aY@@I@@5Z@@ఐi7list_satisfying_vectors@*@@@h@@v@Y@@uL@@t@@sq@@ఐF#pss@"@@y~@@ภ@~ఐ"q2 @ @@@@@@ఐg"qs @>@@kK@@@@T@T@@@@@K@@@I@@@@@@@#Any@РɐȠ@Ǡ@@@@@@@ @@@@ @񾠠Ð@@@@Ġ@@#@@%@@@à@@1@Ƞ@@:@@<@ɠ@@E@@G@@@Ǡ@@@]@@_@Р@@e@Ҡ@@k@@@@m@Π@@s@@@͠@{@ՠ@@@נ@@@ؠ@@@@@@@֠@@@@@ܠ@@@ޠ@@@@@@@۠@@@@@A@@@@@@3@9@@@@@@@@@@@ఠ#pss    @ "A@@q@@f@@@򱠠@@@@@@@@@򰠠@K@dK@KK@@@@@@@@@S@@ఐ&2simplify_first_col B  C@ذ@@@ @@@@@@@@@@@@@@@@򘠠@֠@@@@@@@@򗠠@ɠ!@@@@@@@@@@0@@ఐ۠#pss |  }#@@@=@@>@@k>@A@ @@డ#not '6 '9@z@@@z@@@@@z@@@@@3        @@@@@@@ఐ.,all_coherent '; 'G@.@@@)$@@@@@@@@@@@@@@@@$@@ఐ~,first_column 'I 'U@1@@@y@@$@@@T@ᠠ@WV@@@@@@T@@@堠@ L@@@T@@@@@@@@@@@@@_@@ఐ#pss 'V 'Y@i@@@@9@4@@@+@@@@@U@U@@@ 'H 'Z@@HT@@@@T@U@@@ (': )'[@@{#@@@@T@@@ @@@@@S@@ภ <ao =aq@@@@K@K@K@ @@ఠ"q0  O P@ bA@@@@@+S@ 3 S R R S S S S S@@@@ఐР)discr_pat b c@|@@@@@@@@@@@@@@@@@@@@@S@@@@ _@@@S@@@@@@@@@@@@ :@@డ&Simple%omega(Patterns  @   @@  @ @2 @@@@@WT@5^@@ఐ#pss  @&@@=@@}@T@@/@K@@.@@@-T@T@@@v@@@A@ @@@ఠ$wild   @ A@@@K@bK@S@@@@jS@@@x K@@@@U@@@@S@@@S@@@S@3        @o@@@@@࣠@.default_matrix A  @ )A@@,3        @;  Y@@@@@  @@!p A * +@ =A@@53 ) ( ( ) ) ) ) )@!C@@@@@@@@డ $List#map @ A@  D E @@@@@@U@@@R@@@@@ @@@@@]@@@@@@@3 Y X X Y Y Y Y Y@1=h@4@5@@@@࣠@"qs A o p@ A@@#3 n m m n n n n n@@@@@@@ภz { |@ఐ^!p  @& @@3        @*!:@@@@@ఐ&"qs @ @@D @@@@ @@@@   @@@T@@@@V@V@1@@ఐG7list_satisfying_vectors / F@@@@F@@@7@@*@@@@]@@ఐ.default_matrix G U@@@j@@ఐ0"qs V X@@@K@y@@ .@@H{@@@@g@A@S@@A@@ఐB=build_specialized_submatrices k k@@@?@&@@@$@@@#@@*@KT@V@@@fS@@@)A@(A@'@@&@@@@"@@%@@@@-@@!@$@@ @@@@@,젠+@@@@@@@@@@@@3 & % % & & & & &@$MF@G@H@@@డ !@ 8k 9k@K̰@@@K̠?@@@a@@`@KǠG@@@_@@^OȠK@@@]@@\@@[$@@ఐ "q0 Yk Zk@Q@@"@@@IT@mT@l8@@ఐ^#pss mk nk@Ӱ@@@@@Q@@@J@@H@@@G@@@FT@uT@n]@@@@@@@D@@@Cf@ঠ'default  Aఠ @  A@L(@@@@@@3        @@@@'constrs  @Ġ5  @4@@@@@@@@@DLM@@@@@@@@@@@&@@@  @@UL^@@@@@@@@@U@7@@aLj@@@@@@@@@C@@@ఐ$wild ,> ,B@ΰ@@@@@@ @@}@@@@@@@@@@3        @mj@l@k@@@@ఐt'default ,C ,J@ @@.K@@@ఐ7%omega (,K ),P@ݰ@@4@@@"@@6@@#@ঠ'default ;Qc <QjAఠ @ S!A@LƠF@@@@@@ @'constrs QQl RQs@Ġ ZQ| [Q~@@ఠ!p  gQx hQy@ z"A@@-@@@C@@@ rQz sQ{@@Lw@@@@@@Q@@ }Qw$@@@@@@Y@@, Q@@ @(@!@@V@@@@U@k@@@@@a@`@@@Ԡ@M&@@@@@@@@@@@@'constrs  Q Q@ #A))@@@ذ Qv Q@@#@@@ Qa Q@@Ƞ<ME@@@@@@@@@U@@@ԠHMQ@@@@@@@@@@@@@ఠ+for_constrs   @ $A@@@}U@@@ U@ @@ kn Sh@@@H@@@GW@@@@U@ @@ U@3        @@@@@[U@Y@V@@@࣠@ W AĠ}@}~@@@@+3@:@@@@@  @@డ $List'flatten+,@ /0@@@!a@N@@@O@@@O@@OS @@@O@@O@rs5@@qR@#@@@b@@@@@@@@hg@@@@@3YXXYYYYY@H@@@@డ $List#mapop@ st@@Ͱ@@@@@@@@X@@@X@A@@BX@(@@+Y@@@ X@`X@_X@%@@*@@)@D @@@'@@&*@@@$@@#@@"F@@࣠@  A@ఠ!p @%A@@6@@ఠ#pss @&A@@;@@@@@I@D@@D@@ @@ఐ -is_absent_pat % 2@@@@LU@@@M@@@L@@K @@@J@@I3@>m@8@93g@-@.@@@@ఐF!p 3 4@@@{@@$@@{@@@[[@U@ภ :T :V@@@@~ @@ఠ)witnesses tt@,'A@@K@ K@L[@`3@5@@@ఐ Ġ7list_satisfying_vectors-.@ @@@ @@e@ @@d @@c@@b@@ఐ#pssBC@R@@"@@డ !@Q R!@N@@@Nf@@@\@t@@@x@@w@N @@@v@@uR@@@s@@r@@qJ@@ఐڠ1simple_match_argsyz@@@@@@@@@@@@@@@@@@@@@@ɠ@@@@@@@@@@@@@@z@@ఐ!p@@@%@@డ$Head%omega(Patterns @ @@@ @Ű @@@@@@@ภN@M@@@Oj@@@]@^@^@@@i @@ @@ఐ J"qs"$@ "@@Os@@@]@]@@@%@@ K@@@@@ l@A@t@@@ఠ!p  Ca Cb@(A@@k@@@[@3        @%@@@@@డ$Head0to_omega_pattern(Patterns&Ce'Cm@ *Cn+Cr@@/Cs0C@ @k @@@}@@@@@l@@@@@+@@ఐ!pGCHC@X@@8@@%@@<9@A@LC]@@డ$List#mapZ[@ ^_@@@@@@ 0Z@@@vZ@@@@@@ @@@@@ @@@@@@@3uttuuuuu@iwp@q@r@@@@ఐu(set_args@װ@@@ @@@@@@@@@@@@@@ @@@@@@@)@@ఐ!p@3@@l@@@.9@@@@@@@@C@@@B@@@E@@D ; @@@A@@@O@@ఐ)witnesses@@@\@@}@@KX@^X@`@@@@@@@ " @@N@@@@j@@=[@@==>>>>>@Cha@b@c@@@@ภŰN.O3@@@@r@@@U@@@ఐ'constrs`4a;@[@@S@2@@@U@@@@@@@@U@U@3@@`@@@@@U@~9@ఐ+for_constrsAL@B@@@@@@@@ @@@@@@@@T@@ภ MO@ @@@ @@@U@d@@#@@K@g@ఐO!pUsUt@@@{@@@y@(pat_descUuU}@  @@3@@U@@Ġ)Construct@O@@@N@@@@@@ @@L@@@@@O@@@@@@డU!@TjTk@Q@@@Q K@V@@@@@@@Q @@@@@U@@@@@@@@@ఐ0$wild'+@@@@-@@@&@@  @@@@@@@@@@@@ఐ'default1,23@.@@FK@@@ఐQ]3build_other_constrsB5CH@L@@@@ @@@@@@@ՠQޠ^@@@ @@@X@@@@@@@@@@@@@@à @@@@@@@@@@/@@ఐ̠'constrs|I}P@w@@+@N@@@Y@@8@@@@@Y@!Y@O@@ఐ5!pQR@@@@@@Y@,Y@+c@@4S@@ K@@@@l@@@@RA@@@W@1X@u@@ఐ㠐+for_constrsTlTw@@@@3@@@7@@6ܠ G@@@5@@@4@@3@@ภJTxTz@I@@@K@@@BX@F@@#@@Rk@@@W@GX@?@@@@_@@{{@@f@@@@@i@@@@@@ఐ#$wild@ܰ@@@ @@N@@@M @@@L@@@K@@J@@I@@ఐ᠐'default$%@!@@9K@]@@డ *%omega(Patterns78@ ;<@@ (@@ H@@@_@@<@@@@@ADUgE@@@G @@@/@@H@@@AJky@@3FEEFFFFF@ @@@/@@E@NrO@@@Q'3@@ @ @@ @'Variant@ఠ!l ef@xA@@@@@*3gffggggg@ @@@@@qr@@ @@@,@@@+@@ఠ!r @A@@Ǡ@@@.@@@-!@@@@@+@#@@@/,@Р>=@<;@@@@@砠@:@ @@@@ @堠8@7@6@@렠@43@#@@%@@@ꠠ1@0@1@@.-@:@@<@@+)@E@@G@@@'@&@%#@]@@_@@@e@@@k@@@@m@@@s@@@@{@@@@@@@@@@@@@@@@@@@@@@@  @@@@@@ @@@@@A@c@r@@g@@ @@i@@@0 @@ఐ)is_absent @@@@@@@@@@ @@@@@@@@@@@@@@@3@<5@6@7 @@@@@@ఐD!l@@@<@@@/S@3S@2@@ఐ;!r@!@@@<@@@-@@@,S@6S@41@@J@@F@@@8S@*7@ภ P@ O@@@H?@@@@@@@_@@@^@@@@`@@]@@@\S@6@Р@@@@@@@@ @@@ @ @ @@@@@@#@@%@@@@@1@@@:@@<@@@E@@G@@@@@@]@@_@@@e@ @@k@!@@@m@@}@s@"@@{z@{@#x@j@@%@^@@&@YX@@(@@'@@$w@vt@@+@@*@q@@,@on@@.@@-@@)lk@@/@@@ A@@&;A@@@XS@V@^@ @@^@@@_@@@b@\[@@@d@@@c@@aS@;@#@ @Y@@@Z@@@f@WV@@@h@@@g@RP@@@j@@@i@@eS@?@D@A@N@@@O@NL@@@o@@@n@E@@@p@B@@@q@@m@@@l@>@@@r@@kS@E'@Gn@k'@=@@>@@@sS@M2@Ry@v2@@#@@ @@@{@@@z@@@@|@@@@~@@@}@@yS@NS@s@S@@B@@@@S@T\@|@\@Р@䐐nH`A7&@@@5A@@@@$@@%@@&@@'@@(@@)@&Simple$view(Patterns'/@ 06@@7@ @@@@$view ?C@AN@@@@0@@@@@@@@@@@@ఠ!q GUGV@)A@@EР@@@@N@@@M@@@@O@@L@@@K~@}@|@@@Q@yx@@@S@@@R@@Pt@s@@@U@po@@@W@@@V@ki@@@Y@@@X@@Te@d@ca@@@^@@@]@Z@@@_@W@@@`@@\@@@[@S@@@a@@ZPO@@@b.@-+@@@e@@@d@&@@@f@#"@@@h@@@g@@c@@@i@@J@@@@IS@@@@S@=3@@@@@@(pat_descGbGj@ఐڠ$viewGmGq@@@@@@@pS@m@@@@@|@@@@}@a@@@~@@{@@@zS@s@@@@@S@@9@@@S@@w@@@S@@@ఐP!qG[G\@@@OX@GYGs@@[@A@GQ@@@@ఠ"hq ww@*A@@=@@@S@3@u)"@#@$@@@@ఠ%qargs ww@+A@@}|@@@@@@S@@@" @@@"@@@@డ$Head+deconstruct(Patterns*w+w@ .w/w@@3w4w@ @Œ @@@ǝ@@@@@@Lj@@@@¹¸@@@@@@@@@@T@@ఐ!qXwYw@^@@ǿ@@@T@f@@7@@@r@`@@:T@o@A@jw@@@ఠ#pss uv@,A@@נ@@@@@Z@@@@\@@@[@@Y@@@@]@@X@@@WS@;3@@@@@@@@ఐ2simplify_first_col@=@@@$'@@@E@@@H@@@G@@F@@ @@@A@;:@@@C@@@B@@@@.!@@@D@@?@@@>@@=>@@ఐ@#pss@@@sK@@>@@jL@A@@@డZ#not@@@@@@@i@@h@@@g@@f3@g@@@@@@ఐ,all_coherent@@@@@@@y@@@x@@@w@@v@@@u@@t$@@ภ*+,@ఐD"hq56@@@~@@@<@ఐ,first_columnEF@@@@@@ȟ@@@T@@Ҡ@@@@@@T@@@@Ǡ@@@T@@@@@@@@@@@@@u@@ఐ #pss~@@@-@@9@4@@@+@@@@@U@U@@@Q@@gT@@@@T@U@@@@@rT@@@@T@@@@@@@@r@T@@@ @@0@@@S@p@ภ:(*@9@@@0@@ఠ"q0 @P@R@-A@@@@@S@3@@@@ఐO)discr_pat@U@^@@@@J@@@@@@e@@@@@@ɠ@sr@@@{@@@zS@@@͠@h@@@|S@@@@@@@@@@@@:@@ఐD!q@_@`@!@@ɂ@@@T@L@@ఐ#pss-@a.@d@.@@@@k@B@@頠@9@@@@@T@}T@vm@@d@@qn@A@F@L@@డ$List#mapThtUhx@ XhyYh|@@@@@@R@@@K@R@@@@@@ @@@@@@@@@@@@3qppqqqqq@x@@@@@@ఐq(set_argsh~h@Ӱ@@@@@@@@@@@@@@@@@@@@@@@@)@@డ$Head0to_omega_pattern(Patternshh@ hh@@hh@ @vs @@@ @@@@@v@@@@@T@@ఐ"q0hh@^@@!@@@V@V@h@@hh@@v@@@n@@h}h@@@GF @@@@@@@@@@@l @@@@@@@ఐ7list_satisfying_vectors@^@@@@@@@@@@@@@@ఐ;build_specialized_submatrix@ @@@[4@@@@@@@@!@ZU@Q@@@aT@@@ K@_T@A@A@@@@@@@@@@@@@Ơ@@à@@@@@@@<@@@3@@@@@@@ݠ/@@@@@@@ @@ @డ!@u v@[ @@@[ G@@@\@@[@[O@@@Z@@Y_S@@@X@@W@@V@@ఐȠ"q0@ @@@@@d&@@ఐ1#pss@@@#@@@@@mU@A@G@@@C@@@@@@?@@@>U@qU@jP@@@@XK@<U@@డ?!@IJ@[k@@@[k@@@T@@@@@@@[k @@@@@_l@@@~@@}@@|}@@ఐ`1simple_match_args+<@7@@@nw@@@@@@@@@y@@@@@@@@@O(@@@@@@@@@@@@@@@@ఐ_"q0-=.?@@@v@@@@@ఐL"hq=@>B@@@ˆ@@@@@ఐH%qargsMCNH@@@[z@@@U@V@V@V@@@^@@ @@ఐŠ"qsgKhM@@@[@@@U@U@@@s*tN@@;K@@@xyO@@@@'@@:K@@~+:P]@@@@@@@@@@@@@@@@@A )@@3@@@@@@A @@@@@A @@@A@@"@@@@@@@@@K@@@@tt@@@Aఠ(do_match V^Vf@.A@@@%(@@@K@l@@@o@@@nK@@@@8*@@@.K@@@@K@@@@@@K@@@@@3@(@@@࣠@#pss AVgVj@/A@@33@9A@<@@@/@@$@@L@@@L@@G@H@@@@@@"qs AVkVm@ 0A@@=3@*S@!@"@@@@@@ఐ"qs Vv Vx@N@@@@O3        @@@@Ġ~~@@@@@]3@@@@@^@@@ఐN#pss'(@*@@} @Ġ 34@ Ġ; @@@ @@K@qK@DK@FK@K@*@@J@@@@@2@@@@@3@@3@@@ภ UV@ @@@;@@^_@@C@@C@@@ภ ܰef@ @@@K@@@Aij@@N@Ġ tu@ ఠ!q } @1A @@K@r@ఠ"qs @2A@@@@@@@@@@@@@@@ Р'General(Patterns@ @@@3@71@2@3-'@(@)@@@@A3@@@ @3@@@డ*strip_vars@$@@@$@@@@@ @@@@@3@@@@@డ9$view@ @@@B@@@@@A@@@@@@@ఐr!q@A@@r'@@@@V@@@@7T@,/@@#<@@S@@@3@[@@3@S@@@(pat_desc@)d@@@@:P@;@"Or@ఠ"q1  !@33A@@@@@x3"!!"""""@z@@@@ఠ"q2 0 1"@C4A@@@@@y@@@;#<$@@@@@{@@@z@@EF%@@@'@@@@|(@Р@@@@@@@@ @@@@ @@@@@@@#@@%@@@萐@@1@ @@:@"@<@!@@E@$@G@#@@ސ@ݠ@ܠ@]@)@_@(@@e@*@@k@+@@'@m@&@@s@,@@%ϐ@{@-̐@@@/@@@0@@@2@@1@@.ː@ʠ@@5@@4@@@6@à@@8@@7@@3@@9@@@A@@)@@@@m@@ @@@}@@@డpr7)E8)G@o@@@o@@@@@@n@@@@@m@@@@@@@3FEEFFFFF@2+@,@-#@@@@@@ఐ(do_match\)/])7@|@@@@@@@@@@@@@@ఐ#pssq)8r);@t@@)@@ภ{|)?})A@ ఐf"q1)= @9 @@`@@@@@ఐ "qs)C@@@K@@@@R@R@T@@)<)D@@K@Y@@I@@Z@@ఐ (do_match)H)P@Ѱ@@@ @@@@@@@@@q@@ఐ#pss)Q)T@ɰ@@~@@ภа)X)Z@ ]ఐ"q2)V @ @@@@@@ఐ`"qs)\@8@@J,K@@@@R@R@@@)U)]@@7K@@@I@@/@@@@0@#Any@Р@@@@@@@?@@ @A@@>@ @=@@@@C@@#@E@%@D@@B@@1@G@@:@I@<@H@@E@K@G@J@@F@@@]@P@_@O@@e@Q@@k@R@@N@m@M@@s@S@@L@{@T@q@@V@e@@W@`_@@Y@@X@@U~@}{@@\@@[@x@@]@vu@@_@@^@@Zsr@@`@@@AK@rK@4@@@7@@@6@@5!0!3 @@@3@@@2@@1@@ఐ #pss! !@@@<@@!!@@CK@pK@CK@@@@ఐs"qs!!@L@@>K@G@@W@@6@b@@7@@!@@@@@@@@ݠ@@@@@@@@@Q@$@Рʐɠ@Ƞ@@@g@@f@@ @h@@e@ @dĐ@Ð@@@j@@#@l@%@k@@i@@1@n@@:@p@<@o@@E@r@G@q@@m@@@]@w@_@v@@e@x@@k@y@@u@m@t@@s@z@@s@{@{@@@}@@@~@@@@@@@|@@@@@@@@@@@@@@@@@@@@cA@@""-A@@@Q@@@ @@@"@@@@@ᠠ@@@@@@@@@Q@ @#@  @@"@@@@@堠@@@@@@@栠@{y@@@@@@@@Q@A@D@AA@w@#@@x@wu@@@@@@@n@@@@k@@@@@@@@렠@g@@@@@Q@k@Gn@kk@f@#A@g@@@Q@v@Ry@vv@H@#L@@IG@@@@@@@B@@@@?>@@@@@@@@Q@@s@@:@#k@;@@@Q@@|@@РF'@& 吐nHA`&@@@A@ @@@$@@%@@&@@'@@(@@)@&Simple$view(Patterns##!@ #"#(@@#)@ @@@@$view !#1#5@#5AN@@@@0@@@@@@@@@@@@ఠ!q &$9C$9D@$9A@@nР@@@@\@@@[@@@@]@@Z@@@Y@@@@@_@@@@a@@@`@@^@@@@c@@@@e@@@d@@@@g@@@f@@b@@@@@l@@@k@@@@m@@@@n@@j@@@i@|@@@o@@hyx@@@pW@VT@@@s@@@r@O@@@t@LK@@@v@@@u@@qGF@@@w@@X@@@@WQ@@@@Q@H3$$$$$$$$@@@@@@ء(pat_desc$9P$9X@ఐڠ$view$9[$9_@@@@ߠ@@@~Q@{@ڠ۠@@@@@@@@@ @@@@@@@@Q@@Ҡi@@@Q@@Рb@@@Q@@Π @@@Q@@@ఐ!q%9I%9J@V@@X@%9G% 9a@@[@A@% 9?@@@@ఠ"q0 '%eo%eq@%-:A@@f@@@Q@3%%%%%%%%@u)"@#@$@@@@ఠ%qargs (%.es%/ex@%A;A@@Ϧϥ@@@@@@Q@@@" @@@"@@@@డC$Head+deconstruct(Patterns%Se{%Te@ %We%Xe@@%\e%]e@ @ϵ @@@@@@@@@Ա@@@@@@@@@@@@@@T@@ఐ!q%e%e@^@@@@@R@f@@7@@@r@`@@HR@o@A@%ek@@@ఠ#pss )%%@%@@3@@@O@dc@@@Q@@@P@@N@%W!@@@R@@M@@@L@@K>@@ఐ 1#pss& & @ @@ `K@@>@@jL@A@&@@ఐ t(do_match&17&1?@ 9@@@ s@@w@ d@@v Y@@u@@t3&&&&&&&&@c@@@@@@ఐѠ;build_specialized_submatrix&3@I&4@d@@@@qJ@@@@@@@@@eˠ R@@@@Q@@@ K@Q@A@A@@@@à@@@@@@@@@ܠ@@٠@@@@@@@<@@@3@@@@@@@/@@@@@@@@@]@డ$!@&@q&@t@f@@@fG@@@@@@fO@@@@@jS@@@@@@@~@@ఐ"q0&@u&@w@@@@@@@@ఐ#pss&@x&@{@@@9@@@@@R@@ !@@@@@@@@@@@R@R@@@&@H&@|@@ 2K@@@డ%U!@&}&}@f@@@fg@@@ Q@@@@@@@f @@@@@j@@@@@@@@@ఐ堐%qargs'}'}@O@@f&@@@ R@ R@ @@ఐ "qs'(}')}@ y@@f;@@@R@R@@@'4}'5}@@ vK@@@ @@ n@+@@ ox@@@ p@1@@ q@@@A'= @@ s3'9'8'8'9'9'9'9'9@ @@@@@A'@Vp @@ v $@ f A@@ @@@ @@ @@@@K@ l@@@'MVV@@@ Aఠ'exhaust *'Z'[@'m=A@@@&!t@@@@@@@@@T@@@K@q@@@t@@@sK@@@@@@@ SK@@@#Seq!t&@@@ U@ @@@ P@p@@@K@@@@@@@3''''''''@ @@@࣠@#ext -A''@'@A@г'&option''@гV$Path''@_''@@@@@@63''''''''@ ~@{z@@@@@@L@@@@y@@@l@@f@@L@@@L@@@L@@@2exhaust_single_row +@@@@ @@@ K@ K@ 6K@ 8K@ K@ K@ ;K@ =K@\K@^K@K@@@@K@wK@K@@@@K@vK@[K@@@@K@ TK@ lK@ K@yK@zK@K@@@K@@@ L@@@L@@@L@@@L@@(D}(E}@@(W>A6specialize_and_exhaust ,@CK@ @@ @K@@@@K@@@K@@@L@@@L@ @@ L@@(b39=(c39S@@(u?A@@@@@@@@8@@(l(m@@@  @@@B@@@A@@  @@#pss .A((@(AA@@3(~(}(}(~(~(~(~(~@Ԡ@@@@@@@?@@@@@@@@!n /A((@(BA@@3((((((((@%-@@@@@@@@ఐ-#pss((@@@;3((((((((@+@@@@@Ġ!2( ( @!1@@@@J3((((((((@@@@@K@@@డ'.#Seq&return( ( @ ( ( @@@!a@@@xM@@@w@@v@'seq.mli^66^67 @@+Stdlib__SeqX@@@@U@@q\X@@@o@@n1@@ఐ ɠ&omegas( ( @ \@@@ @@@@@ à @@@@@@@@N@@ఐ!n) )  @g@@[@@) )  @@K@ OK@K@K@FK@g@@Z @@h@Ġ),  )-  @Ġ!)4    @!@@ @@K@Y}@@);  @@( @@@]@@@ @@@@@@@డ'#Seq%empty)L  )M  @ )P  )Q   @@Ƞ!a@@@@u@Z66Z66@@~W@@@@Ġİ)j !$)k !.AĠ)r !')s !)@ఠ!p 0){ !%)| !&@)CA@@gK@K@]K@b3))~)~)))))@@@@ఠ"ps 1) !*) !,@)DA@@(@@@d@@@+) !-@@nK@_@Ġ 3A"@@ 4A@( @@@h@@@) !#:@@4!@@4!@@@ఐ2exhaust_single_row) !2) !D@@@@@@@@@@@@@@@@@@@@@@@3))))))))@MF@G@H=6@7@8@@@@ఐ(#ext) !E) !H@M@@K@K@K@@@ఐg!p) !I) !J@ @@f$@@ఐc"ps) !K) !M@,@@K@2@@ఐi!n) !N) !O@Q@@|?@@S@@w@@ఠ#pss 2*  PR*  PU@*EA@@c@@c@@@ఐ͠6specialize_and_exhaust* P[* Pq@Ѱ@@@@@@@@@@@@@@@@@3*"*!*!*"*"*"*"*"@|"@@@@@@ఐ#ext*4 Pr*5 Pu@@@<@@ఐ6#pss*A Pv*B Py@@@@@ఐ!n*N Pz*O P{@@@*@@:@@+@@@A*S@@@A@@@@@F@@@E@@D@@@C@@@B@@A@@@@@?K@7@@@*k@.-@,/@@}@@%@^@@$@V@@#@N@@"A@@!@@ @@@@3*}*|*|*}*}*}*}*}@ @@@࣠@#ext 3A*}*}@*FA@@3********@@@@@@@!p 4A*}*}@*GA@@3********@@@@@@@@@"ps 5A*}*}@*HA@@3********@@@@@@@@@!n 6A*}*}@*IA@@3********@@@@@@@@@డ)<#Seq(flat_map*'h*'h@ *'h*'h@@@@!a@@@4_!b@@@@3@@2@@1@k@@@0@@/o@@@.@@-@@,@"iVV#iVW@@!r@-(@@@@Q@@@@Q@@@# K@B@@@DQ@@@@@@@@@@@@@@@@@@@@@3+&+%+%+&+&+&+&+&@iu@l@m@@@@@Ġ$Some+<)+=)@ఠ!p 7+E)+F)@+XJA@@83+D+C+C+D+D+D+D+D@@@@@@@@?@@@@ఠ-sub_witnesses 8+U*+V*@+hKA@@U@3+V+U+U+V+V+V+V+V@1M@@@@@ఐ 'exhaust+g*+h*@@@@  @@@@@@@@@@@@@@@@@@@@"@@ఐ#ext+*+*@@@/@@ภܹ+*+*Aఐ"ps +*@ذ @@vC@ภܬA$@ A@+K@@@@V@R@@+*@@BK@uK@VK@Y@@డ*(!-+*+*@@A@@@@@@@@@@@@@@@@@@'%subintBA'@@@@'5,~,~'5,~,@@'o@ @@@^@@@@@@@@@@@@@@@@@@@@ఐ?!n+*+*@а@@@@A,*,*@@=@@@W@ W@ @@,*,*@@K@K@ W@@@@@@A@,* @@డ*#Seq#map,&+,'+@ ,*+,++@@@@!a@n@@!b@k@@@@@@@@@@@@@@@@@@mA3A3nA3AW@@la@)$@@@@>T@@@BT@@@@@@Ӡ @@@@@נ @@@@@@@3,b,a,a,b,b,b,b,b@ @@@@@@࣠@#row 9A,x+,y+ @,LA@@%3,w,v,v,w,w,w,w,w@@@@@@@ภ ,+,+@ఐI!p,+ ,+@3@@3,,,,,,,,@+"=@@@@@ఐ'#row,+,+@ @@H@@@@%@@@E@,+,+@@@X@@<V@@;U@KU@I3@@ఐd-sub_witnesses,+,+$@R@@cU@@@@1g@@@7E@@@6@@@k@Ġ$None,,%-,,%1@T@@@@@@@@ఠ+p_witnesses :,/,/@,MA@@UU@s@ఐ6specialize_and_exhaust,/,/@@@@@@z@@@y@@@x@@w@@v@@u@@ఐx#ext-/-/@b@@ @@ภ5-/-/Aภ=-/-/Aఐ!p - /@m @@@ภ0A%@ A@,K@@@@V@@@$@@ K@@ภB#+A%@$,A@,K@@@@V@@@-D/6@@K@@@A-N/-O/@@?V@ @@i@@ @A@-T/@@డ+#Seq#map-b0-c0@ -f0-g0@@<@@@@WT@@@_Q@T@@@@@@ @@@@@@@@@@@@3--~-~-----@Z@@@@@@࣠@%p_row ;A-0-0 @-NA@@'3--------@@@@@@@డ, !@-0-0@m9@@@m98K@T@@@@@@@m7 @@@@@q8@@@@@@@3--------@<3P@*@+@@@@ఐ:%p_row-0-0@ @@]@@ఐ%&omegas-0-0@%?@@@%@@@@@%%@@@@@@@@-@@డ,`8:-0 -0!@7@@@x@@@@@@7@@@@@6@@@@@@@L@@ఐY!n.0.0@@@Y@@A.0". 0#@@W@@@Y@Y@i@@.)0.*0$@@%@@@@Y@s@@X @@m@@@W@X@|@@p@@}@.=0.>0%@@@@@@@U@!U@@@ఐv+p_witnesses.Q0&.R01@Ͱ@@u@@@@ɠ@@@@@@@@A <.\( @@@.^(._127@@@\@@ܠT@@@@@R@TR@Q3.g.f.f.g.g.g.g.g@A@@@@@@@i@@@@@b@@@@@@@డ,$List&to_seq.'hj.'hn@ .'ho.'hu@@@$!a@L]@@@Q@@Q&Stdlib#Seq!t@@@Q@@Q@-G/G/-G/GO@@G@% @@@;8@@@Q@@@@@@ @@@@@U@@ภ.'hw.'hAUภ$Some .'h{@ఐA!p.'h|.'h}@)@@r@@@@)Q@u@ภ.'hArภ$None.'h@t@ @@;Q@@ภ /A'p@ 0A@.XIS@@@@R@@@9A@.aRS@@@@R@@@/ 'hvB@@x[@@@R@@@I@@t@@@@@@@@@@K@@@@@A@@0@@5@@@4@ @@3@@@2@@1@@0@@/@@.K@&@@@/6}}@@@@@@+@@@*@@@)@@(@@'@@&3/D/C/C/D/D/D/D/D@i@@@࣠@#ext =A/U39T/V39W@/hOA@@ 3/T/S/S/T/T/T/T/T@@@@@@@#pss >A/d39X/e39[@/wPA@@3/c/b/b/c/c/c/c/c@@@@@@@@@!n ?A/u39\/v39]@/QA@@3/t/s/s/t/t/t/t/t@%@@@@@@@@@ఠ#pss @/4`f/4`i@/RA@@.@@@@@m@@@@o@@@n@@l@/1@@@p@@k@@@jO@N3////////@4@Q@7@8@@@ఐ2simplify_first_col/4`l/4`~@N@@@(5(8(@@@X@@@[@@@Z@@Y/&@@@@@T@LK@@@V@@@U@@S@/?!@@@W@@R@@@Q@@P<@@ఐ#pss/4`/4`@y@@I@@>@@hJ@A@/4`b@@డ.k#not0505@@@@@@@|@@{@@@z@@y30 0 0 0 0 0 0 0 @e@@@@@@ఐ%,all_coherent050 5@@@@%)%@@@@@@@@@@@%@@@@@$@@ఐ,first_column0@50A5@@@@@@ߚ@@@P@@͠@@@@@@P@@@@/ @@@P@@@@@@@@@@@@@_@@ఐ#pss0y50z5@i@@(@@9@4@@@+@@@@@Q@Q@@@0505@@&HP@@@@P@Q@@@0505@@@@@@P@@@ @@ "@@@O@@డ/#Seq%empty08:>08:A@ 08:B08:G@@l@@ 4 0K@@@@@@ఠ"q0 A0D~0D~@0SA@@@@@O@300000000@@@@ఐQ)discr_pat0D~0D~@@@@L@@@@@@)g@@B@@@Ҡ@ut@@@@@@O@@@֠@0j @@@O@@@@@@@@@@@@:@@డ)&Simple%omega(Patterns1%D~1&D~@ 1)D~1*D~@@1.D~1/D~@ @9 @@@@@P@^@@ఐ#pss1AD~1BD~@1@@)@@}@T@@@K@@@@@P@P@@@v@@@A@1ZD~@@ఐ=build_specialized_submatrices1fE1gE@.@@@夠)}@@@@@@@@@p P@@@@O@@@A@A@@@@K@@@@@@*@@@,@@@#@@@@@@@*@@@@@@@@@@@@311111111@@@@@@డ0!@1E1E@qI@@@qI>@@@@@@qDF@@@@@uEJ@@@@@@@$@@ఐ"q01E1E@.@@@@@P@P@8@@ఐb#pss1E1E@ڰ@@*g@@@1P@@@@@@@@@@@P@P@]@@@@@@@@@@f@ঠ'default2F2FA}ఠ B@22TA@q@@@@@@32%2$2$2%2%2%2%2%@@@@'constrs21F22F@Ġ*28F29F@*@@@@@@@@ @qʠ@@@@@@@@ @@@ &@@@2QF2RF@@^Ҡq۠@@@@@@@@@Q@7@@jޠq@@@@@@@@@C@@@@ఠ-sub_witnesses E2wHUa2xHUn@2WA@@ Q@@32x2w2w2x2x2x2x2x@a^@`@_@@@ఐ /'exhaust2HUq2HUx@ @@@ . -@@@I@@@H@@G@ *@@F@ @@E @@D@@C@@B"@@ఐW#ext2HUy2HU|@A@@ \/@@ఐ'default2HU}2HU@9@@ HK@`>@@డ1/ 2HU2HU@@@@ G@@@i@@h@@@@g@@f@@@e@@d@@c]@@ఐr!n2HU@7 @@ i@@A&2HU@@$@@@wS@|S@{x@@2HU2HU@@ S@u}@@r@@ q~@A@2HU]@@@ఠ"q0 F3I3I@3XA@@@@@Q@}33 3 3 3 3 3 3 3 @@@@@@డ+$Head0to_omega_pattern(Patterns3$I3%I@ 3(I3)I@@3-I3.I@ @ @@@{@@@@@@@@@@+@@ఐu"q03EI3FI@@@@@@R@R@?@@, @@C@@A@3QI @@డ1#Seq#map3_J3`J@ 3cJ3dJ@@9@@@@ RP@@@ VK@P@@@@@@  @@@@@ @@@@@@@33|3{3{3|3|3|3|3|@ry@z@{@@@@࣠@#row GA3J3J@3YA@@'333333333@@@@@@@ภ3J3J@!*ఐ"q03J @& @@ /333333333@*!>@@@@@ఐ&#row3J@ @@H @@@@,. BP@@@@@3J3J@@@Z@@X@@Q@Q@3@@ఐ\-sub_witnesses3J3J@ð@@[U@@x@@ Ki@@@E@@@@ @@ ~`@ঠ'default3K3KALఠ C@4UA@kstv@@@%@@@$Q@'constrs3K4KA]ఠ D@4VA@Ѡ@@@@0@s@@@2@@@1@@/@@@.t@@@4K4K@@*s@@@8@@@7@@@6Q@3@@6s@@@;@@@:@@@9@@@@ఠ-try_non_omega H4CL!4DL.@4VZA@@@@@@@ Q@ @ Q@ @@ Q@@@ Ҡ,٠1+@ @ K@ K@ M@@@ L@@@ KQ@ @@@ Q@@@ Q@34o4n4n4o4o4o4o4o@@@ur@t@s@@@࣠@1 NA@ఠ!p J4L04L1@4[A@@:344444444@O4L4Wy@@@@@ఠ#pss K4L24L5@4\A@@E@@4L/4L6@@@S@N@@ @@ @@ఐ-is_absent_pat4M9F4M9S@@@@.$*-@@@ @@@ @@ 0@@@ @@ 344444444@;Dw@>@?3q@-@.@@@@ఐL!p4M9T4M9U@@@@@$@@S@@@ S@ @డ3N#Seq%empty4N[g4N[j@ 4N[k4N[p@@ @@+@@ఠ-sub_witnesses L4P4P@5]A@@ vS@ 344444444@<@@@ఐ 'exhaust5 Q5 Q@ :@@@  @@@ (@@@ '@@ &@ @@ %@ @@ $ @@ #@@ "@@ ! @@ఐڠ#ext5,R5-R@İ@@ -@@ఐ#pss59R5:R@q@@:@@డ3  5GT-5HT.@ @@@ @@@ F@@ E@ @@@ D@@ C @@@ B@@ A@@ @Y@@డ35fT)5gT*@@@@@@@ ^@@ ]@@@@ \@@ [@@@ Z@@ Y@@ Xx@@డ3$List&length5S5S@ 5S5S@@@@@-@@@ V@ t@@@ s@@ r@@@ q@@ p@@ఐ1simple_match_args5S5S@@@@/+&@@@ @@@ @@ @/(+1@@@ @@@ @@ @-@@@ @@@ @@ @@ @@ @@ @@ఐS!p5S5S@@@@@డ-$Head%omega(Patterns5S5S@ 5S 5S @@5S5S@ @ @@D@@@ @@ภ.6 S6 S@.@@@|@@@ }W@ X@ X@ @@6S6S@@ @@@@j@@@ n@ W@ {@@ఐ!n6+T+6,T,@@@ ,@@@@@@@ V@ V@ j4@@A6=T/6>T0@@ u@@@ TU@ U@ D@@6GS6HT1@@ U@ RI@@@@@J@A@6MP@@@ఠ!p M6XVAQ6YVAR@6k^A@@7@@@ S@ 36\6[6[6\6\6\6\6\@kd@e@f@@@డ.e$Head0to_omega_pattern(Patterns6uVAU6vVA]@ 6yVA^6zVAb@@6~VAc6VAs@ @5 @@@@@@ @@ b@@@ @@ +@@ఐ !p6VAt6VAu@ϰ@@F8@@%@@<9@A@6VAM@@డ5#Seq#map6Wy6Wy@ 6Wy6Wy@@ @@@@ R@ @@ ZR@ @@ @@ @5 @@@ @@ 9 @@@ @@ @@ 366666666@iwp@q@r@@@@ఐĠ(set_args6Wy6Wy@&@@@47-@@@ @@@ @@ @6F@@@ @@ /d@@@ @@ @@ )@@ఐ!p6Wy6Wy@3@@@@@ 29@@7Wy7Wy@@@6e4d.'@@@ G@@@ F@@@ I@@ H/ @@@ E@@ DO@@ఐ&-sub_witnesses7"Wy@@@$[@@|@@m@@@ `@@@@@@)@7,M9C@@+@A@Q@ @A@@@ఠ)try_omega O7:Y7;Y@7M_A@@@@@@ Q@ @@ /Ơ@@@ Q@ @@@ Q@ @@ Q@ 37P7O7O7P7P7P7P7P@@@@@@࣠@4 TAĠϰ7cY7dY@@@@@"37a7`7`7a7a7a7a7a@17jY7kdv@@@@@  @@డ5++7xZ7yZ@+@@@+@@@ @@ @+@@@ @@ ,x@@@ @@ @@ 377777777@&@@@@ఐؠ*full_match7Z7Z@@@@+@@@ @@ @@1-@@@ @@@ @3w<>@@@ @@@ T@ @@ @@@ @@ -#@@@ @@ @@ 9@@ภ&D7Z7Z@&C@@@+@@@ U@ I@@ఐؠ'constrs7Z7Z@i@@Ҡ@ñ@@@ U@ @=@@ @@@ U@ U@ i@@]@@,@@@ @ U@ q@@డ6q#not8 Z8 Z@@@@@@@ @@ @@@ @@ @@ఐ-should_extend8"Z8#Z @ڰ@@@@@@ @@@ @@ @0@1-@@@ @@@ 頠@wɠ@@@ @@@ U@ @@ @@@ @@ -@@@ @@ @@ @@ఐ #ext8\Z 8]Z @@@@@ఐb'constrs8iZ8jZ@@@0@;@@@ V@ @:@@ @@@ V@ V@ @@8Z8Z@@{@@@ @ V@ @@ @@,@@@ @ U@ @@@@ @@@ T@  @డ7#Seq%empty8[(8[+@ 8[,8[1@@V@@_@@ఠ-sub_witnesses Q8]AQ8]A^@8`A@@/T@ U@ఐj'exhaust8]Aa8]Ah@@@@ih@@@ #@@@ "@@ !@e@@ @V@@ P@@ @@ @@ t@@ఐ #ext8]Ai8]Al@ |@@@@ఐ'default8]Am8]At@|@@K@ :@@డ7j B D9]Aw9]Ax@ A@@@@@@ C@@ B@ A@@@ A@@ @ @@@@ ?@@ >@@ =@@ఐ !n9]Av@ r @@@@A&9(]Ay@@ _@@@ QV@ VV@ U@@91]Au92]Az@@V@ O@@r@@@A@97]AM@@ఐq3+build_other9C^~9D^~@NZ@@@͠@@@ c@@@ b@@ a@ @@@@ _@ݠx@@@ @@@ T@ `@@ ^@@@ ]@@ \1u@@@ [@@ Z@@ Y39j9i9i9j9j9j9j9j@ @@@@@@ఐ *#ext9|^~9}^~@ @@/@@ఐ'constrs9^~9^~@@@!8@@@@ @;@@ @@@ U@ U@ .@@[@@1@@@ 2@Ġ%Empty9_9_@@@@@8@@@ 399999999@B@@@9_@@1@@@ @@@డ9+fatal_error9b4D9b4O@@@@@@@ @@ V@ @@ @@0Parmatch.exhaust9b4Q9b4a@@9b4P9b4b@@ @@@ V@ V@ /@@! @@0@ఠ!p R9ccq9ccr@9aA@@1@@@ @@1@@@ @@@డ8g#Seq#map:dv:dv@ :dv:dv@@ ܰ@@@@U@ @@ U@ @@ @@ @ @@@ @@  @@@ @@ @@ 3::::::::@=6@7@8@@@@࣠@$tail SA:3dv:4dv@:FbA@@%3:2:1:1:2:2:2:2:2@@@@@@@ภ>:?dv:@dv@'ˠఐ^!p:Idv:Jdv@'@@3:G:F:F:G:G:G:G:G@+"=@@@@@ఐ'$tail:Wdv:Xdv@ @@H@@@@2Ѡ@@@ @:`dv:adv@@@X@@ V@@ V@ V@ 3@@ఐ-sub_witnesses:tdv @ @@T@@u @@.@@@@A:x^~@@0@C@@1@:{Z@@1@A@?Q@ @A@@డ8#Seq(flat_map:l)4:l)7@ :l)8:l)@@@@@@@#@@@@ @T@@ R@ d@@@ cR@ 4@@ 8#3*Q@@@ R@ 1@@@ 7@@ 6@@ 5@1"@@@ 3@@ 25@@@ 0@@ /@@ .3::::::::@q@@@@@@@Ġ$Some:nUc:nUg@ ఠ*constr_mat U:nUh:nUr@:cA@@@@@@@@F@@@ఐ-try_non_omega:nUv:nU@@@@@>@@@ p@@@ o@@ nq3v@@@ m@@@ l@@ k3;::;;;;;@A,e@&@'@@@@ఐ3*constr_mat;nU;nU@ @@r@@)@@g@@@ i@Ġ$None;"o;#o@@@@@`@@@ఐ)try_omega;.o;/o@i@@@@@@ @@ 3@@@ @@@ @@ {@@ภ;Ho;Io@@@@@@@ V@ @@#@@;@@A$ V;SmAL @@@;UmAK;Vo@@@@@ _Ӡ@@@ ^@@ ]S@ S@ 3;^;];];^;^;^;^;^@@@@@@@@ݠ@@@ [@@ Z@@@ Y@@ X@@డ9$List&to_seq;k;k!@ ;k";k(@@ @@@ @]@@@ @{# %@@@ @@@ @@ T@ @@@ R@ T@@@ V@@ U @@@ S@@ RK@@డ:"!@;j ;j @{N@@@{N4S@ w@@@ {@@ z@{K @@@ y@@ xL@@@ v@@ u@@ tp@@డ:H$List#map;j;j@ ;j;j@@#A@@@@^T@ @@ dT@ @@ @@ @# @@@ @@ # @@@ @@ @@ @@࣠@*constr_mat WA<j<j@<#dA@@!3<<<<<<<<@O@@@@@@ภ$Some<j<j@gఐ*constr_mat<'j<(j@7@@@@83<&<%<%<&<&<&<&<&@g$@@@@@@@@@ @<3j<4j@@@J@@ I@@ U@ U@ )@@ఐ@'constrs=>=?=?=?=?=?@U@@@@@@@@డ;#Seq#map=Xt=Yt@ =\t=]t@@2@@@@5`N@SP@A@@@@P@@@b@@@@@@@@@@m@@@@@@@3=x=w=w=x=x=x=x=x@:F{@=@>@@@@@Ġ=u=uA+ఠ!x \ =u@=iA @@,@Ġ A6@@ A@<6@@@F'@@@=u@@>)@@@ఐ!x=u =u @C@@@@3========@5!@@@@=v =v @@Q<@@@ ภ,7=v  =v %@,6@@@3$@@@LI@=v @@K@@A& ]=t @@@=t=v &@@@n@@=@@)s>*s@@@IV@@ఐ #pss>6s>7s@@@Gc@@ఐ!n>Cs>Ds@ư@@Ap@@W@@=6V@@@@@@@@@|@@c@@G}@3A@wK@A@A@>Wr@@@DAఠ1pressure_variants ^>dV^>eVo@>wjA@@@@@@K@@@@K@@@@666@@@K@<@@@?@@@>K@@@3@@@K@@@@@3>>>>>>>>@@@@@@࣠@%tdefs _A>Vp>Vu@>kA@@53>>>>>>>>@C@>@@@5@@&@@L@@@L@@I@J@@@@@@Ġ73>ÁÅ>ÁÇ@72@@@@A3>>>>>>>>@(S@@ @@@@@ภ-;>ÁÎ>ÁÓ@-:@@@= @Ġ,[>ÔÚ>ÔÜ@,ZĠ7P>ÔØ @7N@@ @@^K@AK@K@ "@@>ÔÝ@@>> @@@*@@@@@l+@@@ภ.U>Ôá>Ôå@.T@@@e3@ఠ#pss `>æê>æí@? lA@@3>>>>>>>>@?@@@@@@ఠ#pss a?óý?ó@?mA@@>h@@]@@@8@鎠@@@:@@@9@@7@>@@@;@@6@@@5O@3?%?$?$?%?%?%?%?%@o9@3@4@@@ఐ2simplify_first_col?6ó?7ó@̰@@@77֦@@@#@@@&@@@%@@$>@@@@@@ʠ@@@!@@@ @@@>!@@@"@@@@@@@<@@ఐy#pss?pó?qó@F@@I@@>@@hJ@A@?uóù@@డ=#not??@}@@@}@@@G@@F|@@@E@@D3????????@e@@@@@@ఐ5",all_coherent??@'"@@@595@@@W@@@V@@@U@@T5@@@S@@R$@@ఐ'r,first_column??@&%@@@'m@@@@@P@h@KJ@@@@@@P@m@@l@?@d@@@P@n@@k@@@j@@i's@@@g@@f_@@ఐ#pss?? @i@@'@@9@4@@{@+@@z@@@yQ@Q@|@@@@ @@5HP@c@@@bP@Q@w@@@@ @@@@@P@P@`@@ @@@@@O@N@ภ/@0@1@/@@@@@ఠ"q0 b@>/;@?/=@@QnA@@@@@O@3@B@A@A@B@B@B@B@B@@@@ఐ¢)discr_pat@Q/@@R/I@k@@@@@@@@@8ՠ@@@@@@@@@G@@@FO@@@@?ؠ@@@HO@@@@@@@@@@@@:@@డ8&Simple%omega(Patterns@/J@/R@ @/S@/Y@@@/Z@/_@ @I! @@@@@P@^@@ఐ#pss@/`@/c@!@@9,@@}@T@@@K@@@@@P@IP@B@@v@@@A@@/7@@ఐ.=build_specialized_submatrices@gu@gĒ@@@+@8@@@[@@@Z@@a@llP@@@@O@T@@`A@_A@^@@]@̹@@@Y@@\@9t@@@,@@X@#@@W@@@V@@U!*@@@S@@@R@@Q@@P@@O3AAAAAAAA@@@@@@mడ?!@A#gğA$gĢ@@@@>@@@@@@F@@@@@J@@@@@@@$@@ఐ"q0ADgģAEgĥ@.@@ @@@P@P@8@@ఐR#pssAXgĦAYgĩ@ʰ@@9ՠ@@@K@K@K@@@@@@@@@~@@@}P@P@b@@ @@̂!@@@{@@@zk@ঠ'defaultAįĻAįAఠ c@AoA@"@@@@@@3AAAAAAAA@@@@'constrsAįAį@Ġ:%AįAį@:$@@@@x@w@@@Р@"4=@@@@@@@@@@@&@@@AįĹAį@@Ѡ"EN@@@@@@@@@Q@7@@ݠ"QZ@@@@@@@@@C@@@ఐ1pressure_variantsAįAį@H@@@@@@y@@j@@@@3AAAAAAAA@eb@d@c@@@@ఐg%tdefsBįBį@E@@@@ఐy'defaultBįBį@@@K@@@+@@ @ঠ'defaultB B! Aఠ d@B8pA@"?@@@@@@@'constrsB6 B7Aఠ e@BNqA@@@@@@"Ġ͠a@@@@@@@@@@@=@@@BTBU@@a"ՠޠr@@@@@@@@@Q@N@@m"~@@@@@@@@@Z@@@Aఠ-try_non_omega fBz,B{9@BrA@@@:@@@ @Q@!@@"Q@@@@Q@@@6@@@RQ@@@3BBBBBBBB@xu@w@vc`@b@a@@@@Ġ05BE^BE`@04@ఠ"_p gBEVBEX@BsA@@,3BBBBBBBB@!E@@@@.@@R@@E@F@@@@ఠ#pss hBEYBE\@BtA@@=@@BEUBE]@@@H@F@@#@ఠ#rem iBEaBEd@BuA@@B>^@@@$-@@@@@e.@@@@ఠ"ok jBh~Bhŀ@CvA@@sK@K@K@PK@]T@+3BBBBBBBB@HQv@K@L=s@7@8*#@$@%@@@ఐ1pressure_variantsChŃChŔ@m@@@@@0@@@/@@.@@-@@ఐ%tdefsC#hŕC$hŚ@g@@(@@ఐf#pssC0hśC1hŞ@/@@5@@&@@6@A@C5hz@@డA7e7gC>C?@7d@@@7d@@@B@@A@7c@@@@@@?8>@@@>@@=@@<3CMCLCLCMCMCMCMCM@Ug`@a@b@@@@ఐ砐-try_non_omegaCaCb@@@@@@U@@T@@ఐ#remCrCs@p@@Q@[%@@@@&@@ఐ"okCC@0@@3@@%@@T@N6@T@@@Ġ< CC@< @@@@@@@ภ3CC@3@@@@@A,_ kC<@@@@@@#@@t@@sQ@q3CCCCCCCC@@@@@@C$@@ఐ*full_matchC&C0@@@@7@@@@@@ @=099@@@}@@@|@$MV@@@@@@P@~@@{@@@z@@y9=@@@x@@w@@v3CCCCCCCC@&@@@@డBT@@C7C8@@@@@K@@@@@@@@@@@@@@@@ఐj%tdefsD2@G@@'@@ภ$None#D<@ @%@@K@4@@D1D=@@89@@@@R@>@@ఐ預'constrsD'>D(E@@@@@@@Q@@k@@@@@Q@Q@^@@@@@@@Q@d@ఐҠ-try_non_omegaDLKYDMKf@@@@<ɠ@@@@P@ @@@@@@@@8@@@@@@@ఐ1'constrsDoKgDpKn@԰@@<@#@@@@@@Q@Q@@@5@@Q@@డB@@DoljDoNJ@@@@@(P@@@@@@@@@@@@@@@@ఐ %tdefsDoǃDoLj@@@>@@ภ$NoneDoNjDoǏ@ 9@@@JK@@@@@ 3@@@Q@@ఐc1pressure_variantsDǕǣDǕǴ@&@@@b@@@W@@H@@@@@@ภ$NoneDǕǵDǕǹ@ a@@@rK@@@ఐ 'defaultDǕǺDǕ@P@@rK@@@)@@f@@ఠ$full lDD@EwA@@:b@@@Q@K@ఐL*full_matchE E@W@@@93@@@@@ @@>:@@@ @@@ @%D@@@-@@@,Q@ @@ @@@@@:@@@@@@@@@ภ4EAEB@4@@@9e@@@$R@(@@ఐ'constrsESET@@@F@%@@@+R@!@=@@ @@@R@.R@)@@]@@i@A@Ek@@@ఠ"ok mEvEw@ExA@@9@@@FQ@53EzEyEyEzEzEzEzEz@@@@@@ఐ$fullE1E5@ @@!@@@7Q@63EEEEEEEE@@@@ఐ#-try_non_omegaE;ME;Z@@@@>@o@@@LQ@>@!@@=@@@<@@;9@@@:@@9#@@ఐ'constrsE;[E;b@%@@>=@#@?@@I@@@HR@OR@J>@@5@@V?@@ঠ'constrsE~ȖE~ȝ@=ఠ/partial_constrs nE~ȠE~ȯ@EyA@@ѵ@Ѵ@@@Z@&s~~S@@@@R@b@@@R@V@@Y@@@X@@AF~ȔF~ȴ@@@@@[@ఐp=build_specialized_submatricesFȷFȷ@ް@@m@T>-@@@i@@@h@@o@0@@n0A@mA@l@@k@@@@g@@j@>@@@%@@f@L@@e@@@d@@cR&ƠS@@@a@@@`@@_@@^@@]@ѥడD!@F[ȷF\ȷ@@@@d@@@@@@l@@@@@p@@@@@@@@@ఐ>"q0F|ȷF}ȷ@f@@E@@@S@S@@@ఐ,mark_partialFF@@@@.A@@@@@@@@@@@@@@@?(Ė@@@@@@@@@@@@@.D@@!@@@@@@@@@@@K@@ఐΠ#pssF F#@F@@.@@gS@T@Ӡ@#n@@@S@T@@@۠@R@@@@@@T@T@z@@FF$@@?v@@@@@@@@@@@S@T@@@@@@@@S@@A@G~Ȑ@@ఐ-try_non_omegaG":LG#:Y@i@@@?@@@@Q@@@@@@@@@;W@@@@@3G6G5G5G6G6G6G6G6@ZS@T@U@@@@ఐa/partial_constrsGH:ZGI:i@ @@?Š@&@@@@@@R@ R@@@8@@R@!@G]cxG^j}@@@G`.@@@A@Gb@@ @ఐ4'constrsGrɏɩGsɏɰ@װ@@?@>@@@@'@@@@@@@@@@@3GGGGGGGG@ @@@@@@ఐ%tdefsGɏɲGɏɷ@ڰ@@ -@@(@@@)@ 4@@@@Ġ@)GɽGɽ@@(@@@@|@{@@@.@(8A@@@0@@@/@@-@@@,3GGGGGGGG@=@@@@@GɽGɽ@@ b@ @@"@@@#@ @@1@@@@@GG@@ӫ@Ӫ@@@=@(gp@@@?@@@>@@<@@@;/@@Ġ$NoneGG@@@@@ @3<@@%@@@'@ @@BC@@C@@\ @@@٠@@@@L@(2@@@N@@@M@@K@@@J@ @@I_@@@ภH+H,@@@@1@@@Q@Q@ n@@Ġ5ϰHBHC @5Π@ఠ!d oHOHP@HbzA@@@@@m@@@HZH[@@(֠ߠs@@@o@@@n@@HeHf@@@@@@p@@Hp Hq @@GΠ@;@@@s@(@@@u@@@t@@r@@@q@@@#@@R@Q@@@x@)@@@z@@@y@@w@@@v@@Ġ$SomeHH@ఠ#env pHH@H{A@@ CK@K@|+@@@@@ J@V.@@T @@@5@ @@}5@@@ԍ@Ԍ@@@@)IR@@@@@@@@@@@@$@@~P@@@ఐ!dH0H1@@@@@ԫ@@@3HHHHHHHH@dE>@?@@@@@(pat_descH2H:@B@@>g@@T@@Ġ'VariantI@RI@Y@3Zঠ(type_rowI@\I@dA33 3c@@@3"@@C33Y3X@@@3A3S@3P33M3L@@A3A3F@3C33@3?@@B3A3.@3+3A3@3ఠ q@I2|A@@3,@@@@@3)@@@@@@@@AI-@ZI.@i@@3@@@V@H@@@.@@>@@@L@@>@@@O@@@@ఠ#row rIEmʃIFmʆ@IX}A@@3K@@@V@3IIIHIHIIIIIIIIII@c2/@1@0@@@ఐ8(type_rowIZmʉI[mʑ@ @@@3g@@@@@3d@@@@@@@ภ۰IomʒIpmʔ@@@@3z@@@W@)@@@@-*@A@Iym @@డGII@@@@@@@@@@@@@@@@@@@@@@3IIIIIIII@KYR@S@T@@@@డ 5has_fixed_explanation%BtypeIʘʭIʘʲ@ IʘʳIʘ@@@@@@@@@@@@@@@%@@ఐ#rowIʘIʘ@/@@@@@W@W@9@@' @@@@@@W@A@@ఐ 1pressure_variantsII@ D@@@ @@@ u@@ f@@@@X@@ภ$NoneII@@@@ K@f@@ఐࠐ'defaultJJ @n@@ K@u@@)@@ v@@d@@%@@@V@|@ภJJ@@@@@ఐD-close_variantJ&  J' -@0@@@?@@@ @@ @0@@@@@6@@@@@@@@@ఐ#envJD .JE 1@W@@@@ఐ #rowJQ 2JR 5@@@0@@@V@V@@@6 @@0Q@V@@J`ʘʪ@@1@@@4@@Jh6HJi6I@@?@@@@@?@@@@@@ภJu6MJv6O@@@@J@@@AJy*@@L3JuJtJtJuJuJuJuJu@@@@@@AJ|ɏɝJ}Pa@@P@ఐ"okJcqJcs@@@P@@@@@*@@ @"@@@Joǀ @@ @J# @@@ @@ @@@AJgo@@ 3JJJJJJJJ@ ~@@@J)Jt}@@  Q@J@@  S@ &@@  q@@A JVx@@@ A@@ 8@@=@ -@@< @@;@@:K@6 @@@JVV@@@ A+&answer sKJ;@J;F@@;@@$Used t@@JIKJIQ@@JA&Unused u@@J̆̈J̆̐@@JA(Upartial vJCH'pattern@@@>@@@@@@JJ@@JA@@A@@@@@J;;@@@@J~A@#++JIM)@(@@@,@#((J̆̊&@%@@@)@#%%JJ@@г'$listJ!@г+)TypedtreeKK@2K K @@@:3K KKK K K K K @ n`;@@@A@@@@@3@@@1@@ @@@C 7@@@@9@@A@5@@58@3KKKKKKKK@ t@@A+.usefulness_row wLKͬͱK ͬͿ@@;@@&no_ors x@@JIC'pattern@@@R@@@TK2K3@@KEA#ors y@@JIU'pattern@@@W@@@YKDKE@@KWA&active z@@JIg'pattern@@@\@@@^KVKW@@KiA@@A@@@@@KZͬͬK[@@@@KmA@#;;0Kb@/@@Ш@г>$listKkKl@гCDKsKt@@J3KpKoKoKpKpKpKpKp@ ];@@@A@@@@@!@@@@@@@@T @@W@@U @M@#II>K@=@@Ш@гL$listKK@гQRKK@@X @@@]! @@`@@Z$@V@#RRGK@F@@Ш@гU$listKP@гYZKK@@`:@@@e;Z@@h@@_>@^@@A@Z@@ZY@3KKKKKKKK@>@@@ఠ(make_row {KkoKkw@KA@@@@@@@@@M@@@@@@M@@@M@3KKKKKKKK@d@@@࣠@"ps }AKkxKkz@KA@@ 3KKKKKKKK@/KkkKkϜ@@@@@  @@ະ3"@@@@@@3@@A@A@3@@B@A@@A@ɡ&no_orsLkχLkύ@ภDL kώL kϐ@D@@@@@@@@@N@3LLLLLLLL@,8N@/@0@@@#orsLk~Lkρ@ภDL%kςL&kτ@D@@@@@@@@@N@@6&activeL7kϒL8kϘ@ఐ]"psL@kϙLAkϛ@+@@y.@@@LDk}V@@r0@`WA@M@^@A@[@[Z@p@ఠ)make_rows ~LTϞϢLUϞϫ@LgA@@@4@@@@@@N@@@@M@@@3@@@N@@@@M@@@M@3LsLrLrLsLsLsLsLs@@@@@@࣠@#pss ALϞϬLϞϯ@LA@@,3LLLLLLLL@;LϞϞLϞ@@@@@  @@డK$List#mapLϞϲLϞ϶@ LϞϷLϞϺ@@3@@@@L@@=@@@@@4[S@@@@@4AH@@@@@@@3LLLLLLLL@2>`@5@6@@@@ఐ(make_rowLϞϻLϞ@P@@@@@@@@@@@@@@@@@@ఐ`#pssLϞU@'V@@*@@GW@@w+@aXA@M@_@A@\@\[@r@ఠ&is_var LL @MA@@@d@@@8M@@@Bg@@@M@@@M@3MMMMMMMM@@@@@@࣠@!p AMM@M*A@@3MMMMMMMM@+MM ]l@@@@@  @@ РE*'General(PatternsM7M8 @ M;!M<(@@@3M;M:M:M;M;M;M;M;@&2D@)@*@@@@A3M>M=M=M>M>M>M>M>@@@@M3M@M?M?M@M@M@M@M@@@@డ*strip_varsMO4MP>@㵰@@@@@@@@@@@@@3MWMVMVMWMWMWMWMW@@@@@డ7$viewMi*Mj.@㞰@@@@@@)@@(@@@'@@&@@ఐl!pM/M0@@@@'@@@@@@@!@AS@6/@@#<@@@@@3@YM?@@3MMMMMMMM@Q@@@(pat_descM@MH@Fb@@@@DO@E@#Any@РLK@JI@@@@@@H@ @@@@ @F@E@D@@@BA@#@@%@@@?@>@1@@<;@:@@<@@97@E@@G@@@5@4@31@]@@_@@,@e@@*@k@@@@m@@(@s@@@&%@{@#@@@@ @@@@@@@@@"@!@@@@@@@@@@@@@@@@@@@A@q@NNPNNT@@v@@v@@x@@@x@@@ภ=NNXNN\@=@@@@@N]_N]`@@@@@z @@@@@{ @@@ภ=N]g@=@@@@@@AN@@@A@M@@A@@@@ఠ-is_var_column NnrNn@NA@@@D:@@@N@@@@M@@@7 @@@M@@@M@3NNNNNNNN@@@@@@࣠@"rs ANnЀNnЂ@NA@@"3NNNNNNNN@1NnnN@@@@@  @@డM[$List'for_allNЅЇNЅЋ@ NЅЌNЅГ@@7T@@@@B@@7P@@@@@@@@DL@@@@@7O@@@@@@@3OOOOOOOO@4@X@7@8@@@@࣠@!r AO%ДНO&ДО@O8A@@e3O$O#O#O$O$O$O$O$@@@@@@@ఐ!rO7ДШO8ДЩ@v@@@@w3O6O5O5O6O6O6O6O6@(@@@&activeOAДЪOBДа@G @@@@@@@@@Ġ<OTжнOUжп@<ఠ!p O]жм @OoA @@@@@(@@Ofж@@Nà@@@@@@3@@@ @@$#@@@@@@;@@+*@@@@@@B@@@ఐ&is_varOжOж@@@@@@@@@D@@@@@3OOOOOOOO@Y<6@7@8@@@@ఐC!pOжOж@ @@ @@@S@S@ @@% @@7@@@@ĠH1OO@H0@@@@on@@@@@@@@vu@@@@@@@@@ ภ>FOO@>E@@@E3@@@@O@@,@@@AOДТ @@8#@@@3OOOOOOOO@@@@OДИO@@@$@@82@@@@@O@"O@@@ఐ"rsO@@@8@@@@,@A@@M@'@A@@@-Aఠ'or_args P#+P#2@PA@@@MiG,@@@s@@@rM@)@@2@MvM@@@@@dM@-@M @@@eM@.@@1@@03P'P&P&P'P'P'P'P'@^}v@w@x@@@࣠@!p AP:#3P;#4@PMA@@/3P9P8P8P9P9P9P9P9@=@8@@*@1@)@@/N@+@@,N@(@E@F@@@@@@ఐ%!pP\#=P]#>@P@"@#@@Q3P[PZPZP[P[P[P[P[@#/@@@(pat_descPf#?Pg#G@I @@G^Q@u@]@wM@>M@;@Ġ'Tpat_orP~MOPMV@%,ఠ"p1 PMXPMZ@PA@@Mm@@@E3PPPPPPPP@/@@@ఠ"p2 PM[PM]@PA@@M}@@@F@@PM^PM_@@%;%:@@@H@@@G@@@.PM`@@D@@D@@@@ఐ1"p1PMdPMf@0@1@2@@3PPPPPPPP@^<,%@&@'@@@@ఐ2"p2PMgPMi@ @@@@@@@@@@_@Ġ*Tpat_aliasPjlPjv@&ఠ!p PjxPjy@PA@@NBH@@@U@@@T@@PjzPj{@@&@@@V@@Pj|Pj}@@&&@@@X@@@W@@Qj~Q j@@&@@@Y@@QjрQjс@@&@@@Z@@@9Qjт@@@@@@@ఐ'or_argsQ jчQ!jю@@@@@@j@@@@i@@h3Q(Q'Q'Q(Q(Q(Q(Q(@MF@G@H@@@@ఐT!pQ:jяQ;jѐ@ @@,@@@@q@@QDёѓQEёє@@@@@@@ ภ?İQMёѯQNёѴ@?@@@F@@@|@QTёѨ@@@@@AQV#7 @@@?@7@@n3QXQWQWQXQXQXQXQX@@@@%A@@V@@u@M@E@@t@@sM@p-@@@Ql##@@ @B@ఠ&remove QyQz@QA@@@@@@M@w@@x@@@M@y@@zM@v3QQQQQQQQ@O@@@࣠@!r AQQ@QA@@3QQQQQQQQ@`)QQ2@@@@@  @@ఐ!rQQ@0@@@@13QQQQQQQQ@$@@@&activeQQ@ @@rq@@@@@@@Ġ?ZQQ@?Y@Q@@@@@"@ఠ#rem Q@QA@@Q<@@@@@@3@@@ @@@@@@@@;@@@@@@@@B@@@ະ֠@@@@@@P@@ Ϡ@@@@@@P@@&activeRR@ఐA#remRR@A@B@C@@٠@@@@@@P@3R&R%R%R&R&R&R&R&@xT @@@@ఐ!rR5R6@@@ @R9R:@@@ĠJRDRE@J@@@@@@@@@@@@@@@@@@@@@ ภ@ӰR\-@@@@@G@@@@Rb&@@@@@ARd@@3R`R_R_R`R`R`R`R`@@@@A@M@@A@@@ݠ@ఠ-remove_column Ru48Rv4E@RA@@@:)@@@N@@@@M@@@:@@@N@@@@M@@@M@3RRRRRRRR@X"@@@@@࣠@"rs AR4FR4H@RA@@(3RRRRRRRR@7R44R4]@@@@@  @@డQ!$List#mapR4KR4O@ R4PR4S@@:@@@@H@@=@@@@@:xO@@@@@:^H@@@@@@@3RRRRRRRR@2>\@5@6@@@@ఐl&removeR4TR4Z@P@@@@@@@@@@@@@@@ఐ\"rsR4[Q@#R@@&@@CS@@s'@]TA@M@[@A@X@XW@n@ఠ*push_no_or S҇ҋS҇ҕ@S!A@@@E@@@_M@@@J@@@\M@@@M@3SSSSSSSS@@@@@@࣠@!r AS0҇ҖS1҇җ@SCA@@3S/S.S.S/S/S/S/S/@+S8҇҇S9@@@@@  @@ఐ!rSG҇ҠSH҇ҡ@2@@@@33SFSESESFSFSFSFSF@$@@@&activeSQ҇ҢSR҇Ҩ@W @@ @@@@@@@Ġ@SdҮұSeҮҳ@@ఠ!p SmҮҰ @SA @@!@@@(@ఠ#rem SzҮҶ@SA@@R٠1@@@@@@9@@@ @@:9@@@@@@A@@A@@@@@@@H@@@ະ&no_orsSҮSҮ@ภ1SҮSҮ@A/ఐ@!pSҮ @?@@@A @@@@@-P@5P@?P@>3SSSSSSSS@pSF@@A@B@@@ఐ!r#SҮ@%@@@&no_orsSҮSҮ@ٰ,@@S0#@@@6P@DP@A@@, @@(@@@,P@4&@@@@[@@@ZP@W@&activeSҮSҮ@ఐ#remSҮSҮ@?@@@@@N@@@MP@OL@@ఐࠐ!rT ҮҼTҮҽ@ư@@W@TҮҺTҮ@@Z@ĠLTT@L@@@@Ԡ@@@@@@@@۠@@@@@@@@@ ภBT4@B@@@I@@@c@T:@@@@@AT<҇Қ@@ 3T8T7T7T8T8T8T8T8@@@@A@-M@l @A@ @  @ @ఠ'push_or TMTN@T`A@@@@@@M@n@@o@@@M@p@@qM@m3T\T[T[T\T\T\T\T\@@YR@S@T@@@࣠@!r AToTp @TA@@3TnTmTmTnTnTnTnTn@+TwTxRf@@@@@  @@ఐ!rTT@2@@@@33TTTTTTTT@$@@@&activeTT@ @@ H G@@@w@@@v@ĠB0T #T %@B/ఠ!p T " @TA @@ `@@@(@ఠ#rem T (@TA@@T p@@@@@@9@@@ @@ y x@@@@@@A@@  @@@@@@H@@@ະ  @@@@@@P@@桠#orsT 5T 8@ภ2T <T >@ByఐK!pT ; @J@K@L @@ @@@P@P@P@3TTTTTTTT@{^QK@L@M@@@ఐ!r#U ?@%@@@#orsU @U C@ ,@@Tz#@@@P@P@@@, @@ (@@@P@&@ .&activeU/ FU0 L@ఐ#remU8 MU9 P@4@@  @@@@@@P@A@@ఐࠐ!rUL .UM /@ư@@L@UP ,UQ Q@@O@ĠMհU[RTU\RV@M@@@@  @@@@@@@@  @@@@@@@@@ ภCUsRa@C@@@J@@@@UyRZ@@@@@AU{ @@ 3UwUvUvUwUwUwUwUw@@@@A@-M@ @A@ @  @ @ఠ.push_or_column U hlU hz@UA@@@=@ @@@N@@@@M@@@=- @@@ N@@@@M@@@M@3UUUUUUUU@Le^@_@`@@@࣠@"rs AU h{U h}@UA@@(3UUUUUUUU@8U hhU hӓ@1push_no_or_column@@@@ @@డT;$List#mapU hӀU hӄ@ U hӅU hӈ@@=4@@@@K@@@@@@@@=R@@@@@=xK@@@@@@@3UUUUUUUU@5A_@8@9@@@@ఐ'push_orU hӉV hӐ@S@@@ 1@@@ @@  4@@@ @@@@ఐ_"rsV hӑS@#T@@&@@CU@@v'@`VA@M@^@A@Zఠ\ ]V# ӔӘV$ Ӕө@V6A@@@=נ _@@@BN@ @@@2M@@@=Ġ j@@@@N@@@@0M@@@M@3V>V=V=V>V>V>V>V>@@@@࣠@"rs AVO ӔӪVP ӔӬ@VbA@@&3VNVMVMVNVNVNVNVN@@@@@@@డT$List#mapVc ӔӯVd Ӕӳ@ Vg ӔӴVh Ӕӷ@@=@@@@A@@#6@@"@@!@>H@@@@@>A@@@@@@@3VzVyVyVzVzVzVzVz@9U@0@1@@@@ఐ~*push_no_orV ӔӸV Ӕ@+@@@ @@@>@@= @@@<@@;@@ఐW"rsV ӔV Ӕ@$@@y'@@D@@m(@YA@M@EW@A@V ӔӔ@@ @Aఠ=simplify_first_usefulness_col V V @VA@@@O8 @@@M@P@@@OM@G@@LV)@@ @@@@QP@@@@@@@@R@@ @@@ @@@@@"M@I@@K3VVVVVVVV@Bg`@a@b@@@@@@ĠOuV V @Ot@@@@>3VVVVVVVV@L@G@@H<@@JN@F@L@M@@@@@ภOW  W  @O@@@D@ĠDW W@Dఠ#row W W  @W2A@@^M@R3WWWWWWWW@&@@@ఠ$rows W,W-@W?A@@V@@@T@@@@@u@@@ఐ!#rowW@"WA%@ @!@"@@!3W?W>W>W?W?W?W?W?@H,@@@@@&activeWL&WM,@ R@@  @@@_@@@^@ĠOٰW_28W`2:@O@@@@  @@@h@@@g3WdWcWcWdWdWdWdWd@%@@@ @  @@@j@@@i@@@ ภEWx2EWy2J@E@@@L@@@@W2>@@@ĠEWiqWis@Eఠ!p WioWip@WA@@ G@@@rU@ఠ"ps WitWiv@WA@@W X@@@t@@@sg@@@ @@ a `@@@v@@@uo@@ h g@@@x@@@wv@@@@ఠ*add_column WzԄWzԎ@WA@@@@@R@@@@  @@@@@@R@@@@WE@"@ !@@@R@@@R@@@@R@@@Pr@@@R@@@R@@@R@@@R@3WWWWWWWW@un@o@pha@b@c@@@࣠@!p AXzԏXzԐ@X#A@@F3XXXXXXXX@UXzԀXԘ@@@@@  @@"ps AX$zԑX%zԓ@X7A@@P3X#X"X"X#X#X#X#X#@!]@@@@@@@@!k AX5zԔX6zԕ@XHA@@R3X4X3X3X4X4X4X4X4@d@@@@@@@@ภ6BXCԘԾXDԘ@EϠ@ఐD!pXQԘԡXRԘԢ@)@@3XOXNXNXOXOXOXOXO@(p@@ @@@@ະ g 9 8@@@@@@U@@ m 2 1@@@@@@U@@ w&activeXxԘԯXyԘԵ@ఐ`"psXԘԸXԘԺ@H@@0@@ఐm#rowXԘԦXԘԩ@L@@l;@XԘԤXԘԼ@@>@@XԘԠXԘԽ@@R@C@ఐm!kXԘ@J@@M@@@@Q@@@R@A@R@@A@@ఐW1simplify_head_patXX@X@@T@@@@@Ԡ@87@@@@@@@@@@@  @@@%@@@$Q@@@@Q@@@A@ϐA@ΐA@@@@J@@@@@@@@@@@@@@@@@@@3XXXXXXXX@4-@.@/@@@ఐ;*add_columnXY@ @@@2@@@  @@@@@@@@@Xq@H@ I@@@@@@@@@@Q @@@@@@@@@4@@ఐ!pY0Y1@/@@@@@R@/R@.H@@ఐ"psYDYE@B@@vQ@0W@@ఐ=simplify_first_usefulness_colYUYV@W@@@@@4@@3j@@ఐ:$rowsYfYg@!@@M@:y@@YlYm@@|@@@@}@X@@p@@@AYq@@ @@AB6 Yt @@@ @@@@@@@M@~@@@Y} @@@@ఠ+make_vector Y;?Y;J@YA@@@ @@@M@@@:u@@@N@@@@M@@@M@@࣠@!r AY;KY;L@YA@@3YYYYYYYY@.Y;;Y;`@@@@@  @@డX-$List#revY;OY;S@ Y;TY;W@@8ư@@@8Ơ9@@@@@:R=@@@@@3YYYYYYYY@*6K@-@.@@@@ఐ?!rY;XY;Y@@@Z@&no_orsY;Z;@  <@@8]@@@O@O@ @@5E@@b!@OFA@pM@M@A@J@JI@ݠ@ఠ+make_matrix Z bfZ bq@ZA@@@AH@@@KN@&@@@8M@@@A:@@@I@@@HN@#@@@6M@@@M@3Z+Z*Z*Z+Z+Z+Z+Z+@3@@@@@࣠@"rs AZ>brZ?bt@ZQA@@,3Z=Z<Z<Z=Z=Z=Z=Z=@;ZFbbZGbՎ@@@@@  @@డX$List#mapZWbwZXb{@ Z[b|Z\b@@A@@@@L@@)A@@(@@'@BS@@@%@@$AL@@@"@@!@@ 3ZnZmZmZnZnZnZnZn@2>`@5@6@@@@ఐ+make_vectorZbՀZbՋ@P@@@@@@F@@E;b@@@D@@@C@@B@@ఐ`"rsZbՌU@'V@@*@@GW@@{+@aXA@M@N_@A@\@\[@r@ఠ)union_res ZձյZձվ@ZA@@@ @@@M@P@@Q@ M@V@@WM@X@@YM@R@@SM@O3ZZZZZZZZ@@@@@@࣠@"r1 AZձտZձ@ZA@@"3ZZZZZZZZ@1ZձձZ#"P@@@@@  @@"r2 AZձZձ@ZA@@*3ZZZZZZZZ@!9@@@@@@@@@ఐ-"r1Zձ[ձ@@@K3ZZZZZZZZ@"B@@@@@@ఐ("r2[ձ[ձ@ @@N@@@@@_@U@@`@@Ġ&Unused[([)@;gr@@@Q@@@ABA@Ai@@f@@@@{M@f@b3[.[-[-[.[.[.[.[.@1@@@@@[8[9@@{M@lM@^@c @@[@[A@@@@@@g@ @@@@[P [Q @@"@h!@@Ġ&Unused[\ [] @4@@@@#@i-@@[a [b @@@@ @@m6@ @6@@*@@@@@@o=@@@ภ&Unused[v [w @N@@@F@@Ġ$Used[![!@;_@@@@BA@A@@@@@@\@q[@@@[![!@@X@rc@@@@@@ @@vj@@@@@@wp@@@ఐĠ"r2[! [!@@@z@@@["["@@@y@@Ġ$Used["["@<@@@@@z@@@@@@ @@~@@@@@@@@@ఐ "r1["["!@@@@@Ġ(Upartial[#"$[#",@;#@!A@BA@A@@ఠ"u1 [#"-[#"/@\ A@@,+@@@@@@@@@ @@@@@Ġ(Upartial\#"1\#"9@!ఠ"u2 \#":\#"<@\*A@@KJ@@@@@@ @@@ @@@#@@9@@@&@ @@*@@@,@@@0@@@ภ(Upartial\8#"@\9#"H@KడZ!@\D#"L\E#"M@ذ@@@ؠ@@@Q@Q@Q@@@@@@@ܠ@@@@@ݠ@@@@@@@3\_\^\^\_\_\_\_\_@dsl@m@nUN@O@P@@@@ఐ{"u1\s#"J0@ 1@@.@@@R@R@@@ఐp"u2B\#"O@ D@@ B@@@R@R@-@@\#"I@@ǠF@@@Q@R@7@@d@@8@@@A\ձ@@k@A@M@@A@@@۠@ఠ0extract_elements \&vz\&v֊@\A@@@@@@ M@@@\@@@ |@@@ {M@@@M@3\\\\\\\\@@@@@@࣠@"qs A\&v֋\&v֍@\A@@ 3\\\\\\\\@/\&vv\.Qc@@@@@  @@Aఠ&do_rec \'֐֚\'֐֠@\A@@@\O@@@O@@@@O@@@@UxO@@@@O@@@\f:@@@)O@ @@@$O@@@@@3]] ] ]]]]]@=I_@@@A@@@࣠@$seen A]!'֐֡]"'֐֥@]4A@@43] ]]] ] ] ] ] @B@=@@@4@@,@@P@@@P@@H@I@@@@@@ĠU]=(ֱַ]>(ֱֹ@U@@@@@3];]:]:];];];];];@(R@@ @@@@@ภU°]H(ֱֽ]I(ֱֿ@U@@@C @ĠJ߰]R)]S)@Jޠఠ!q ][) @]mA @@YO@3]Z]Y]Y]Z]Z]Z]Z]Z@@@@ఠ#rem  ]g)@]yA@@\Ơ@@@@@@@@o@@@ภ;s]t,.]u,0@Kະ&no_ors]*]*@డ[!@]*]*@@@@O@O@O@-O@jO@fO@2@@@6@@5@%@@@4@@3&@@@1@@0@@/3]]]]]]]]@oYS@T@UNH@I@J@@@@డ\'$List*rev_append]*]*@ ]*]*@@@SG!a@N@@@O{@@Oz@ST @@@Oy@@OxSY@@@Ow@@Ov@@Ou@GtddGtd@@G P@(#@@@ O@K@@@O@@N@ @@@M@@L @@@J@@I@@HR@@ఐ렐$seen^ *^ *@ɰ@@_@@ఐ#rem^*^*@g@@B/@@@]T@bT@at@@` @@@@@FS@cT@[}@@ఐf"qs^6*^7*@#@@@&no_ors^=*^>*@I @@Ġ@@@DS@hS@e@@ @@$@@@,S@B@U#ors^U+^V+@ภVְ^\+^]+@V@@@('@@@r@@@qR@x@m&active^n,!^o,'@ภ^u,+^v,-ALఐ$!q ^,,@а @@#@ภAV@ A@]@@@R@@@^,*@@G@@@R@@@@^*$@@@ఐ&do_rec^-19^-1?@}@@@@@@@@@@@@@@ภ<^-1B^-1D@LAఐd!q^-1A @ @@c@ఐ$seen^-1H@@@@@^-1@^-1I@@O@#@@ఐs#rem^-1J^-1M@+@@O@2@@>@@3@@J@@4@@AG ð^'֐֨ @@@ A@@@@ c@@@ b@@ a@@ `O@ \@@@^'֐֒@@ఐ&do_rec^.QS^.QY@հ@@@^]@@@ k@@@ m@@ l@W @@@ j@@ i^l>@@@ h@@@ g@@ f@@ e3________@@@@@ภW_ .QZ_!.Q\@W@@@^@@@ @@@ O@ @@ఐh"qs_8.Q]_9.Q_@%@@$@#ors_?.Q`d@E e@@W @@@ ~O@ O@ 2@@Pn@@3@[o@@8@ypA@M@ w@A@t@ts@@ఠ)transpose Ġ_Z1}ׁ_[1}׊@_mA@@@Wܠ\@!R@!@@!@@!@@! @@@@! @@! @@@@!@@!q@@@!@@!@@!@@!G@@࣠@!r Aa6a6@a$A@@63aaaaaaaa@Y@@@@@@!x Aa 6a!6@a3A@@3aaaaaaaa@iH@@@@@@@@ภ?-a.6a/6@Nఐ!xa86 @@@ @@3a6a5a5a6a6a6a6a6@$@@@ఐ7!raE6@ @@h @@@@Y@@@!?@aM6 aN6@@@x@@!.@@@!-r@@!,@@!+S@!LS@!HF@@a\6a]6@@@`@@@!X@@@!W@@!V@@@@!U@@!TY@@@!S@@@!R@@!Q@@!Pe@@ఐ!ia7%a7&@Ȱ@@P@!b@@ఐ#rema7'@@@j@@@ Q@!eQ@!d@@ @@@ @@,@@@Aa1}א @@.@A@DM@!t@A@@@(@ఠ/extract_columns ͠a9,0a9,?@aA@@@Id@@@!R@!@@@!M@!v@@!w@@@@!M@!|@@!}I\ZM@@@!M@!@@@!Q@!@@@!M@!~@@!M@!x@@!yM@!u3aaaaaaaa@e@@@@@࣠@#pss Aa9,@a9,C@bA@@93aaaaaaaa@Ha9,,a=ش@@@@@  @@"qs Ab9,Db9,F@bA@@<3bbbbbbbb@!P@@@@@@@@ఐ)#pssb9,Ob9,R@@@^3bbbbbbbb@P@@@@@ĠZb$:XZb%:X\@Z@@@@m3b"b!b!b"b"b"b"b"@@@@@n@@@డ`$List#mapb5:X`b6:Xd@ b9:Xeb::Xh@@I@@@@ @@@!Q@!@@!u@@!@@!@I @@@!@@!Iܠ@@@!@@!@@!/@@࣠@_ A@ba:Xnbb:Xo@@<@@@@ภZbj:Xsbk:Xu@Z@@@Z@@@!J@br:Xibs:Xv@@@7@@!@@!R@!R@!U@@ఐ"qsb:Xwb:Xy@p@@d@#orsb:Xzb:X}@ @@J>T@@@!R@!R@!s@@f @@t@@b;~؀b;~؁@@@@@@@@ఠ$rows Ҡb<؆،b<؆ؐ@bA@@J=b@@@!@@@!R@!@@@!R@!@డa2$List#mapb<؆ؓb<؆ؗ@ b<؆ؘb<؆؛@@J+@@@@@@!'@@!@@!@J%@@@!@@!Jo2@@@!@@!@@!@@ఐF0extract_elementsb<؆؜b<؆ج@v@@@%@@@!@@!bY+@@@!@@@!@@!@@ఐ"#pssc<؆حc<؆ذ@@@W@@E@@_@A@c<؆؈@@ఐà)transposec=شضc=شؿ@<@@@[;PQ@!@@@!@@@!@@!Kb @@@!@@@!@@!3c1c0c0c1c1c1c1c1@@@@@@@ఐ$rowscC=شL@ M@@[`%@@@!@@@!R@!R@!@@5Z@@M@!@B]@@.@@@AcV9,I_@@0@i`A@M@"g@A@d@dc@zAఠ2every_satisfiables ӠcfDX`cgDXr@cyA@@@[@@@(M@-@@@-M@"!@@"<@@@@+M@"%@@";@@@)M@"'@@":@@"93cccccccc@@@@@@࣠@#pss AcDXscDXv@cA@@+3cccccccc@:@5@@""@,@@"&'@@"(N@"#@@"$N@"@@@A*every_both @DM@")@@"*@@@@-(M@"-@@".@aZ@@@.M@#@@@#M@"1@@"2@a1Z@@@.M@#@@@#M@"5@@"6bM@"7@@"8N@"3@@"4N@"/@@"0N@"+@@",N@" @cc@@cA@@@@UT@@"qs AcDXwcDXy@dA@@z3cccccccc@_k@b@c@@@@@@ఐ"qsdDXقdDXل@@@@@3dddddddd@!@@@&activedDXمdDXً@ @@ɠ@@@"T@@@"S@Ġ\d$Eّٓd%Eّٕ@\@@@@ܠ@@@"]@@@"\3d)d(d(d)d)d)d)d)@#@@@ @@@@"_@@@"^@@@ఐQ"qsdAGdBG@:@@@#orsdHGdIG@O @@@@@"t@@@"s$@Ġ\հd[Hd\H@\@@@@%$@@@"}@@@"|3d`d_d_d`d`d`d`d`@Z@@@ @-,@@@"@@@"~@@@ఐs2+satisfiabledxI dyI #@r@@@\\\@@@"@@@"@@@"@@"@/a[@@@"@@@"@@@"@@"Y@@@"@@"@@"7@@ఐ +make_matrixdI %dI 0@ @@@LW@@@"@@@"@@"L@E3@@@"@@@"@@@"@@"\@@ఐ9#pssdI 1dI 4@԰@@`i@@dI $dI 5@@]K]N\@@@"@@@"@@@"T@"U@"{@@ఐ b+make_vectordI 7dI B@ @@@@@@"@@"Ep@@@"@@@"@@"@@ఐ"qseI CeI E@@@@@e I 6e I F@@08bl\/@@@"@@@"@@@"T@"U@"@@@@@@@@"T@"@ภ$Usede(JLVe)JLZ@ @@@ r@@@"@ภ&Unusede5Lhre6Lhx@ @@@S@"@e;I @@@@eBMyeCMyڀ@@  @@@"@@@"@ @@@@"@@@"$@@@డc$List+fold_right2e_Nڪڲe`Nڪڶ@ ecNڪڷedNڪ@@@@!a@M@@PO@!b@M@@PN@#acc@M@@PM@@PL@@PK@@PJ@@PI@[@@@PH@@PG@[ @@@PF@@PE@@@PD@@PC@@PB@@PA@@P@@N"4"4N"F"@@Nc@?:@@@@@M@-M@-M@(M@$S@"@@#@M@-"M@-M@,M@,M@,M@#LS@"@@#@FM@"M@#S@"@@#@@#@@#@@#@@"@F*@@@"@@"@E%@@@"@@"@@@"@@"@@"@@"@@"@@࣠@#pss AeOeO@eA@@I@@@@"qs AeOeO@f A@@J3eeeeeeee@Z@@@@@@@@!r Af Of O@fA@@J3f fff f f f f @^@@@@@@@@ఐ!rfOfO@[@@@@\3ffffffff@@@@Ġ&Unusedf,Pf-P@ @@@@k3f*f)f)f*f*f*f*f*@@@@@l@@@ภ&Unusedf6Pf7P@ @@@u @@f?Qf@Q@@}!@@}!@@@ఐV"qsfLR-fMR/@>@@/@&activefSR0fTR6@Y @@  @@@#K@@@#J=@ĠffS<MfgS<OASఠ!q ܠ foS<N@fA @@#@@@#TU@Ġư A^@@ A@eؠ0@@@#Z@@@#Yc@@@fS<L@@:9@@@#\@@@#[l@ @A@@@@#^@@@#]s@@@@@ఠ"q1 ݠfTSifTSk@fA@@c]@@@#@@@#\@#h3ffffffff@E?@@@A@@@@ఠ"q2 ޠfTSlfTSn@fA@@d@@@#\@#i@@# @@@#@ @@#l@ఐ̠'or_argsfTSqfTSx@@@@d2]@@@#q@@@#t@@#s@d= @@@#p@dC@@@#r@@#o@@#nA@@ఐ!qfTSyfTSz@K@@@@@#Q@@-@@@a@K@@#]@#~Z@A@g TSe@@@ఠ%r_loc ߠgU~۔gU~ۙ@g'A@@VM@#M@#3gggggggg@p{@|@}kd@e@f@@@ఐ}*every_bothg*U~ۜg+U~ۦ@@@@@@#@|@@#@u@@#@f@@#Y@@#@@#@@#@@#!@@ఐ_#pssgGU~ۧgHU~۪@J@@.@@ఐ^"qsgTU~۫gUU~ۭ@F@@;@@ఐ"q1gaU~ۮgbU~۰@D@@H@@ఐ"q2gnU~۱goU~۳@P@@U@@H@@V@A@gsU~ې@@ఐ Р)union_resg}V۷g~V۷@ @@@ @@@#@@#@@@#@@#@@#3gggggggg@p}v@w@x@@@@ఐ!rgV۷gV۷@|@@@@ఐ%r_locgV۷gV۷@@@@@,@@@7@@@@@@@gWgW@@hg@@@#b@@@#a@ @on@@@#d@@@#c@@@ ภV?gWgW@V>@@@],@@@#@gW@@ @@@AgR' @@@@@AgO @@@gOgW@@@9@@#)@0@@#(@#@@#'#@@#&@@#%@@#$T@#T@#@@ఐC/extract_columnsgX gX@l@@@O(@@@$ @@@$ @@$ @0@@@$ @@$ O`9@@@$@@@$@@@$@@$@@$@@ఐ#psshXhX@&@@@@ఐ:"qsh*Xh+X!@#@@@@h.X h/X"@@@@@#"T@$'U@$ @@ఐ 0extract_elementshDX$hEX4@ǰ@@@v@@@$-@@$,g|@@@$+@@@$*@@$)'@@ఐo"qsh_X5h`X7@X@@4@@hcX#hdX8@@٠@@@# T@$:U@$5?@@ภ$UsedhvY9ChwY9G@ @@@T@$=M@@@@@@@Ah}Gh~ZHO@@@ĠVh[PSh[PU@Vఠ!q נh[PR @hA @@E@@@"g@ఠ#rem ؠh[PX@hA@@gU@@@"i@@@"h@@@ @@^]@@@"k@@@"j@@ed@@@"m@@@"l@@@ Р`'General(Patternsh\\lh\\t@ h\\uh\\|@@@3hhhhhhhh@JD@E@F>8@9@:@@@@A3hhhhhhhh@@@ @h3hhhhhhhh@@@డ*strip_varsh\\܈h\\ܒ@K@@@K@@@$@@$G@@@$@@$3hhhhhhhh@@@@@డ9$viewh\\~i\\܂@4@@@i@@@% @@% h@@@%@@%@@ఐ!qi\\܃i\\܄@A@@@@@%V@%"V@%!.@@" @@@@@%@%#V@%6@@*C@@@@@%:@bi-\\ܓ@@3i)i(i(i)i)i)i)i)@Z@@@(pat_desci3\\ܔi4\\ܜ@bWk@@,@@%&R@%'@#Any@Р鐐@@@@&H@@&G@@ @&I@@&F@ @&E@␐@@@&K@ߠ@#@&M@%@&L@@&Jܐ@@1@&O@٠@:@&Q@<@&P@֠@E@&S@G@&R@@&NҐ@Ѡ@Р@]@&X@_@&W@@e@&Y@@k@&Z@@&V@m@&U@@s@&[@@&TÐ@{@&\@@@&^@@@&_@@@&a@@&`@@&]@@@&d@@&c@@@&e@@@&g@@&f@@&b@@&h@@@&DA@@j]ܢܨj]ܢܬ@@@@%X3jjjjjjjj@M@@@@@@@%Z@@@ఐ{-is_var_columnj0^ܻܰj1^ܰ@@@@_e@@@&@@@&@@&R|@@@&@@& @@ఐ#pssjK^ܰjL^ܰ@T@@-@@@@E@@@&S@&3@ఐ2every_satisfiablesj]` j^` )@ð@@@@@&@@@&@@&@@&G@@ఐ-remove_columnjt` +ju` 8@R@@@R#@@@' @@@' @@' R @@@' @@@'@@'h@@ఐ#pssj` 9j` <@@@(u@@j` *j` =@@M@(M@'M@'M@'M@'M@'LM@'NM@'M@'@@ఐ>&removej` ?j` E@"@@@@@@' @@'@@@'@@'@@ఐޠ"qsj` Fj` H@ǰ@@T@@j` >j` I@@mM@+M@+M@+M@+M@'M@'M@'M@'M@']M@'^M@')T@''@@@@j@ఐ2every_satisfiablesjcݕݟjcݕݱ@\@@@@@'/@@@'.@@'-@@',@@ఐ預1push_no_or_columnk cݕݳkcݕ@@@@RB@@@'@@@@'?@@'>RI@@@'=@@@'<@@';@@ఐ#pssk,cݕk-cݕ@5@@@@k0cݕݲk1cݕ@@M@'I@@ఐ2*push_no_ork@cݕkAcݕ@߰@@@r@@@'T@@'Su@@@'R@@'Q,@@ఐg"qskWcݕkXcݕ@P@@9@@k[cݕk\cݕ@@T@'[>@@j@@?@ka^ܸܰ@@A@"Or@ఠ"q1 ktdkud@kA@@P@@@%3kvkukukvkvkvkvkv@@@@@ఠ"q2 kdkd@kA@@N@@@%@@@kdkd@@LK@@@%@@@%@@kdkd@@@'@@@@%(@РIH@GF@@@&o@@&n@E@ @&p@@&m@ @&lC@B@A@@&r@?>@#@&t@%@&s@@&q<@;@1@&v@98@:@&x@<@&w@64@E@&z@G@&y@@&u2@1@0.@]@&@_@&~@)@e@&@'@k@&@@&}@m@&|@%@s@&@@&{#"@{@& @@@&@@@&@@@&@@&@@&@@@&@@&@@@&@@@&@@&@@&@@&@@@&kA@n@l}d@@r@@%@@t@@@%@@@డj``lf$lf&@`@@@`@@@'f@@'e@`@@@'d@@'ca@@@'b@@'a@@'`3llllllll@4-@.@/%@@ @@@@ఐ@"q1lflf@@@@@@'y@'pat_loclf lf@eװ @@e]@@@'@'%@(Locationlflf@)loc_ghostlflf#@@3)loc_ghostep@@@"$boolE@@@"@@B3)loc_start &Stdlib&Lexing(position@@@"@@@ @Ae~ZeZ@@eA@3'loc_end&Lexing(position@@@"@@A@Ae[e[7@@eB@)@Ae\8:e\8J@@eC@N0@@a%@@@'vS@'S@'h@@ఐ"q2mg'1mg'3@t@@@@@'|@'pat_locm!g'4m"g';@f: @@e@@@'@'@(Locationm/g'<m0g'D@)loc_ghostm4g'Em5g'N@@c!@@aS@@@'tS@'S@'@@ @@H@@@'S@'r@ఐ 蠐2every_satisfiablesmNjޣޭmOjޣ޿@ @@@ @@'@ @@' @@'@@'@@ఐA1push_no_or_columnmejޣmfjޣ@w@@@U!@@@'@@@'@@'T!@@@'@@@'@@'@@ఐ #pssmjޣmjޣ@ @@ @@mjޣmjޣ@@M@'@@ఐ*push_no_ormjޣmjޣ@7@@@!@@@'@@'!@@@'@@'@@ఐ "qsmjޣmjޣ@ @@ 5@@mjޣmjޣ@@T@'@@j@@ 6@ఐ \2every_satisfiablesmm)mm;@ (@@@ [@@'@ P@@' K@@'@@',@@ఐM.push_or_columnmm=mmK@@@@U"@@@'@@@'@@'Uq"@@@'@@@'@@'M@@ఐ f#pssmmLmmO@ @@ Z@@mm<mmP@@YM@'_@@ఐ'push_orn mRn mY@`@@@">@@@'@@'"A@@@'@@'x@@ఐ 3"qsn#mZn$m\@ @@ @@n'mQn(m]@@IT@'@@j@@ @n-e@@ @'Variant@ఠ!l n@n^nnAn^o@nSA@@@@@%3nBnAnAnBnBnBnBnB@s@@@@@nLn^pnMn^q@@@@@%@@@%@@ఠ!r n]n^rn^n^s@npA@@@@@%@@@%!@@nin^mnjn^t@@@+@#@@@%,@Р@@@@&@@&@@ @&@@&@ @&@@@@&@@#@&@%@&@@& @ @1@&@ @:@&@<@&@@E@&@G@&@@&@@@]@&@_@&@@e@&@@k@&@@&@m@&@@s@&@@&@{@&@@@&@@@&@Ѡ@@&@@&@@&@@@&@@&@@@&@@@&@@&@@&䐐@@&@@@&A@>@oMn^d@@B@@% @@D@@@% @@ఐU)is_absento]n^zo^n^߃@T@@@U@@@(@@(@UU@@@(@@@(@@(k@@@(@@(@@(3opooooopopopopop@<5@6@7 @@@@@@ఐD!lon^߄on^߅@@@V@@@(S@(S@(@@ఐ;!ron^߆on^߇@!@@VV@@@(@@@(S@(!S@(1@@J@@K!@@@(#S@(7@ภ&Unusedooߟߧooߟ߭@@@@ 3@@a@o@b@a`@@@& @@@& @\@@@&@@& @@@& S@%@Р}|@{z@@@&@@&@y@ @&@@&@ @&w@v@u@@&@sr@#@&@%@&@@&p@o@1@&Ġ@ml@:@&@<@&Š@jh@E@&@G@&@@&àf@e@db@]@&@_@&̠@]@e@&Π@[@k@&@@&@m@&ʠ@Y@s@&@@&ɠWV@{@&ѠT@F@@&Ӡ@:@@&Ԡ@54@@&@@&@@&ҠS@RP@@&@@&ؠ@M@@&ڠ@KJ@@&@@&@@&נHG@@&@@@&A@@pp߮ߴpp߮A@@@&S@&@:@ @@:@p@@;@@@&@87@@@&@@@&@@&S@%@#@ @5@p@@6@@@&@32@@@&@@@&@.,@@@&@@@&@@&S@%@D@A@*@p@@+@*(@@@&@@@&@!@@@&@@@@&@@&@@@&@@@@& @@&S@%@Gn@k@@p@@@@&!S@%@Ry@v@@p@@@@@&)@@@&(@@@@&*@@@@&,@@@&+@@&'S@%@s@@@q@@@@&-S@&%@|@%@Рڐ@ِnaH<A&@@@%A@@@I@$@J@%@K@&@L@'@M@(@N@)@i~&Simple$view(Patternsqp߮ߵqp߽߮@ qp߮߾qp߮@@qp߮@ @@@k@$view qp߮qp߮@qAN@@&>@@0@&?@@x@@@@@&@{@@@@ఠ!q qqqq@qA@@k!Рed@cb@@@(<@@@(;@^@@@(=@@(:@@@(9Z@Y@X@@@(?@UT@@@(A@@@(@@@(>P@O@@@(C@LK@@@(E@@@(D@GE@@@(G@@@(F@@(BA@@@?=@@@(L@@@(K@6@@@(M@3@@@(N@@(J@@@(I@/@@@(O@@(H,+@@@(P @ @@@(S@@@(R@@@@(T@@@@(V@@@(U@@(Q@@@(W@@(8@@@@(7S@(@@@(S@('3r]r\r\r]r]r]r]r]@ @@@@@k(pat_descrnqroq@ఐڠ$viewrwqrxq@@@@kk@@@(fS@(c@kk@k@@@(r@k@@@(s@n=@@@(t@@(q@@@(pS@(i@kl@@@(zS@(w@kl@@@(S@(}@knS@@@(S@(@@ఐ &!qrqrq@ @@'k@@@(Y[@rqrq@@ ^@A@rq@@@ఠ#pss rs.:rs.=@rA@@r.@@"#@@@(@TS@@@(@@@(@@(@'@@@(@@(@@@(S@(3rrrrrrrr@B;@<@=@@@ఐC=simplify_first_usefulness_colrs.@rs.]@@@@kx'0@@@(@@@(@@(re@@"Z@@@(@@@@(@@@(@@(@'M@@@(@@(@@@(@@(7@@ఐ#psss0s.^s1s.a@9@@D@@9@@bE@A@s5s.6@@@@ఠ"hq sDteqsEtes@sWA@@"@@@(S@(3sHsGsGsHsHsHsHsH@_@@@@@@ఠ$args sXteusYtey@skA@@Р@@@(@@@(S@(@@" @@@"@@@(@డkm$Head+deconstruct(Patternss}te|s~te@ steste@@steste@ @߰ @@@"@@@(@@(@"@@@(@  @@@(@@@(@@(@@(T@@ఐ!qsteste@@@#@@@(T@(f@@7@@@r@`@@)VT@(o@A@stem@@డr1#notswsw @Ű@@@@@@)[@@)Z@@@)Y@@)X3ssssssss@@@@@@@@@ఐil,all_coherentsw sw@[l@@@igmYib@@@)k@@@)j@@@)i@@)hiZ@@@)g@@)f&@@ภRtwtw@aఐʠ"hqtwtw@7@@#W@@@)>@ఐ[Ҡ,first_columntwtw+@Z@@@[͠@@#x@@@)T@)@@@@)@@@)T@)@@)@(o@@@)T@)@@)@@@)@@)[Ҡ@@@)@@)v@@ఐ#psstVw,tWw/@ @@\@@8@3@@)@*@@)@@@)U@)U@)@@P@@sΠfT@)@@@)T@)U@)@@tywtzw0@@iqT@)w@@@)vT@)@@tw tw1@@@@@)d@)T@)t@@ @@P@@@)S@)b@ภ&Unusedtx7Atx7G@q@@@@@ఠ"q0 tz[itz[k@tA@@#@@@)S@)3tttttttt@@@@ఐ$()discr_pattz[ntz[w@԰@@@$#@@@)@@)@m>@@$@@@)@LK@@@*l@@@*kS@)@@)@)@@@*mS@)@@)@@@)@@)@@)@@)9@@ఐ@!qtz[xtz[y@@@$Z@@@*T@)K@@ఐ9#pssuz[zuz[}@@@m@@j@A@@)ڠ@8@@)@@@)T@*nT@*gl@@c@@pm@A@uz[e@@ఐ 2every_satisfiablesu({u){@@@@@@*v@@@*u@@*t@@*s3u.u-u-u.u.u.u.u.@^@@@@@@ఐࠐ;build_specialized_submatrixuB|uC|@.@@@)mY@@@*@@@*@@*@)@@@+S@*@@*M@+S@*A@*A@*@@*@nϠj@@@*@@@*@@*@m@@nj@@@*@@@*@9@@*@0@@*@@@*@@*m/@@@*@@*@@*@@*Z@%࣠@"ps Au}u}@uA@@)Ҡm@@@*@@@*3uuuuuuuu@s@@@@  @@!r Au}u}@uA@@]3uuuuuuuu@#)m@@@*@@@*@!@"@@@@@@ະ)Ϡ**@@@+@@@+V@+@)ՠ**@@@+@@@+ V@+ @)ߡ&activeu}u}@డtS!@u} u} @@@@*@@@*V@+V@*V@*@@@*@@*@@@@*@@*@@@*@@*@@*3vvvvvvvv@Wc@Z@[@@@@ఐ"psv}v} @c@@-@@@*W@*W@*@@ఐ!rv/} v0} @$@@'@&activev6}v7}@*< @@K@@@*W@+W@*6@@* @@*L@@@*W@*=@@ఐ!rvP}vQ}@E@@H@vT}vU}@@K@vW}vX}@@@*nm@@@*@@@*@@*@@@*A@*@@*T@+T@+@@ఐѠ"q0vx|vy|@E@@%@@@+%K@@ఐ#pssv|v|@;@@o@@%@@@+.T@*@@@@*@K@@*@@@*T@+2T@++q@@v|v}@@M@*@@ະ*++@@@+@@@+S@+@*++@@@+@@@+S@+@*ʡ&activev~.v~4@డu>!@v~Rv~S@j@@@j+@@@+FS@+S@+S@+K@@@+O@@+N@n@@@+M@@+Lo@@@+J@@+I@@+H@@ఐ+c1simple_match_argsw~5w~F@&:@@@pqlz@@@+l@@@+k@@+j@p|l@@@+i@@@+h@@+g@+Ro+@@@+e@@@+d@@+f@@+c@@+b@@+a@@ఐ"q0w0~Gw1~I@@@&y@@@+@@ఐ"hqw@~JwA~L@i@@&@@@+@@ఐ$argswP~MwQ~Q@x@@~@@@+_T@+U@+U@+U@+,@@^@@ -@@ఐ̠#remwj~Twk~W@@@@@@+]T@+T@+B@@t @@,-@@@+ET@+[I@@ఐ"qsw~&w~(@}@@ T@w~%w~X@@ W@@c@@ @wyHUwYd@@ @ww@@ @@@ D@]@@@@@1@@@Aw\\`wel@@ u@@@AwDX|@@3@A@@1@@,X@&@@,W!@@,V@@,UM@,Q @@@wDXX@@@@@@"D@@@"C@@@"B@@@"A@@"@@@"?@@">@@"=3wwwwwwww@4@@@࣠@#pss Aww@wA@@3wwwwwwww@2@@@@@@"qs Aww@wA@@!3wwwwwwww@B+@@@@@@@@"q1 Aww@wA@@'3wwwwwwww@5@@@@@@@@"q2 Aww@x A@@%3wwwwwwww@;@@@@@@@@@ఠ#qs1 x x @xA@@,<@@@,R@,3xxxxxxxx@%@@@@@@ະ,%,,@@@,@@@,R@,@,+,,@@@,@@@,R@,@,5&activex6x7@ภ)dx=x>Aeɠఐc"q1 xG@J @@5@ภ)WAp@ A@w-@@@,@@@,R@,E@@xZ@@--@@@,@@@,R@,P@@ఐ"qsxlxm@@@[@xpxq@@c^@A@xs@ఠ#qs2 x|x}@xA@@,@@@-%R@,q@ະ,-e-d@@@-@@@-R@-@,-^-]@@@-$@@@-#R@- @,&activexx @ภ)Ұx xAf7ఐ"q2 x@ @@@ภ)ŰAq4@ A@x-t@@@,@@@,R@- @@x @@--@@@,@@@,R@,@@ఐ"qsxx@@@$@xx@@`@A@x@@@ఠ"r1 xx@xA@@nR@-)3xxxxxxxx@@@~w@x@y@@@ఐ2every_satisfiablesyy1@f@@@@@-/@@@-.@@--@@-,@@ఐQ#pssy2y5@;@@f&@@ఐ#qs1y"6y#9@/@@S@-:5@@(@@6@A@y)@ఠ"r2 y2:@y3:B@yEA@@R@-*F@ఐ۠2every_satisfiablesyA:FyB:X@@@@@@-?@@@->@@-=@@-<Z@@ఐ:&compatyZ:]y[:c@9ٰ@@@::@@@-S@@@-R@@-Q@::@@@-P@@@-O@@-Nm@@@-M@@-L@@-K@@ఐ"q1y:dy:f@@@@@ఐ"q2y:gy:i@y@@@@7@@U @@@-T@-a@ภWy:ry:t@g'ఐ#qs1y:o @ @@4S@-@ఐ#pssy:w@ְ@@@@@@D@ఐ#pssy:}y:@@@ @y:Yy:@@R@@ఐP#qs2y:y:@ذ@@RS@-@@@@P@A@y:<@@ఐ"r1yy@@@@@3yyyyyyyy@@@@@@Ġ&Unusedyy@@@@@3yyyyyyyy@@@@@@@@ఐʠ"r2yy@@@ @Ġ&Unusedz z @@@@@3zzzzzzzz@+@@@@@@@ภ&Unusedzz@@@@2 @Ġ$Usedz z!@@@@@@@@@@ภ(Upartialz)z*@<ภ+Xz1z2AgఐW"q1 z;@> @@y1@ภ+KAr@ A@y/u@@@-@@@-U@-A@@zN@@//@@@-@@@-U@-L@@0'@@uM@Ġ(Upartialzczd @vఠ"u2 zl zm @zA@@//@@@-@@@-@@@ @@B@@B@@@ภ(Upartialz~z@ภXzz@hఐ"q1z @ @@3zzzzzzzz@,%@&@'@@@ఐ1"u2z!@ @@y/@@@-@@@-U@.U@.@@zz"@@/ߠ/@@-@@@-U@-#@@8 @@$@@@Azz#,@@@Ġ$Usedz-1z-5@<@@@@@@@@@ఐ"r2z9Kz9M@@@@Ġ&UnusedzS[zSa@@@@@@@@@@ภ(UpartialzSezSm@ภ,zSozSrAhyఐ"q2 zSq@ @@"@ภ,Asv@ A@z^01@@@.4@@@.5U@.U@@{ Sn@@0=0<@@@.,@@@.+U@.3"@@0'@@1#@@{s{{s|@@+@@+@@@ఐ"r2{$s{%s@B@@C5@@@A{(9?{)@@F8@Ġ(Upartial{4{5@Gఠ"u1 {={>@{PA@@0q0p@@@-@@@-g@@@ @@Yh@@Yh@@@ఐ "r2{R{S@p@@3{P{O{O{P{P{P{P{P@u@@@@@Ġ&Unused{b{c@ :@@@@/3{`{_{_{`{`{`{`{`@@@@@0@@@ภ(Upartial{l{m@డy!@{x{y@ @@@ 0@@@.U@.~@@@.@@.@  @@@.@@. @@@.}@@.|@@.{/@@ఐa"u1{'@H(@@1%@@@.V@.V@.C@@ภ,װ{{Ai<ఐŠ"q2 {@ @@W@ภ,ʰAt9@ A@{!FW@.@@@.V@.f@@S@@NO@@@.V@.m@@{{@@1 1@@.y@@@.xU@.V@.z@@t @@{@Ġ$Used{{@ c@@@@@@@@@ఐ"r1{{@@@@Ġ(Upartial|| @ ఠ"u2 |  |  @|A@@1>1=@@@.p@@@.o@@@ @@@@@@@ภ(Upartial||@ /డz!@|(|)@@@@1d@@@.U@.U@.U@.@@@.@@.@@@@.@@.@@@.@@.@@.3|C|B|B|C|C|C|C|C@D=@>@?@@@@ఐ"u1|U|V@@@-@@@.V@.V@.@@ఐ`"u2|j|k!@"@@B@@@.V@.V@.-@@|v|w"@@1G@@@.U@.V@.8@@e @@9@@@A||#,@@@@@A|@@z@^@@@@@t@A@@@@/&@@@/%@@@/$@@@/#@@/"@@/!@@/ @@/M@/@@@|@@@Aఠ&le_pat |u}|u@|A@@@z s@@@4=M@1M@@@1LM@/*@@/E@zs@@@3M@1b@@@1aM@/.@@/Dp@@@?*M@/0@@/C@@/B3||||||||@9@@@࣠@!p A|u|u@|A@@13||||||||@LA@<@@/+@1@@//&@@/1N@/,@@/-N@/'@G@H'le_pats @TzYNM@1@@@1@@@1M@/2@@/3@TzkOM@1@@@1@@@1M@/6@@/7MM@/8@@/9N@/4@@/5N@/(@}}@@}/A-le_tuple_pats @T@T_U@@@?R@>@@@>M@2Z@zM@2]@@@2\@@2Y@@@2XM@/:@@/;@T@T#@@@>M@2`@zM@2c@@@2b@@2_@@@2^M@/>@@/?M@/@@@/AN@/<@@/=N@/)@}e}f@@}xA@@@@@@!q A}ru}su@}A@@3}q}p}p}q}q}q}q}q@@@@@@@@@@ఐ!p}}@@@3}}}}}}}}@$@@@@@(pat_desc}}@v @@tS@4?@@@4AM@/_@@ఐ=!q}}@@@"@(pat_desc}}@vװ @@tՠS@4i@@@4kM@/b3@@}}@@@0@@@/d<@@Ġ(Tpat_var}}@t@}}@@t@@@/r3}}}}}}}}@V@@@@ @tt@@@/t@@@/s @@@t@@@/u@@@@@fM@4*M@4M@4M@1QM@/k@/f@Ġ(Tpat_any~~@T@@@@$@@~~ @@'@@@~~@@dM@4ZM@4VM@1fM@/M@/\@/g8@@ @@@-@@@/z?@@@3@@@/{E@@@ภm~-~.@m@@@cM@@Ġ*Tpat_alias~>~?@TEఠ!p ~G~H@~ZA@@{uf@@@/@@@/3~M~L~L~M~M~M~M~M@@@@@~V~W@@TK@@@/ @@~^~_@@TLTJ@@@/@@@/@@~j~k@@TM@@@/@@~r~s@@TO@@@/%@@@:~x@@@/})@@@~~@@q@/~1@@F@@@@ @@/8@@@@@@/>@@@ఐ&le_pat~~@@@@@@1A@@@1@@@1?@@1>3~~~~~~~~@c\@]@^@@@@ఐj!p~~@ @@@@ఐO!q~~@1@@@@)@@@@@~~@@@/3~~~~~~~~@C@@@@Ġ*Tpat_alias~~@Tఠ!q ~~@~A@@|>v@@@/@@@/@@~~@@T@@@/%@@~~@@TT@@@/@@@/1@@@@T@@@/9@@  @@T@@@/A@@@9@@@/D@@I@@@K@@@/K@@@Q@@@/Q@@@ఐ&le_pat*+%@F@@@@@1V@s@@1Uh@@1T@@1S30//00000@YR@S@T@@@@ఐg!pB&C'@̰@@@@ఐm!qO(P)@@@@@)@@@@Ġ-Tpat_constanta*.b*;@Nàఠ"c1 j*<k*>@}A n*?@@N@@@/3mllmmmmm@@@@@@@@@/@@Ġ-Tpat_constant~*A*N@Nఠ"c2 *O*Q@A *R@@N@@@/@@@@@~@/ @@2@@@#@ @@/'@@@)@@@/-@@@డ~{Ϡ{Ѱ*j*k@{ΰ@@@c@@@1Q@1l@@1m@ @@1k{@@@1j@@1i@@1h3@/WO@Q@R;3@5@6@@@@ఐc-const_compare*V*c@`:@@@q@@@1@@1@@@1~c@@@1}@@1|@@1{"@@ఐ|"c1*d*f@+@@q@@@1S@1S@16@@ఐs"c2*g*i@>@@S@1S@1G@@7@@RH@@@ *l *m@@]R@1S@@C@@AT@@Ġ.Tpat_constructnrn@R@!n"n@@RR@@@/@@@/3%$$%%%%%@@@@ఠ"c1 2n3n@EA@@R@@@/@ఠ"ps @nAn@SA@@Wՠ}wb@@@/@@@/@@@/%@@RnSn@@R @RRR@@@/@@@/@@@/ޠ@R@@@/@@/@@@/B@@@Qmn@@{@/F@@Ġ.Tpat_constructxnyn@S@}n~n@@SS@@@/@@@/\@ఠ"c2 nn@A@@S@@@/j@ఠ"qs nn@A@@X0}w@@@/@@@/@@@/@@nn@@S@SSS@@@/@@@/@@@/@S@@@/@@/@@@/@@@Pn@@@/@@@@@b@ @@/@@@h@@@/@@@డIuu @u@@@u@@@1@@1@u@@@1@@1u@@@1@@1@@13@k@@@@rk@l@me^@_@`@@@@డ2,equal_constr*Data_types @ @@CT@@@t@@@1@@1@t@@@1@@1Cy@@@1@@1@@12@@ఐ"c101@9@@t@@@1S@1S@1F@@ఐ"c2DE@K@@u @@@1S@1S@1Z@@B @@ur@@@1@1S@1b@@ఐk'le_patsbc@o@@@m@@1@_@@1S@@1@@1y@@ఐ7"pswx@@@|@@ఐ預"qs@@@w@@&@@n@@|@@@@Ġ,Tpat_variant@RRఠ"l1 @A@@RS@@@03@@@@Ġ$Some@Iఠ"p1 @A@@x@@@0@@@0@@@ @@Yx@@@0@@@0@@@0(@@@@RqRl@@@0@@@04@@@E@@@08@@Ġ,Tpat_variant @Rఠ"l2  @A@@R@@@0&P@Ġ$Some@JHఠ"p2 @A@@cy&@@@0-@@@0,k@@@ @@YѠny1@@@00@@@0/@@@0.w@@!"@@RR@@@02@@@01@@@D+@@@0@@@@@V@ @@03@@@\@@@04@@@డvjvlC,D.@vi@@@vi@@@1@@1@vh@@@1@@1wC@@@1@@1@@13RQQRRRRR@@@@@rk@l@m\U@V@W@@@@డ~~k'l(@~@@@S#@@@2 R@1@@1@ @@1~@@@1@@1@@1'@@ఐ蠐"l1$&@.@@4@@ఐ"l2)+@9@@SG@@@2 D@@@@v@@@1@2S@2L@@ఐ&le_pat/5@˰@@@@@2@@@2@@2@@2c@@ఐ "p168@i@@M@2!@@@2 v@@ఐР"p29;@z@@2M@2'@@@2&@@2 @@@@#<@@@@Ġ,Tpat_variant=A=M@Sఠ"l1 =N=P@A@@S@@@0D3@u@@@Ġ$None =Q =U@K@@@@Zˠhz+@@@0L@@@0K@@@0J@ఠ#_r1 =V =Y@2A@@SS@@@0N@@@0M(@@@9+=Z@@9@06,@@Ġ,Tpat_variant6=\7=h@Sఠ"l2 ?=i@=k@RA@@S@@@0YD@Ġ$NoneM=lN=p@K@@@@[zn@@@0a@@@0`@@@0_Y@@^=q_=r@@SS@@@0c@@@0be@@@2h=s@@W@07i@@z@@@D@ @@0dp@@@J@@@0ev@@@డww@@@@T8@@@2@Q@22@@23@ @@21@@@20@@2/@@2.3@ @@}v@w@x^W@X@Y@@@@ఐ"l1w}w@@@@@ఐr"l2ww@@@Tc@@@2C$@@@@%@@Ġ,Tpat_variant@T@@@T|@@@0u@@@@[0z@@@0x@@@0w@@@0v@@@@TT}@@@0z@@@0y@@@'@@@0g@@Ġ,Tpat_variant@T@@@T@@@0@@@@[Šb{%@@@0@@@0@@@0@@@@TT@@@0@@@0@@@'@@@0h @@]@@@9@ @@0'@@@?@@@0-@@@ภr45@r@@@j5@@Ġ*Tpat_tupleEF@Rڠఠ*labeled_ps NO@aA R@@[@RܠR@@@0@@@0@{~@@@0@@@0@@0@@@03feefffff@@@@@@(@@z@0@@Ġ*Tpat_tuplewx@S ఠ*labeled_qs @A @@[@SS @@@0@@@0@{@@@0@@@0@@0@@@02@@@'@@@05@@\@@@8@ @@0<@@@>@@@0B@@@ఐ-le_tuple_pats@@@@@@2M@v@@2L^@@2K@@2J3@6zr@t@uIA@C@D@@@@ఐ*labeled_ps@@@@@ఐ]*labeled_qs@@@@@+@@ @@Ġ)Tpat_lazy(@Rఠ!p )*@ A@@T|@@@0@@@03@v@@@@@ @@@0@@Ġ)Tpat_lazy,5@RӠఠ!q 67@+A@@t|7@@@0@@@0 @@@ @@@0#@@8@@@&@ @@0*@@@,@@@00@@@ఐ&le_pat<;=A@X@@@@@2h@@@2gz@@2f@@2e3BAABBBBB@VO@P@Q70@1@2@@@@ఐ^!pVBWC@@@M@2t@@@2s@@ఐQ!qiDjE@ @@ĠM@2z@@@2y+@@7 @@,@@Ġ+Tpat_recordFJFU@Rఠ"l1 FWFY@A@@R@RR@@@0@@@0ޠ@R@@@0ࠠ@|@@@0@@@0@@0@@@03@@@@@FZF[@@R@@@0 @@@4F\@@@0 @@Ġ+Tpat_recordF^Fi@Rܠఠ"l2 FkFm@A@@Rݠ@RܠR@@@0@@@0@R@@@0@:|@@@0@@@0@@0@@@0?@@FnFo@@R@@@0G@@@3Fp@@@0K@@v@@@E@ @@0R@@@K@@@0X@@@@@ఠ"ps t~t@$ A@@f~#@@@2@@@2R@23@@@]V@W@X@@@@ఠ"qs +t,t@> A@@f~=@@@2@@@2R@2@@( @@@(@@@2!@ఐg,records_argsHtIt@^@@@~Š@S`S^@@@2@@@2R@2@s@@@2@~o@@@2@@2@@@2@@2@~@SS}@@@2@@@2R@2@s8@@@2@~@@@2@@2@@@2@@2@g*@@@2@g @@@2@@2@@2@@2y@@ఐ"l1tt@@@@Y@si@@@2@@@2@@@2S@2S@2@@ఐ"l2tt@@@>@Z@s@@@2@@@2@@@2S@2S@2@@@@@ɠ@@@2S@2@A@tz @@ఐ 'le_pats@ @@@ @@2@ @@2 @@2@@23@@@@@@@@@ఐ"ps@@@ M@3@@ఐ預"qs@@@ M@3#@@/@@ $@:@@ N@@Ġ*Tpat_array)*@Rbఠ#am1 23@EA@@Rc@@@1 @ఠ"ps @A@S A@@Rk~b@@@1 @@@1 @@@1 @@@'P@@ ^@0 @@Ġ*Tpat_array[\@Rఠ#am2 de@w A@@R@@@1 @ఠ"qs rs@ A@@RѠ~@@@1@@@1@@@1 @@@'@@ q@0 @@]@@@9@ @@1 @@@?@@@1 @@@డ{{ð@{@@@{@@@3"@@3!@{@@@3 @@3|@@@3@@3@@33@ %~@@xq@r@sUN@O@PHA@B@C@@@@డ+ꠐ@@@@R@@@3FR@38@@39@ @@37@@@36@@35@@34'@@ఐ#am1@.@@4@@ఐ#am2@9@@&S@3GC@@@@|@@@32@3HS@3CK@@డm|+|-@|*@@@|*@@@3P@@3O@|)@@@3N@@3M}@@@3L@@3K@@3Jj@@డKM#$@J@@@RA@@@3S@3f@@3g@ @@3eK@@@3d@@3c@@3b@@డ$List&lengthFG@ JK@@R>@@@R>r@@@3@@@3T@3y@@@3x@@3wRt@@@3v@@3u@@ఐ,"pslm@@@R_!@@@3U@3U@3@@2 @@L@@డ$List&length@  @@R@@@R@@@3@@@3T@3@@@3@@3R@@@3@@3@@ఐ<"qs@@@R!@@@3U@3U@3 @@2 @@U@3@@w@@|@@@3`@3T@3q@@ఐ ٠'le_pats@ ݰ@@@ @@3@ @@3 @@3@@3-@@ఐ"ps @3@@ M@3<@@ఐ"qs!#@@@@ M@3K@@*@@ L@@@@}@@@30@3S@3\T@@$@@ 6U@@@ W[W\@@ @1 @@@W]W^@@ @1 @@ @@@@ @@1 @@@@@@1 @@@డ#not/Wc0Wf@+@@@+@@@3@@3*@@@3@@3 @@ఐ+satisfiableHWhIWs@°@@@ŠȠ^@@@3@@@3@@@3@@3@T|@@@3@@@3@@@3@@3~@@@3@@3@@3 @@ภ:tWuuWyAwภ:|Wv}WxAwఐ !p Ww@  @@  @ภ:A@ A@@@@3@@@3S@4 @@%@@@ @3@@@3S@3S@3 @ภ:,4A @-5A@@@@3S@41 #@@Wt=@@*@@@3S@3 +@@ภ:W{W}AwLఐ [!q W|@ < @@  ?@ภ:ڰAI@ A@10 M@4K@@@4J@@@4LS@4a Q@@Wz@@U = @ )@3@@@3S@4I \@@WgW~@@@@@3@4lS@3 f@@ @@ ' g@@@A @@ ) @  A@@ L@@=@ ?@@= 4@@=@@=M@= @@@uu@    @  @@ @@/I@ @@/H @@/G@@/F3        @&x@@@࣠@"ps A@0A@@ %3@ ?@@@@@@"qs A,-@?A@@ "3+**+++++@ O 7@@@@@@@@@ఐ("psBC@@@ I3@??@@@@@@" :@@@@@@ఐ("qsQR@ @@ F@@@@@ ]@ M@@=@@Ġwhi@wఠ!p q @A @@ uM@=1@ఠ"ps }@A@@ܠ@@@=?@@@@@ @=B@@Ġx@xఠ!q  @A @@ M@=W@ఠ"qs @A@@@@@=e@@@@@ @=h@@= @@@-@ @@=o@@@3@@@=u@@@డ+~預~@~@@@~@@@>@@>@~@@@>@@>@@@>@@> @@> 3@nh@i@jc]@^@_JD@E@F?9@:@;@@@@ఐB&le_pat@@@@A@@>'@4@@>&)@@>%@@>$ @@ఐ!p@'@@-@@ఐv!q @2@@v:@@&@@D;@@ఐ&'le_pats@*@@@(@@>G@@@>F@@>E@@>DR@@ఐ"ps23@X@@9M@>Ra@@ఐ"qsAB@e@@6M@>Sp@@*@@-q@@]@@.r@@@RS@@X@>@@@Z[@@N@>@@ @@@@ @@> @@@@@@>&@@@ภzٰpq@z@@@Y.@@@At@@[3pooppppp@0@@@ZA@@@@>|@s@@>{g@@>z@@>yM@>u`@@@@hh$#@"%@@e@@/M@F@@/L.@@/K@@/J3@'@@@࣠@*labeled_ps A @A@@y3@@@@@@@*labeled_qs A@A@@e3@@@@@@@@@@ఐ(*labeled_ps#-@@@3@"}@@@@@@ఐ(*labeled_qs/9@ @@@@@@@@@@>@@Ġyu?O?Q@yt@ఠ'p_label ?D?K@A@@M@?M@>7@@ఠ!p ?M?N@A@@M@>E@@ ?C$@@@@ @@>M@ఠ*labeled_ps !0?[@+A3@@xM@>@@@>]@@@ @@@>`@@Ġy,?i-?k@y@ఠ'q_label "9?^:?e@LA@@M@?M@>{@@ఠ!q #H?gI?h@[A@@M@>@@O?]$@@@@ @@>@ఠ*labeled_qs $0]?u@oA3@@M@>@@@>@@@ @@@>@@_ @@@K@ @@>@@@Q@@@>@@@డ~@@@@@@@>@@>@@@@>@@>~@@@>@@>@@>3@@@@@@@g`@a@bYR@S@TE?@@@A@@@@డ&Option%equalyy@ yy@@P@@@@@@>@@@>P@@@>@@>@@>@@>@d$@@@>@@>@d@@@>@@>P@@@>@@>@@>@@>G@@డL&String%equalyy@ yy@@P̰@@@o@@@?@@?@o@@@?@@?P@@@?@@?@@?n@@ఐ'p_label y y@s@@{@@ఐޠ'q_labelyy@}@@@@l@@>@@@>@?S@>@@డTV-.@S@@@S@@@?@@?@R@@@?@@?-@@@?@@?@@?@@ఐ&le_patMN@i@@@@@?1@@@?0@@?/@@?.@@ఐ^!pbc@ʰ@@]@@ఐ'!qop@԰@@&@@&@@@@ఐ\-le_tuple_pats@`@@@^@@?Q@?@@?P'@@?O@@?N@@ఐ{*labeled_ps@@@oM@?\@@ఐF*labeled_qs@@@[M@?]@@*@@F@@]@@@@@>@?_S@?(@@@@O @@@@@@>@@@@@{@>@@ @@@@ @@> @@@@@@>@@@ภ}C@}B@@@z@@@A@@|3@@@@DA@@@@?@@@?@@?@@?M@?J@@@@@@@ఠ(get_mins %@ A@@@@n@@M@?@@?@ M@?@@?:@@@?M@?A@?M@?A@?M@?@@?@P@?@@@@gM@?@@?!@@@@KM@?@@?M@?@@?M@?3(''(((((@K@@@࣠@"le 'A9:@LA@@:387788888@\IAB@@@@@  @@"ps (AMN@`A@@13LKKLLLLL@!Q@@@@@@@@Aఠ*select_rec )` a @sA@@@Ơb@@@@ P@?@@?@R@@@?P@?@@?P@?@@?@@?3tssttttt@)5\@,@-@@@࣠@!r *A   !@ A@@#3@1@,@@?@(@@?"@@?Q@?@@?Q@?@7@8@@@@@@Ġ-3-5@@@@@43@(A@@ @@@@@ఐ,!r-9-:@ @@; @Ġ|G;B;D@|Fఠ!p +;A @!A @@P@?3@!@@@ఠ"ps ,;F@"A@@.@@@?@@@@@e@@@డK$List&existsJUJY@ JZJ`@@;@@@@S@?@@?;@@@?@@?@@?@; @@@?@@?;@@@?@@?@@?3@bJD@E@F?9@:@;@@@@࣠@"p0 -AJfJh@,#A@@'3@@@@@@@ఐ"le)Jl*Jn@ذ@@)3'&&'''''@'9@@@@@@ఐ#"p09Jo:Jq@ @@F@@ఐ!pFJrGJs@?@@@@!@@7@KJaLJt@@@_@@?<@@@?@@?T@?T@?;@@ఐ"psbJucJw@Z@@<v@@@?T@?T@?g@@ @@j@@@?T@?V@ఐ*select_rec|x}x@@@@@@@@@@?@@?@@?j@@ఐ !rxx@@@,w@@ఐϠ"psxx@@@/P@@ @@(@@,@ఐN*select_rec@#@@@M@@@@G@@@A@@@@@@ @@ภm@}Mఐ!p @ð @@@ఐQ!r@.@@o@@@@rP@@@@ఐ"ps@ް@@wP@@"@@>@@t@JR@@v@@Ax . $ @@@k A@@@@@9@@@@8@@@7@@@6P@@2q@@@  @@ఐ*select_rec@|@@@j@@@@=@@@@@@@@@?@@@> @@@<@@@;3@@@@@ภ#$@@@@P@@S@@ఐԠ*select_rec45@@@@3@@@@W@@@Z@!@@@@Y@@@X @@@V@@@U-@@ภɰOP@@@@Π6@@@@MP@@oQ@@eQ@@mB@@ఐ"psfg@@@IO@@j)@@Q@@e*@@CR@p+@@D@5,A@qM@@s3@A@0@0/@DAఠ#lub /|PX}P[@$A@@@ޠ@@@FM@B@@@BM@@y@@@@M@B@@@BM@@}@@@M@@@@@@@@3@@@@@@࣠@!p 4AP\P]@)A@@*3@<@7@@@z@.@@@~'@@@N@@{@@@|N@@t@B@C%orlub 0@$LM@CM@EM@E>M@A:@@@CM@@@@@@7@@@CM@@@@@@VM@@@@@XM@@@@@N@@@@@N@@@@@N@@u@@@%A+record_lubs 1@^ @^ ^ @@@E@@@E֠@^@@@Eؠ@iA@@@E@@E@@@EM@@@@@@"M@@@@@#M@@@@@N@@@@@N@@v@  ! @@3&A*tuple_lubs 2@h@_sY@@@UM@C@@@CM@Cn@rM@Cq@@@Cp@@Cm@@@ClM@@@@@@h@h"Q@U@@@UM@Ct@M@Cw@@@Cv@@Cs@@@CrM@@@@@Š@;@̠@@@C@@CM@U@@@UM@@@@@N@@@@@N@@w@zFJ{FT@@'A$lubs 3@iM@D[@@@DZ@@@DYM@@@@@@i*M@D^@@@D]@@@D\M@@@@@!@@@FM@Xv@@@XzM@@@@@N@@@@@N@@x@#@@(A@@@@ @@!q 5AP^P_@*A@@-3@?@@@@@@@@@ఐ-!pPhPi@@@S3@$G@@@@@(pat_descPjPr@ @@R@E]@@@E_M@@@@ఐ=!qPsPt@@@f"@(pat_descPuP}@! @@M@@*@@.@@@%@@@@1@@Ġ*Tpat_alias@hఠ!p 6 @2+A@@{>@@@@@@@@3%$$%%%%%@S@@@@./@@h#@@@@ @@67@@h$h"@@@@@@@@@@BC@@h%@@@@@@JK@@h'@@@@%@@@:P@@~M@E[M@EWM@DM@DM@BM@BM@@@@6@@@de@@M@@M@@@@B@@W@@@ @ @@@I@@@&@@@@O@@@ఐ#lub@а@@@@@B@@@B@@B@@B3@tm@n@o@@@@ఐ{!p@ @@@@ఐ!q@а@@@@)@@@@@@@f@@3@@@@@Ġ*Tpat_alias@hɠఠ!q 7@,A@@'@@@@@@@@@@@@h@@@@%@@@@hϠh@@@@@@@@1@@@@h@@@A9@@@@h@@@AA@@@9@@@@D@@I@@@K@@@AK@@@Q@@@AQ@@@ఐ#lub@a@@@@@B@@@B@@B@@B3@HYR@S@T@@@@ఐ!p+,@k@@@@ఐm!q89@@@@@)@@@@Ġ(Tpat_anyLM@j@@@@@A@Ġ(Tpat_varWX@:@\]@@5@@@A@@@3.@@@A@@@A@@@,@@@A@@@@@!@@qr@@$@@@wx@@@A@@ @@@1@ @@A@@@7@@@A@@@ఐ֠!q@@@@@@@@M@A@@Ġ(Tpat_any@j^@@@@E@A@Ġ(Tpat_var@@@@@@@A,@@@@@@A.@@@A-@@@@@@A/@@@@@!@@@@$@@6@@@8@+@@A0@@@>@1@@A1%@@@ఐ>!p@%@@N/@@Ġ'Tpat_or @hఠ"p1 8"$@-A@@[7@@@A?3@0@@@ఠ"p2 9%'@".A@@kG@@@A@@@()@@hh@@@AB@@@AA@@@.$*@@@A3 @@@++,,@@@A4(@@:@@@@ @@AC/@@@@@@AD5@@@ఐ%orlubE4F9@@@@@@B@s@@B@k@@Bi@@B@@B@@B3ONNOOOOO@\U@V@WMF@G@H@@@@ఐd"p1c:d<@@@@@ఐa"p2p=q?@@@@@ఐĠ!q}@~A@@@,@@<@@-@@@BDBE@@<@AF3@@@@@Ġ'Tpat_orBFBM@iFఠ"q1 :BOBQ@/A@@M@AM@@@AR@ఠ"q2 ;BRBT@0A@@@@@AS+@@BUBV@@iViU@@@AU@@@AT7@@@/BW@@`@AG;@@@@@@B@ @@AVB@@@H@@@AWH@@@ఐ%orlubB_Bd@@@@@@C @@@C @@@C @@C @@C@@C3@UN@O@PE>@?@@@@@@ఐ]"q1BeBg@@@Y\@@@C @@ఐ]"q2BhBj@@@jm@@@C)'@@ఐy!p Bk!Bl@`@@4@@D@@5@@Ġ-Tpat_constant23@dఠ"c1 <;<@N1A@@d@@@Ab3=<<=====@k@@@@@@@@AY@@Ġ-Tpat_constantNO@dఠ"c2 =WX@j2A@@d@@@Ah@@@@@@AZ@@0 @@@"@ @@Ai&@@@(@@@Aj,@@డwx@@@@y@@@CRQ@C3@@C4@ @@C2@@@C1@@C0@@C/3@VO@P@Q;4@5@6@@@@ఐy-const_compare@v @@@i@@@CF@@CG@@@CEy@@@CD@@CC@@CB"@@ఐ{"c1@+@@@@@CTS@CWS@CV6@@ఐs"c2@>@@S@CYS@CXG@@7@@RH@@@@@]R@CZS@@C@@qX@@@C[R@C>Y@ఐC!p@*@@Sc@@Ġ*Tpat_tuple@dఠ"ps >@3A@@ml@dd@@@A}@@@A|@p3@@@A@@@A~@@A{@@@Az3@I@@@@@'@@@Al@@Ġ*Tpat_tuple,-@dఠ"qs ?56@H4A@@m@d d@@@A@@@A@d@@@A@@@A@@A@@@A1@@@&@@@Am4@@Z@@@7@ @@A;@@@=@@@AA@@@@ఠ"rs Vkl@~KA@@M@VM@CM@CM@C\3qppqqqqq@yr@s@tIB@C@D@@@ఐ]*tuple_lubs@a@@@_@@Ca@A@@C`(@@C_@@C^@@ఐ"ps@"@@n&@@ఐq"qs@.@@Y3@@&@@C4@A@@@ఐH(make_pat (@@@@iM@CQ@C}@@C@B@@@C@@C@;@@@C@@C~6@@@C|@@C{@@Cz@@Cy3@]mf@g@h@@@@ภ*Tpat_tuple*4@esఐ}"rs57@@@|@@)8@@2Q@C@@ఐU!p9:@<@@{-@(pat_type;C@ @@@@@CR@CR@C;@@ఐr!pDE@Y@@J@'pat_env F!M@ @@@@@CR@CR@CX@@v @@M@C[@ @@@@Ġ)Tpat_lazy<NP=NY@eఠ!p @ENZFN[@X5A@@d@@@A@@@A3KJJKKKKK@y@@@@@ @@@A@@Ġ)Tpat_lazy\N]]Nf@e ఠ!q AeNgfNh@x6A@@@@@A@@@A @@@ @@ @A#@@8@@@&@ @@A*@@@,@@@A0@@@@ఠ!r Wltlu@LA@@R@C3@RK@L@M3,@-@.@@@ఐ"#lublxl{@@@@!@@C@@@C@@C@@C@@ఐn!pl|l}@"@@#M@C@@@C,@@ఐa!ql~l@4@@!6M@C@@@C?@@2 @@6@@A@lp @@ఐn(make_pat@ܰ@@@M@DQ@C@@C@h@@@C@@C@a@@@C@@C\@@@C@@C@@C@@C3@itm@n@o@@@@ภ)Tpat_lazy@eȠఐ!r@@@@@@@2Q@D@@ఐݠ!p"#@@@}@@@@D@@@D4@(pat_type01@@@@@@CR@D R@DB@@ఐ!pFG@@@d@@@D#@@@D"X@'pat_envTU@7@@@@@CR@D+R@D(f@@ @@M@Ci@ @@@@Ġ.Tpat_constructpq@kఠ#lid Byz@7A@@kk @@@A@@@A3~~@@@@ఠ"c1 C@8A@@k@@@A@ఠ#ps1 D@9A@@p/@@@A@@@A@@@A%@@@@k@kkk@@@A@@@A@@@AƠ@k@@@A@@A@@@AB@@@W@@w@AF@@Ġ.Tpat_construct@kp@@@kkki@@@A@@@A\@ఠ"c2 E@:A@@kn@@@Aj@ఠ#ps2 F@;A@@pT@@@A@@@A@@@A@@@@kw@kvkuks@@@A@@@A@@@A⠠@kp@@@A@@A@@@A@@@P"@@@A@@@@@b@ @@A@@@h@@@A@@డe,equal_constr*Data_types@A@ DE@@[@@@ @@@D3@@D2@@@@D1@@D0[@@@D/@@D.@@D-3TSSTTTTT@@@@@@@x@y@zrk@l@m@@@@ఐ⠐"c1no@@@3@@@DCR@DER@DD@@ఐ"c2@"@@G@@@DAR@DGR@DF3@@M @@u@@@DHR@D?9@@ఠ"rs X(*@MA@@M@XM@FM@FM@DM@DM@DI3@R@@@ఐ4$lubs-1@8@@@6@@DN@)@@DM@@DL@@DK@@ఐ0#ps125@k@@E"@@ఐ⠐#ps269@v@@A/@@&@@90@A@$@@ఐy(make_pat=E=M@@@@M@DQ@Dd@@Di@s@@@Dh@@Dg@l@@@Df@@Deg@@@Dc@@Db@@Da@@D`3@mf@g@h@@@@ภ.Tpat_construct=O=]@lఐ#lid=_=b@@@ll@@@DR@DR@D@@@D$@ఐ"c1/=d0=f@Ѱ@@l@@@DR@DR@D6@ఐ"rsA=hB=j@>@@A@ภ$NoneK=lL=p@b@@@l@lll@@@D@@@D@@@D@l@@@D@@D@@@DR@De@@i=Nj=r@@~Q@Dj@@ఐ Ҡ!pys}zs~@@@ y@(pat_typess@l @@@@@D}R@DR@D@@ఐ !pss@ְ@@ @'pat_envss@ @@@@@D{R@DR@D@@ @@ M@Dy@ @@ @@Ġ,Tpat_variant@ktఠ"l1 G@A@@kk@@@B@@@B:@@@K@@@A>@@Ġ,Tpat_variant@kʠఠ"l2 J@+?A@@k@@@BV@Ġ$Some&'@cpఠ"p2 K/0@B@A@@N@@@B@@@Bq@@@ @@rY@@@B@@@B@@@B}@@IJ@@kk@@@B@@@B@@@DS@@@A@@@@@V@ @@B@@@\@@@B@@డlm@@@@l$@@@DQ@D@@D@ @@D@@@D@@D@@D3zyyzzzzz@ @@@@@@tm@n@o^W@X@Y@@@@ఐҠ"l1)@*@@!@@ఐ"l23@5@@lQ@@@D&@@@@w @@@DR@D,@@ఠ!r Y@NA@@ &R@D3@<@@@ఐ I#lub@ @@@ H@@D@ =@@D 6@@D@@D@@ఐ"p1@V@@5 M@EMM@ESM@DM@E@@@E-@@ఐà"p2@k@@MM@E @@@E @@@7 @@ bA@A@ @@ఐ(make_pat@@@@ /M@E7Q@E@@E@@@@E@@E@@@@E@@E@@@E@@E@@E@@E3@un@o@p@@@@ภ,Tpat_variant01'@lఐx"l1:);+@@@l@@@E;R@EDR@EC @ภ$SomeK,L0@dఐ!rU1V2@1@@4@@@@t @ w@E=@@@E@ఐr#rowj3k6@@@mm @@@E@@@@E?R@EbR@E`T@@yz8@@mQ@E9Y@@ఐ ⠐!p9:@ ɰ@@ h@(pat_type;C@| @@@@@E-R@EhR@Eev@@ఐ !pDE@ @@ %@'pat_envFM@ @@$@@@E+R@EmR@Ej@@ @@ %M@E)@ @@ !@@Ġ,Tpat_variantNPN\@mఠ"l1 LN^N`@AA@@m@@@B,3@ @@@Ġ$NoneNaNe@eg@@@@t?@@@B4@@@B3@@@B2@ఠ$_row MNfNj@ BA@@mm@@@B6@@@B5(@@@9Nk@@ @B,@@Ġ,Tpat_variant NmNy@mȠఠ"l2 NNzN|@)CA@@m@@@BAD@Ġ$None$N}%N@e@@@@tE@@@BI@@@BH@@@BGY@@5N6N@@mԠm@@@BK@@@BJe@@@2?N@@ @Bi@@z@@@D@ @@BLp@@@J@@@BMv@@డXY@@@@n@@@EQ@Es@@Et@ @@Er@@@Eq@@Ep@@Eo3feefffff@ @@~w@x@y_X@Y@Z@@@@ఐ"l1|}@@@@@ఐs"l2@@@n;@@@E$@@@@y @@@ER@E~*@ఐ !p@ ܰ@@ 4@@Ġ+Tpat_record@jɠఠ"l1 O@DA@@jʠ@jɠj@@@Bb@@@Ba@j@@@Bc@'@@@Be@@@Bd@@B`@@@B_3@ @@@ఠ&closed P@EA@@j@@@Bf@@@:@@ @BO@@Ġ+Tpat_record@kఠ"l2 Q@FA@@k@kk @@@Bv@@@Bu@k @@@Bw@l/@@@By@@@Bx@@Bt@@@BsE@@ @@k @@@BzM@@@3%@@ @BPQ@@|@@@E@ @@B{X@@@K@@@B|^@@@@ఠ"rs Z?@@ROA@@ (M@EM@E3A@@AAAAA@ r@@pi@j@kUN@O@P@@@ఐ a+record_lubsVW@ e@@@ c@@E@ E@@E D@@E@@E@@ఐ"l1kl@#@@ xM@UM@UM@E-@@ఐ"l2}~@3@@M@U(M@E>@@/@@ h?@A@ @@ఐ#(make_pat@@@@ M@EQ@E@@E@@@@E@@E@@@@E@@E@@@E@@E@@E@@E3@htm@n@o@@@@ภ+Tpat_record@kՠఐ"rs@@@@ఐ&closed@@@k@@@ER@ER@E+@@@@DQ@E0@@ఐB!p @ )@@h?@(pat_type!)@ܰ @@u@@@ER@ER@EM@@ఐ_!p*+@ F@@\@'pat_env ,3@ @@@@@ER@ER@Ej@@ @@M@Em@ @@@@Ġ*Tpat_array)46*4@@jbఠ#am1 R24B34E@EGA@@jc@@@B b@ఠ"ps S@4GA4I@SHA@@jkb@@@B@@@B@@@B x@@@'P4J@@ @B~ |@@Ġ*Tpat_array[4L\4V@jఠ#am2 Td4Xe4[@wIA@@j@@@B @ఠ"qs Ur4]s4_@JA@@jѠ@@@B@@@B@@@B @@@'4`@@ @B @@]@@@9@ @@B @@@?@@@B @@డ İavax@@@@@@@F@@F@@@@F@@F@@@F@@E@@E3@ @@yr@s@tVO@P@QIB@C@D@@@@డ,렐apaq@@@@j@@@F(R@F@@F@ @@F@@@F@@F@@F'@@ఐ#am1alao@.@@4@@ఐ#am2arau@9@@&S@F)C@@@@@@@F@F*S@F%K@@డn-/aa@,@@@j#@@@FJR@F0@@F1@ @@F/-@@@F.@@F-@@F,i@@డ$List&length(ay)a}@ ,a~-a@@j @@@j T@@@FO@@@FNS@FC@@@FB@@FAjV@@@F@@@F?@@ఐ"psNaOa@@@jA!@@@FLT@FPT@FM@@2 @@L@@డ$List&lengthjaka@ naoa@@jb@@@jbӠ@@@Fb@@@FaS@FV@@@FU@@FTj@@@FS@@FR@@ఐ"qsaa@۰@@j!@@@F_T@FcT@F`@@2 @@T@F]@@w@@@@@F@FdS@F;@@@@|!@@@FeR@F@@ఠ"rs [@PA@@R@Ff3@ @@@ఐD$lubs@H@@@F@@Fk@9@@Fj.@@Fi@@Fh@@ఐ"ps@'@@WM@Fv$@@ఐw"qs@4@@UM@F3@@*@@M4@A@@@ఐ(make_pat@@@@"M@FQ@F@@F@@@@F@@F@@@@F@@F{@@@F@@F@@F@@F3@ig`@a@b@@@@ภ*Tpat_array#$@l\ఐ#am1-.@{@@la@@@FR@FR@F @ఐ"rs?@@(@@+@@CD@@DQ@F0@@ఐ!pST@@@?@(pat_typeZ[@F @@@@@FR@FR@FM@@ఐɠ!ppq@@@\@'pat_envwx@Z @@@@@FR@FR@Fj@@ @@M@Fm@ @@@@@@@@@B@@@@@1@B@@ @@@@ @@B@@@@@@B@@@డ%raise @@@@@@@F@@F(R@F@@F@@ภ%Empty @@@@@@@FR@F@@@@5@@@APb @@73@@@@) A@@U@@O@J@@OC@@O@@OM@O/@@@PP@""@@@@@@@@@@@@@@@@@@@@@@@3@U@@@࣠@"p1 \A@QA@@73@S@@@@@@"p2 ]A   "@RA@@33        @cI@@@@@@@@!q ^A#$@0SA@@83@G@@@@@@@@@ఠ"r1 _2-53-7@ETA@@Q@O332233333@$R@@@@@ఐȠ#lubD-:E-=@@@@@@P@@@P@@O@@O@@ఐ_"p1Y->Z-@@I@@$@@ఐL!qf-Ag-B@.@@1@@&@@2@A@k-1@@(pat_descwN\xNd@ภ'Tpat_orNfNm@w-ఐW"r1NoNq@V@W@X@@W3@Va@@@ఐ#lubNrNu@@@@@@P@@@@P? @@P>@@P=@@ఐ"p2NvNx@@@$@@ఐ!qNyNz@@@1@@&@@%2@ภ$NoneN{N@kL@@@wbwa@@@P*@@@P)P@P]E@@NeN@@ P@PU@@@PWM@P%P@P&T@@@@PeP@Pb@@@@@Pq@@@@Pr@@@@Ps@@Pp@@@PoP@Ph@@@@PyP@Pv@|@@@PP@P|@@@@PP@P@@ఐ!qNUNV@@@8@"NT#N@@9@Ġ%Empty,-@D@@@@+@@@P@@@ఐ"r19:@@@Q@@@=FJ@@S@@@T@Ġ%EmptyGH@_@@@@F@@@P@@@ఐڠ#lubVW@@@@@@P@@@P@@P@@P)@@ఐb"p2kl@J@@6@@ఐ^!qxy@@@@C@@&@@D@@@}')@@F@A@@@@P@@@P@@@P@@P@@P@@PM@P@@@@ut@sv@@@@@@@@@@@@@@@3@@@@࣠@"l1 `A  @UA@@3@@@@@@@"l2 aA  @VA@@3@@@@@@@@@Aఠ'lub_rec b  @WA@@@1@@@Q @@@@QlP@Q@eP@Q@@QP@Q@@@QP@P@@P@P@P@@PP@P@@P@@P3@7C@:@;@@@࣠@"l1 cA  @XA@@13@?@:@@P@#@@P"@@PQ@P@@PQ@P@E@F@@@@@@"l2 dA  @0YA@@13@*Q@!@"@@@@@@@ఐ6"l13 4 @@@c310011111@"I@@@@@@ఐ("l2B C @ @@U@@@@@w@\@@P@@ĠӰY Z @@@@@P@QP@QsP@QP@Q=P@QSP@PP@P@P3feefffff@5@@@@@p q @@P@P@P @@@@@@ @@P@@@%@@@P@@@ఐp"l2  @T@@"@@@    @@=@P0@@Ġ   @@@@@1@P;@@@@@@@@PB@@@@@@PH@@@ఐ"l1  @@@R@@ĠW(*@V@ఠ$lid1 e@ZA@@P@Q@@ఠ$lbl1 f $@[A@@P@Q@@ఠ"p1 g%'@\A@@ P@Q@@/@@@"@@ @@Q@ఠ$rem1 h=.@]A@@@g6P@Q@@@Q @@@ @@@P@@Ġ?A@@ఠ$lid2 i(1)5@;^A@@N@@ఠ$lbl2 j475;@G_A@@V@@ఠ"p2 k@<A>@S`A@@[@@E0+@@@l@j@e@@Q@ఠ$rem2 l9UE@gaA<@@P@Q @@@Q(@@@ @@@P+@@j @@@T@ @@Q2@@@Z@@@Q8@@@డ\^xI_yI`@[@@@@@@Q2T@Q#@@Q$@ @@Q"\@@@Q!@@Q @@Q3@]@@@@@@@@t@n@oi@c@d^@X@YJD@E@F@@@@ఐà$lbl1IRIV@@@ @'lbl_posIWI^@ @@1'@@ఐ$lbl2IaIe@'@@6@'lbl_posIfIm@ @@IU@Q5?@@#@@E@@@Q7U@Q.E@ภ԰ss@a@ఐ $lid1s|s@Q@@ [@@ఐ $lbl1ss@\@@ g@@ఐ "p1ss@g@@s@@s{+@@(P@QBw@ఐA'lub_rec6 s@8@@@?@@QG@&@@QF%@@QE@@QD@@ఐ$rem1 s!s@@@P@QR@@ఐ"l2/s0s@@@B@@]@@B@@5@@_P@Q9@@@Q<@డ)+EF@(@@@@@@QhT@QY@@QZ@ @@QX)@@@QW@@QV@@QU@@ఐ0$lbl2de@Ͱ@@@'lbl_poskl@ @@ @@ఐ$lbl1z{@@@@'lbl_pos@Ұ @@8U@Qk@@#@@@@@QmU@Qd@ภ@@ఐw$lid2@ @@@@ఐw$lbl2@@@#@@ఐw"p2@@@/@@+@@P@Qx3@ఐ'lub_rec6@ð8@@@@@Q}@@@Q|@@Q{@@QzG@@ఐߠ"l1@@@ T@@ఐ$rem2@P@@P@Qc@@]@@d@@5@@T@Qrg@ภ @@ఐ/$lid1  @t@@.~@@ఐ-$lbl1@@@,@@ఐ#lub !@n@@@@@Q@@@Q@@Q@@Q@@ఐC"p156@@@B@@ఐ"p2BC@@@\@@&@@@@GP@@pP@Q@ఐ'lub_rec[T'@O]@@@@@Q@n@@Qm@@Q@@Q@@ఐ`$rem1h(i,@Ӱ@@P@Q@@ఐ"$rem2w-x1@ް@@P@Q@@@@@@7@@T@Q@ @@@IO @@@@@A @@@A@@@@U@@@U@@U@@UP@T@@@ @@ఐѠ'lub_rec575>@@@@@tM@E@@@EM@U @l@@@U @@@U@@@U@@U @@@U @@U@@U3@@@@@ఐ#"l15?5A@ @@@@ఐ!"l25B5D@@@@@>@@ h@I@@ i@3A@@@@UI@@@UH@@UG@@UFM@UB9@@@ @ɠɰts@ru@@@@@@@@@@@@@@@3@Z@@@࣠@"ps mAFUFW@bA@@3@X@@@@@@"qs nAFXFZ@$cA@@3@h@@@@@@@@@ఐ("ps'Fc(Fe@@@3%$$%%%%%@"@@@@@@ఐ("qs6Ff7Fh@ @@@@@@@@@@UZ@@ĠǰMnpNnr@@@@@$@U\3MLLMMMMM@(@@@@Ġ԰Znt[nv@@@@@@U] @@@@@@ @@Ud@@@@@@Ue@@@ภqnzrn|@@@@ "@@Ġ}}@ @ఠ'p_label o}}@dA@@]M@Uni@@ఠ!p p}}@eA@@_M@Uow@@}"@@@@ @@Uq@ఠ"ps q.}@fA1@@M@Ul@@@Ur@@@ @@@Ug@@ĠP}}@O@ఠ'q_label r}}@gA@@M@UM@Uv@@ఠ!q s}}@hA@@M@Uw@@}$@@@@ @@Uy@ఠ"qs t0}@iA3@@SM@Ut@@@Uz@@@ @@@Uh@@_ @@@K@ @@U{@@@Q@@@U|@@డ&Option%equal@  @@me@@@@@@U@@@Uma@@@U@@U@@U@@U@@@@U@@U@t@@@U@@Um`@@@U@@U@@U@@U3@??@@@@@@!@@@@@@|@}@~un@o@pa[@\@]@@@@డ&String%equal`a@ de@@mE@@@@@@U@@U@@@@U@@UmE@@@U@@U@@U4@@ఐ'p_label@9@@A@@ఐ'q_label@C@@N@@y@@@@@UR@UT@ภ@*@ఐ'p_label@b@@j@@ఐ>#lub@@@@=@@U@2@@U+@@U@@U@@ఐ4!p@@@3@@ఐ!q@@@@@&@@F@@@@wM@V@ఐȠ*tuple_lubs@̰@@@@@V@@@V@@V@@V@@ఐT"ps@@@M@V@@ఐ"qs@İ@@M@V@@*@@@@9@@@@@$%@@@U~@@@, - @@@U@@ @@@@ @@U @@@@@@U@@@డ%raiseFG@@@@@@@V@@VR@V@@V(@@ภ%Empty[\@s@@@@@@VR@V#9@@@@:@@@AeF] @@@e A@@A@@XH@#@@XG @@XF@@XEM@XAk@@@rFF@@@@@@@@@@@@@@@@@3|{{|||||@@@@࣠@"ps uA$&@jA@@ 3@@@@@@@"qs vA')@kA@@ 3@@@@@@@@@@ఐ("ps24@@@/3@"!@@@@@@ఐ("qs57@ @@-@@@@@C@4@@XY@@Ġe=@=B@dఠ!p w=? @lA @@[M@X`1@ఠ"ps x=D@mA@@L@@@Xb?@@@@@o@X[B@@Ġ=G=I@ఠ!q y=F @nA @@pM@XdW@ఠ"qs z=K@%oA@@r@@@Xfe@@@@@@X\h@@= @@@-@ @@Xgo@@@3@@@Xhu@@@ภ./=W0=Y@ఐ#lub;=O<=R@@@@@@X@@@X@@X@@X3A@@AAAAA@nh@i@jc]@^@_JD@E@F?9@:@;@@@@ఐx!pY=SZ=T@@@x@@ఐ_!qf=Ug=V@@@_#@@/@@$@ఐ$lubst=Zu=^@@@@@@X@@@X@@X@@X9@@ఐ"ps=_=a@?@@M@XH@@ఐ"qs=b=d@L@@M@XW@@*@@X@@d@@Y@@@ eg eh@@%@Xj@@@ ei ej@@@Xk@@ @@@@ @@Xn@@@@@@Xo @@@ภA en ep@@@@@(@@@A,@@*3@@@@AA@@N@@X@A@@X6@@X@@XM@XG@@@@@ @?@ఠ1pressure_variants {))@pA@@@"@@@YM@X@@X@ @@@YQ@Y$@@@Y6M@X@@X$unitF@@@XM@X@@XM@X@@XM@X3      @`@@@࣠@%tdefs |A))@-qA@@.@@@@$patl }A()))@;rA@@13'&&'''''@?@@@@@@@@డ&ignore:*;*$@@!a@@@=@@@@@Ð'%ignoreAAZ@@@X``Y``@@Wt@@@@@@@Y O@X@@XR@@@X@@X3XWWXXXXX@2>e@5@6@@@@ఐn1pressure_variantsl*&m*7@m˰@@@t"@@@X@@@X@@X@@@@X@@@X@@@X@@X@@@X@@X@@X/@@ภ$Some+8E+8I@tߠఐ%tdefs+8J+8O@s@@3@E@@@@+8D+8P@@u+@@@YQ@Y @@డ!$List#map,Q^,Qb@ ,Qc,Qf@@@@@@@@Y'H@@@YQ@YXQ@YAQ@Y!@@Y&@@Y%@@@@Y#@@Y"h@@@Y @@Y@@Y@@࣠@!p ~A,Ql,Qm@sA@@R@@@@ภ^",Qr,Q{Aఐ!p ,Qs@@@ @@3@!@@@ภ^7,QuAఐ(%omega ,Qz@Ͱ @@M@YYM@YK@ภ^, (A@ )A@T@YE@@@YJS@YP%@@2A@ Q@Y?@@@YCS@YI-@@6,Qq;@@@@@YB3@<,Qg=,Q|@@@F@@Y9z@@Y8R@YTR@YR@@ఐ+$patlP,Q}Q,Q@@@X@@T,Q]U,Q@@Р@@@YQ@YWR@Y4@@_*%`,Q@@ @@(@@Z@IA@yM@Y]W@A@f)@@@Z@ఠ (pressure_variants_in_computation_pattern s.t.@tA@@@#@@@ZM@Y_@@Y`@Z+computation@@@YP@Y@@@YP@Y@@@YM@Ye@@Yf@@@ZM@Yg@@YhM@Ya@@YbM@Y^3@@@@@@࣠@%tdefs A..@uA@@53@D.;@@@@@  @@$patl A..@vA@@>3@!L@@@@@@@@@ఠ'add_row //@wA@@@=G@Y@@@YP@Yl@@Ym@vqP@Yz@@@YyP@Yr@@YsP@Yt@@YuP@Yn@@YoP@Yk3@0<p@3@4@@@࣠@#pss A//@xA@@(3@7 / 2@@@@@  @@%p_opt A//@*yA@@/3@!?@@@@@@@@ఐ%p_opt)0*0@@@@@@A3(''(((((@@@@Ġ$None91:1@v@@@@P376677777@@@@@Q@@@ఐD#pssD1E1@)@@S @Ġ$SomeQ2R2 @vఠ!p Z2 [2 @mzA@@mP@Y|2@@@@@t3@@t3@@@ภde2f2@ఐ!po2p2@@@@@3nmmnnnnn@G@@@ఐ}#pss}2r@as@@ @@t@@ @@@A0v@@F@wA@P@Y~@A@{@@@ఠ'val_pss 4$4+@{A@@ 'pattern@@@ZP@Z @@@ZP@Y3@@@@@@@ఠ'exn_pss 4-44@|A@@@@@Z7P@Z#@@@Z1P@Y@@,@@@,@@@Y!@డ7$List*fold_right57;57?@ 57@57J@@\ @@@@U@@Y@@W@=@@ZUP@YP@Y@@Y @@Y@@Y@@Y@\"j@@@Y@@Y@@@Y@@Y@@Y@@Y3@X@@@@࣠@#pat A 57P 57S@}A@@k@@@@] A@ఠ$vpss 57U57Y@1~A@@P@Y3@"@@@@@@ఠ$epss /57[057_@BA@@P@Y@@657T757`@@@@ @@Y@@ @@@@ఠ"vp N6cnO6cp@aA@@@@@Y@@@YT@Y3WVVWWWWW@:E>@?@@5.@/@0@@@@ఠ"ep i6crj6ct@|A@@@@@Y@@@YT@Y@@x6cmy6cu@@@,@@@Y$@డ-split_pattern6cx6c@@@@@ @@@@@@G@@@@@@@5 @@@@@@@@@@@u'u'u:uz@@@'&@@@ #@@@Y@@@Y@@Y@k$@@@Y@@@Y٠@Y-@@@Y@@@Y@@Y@@Ys@@ఐѠ#pat6c6c@@@O@@T@@@@x@@ZU@Y@A@6ci @@@ఐ'add_row77@P@@@Wb@@@Z@@Z @xj@@@Z @@Z  @@Z@@Z3@@@@@@@@@ఐ$vpss77@@@@@ఐՠ"vp#7$7@@@x@@@ZT@ZT@Z'@@; @@(@@ఐe'add_row:7;7@@@@@@@Z"@@Z&@x̠@@@Z%@@Z$ @@Z!@@Z F@@ఐ($epssW7X7@@@'S@@ఐ"epd7e7@[@@x@@@Z3T@Z8T@Z6h@@6 @@i@@} @@@ܠ@@@Z9p@@@@y57Kz8@@@@@Y@@@Y@@Y@@YQ@ZDQ@Z@@@ఐҠ$patl88@@@ @@@ภ88@@@@ P@ZO@@ภ&88@%@@@P@ZS@@88@@P@ZT@@@@@A@4 @@ ఐޠ1pressure_variants::@$@@@&@@@Z_@@Z^@z@@@Z]@@@Z\@@Z[@@@ZZ@@ZY@@ZX3@:PI@J@K5.@/@0@@@@ఐ@%tdefs::@%@@q@@ఐe'val_pss::@@@ @@@Zo@@@ZnQ@ZuQ@Zs*@@C@@'@@@ZwP@Zl0@ఐ/1pressure_variants;;@u@@@'.@@@Z@@Z@ˠ/@@@Z~@@@Z}@@Z|"@@@Z{@@Zz@@ZyQ@@ఐ%tdefs7;8; @q@@^@@ఐ'exn_pssD; @e@@V@@@Z@@@ZP@ZP@Zu@@=@@v@@@w@@@@J@@`@A@M@Z@A@@@Aఠ.initial_matrix dFeF@wA@@@Ѡ@ZM@Z@@@ZM@Z@@@ZM@Z@@Z٠ @@@ZM@Z@@@ZM@Z@@Z3@@@@@@@ĠGG@ @@@@+3@9@4@@Z%@@ZN@Z@9@:@@@@@ภGG@@@@-@Ġ<H H @;ঠ)has_guardHH@rĠ*HH@)@@@@@@@Z3@0@@@@@HH @@ZP@Z@ఠ#rem H H@A@@4jM@Z@@@Z@@@ @@r@@@ఐ.initial_matrixHH"@P@@@@@Zs@@Z3@X @@@@@@ఐ'#remH#H&@ @@M@Z@@@@@ĠI'H I'J@ঠ'patternI'=I'D@ఠ!p I'EI'F@.A@@M@Z3@@@@)has_guard'I',(I'5@Ġ.I'6/I';@@@@@@@@Z@@@5I'+6I'G@@M@Z@ఠ#rem @I'KAI'N@SA@@@@@Z(@@@@@)@@@ภMNI'VOI'X@ڠภc}VI'SWI'UAఐE!p `I'T@C@D@E @@D3^]]^^^^^@O*#@$@%@@@ภcu A@A@̠@@@ZO@Z@@uI'R@@M@Z@ఐ.initial_matrixI'YI'g@@@@@@Z@@Z&@@ఐS#remI'hI'k@/@@*M@Z5@@@@6@@%@@7@@A^ F @@@ @@@8@@[)@@[M@[ @@@F@@@ Aఠ4initial_only_guarded OO@A@@@2)@[OM@[,@@@[+M@[%@@@[$M@[@@[!'F @@@[QM@[I@@@[MM@[@@[ @@ĠYPP@X@@@@(3@L6@1@@["@@[N@[@6@7@@@@@ภjPP@i@@@*@ĠQQ@ঠ)has_guardQQ@Ġ Q Q@@@@@@@@[/3        @0@@@@AQQ@@WP@[)@ఠ#rem Q Q!@2A@@gM@['@@@[0@@@ @@o@@@ఐ4initial_only_guarded2R%+3R%?@P@@@@@[Ap@@[@343344444@X @@@@@@ఐ'#remFR%@GR%C@ @@M@[G@@@@@ĠSSD]TSD_@ߠঠ'pattern^SDJ_SDQ@ఠ#pat fSDTgSDW@yA@@M@[43feefffff@@@@@AmSDHnSD\@@M@[2@ఠ#rem xSD`ySDc@A@@ؠ@@@[6@@@@@@@@ภTgsTgu@ภdTgnTgrAఐ2#pat Tgq@0@1@2 @@13@<*#@$@%@@@ภd A@A@@@@[SO@[X@@Tgm@@M@[R@ఐ4initial_only_guardedTgvTg@ذ@@@@@[[@@[Z&@@ఐS#remTgTg@/@@M@[a5@@@@6@@%@@ 7@@A O @@@ @@@"@@[@@[M@[@@@O@@@@ఠ2contains_extension \#'\#9@A@@@X@@@[M@[@@[$boolE@@@[M@[@@[M@[@࣠@#pat A \#: \#=@A@@3        @/+\##a@@@@@  @@డ2.exists_pattern!]@B"]@P@@@@@@@@4@@@@@@@@@@@@@?@@@@@@@@[rvrv\rvr@@@! @@@@@@@[@@[@@@[@@[@@[@@@@[@@[\@@@[@@[@@[3UTTUUUUU@KWi@N@O@@@@@ঠ(pat_descm__gn__o@Ġ(Tpat_varu__pv__x@X@z__z{__{@@S@@@[%@ঠ#txt__~__@~+*extension*____@@____@@^@@@[R@[?@@@__}__@@li@@@[R@[@@@[K@@____@@j@@@[S@@@9__@@̠@@@[@@@[\@@@__f__@@@@@[b@@@ภ*____@)@@@@@@\ m@@``@@/@@@\v@@@ภL``@K@@@~@@A ^QV@@@^QU`@@@H@@@[@@[@@@[@@[O@\.O@\*@@ఐ#pata@@@@@@@@A@ M@\;@A@@@@ఠ0do_check_partial c c@A@@$pred@%@@@]{M@\@@\&optionL)Typedtree/general_patternI@@@kM@jx@@@jM@\@@@\@@\M@\=@@\>@@@@nM@\C@@\D@\@@@jM@j@@@j@@@jM@\I@@\J@֠QC@@@]PM@]c@@@]lM@]O@@@]NM@\O@@\P'partial@@@\M@\Q@@\RM@\K@@\LM@\E@@\FM@\?@@\@M@\<3qppqqqqq@@@@@@࣠mm Aqcc@A@@s3@chu@@@@@c @@#loc Acc@A@@^3@!@@@@@@@@%casel Acc@A@@d3@r@@@@@@@@#pss Acc@A@@`3@x@@@@@@@@ఐ#psscc@q@@@@r3@@@@ĠUdd@T@@@@3@@@@@@@@ ఐD%caselm1Am1F@,@@@ĠpnLRnLT@o@@@@@@@@@ภ%jnLXnLZ@%i@@@,@@@\T@\dT@\^*@@o[ao[b@@2@@2@@@డ(Warnings)is_active(Warnings!pgp"pgx@ %pgy&pg@@@(Warnings!t@@@&@@&$boolE@@@&@@&@2utils/warnings.mli@@g@ @@@@@@\j@@\i@@@\h@@\gm@@ภ(WarningsVpgWpg@3All_clauses_guarded[pg\pg@@;3All_clauses_guarded3@@@%@@@K[n@A)G M O*G M d@@@6h@@ @@>@@@\sW@\w@@N@@@@@\xW@\q@డ%-prerr_warning(Locationqq@ qq@@@'@@@$@@$@(Warnings!t@@@$@@$ $unitF@@@$ @@$ @@$ @44++54++?@@;N@&!@@@E@@@\@@\@@@@\~@@\}@@@\|@@\{@@\z@@ఐ-#locqq@@@@@ภ(Warningsqq@3All_clauses_guardedqq@@z@ @@G@@@\W@\@@^ @@@\W@\@@pgm@@@@@Am15r@@ @ภ'Partialss@;'Partial@@@@@@@B@@A]%4]%;@@@`B@@  @@@@@\ @@@!@Ġt t@ఠ"ps t @#A @@M@]mM@\YG@@t@@w @@@\[O@@@@@P@@P@@@@ఠ0counter_examples *u+u@=A@@@@@]T@\3/../////@e)#@$@%@@@డ#Seq*filter_mapFv"MGv"P@ Jv"QKv"[@@@@!a@?@@;!b@<@@@@@@@@ڠ@@@@@ޠ@@@@@@@@DDDE@@e@-(@@@@a@@\\Y@@@\@@\@@\@l@@@\@@\e@@@\@@\@@\W@@ఐ$predv"\v"`@@@d@@S@@@@@@\@@\@@@\@@\q@@ఐzؠ'exhaustv"(v"/@y"@@@VU@@@]!@@@] @@]@9<@@@]@@@]@@@]@@]@L@@@]@@]I@@@]@@@]@@]@@]@@]@@ภ$Nonev"0v"4@k@@@@@@]S@@@]RW@]Y@@ఐD#pssv"5v"8@/@@@@డs$List&lengthv":v">@ v"?v"E@@@@@@@@]b@@]a3@@@]`@@]_@@ఐ"ps+v"F,v"H@@@@@/v"90v"I@@@@@]L@]nX@]j@@ @@E@@@]y@@@]x @@@@ @A@Bu @@ఐ$0counter_examplesNwdnOwd~@#@$@%@@Ơ0@@@]3QPPQQQQQ@#2@@@@ภ'̰`wdawd@'@@@$unitF@@@]U@]@@  @@$nodeNU@]@ @] @Ġ#Seqxx@#Nilxx@@;#Nil!a@@@@@@@@AA@Ab46b4;@@@B@@@@@,*@@@]3@H@@@@1/@@@]@@@ภ%Totalxx@;%Total@@@AB@@A]%<]%C@@@C@@  @@D@Ġ#Seqyy@$Consyy@@;$Cons=@;??@@@@B@AA@Ac<>c<Q@@@C@ఠ!v yy@A@@W@]@ఠ%_rest yy@A@@_@@@]@@@1y@@@@@]@@@@@]@@@ డ)is_active(Warnings z z@ zz@@@@@@@@]@@]@@@]@@]3@HA@B@C=6@7@8@@@@ภ(Warnings,z-z@-Partial_match1z2z@@;-Partial_match@*Format_doc!t@@@%@AC[n@Avv@@@W@డ*Format_doc#Doc%empty*Format_docVzWz@ Zz[z@@_z`z@ @*Format_doc#Doc!t@@@b @4utils/format_doc.mliM  M  +@@ ~@@@>@@@bW@b\@@yzzz@@P@@@]W@]d@@w@@@@@bW@]j@@ఠ&errmsg |&|,@A@@3@@@mW@b3@}@@@@ఠ#doc }/?}/B@A@@&L@@@bX@b@@@bX@b@డ$#ref}/E}/H@@!a@@@0C@@@/@@.,%makemutableAAݠ@@@hhh@@@@@@+@@bT.@@@b@@bC@@డ#Doc%empty*Format_doc}/I}/S@ }/T}/W@@}/X}/]@ @ @@Lb@@@@@Rc@A@}/;@@@ఠ#fmt ~aq ~at@A@@)formatter@@@bX@b3  @un@o@p@@@డ)formatter*Format_doc#~aw$~a@ '~a(~a@@@&Stdlib#ref#doc@@@_@@@_@@_/@@@_@@_@@@q@"@@@@@@b@@@b@@bB@@@b@@b@@@ఐ#doc]~a^~a@J@@50@@@c@@@cY@cY@cX@@I@@^Y@A@m~am@@ డ,'fprintf*Format_doc}~@ @@@{@@@_@@_@a&format!a@_%@@@_$unitF@@@_@@@_@@_@@_@@_@89Q@@@y@-(@@@@@@c@@c@%@*Format_doc'printerY@jB@@@j]X@iX@c(@@c)@X@c,@@c-0@@@jX@jX@c.@@c/X@c*@@c+X@c@@@cE@@@c@@@c@@c/@@c@@c 3@@@@@@@ఐ점#fmt@ @@@@@c'Y@c1Y@c0@@ภ8CamlinternalFormatBasicsؠ&Formatڰ  A;&Format8CamlinternalFormatBasics'format6!a@c!b@c!c@c!d@c!e@c!f@c@@@h@'#fmt$ @@@h&stringQ@@@h@B@@A@A*@@@r@ภv(Open_boxx;(Open_box%!a@f!b@f!c@f!d@f!e@f!f@f@@@gh@"@@@gi@AA@BAAH Q SI  @@@O@ภ&Format֠ภ.String_literal;.String_literal!a@d!b@d!c@d!d@d!e@d!f@d@@@hS@@@@hTߠ'#@@@hU@BKAYAA$}$}$%@@@k@#@@@@@iY@iY@iH@ภ/-End_of_format.;-End_of_format!f@ee!b@ef!c@eg!e@eh@@@h@@@@AYAA .. ./!@@@Dy@@N@$Z@iy^@@jX@c$X@i>X@iRY@icY@itY@iX@c%X@i?Y@iSY@idY@iuY@i  Z@i}Z@i~@@@iY@i@@y@OZ@ig)Z@ikZ@il@@@ivY@i@#@@Y@@@iwY@iY@i@@@Z@iWB234Z@i[+Z@i\@@@ieY@is@@@*Z@iEO?@CX@iY@iB%a<@<@@@@iAY@iY@if@@CB@@@@@c#Y@i=o@@డf%Style.as_inline_code$Miscjk@ no@@st@ @@'printer!a@i@@@j+@@j*Ġ@@@j)@@j(@-PP-PQ1@@@%@@@@@@jD@@jCՠ@@@jA@@j@@@డ(Printpat*top_pretty(Printpat@ @@*Format_doc'printer!k@jk@@@ju@@@jt@3typing/printpat.mliUkkUk@@(PrintpatD@ @@@@@j@@@j@@@@@@ఐ!v@ð@@@@g@@@ ఐL(do_match@@@@nq@@@j@@@j@@@j@@j@}Um@@@j@@@j@@j7@@@j@@j@@j*@@ఐ k4initial_only_guarded.@ ;@@@@@@j@@@j@@j@@@j@@@j@@jM@@ఐ%casel>/?4@@@Z@@BC5@@@@@j@@@jY@jZ@ji@@ภoX7Y9Aఐ!v b8@D @@}@ภorA@ A@ɠU@@@j@@@jY@k@@u6@@U@@@j@@@jY@j@@'@@@@@kY@j@డA'fprintf*Format_doc?M?W@ ?X?_@@@@@@@@k@@k@4@@@kX@kX@k@@@k@@@k@@@k@@k@@k@@k@@ఐ#fmt?`?c@۰@@@@@k.Y@k0Y@k/@@ภdtdA̠ภ.Formatting_lit ;.Formatting_lit!a@e!b@e!c@e!d@e!e@e !f@e @@@hw@.formatting_lit@@@hx֠($ @@@hy@BQAYAA)()())@@@q@ภ%BreakM;%Break@@@ge@@@@g_#intA@@@g`@@@ga@C@GC@A|  |  9@@@*@@"@,m@m@@@@kY@kY@kc@@x@$@@@kY@kY@kn@@@(@@@kY@kY@ky@@@\@@@kyY@k~@ภe<= 4(However, some guarded clause may match this value.)@@f@@@kY@kY@k@ภyPJQI@@MX@k,X@kfX@kxX@kZ@k@@@k+Y@keY@kwY@k@@@kY@k@@@jZ@kj@@@kzY@k@@@v%Z@kE&'()@@@kgY@kv@ 6@,(However, some guarded clause may match this value.)@@}@@@khY@kY@k@@@@5 3<@@@k*Y@kd@@:@@$@@ @@&@ ఐ 2contains_extension@ e@@@D@@@k@@k @@@k@@k@@ఐ!v@հ@@@@@@p@@@kY@k@డ'fprintf*Format_doc @   @@@@@@@@k@@k@6!@@@mYX@mXX@k@@@k@@@k@@@k@@k@@k@@kG@@ఐ0#fmt89@Q@@1@@@lY@lY@l[@@ภDCM NpABภO&v' uภW.=/<!@@>@@@lVY@lZY@lY@@"@D@@@lWY@l\Y@l[@@-@H@@@lXY@l^Y@l]@@4@|@@@lMY@lU@ภ\7]A6ภdeIภlmQภtnuYm@Y@qX@lX@l:X@lLX@lX@l`Z@l@@@kY@l9Y@lKY@loY@lY@lY@lpY@lY@lZ@l#Z@l@@@lY@l@ @@@@@lY@lY@l@@@Ϡ7Z@lt+ Z@lx>Z@ly@@@lY@l@@@hDZ@lb8+,IY@l_K@@@lqY@l@ภϠ HMatching over values of extensible variant types (the *extension* above)@@@@@lY@lY@l%@ภ 32ภ@@@@@lY@lY@l@@@@@@@lY@lY@lK@@@@@@lY@lY@lV@@@9@@@lY@l[@ภB_^ must include a wild card pattern@@C@@@lY@lY@lo@ภV-}.|ภ^5D6C"@ @@F@@@mY@m Y@m@A*@L@@@mY@m Y@m @@5@P@@@mY@m Y@m @@<@@@@lY@m@ภdeI:in order to be exhaustive.N@N@@@@mY@m!Y@m @ภxy]Ǡภ)Close_boxf;)Close_box@@@@GC@Alz mz @@@~@@m@@@@m2Y@m7@ภz@z@)X@lX@lX@lX@mX@m1Z@m#)Y@lY@lY@lY@lY@mY@m0Z@m&@@@m3Y@mA@@@!Z@m"#Z@m%&@@@mY@m/@@@ ,Z@l"-.Z@l01@@@lY@m@@@Ϡ7Z@l٠-89Z@lܠ;<@@@lY@l)@@@ܠBZ@l8CmZ@lFG@@@lY@l6@@@vZ@lCwzZ@lz{@@@lY@lC@@@vi=kl@@@lrY@lN@@@Z@l>@@@lNY@lnZ@@@ Z@l@@@l;Y@lJf@ @,@[Matching over values of extensible variant types (the *extension* above)@,must include a wild card pattern@ in order to be exhaustive.@]@@@@@l@A@;@;:@PAఠ(add_path B@A@@@'T@@@o'M@n@@n@ZM@n@@@nM@n@@nHM@o-@@@o1M@n@@n@@n3@}@@@@@࣠@$path CA@A@@+3@9@4@@n@1@@n)@@nN@n@@nN@n@?@@@@@@@@Ġ@@@@@=3@(I@@ @@@@@ภuN' (Aఐ4$path 1@ @@Z@ภuAA@ A@ØfM@o@@@o P@o"@@B @@Y$@ĠٰLM@ؠఠ!x DU @gA @@qM@n3TSSTTTTT@:@@@ఠ#rem Ea@sA@@ M@n@@@oQ@n@@@ @@@%paths Fpq$@ăA @@@n#@@@@@డ%$same$Pathć(1Ĉ(5@ ċ(6Č(:@@%Ѱ@@@( @@@o@@o@(@@@o@@o%@@@o@@o@@o3ěĚĚěěěěě@SM@N@OHB@C@D:4@8@5@@@@ఐ$pathı(;IJ(?@@@@@ఐi!xľ(@Ŀ(A@@@i!@@;@@<@@@o*Q@o#'@ఐ^%paths(G(L@*@@M@o+2@ภװMYM[@dఐ!xMX @? @@D@ఐ(add_pathMc@@@@@@o6@@@o5@@o4@@o3X@@ఐ$pathMdMh@@@,e@@ఐ#remMiMl@l@@0M@oAt@@<@@+u@@4@@,M@o0x@(. @@0z@@A @@@ A@@J@@o[@E@@oZ=@@oY@@oXM@oT#@@@(@@@8@ఠ/extendable_path G5nr6n@HA@@@(@@@qM@o]@@o^67@@@onM@o_@@o`M@o\3DCCDDDDD@E@@@࣠@$path IAUnVn@hA@@3TSSTTTTT@V)]nn^+@@@@@  @@డ#notjk@6f@@@6f@@@og@@of6e@@@oe@@od3rqqrrrrr@+;@"@#@@@@డŅņ@@@@@@@ox@@ow@@@@ov@@ou@@@ot@@os@@or"@@డ&$same$PathũŪ@ ŭŮ@@&@@@).@@@o@@o@)5@@@o@@o&@@@o@@o@@oK@@ఐz$path@U@@X@@డ&Predef)path_bool&Predef@ @@$Path!t@@@p]@1typing/predef.mliO t tO t @@&Predef_@@@)s@@@oQ@pQ@p@@U@@3@@@o@pQ@o@@డyIK@H@@@H@@@p@@p@G@@@p@@pF@@@p@@p@@p@@డ'$same$Path45@ 89@@'~@@@)@@@p@@p@)@@@p@@p'~@@@p@@p@@p@@ఐ$pathWX@@@@@డ)path_list&Predefhi@ lm@@!t@@@pc@U  U  @@e@@@)@@@pR@pR@p @@O@@@@@p@pR@p@@డΠаƕƖ@Ͱ@@@@@@p@@p@@@@p@@p@@@p@@p@@p2@@డ($same$Pathƹƺ@ ƽƾ@@(@@@*>@@@p@@p@*E@@@p@@p(@@@p@@p@@p[@@ఐ$path@e@@h@@డ)path_unit&Predef@ @@!t@@@p^@ P   P  @@ `@@@*}@@@pS@qS@p@@O@@=@@@p@qS@p@@డ(k$same$Path   @ #$@@(i@@@*@@@q @@q@*@@@q@@q(i@@@q@@q@@q@@ఐ$pathBC@˰@@@@డv+path_option&PredefST@ WX*@@t!t@@@pd@rV  sV  &@@qf@@@*@@@qS@qS@q@@O@@@@@p@qS@q@@@@@@@p@qR@p@@J&@@@@@o@qQ@p@@dž)@@8@@@op@q P@o@@%1@@I@;2A@WM@q"9@A@6@65@JAఠ6collect_paths_from_pat Ǟ-5ǟ-K@DZA@@@+$@@@r@@@rM@q$@@q/@ @@@r@@@rM@q(@@q.M@q*@@q-@@q,3ǸǷǷǸǸǸǸǸ@@@@@@࣠@!r A-L-M@A@@)3@7@2@@q%@+@@q)"@@q+N@q&@@q'N@q#@=@>@@@@@@!p A-N-O@A@@93@*I@!@"@@@@@@ఐ!p-X-Y@L@@@@M3@!@@@(pat_desc-Z-b@* @@*ZR@r@Y@rM@qAM@q>@Ġ.Tpat_constructhjhx@@#hy$hz@@@@@qQ@@@qP3'&&'''''@,@@@ঠ(cstr_tag6h}7h@Ġ-Cstr_constantBhCh@*i@GhHh@@*k@@@qY @@@ @@@@@qZ$@Ġ*Cstr_blockVhWh@*]@[h\h@@*_@@@q^4@@@ @@@@@q_8@@# @@@@@q`<@Ġ,Cstr_unboxednhoh@*Q@@@@@@@qcH@@uhvh@@@@@qdN@@@{h||h@@@@@qfR@qeV@ఠ"ps ȉȊ@ȜA@@@@@qi@@@qh@@@qgl@@țȜ@@ @  @@@qn@@@qm@@@ql@@@@qo@@qk@@@qj@@@ȶ@@@@@@@@ఠ$path @A@@@@@r_R@rK3@G@@A@B@@@ఐ9get_constructor_type_path@@@@@@@rS@@rR@@@@rQ@@rP@@@rO@@rN@@rM @@ఐ!p@@@F/@(pat_type@ @@@@@rcS@rhS@re=@@ఐ.!p@@@cL@'pat_env @ @@'@@@raS@rmS@rjZ@@O @@^[@A@& @@డǙ$List)fold_left45@ 89"@@=)@@@@M@rr@@r{@Q@ru@@rz@@ry@@rx@@rw@ @@rv@=# @@@rt@@rs@@rq@@rp@@ro3QPPQQQQQ@@@@@@@ఐŠ6collect_paths_from_patc#)d#?@@@@(@@r@'@@r,@@r@@rR@r@@ఐI/extendable_path~@J@Y@@@@,@@@r@@r:y@@@r@@r5@@ఐԠ$pathɕ@Zɖ@^@?@@-@@@rS@rS@rI@@" @@@@@rS@rO@ఐݠ(add_pathɮ@dɯ@l@@@@-.@@@r@@r@2 @@@r@@r@@@r@@r@@rn@@ఐ $path@m@q@x@@*S@rS@r@@ఐ!r@r@s@@@<@@5@@=M@r@ఐ%!r@y@z@@@J@@F@{@@@@ఐt"ps||@3@@=ՠ@@@rR@rR@r@@ @@@ @@N@@Ġ(Tpat_any@@@@@@@@Ġ(Tpat_var%&@@*+@@@@@q|@@@@@@q~@@@q} @@@@@@q@@@@@5@@5@@%@@6@Ġ-Tpat_constantGH@@LM@@@@@q%@@@ @@I&@@I&@@9@@J'@Ġ,Tpat_variant[\@@`a@@@@@q9@Ġ$Nonelm@@@@@-ʠ@@@q@@@q@@@qN@@}~@@@@@q@@@qZ@@@,ʇ@@\@@\@@o@@]@@@ఐȠ!rʐʑ@@@g@Ġ*Tpat_tupleʝʞ@2ఠ"ps ʦʧ@ʹA@@@32@@@q@@@q@@@@q@@@q@@q@@@q3ʽʼʼʽʽʽʽʽ@@@@@@'@@@@@@@డ6$List)fold_left@ @@>ư@@@@;Q@r@@r@@qp@@@s+@@@s*Q@s@EQ@s@@sQ@r@@r@@r@@r@@r@@@r@>Ӡ@@@r@@r%@@r@@r@@r3@f_@`@a@@@@࣠@!r A@*A@@:3@@@@@@@j A@@'(@@<3$##$$$$$@$K@@@@@@ఠ!p 45@GA@@@@@9:@@@R@I@@s@@ @@ఐ6collect_paths_from_patLM@}@@@@@s@@@s@@s @@s 3RQQRRRRR@/)b@#@$@@@@ఐP!rde@;@@@@ఐ=!pqr@@@|@@)@@@vw@@@@@r@@@r@@r@@rR@s$R@s i@@ఐƠ!rˎˏ@@@@@ఐ"ps˛˜ @@@?s@@@rR@s.R@s(@@ @@@Ġ*Tpat_array˳!#˴!-@@˸!/˹!0@@@@@q3˸˷˷˸˸˸˸˸@@@@ఠ"ps !2!4@A@@\&@@@q@@@q@@@qS@q@@@$!5@@@@@Ġ.Tpat_construct!8!F@~@!H!I@@yw@@@q@@@q1@ঠ(cstr_tag!L!T@YĠ.Cstr_extension!U!c@8@!d!e@@8@@@qL@@@8@@@qQ@@@ @@m@@@qU@@@!K!f@@@@@qT@q]@\"ps !h!!j@3A@@Yg@@'!l(!m@@@@@@q@@@q@@@q۠@@@@q@@q@@@q@@@bB!n@@:@@:@@@@;@@@డʶ$List)fold_leftQquRqy@ UqzVq@@@F@@@@Q@s7@@s@@Q@s:@@s?@@s>@@s=@@s<@ @@s;@@B @@@s9@@s8@@s6@@s5@@s43pooppppp@v@@@@@@ఐ䠐6collect_paths_from_pat̂q̃q@@@@@@sb@@@sa@@s`@@s_@@ఐϠ!r̗q̘q@@@%@@ఐߠ"ps̤q̥q@/@@@|G@@@sSR@sjR@sg:@@_ @@;@Ġ+Tpat_record̺̻@֠ఠ#lps @A@@נ@֠@@@q@@@q@@@@q@4@@@q@@@q@@q@@@q3@@@@@@@@@@q @@@4@@ @@ @@@డa$List)fold_left@ @@@@@@@fQ@ss@@s|@@" @@@s@@@sQ@s@@@@sQ@s@wQ@s@@sQ@sv@@s{ @@sz@@sy@@sx@$@@sw@A%@@@su@@st,@@sr@@sq@@sp332233333@9{t@u@v@@@@࣠@!r AIJ@\A@@A3HGGHHHHH@@@@@@@ʜ A@@YZ@@C3VUUVVVVV@$R@@@@@@@bc@@A @@ఠ!p lm@A@@F@@qr@@@_@V@Q@@s @@  @@ఐ蠐6collect_paths_from_pat͇͆@@@@@@s@@@s@@s@@s3͌͋͋͌͌͌͌͌@7+j@%@&@@@@ఐX!r͟͞@C@@@@ఐ?!pͫͬ @@@@@)@@@Ͱͱ @@@@@s@@@s@@s@@sR@sR@sq@@ఐ!r    @ܰ@@%@@ఐ#lps    @@@A@@@sR@sR@s@@ @@%@Ġ,Tpat_variant    @@    @@@@@r3@@@@Ġ$Some  !  %@Iఠ!p   &   '@A@@d)@@@rS@r @@@r @@@ @@Ԡq4@@@r@@@r@@@r*@@$  )%  *@@à@@@r@@@r6@@@A.  +@@&8@@&8@Ġ*Tpat_alias7  .8  8@>8!p?  :@  ;@RA@@˛5@@@rP@@J  <K  =@@?@@@r X@@R  >S  ?@@@>@@@r"@@@r!d@@^  @_  A@@A@@@r#l@@f  Bg  C@@C@@@r$t@@@5l  D@@dv@@dv@@@@ew@@@ఐ٠6collect_paths_from_patw H Lx H b@@@@@@s@@@s@@s@@s3}||}}}}}@y@z@{@@@@ఐǠ!rΏ H cΐ H d@@@@@ఐ!pΜ H eΝ H f@@@M@s@@@s#@@/ @@$@Ġ'Tpat_orΰ g iα g p@^ఠ"p1 ι g rκ g t@A@@ M@r1@@@r63ξννξξξξξ@@@@ఠ"p2  g u g w@A@@'@@@r7@@ g x g y@@on@@@r9@@@r8@@@0 g z@@@@@@@ఐL6collect_paths_from_pat ~  ~ @@@@K@@s@B@@s9@@s@@s3@C<@=@>2+@,@-@@@@ఐh6collect_paths_from_pat ~  ~ @7@@@g@@s@^@@sU@@s@@s@@ఐS!r ~  ~ @/@@x)@@ఐo"p1( ~ ) ~ @2@@̃n@@@t:@@0 ~ 1 ~ @@v=@@ఐq"p2< ~ = ~ @E@@̗@@@t N@@Z@@O@Ġ)Tpat_lazyN  O  @ఠ!p W  X  @jA@@̳v@@@rA@@@r@b@@@ @@Zc@@Zc@@@ఐΠ6collect_paths_from_patl  m  @@@@@@t@@@t@@t@@t3rqqrrrrr@x&@ @!@@@@ఐ!rτ  υ  @@@@@ఐ:!pϑ  ϒ  @@@M@t@@@t#@@/ @@$@@@AϜ-R @@3ϘϗϗϘϘϘϘϘ@@@@ A@@@@v@@@v@@v@@vM@v@@@Ϫ--@@@@ఠ0do_check_fragile Ϸ  ϸ  @A@@@]@@@xM@v@@v@C10@@@wIQ@wU@@@wTQ@wR@@@wSQ@w@@@wM@v@@v@aܠ+@@@wM@x @@@xM@w@@@wM@v@@v?d@@@wM@v@@vM@v@@vM@v@@vM@v3@0@@@࣠@#loc A      @A@@N3        @A]    @@@@@  @@%casel A     @2A@@W3@!e@@@@@@@@#pss A0  1  @CA@@K3/../////@k@@@@@@@@@ఠ$exts C  D  @VA@@ȿ3@@@wF@@@wEQ@v3KJJKKKKK@)j@ @!@@@డ$List)fold_left`  a  @ d  e  @@DU@@@@)Q@w@@w @@@w @@w@@w@@w@ @@w@DO@@@w@@w@@w@@v@@v3}||}}}}}@2@@@@࣠@!r AБ  В  @ФA@@%E@@@@!c AП  Р  @вA@@3ОННООООО@T6@@@@@@@@ఐ 6collect_paths_from_patб  в  @@@@.44@@@w4@@@w3@@w8@@@@w7@@@w6@@w5@@w2@@w13@(4@+@,@@@@ఐI!r    @4@@j@@ఐJ!c    @@@@'pattern    @ͪ @@&@@@@@'@    @@@@@w#@/@@w"@@w!@@w R@whR@wd@@ภɂ     @Ɂ@@@Q@wo@@ఐ%casel  !  &@@@N@@@@@A@  @@ఐ㠐$exts& * 2' * 6@@@@@ɠ4@@@ws@@@wr3,++,,,,,@ @@@Ġɶ< < @= < B@ɵ@@@@ɵ4@@@w{@@@wz3A@@AAAAA@@@@ @ɽ4@@@w}@@@w|@@@ภ@S < FT < H@@@@@\@@\ I M] I N@@Ԡ4@@@w@@@w4@ @۠4@@@w@@@w;@@@ఐH#pssu I Xv I [@%@@G@Ġс a gт a i@@@@@>@@>@@@ภ@щ a mъ a o@@@@@F@Ġ"ѕ p xі p z@!ఠ"ps ў p v @ѰA @@M@xM@ws@@ѧ p {@@ @@@w{@@@@@|@@|@@@డ$List$iterѺ  ѻ  @ Ѿ  ѿ  @@@@!a@N@@O$unitF@@@O@@O@@O@Q@@@O@@O@@@O@@O@@O@  @@ U@,'@@@@5i@@@xT@w@@w%@@@w@@w@@w@"@@@w@@w!@@@w@@w@@w3@ic@d@e@@@@࣠@#ext A    @%A@@(3@@@@@@@@ఠ)witnesses #  $  @6A@@5@@@w@@@wW@w3+**+++++@0'E@@@@@ఐc'exhaust<  =  @@@@@@@w@@@w@@w@ĠǠ.-@@@w@@@w@@@w@@w@@@@w@@wԠl@@@w@@@w@@w@@w@@w7@@ภ$Somep  q  @ఐk#extz  {  @J@@M@@~    @@ T@xT@w@@@wX@xY@@ఐf#pssғ  Ҕ  @C@@f@@డ $List&lengthҦ  ҧ  @ Ҫ  ҫ  @@@@@@@@x @@x @@@x@@x@@ఐ%"ps    @°@@%@@    @@G@@@w@xY@x@@ @@@A@   @@ఐ)witnesses    @@@@@V@@@x @@@x3@ @@@@ภB_    @B^@@@@@@x=X@xA@@  @@ @@@x7X@x9@ @x;@Ġ#Seq    #@#Nil  $  '@@@@ @@)@@@xO@@@xN;@@0@@@xQ@@@xPB@@@డ-prerr_warning(Location8 + ;9 + C@ < + D= + Q@@@@@@@@xu@@xt@@@@xs@@xr@@@xq@@xp@@xoh@@ఐS#loc[ R d\ R g@8@@u@@ภ(Warningsi h {j h @-Fragile_matchn h o h @@;-Fragile_match@&stringQ@@@%@A@[n@A@rAr @@@MS@డ4$name$PathӍ h ӎ h @ ӑ h Ӓ h @@%paren&optionL@&stringQ@@@@@4@@@@@@@@@@@7-@@@@@@@@@@@@@4F  4F  @@73P@3.@@+)@&@@@x@@x#@@@x@@x@@@x@@x@7O@@@x@@x"@@@x@@x@@x@GภCaӳg@ӳ@J@G@@@x@@xD@@@x@@x@@@x@@x @@ఐ#ext h  h @Ͱ@@@@ h  h @@@@@x@xZ@x!@@  h z  h @@{@@@xY@x)@@@@E@@@xm-@Ġ#Seq"  #  @$Cons'  (  @@c@-  .  @@8@@@x_I@@@@@@@xa@@@x`R@@@@@ΠH@@@xc@@@xbZ@@ՠO@@@xe@@@xda@@@ภCO  P  @C@@@?i@@@AS  @@@@@yin@@@(@Y  Z  @@@u@@w@@@w@@wU@ynU@ykP@@ఐ-$extsp  ]@I^@@@@@wU@ysU@yqy@@g@@e@@@A| I Ri@@7@@@A~ * ,k@@9@dl@@0@vmA@M@yt@A@q@qp@@ఠ,check_unused ԏ = AԐ = M@ԢA@@@@c@@@}M@}@@}@Π@@@|W@}@@@}V@}@@@}M@}@@}B%@}@@@}M@}ɐA@}M@}ŐA@}M@y@@y@D/#P@{@@@@@@@@@M@y@@yJ@@@M@y@@yM@y@@yM@y3@ 0)@*@+@@@࣠@$pred A = N = R@A@@Z3@i = = _r@@@@@  @@%casel A = S = X@A@@;3@!q@@@@@@@@డOQ    @N@@@N@@@y@@y@M@@@y@@yL@@@y@@y@@y3%$$%%%%%@$0a@'@(@@@@డ)is_active(Warnings= [ `> [ h@ A [ iB [ r@@@@@@@@y@@y@@@y@@y3JIIJJJJJ@%@@@@ภ(Warnings[ [ s\ [ {@.Redundant_case` [ |a [ @@;.Redundant_case@@@D[n@A+yeg,yew@@@8Z@@ @@@@@@yQ@y!@@4@@@@@y@yQ@y)@@డ$List&existsՈ  Չ  @ Ռ  Ս  @@W@@@@M@M@yP@y@@yY@@@y@@y@@y@X@@@y@@yW@@@y@@y@@y@@࣠@"vc Aպ  ջ  @A@@&o@@@@ఐ"vc    @4@@@@53@@@@,needs_refute    @Ҋ @@@@@yR@y@    @@@N@@y@@@y@@yQ@yQ@y@@ఐ%casel    @ɰ@@*@@o@@$@@@y@yQ@y@@ @@y@@@yP@y@Aఠ&do_rec     @!A@@@tΓ)@@@|@@@|P@~@@@~P@z@@z @Ρӎa@@@{P@z@@@zP@z@@@zP@z@@z E@@@z.P@z@@z @@z 3;::;;;;;@@@@࣠@$pref AL  M  @_A@@:3KJJKKKKK@'H@C@@z@6@@z$@@zQ@z@@zQ@z@N@O@@@@@@Ġh  i  @@@@@B3feefffff@(X@@ @@@@@ภE߰s  t  @E@@@; @Ġ } +~ -@ ঠ'patternֈ ։ @Eఠ!q ֐ ֑  @֣A@@a3֏֎֎֏֏֏֏֏@)@@@)has_guard֛  ֜ ASఠ @ֳA@q@@@z"@,needs_refute֬ ֭ "@cఠ&refute ִ #ֵ )@A@@z@@@z&'@@@ּ  ֽ *@@T@z,@ఠ#rem  . 1@A@@'P@z@@@z'<@@@ @@=@@@@ఠ"qs 5C5E@A@@WP@z2@@@z4T@z03@_@Y@ZMJ@L@K=6@7@8+$@%@&@@@ภ5I5KAĀఐn!q 5J@ @@@ภA}@ A@e(@@@z6T@z;'@@5H@@υ.@@@z5-@A@5? @@ @ఠ#pss #ew$ez@6A@@օP@|P@{P@z@@@zU@z=3.--.....@N^W@X@Y@@@ఐIH(get_minsAL_BLg@F@@@@ߠԩl@@@z@@@z@@@zW@zT@@z\@@@z[@@@zZA@zYA@zX@@zW@ܠ@@@zV@@zUƠ!@@@zS@@zR@@zQ;@@ఐZ'le_patsxLhyLo@Z@@@ڠΝ@@@z@@@z@@@z@@z@ά@@@z@@@z@@@z@@z˰@@@z@@z@@zi@@\$@@@X@@@zn@@zm\@@@zl@@zkv@@డ $List&filter׻ 3׼ 7@ ׿ 8 >@@~@@@@^@@@{@@@{@@@{X@z@@z@@@z@@z@@z@@@@z@@z@@@z@@z@@z@@ఐ預'compats @ G@q@@@@@@z@@@z@@@z@@z@@@@z@@@z@@@z@@z+@@@z@@z@@z@@ఐF"qs! H" J@@@]P@|P@{P@{P@{@@@{@@@{[@{[@{@@8 ?9 K@@@Ϡ@@@{@@@{@@@{@@{`@@@{@@{@@@@@@@@z@@z2@@@z@@z&@@డ$List#revij@ mn@@g@@@gHP@{.@@@{0@@{/@@@{-@@{,K@@ఐ?$pref؈؉@@@uX@@#@@7kP@{HP@{&@@@{*W@{;X@{7e@@0`@@t@@@zV@{GW@{%n@@9)@@yo@A@أes+@@@ఠ!r خد@A@@}@@@{iU@{S3زررززززز@@@@@@ఐu]2every_satisfiables@u)@@@@@@@{\@@@{[@@{Z@@@@{Y@@{X~@@@{W@@{V@@{U$@@ఐ)make_rows@ް@@@@@@{v@@@{u@@@{t@@{s'@@@{r@@@{q@@{pI@@ఐ砐#pss  @S@@@@@{W@{W@{^@@@@ђJ@@@{n@@@{mV@{W@{l@@ఐo(make_row/0@@@@@@@{@@@{@@{h@@@{@@{@@ఐo"qsJK@@@@@@{@@@{W@{W@{@@YZ@@@@@{k@{W@{@@ @@@A@d @@డ͖͘o@\p@^@͕@@@͕@@@{@@{@͔@@@{@@{o@@@{@@{@@{3~}}~~~~~@@@@@@@డչջّ@Sْ@T@ո@@@~@@@{U@{@@{@ @@{չ@@@{@@{@@{!@@ఐ!rٮ@Qٯ@R@+@@.@@ภ&Unusedٺ@Uٻ@[@~@@@%V@{<@@@@@@@{@{V@{D@@ఐ&refute@_@e@@@@@@{U@{U@{X@@. @@V@@@{U@{^@ภIR@k@m@IQ@@@O@@@~T@{k@@ఠ!r ss@ A@@F@@@}U@{3@@@@@ఠ$skip  @ A@@8@@@|V@{@డ؇WY@V@@@V@@@{@@{@U@@@{@@{T@@@{@@{@@{0@@డئeg=>@d@@@@@@| W@|@@|@ @@|e@@@|@@|@@|N@@ఐ!rZ[@װ@@[@@ภ&Unusedfg@>@@@%X@|#i@@@@@@@| @|$X@|q@@డ~ @@@@@@@|,@@|+@@@@|*@@|)@@@|(@@|'@@|&@@డĠưڝڞ@ð@@@@@@|D@@|C@@@@|B@@|Aϝ@@@|@@@|?@@|>@@డ%#notڽھ@K@@@K@@@|Y@@|XK@@@|W@@|V@@ఐ &refute @@@K@@@|bZ@|dZ@|c@@" @@@@@|T@|eZ@|`@@డZ@@@@P@~P@{9Y@|k@@|l@ @@|j@@@|i@@|h@@|g@@ఐŠ$pref@@@@@ภӓ@Ӓ@@@$P@||@@@@:@@@|R@|}Z@|v$@@'(@@^@@@|<@|~Y@|P.@@డ٤#not<!3=!6@L8@@@L8@@@|@@|L7@@@|@@|G@@డٽT!>U!@@@@@@@@|@@|@@@@|@@|@@@|@@|@@|f@@ఐ&refuter!7s!=@@@@@@|Z@|Z@|z@@డ%m)is_active(Warningsی!Aۍ!I@ ې!Jۑ!S@@%k@@@%k@@@|@@|%f@@@|@@|@@ภ(Warnings۩!T۪!\@0Unreachable_caseۮ!]ۯ!m@@;0Unreachable_case%S@@@P[n@A%yi%zi @@@%F@@ @@%@@@|[@|@@3@@@@@|@|[@|@@!n@@L@@@|@|Z@|@@ @@@@@|:@|Y@|@@@@@@@| @|X@|8@@@@@A@@@ఐޠ$skiprr@@@߰@@i@@@|U@|3@r @@@ఐO!rrr@z@@U@| @@ఠ#sfs   @A@@Ԉqpe@@@|@@@|@@@|V@|3@*@@@ఐ׿7list_satisfying_vectors()@׀@@@ԥԨ>@@@|@@@|@@@|@@|@ۚٙ\@@@|@@@|@@@|@@|Կ@@@|@@|@@|/@@ఐ4#pssWX@@@ԠD@@@|W@|W@|D@@ఐ"qslm@9@@^W@|W@|U@@L@@bV@A@u @@డبت܀܁@ا@@@w@@@}@@@}U@}@@} @@@}ح@@@}@@}@@}3ܓܒܒܓܓܓܓܓ@@@@@@@ఐ#sfsܥܦ@ @@@@ภ*ܱܰ @)@@@,U@}@@@@0@@@}V@}#@ภ&Unused&,@@@@,@@ఠ#sfs 2F2I@A@@_V@}%@@@}8V@} 3@C@@@డN$List#mapL^Lb@ LcLf@@G@@@@q&V@}A@@@}@V@}(@@}+(@@}*@@})@Ĭ@@@}'@@}&Ē3@@@}$@@}#@@}"3@t@@@@@ĠZtLrLtAʦఠ!u  #Ls@5A @@(@ĠZw Aգ@@ A@܉2@@@}F%@@@2Lq@@:'@@@ఐ!u:Lx;Ly@?@@@@f398899999@!@@@@DL|EL}@@M:@@@ ภİMLNL@@@@ұ@@@}LG@TL@@}I@@A WLh @@@YLgZL@@@j@@}=@@}@@ఐ ^$predJ6LK6P@ C@@ 3HGGHHHHH@w@@@@@@ఐ&refuteZ6Q[6W@o@@ @@ఐ'patterng6Xh6_@@@ @@!@@ @Ġ$Noneuewve{@@@@@ +@@ +@@డ#notނeރe@O~@@@O~@@@}@@}O}@@@}@@}B@@ఐ堐&refuteޙeޚe@@@O@@@}X@}X@}V@@" @@@@@}X@}\@ డ\-prerr_warning(Location޸ ޹ @ ޼ ޽ @@(7@@@^@@@}@@}@(7@@@}@@}(2@@@}@@}@@}@@ఐM!q  @@@@'pat_loc  @ @@ׅ@@@}Y@~Y@}@@ภ(Warnings  @0Unreachable_case  @@P@ @@(p@@@}Y@~@@P @@U @@@~X@}@ภ$Used  @@@@]@@@~@b@@@@   !  @@ e@@ e@@@ఐ{!r) * @@@/@@@A-6F@@1@@@2X@n@@3@@@4V@2 @@4X@ @@5@5r @@6@V @@75@A@8s@@ఐI!rB "6C "7@H@I@J@@@@@~ 3DCCDDDDD@V@@@Ġ&UnusedU=MV=S@-@@@@@@@~3VUUVVVVV@@@@@@@@~@@@డ-prerr_warning(LocationlWimWq@ pWrqW@@(@@@@@@~)@@~(@(@@@~'@@~&(@@@~%@@~$@@~#*@@ఐ !qߑߒ@@@ a9@'pat_locߘߙ@ر @@9@@@~9W@~@W@~=G@@ภ(Warnings߭߮@.Redundant_case߲߳@@ R@ @@)$@@@~7W@~D`@@P @@T@z<c@Ġ(Upartial@۠ఠ"ps @A@@@@@~@@@~@@@ @@$@@@~@@'@@@~@@@డU$List$iter@ @@6@@@@.@@@~V@~K@@~O7@@@~N@@~M@@~L@4@@@~J@@~I3@@@~H@@~G@@~F3  @HA@B@C@@@@࣠@!p A$ % @7A@@(3#""#####@@@@@@@డ-prerr_warning(Location8%9-@ <.=;@@)@@@@@@~q@@~p@)@@@~o@@~n)@@@~m@@~l@@~k3LKKLLLLL@?6T@-@.@@@@ఐ?!p`<Ta<U@@@c@'pat_locg<Vh<]@ـ @@@@@~Y@~Y@~ @@ภ(Warnings|<^}<f@0Redundant_subpat<g<w@@;0Redundant_subpat*&@@@E[n@A*Lz*Mz@@@*Y[@@ @@)@@@~Y@~@@@Z@@@@@~Y@~}F@<x@@@@@~c@@@~b@@~aW@~W@~}@@ఐޠ"psyy@@@ޠ@@@~_W@~W@~@@ @@@Ġ$Used@>@@@@@@@~@@@@@~@@@ภP?@P>@@@@@@A "0@@}@@@@@N@@@x@@%@: @@ @Ġ%Empty@;@@@@@@@~ @Ġ)Not_found@ɍ@@@@@@@~ @@@@@@@~ @@@ ภ{@z@@@h@@@~ @ @@P @@@ O[@@& @ఐ u)has_guard@ .@@@@@~S@~ @ఐ &do_rec) * @ ٰ@@@ @@~@ @@~ @@~@@~ @@ఐ $pref>  ? $@ Ӱ@@ + @@ఐ #remK %L (@ _@@ %P@~ @@(@@  @ఐ M&do_rec[8D\8J@ @@@ L@@~@ =@@~ +@@~@@~ 3@@ภmn8Oo8Q@ภv8M Aఐ !q 8N@  @@ N N@ภA@ A@ oP@~@@@~T@~ ]@@8L$@@ wP@~ a@ఐ S$pref-8U@ 0/@@  k@@8K8V@@ P@~ p@@ఐ 栐#rem8W8Z@ @@ P@~ @@X@@ x @@@ z @@@ { @  @@ | @@A{    @@@ o A@@ @@@ @@ @@@@P@ u@@@  @@ఐ  &do_rec _c _i@ @@@3P@@@@@@@@@@@@\Gՠ @@@@@@@@@@@QZ@@@@@@@3@ @@@@ภx _j _l@w@@@_|@@@@@@@@@P@@@ఐ %casel _m !@  "@@ N%@@K #@@ ?P@(@X &@@ @@ [ ] (@@ @ 2 )A@ M@ 0@A@ -@ - ,@ C@ఠ+irrefutable /&0&@BA@@@ߓX@@@M@ @@@M@@@]@@@M@@@M@3DCCDDDDD@ i  @ @ @@@࣠@#pat AW&X&@jA@@"3VUUVVVVV@1_&`&@@@@@  @@ఐeà&le_patl&m&@e@@@ˠَ@@@@@@@@@֠ٙ@@@@@@@@֜@@@@@@@3@.:R@1@2@@@@ఐA#pat&&@ @@_@@ఐڱ%omega&C@VD@@ڭ@@@-@@<H@@b @RIA@vM@@P@A@M@ML@c@ఠ(inactive (  ( @A@@'partial-T@@@OM@B@@C@(@@@ M@@@@M@H@@I<@@@SM@J@@KM@D@@EM@A3@@@@@@࣠&& A*( ( @A@@,3@=(  F@@@@@(  @@#pat A( ( "@A@@63@!D@@@@@@@@ఐ)'partial)%-)%4@@@R3@J@@@@@Ġ'Partial"*:>#*:E@,4@@@@b3      @@@@@c@@@ภѢ+*:I,*:N@ѡ@@@U @Ġ%Total8+OS9+OX@*@@@@x&@@x&@@@Aఠ$loop ŠE,bpF,bt@XA@@@ৠj@@@@@@R@V@@[o@@@R@X@@Z6@࣠@#pat Af,bug,bx@yA@@3eddeeeee@V+@&@@W@@YS@U@+@,@@@@ @@ఐ#pat-{-{@6@@@@73~~@'@@@(pat_desc-{-{@ܮ @@ڮDU@@C@R@eR@b@Ġ)Tpat_lazy..@h@..@@@@@k@@@j3@.@@@@@ @@'@@'@Ġ*Tpat_array..@Ġ'Mutable..@;'MutableՐ,mutable_flag@@@ @@@AB@@AՆgWuՇgW~@@@ՕS@@@@@@@@v%@@..@@7@@@y@@@x@@@w5@@@,.@@\7@@\7@@F@@]8@@@ภf//@e@@@@@Ġ(Tpat_any00@@@@@vQ@@vQ@Ġ(Tpat_var 0 0@@00@@@@@c@@@@@@@@@l@@@@@@q@@@@@r@@r@@%@@s@Ġ,Tpat_variant-0.0 @@2030@@@@@@Ġ$None>0?0@@@@@ᜠ_@@@@@@@@@@@O0P0@@@@@@@@@@@,Y0@@@@@@[@@@@@ภɰ`1)a1-@@@@ @Ġ-Tpat_constantm2.8n2.E@Ϡఠ!c Ǡv2.Fw2.G@A@@@@@3xwwxxxxx@@@@@@@@@@@@@ఐ!c3Qc3Qd@@@@@@@@I3@ @@@Ġ,Const_string4jx4j@Ԋ@4j4j@@Ԍ@@@Q"@@@Ԍ@@@R'@@ @Ԉԅ@@@T@@@S0@@@@@@@@U4@@4@Ġ)Const_int55@H@55@@J@@@YF@@@ @@,@@@ZJ@@J@@3 @@0@@@[N@Ġ*Const_char55@ְ@55@@֪@@@_`@@@ @@F@@@`d@@d@@M @@J@@@ah@Ġ+Const_float55@4@55@@6@@@ez@@@ @@`@@@f~@@~@@g @@d@@@g@Ġ+Const_int3266@D@66@@F@@@k@@@ @@z@@@l@@@@ @@~@@@m@Ġ+Const_int643646@ @8696@@@@@q@@@ @@@@@r@@@@ @@@@@s@Ġ/Const_nativeintM6N6@Ԡ@R6S6@@@@@w@@@ @@@@@x@@@@ @@@@@z@@@ภͰd6e6@@@@@@@Ah2.Ki7@@@Ġ*Tpat_tuplet8 u8*@ ఠ"ps Ƞ}8+~8-@A@@@  @@@@@@@ܬ@@@@@@@@@@@3@@@@@@'@@@@@@@డ $List'for_all91=91A@ 91B91I@@@@@@@BA@@@@@@U@@|U@@@U@@@@@@@@@@@J@@@@@@@@@@@@3@UaZ@[@\@@@@࣠@- A@@91P91Q@@.3@@@@@ఠ!p Р91R91S@A@@0 @@91O91T@@@B@9@@@@ @@ఐȠ$loop 91X91\@@@@@@@@3@=%N@@ @@@@ఐ,!p!91]"91^@ @@[@@@@@&91J'91_@@@x@@z@@@@@V@V@G@@ఐ"ps=91`>91b@e@@۽@@@V@V@p@@ @@]@Ġ.Tpat_constructU:cmV:c{@@Z:c}[:c~@@@@@@@@3^]]^^^^^@@@@@g:ch:c@@@@@ @ఠ"ps ɠs:ct:c@A@@Ԡݗ@@@@@@@@@W@!@@:c:c@@@@@@@@@@@@͠@@@@@@@@@>@@@M:c@@@@@@@Ġ*Tpat_array:c:c@Ġ)Immutable:c:c@;)Immutable@@@@B@@ApgWkqgWt@@@R@@@  @@@@@^@U"ps:c:c@A@@Rh@@@!:c@@@j@@@j@@y@@Ak@@@డ@$List'for_all;;@ ;;@@9@@@@U@@@7@@@@@@@@m @@@@@6@@@@@@@3@x@@@@@@࣠@!p A ; ;@A@@%3        @@@@@@@ఐנ$loop;;@@@@@@@@3@) ;@@@@@@ఐ'!p0;1;@ @@H@@@@@5;6;@@@T@@ω@@@@@V@V@2@@ఐ٠"psL;M;@Q@@̠k@@@V@V@\@@} @@H@Ġ*Tpat_aliasd<e<@kఠ!p ˠm<n<@A@@ɠގ@@@ W@@@@3uttuuuuu@@@@@~<<@@s@@@ @@<<@@tr@@@@@@@@<<@@u@@@@@<<@@w@@@%@@@<<@@'@@'@Ġ,Tpat_variant<<@d@< < @@_@@@9@Ġ$Some< <@V!p<<@A@@S@@@ P@@@@@&@@@@@@ @@@ \@@<<@@xs@@@@@@h@@@:<@@Wj@@Wj@@@@Xk@@@ఐ$loop=&=*@@@@@@@@3@r@@@@@@ఐ!p=+=,@ @@]R@ @@@ @@ @@@Ġ+Tpat_record>-7>-B@2ఠ$ldps ͠>-D >-H@2A@@3@20@@@)@@@(@-@@@*@吠S@@@,@@@+@@'@@@&3;::;;;;;@@@@@D>-IE>-J@@/@@@- @@@4J>-K@@ @@ @@@డ$List'for_allX?O[Y?O_@ \?O`]?Og@@ж@@@@@xv@@@@@@U@2@3@@@iU@3@3U@4@@5U@@@@@@@@@@@$@@@@@@@@@@@@3@ wp@q@r@@@@࣠@ A@@@h|@h}@@63@@@@@ఠ#lbl Ӡ@h@h@A@@8 @@ఠ!p Ԡ@h@h@A@@=@@@h{@h@@@V@M@H@@7$@@  @@డ;@h@h@@@@@@@C@@B@@@@A@@@@@@?@@>@@=3@X@q@:@;5k@/@0@@@@డ_ @h@h@@@@b@@@hX@Y@@Z@ @@X@@@W@@V@@U#@@ఐh#lbl@h@h@.@@2@'lbl_mut@h@h@Ճ @@ 9@@ภ)Immutable(@h)@h@t@@@.Y@lG@@@@Q@@@S@mY@dO@@ఐ$loopA@hB@h@װ@@@@@p@@ob@@ఐ!pR@hS@h@j@@o@@@@p@@B@@ѣ@@@wX@Ov@]@hv^@h@@@@@.ѱ@@@-@@,V@|V@y@@ఐU$ldpstAuA@@@@@@*V@V@@@( @@*@Ġ'Tpat_orBB@8ఠ!p ΠBB@A@@JR@1@@@6@ఠ!q ϠBB@A@@@@@7(@@BB@@HG@@@9@@@84@@@/B@@-6@@-6@@@డ+預CC@@@@@@@@@@@@@@@@@@@@@@3@TJC@D@E:3@4@5@@@@ఐ$loopCC@}@@@@@@@@@ఐe!pCC@!@@Sd@@@)@@@@*@@ఐǠ$loop C C@@@@@@@@=@@ఐy!qCC@E@@x@@@N@@@@O@@?@@P@@@A'-{ @@v@ A@@@@@@R@@@@0,bh@@ఐ$loop:E ;E @а@@@癠\@@@@@@@@_@@@@@3FEEFFFFF@@@@@ఐY#patVEWE@A@@@@ @@R@@]+O\j@@9@@@A_)%'l@@;@kmA@M@t@A@q@qp@@ఠ-check_partial ֠oWpW@A@@@@@@@@@5c5^@@@@@@@@@@@M@!@@"@/@@@M@'@@(@^q@@@M@@@@@@@@@@M@-@@.5D@@@M@/@@0M@)@@*M@#@@$M@ 3@@@@@@࣠@$pred AWW@A@@Q3@`W` @@@@@  @@#loc AWW@A@@K3@!h@@@@@@@@%casel AWW@A@@Q3@_@@@@@@@@@ఠ#pss ۠X X@A@@`}dhM@@@@M@8@@@E@@@DQ@33@&2y@)@*@@@ఐ9.initial_matrix X!X@9@@@㝠舠#@@@;@@@:@@9ꋠ㨠+@@@7@@@6@@5#@@ఐY%caselAX BX%@-@@0@@%@@A1@A@FX@@@ఠ#pss ܠQY)/RY)2@dA@@고S@@@Q@P@@@hQ@K3\[[\\\\\@Nib@c@d@@@ఐ]t(get_minsmY)5nY)=@ZѰ@@@@@@X@"@@W7@@@VA@UA@T@@S@.@@@R@@Q2@@@O@@N@@M,@@ఐn'le_patsY)>Y)E@n@@@/@@@@@@@@@@@@>@@@@@@@@@@@@@@@@~@@}Z@@ఐǠ#pssY)FY)I@d@@Bu@@@jR@R@o@@d @@zp@A@Y)+ @@@ఠ%total ݠZMSZMX@A@@6r@@@Q@3@@@@@@ఐ6ꠐ0do_check_partialZM[ZMk@(@@6@@@@@@66ܠ@@@@@@@@@@@@@@@@@@@@䌠w%@@@@@@@@@@@@䛠H@@@@@@@@@@@6@@@@@@@@@@@M@7%ఐz$pred=ZMm>ZMq@_@@Z@@ఐs#locJZMrKZMu@[@@g@@ఐo%caselWZMvXZM{@C@@t@@ఐ#pssdZM|eZM@~@@ZHJ@@@@@@@@@R@R@@@@@@A@xZMO@@ డଠர\\@૰@@@@@@@@@@@@@@@@@@@@@3@@@@@@@డϠѰ\\@ΰ@@@7?@@@:R@,@@-@ @@+@@@*@@)@@(!@@ఐ砐%total\\@+@@.@@ภ%Total\\@4'@@@%S@=<@@@@@@@&@>S@7D@@డ6)is_active(Warnings\\@ \\@@6̰@@@6@@@C@@B6@@@A@@@f@@ภ(Warnings \ \@-Fragile_match\\@@ \@@\\@@@@@RS@TS@S@@$\%\@@6@@@LS@Q@@?@@G@@@$@US@J@@p@@Ȯ@@@VR@"@ఐ0do_check_fragileB^C^@a@@@@@@f@@e@a!걠ꮠq@@@d@@@c@@@b@@@a@@`@٠RIB@@@_@@@^@@@]@@\\@@@[@@Z@@Y@@X@@ఐ#loc{^|^@@@@@ఐ%casel^^@t@@@@ఐD#pss^^@@@I{@@@@@@@@~R@R@ @@]_@@c@@@Q@R@|@@[ @@ @ఐܠ%total`@@@"@ @@#@E@@@@@ ]@y@@ @A@MM@@A@@@ @ఠ,pattern_vars ޠ&&&&@A@@@2@@@@@M@@@t#Set!t@@@M@@@M@3@1x@y@z@@@࣠@!p A&&&'@ A@@"3@1&&&'3@@@@@  @@డ#Set'of_list%Ident&'&'@ &' &' @@&' &'@ @@$listKI#elt@@@I@@@H@@GO@@@F@@E@TaiTa@@,IdentifiableP@&@@@@@@X@@@W@@Vc@@@U@@T3BAABBBBB@NZr@Q@R@@@@డg0pat_bound_idents)TypedtreeZ&'[&'@ ^&' _&'0@@@뾠!k@)@@@@@.!t@@@@@@@@@t-t-t-te@@@$@@@ڠ@@@@@@@@@@@@@F@@ఐ!p&'1&'2@P@@S@@&'@@|y@@@@@@O@P@`@@@@a@A@M@3@A@@@ĠA+'amb_row M++++@@;@@#row @@0'pattern@@@4@@@6+++,@@A'varsets @@B#Set!t@@@9@@@;+,+,!@@A@@A@@@@@+++,#@@@@A@#,,!++@ @@Ш@г/$list+++,@г45++++@@;3@5.@/@0O;@@@A@@@@@"@@@@@ @@@F @@I@@7 @?@#;;- +, @,@@Ш@г>$list+,+, @гC%Ident +,!+,@K$+,%+,@@O)+,*+,@ @@Y0 @@@^1@@a@@<4@T@@A@P@@PO@3,++,,,,,@4@@@ఠ5simplify_head_amb_pat Ӡ=,%,)>,%,>@PA@@@h@@@N@Y@@Z@@@@@@@ N@_@@`*add_column@@@@@u@@@@w@@@v@@tN@W@@X@@@@kN@[@@\@@@yN@_@@`N@aA@bN@]A@^N@YA@ZN@e@@f@@@@ N@k@@l@@@@ @@@N@q@@r@(N@w@@x'@@zN@s@@tN@m@@nN@g@@hN@a@@bN@[@@\N@X3@@@@࣠@4head_bound_variables A,%,?,%,S@A@@3@,%,%..@@@@@  @@'varsets A,%,T,%,[@A@@3@!@@@@@@@ A,%,],%,g@A@@3@@@@@@@,%,\@@!p A,%,h,%,i@ A@@b3@@@@@@@@@"ps A ,%,j ,%,l@A@@h3      @v@@@@@@@@!k A,%,m,%,n@.A@@j3@|@@@@@@@@Aఠ%simpl ۠.,q,{/,q,@AA@@@W@@@jU@~@@@q@@@@@@U@@@@@@@U@@@@@@@o@@@nU@@@@U@@@U@@@@@@@@@@@3`__`````@GS@J@K@@@࣠@4head_bound_variables As,q,t,q,@A@@A3rqqrrrrr@O@J@@@G@@@@@@@=@@@6@@4@@V@@@V@@@V@@@V@@@V@}@g@h@@@@&%@@'varsets A,q,,q,@A@@g3@0<s@3@4@@@@@@!p A,q,,q,@A@@k3@{@@@@@@@@"ps A,q,,q,@A@@s3@@@@@@@@@!k A,q,,q,@A@@w3@@@@@@@@@డ'General$view(Patterns,,,,@ ,,,,@@,,,,@ @2 @@@g@@@@@f@@@@@3@2>@5@6@@@@ఐg!p,,,,@O@@@@,,,,@@|@@@@(pat_desc$,,%,,@H @@m @@[@#@%Alias@ఠ!p ?,,@,,@RA@@LmZ@@@F3BAABBBBB@=@@@@ఠ!x P,,Q,,@cA@@mdmc@@@G@@@\,,],,@@mfme@@@I@@@H@@@j,,k,,@@ۈmhmg@@@J*@@@u,,v,,@@mjmi@@@K4@@|,,},,@@@?@0@(@@@@LC@Р0/@.-@@@]@@\@,@ @^@@[@ @Z+@n@nn@@`@nn@&@b@(@a@nn@0@c@@_K@0J@=@e@IH@G@g@I@f@@dG@IF@V@i@ED@`@k@b@j@%C!B@m@m@o@l@@hA@@@v?>;@@r@@q@:@@s@99@@t@@p@@o@8@@u@@n7K6@@v5@X'@@x@_@@y@{@@{@@z@@w7@654@@~@@}@3@@@21@@@@@@|n@R@@@G@@@Cn@ @@ @@@@@@;@@@@YX@!@@@@YA@n@,,G@@n@(@7@@n@@@M@@@ఐ%simpl,,,-@[@@@@@3@@@2@@@1@@@0@@@/@@.@@-@@,@@+@@*3@@@@@@@@@డ#Set#add%Ident,-,-@ ,-,- @@ ,-  ,-@ @@@@@@@@9@@@@@<@@@ @@ @@ @@+Stdlib__SetF@!@@@@@@T@@S@M@@@R@@QP@@@P@@O@@NK@@ఐ!x>,-?,-@S@@@@@r]@q]@@ఐࠐ4head_bound_variablesP,-Q,-&@@@j@@T,-U,-'@@ ]@ho@@ఐà'varsetsb,-(c,-/@@@&|@@ఐ0!po,-0p,-1@@@/@@@@@ఐ"ps,-2,-4@@@-@@ఐ!k,-5,-6@@@-@@@@,@#Var@ఠ!x -7-C-7-D@A@@@@@3@@@@@@-7-E-7-F@@px@@@@@@@@@-7-G-7-H@@@@@@@-7-B-7-I@@@!@@@@"@Рqp@on@@@@@@A@ @@@@ @k@pʐ@@@@@?p@#@@%@@>@+@@@@<@7@@;@@@@B@@@@:@N@@~9@W@@Y@@87@b@@d@@@w@v@65@z@@|@@4@@@3@@@@@@@2@@@@h1@@e@0@@@/@@@F.@@@@@@d@-,@@@@@+@@@\*@@@@@@p֐@{@@@p@@@lp@@@@@i@@@d@@@@)@@@@@A@p@-7-=*@@p@@E@@p@@@H@@@ఐ̠%simpl-M-S-M-X@@@@@@@@@@@@@@@@@@@@@@@@@@@@3        @un@o@p@@@@డ#Set#add%Ident(-M-Z)-M-_@ ,-M-`--M-c@@1-M-d2-M-g@ @& @@@@@@@@@_@@@@@b@@@@@@@5@@ఐ!xP-M-hQ-M-i@?@@+@@@]@G@@ఐ4head_bound_variablesb-M-jc-M-~@@@/T@@f-M-Yg-M-@@@@@Z@@ఐ֠'varsetsu-M-v-M-@@@9g@@డy%omega(Patterns-M--M-@ -M--M-@@w@@@@@@@ఐڠ"ps-M--M-@°@@I@@ఐ֠!k-M--M-@@@I@@@@H@"Or@ఠ"p1 ----@A@@s@@@3@@@@@ఠ"p2 ----@A@@|@@@@@@----@@~@@@@@@@@----@@@'@@@@(@Р@@@@@@ @c@ @@@@ @@r쐐@b@@Ơ@ar@#@@%@Ǡ@`@+@@@Š@^@7@ˠ@]@@@@B@@@ʠ@\@N@Ϡ@[@W@@Y@Р@ZY@b@@d@@@Π@@XW@z@@|@נ@V@@٠@U@@@@@@ՠ@T@@@@ԠS@@ܠ@R@@ޠ@Q@@ߠ@hP@@@@@@ݠ@ON@@@@㠠@M@@堠@~L@@@@@@⠠r@@@頠@@@ꠠ@r@@@@렠@@@@@@@@蠠K@@@@@A@r@ --*@@r@@K@@r@@@N@@@ఐ%simpl----@@@@@@@@@@@@@@@@@@@@@@@@@@@@3.--.....@+|u@v@wmf@g@h@@@@ఐҠ4head_bound_variablesB--C--@@@@@ఐ'varsetsO--P--@@@@@ఐ"p1\--]--@(@@@@@"/@@ఐ"psl--m--@@@<@@ఐM%simpl{--|--@@@@L@@4@G@@3@>@@2@9@@1@0@@0.@@/@@.@@-@@,@@+_@@ఐ,4head_bound_variables---.@@@il@@ఐ 'varsets-.-. @@@my@@ఐ蠐"p2-.-.@@@c@@@N@@ఐ"ps-.-.@@@t@@ఐ!k-.-.@ɰ@@t@@---.@@u@@@@v@@@@@@@@@@@U@@@@@@@@\@@Р@@@@@@@r@ @@@@ @@t@q@@@pt@#@@%@@o@+@@@@m@7@@l@@@@B@@@@k@N@@j@W@@Y@@ih@b@@d@@@@@gf@z@ @|@ @e@@ @d@@ @@ @@@c@@@@b@@@a@@@`@@@w_@@@@@@@^]@@@@@\@@@[@@@@@@u@@@@@@@u@@@@@@@ @@@!@@Z@@"@@@A@t@....2A@u@@\@ @@* @@@@@\@@@@Z@@@ @@@@@\@4@B#@ 4@@@@[@@@"@Y@@@$@@@#@VU@@@&@@@%@@!\@U@cD@AU@@5@@@VU@@@+@@@*@R@@@,@P@@@-@@)@@@(@M@@@.@@'\@@n@k@@_@O@@@/\@@y@v@f@j@@10@@@7@@@6@-@@@8@]+@@@:@@@9@@5\@@@@X@@@@@B\@ @@@РdޠE@D+n̐HA~&@@@A@+@@@$@@%@@&@@'@@(@@)@&Simple$view(Patterns....&@ ..'..-@@...@ @@@@$view ..6 ..:@AN@@S@@0@T@@ @@u@@@U @@@ఐ 8*add_column.>.D.>.N@ @@ 3@ @@@@@@డ'$Head+deconstruct(Patterns7.>.P8.>.X@ ;.>.Y<.>.]@@@.>.^A.>.i@ @ @@@@@@j@@i@@@@f@Ơ@@@h@@@g@@e@@d;@@󄡠(pat_descg.>.sh.>.{@ఐh$viewp.>.~q.>.@P@@@@@]@X@@@@/]@,@@@@@?@@@@@@;@@@A@@>@@@=]@6@@@@K]@H@@@@U]@R@Q@@@_]@\@@ఐ !p.>.l.>.m@ @@ l@.>.j.>.@@@@@y]@f@@.>.O.>.@@ X@@ຠ3  H@@@W @@@3  @@A@A @ @A @ #row....@ఐ "ps....@ @@ @'varsets....@ภ....@zఐ 4head_bound_variables....@ R@@ @ఐ d'varsets....@ L@@ @@@@ : 9@@@y@@@x\@@@@....@@ @@ఐ K!k....@ @@ @@@@ @@@A",,@@ 3@ @@@ A@@ @@@ @@@ @@@ @@@ @@ @@@@@@@@@@U@ @@@<,q,s@@ఐ %simplF..G..@ ϰ@@@ l@@@@@@ @@@@@@@@@@@@@@@  @@@@@@@@@ @@ @@@@@@@@@@3lkklllll@ @@@@ఐ 4head_bound_variables|..}..@ @@ 8@@ఐ 'varsets....@ @@ :@@ఐ !p....@ @@ (@@ఐ "ps....@ @@ 5@@ఐ !k.. @ J @@ A@@m @@ OB@x @@ P O@  A@ tN@- @A@ @  @ A+&signed N2222@А!a@03@   @ @ ;@@.@@/@B@A@GG@BB@@@2223 @@@@ A@@2222@@ А!b@12222@@@;' @B(Positive 萠1O@2@@2222@@  A(Negative 鐠O@4@@22*@@ A@@A@YY@@@@@@1@@@.@#22@@А!a L22@@@@ @#2223@@А!b!Y%23 I@@@@!@@A@K@@KJ@3"!!"""""@[@@Aఠ6simplify_first_amb_col 33 343 3+@F A@@@ @@@YO@OĠ@@@O@R@@@QO@P@@@NO@J@@@IO@A@@F@@@@@@ߠ@@@@@@@@R@ʠ@4 @@@R@̠ݠ3O@h@@@(O@@@@@@@@@O@C@@E3@@@@@Ġ373;373=@ @@@@\3@j@e@@BG@@DP@@@j@k@@@@@ภ373A373C@@@@O@Ġ<3D3q3D3s@;Ġ(Negative3D3I3D3Q@;{ѐ@@?@AA@B@A@@ĠA3D3R3D3T@@@@@@~3@@@@@O@L5@Ġ(Positive3D3W3D3_@;@A@@B@A@@ڠঠ#row3D3b3D3e@Ġ`3D3h3D3j@_@@@@,+@@@_@@@^Y@@A3D3`3D3o@@T@V^@@@$@@+_@@3D3H3D3p@@.b@@3D3t3D3u@@Z6@@@`k@@@ @@l@@@ ภ끰 3D3 3D3@@@@n@@@y@3D3z@@{@Ġꦰ3333@ꥠĠ(Negative"33#33@hĠ귰*33+33@궠ఠ!n 333433@F A@@321122222@@@@ఠ"ns ?33@33@RA@@@@@j@@@H33I33@@O@f@@@+@@ O@b@ఠ#rem V33W33@iA@@@@@k'@@@=@@$(@@@@ఠ*add_column i33j33@|A@@@@@R@@@@@R@@@@@@S@@@@R@@@R@@@@R@@@@@@R@@@R@@@R@@@R@3@w#@q@rle@f@gVO@P@Q@@@࣠@!n A3333@A@@E3@T3333@@@@@  @@"ns A3333@A@@O3@!\@@@@@@@@!k A3333@A@@W3@c@@@@@@@@ภ3333@s@ఐD!n3333@)@@3@(u@@ @@@@ภ(Negative3333@IఐH"ns 3333@0@@@@@@~R@@@3333@@R@ @ఐJ!k 33d@'e@@*@@f@@@@@/@tkA@R@r@A@o@ఐؠ1simplify_head_pat333433@ٰ@@@@@@@Ѡ@@@@@@@@@@@@Q@@@@O@Q@@@A@̐A@ːA@@@@@@@@@@@@@@@@@@@@@@@3hgghhhhh@ @@@@@ఐ*add_columnz34{34 @ @@@!O@R@@@@7R@@@@@@U!O@@@@@@@@@@@@@@@@@@ @@ 6@@ఐz!n34 34 @ @@,C@@ఐ{"ns34 34@@@<P@@ఐ6simplify_first_amb_col3434'@2@@@@@+w@@*c@@ఐ#rem34(34+@4@@O@1r@@3434,@@u@@@@v@(@@B@Ġx4-4S4-4U@wĠ(Positive4-414-49@"ঠ#row4-4<4-4?@7Ġ쓰4-4C4-4E@쒠ఠ!p 4-4B @!A @@Q@@@z3@~@@@ఠ"ps 4-4G@/A@@|b@@@|@@@{@@@ @@kj@@@~@@@}@'varsets54-4I64-4PAhఠ @MA@nm@@@@@@/@@@E4-4:[@@O@p3@@@U^@@ O@m6@ఠ#rem fR4-4X@dAi@@@@@D@@@f@@E@@@@ఠ*add_column d4\4fe4\4p@wA@@@@@KR@3@@4@@OR@9@@:@ߠ@@N@P@@@QR@L@@MR@F@@@JR@?@@@@@@HR@A@@BR@;@@@@up@@@@@@@@@@g@@@@@@@@@r@@ఐ!p4444@_@@i@@@R@R@@@ఐ"ps4444@r@@]\@@@@@@R@R@@@ఐ6simplify_first_amb_col-44.44@@@@@@@@@@ఐ점#rem>45?45@@@O@@@D44E45@@@@@@@@@@@A  J3 3.@@@@@@@@@@O@@@@S3 3 @@@͠A++stable_vars O^5%5*_5%55@@;@@#All @@h585:i585?@@{A$Vars ##Set!t@@@@@z5@5B{5@5W@@A@@A@@@@@~5%5%@@@@A@#585<@@@@ @#5@5D5@5H@@г%Ident5@5L5@5Q@&5@5R5@5U@@*5@5V(@ )@@33@L;@@@A@@@@@+@@@)@@.@@@@0@@A@,@@,/@@ఠ,stable_inter5Y5]5Y5i@A@@@j@@@P@@@@ P@@@P@@@P@@@P@3@9wq@@@࣠@#sv1A5Y5j5Y5m@ A@@!3@05Y5Y55@@@@@  @@#sv2A5Y5n5Y5q@!A@@)3@!8@@@@@@@@@ఐ-#sv15Y5z5Y5}@@@J3@"A@@@@@@ఐ(#sv25Y55Y5@ @@M@@@@@^@T@@@@Ġ#All/55055@;q@@@@@@@AA@A@@@@@@x@332233333@/@@@@ఠ"svA55B55@T"A@@z@@@@@@@@@@@@@"svX55Y55@k#A@@@&@@Ġ#Allf55g55@7@@@@P@@4@@@@@@ @@;@@;@@E @@@@@@B@@@ఐ@"sv5555@?@@@A@@3@}J@@@@Ġ$Vars5555@;*f@(A@AA@A @@ఠ"s15555@$A@@3@@@@@@@@@@@Ġ$Vars5555@ఠ"s25555@%A@@N@@@@@@@@@@@1 @@@"@ @@@@@(@@@@@@ภ$Vars5555@Cడ#Set%inter%Ident5555@ 5555@@5555@ @@@@@*@@)@#@@@(@@'&@@@&@@%@@$@@J@ @@@/@@@@@@6@@@@@9@@@@@@@3@}@~@jc@d@e@@@@ఐ"s1,55-55@@@R@@@ U@U@@@ఐ"s2@55A55@!@@f@@@U@U@-@@K55g@@@@@@U@6@@|o@@7@@@AU5Y5tq@@3QPPQQQQQ@M@@@|sA@P@4z@A@w@wv@@ఠ&reducef55g55@y&A@@@@@@P@[@@}@P@^@@| @@{@@zP@6@@7@P@A@@@@P@<@@=P@>@@?P@8@@9P@53@@@@@@࣠@!f A5555@'A@@/3@>5566/@@@@@  @@Ġ(5555@'@@@@,3@D@@@@@@@డ%+invalid_arg5556@@@@@@@!a@@@@ff:@@B@@@@@@@M@@LNT@K@@J)@@&reduce5656 @@5656@@'@@@TT@VT@U=@@2 @@c>@Ġ6666@ఠ!x 66 @(A @@P@C3@S@@@ఠ"xs  66@)A@@k@@@E@@@@@@@@డ$List)fold_left!66"66@ %66&66(@@x@@@@@@d@@@c@@b@@a@@`@@@_@x@@@]@@\@@Z@@Y@@X3<;;<<<<<@IC@D@E=7@8@9@@@@ఐ!fP66)Q66*@@@@@ఐ^!x]66+^66,@@@^@@ఐ^"xsj66-@&@@xA@@@wT@T@3@@T@@4@@A9 w55@@@A@P@@A@@@Aఠ2matrix_stable_vars6169616K@*A@@@R@@@@@@P@@@@@@@@@@P@@@@@@P@@@3@KD@E@F@@@࣠@!mA616L616M@+A@@.3@<@7@@ @@Q@@<@=@@@@ @@ఐ!m616V616W@E@@@@F3@%@@@ĠZ6]6a6]6c@Y@@@@T3@@@@@U@@@ภ#All6]6g6]6j@@@@G @Ġ6k66k6@Ġ(Positive6k6q6k6y@1ঠ#row6k6{6k6~@ FĠ6k66k6@@@@@[Z@@@@@@3@J@@@@A!6k6z"6k6@@P@P@|P@P@P@V@@@@-@@P@P@P@{P@P@P@@Ġ(NegativeB6k6C6k6@ĠİJ6k6K6k6@@@@@P@P@}P@P@P@8@@@ @@(9@@Y6k6pZ6k6@@+<@@^6k6_6k6@@3U@@@@T@I@@@i6k6oj6k6@@L@*empty_rowso6k6p6k6@,A@@@ư@@X@@X@@@ 2Negative_empty_rowU6666@#~@@@A66@@.A@@@@@ @3@"@ @@@@ఠ+get_varsets7'717'7<@/A@@@ b&@@@,V@נ%@@@@V@@@@V@@@@@@+@@@*V@@@V@3@4C=@@@@Ġ(Negative7H7R7H7Z@ ఠ!n7H7[7H7\@0A@@+3@E7'7- 8O8d@@@@@@ @@=@@@  డT7777@@@@EV@@@@@@@@@@@@@3@#,P@&@'@@@@ఐ3!n7777@ @@]@@ภ7777@@@@hV@@@7777@@@@@Z@%@ 77@@|"@@@Y@,@డ%raise/77078@ap@@@ap@@@@@Y@@@A@@ภ2Negative_empty_rowD78E78@;C@@@@@@A@A@@@ @@a@@@Y@ X@@$@@Y@4@@Z@Ġ(Positive\88 ]88(@ ఠ!pe88)f88*@x1A@@V@!V@3gffggggg@@@@@@@@@@@  డz8.8H{8.8I@@@@Ơ@@@ @@@Y@@@@ @@@@@@@ @@ 3@2+@,@-@@@@ఐ;!p8.8B8.8C@@@:@#row8.8D8.8G@ ߰ @@'@@ภ,8.8J8.8L@+@@@4Y@%&@@8.8A8.8M@@4@@@&Z@.@8.8:@@|@@@(Y@'5@ఐj!p 8O8[ 8O8\@>@@iA@'varsets 8O8]@  @@!G@@@$H@@A7'7?@@@@@AV@H3@@@@A@@డT$List#map 8h8z 8h8~@  8h8 8h8@@M@@@@V@Q@@T43@@@y@@@xV@N@@S@@R@@@@P@@O@@@M@@L@@K3@Y}@~@@@@@ఐ+get_varsets# 8h8$ 8h8@ @@@ @@@uP@P@o@@@v@@@t@@skj@@@r@@@q@@p+@@ఐܠ*empty_rowsK 8h8L 8h8@@@V@@@cW@W@~@@@h @@Y@@@aE@Ġ2Negative_empty_rowe 88f 88@!@@@@d@@@3feefffff@U@@@m 88@@@@@@@@@@@@@@ภ#All 88 88@P@@@@ఠ,rows_varsets 88 88@2A@@Ġ@@@@@@@@@@ @%Ϡ@@@@@@@@@@@@@ఠ2stables_in_varsets 88 89@3A@@Ӡ@@@@@@X@3@70@1@2@@@ఐc&reduce 99 99@@@@@ X@@@@@@@@@@@@@T @@@@@@@@@%@@డW$List$map2 99 99@  99 99#@@3@@@@#@@@Z@@@@,@@@Z@@@1@@@Z@@@@@@@@6@@@@@@5@@@@@@@@@@@@@@l@@డ#Set%inter%Ident; 99$< 99)@ ? 99*@ 99-@@D 99.E 993@ @O @@@k@@@@@@r@@@@@u@@@@@@@@@Z 99[ 994@@@}@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@ఐ,rows_varsets 995 99A@ư@@@@@Y@Y@@@ @@@A@ 88 @@ภ$Vars 99 99@డ $List)fold_left 99 99@  99 99@@|@@@@@@@aW@%@@.@@@@_W@(@@-@@,@@+@@*@@@)@|@@@'@@&@@$@@#@@"3@' @!@"@@@@డ#Set%union%Ident 99 99@  99 99@@ 99 99@ @@@@@#@@"@@@@!@@  @@@@@@@@@I@ @@@)@@@Z@@Y@0@@@X@@W3@@@V@@U@@TF@@డ#Set%empty%Ident ) 99 * 99@  - 99 . 99@@ 2 99 3 99@ @ @@U@@@fh@@ఐ2stables_in_varsets C 99 D 99@r@@}@@@AX@mX@k}@@ O 99 P 99@@@@@@@@@@@@@@@A W 8h8n X 99@@@~@@@ [66@@3 W V V W W W W W@@@@ఠ!m g 99 h 99@ z-A@@@@@@@@ఠ+is_negative u 9: v 9:@ 4A@@@ ?@~@@@@}T@y@@z@@@T@{@@|T@x3        @,@&@'@@@@Ġ(Negative  ::(  ::0@ @  ::1  ::2@@3        @2  9:  :;:X@@@@@@@@*@@@ภ  ::6  :::@@@@)@Ġ(Positive  :;:E  :;:M@ @  :;:N  :;:O@@>T@ @@@ @@D!@@@ภ?  :;:S"@=@#@@B(@@A  9:&@@@'@@UT@.@A@+@డD$List'for_all  :\:e  :\:i@   :\:j  :\:q@@=@@@@S@@@;@@@@@@@@q @@@@@:@@@@@@@3        @s@@@@@@ఐ+is_negative  :\:r  :\:}@ @@@ ѠP@P@@@@@@}@@@@@ @@ఐ !m ) :\:~ * :\:@@@-@@N@@@@@T@3@ภ#All 8 ;; 9 ;;@ @@@<@@ఠ!m F ;; G ;;@ Y5A@@ @@@@@@Π@@@@@@@@@#@@@ Ƞ@@@@@@@@@@@T@3 m l l m m m m m@s@@@ఐI6simplify_first_amb_col | ;; } ;;@ @@@D@@@٠@@@@@@@@@@@@@@ @@@@@Ϡ@@@@@@@@@Π@m/@@@Ӡ )@@@@@@@@@@@@@J@@ఐ_!m  ;;  ;;@9@@:W@@N@@~X@A@  ;;@@డ ?#not  ;;  ;;@{Ӱ@@@{@@@@@{@@@@@3        @@@@@@@ఐx,all_coherent  ;;  ;;@x@@@sen@@@@@@@@@@@f@@@@@$@@ఐȠ,first_column  ;;  ;;@{@@@à@@n@@@=U@&@@@@?@@@>U@+@@*@@@@A @@@B@@@@U@,@@)@@@(@@'Ѡ$@@@%@@$g@@ఐ!m U ;; V ;;@q@@@@A@<@@9@3@@8@@@7V@CV@:@@ m ;; n ;;@@PU@!@@@ U@FV@5@@ z ;; { ;;@@|u@@@@LU@@@ @@@@@MT@ @ภ#All  ;<  ;< @ `@@@P@P@@ఠ+submatrices  ==%  ==0@ 6A@@.!h*@@@K1V@@@@@@@@@@@@@T@Q3        @@@@@ఠ*extend_row  =3=C  =3=M@ 7A@@@K^@@@U@@@@U@S@@T@d@@@U@^KmU@o@@@U@_@@@]U@Y@@Zw@@@U@gO}@@@U@h@@@iU@[@@\U@U@@VU@RK@࣠@'columns!A  =3=N  =3=U@ #8A@@E3        @1T  =3=?  ==@@@@@  @@Ġ(Negative $ =a=q % =a=y@jఠ!r" - =a=z . =a={@ @9A@@F3 , + + , , , , ,@*e@!@"@@@@@@@U@@@ภ(Negative ; =a= < =a=@డ !@ G =a= H =a=@K۰@@@K۠a@@@s@@r@K֠i@@@q@@pOנm@@@n@@m@@l3 Y X X Y Y Y Y Y@.7v@1@2@@@@ఐ^'columns k =a= l =a=@:@@@@ఐK!r x =a= y =a=@@@@@ | =a= } =a=@@~ @@D@@!@Ġ(Positive  ==  ==@ఠ!r#  ==  ==@ :A@@U@U@a3        @f@@@@@@@@@@ภ(Positive  ==  ==@͠ຠܡ#row  ==  ==@డ !@  ==  ==@LJ@@@LJ@@@@@@LE@@@@@PF@@@@@@@3        @C<@=@>@@@@ఐ͠'columns  ==  ==@@@@@ఐY!r  ==  ==@@@X@#row  ==  ==@( @@Lw&@@@Y@Y@.@@" @@A+@@@Y@5@476@@@@@@X@@@ఐ!r  ==  ==@H@@K@  ==@@"U@N@@}@@)O@@A$  =3=X@@@A@WU@@A@ @@ఠ"q0% , !== - !==@ ?;A@@x@@@U@3 0 / / 0 0 0 0 0@Rvo@p@q@@@ఐ)discr_pat A !== B !==@[@@@@@@@@@Š@@@@@ᠠ@Ӡ@@@@@@U@@@堠@*@@@ Ϡ@@@@@@U@@@@@@@@@@@@D@@డ{&Simple%omega(Patterns  !=>  !=>@   !=>   !=>@@  !=>  !=>@ @ @@@@@)V@h@@ఐa!m  !=>  !=>@ð@@$@@@\@@@S@@@@@V@V@@@~@@@A@  !==@@@ঠ'default  ">>-  ">>4A0ఠ&@ >6  ">>=APఠ'@ =A@Ġ@@@@@1V@@@@@@@@@  ">>+  ">>?@@9@@@&@ఐr=build_specialized_submatrices #>B>P #>B>m@@@o@V/@@@@@@@@@T@@TA@A@@@@@@@@@@@@@%@@@p@@@@@@@TȠw@@@@@@@@@@@@j@ఐ*extend_row] #>B>o^ #>B>y@(@@@M@@@@@@@@@-@@@M@@@@@@@@9@@@Q@@@@@@@@@@@@ఐe"q0 #>B>z #>B>|@@@Z@@@V@ V@ @@ఐ_!m #>B>} #>B>~@@@"@@@ @@@@@٠@@@@@@V@V@ @@@@̠@@@V@@A@ ">>'#@@@ఠ+non_default( $>> $>>@>A@@cXa@@@INh7@@@J@@@H@@@GU@"@@@5U@3@!@ @@@@@@డ f$List#map $>> $>>@  $>> $>>@@_@@@@@@@@FU@@@BU@=@@CU@%@@(C@@'@@&@ˠ@@@$@@#N@@@!@@ @@<@@డ #snd5 $>>6 $>>@ G@@@-@@:b@@9V@AO@@ఐN'constrsH $>>I $>>@W@@A@@@7V@KV@Dd@@S @@{e@A@U $>> @@ఐ|*full_matcha %>>b %>>@r@@@@@@W@@V@[@ޠ@@@T@@@S@B @@@wO @@@x@@@v@@@uT@U@@R@@@Q@@P@@@O@@N@@M3@@@@@@@ภ %>> %>>@@@@@@@mU@q@@ఐ'constrs %>> %>>@@@٥@@@@tU@j@H@@i@@@hU@yU@r3@@h@@C@@@U@f9@ఐ+non_default &>> &>>@@@@4C@ภݰ '>? '>?@jఐ'default '>? '>?@@@FT@X@ఐ"+non_default '>? '>?$@`@@XZT@@@@T@T@m@@ @@aT@p@ %>>@@cr@@@d@A@@e @J@@f@@@gQ@A@  ==!@@@ఠ-submat_stable) )?l?z )?l?@*?A@@P@P@T@@@@T@3"!!"""""@D@@@@@డ$List#map7 )?l?8 )?l?@ ; )?l?< )?l?@@@@@@ T@@@)@@@@@ @@@@@۠4@@@@@@@.@@ఐ ؠ2matrix_stable_vars_ )?l?` )?l?@ @@@ @@ @@?@@ఐҠ+submatricesp )?l?q )?l?@I@@3@@@U@U@T@@E @@_U@A@} )?l?v @@డ$List)fold_left *?? *??@  *?? *??@@@@@@yS@@@@S@@@@@@@@@@ @@@| @@@@@@@@@@@3@@@@@@@ఐ,stable_inter *?? *??@ /@@@@@@@@@@@@@@@@@ภ#All *?? *??@@@@T@)@@ఐˠ-submat_stable *?? *??@3@@K@@@T@T@>@@c @@S?@r @@T@ < < +??@@W8@ ;;@@b:@ ;; ,?@@@e@ :\:b@@ Q@T@@ Tm@@@A616P@@ V @ DA@@ t@@ ]@@P@ F@@@6161@@@ [@ఠ3pattern_stable_vars* .@@ .@@@$@A@@@  .@@@@@@S@@@@2P@@@@"q@@@rP@@@v@@@ P@@@P@@@P@354455555@ }@@@࣠@"ns,AF .@@G .@@@YAA@@/3EDDEEEEE@ >N .@@O 1@i@@@@@@  @@!p-AZ .@@[ .@@ @mBA@@.3YXXYYYYY@!F@@@@@@@@ఐ 堐2matrix_stable_varsl /@#@%m /@#@7@ @@@ 4!@@@  @@@@@@@@@@@@@@@@@@@3@,8\@/@0@@@@డ$List)fold_left 0@8@= 0@8@A@  0@8@B 0@8@K@@@@@@ &q"3@@@@@@@@@ S@S@@@@@@@@@@@@@@@@@@@@@ @@@@@@C@@࣠@!m.A 0@8@Q 0@8@R@CA@@23@U@@@@@@!n/A 0@8@S 0@8@T@DA@@3@eD@@@@@@@@ภ 0@8@c 0@8@e@ภ(Negative 0@8@X 0@8@`@Fఐ$!n  0@8@a  0@8@b@@!@"@@3      @".@@@@@@dS@S@NS@O @ఐH!m 0@8@f  0@8@g@2@@v@@#@@ S@F@@@I@* 0@8@L+ 0@8@h@@@@@8@@@7@@6@@5T@[T@WZ@@ภg@ 1@i@qA 1@i@A̠ภ(Positive I 1@i@y@vຠ#rowT 1@i@U 1@i@@ภÂ[ 1@i@\ 1@i@Aఐ!p e 1@i@@۰ @@7@ภuA @ A@̠CP@z@@@{T@@@v 1@i@@@#J@@@qT@y@'varsets 1@i@{ 1@i@@ภ  1@i@ 1@i@@ @@@##@@@@@@T@ @@@ 1@i@z 1@i@@@S@S@nS@f@@`@@S@i@ภðgA @hA@S@`@@@dT@(@@ 1@i@pr@@ S@JS@c-@@ఐ}"ns 1@i@ 1@i@@b@@:@@ 0@8@<v@@@@Zw@@@xA@P@@A@|@|{@@ఠ.all_rhs_idents0 7AA  7AA@EA@@@)Typedtree*expression@@@hP@@@% @@@|P@@@P@3@2@@@@@࣠@#exp2A 7AA 7AA@FA@@!3@0 7AA CBB@@@@@  @@@ఠ#ids3 8A!A' 8A!A*@%GA@@%<@@@R@@@@R@3@".E@%@&@@@డ#ref- 8A!A-. 8A!A0@Yq@@@@@@@@@@@@డ #Set%empty%IdentJ 8A!A1K 8A!A6@ N 8A!A7O 8A!A:@@S 8A!A;T 8A!A@@ @ @@:6@@+@@@7@A@Y 8A!A#@@ Р-Tast_iterator-Tast_iteratorh 9ADAOi 9ADA\@@ 3gffggggg@L`Y@Z@[@@@@A3jiijjjjj@@@r 9ADAJ @@ @3onnooooo@@@@ఠ)expr_iter6 :A`Af :A`Ao@HA@@@-Tast_iterator(iterator@@@(S@K@@L@@@@&S@Q@@RA@@@S@S@@TS@M@@NS@J3@4@@@࣠@$iter8A :A`Ap :A`At@IA@@*3@E9 :A`Ab ?BFB}@@@@@  @@#exp9A :A`Au :A`Ax@JA@@.3@!A@@@@@@@@ఐ#exp ;A{A ;A{A@A@@@@B3@!@@@(exp_desc ;A{A ;A{A@ @@@@@Y @Ġ*Texp_ident <AA <AA@;*Texp_ident[@$Path!t@@@ #loc!t@@@@@@1value_description@@@@C@A_@A1_c2_@@@}@ఠ$path: <AA <AA@1KA@@,@@@bJ@ఠ$_lid;, <AA- <AA@?LA@@1/@@@d@@@c\@ఠ&_descr<> <AA? <AA@QMA@@6@@@ej@@@UF <AA@@F@@@fo@@I@@@gr@@@డ$List$iterZ =AA[ =AA@ ^ =AA_ =AA@@B@@@@&B@@@W@u@@yB@@@x@@w@@v@B@@@t@@sB@@@r@@q@@p3xwwxxxxx@g`@a@bZS@T@UIB@C@D@@@@࣠@"id=A =AA =AA@NA@@,3@@@@@@@డ ":= =AA =AA@@%!a@@@@9@@8@ @@7h@@@6@@5@@4*%setfield0BAˠ@@@@@@@! @@@C&@@@Y@@@@@@@ @@@@@@@@@3@[Np@E@F@@@@ఐҠ#ids =AA =AA@x@@g$@@@Z@Z@@@డ #Set#add%Ident =AA =AA@  =AA =AA@@  =AA  =AA@ @" @@@&@@@@@@':@@@@@'=@@@@@@@J@@ఐ"id+ =AA, =AA@T@@W@@డܠް9 =AA: =AA@۰@@@'f@@@[@[@@@@@@@@t@@ఐC#idsU =AA@@@נ@@@\@\@@@' @@@@^ @@'@@@@@@@C@@@Z@@k =AAl =AA@@@ @@C@@@@@X@X@@@డv%heads$Path =AA =AB@  =AB =AB@@@y @@@@@$listK%Ident!t@@@@@@@@@vL 6 6vL 6 R@@yS@#@@@y(@@@@@@@@@@@@@<@@ఐ$path =AB =AB @D@@yC@@@Y@Y@P@@ =AA =AB @@Cm@@@X@ Y@[@@ @@;C@@ ?BFBL ?BFBM@@@@@i @@@@@j @@@డ0default_iterator-Tast_iterator ?BFBQ ?BFB^@  ?BFB_ ?BFBo@@s@@@I@8typing/tast_iterator.mliHvvHv@@vv@ @@~@@@@1@$expr ?BFBp ?BFBt@3$expr@@@H@@@@n@@m@A@@@l@@k$unitF@@@j@@i@@h@@N3)attribute@@@@ @@ @X)attribute@@@ @@@@@@@@@@@@@AAYBY@@D@3*attributes4@@@@@@@r*attributes@@@@@3@@@@@ @@ @@A1@A[Z\Z@@E@3*binding_opN@@@@@@@*binding_op@@@@@M@@@@@@@@@BK@Au[v[F@@F@3$caseh@@@@!@@ @$case!k@@@@@@n@@@@@@@ @@@@Cm@A\GK\Gr@@ G@31class_declaration@@@@(@@'@1class_declaration@@@&@@%@@@$@@#@@"@@D@A]sw]s@@&H@31class_description@1@@@/@@.@1class_description@@@-@@,@@@+@@*@@)@@E@A^^@@@I@3*class_expr@K@@@6@@5@*class_expr@@@4@@3@@@2@@1@@0@@F@A__@@ZJ@3+class_field@e@@@=@@<@+class_field@@@;@@:@@@9@@8@@7@@G@A`#`P@@tK@3/class_signature@@@@D@@C@0/class_signature@@@B@@A@@@@@@?@@>@@H@AaQUaQ@@L@3/class_structure @@@@K@@J@J/class_structure@@@I@@H @@@G@@F@@E@@I @A3b4b@@M@3*class_type&@@@@R@@Q@d*class_type@@@P@@O%@@@N@@M@@L@@J#@AMcNc@@N@36class_type_declaration@@@@@Y@@X@~6class_type_declaration@@@W@@V?@@@U@@T@@S@@K=@Agdhd<@@O@30class_type_fieldZ@@@@`@@_@0class_type_field@@@^@@]Y@@@\@@[@@Z@@LW@Ae=Ae=x@@P@3#envt@@@@g@@f@#Env!t@@@e@@dv@@@c@@b@@a@@Mt@Afy}fy@@T@35extension_constructor@@@@u@@t@5extension_constructor@@@s@@r@@@q@@p@@o@@O@Ahh @@-V@3(location@8@@@|@@{@(Location!t@@@z@@y@@@x@@w@@v@@P@Ai i :@@JW@3.module_binding@U@@@@@@.module_binding@@@@@@@@@@~@@}@@Q@Aj;?j;r@@dX@3/module_coercion@o@@@@@@ /module_coercion@@@@@@@@@@@@@@R@A ksw ks@@~Y@32module_declaration@@@@@@@:2module_declaration@@@@@@@@@@@@@@S@A#l$l@@Z@33module_substitution@@@@@@@T3module_substitution@@@@@@@@@@@@@@T@A=m>m .@@[@3+module_expr0@@@@@@@n+module_expr@@@@@/@@@@@@@@@U-@AWn / 3Xn / `@@\@3+module_typeJ@@@@@@@+module_type@@@@@I@@@@@@@@@VG@Aqo a ero a @@]@37module_type_declarationd@@@@@@@7module_type_declaration@@@@@c@@@@@@@@@Wa@Ap  p  @@^@3,package_type~@ @@@@@@,package_type@@@@@}@@@@@@@@@X{@Aq  q  @@_@3#pat@'@@@@@@/general_pattern!k@r@@@@@@@@@@@@ @@@@Y@Ar  r  F@@<`@3)row_field@G@@@@@@)row_field@@@@@@@@@@@@@@Z@As G Ks G t@@Va@3,object_field@a@@@@@@,object_field@@@@@@@@@@@@@@[@At u yt u @@pb@30open_declaration@{@@@@@@,0open_declaration@@@@@@@@@@@@@@\@Au  u  @@c@30open_description@@@@@@@F0open_description@@@@@@@@@@@@@@]@A/v  0v  @@d@3)signature"@@@@@@@`)signature@@@@@!@@@@@@@@@^@AIw ! %Jw ! N@@e@3.signature_item<@@@@@@@z.signature_item@@@@@;@@@@@@@@@_9@Acx O Sdx O @@f@3)structureV@@@@@@@)structure@@@@@U@@@@@@@@@`S@A}y  ~y  @@g@3.structure_itemp@@@@@@@.structure_item@@@@@o@@@@@@@@@am@Az  z  @@ h@3#typ@@@@@@@)core_type@@@@@@@@@@@@@@b@A{  {  @@&i@30type_declaration@1@@@@@@0type_declaration@@@@@@@@@@@@@@c@A|  |  P@@@j@31type_declarations@K@@@ @@ @@(Asttypes(rec_flag@@@@$listK0type_declaration@@@ @@@ @@@@@@@@@@@@@d@A} Q U} Q @@ok@3.type_extension@z@@@@@@+.type_extension@@@@@@@@@@@@ @@e@A~  ~  @@l@3.type_exception@@@@@@@E.type_exception@@@@@@@@@@@@@@f@A.  /  @@m@3)type_kind!@@@@!@@ @_)type_kind@@@@@ @@@@@@@@@g@AH@  I@  =@@n@3-value_binding;@@@@(@@'@y-value_binding@@@&@@%:@@@$@@#@@"@@h8@AbA > BcA > s@@o@3.value_bindingsU@@@@2@@1@@(rec_flag@@@.@-value_binding@@@0@@@/@@-@@,d@@@+@@*@@)@@ib@AB t xB t @@p@31value_description@ @@@9@@8@1value_description@@@7@@6~@@@5@@4@@3@@j|@AC  C  @@q@3/with_constraint@&@@@@@@?@/with_constraint@@@>@@=@@@<@@;@@:@@k@AD  D 4@@5r@30item_declaration@@@@@G@@F@0item_declaration@@@E@@D@@@C@@B@@A@@l@AE59E5p@@Os@@Agg@@SU@@@@]@@@@@@@@@@@@@@@@@@@@ఐS$iter ?BFBu ?BFBy@8@@y'@@ఐL#exp  ?BFBzU@4V@@u3@@W@@q4@@@A ;A{AY@@s3        @6@@@d[A@S@2b@A@_@@ఠ(iterator> ABB  ABB@2OA@@@@@NS@33#""#####@@@@@@@@@@u@@t@@@@s@@r@@@q@@p@@oS@g@@@@@@@@@@@@@@@@@@@@S@w@@@@@@@@@@@@@@@@@@@@S@@@@@@@@S@@@@@@@@@@@@S@@@@@S@@@@@@@@@@@@@@@@@@@@@S@@@@@@@@@@@@@@@@@@@@@S@@@0@@@@@@@@@@@@@@@@@@S@@ߠ@E@@@@@@@@@@@@@@@@@@S@@ڠ@Z@@@@@@@@@@@@@@@@@@S@@ՠ@o@@@ @@ @@@@ @@@@@@@@@S@@Р@@@@@@@@@@@@@@@@@@@S@ @ˠ@@@@+@@*@@@@)@@(@@@'@@&@@%S@@Ơ@@@@;@@:@@@@9@@8@@@7@@6@@5S@-@@@@@K@@J@@@@I@@H@@@G@@F@@ES@=@J$expra ABBb ABB@ఐ렐)expr_iterj ABBk ABB@B@@@@@@]@@\@ @@@[@@ZJ@@@Y@@X@@WV@ܠ@@@@c@@b@@@@a@@`@@@_@@^@@]S@U@נ@ @@@s@@r@@@@q@@p@@@o@@n@@mS@e@Ϡ@ %@@@@@@@@@@@@@@@@~@@}S@u@ʠ@ :@@@@@@@@@@@@@@@@@@S@@Š@ O@@@@@@@@@@@@@@@@@@S@@@ d@@@@@@@@@@@@@@@@@@S@@@ y@@@@@@@@@@@@@@@@@@S@@@ @@@@@@@@@@@@@@@@@@S@@@ @@@@@@@@@@@@@@@@@@S@@@ @@@@@@@@@@@@@@@@@@S@@@ @@@@@S@@@@@@@@@@@@ S@@@@@S@@@ @@@!@@ @@@@@@@@@@@@@S@@@ @@@1@@0@@@@/@@.@@@-@@,@@+S@#@@ @@@A@@@@@@@?@@>@@@=@@<@@;S@3@@ (@@@Q@@P@@@@O@@N@@@M@@L@@KS@C@@ =@@@a@@`@@@@_@@^@@@]@@\@@[S@S@@ R@@@q@@p@@@@o@@n@@@m@@l@@kS@c@@ g@@@@@@@@@@@~@@@}@@|@@{S@s@~@ |@@@@@@@@@@@}@@@@@@@S@@y@ @@@@@@z@@@@@x@@@@@@@S@@t@ @@@@@@u@@@@@s@@@@@@@S@@o@ @@@@@@@p@@@à@kh@@@@@@@@@@f@@@@@@@S@@b@ @@@@@@c@@@@@a@@@@@@@S@@]@ @@@@@@^@@@@@\@@@@@@@S@@X@ @@@@@@Y@@@@@W@@@@@@@S@@S@ @@@@@@T@@@@@R@@@@@@@S@@N@ 1@@@@@@@O@@@@ML@@@@@@@@@@J@@@@@@@S@ @F@ S@@@-@@,@G@@@+@@*E@@@)@@(@@'S@@A@ h@@@=@@<@B@@@;@@:@@@@9@@8@@7S@/@<@ }@@@M@@L@=@@@K@@J;@@@I@@H@@GS@?@@డ 0default_iterator-Tast_iterator! ABB" ABB@ % ABB& ABB@@ +@@ @@@FS@6S@f@1 ABB2 ABB@@ @A@4 ABB@@ ఐ#(iteratorB BBBC BBB@"@#@$@@ @@@Z@R3FEEFFFFF@$2 @@@$exprQ BBBR BBB@ A@@@ @@@Y@@X@ ~@@@W@@V =@@@U@@T@@S@@ఐP(iteratoro BBBp BBB@-@@ @@@jT@lT@k.@@ఐ #exp BBB BBB@ b@@ ;@@E@@@@@nS@fA@డ79 CBB CBB@6@@@ R@q@@@s@@r@@pV@@ఐ #ids @ = @@,@@@zS@}S@{i@@! @@j@t @@k@ @@@  @@ @ 9ADAF @@3@ N@@@ c @@ @  A@ P@ @A@ @  @ Ҡ@ఠ8check_ambiguous_bindings? EBB EBC@PA@@@G@@@@@@S@@@@P@@@@@@!P@@@P@3@   @ @ @@@ Рiܠ(Warnings FCC FCC&@@ 3@@@@@A3@ @@  FCC@@ @3@@@@ఠ%warn0@  GC*C0  GC*C5@ QA@@i@@@R@3        @@@@ภ>Ambiguous_var_in_pattern_guard  GC*C8  GC*CV@;>Ambiguous_var_in_pattern_guardi@$listKL@@@%@@@%@Ae[n@Aij-/ij-^@@@jG@ภ 8 GC*CW 9 GC*CY@@@@@@@@@@R@.@@( @@j@@@2@A@ I GC*C,@@࣠@%casesAA U HC]Cc V HC]Ch@ hRA@@3 T S S T T T T T@]RK@L@M@@@@@@డr)is_active i IClCs j IClC|@jC@@@jC@@@@@j>@@@@@3 q p p q q q q q@*@!@"@@@@ఐv%warn0  IClC}  IClC@*@@j]@@@S@S@@@% @@@@@S@@@ఠ*check_caseB  JCC  JCC@ SA@@@$@@@@@@S@@@@S@@@@)@@S@@@@S@@@!S@@@S@@@S@3        @T@@@࣠@"nsDA  JCC  JCC@ TA@@33        @eB  JCC  [FF@@@@@  @@$caseEA  JCC  JCC@ UA@@23        @!J@@@@@@@@ఐ$case  JCC  JCC@C@@@@D3        @@@@ঠ%c_lhs! KCC! KCC@Nఠ!pF! KCC! KCC@!)VA@@r\@@@3!!!!!!!!@@@@'c_guard!% KCC!& KCC@@Ġ$None!- KCC!. KCC@@@@@GF@@@@@@@@A!8 KCC!9 KCC@@~X@@@@@@ภ@!A KCC!B KCC@͠ภp!I KCC AԠఐ@@=@6@2N@ @@@7M@@@~@@}7 @@@|@@@{@@z@@ఐ)ambiguous%B VEE%C VEE@(@@7h@@@]@]@@@C @@ 7,@@@\@x@@@w\@]@@@Q@@@A@%\ UEE@@@ఠ$warnM%g WFF%h WFF@%z]A@@o@@@@[@3%k%j%j%k%k%k%k%k@W@@@@@ภ>Ambiguous_var_in_pattern_guard%y WFF!%z WFF?@\ఐ #pps% WFF@% WFFC@@@he@@@@@@[@[@!@@@@oe@@@%@A@% WFF@@డH-prerr_warning(Location% XFGF[% XFGFc@ % XFGFd% XFGFq@@o#@@@J@@@@@@o#@@@@@o@@@@@@@3%%%%%%%%@N\U@V@W@@@@ఐA@|S@E@A@B@డ$&ignore&( ]FF&) ]FF@y@@@@@@@@@@@@@R@@@z4@@@@@3&:&9&9&:&:&:&:&:@@@@@@@డ$$List)fold_left&R ]FF&S ]FF@ &V ]FF&W ]FF@@G@@@@3S@@@@@@@@@@@@@ @@@A@@@@@@@@@@@5@@ఐ᠐*check_case&~ ]FF& ]FF@?@@@@@@@@@ @@@ @@@#@@@@@@@@@@ @@ \@@ภ& ]FF& ]FF@@@@wS@i@@ఐ`%cases& ]FF& ]FF@<@@v@@& ]FF& ]FF@@Vy@@@@@|@@@@@& IClCp@@@& HC]C_ @@P@#i@z @@@& FCC@@@A@& EBB@@@@$$A@$G!@" .@ g@@6@X@3@c]@ A@ z @ ' @ O@F@@@{@@@@T@@Li@j@~xB@f@!@T@ݯ@ @a2@p@J@N@@@@A@j@'5@ @4@W\@@,@]F@d8@^0@]v@vt@t@n@jt@@jf @fHa@bA_4@_E^@_#Hg@ H (CIhh(DIh@ H All rights reserved. This file is distributed under the terms of (IJ(JJ@ H the GNU Lesser General Public License version 2.1, with the (OK(PKN@ H special exception on linking described in the file LICENSE. (ULOO(VLO@ H ([M(\M@ H************************************************************************(aN(bN5@ 6 Detection of partial matches and unused match cases. (gP77(hP7q@ #***********************************(mj(nj@ # Utilities for building patterns (sk(tk@ #***********************************(yl(zl@1*****************((@1 Coherence check (@(@@1*****************(A(A@ A For some of the operations we do in this module, we would like (because it simplifies matters) to assume that patterns appearing on a given column in a pattern matrix are /coherent/ (think "of the same type"). Unfortunately that is not always true. Consider the following (well-typed) example: {[ type _ t = S : string t | U : unit t let f (type a) (t1 : a t) (t2 : a t) (a : a) = match t1, t2, a with | U, _, () -> () | _, S, "" -> () ]} Clearly the 3rd column contains incoherent patterns. On the example above, most of the algorithms will explore the pattern matrix as illustrated by the following tree: {v S -------> | "" | U | S, "" | __/ | () | --------> | _, () | \ not S | U, _, () | __/ -------> | () | | _, S, "" | \ ---------> | S, "" | ----------> | "" | not U S v} where following an edge labelled by a pattern P means "assuming the value I am matching on is filtered by [P] on the column I am currently looking at, then the following submatrix is still reachable". Notice that at any point of that tree, if the first column of a matrix is incoherent, then the branch leading to it can only be taken if the scrutinee is ill-typed. In the example above the only case where we have a matrix with an incoherent first column is when we consider [t1, t2, a] to be [U, S, ...]. However such a value would be ill-typed, so we can never actually get there. Checking the first column at each step of the recursion and making the conscious decision of "aborting" the algorithm whenever the first column becomes incoherent, allows us to retain the initial assumption in later stages of the algorithms. --- N.B. two patterns can be considered coherent even though they might not be of the same type. That's in part because we only care about the "head" of patterns and leave checking coherence of subpatterns for the next steps of the algorithm: ('a', 'b') and (1, ()) will be deemed coherent because they are both a tuples of arity 2 (we'll notice at a later stage the incoherence of 'a' and 1). But also because it can be hard/costly to determine exactly whether two patterns are of the same type or not (eg. in the example above with _ and S, but see also the module [Coherence_illustration] in testsuite/tests/basic-more/robustmatch.ml). For the moment our weak, loosely-syntactic, coherence check seems to be enough and we leave it to each user to consider (and document!) what happens when an "incoherence" is not detected by this check. (C(@ Given the first column of a simplified matrix, this function first looks for a "discriminating" pattern on that column (i.e. a non-omega one) and then check that every other head pattern in the column is coherent with that one. ((@ 4 only omegas on the column: the column is coherent. ((5@5*********************((@5 Compatibility check ((@5*********************(  ( 9@  Patterns p and q compatible means: there exists value V that matches both, However.... The case of extension types is dubious, as constructor rebind permits that different constructors are the same (and are thus compatible). Compilation must take this into account, consider: type t = .. type t += A|B type t += C=A let f x y = match x,y with | true,A -> '1' | _,C -> '2' | false,A -> '3' | _,_ -> '_' As C is bound to A the value of f false A is '2' (and not '3' as it would be in the absence of rebinding). Not considering rebinding, patterns "false,A" and "_,C" are incompatible and the compiler can swap the second and third clause, resulting in the (more efficiently compiled) matching match x,y with | true,A -> '1' | false,A -> '3' | _,C -> '2' | _,_ -> '_' This is not correct: when C is bound to A, "f false A" returns '2' (not '3') However, diagnostics do not take constructor rebinding into account. Notice, that due to module abstraction constructor rebinding is hidden. module X : sig type t = .. type t += A|B end = struct type t = .. type t += A type t += B=A end open X let f x = match x with | A -> '1' | B -> '2' | _ -> '_' The second clause above will NOT (and cannot) be flagged as useless. Finally, there are two compatibility functions: compat p q ---> 'syntactic compatibility, used for diagnostics. may_compat p q ---> a safe approximation of possible compat, for compilation (;;(!O!Q@ D Invariant: fields are already sorted by Typecore.type_label_a_list (##(#$@: same label on both sides (%%(%%@; Variables match any value (-'/'/(-'/'N@6 Structural induction (0''(0''@ / Constructors, with special case for extension (7(((7((@5 More standard stuff (:)0)0(:)0)I@ ^ Due to (potential) rebinding, two extension constructors of the same arity type may equal (g.?.?(h.{.@/ Empty pattern (j..(j..@ &**************************************(l..(l..@ & Utilities for retrieving type paths (m..(m./@ &**************************************(n//(n//H@ $ May need a clean copy, cf. PR#4745 (p/J/J(p/J/r@:**************************){00){00@: Utilities for matching ) |00) |00@:**************************)}00)}00@4 Check top matching )00)01@ " extract record fields as a whole )22)23@ A Build argument list when p2 >= p1, where p1 is a simple pattern )!44)"44@ \ Consider a pattern matrix whose first column has been simplified to contain only _ or a head constructor | p1, r1... | p2, r2... | p3, r3... | ... We build a normalized /discriminating/ pattern from a pattern [q] by folding over the first column of the matrix, "refining" [q] as we go: - when we encounter a row starting with [Tuple] or [Lazy] then we can stop and return that head, as we cannot refine any further. Indeed, these constructors are alone in their signature, so they will subsume whatever other head we might find, as well as the head we're threading along. - when we find a [Record] then it is a bit more involved: it is also alone in its signature, however it might only be matching a subset of the record fields. We use these fields to refine our accumulator and keep going as another row might match on different fields. - rows starting with a wildcard do not bring any information, so we ignore them and keep going - if we encounter anything else (i.e. any other constructor), then we just stop and return our accumulator. )'7f7f)(;;@ 1 N.B. we could make this case "simpler" by refining the record case using [all_record_args]. In which case we wouldn't need to fold over the first column for records. However it makes the witness we generate for the exhaustivity warning less pretty. )-<<).=>@ short-circuiting: clearly if we have anything other than [Record] or [Any] to start with, we're not going to be able refine at all. So there's no point going over the matrix. )3??)4@@J@ X In case a matching value is found, set actual arguments of the matching pattern. )9@~@~):@@@ ! case any is used in matching.ml )?+FF)@+FG@  Given a matrix of non-empty rows p1 :: r1... p2 :: r2... p3 :: r3... Simplify the first column [p1 p2 p3] by splitting all or-patterns. The result is a list of pairs ((pattern head, arguments), rest of row) For example, x :: r1 (Some _) as y :: r2 (None as x) as y :: r3 (Some x | (None as x)) :: r4 becomes (( _ , [ ] ), r1) (( Some, [_] ), r2) (( None, [ ] ), r3) (( Some, [x] ), r4) (( None, [ ] ), r4) )E/GhGh)FCILIO@9 the rows are non-empty! )KNJK)LNJK+@ ` Builds the specialized matrix of [pss] according to the discriminating pattern head [d]. See section 3.1 of http://moscova.inria.fr/~maranget/papers/warn/warn.pdf NOTES: - we are polymorphic on the type of matrices we work on, in particular a row might not simply be a [pattern list]. That's why we have the [extend_row] parameter. )QTKK)R\MM@ The "default" and "specialized" matrices of a given matrix. See section 3.1 of http://moscova.inria.fr/~maranget/papers/warn/warn.pdf . )WfNINI)XhNN@  Consider a pattern matrix whose first column has been simplified to contain only _ or a head constructor | p1, r1... | p2, r2... | p3, r3... | ... We split this matrix into a list of /specialized/ sub-matrices, one for each head constructor appearing in the first column. For each row whose first column starts with a head constructor, remove this head column, prepend one column for each argument of the constructor, and add the resulting row in the sub-matrix corresponding to this head constructor. Rows whose left column is omega (the Any pattern _) may match any head constructor, so they are added to all sub-matrices. In the case where all the rows in the matrix have an omega on their first column, then there is only one /specialized/ sub-matrix, formed of all these omega rows. This matrix is also called the /default/ matrix. See the documentation of [build_specialized_submatrix] for an explanation of the [extend_row] parameter. )]nOFOF)^S<S>@  insert a row of head [p] and rest [r] into the right group Note: with this implementation, the order of the groups is the order of their first row in the source order. This is a nice property to get exhaustivity counter-examples in source order. )cSS)dU U @ if no group matched this row, it has a head constructor that was never seen before; add a new sub-matrix for this head )iUIUO)jUU@ , insert a row of head omega into all groups )oVV)pVV@ note that calling insert_omega here would be wrong as some groups may not have been formed yet, if the first row with this head pattern comes after in the list )uX X)vXX@  [discr] comes from [discr_pat], and in this case subsumes any of the patterns we could find on the first column of [rows]. So it is better to use it for our initial environment than any of the normalized pattern we might obtain from the first column. ){Z;ZC)|[([d@ _ groups are accumulated in reverse order; we restore the order of rows in the source code )[[)[\'@; Variant related functions )\\)\]@ = mark constructor lines for failure when they are incomplete )^^)^^C@ ; fixed=false means that this tag is not explicitly matched )``#)``b@> this unification cannot fail )aa)aa@ Check whether the first column of env makes up a complete signature or not. We work on the discriminating pattern heads of each sub-matrix: they are not omega/Any. )b{b{)c(c*@ 8 closing=true, we are considering the variant as closed )ee)ee@ 2 m=true, do not discard matched tags, rather warn )fyf)fyf@ Y Written as a non-fragile matching, PR#7451 originated from a fragile matching below. )%hBhB)&hh@ 0 build a pattern from a constructor description )7jj)7jj@ - build an or-pattern from a constructor list )DlYlY)DlYl@ . Only explode when all constructors are GADTs )OnJnR)OnJn@ K Sends back a pattern that complements the given constructors used_constrs )sswsw)ssws@ / Split constructors to put constant ones first )|uu)|uu7@; Auxiliary for build_other )ww)wx @ X Builds a pattern that is incompatible with all patterns in the first column of env )yy)yhyj@ / let c = {c with cstr_name = "*extension*"} in )zXzb)zXz@) PR#7330 )zXz)zXz@- | Reither _ ))@ / This one is called after erasing pattern info ))@  Core function : Is the last row of pattern matrix pss + qs satisfiable ? That is : Does there exists at least one value vector, es such that : 1- for all ps in pss ps # es (ps and es are not compatible) 2- qs <= es (es matches qs) --- In two places in the following function, we check the coherence of the first column of (pss + qs). If it is incoherent, then we exit early saying that (pss + qs) is not satisfiable (which is equivalent to saying "oh, we shouldn't have considered that branch, no good result came come from here"). But what happens if we have a coherent but ill-typed column? - we might end up returning [false], which is equivalent to noticing the incompatibility: clearly this is fine. - if we end up returning [true] then we're saying that [qs] is useful while it is not. This is sad but not the end of the world, we're just allowing dead code to survive. );**)Q@  While [satisfiable] only checks whether the last row of [pss + qs] is satisfiable, this function returns the (possibly empty) list of vectors [es] which verify: 1- for all ps in pss, ps # es (ps and es are not compatible) 2- qs <= es (es matches qs) This is done to enable GADT handling For considerations regarding the coherence check, see the comment on [satisfiable] above. )z*Xs@ / first column of pss is made of variables only **+@ P activate this code for checking non-gadt constructors * * @ (*****************************************__*_@ ( Look for a row that matches some value **@ (******************************************@ i Useful for seeing if the example of non-matched value can indeed be matched (by a guarded clause) *#*$RT@ b [pss] will (or won't) match [q0 :: qs] regardless of the coherence of its first column. *)**0@ n let print_pat pat = let rec string_of_pat pat = match pat.pat_desc with Tpat_var _ -> "v" | Tpat_any -> "_" | Tpat_alias (p, x) -> Printf.sprintf "(%s) as ?" (string_of_pat p) | Tpat_constant n -> "0" | Tpat_construct (_, lid, _) -> Printf.sprintf "%s" (String.concat "." (Longident.flatten lid.txt)) | Tpat_lazy p -> Printf.sprintf "(lazy %s)" (string_of_pat p) | Tpat_or (p1,p2,_) -> Printf.sprintf "(%s | %s)" (string_of_pat p1) (string_of_pat p2) | Tpat_tuple list -> Printf.sprintf "(%s)" (String.concat "," (List.map string_of_pat list)) | Tpat_variant (_, _, _) -> "variant" | Tpat_record (_, _) -> "record" | Tpat_array (Mutable, _) -> "array" | Tpat_array (Immutable, _) -> "immutable array" in Printf.fprintf stderr "PAT[%s]\n%!" (string_of_pat pat) */*0@ Now another satisfiable function that additionally supplies an example of a matching value. This function should be called for exhaustiveness check only. *5*6@  Shortcut: in the single-row case p :: ps we know that all counter-examples are either of the form counter-example(p) :: omegas or p :: counter-examples(ps) This is very interesting in the case where p contains or-patterns, as the non-shortcut path below would do a separate search for each constructor of the or-pattern, which can lead to an exponential blowup on examples such as | (A|B), (A|B), (A|B), (A|B) -> foo Note that this shortcut also applies to examples such as | A, A, A, A -> foo | (A|B), (A|B), (A|B), (A|B) -> bar thanks to the [get_mins] preprocessing step which will drop the first row (subsumed by the second). Code with this shape does occur naturally when people want to avoid fragile pattern matches: if A and B are the only two constructors, this is the best way to make a non-fragile distinction between "all As" and "at least one B". *;*<&cg@ h note: calling [exhaust] recursively of p would result in an infinite loop in the case n=1 *A-5?*B.q@ { We're considering an ill-typed branch, we won't actually be able to produce a well typed value taking that branch. *G6*H79@  Assuming the first column is ill-typed but considered coherent, we might end up producing an ill-typed witness of non-exhaustivity corresponding to the current branch. If [exhaust] has been called by [do_check_partial], then the witnesses produced get typechecked and the ill-typed ones are discarded. If [exhaust] has been called by [do_check_fragile], then it is possible we might fail to warn the user that the matching is fragile. See for example testsuite/tests/warnings/w04_failure.ml. *M:UY*NCC}@ / first column of pss is made of variables only *SG!*TGT@ Q cannot occur, since constructors don't make a full signature *Y`*Za 3@  Lazily compute witnesses for all constructor submatrices (Some constr_mat) then the wildcard/default submatrix (None). Note that the call to [try_omega ()] is delayed to after all constructor matrices have been traversed. *_f*`i@ ( Another exhaustiveness check, enforcing variant typing. Note that it does not check exact exhaustiveness, but whether a matching could be made exhaustive by closing all variant types. When this is true of all other columns, the current column is left open (even if it means that the whole matching is not exhaustive as a result). When this is false for the matrix minus the current column, and the current column is composed of variant tags, we close the variant (even if it doesn't help in making the matching exhaustive). *ex((*fRT@  The order below matters : we want [pressure_variants] to be called on all the specialized submatrices because we might close some variant in any of them regardless of whether [ok] is true for [pss] or not *kŢŴ*lƓ@ " Yet another satisfiable function *qˀˀ*rˀ˦@ This time every_satisfiable pss qs checks the utility of every expansion of qs. Expansion means expansion of or-patterns inside qs *w˨˨*x79@0 Useful pattern *}Iq*~I̅@1 Useless pattern *̮̆*̆@ " Mixed, with list of useless ones **@ this row type enable column processing inside the matrix - left -> elements not to be processed, - right -> elements to be processed **ͩͫ@ G let pretty_row {ors=ors ; no_ors=no_ors; active=active} = pretty_line ors ; prerr_string " *" ; pretty_line no_ors ; prerr_string " *" ; pretty_line active let pretty_rows rs = prerr_endline "begin matrix" ; List.iter (fun r -> pretty_row r ; prerr_endline "") rs ; prerr_endline "end matrix" *  *SU@/ Initial build *WW*Wj@ 4 Useful to detect and expand or pats inside as pats **@ - Standard or-args for left-to-right matching **"@< Just remove current column *ѶѶ*Ѷ@ # Current column has been processed *__*_҆@9 the rows are non-empty! *2K*2h@9 Back to normal matrices **:@; Standard union on answers *ՑՑ*Ցհ@? propose or pats for expansion *%RR*%Ru@3 idem for matrices *0ee*0e|@ Core function The idea is to first look for or patterns (recursive case), then check or-patterns argument usefulness (terminal case) *?*BTV@ * qs is now partitioned, check usefulness *Fٝ١*Fٝ@0 no or-patterns *H*H @ n or-patterns -> 2n expansions *Myڅ*Myک@ , forget about ``all-variable'' columns now *_*_ @ / otherwise this is direct food for satisfiable *bWa*bWݔ@ 8 syntactically generated or-pats should not be expanded *i\f*i\ޢ@; this is a real or-pattern +l+l@/ Ah Jacques... +n^ߋ+n^ߞ@> standard case, filter matrix + r +r-@ S The handling of incoherent matrices is kept in line with [satisfiable] +u+v@ ; This function ``every_both'' performs the usefulness check of or-pat q1|q2. The trick is to call every_satisfied twice with current active columns restricted to q1 and q2, That way, - others orpats in qs.ors will not get expanded. - all matching work performed on qs.no_ors is not performed again. +nn+@ ? le_pat p q means, forall V, V matches q implies V matches p +11+ 1t@ . In all other cases, enumeration is performed +%$$+&$V@ [select_rec] removes the elements that are followed by a smaller element. An element that is preceded by a smaller element may stay in the list. We thus do two passes on the list, which is returned reversed the first time. +++,@ v lub p q is a pattern that matches all values matched by p and q may raise Empty, when p and q are not compatible +1+2LN@ Thanks god, lub is commutative +7Bm+8B@<****************************+=#ss+>#s@< Exported variant closing +C$+D$@<****************************+I%+J%@< Apply pressure to variants +O'+P'@;***************************+U=+V=2@; Utilities for diagnostics +[>33+\>3R@;***************************+a?SS+b?Sr@ L Build up a working pattern matrix by forgetting about guarded patterns +gAtt+hD@ X Build up a working pattern matrix by keeping only the patterns which are guarded +mKmm+nN@6**********************+sW+tW@6 Exhaustiveness check +yX+zX@6**********************+Y+Y@ ; Whether the counter-example contains an extension pattern +[+["@ ( This can occur - For empty matches generated by ocamlp4 (no warning) - when all patterns have guards (then, casel <> []) (specific warning) Then match MUST be considered non-exhaustive, otherwise compilation of PM is broken. +e+l$0@/***************+ww+w@/ Fragile check ++@/***************++@ % Collect all data types in a pattern ++@ Actual fragile check 1. Collect data types in the patterns of the match. 2. One exhaustivity check per datatype, considering that the type is extended. +  +  @>******************************+  +  @> Exported unused clause check +  +  @>******************************+  +  ;@ p prev was accumulated in reverse order; restore source order to get ordered counter-examples +}+@ : First look for redundant or partially redundant patterns +s+s@ # Do not warn for unused [pat -> .] + + ?@ + Do not refine if either: - we already know the clause is unused - the clause under consideration is not a refutation clause and either: + there are no other lines + we do not care whether the types prevent this clause to be reached. If the clause under consideration *is* a refutation clause then we do need to check more carefully whether it can be refuted or not. ++@> Then look for empty patterns ++@ #Format.eprintf "%a@." pretty_val u;++@?*******************************+"tt+"t@? Exported irrefutability tests +#+#@?*******************************+$+$@?*******************************+N+NB@? Exported exhaustiveness check +OCC+OCf@?*******************************,Pgg,Pg@ P Fragile check is performed when required and on exhaustive matches only. , R, U@ #***********************************,b  ,b 4@ # Ambiguous variable in or-patterns ,c55,c5\@ #***********************************,d]],d]@ b Specification: ambiguous variables in or-patterns. The semantics of or-patterns in OCaml is specified with a left-to-right bias: a value [v] matches the pattern [p | q] if it matches [p] or [q], but if it matches both, the environment captured by the match is the environment captured by [p], never the one captured by [q]. While this property is generally well-understood, one specific case where users expect a different semantics is when a pattern is followed by a when-guard: [| p when g -> e]. Consider for example: | ((Const x, _) | (_, Const x)) when is_neutral x -> branch The semantics is clear: match the scrutinee against the pattern, if it matches, test the guard, and if the guard passes, take the branch. However, consider the input [(Const a, Const b)], where [a] fails the test [is_neutral f], while [b] passes the test [is_neutral b]. With the left-to-right semantics, the clause above is *not* taken by its input: matching [(Const a, Const b)] against the or-pattern succeeds in the left branch, it returns the environment [x -> a], and then the guard [is_neutral a] is tested and fails, the branch is not taken. Most users, however, intuitively expect that any pair that has one side passing the test will take the branch. They assume it is equivalent to the following: | (Const x, _) when is_neutral x -> branch | (_, Const x) when is_neutral x -> branch while it is not. The code below is dedicated to finding these confusing cases: the cases where a guard uses "ambiguous" variables, that are bound to different parts of the scrutinees by different sides of a or-pattern. In other words, it finds the cases where the specified left-to-right semantics is not equivalent to a non-deterministic semantics (any branch can be taken) relatively to a specific guard. ,!f,"&&@  Row for ambiguous variable search, row is the traditional pattern row, varsets contain a list of head variable sets (varsets) A given varset contains all the variables that appeared at the head of a pattern in the row at some point during traversal: they would all be bound to the same value at matching time. On the contrary, two variables of different varsets appeared at different places in the pattern and may be bound to distinct sub-parts of the matched value. All rows of a (sub)matrix have rows of the same length, but also varsets of the same length. Varsets are populated when simplifying the first column -- the variables of the head pattern are collected in a new varset. For example, { row = x :: r1; varsets = s1 } { row = (Some _) as y :: r2; varsets = s2 } { row = (None as x) as y :: r3; varsets = s3 } { row = (Some x | (None as x)) :: r4 with varsets = s4 } becomes (_, { row = r1; varsets = {x} :: s1 }) (Some _, { row = r2; varsets = {y} :: s2 }) (None, { row = r3; varsets = {x, y} :: s3 }) (Some x, { row = r4; varsets = {} :: s4 }) (None, { row = r4; varsets = {x} :: s4 }) ,''5'5,(++@  To accurately report ambiguous variables, one must consider that previous clauses have already matched some values. Consider for example: | (Foo x, Foo y) -> ... | ((Foo x, _) | (_, Foo x)) when bar x -> ... The second line taken in isolation uses an unstable variable, but the discriminating values, of the shape [(Foo v1, Foo v2)], would all be filtered by the line above. To track this information, the matrices we analyze contain both *positive* rows, that describe the rows currently being analyzed (of type Varsets.row, so that their varsets are tracked) and *negative rows*, that describe the cases already matched against. The values matched by a signed matrix are the values matched by some of the positive rows but none of the negative rows. In particular, a variable is stable if, for any value not matched by any of the negative rows, the environment captured by any of the matching positive rows is identical. ,-..,.22@9 Compute stable bindings ,355,455#@ D if at least one empty row is negative, the matrix matches no value ,966,:67&@ c All rows have the same number of columns; if the first row is empty, they all are. ,?7`7l,@77@ 7 The stable variables are those stable at any position ,E 9E9O,F 9E9@ optimization: quit early if there are no positive rows. This may happen often when the initial matrix has many negative cases and few positive cases (a small guarded clause after a long list of clauses) ,K ::,L ;L;~@ If the column is ill-typed but deemed coherent, we might spuriously warn about some variables being unstable. As sad as that might be, the warning can be silenced by splitting the or-pattern... ,Q <<',R <=@ 5 A stable variable must be stable in each submatrix. ,W (?(?2,X (?(?k@ h All identifier paths that appear in an expression that occurs as a clause right hand side or guard. ,] 3@@,^ 5AA@ 0 Use default iterator methods for rest of match.,c >B B,d >B BE@@*./ocamlopt)-nostdlib"-I(./stdlib"-I1otherlibs/dynlink"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I&typing"-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_events2-function-sections"-c,, T/home/teraram/ci/builds/workspace/parallel-build/flambda/false/label/ocaml-manycores ?>3210/.-,+*)('&%$#"! @@0*렸7-eqx/3,,,,,,,,@,@@+0eT$BbRM dc%Btype07zx# 5Build_path_prefix_map0zd,J4z8CamlinternalFormatBasics0|.e1R$|o0CamlinternalLazy0zY# #4#-*Cmi_format0{)ݬ[ƥ  "0 qQ4ߨ3נjq+ 0v\3,Svh#Env02O<r7 *Errortrace0:~i0yXD*Format_doc0uy@GmWUࠠ%Ident0>ЃzV)j⠠,Identifiable0]/*N )Load_path0,j " nn7ݠ(Location0nBɊOn?7~ؠ)Longident0wP q;ɡ-0Kvor#2D+Outcometree0BuG^)= 9c -)0FCO)5)Parsetree0v o[pY Y$Path0k.tbGmᠠ%0gg 1..Stdlib__Format00FClW/Stdlib__Hashtbl0(L%bԠ-Stdlib__Int320y Mzs.Vs-Stdlib__Int640q=cT?Q1ˠ,Stdlib__Lazy0$1mlࠠ.Stdlib__Lexing0^m|e,Stdlib__List0C|Z`>s䠠+Stdlib__Map0*4ɇ2ɠ%Subst0=aqT/!p+O0igv&Т.Type_immediacy00$ jbv\"k&+ΐ0L+=%Eȧk]U젠,0"|Vȷ`X )Unit_info0'T Χ@aR/Value_rec_types0`4xiVC(Warnings0Ef{&@@ANAȑ@@6ܑ7 @x@ב@@@ "# @7A7@@@@@ ! 2+5츑@(@@xx@66vsv @@,,@@)){݅@@&_&iFPŸ@@$.@P0럑며`` w@C=@((z@@..˰&@P\Pf--@PP$.88R\@@@@  +FFTT@)<%%@ @@SaiXib@T;TE@@DN@W W*@:Dy@@ *$@r|@=G@@""Ȱ2+25|}@1;@kk@XZXdak&{&@@@ޑ@@,9,@-v-@΁΋@@wNwX@ᅑᏰ##@&@pzhr,[,?@h@@22sDD'@$$@--:@đΰԪԸՂՌ@@hh@=V=`@VV@rErO@%-%7CC@ @Ց@Rt@@BϑB@)@@@ oKot@@@Z%Z/@̷̩@@@@@ @@ @x傰EQ@@-G-<??q{@$|$s}@0@kk @@ߑ@23ԑ@,’,@@<F@uTu^F#F-@@3=)3@@&cm@gXgb@|F|P@ ?@bEbON\@?I@@CC@@R`@@@\f@{#{-ְ̑pp~̑~ְ@@  ٍٗiEiO-@!=!G\\@@x  @@lv@@ _ i@@ו㖰 0@YY @:D@@ۘ@@X\Xf0::D@@jt@@@@f@?<@lm@\f@l@@3R3A@@o@‘@%@@p qqww@Gʑ@@@kk@@u^uhg|g@@@@@@@@nnrOrY̑@בes\\@@@@VΑVذ0*04@aj++)ʑ@@@mwoy@`n`x@@)*@uu@BL@@9@?r?|pF@@@ŰDN)?)I@2<@ђ-g-q@@@@*4@ - 7=@SS@ DD@@@H@jt@䂕J@@RS׽,6@UԑUްXX ё @@@ϝϫ@ 9 Ccm@.i,6@̑@z @@mw}}`j!@@q{@gߑg@ڑϤ"@wpF@ހފ&&ܑ@@R\ @@@]] =-Ǖ-@@gKgU ʰ+Q+[@ak[@@%Б%ڰjjb]bg1;@$Y$c22s@ؑ@BXBbMN@.u.'T'^@@,ʑ,԰`{`@__MW|@v؀@4>@@y@Ƒа--@MM OY@(('@@@bs'@ss@@@#)#3is@MM@@P0p@ D@@@@@@ @@@@AB@@@AF@@@@@@@AF@F@@@[@[@@@ABt-@t*@@@CD@@@@@@@@M@M@@@ABNi@Nf@@@@@@@AC@@@@'@$@@@&@@@@ABDE.A.@.|C.v@@@.tC.n@@@AB.C.@@@C@@@@@@A@@@@@@@@U@R@@@ABC׷@״@@@h@h@@@A.J@.G@@@,@,@@@ABDF@@