Caml1999T037 FX:oC(Odoc_astР(Asttypes(Asttypes4ocamldoc/odoc_ast.mlQ`eQ`m@@ 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@@@Q``@)ocaml.doco # Analysis of implementation files. P77P7_@@@@@@@@3@@@Р%Types%TypesRnsRnx@@ 3@'@@@@A3@)@@Rnn@@ @3@-@@Р)Typedtree)TypedtreeSy~Sy@@ 3@@@@@A3@@@Syy@@ @3@@@A+)typedtreeAUU@@;@@@A@')structure@@@@//module_coercion@@@@@@@@@UU@@@@DA@@AВ@г)TypedtreeUU@UU@@@&3@?5;@@@A=@@@@@@@@#@@@ @@@@@г,)Typedtree+U,U@3/U0U@@@;@@@H&@@7@@76@30//00000@^@@Р.Odoc_parameter.Odoc_parameterCWDW@@ 3BAABBBBB@qga@@@@A3DCCDDDDD@@@LW @@ @3IHHIIIII@@@Р*Odoc_value*Odoc_value\X]X@@ 3[ZZ[[[[[@@@@@A3\[[\\\\\@@@dX@@ @3a``aaaaa@@@Р)Odoc_type)Odoc_typetYuY@@ 3srrsssss@@@@@A3tssttttt@@@|Y@@ @3yxxyyyyy@@@Р.Odoc_extension.Odoc_extensionZZ@@ 3@@@@@A3@@@Z@@ @3@@@Р.Odoc_exception.Odoc_exception[['@@ 3@@@@@A3@@@[@@ @3@@@Р*Odoc_class*Odoc_class\(-\(7@@ 3@@@@@A3@@@\((@@ @3@@@Р+Odoc_module+Odoc_module]8=]8H@@ 3@@@@@A3@@@]88@@ @3@@@Р*Odoc_types*Odoc_types^IN^IX@@ 3@@@@@A3@@@^II@@ @3@@@0Typedtree_searchzBd29d2I@wA@БA+#ele}CfU^fUa@@;@@!M~@@@@@gdj gdw@@2FA"MT@@@@@-hx~.hx@@@GA!T@@@@@;ipC@@г#eleGpHp@@'3DCCDDDDD@Z@:9;@@@AA@@@@@@@@'@@@$@@@@г0)Typedtree_p`p%@7cp&dp9@@@?@@@Lhp9@@;@@;:@3eddeeeee@ @@A+*tab_valuesEtqENuqEX@@;@@A'Hashtbl!t$Name!t@@@ O@'pattern@@@ P@*expression@@@ Q@@ R@@@ U@@@@qEIqE@@@@OA@@Aг(*qEqE@-qE@@г/+Odoc_moduleqE\qEg@7qEhqEl@@;qEmqEn@ @@E3@|W;@@@A_@@@ |@@@@@5@@@2@@@@В@гJ)TypedtreeqEpqEy@QqEzqE@@@Y!@@@гT)TypedtreeqEqE@[qEqE@@@c3@@@p4@@@5qE[^@@`@@`_@3@7@@@ఠ0iter_val_patterns s@PA@@@)Typedtree,pattern_desc %value@@@ F@ @@@ F@ @@ |+Odoc_module$Name!t@@@ F@ @@@ F@ @@ F@ 321122222@s@@@@Ġ)TypedtreeFtGt@(Tpat_anyKtLt@@;(Tpat_any<5@@@@@@@@@@ALAA4typing/typedtree.mliO  O  3@@@Di@@@@@L3YXXYYYYY@([bscx@@@@@@ภ$Nonejtkt@;G@@W@@@@AA@AA@@@@@N@Ġ)Typedtree~uu@(Tpat_varuu@@;(Tpat_vartm@@@@@@@%Ident!t@@@(Asttypes#loc&stringQ@@@@@@#Uid!t@@@@C@ALAAYQ E GZQ E @@@k@ఠ$nameuu @QA@@2!t@@@ J@ 3@j@@@@uu@@50@@@ @@@  @@uu@@1@@@ @@@`u@@@Ġ)Typedtreevv%@*Tpat_aliasv&v0@@;*Tpat_aliasݠ@@@@@@@/general_pattern@@@@@@A@@@n#lock@@@@@@i!t@@@%Types)type_expr@@@@EAALAAS  U  @@@ l@@(v2)v3@@1@@@ @@@ i@|$name7v58v9@JRA@@ys@@>v;?v<@@97@@@ @@@ @@Jv>Kv?@@:@@@ @@RvASvB@@<@@@ @@@qXvC@@G@@@@H@@@ภ$Some`vHavL@;@A@AA@A4@@డ$Name*from_identrvNsvR@ vvSwv]@@@%Ident!t@@@ B@@ AZ@@@ @@@ ?@6ocamldoc/odoc_name.mliG  G  @@)Odoc_nameO@@@@@@@ @@ k@@@ @@ 3@=@@@@@@ఐ렐$namev^vb@ @@0@@@ I@"I@"@@vMvc@@@@U@@@Ġ)Typedtreewdlwdu@*Tpat_tuplewdvwd@@;*Tpat_tuple@@@@@@@$listK@&optionL@@@@@@@@@@@@@@@@@@@@ACALAAY  Z  @@@n@@wdwd@@)@&#@@@ @@@ @@@@ @@@ @@ @@@ J@@@T@@K@@@ภ$Nonewdwd@@@@T@@ x!x@@Z@@@ภ$None(x@@@@b@@A%param-s@@@@@#F@*W@A@@@@ఠ-add_to_hashes=z>z@PTA@@@&Stdlib'Hashtbl!tL@@@,IF@,$H3structure_item_desc@@@*lF@,"@@@,>F@*Y@@*Z@!C@@@=wF@=T@g'pattern@@@={F@=x@p*expression@@@=|F@=y@@=zF@=R@@@=nF@*_@@*`@6F@*e@@*f$unitF@@@,F@*g@@*hF@*a@@*bF@*[@@*\F@*X3@d@@@@@࣠@%tableAzz@UA@@e3@tzrJr@@@@@  @@,table_valuesAzz@VA@@X3@!|@@@@@@@@"ttAzz@WA@@A3@l@@@@@@@@ఐ"tt{{ @R@@@@S3@@@@Ġ)Typedtree|  |  @+Tstr_module|  |  $@@;+Tstr_module@@@j@.module_binding@@@X@AF@N@ACkCmCkC@@@@ఠ"mb|  %|  '@#XA@@@@@*n3@4@@@@@(@@@@@@@డ&Option$iter&} + 5'} + ;@ *} + <+} + @@@@@!a@+"@@+@@@+@@+@@+@&optionL@@@+@@+@@@+@@+@@+@*option.mli| o o| o @@.Stdlib__OptionL@-(@@@@@@@,]K@+@@,&@@@,@@+@@+@%@@@+@@+@@@+@@+@@+3ihhiiiii@d]@^@_@@@@࣠@"idA} + F} + H@cA@@(3~}}~~~~~@@@@@@@డ'Hashtbl#add~ L X~ L _@ ~ L `~ L c@@@V!a@!b@@@@@@@@@@ @@$unitF@@@@@@@@@@+hashtbl.mliu;;u;c@@/Stdlib__HashtblE@.)@@@|uo@@@,&@@,%@{@@,#@x@@,!@@@, @@,@@,@@,3@h_}@V@W@@@@ఐ=%table~ L d~ L i@"@@@@ภ!M~ L k~ L l@;@@@@A@@H@A@@Ԡడ/$Name*from_ident ~ L n ~ L r@  ~ L s ~ L }@@@@@@@@,P@@,O@@@,N@@,M@@@ఐ"id ~ L ~ ~ L @J@@M@@ #~ L m $~ L @@@@@,[S@@ )~ L j *~ L @@N@,JX@@ఐm"tt 7~ L  8~ L @X@@e@@@@@@@,bN@,5k@ A} + A B~ L @@@@@,@@@,@@,L@,gL@,d@@ఐJ"mb Z~ L  [~ L @@@`@@@,n@,k@%mb_id f~ L  g~ L @3%mb_idk@@@u!t@@@l@@@k@@@3'mb_name#loc@@@o@@@n@@@m@@A@A2E8E=3E8EX@@u @3&mb_uid&!t@@@p@@B@A=EYE^>EYEl@@ @3+mb_presence1/module_presence@@@q@@C)@AIEmErJEmE@@ @3'mb_expr=+module_expr@@@r@@D4@ATEEUEE@@ @3-mb_attributesH*attributes@@@s@@E?@A_EE`EE@@@3&mb_locS(Location!t@@@t@@FM@AmEEnEE@@@@AqDDrDE @@ @tg@@z@@@,L@,oL@,lh@@p@@ET@Ġ)Typedtree      @.Tstr_recmodule      @@;.Tstr_recmodule@@@@Z@@@Y@AG@N@ACCCC@@@@ఠ$mods      @ YA@@ @@@*s@@@*r3        @*@@@@@, @@@@@@@డ$List$iter @   @  @  @   !@  @@@@!a@.@@/$unitF@@@/@@/@@/@$listK@@@/@@/@@@/@@/@@/@(list.mli@@,Stdlib__ListU@0+@@@@W@@@2RK@1@@1)@@@1@@1@@1@&@@@1@@1#@@@1@@1@@13 b a a b b b b b@kd@e@f@@@@࣠@"mbA xA   yA  @ dA@@(3 w v v w w w w w@@@@@@@డ&Option$iter B   B  @  B   B  @@f@@@@ @@@2C  D@@@@@2:N@@ CC  - DC  E@@P@2)S@@ภ)Typedtree RD F Z SD F c@+Tstr_module WD F d XD F o@@aఐ"mb bD F p cD F r@@@q@@ fD F Y gD F s@@P@2Dv@@@@3@@@2GP@2|@ qB   rE t @@@@@1A@@@1@@1N@2LN@2I@@ఐ"mb E t  E t @۰@@9@%mb_id E t  E t @+ @@V@@@1N@2SN@2P@@ @@o@@@2TN@1@ A   F  @@@Y@@1}@@@1@@1L@2YL@2V4@@ఐ$mods G   G  @S@@p@@@1L@2^L@2\^@@ @@4J@Ġ)Typedtree H   H  @,Tstr_modtype H   H  @@;,Tstr_modtype@7module_type_declaration@@@[@AH@N@ACCCC@@@@ఠ#mtd H   H  @ ZA@@@@@*v3        @@@@@@%@@g@@g@@@డ i'Hashtbl#add I   I  @  I   I  @@q@@@ǠF@2gF@2e@@@2i@@2h@ @@2f@ @@2dm@@@2c@@2b@@2a@@2`3        @B<5@6@7@@@@ఐ%table 1I   2I  @q@@@@ภ"MT =I   >I  @; O@ AA@H@A @@ డ {$Name*from_ident OI   PI  @  SI   TI  @@ݰ@@@@@@2@@22@@@2@@2=@@ఐ#mtd mI   nI  @I@@@@@2@2Q@&mtd_id yI   zI  @3&mtd_id@@@!t@@@@@@ 3(mtd_name #loc@@@@@@@@A @A;lQQ<lQQ@@~M@3'mtd_uid!t@@@@@B@AFmQQGmQQ@@N@3(mtd_type'ɠ+module_type@@@@@@@@C(@AVnQQWnQQ@@O@3.mtd_attributes7@@@@@D1@A_oQQ`oQR@@P@3'mtd_loc@!t@@@@@E=@AkpRRlpRR@@Q@@AokQwQ|pkQwQ@@L@_R@@R@@@2M@2M@2@@ I   I  @@@@@2@@ I   I  @@L@2@@ఐ"tt I   I  @ @@[@@@@Z@Ġ)Typedtree J   J  %@+Tstr_typext J  & J  1@@;+Tstr_typext@.type_extension@@@V@AD@N@AC$C&C$CE@@@@ఠ"te J  2 J  4@ '[A@@@@@*y3        @8@@@@@%@@@@@@@ఐ"te (K > N )K > P@@@@@+@@@2@23 , + + , , , , ,@O# @@@2tyext_constructors 7K > Q 8K > c@32tyext_constructors8@@@m.5extension_constructor@@@@@@@@C3*tyext_path$Path!t@@@@@@ @A````@@>@3)tyext_txt#loc)Longident!t@@@@@@@@A@A````@@R@3,tyext_params2@a)core_type@@@@@(variance@@@@+injectivity@@@@@@@@@@@@BE@A5``6`a"@@x@X3-tyext_privateX,private_flag@@@@@DP@A@ aWa[A aWaw@@@3)tyext_locc!t@@@@@E\@AL axa|M axa@@@30tyext_attributeso@@@@@Fe@AU aaV aa@@@@AY a#a'Z a#aV@@@~@@xw@@@2@@@2@Ġ"[] L i u L i w@; 0 = :@@U@@@@AA@A @@ 3@@ @@@@@2@@@23        @@@@ @@@@2@@@2@@@ ภ%false L i  L i @;  @@@M@@@@B@@A @@ @ @@@@@2@ L i { @@c@Ġ":: M  M  @; b8@ `B@AA@A @@ Zఠ#ext M   M  @fA@@@@@2@@M  M  @@ r@@@2@@@2@@@ @@@@@2@@@2@@@@@2@@@2@@@డ 'Hashtbl#add9M  :M  @ =M  >M  @@@@@F@2ՠF@2@@@2@@2@ @@2@ @@2@@@2@@2@@2@@23TSSTTTTT@)UN@O@P@@@@ఐ%tablefM  gM  @@@"@@ภ!XrM  sM  @; @ AE@H@A @@ డ $Name*from_identM  M  @ M  M  @@@@@@@@3@@3 g@@@2@@2=@@ఐ#extM  M  @I@@e@@@3@3Q@&ext_idM  M  @3&ext_idp@@@ %!t@@@@@@ 3(ext_name  %#loc "@@@@@@@@A @A pb|b qb|b@@ @3(ext_type5extension_constructor@@@@@B@A |bb }bb@@ @3(ext_kind( :extension_constructor_kind@@@@@C$@A bb bb@@ @3'ext_loc3(!t@@@@@D0@A bb bc@@ @3.ext_attributes??@@@@@E9@A cc  cc&@@ @@A bgbk bgb{@@ @[N@@@@@3O@3O@3@@M  M  @@ @@@3 @@ M   M  @@N@2@@ఐO"ttM  M  @:@@@@@@@@@AJ  8N  @@I@Ġ)Typedtree,O  -O  @.Tstr_exception1O  2O  @@;.Tstr_exception;@ #.type_exception@@@W@AE@N@A CFCH CFCj@@@ (@ఠ#extHO  IO  @[\A@@@@@*|3JIIJJJJJ@l@@@@@%@@@@@@@డ 'Hashtbl#add^P  _P  @ bP  cP  @@˰@@@!F@:wF@:u@@@:y@@:x@ @@:v@ @@:t@@@:s@@:r@@:q@@:p3yxxyyyyy@<5@6@7@@@@ఐ栐%tableP  P  %@˰@@G@@ภ!EP  'P  (@; /@ -AF@H@A )@@ &డ $Name*from_identP  *P  .@ P  /P  9@@ 7@@@ 7@@@:@@: @@@:@@:=@@ఐ#extP  :P  =@K@@@@@:@:S@1tyexn_constructorP  >P  O@31tyexn_constructor@@@@@@@@@ 3)tyexn_loc %!t@@@@@A @A bb bb@@ @30tyexn_attributes  )attribute@@@@@@@@B@A bb  bbA@@ @@A aa ab@@ @8+@@@@@:@:@&ext_id P  P P  V@\D@@ @@@:M@:M@:@@P  )P  W@@ @@@:@@P  &P  X@@L@:@@ఐ_"tt)Q Y e*Q Y g@J@@@@@@@Ġ)Typedtree9R h p:R h y@)Tstr_type>R h z?R h @@;)Tstr_typeH@ (rec_flag@@@S y :0type_declaration@@@U@@@T@BC@N@A BB BC#@@@ @@ఠ"rf`R h aR h @s]A@@ @@@*3baabbbbb@@@@ఠ4ident_type_decl_listoR h pR h @^A@@)(@@@*@@@*@@@B{R h @@@@@@@డ$List$iterS  S  @ S  S  @@m@@@@M@@@;6K@:@@:n@@@:@@:@@:@k@@@:@@:h@@@:@@:@@:3@SL@M@NE>@?@@@@@@࣠@"tdtAT  T  @jA@@*3@@@@@@@డ8'Hashtbl#addU  U  @ U  U  @@@@@@  F@: F@:@@@:@@:@ @@:@ @@:<@@@:@@:@@:@@:3@H=]@4@5@@@@ఐ [%tableU  U  @ @@@ @@ภ!T U   U  @; @ AB@H@A @@ ӠడJ$Name*from_identU  U  @ "U  #U  @@ @@@ @@@;@@; @@@;@@;=@@ఐ"td<U  =U  @I@@L@&typ_idCU  DU  @3&typ_id@@@s !t@@@^@@@+ 3(typ_name  #loc @@@`@@@_@@A @A \&\* \&\?@@ H@3*typ_params @@@@c@@ (variance@@@e@ +injectivity@@@f@@d@@b@@@a@@B1@A )\@\D *\@\|@@ l@3(typ_type@ o0type_declaration@@@g@@C=@A 5\}\ 6\}\@@ x@3/typ_constraintsL  @&@@@j@+@@@k@!t@@@l@@i@@@h@@D\@A T\\ U\\@@ @3(typ_kindk )type_kind@@@m@@Eg@A _\\ `\\@@ @3+typ_privatev $,private_flag@@@n@@Fr@A j\] k\]@@ @3,typ_manifest W@@@p@@@o@@G@A x]] y]]>@@ @3'typ_loc!t@@@q@@H@A ]?]C ]?]W@@ @3.typ_attributes0@@@r@@I@A ]X]\ ]X]w@@ @@A \\ \\%@@ @@@ t@@@;&O@;*O@;(@@U  U  @@ @@@;$@@U  U  @@ N@; @@ภ)Typedtree V   V  '@)Tstr_typeV  (V  1@@Ҡఐ"rfV  3V  5@n@@@@@;4N@;8N@;72@ภ"::,V  8-V  ;A-ఐz"td 6V  :@B @@E@ภ"[] Av@ A@K@;@@@@;AN@;HT@@HV  7@@@@@;5N@;?\@@PV  QV  =@@ N@;3a@@@@'@@@;JN@:g@[T  \V  >@@@@@:5@@@:@@:L@;OL@;L@@ఐ4ident_type_decl_listrW ? KsW ? _@İ@@?@@@:L@;TL@;R@@ @@ @Ġ)TypedtreeX ` hX ` q@*Tstr_classX ` rX ` |@@;*Tstr_class @ Ġ@ 1class_declaration@@@_@ Ӡ @@@a@@@`@@^@@@]@AJ@N@A WDD XDD=@@@ @ఠ)info_listX ` }X ` @_A@@)@(@@@*@&%@@@*@@@*@@*@@@*3@ @@@@@J@@ D@@ D@@@డF$List$iterY  Y  @ Y  Y  @@Ű@@@@@\@@@;K@;w@\[@@@;@@@;K@;x@@;yK@;[@@;_@@@;^@@;]@@;\@Ԡ @@@;Z@@;Y@@@;X@@;W@@;V3@ 3aZ@[@\@@@@࣠@%paramwA@ఠ"ciu,Z  -Z  @?kA@@93+**+++++@@@@@ఠ!sv9Z  :Z  @LlA@@? @@>Z  ?Z  @@@M@H@@;{@@ @@డ'Hashtbl#addU[  V[  @ Y[  Z[  @@ °@@@  F@; F@;@@@;@@;@ @@;@ @@; @@@;@@;@@;@@;3pooppppp@bP@J@KD|@>@?@@@@ఐ ߠ%table[  [  @ İ@@ @@@ภ!C[  [  @;R @PAC@H@AL@@Iడ$Name*from_ident[  [  @ [  [  @@ 0@@@ 0@@@;@@;@@@;@@;?@@ఐ"ci[  [  @J@@N@+ci_id_class[  [  @3+ci_id_class+class_infos!a@ S@@@E!t@@@@@C/3'ci_virtE,virtual_flag@@@@@@@APh%h)Ph%h?@@@3)ci_params @|@@@@@a(variance@@@@h+injectivity@@@@@@@@@@@@A,@AQh@hDQh@h{@@@3*ci_id_nameBt#locq@@@@@@@@B<@ARh|hRh|h@@@R30ci_id_class_typeR!t@@@@@DH@AThhThh@@@3,ci_id_object^!t@@@@@ET@AUhhUhh@@@3'ci_exprje@@FZ@AVhhVhh@@ @3'ci_declp#1class_declaration@@@@@Gf@AWiiWii%@@,@3,ci_type_decl|/6class_type_declaration@@@@@Hr@AXi&i*Xi&iV@@8@3&ci_loc !t@@@@@I~@AYiWi[YiWin@@D@3-ci_attributes @@@@@J@A Ziois Zioi@@M@@AShhShh@@Q@@@ @@@;O@;O@;@@s[  t[  @@I@@@;@@y[  z[  @@ (N@;@@ภ)Typedtree\ \ @*Tstr_class\ \ $@@ภk\ &\ ,A@ఐx"ci\ (@-@@1@@ఐv!s\ *\ +@8@@=@@@@@@@@;Ԡ@@@;N@;N@;K@ภ/A@0A@%@@@;N@;X@@\ %8@@<@@@;N@;`@@\ \ -@@ ~N@;e@@@@ @@@< N@;k@Z  \ .@@@@@;s @@@;r@@;qL@<L@< @@ఐ>)info_list]/;]/D@@@ Š@@@;oL@<L@<@@# @@ r@Ġ)Typedtree^EM^EV@/Tstr_class_type^EW^Ef@@;/Tstr_class_type @J@!t@@@d@#loc@@@f@@@e@#6class_type_declaration@@@g@@c@@@b@AK@N@AD>D@D>D@@@)@ఠ)info_listI^EgJ^Ep@\`A@@2@1@@@*@.,@@@*@@@*@+@@@*@@*@@@*3a``aaaaa@ @@@@@X@@ @@ @@@డ$List$iteru_t~v_t@ y_tz_t@@ Y@@@@@j@@@@j@@@a@}@@@@ภ"CTIbJb@; [@AD@H@A@@డ$Name*from_ident[b\b@ _b`b@@@@@@@@<|@@<{>@@@@B@@ y@@@<5L@@@@@࣠@d}Aঠ&vb_patgg@3&vb_patp@@@{@@@v@@@ 3'vb_expr @@@w@@A@AEFF"FFF6@@@3+vb_rec_kind/Value_rec_types6recursive_binding_kind@@@x@@B@ASF7F;TF7Fo@@@3-vb_attributes  @@@y@@C@A\FpFt]FpF@@@3&vb_loc) !t@@@z@@D)@AhFFiFF@@@@AlF F mF F@@@ఠ#patzgg@oA@@W@@@=3@\@@@'vb_exprgg@Fఠ#exp{gg@pA@@d@@@= @@@gg@@N@=@@@@ఐ0iter_val_patternhh@c@@@@@@=@@@=@@=@@@=@@@=@@=3        @KD@E@F6/@0@1@@@@ఐU#pat#h$h@@@@@@=$@)Typedtree/h0h@(pat_desc4h5h@@3(pat_desc%,pattern_data!a@d@@@@@@ 3'pat_loc !t@@@@@A @Arr @@7\@3)pat_extra@F)pat_extra@@@@!t@@@@@@@@@@@@@@B*@As s G@@X]@3(pat_type:[)type_expr@@@@@C6@A!tHL"tHf@@d_@3'pat_envF#Env!t@@@@@DD@A/ugk0ugz@@rc@3.pat_attributesT@@@@@EM@A8v{9v{@@{d@@A@?@@@@@@ఐ,table_values9j5:jA@h@@@@ఐY!nFjBGjC@@@@@@ఐ#patWjEXjH@D@@.@@ఐ#expcjIdjL@O@@:@@gjDhjM@@F@=}?@@\@@@@@@Amh@@>@@@=@rgskN[@@@@@<L@@@<@@@@@Ra@@@@Rc@@@@Rd@@Rb@@@R`@@R_@ @@R]@@@R\@@R[@@RZ@@RY3}||}}}}}@SJ@A@B@@@@ఐ!tww@ް@@IҠ@@@R@@ఐ(t_valuesww@q@@[Ѡ@@@R'@@ఐw#strww@3@@6@(str_descww@3(str_desc@@@Lg@@@I@@@ 3'str_loc  !t@@@J@@A @AwB$B(xB$B=@@@3'str_envV!t@@@K@@B@AB>BBB>BQ@@@@ABBBB#@@@/'@@K@RK@Rf@@,@@@@@RK@R}l@ww@@@I@@RQ@@@RP@@ROI@RI@R@@ఐ)typedtreeww(@@@^@@@@@@@RH@RK@@ఐ !tx*1x*2@j@@^@@ఐ(t_values'x*4(x*<@@@W@@+x*0*@@@p@_@@R@!1@@@22@@@3@@ @=4A@F@R;@A@8@87@N@ఠ-search_module.Dz?GEz?T@WzA@@@@@@RF@Rܠ@@@RF@R@@@RF@R@@R@M@@@RF@R@@R@@@SF@R@@RF@R@@RF@R3jiijjjjj@@@@@@࣠@%table0A}z?U~z?Z@{A@@33|{{|||||@Bz?C}@@@@@  @@$name1Az?[z?_@|A@@03@!J@@@@@@@@డ'Hashtbl$find{bn{bu@ {bv{bz@@@l!a@!b@@@@@@@@@ @@@@@  @@ F@"@@@z@@@R@@R@@@R@@R@@R3@DPv@G@H@@@@ఐk%table{b{{b@P@@@@ภ!M{b{b@ఐm$name{b{b@#@@&@@{b{b@@J@R+@@[@@,@Ġ)Typedtree||@+Tstr_module||@@ఠ"mb2| |@2}A@@$@@@SN@@@'|(|@@Q@@Q@@@ఐ"mb2|3|@@@@@9@@@S@S365566666@d" @@@'mb_exprA|B|@@@ @@J}K}@@t@@t@@@ ภmS}@k@@@k@@@S @Y}@@@@@A[{bh@@3WVVWWWWW@@@@A@F@Sl@A@@@򠰡@ఠ2search_module_type3lm@~A@@@/(@@@SF@S'@@@SF@S~@@@SF@Sn@@So@g@@@SF@St@@Su@@@SF@Sv@@SwF@Sp@@SqF@Sm3@)YR@S@T@@@࣠@%table5A@A@@33@B]v@@@@@  @@$name6A@@A@@03@!J@@@@@@@@డ6'Hashtbl$find@ @@(@@@e`@@@S@@S@k@@Se@@S}@@S|3@*6\@-@.@@@@ఐQ%table!@6@@@@ภ"MT# %@ ఐS$name & *@#@@&@@ " +@@J@S+@@A@@,@Ġ)Typedtree 1: 1C@,Tstr_modtype #1D $1P@@Lఠ#mtd7 -1Q .1T@ @AA@@T@@@SN@@@ 519 61U@@Q@@Q@@@ఐ#mtd >1Y ?1\@@@@@3 = < < = = = = =@]@@@@ J]e K]f@@f@@f@@@ ภm S]q@k@@@k@@@Sr@ Y]j@@t@@@A [ @@3 W V V W W W W W@v@@@A@F@T @A@@@ʠ@ఠ0search_extension8 lx mx@ BA@@@/(@@@T?F@T!'@@@TCF@T@@@T4F@T@@T@/@@@TAF@T@@T@@@THF@T@@TF@T@@TF@T3        @1*@+@,@@@࣠@%table:A x x@ CA@@33        @B x| @@@@@  @@$name;A x x@ DA@@03        @!J@@@@@@@@డ6'Hashtbl$find  @   @@(@@@e`@@@T#@@T"@k@@T e@@T@@T3        @*6\@-@.@@@@ఐQ%table  @6@@@@ภ!X !@ఐS$name! ! @#@@&@@! !@@J@T@+@@A@@,@Ġ)Typedtree!!@+Tstr_typext!#!$@@&ఠ%tyext<!-!.@!@EA@@.@@@TEN@@@!5!6@@Q@@Q@@@ఐ%tyext!>!?@@@@@3!=!<!<!=!=!=!=!=@]@@@@!J!K@@f@@f@@@ ภm!S@k@@@k@@@TLr@!Y@@t@@@A![@@3!W!V!V!W!W!W!W!W@v@@@A@F@T@A@@@ʠ@ఠ0search_exception=!l!m-@!FA@@@/(@@@TF@T '@@@TF@T@@@TF@T@@T@!@@@TF@T@@T]@@@TF@T@@TF@T@@TF@T3!!!!!!!!@1*@+@,@@@࣠@%table?A!.!3@!GA@@33!!!!!!!!@B!!@@@@@  @@$name@A!4!8@!HA@@03!!!!!!!!@!J@@@@@@@@డ 6'Hashtbl$find!;G!;N@ !;O!;S@@(@@@e`@@@T@@T@k@@Te@@T@@T3!!!!!!!!@*6\@-@.@@@@ఐQ%table!;T!;Y@6@@@@ภ!E!;[";\@hఐS$name" ;]" ;a@#@@&@@" ;Z";b@@J@T+@@A@@,@Ġ)Typedtree"hq"hz@.Tstr_exception"#h{"$h@@ఠ#extA"-h".h@"@IA@@@@@TN@@@"5hp"6h@@Q@@Q@@@ఐ#ext">h"?h@@@@@3"="<"<"="="="="=@]@@@@"J"K@@f@@f@@@ ภm"S@k@@@k@@@Tr@"Y@@t@@@A"[;A@@3"W"V"V"W"W"W"W"W@v@@@A@F@UO@A@@@ʠ@ఠ7search_type_declarationB"l"m@"JA@@@/(@@@UF@Uc'@@@UF@Ua@@@UvF@UQ@@UR@Y@@@UF@UW@@UXF@@@UF@UY@@UZF@US@@UTF@UP3""""""""@1*@+@,@@@࣠@%tableDA""@"KA@@33""""""""@B""9R@@@@@  @@$nameEA""@"LA@@03""""""""@!J@@@@@@@@డ!6'Hashtbl$find""@ ""@@(@@@e`@@@Ue@@Ud@k@@Ube@@U`@@U_3""""""""@*6\@-@.@@@@ఐQ%table""@6@@@@ภ!T"#@ఐS$name# # @#@@&@@# #@@J@U+@@A@@,@Ġ)Typedtree# # @)Tstr_type## #$ '@@@#) )#* *@@@@@UH@Ġ"::#5 -#6 0A6ఠ"tdF #> /@#PMA @@@@@U^@Ġ"[] A@@A@"@@@U@@@Um@@@#T ,@@  @@@U@@@Uv@@@#] #^ 2@@y@@y@@@ఐ("td#f 6#g 8@(@)@*@@3#e#d#d#e#e#e#e#e@2@@@@#r9A#s9B@@@@@@@ ภ#{9M@@@@@@@U@#9F@@@@@A#@@3##~#~#####@@@@A@F@V@A@@@򠰡@ఠ0search_class_expG#T\#Tl@#NA@@@WP@@@VF@VO@@@VF@V@@@V'F@V@@V@ @@@VF@V@@V @*class_expr@@@VF@V@$listK%Types)type_expr@@@V@@@VF@V@@VF@V @@V F@V@@VF@V3########@Dtm@n@o@@@࣠@%tableIA#Tm#Tr@#OA@@N3########@]#TX#@@@@@  @@$nameJA#Ts#Tw@$PA@@K3########@!e@@@@@@@@డ"y'Hashtbl$find$z$z@ $z$z@@k@@@נ{@@@V@@V@@@V@@V@@V3$$$#$#$$$$$$$$$$@*6w@-@.@@@@ఐQ%table$6z$7z@6@@@@ภ!C$Bz$Cz@ఐS$name$Lz$Mz@#@@&@@$Pz$Qz@@F@VF@V2J@V3.@@D@@/@Ġ)Typedtree$d$e@*Tstr_class$i$j@@ڠĠ>$r$sAs@ఠ"ciK$$@$QA@@@@@VK]@@@$$@@@@@VM@@@VLj@@"$@@@@@@VNr@ĠW .A@@/A@#@ @@@VX@  @@@VZ@@@VY@@VW@@@VV@@@$E@@#@"@@@V]@ @@@V_@@@V^@@V\@@@V[@@@$$@@&@@&@@@@ఠ"ceL$$@$RA@@@@@VgK@Vb3$$$$$$$$@kd@e@f@@@ఐq"ci$$@ @@V@@Vd@'ci_expr$$@Ȱ @@K@Vh@A@$@@@ఠ)type_declM% !% *@%SA@@@@@VK@Vj3%%%%%%%%@2B;@<@=@@@ఐ7search_type_declaration%!-%"D@G@@@ߠ@@@Vs@@@Vt@@@Vr@@Vq@"@@@Vp@@Vo@@@Vn@@Vm@@Vl(@@ఐb%table%GE%HJ@G@@5@@ఐ[$name%TK%UO@+@@B@@7@@FC@A@%Y@@@ఐ"ce%eSa%fSc@P@@3%c%b%b%c%c%c%c%c@Tb[@\@]@@@@ఐl)type_decl%xSe%ySn@@@/@@@V@V@(typ_type%So%Sw@@@0type_declaration@@@V@V&@%Types%Sx%S}@+type_params%S~%S@@3+type_params@@@ ֠@@@ @@@ @@@; 3*type_arity #intA@@@ @@A @A0typing/types.mli$OwO{$OwO@@@3)type_kind.type_decl_kind@@@ @@B@A %OO %OO@@@3,type_private%(Asttypes,private_flag@@@ @@C#@A&OO&OO@@@3-type_manifest3&optionL@@@ @@@ @@D3@A*'OO+'OO@@ @3-type_varianceC(Variance!t@@@ @@@ @@EE@A<(OO=(OP@@@31type_separabilityU(',Separability!t@@@ @@@ @@FW@AN*PXP\O*PXP@@-@3/type_is_newtypeg$boolE@@@ @@Gc@AZ+PP[+PP@@9@34type_expansion_scopesf@@@ @@Hm@Ad,PPe,PP@@C@3(type_loc}(Location!t@@@ @@I{@Ar-PPs-PP@@Q@3/type_attributes)Parsetree*attributes@@@ @@J@A.PP.PQ@@_@3.type_immediate.Type_immediacy!t@@@ @@K@A/QQ/QQ(@@m@34type_unboxed_default@@@@ @@L@A0Q)Q-0Q)QH@@w@3(type_uid#Uid!t@@@ @@M@A2QQ2QQ@@@@A#OVOZ#OVOv@@@@@@@&`S`&aS@@@@@@V@@@T@Ġ)Not_found&q&r@;)Not_found#exnG@@@ @@@0 A@A&_none_@@A@@2I@@@@@%~@@@Vp@@@@ఐ"ce&&@{@@L@V@@ภְ&&@@@@ՠF@V@@@V@@&&@@@@@&&@@I@@@@@&&@@ @@ @@@ ภհ&@@@@@@@V@&@@@@@A&z@@ 3&&&&&&&&@@@@A@.F@W@A@@@@ఠ=search_class_type_declarationN&&@&TA@@@@@@WMF@W/@@@WQF@W-@@@WBF@W@@W@#@@@WOF@W#@@W$@@@WF@W%@@W&F@W@@W F@W3&&&&&&&&@&qj@k@l@@@࣠@%tablePA' '@' UA@@33' ' ' ' ' ' ' ' @B''@@@@@  @@$nameQA'! '"$@'4VA@@03' ''' ' ' ' ' @!J@@@@@@@@డ%'Hashtbl$find'9'3':':@ '=';'>'?@@@@@e`@@@W1@@W0@k@@W.e@@W,@@W+3'I'H'H'I'I'I'I'I@*6\@-@.@@@@ఐQ%table'['@'\'E@6@@@@ภ"CT'g'G'h'I@ఐS$name'q'J'r'N@#@@&@@'u'F'v'O@@J@WN+@@A@@,@Ġ)Typedtree'U^'Ug@/Tstr_class_type'Uh'Uw@@vĠ`'Uy'UA@@'Uz'U{@@|@@@WjT@@@'U|'U}@@}{@@@Wl@@@Wka@@ఠ+cltype_declR'U~'U@'WA@@@@@Wmp@@+'U@@@%@@ @@Wnz@Ġ9A@@:A@'+@@@@Wy@@@@W{@@@Wz@@@@W|@@Wx@@@Ww@@@'UxU@@Ϡ@@@@W@ˠ@@@W@@@W@@@@W@@W~@@@W}@@@(U](U@@@@@@@ఐV+cltype_decl( U(U@U@V@W@@3( ( ( ( ( ( ( ( @`@@@@((@@2@@2@@@ ภ<(" @:@@@:@@@W@((@@/@@@A(*'-@@13(&(%(%(&(&(&(&(&@@@@ A@UF@W@A@@@1@ఠ,search_valueS(;(<@(NXA@@@ @@W@@WF@W@@@XF@W@@W@F@W@@W @@WF@W@@WF@W3(U(T(T(U(U(U(U(U@\@@@@@࣠@%tableUA(h(i@({YA@@'3(g(f(f(g(g(g(g(g@6(p(q@@@@@  @@$nameVA(|(}@(ZA@@(3({(z(z({({({({({@!>@@@@@@@@డ&'Hashtbl$find((@ ((@@ @@@!UWU@@@X@@W@]@@WZ@@W@@W3((((((((@(4R@+@,@@@@ఐO%table((@4@@r@@ఐH$name(Q@R@@k@@2S@@w@]TA@F@X[@A@X@XW@n@ఠ0search_primitiveW(( @([A@@@!!@@@XOF@X1!@@@XSF@X/@@@XDF@X@@X @%z@@@XQF@X%@@X&*@@@X]F@X'@@X(F@X!@@X"F@X3((((((((@@@@@@࣠@%tableYA)  ) @)\A@@33) ) ) ) ) ) ) ) @B))|@@@@@  @@$nameZA) )!@)3]A@@03))))))))@!J@@@@@@@@డ''Hashtbl$find)8$)9+@ )<,)=0@@ @@@!e`@@@X3@@X2@k@@X0e@@X.@@X-3)H)G)G)H)H)H)H)H@*6\@-@.@@@@ఐQ%table)Z1)[6@6@@@@ภ!P)f8)g9@[ఐS$name)p:)q>@#@@&@@)t7)u?@@J@XP+@@A@@,@Ġ.Tstr_primitive)EM)E[@ܠఠ"vd[)E\)E^@)^A@@@@@XUF@@@@@G@@G@@@ఐ"vd)Eb)Ed@@@@@@@@X\@XZ3))))))))@\" @@@'val_val)Ee)El@B@@1value_description@@@X^@X[@%Types)Em)Er@(val_type)Es)E{@@3(val_type@@@ f@@@ a@@@ 3(val_kind *value_kind@@@ b@@A@A%@@&@@@@@3'val_loc!t@@@ c@@B@A1@@2@@@@@3.val_attributes *attributes@@@ d@@C @A=@@>@A@@@3'val_uid,!t@@@ e@@D+@AHA A$IA A3@@'@@AL@@M@@@@+@c>@@ Z@@*|* |@@"@@"@@@ ภ+*|@)@@@)@@@Xb@*|@@@@@A*@@!3********@@@@A@EF@X@A@ @  @!@ఠ:get_nth_inherit_class_expr\***+@*=_A@@@%"/class_structure@@@ZuF@X@@X@#intA@@@Y`F@X@@X@@@ZlF@X@@XF@X@@XF@X3*I*H*H*I*I*I*I*I@Qz@{@|@@@࣠@#cls^A*\*]@*o`A@@,3*[*Z*Z*[*[*[*[*[@;*d*e@@@@@  @@!n_A*p*q@*aA@@33*o*n*n*o*o*o*o*o@!C@@@@@@@@Aఠ$iter`**@*bA@@@JI@X@@X@Ƞ%+class_field@@@XI@X@@@XI@X@@X@@@Y9I@X@@X@@X3********@/;d@2@3@@@࣠@#cptaA**@*cA@@)3********@7@2@@X@3@@X&@@XJ@X@@XJ@X@=@>@@@@@@Ġ**@@@@@?3********@(G@@ @@@@@డ)C%raise**@@m@@@@@!a@@@&%raiseAA @@@*stdlib.mli^BB^Bg@@#@@@@@@@@Y@@YaM@Y@@Y/@@ภ)Not_found++@@@@*@@@Y M@Y$@@@5@@sA@Ġ+R+T@ঠ'cf_desc+"+##@3'cf_desc@@@&0class_field_desc@@@@@@ 3&cf_loc !t!t@@@@@A @A%::%::@@&"@3-cf_attributes!@@@@@B@A%::%:;@@&+@@A%::%::@@&/@Ġ)Typedtree+P&+Q/@+Tcf_inherit+U0+V;@@;+Tcf_inherit1@@@#@%-override_flag@@@ @@@ $%@@@ @@@ $@%@@@@%!t@@@@@@@@ $@%@@@@&!t@@@@@@@@@E@@F@A&F;;&G;<@@@&@@+=+>@@I@@@X3++++++++@@@@ఠ%clexpb+@+E@+dA@@@@@Y@@+G+H@@VU@@@Y@@@Y@@+J+K@@X@W@@@Y@V@@@Y@@Y@@@Y0@@+M+N@@W@V@@@Y @U@@@Y @@Y@@@YE@@@+O@@@@@Y J@@@++Q@@bM@XO@ఠ!qc,U,V@,eA@@+`rI@X@@@Y _@@@ @@z`@@@డ*}!=,Zk,Zl@@!a@@@@@@$boolE@@@@@@@&%equalBA@@@@@@yAy@@$Q@@@@F@YaF@Y*@@Y+@@@Y)@@@Y(@@Y'@@Y&3,=,<,<,=,=,=,=,=@u@@JC@D@E@@@@ఐ䠐!n,QZi,RZj@@@@@ఐ#cpt,^Zm,_Zp@@@@@@@,@@@Y8M@Y5&@ఐ%clexp,oZv,pZ{@,@@0@ఐ$iter,|Z,}Z@Ȱ@@@@@Y>@@@Y=@@Y<@@Y;E@@డ*!+,Z,Z@@W@@@@@@^@@@@@b@@@@@@@'%addintBA@@@@0++0+,@@%cn@ @@@t@@@YP@@YO@@@@YN@@YM@@@YL@@YK@@YJ@@ఐ!#cpt,Z<@=@@E@@AC,Z@@;@@@Y^N@YcN@Yb@@,Z,Z@@N@Y\@@ఐ!q,Z,Z@@@aI@Yd@@x@@W@,Zf@@Y@Ġ,,@@--@@oI@Y3--------@7@@@ఠ!qd--@-!fA@@,n@@@Y@@@@@@@@ఐ$iter- -!@l@@@@@Yi@@@Yh@@Yg@@Yf3-&-%-%-&-&-&-&-&@]#@@@@@@ఐ#cpt-8-9@i@@@@ఐ7!q-E-F@@@I@Yt@@+@@ @@A&!e-M@@@ A@@@@ZX@@@ZW@@ZV@@ZUI@ZQ@@@-Z@@ఐ᠐$iter-d-e@@@@@@Z`@@@@Z_@@@Z^@@Z] @@@Z\@@Z[@@ZZ3-t-s-s-t-t-t-t-t@@@@@@--@@BI@Zq @@ఐ8#cls--@@@`@)Typedtree--@+cstr_fields-;@<@3+cstr_fieldsm@@@&ՠ@@@@@@@@A3)cstr_self&6@@@@@@@A(\::(]::$@@(@3)cstr_type'/class_signature@@@@@B@A(h:G:J(i:G:k@@(@3*cstr_meths#'%Meths!t(>!t@@@@@@@@C'@A(}:l:o(~:l:@@(@@A(:%:((:%:F@@(@My@@ N@@@Zo@@@ZnI@ZvI@Zsp@@@@q@@@I@A@F@Z{@A@@@@ఠ5search_attribute_typef-- @. gA@@@@@@]F@Z}@@Z~@(@@@[F@Z@@Z')type_expr@@@]F@Z@@ZF@Z@@ZF@Z|3........@@@@@@࣠@#clshA.* .+ @.=hA@@*3.).(.(.).).).).)@9.2.3@@@@@  @@$nameiA.>.?@.QiA@@33.=.<.<.=.=.=.=.=@!A@@@@@@@@Aఠ$iterj.Q#.R'@.djA@@@ @@@ZI@Z@@@ZI@Z@@ZP@@@[I@Z@@Z3.d.c.c.d.d.d.d.d@(4]@+@,@@@@Ġ .v3=.w3?@ @@@@ 3.t.s.s.t.t.t.t.t@.@)@@Z@@ZJ@Z@.@/@@@@@డ,%raise.CO.CT@@@@@@@Z@@Z3L@Z@@Z@@ภ)Not_found.CU.C^@/@@@@@@ZL@Z/@@@@E0@Ġ ._._@ ঠ'cf_desc._k._r@Ġ)Typedtree._u._~@'Tcf_val._._@@;'Tcf_valu@)7#loc)4@@@@@@)B,mutable_flag@@@)Q!t@@@)0class_field_kind@@@$boolE@@@@EA@F@A);@);>;m@@@* @@/<_/=_@@@@@Z<@ఠ#expl/H_/I_@/[lA@@'@@@ZJ@@@-/P_@@i@@@ZO@@/W_/X_@@k@@@ZW@@@/]_@@5@@@Z\@@@/b_i/c_@@L@Za@@/i_/j_@@.ǠI@Z@@@Zk@@@@@l@@డ-fh/z/{@e@@@rK@Z@@Z@@@Zc@@@Z@@Z@@Z3////////@|u@v@wJC@D@E@@@@డ,$Name*from_ident//@ //@@)-@@@)-@@@Z@@Z*@@@Z@@Z'@@ఐ%ident//@0@@)D@@@[M@[ M@[;@@' @@<@@ఐ$name//@g@@I@@5@@r@@@[ L@ZO@ఐ#exp//@V@@(c@@@[@[`@)Typedtree//@(exp_type//@@3(exp_type(v@@@ @@@ @@C3(exp_desc */expression_desc@@@@@@@A*  * '@@*w@3'exp_loc&Q!t@@@@@A@A*(,*(@@@*x@3)exp_extra )I@+)exp_extra@@@@&l!t@@@@&@@@ @@@@@@@B5@A*AE*A{@@+ y@A3'exp_envA!t@@@ @@DA@A**@@+,{@3.exp_attributesM&@@@ @@EJ@A**@@+5|@@A*|*|@@+9z@q]@@@Ġ"\0Z V0[ X@"[ঠ'cf_desc0e 0f @CĠ)Typedtree0o 0p (@'Tcf_val0t )0u 0@@@0z 20{ 3@@@@@Z@@@Z30~0}0}0~0~0~0~0~@ @@@@0 50 6@@@@@Z @ఠ%identm0 80 =@0mA@@@@@Z@Ġ,Tcfk_virtual0 ?0 K@;,Tcfk_virtual~@#1@@@@A@@B@A+R; ;"+S; ;=@@@+@ఠ#typn0 L0 O@0nA@@#D@@@Z9@@@@@@@@Z=@@0 Q0 R@@@@@ZE@@@Z0 S@@@@@ZJ@@@0 0 U@@rI@ZO@@0 Y0 Z@@03 @@@ZX@@@@@Y@@డ/NѠӰ0[0[@а@@@+@@@[3K@[@@[@ @@[@@@[@@[@@[300000000@le@f@gKD@E@F@@@@డ.9$Name*from_ident1 [j1[n@ 1[o1[y@@*@@@*@@@[(@@['+@@@[&@@[%'@@ఐ%ident1)[z1*[@0@@*@@@[5M@[7M@[6;@@' @@F<@@ఐ$name1>[1?[@հ@@2I@@5@@@@@[:L@[!O@ఐ#typ1P1Q@V@@#@@@[>@[<`@)Typedtree1^1_@)ctyp_type1c1d@@3)ctyp_type#@@@ +S)type_expr@@@ A@A3)ctyp_desc ,`.core_type_desc@@@A@@@A,!UU,"UU@@,db@3(ctyp_env!t@@@ @@B@A,-VFVJ,.VFV[@@,pd@3(ctyp_loc#'!t@@@ @@C @A,9VqVu,:VqV@@,|e@3/ctyp_attributes/'@@@ @@D)@A,BVV,CVV@@,f@@A,FUU,GUV @@,c@S?@@?@Ġ#11@#@11@@SI@Z311111111@:@@@ఠ!qo11@1oA@@1@@@Z@@@@@k@@@ఐ|$iter11@T@@@{@@[Ap@@[@311111111@\@@@@@@ఐ&!q11@ @@I@[G@@@@@@A*p1*@@@ @@@@@]@@]I@]x@@@1@@ఐ$iter11@@@@$9o@@@] @@@] @@]@@@]@@]Z@@ఐ#cls22@װ@@i@)Typedtree2"2#@+cstr_fields2'@@@@$d@@@]@@@]I@]I@]@@:@@ @E@@!@A@:F@] @A@ @ @@ఠ8search_method_expressionq2F 2G#@2YpA@@@@@@^F@]!@@]"@,@@@]}F@]'@@](*@@@^F@])@@]*F@]#@@]$F@] 32a2`2`2a2a2a2a2a@Krk@l@m@@@࣠@#clssA2t$2u'@2qA@@(32s2r2r2s2s2s2s2s@72|2}'K@@@@@  @@$nametA2(2,@2rA@@1322222222@!?@@@@@@@@Aఠ$iteru2/=2/A@2sA@@@$۠@@@]=I@]7@@@]6I@].@@]3+,@@@]I@]0@@]2322222222@(4[@+@,@@@@Ġ$2MW2MY@$@@@@ 322222222@.@)@@]/@@]1J@]-@.@/@@@@@డ1=%raise2]i2]n@@@@@@@]\@@][3L@]Z@@]Y@@ภ)Not_found2]o2]x@ y@@@ @@@]cL@]g/@@@@E0@Ġ$2y2y@$ঠ'cf_desc3y3y@Ġ)Typedtree3y3y@*Tcf_method3y3y@@;*Tcf_method@-#loc@@@@@@-,private_flag@@@B@@@@CB@F@A-<<-<<@@@.@ఠ%labelv39y3:y@3LtA@@#@@@]E@@@]D33?3>3>3?3?3?3?3?@@@@@3Hy3Iy@@&@@@]F @Ġ-Tcfk_concrete3Ty3Uy@1@3Yy3Zy@@0@@@]K@ఠ#expw3ey3fy@3xuA@@+@@@]L(@@@3my@@@@@]M-@@@c3ry@@J@@@]N2@@@3wy3xy@@L@];7@@3~y3y@@2ܠI@]9@@@]OA@@@@@B@@డ1{}3y3y@z@@@;K@]m@@]n@@@]lx@@@]k@@]j@@]i333333333@mf@g@hB;@<@=@@@@ఐw%label3y3y@@@Y@@@]|@#txt3y3y@3#txt(Asttypes#loc!a@@@@@@@3#loc(Location!t@@@@@A @A4parsing/asttypes.mlizz@@g@@Ayy@@f@1%@@L@]~D@@ఐh$name3y3y@:@@Q@@A@@@@@]L@]xW@ఐ#exp33@\@@Ra@Ġ& 44@&@4 4 @@fI@]Q34 4 4 4 4 4 4 4 @M@@@ఠ!qx44@4+vA@@3x@@@]S@@@@@~@@@ఐ$iter4* 4+ @g@@@@@]@@]34,4+4+4,4,4,4,4,@o@@@@@@ఐ&!q4> 4? @ @@I@]@@@@@@A-y4F/D@@@ @@@@@^@@^I@^@@@4O/5@@ఐ$iter4Y'-4Z'1@@@@& @@@^@@@^@@^,@@@^@@^Z@@ఐ#cls4v'24w'5@@@)i@)Typedtree4'64'?@+cstr_fields4'@@ @ @@& @@@^@@@^I@^I@^@@:@@0@E@@1@!A@KF@^@A@@@2@11A@00A@0.0(A@/-@-i@3@f @@@B@D@F@  @  V@ } @  f@ @R@zs@t@u@@344444444@X}@@4eLN4LQ@+344444444@1@@@3)4 This module is used to search for structure items by name in a Typedtree.structure. One function creates two hash tables, which can then be used to search for elements. Class elements do not use tables. 4`ZZ4c/1@@@@@@@4d22@@@ఠ7analyze_toplevel_alerts{44@4xA@@@&optionL*Odoc_types$info@@@_@@@_F@^@@^@':)Parsetree.structure_item@@@_@@@_F@^@@^%#$info@@@_@@@_F@^@@^F@^@@^F@^355555555@2-2#@22A@11 A@00A@0%-@->@@@@@@[@8@k @  =@ p @ #@M@@@35@@@@@@}2M@@@࣠@$info}A5[5\@5nyA@@t35Z5Y5Y5Z5Z5Z5Z5Z@C5c5dx@@@@@  @@#ast~A5o5p@5zA@@q35n5m5m5n5n5n5n5n@!@@@@@@@@Aఠ2extract_attributes55@5{A@@@' @@@^I@^@@@^I@^@@^4)attribute@@@^I@^@@@^I@^@@^355555555@0<@3@4@@@@Ġ'5,5.@'ঠ)Parsetree55@)pstr_desc55@@3)pstr_desc@@@93structure_item_desc@@@9@@@ 3(pstr_loc (Location!t@@@9@@A @A5parsing/parsetree.mli@@h@@A@@g@Ġ)Parsetree5 5@.Pstr_attribute55!@@;.Pstr_attribute+@@@9@\@@@9@AM@O@A#;OQ$;On@@@v@ఠ$attr6"6&@6|A@@o@@@^36 666 6 6 6 6 @m@@@^@@^J@^@@@@@@@.@@O@@@^ @@A66+@@L@^@ఠ"tl6'/6(1@6:}A@@5@@@^!@@@@@"@@@ภ"::665B675D@(7ఐ9$attr6@5=6A5A@8@9@:@@36?6>6>6?6?6?6?6?@8D$@@@@@ఐР2extract_attributes6R5E6S5W@D@@@@@^@@^@@ఐ<"tl6c5X6d5Z@@@I@^$@@@@%@@*@@&@Ġ(u6s[c6t[e@(t@6x[a6y[b@@I@^n@@6[f6[g@@5ݠ @@@^w@@@@@x@Ġ(Ű6[j6[l@(@@@@@@@@@@@ภ(ΰ6[p6[r@(@@@@@A/m6@@@@@@@@_X @@_WI@_U366666666@@@@@@6@@డ(Odoc_sig.analyze_alerts(Odoc_sig6xz6x@ 6x6x@@@Ҡ@@@_k@@@_j@@_i@)Parsetree*attributes@@@_h@@_g@@@_f@@@_e@@_d@@_c@5ocamldoc/odoc_sig.mlipq@@(Odoc_sigV@-(@@@@@@_t@@@_s@@_r@%@@@_q@@_p@@@_o@@@_n@@_m@@_l@@ఐ$info7x7x@@@@@ఐ2extract_attributes7x7x@@@@)O@@@_@@@_@@_6|@@@_@@@_@@_@@ఐŠ#ast71x72x@@@2&@@75x@@n@@@_J@_-@@@@*.@@@+@A@YF@_@A57 C Like {!Odoc_sig.analyze_toplevel_alerts} but acts on a structure. 7MSS7NS@@@@@@@@@3(Analyser F7Z7[@7mA@Т%My_irG7f7g@Р.Info_retriever(Odoc_sig7s7t@ 7w7x@@37v7u7u7v7v7v7v7v@_@@@@ @@Б#SigH77 @7A@гР(Analyser(Odoc_sig7 7@ 77@@@#Arg@.Info_retriever$file&Stdlib#ref&stringQ@@@`@@@`@y &y ;@@W@@)file_name#ref@@@`@@@`@|io|i@@X@@2get_string_of_file@#intA@@@`@@`@ @@@`@@`5@@@`@@`@@`@||@@Y@@,prepare_file@F@@@`@@`@N@@@`@@`$unitF@@@`@@`@@`@;#)<#T@@:Z@@(preamble@e@@@`~@@`}@m@@@`|@@`{@@!a@`v@@`z(Location!t@@@`y@@`x@@`w@$listK@@@`u@@`t@m@@@`q@ig$info@@@`s@@@`r@@`p@@`o@@`n@@`m@@`l@.@@[@@5get_comments_in_class@@@@`k@@`j@@@@`i@@`h@$info@@@`e@@@`d@F*Odoc_class-class_element@@@`g@@@`f@@`c@@`b@@`a@ou@@\@@6get_comments_in_module@@@@``@@`_@@@@`^@@`]@Ƞ$info@@@`Z@@@`Y@}+Odoc_module.module_element@@@`\@@@`[@@`X@@`W@@`V@!'R@@]@@;name_comment_from_type_decl@@@@`U@@`T@@@@`S@@`R@"0type_declaration@@@`Q@@`P@@@@`J@@H@@@`M@$info@@@`O@@@`N@@`L@@@`K@@`I@@`H@@`G@@`F@=> @@<^@@2manifest_structure@(Odoc_env#env@@@`E@@`D@@{@@@`A@PN$info@@@`C@@@`B@@`@@@@`?@@`>@%Types)type_expr@@@`=@@`<)Odoc_type-type_manifest@@@`;@@`:@@`9@@`8@U@@_@@-get_type_kind@G#env@@@`7@@`6@/@@@@`3@$info@@@`5@@@`4@@`2@@@`1@@`0@E.type_decl_kind@@@`/@@`.C)type_kind@@@`-@@`,@@`+@@`*@   h @@`@@-get_cstr_args@#env@@@`)@@`(@@@@`'@@`&@)Typedtree5constructor_arguments@@@`%@@`$p0constructor_args@@@`#@@`"@@`!@@` @!s!y!!@@d@@+merge_infos@$info@@@`@@@`@@`@$info@@@`@@@`@@`$info@@@`@@@`@@`@@`@$"2"8%""@@#e@@8analyse_module_type_kind&erased)Odoc_name#Map!tР'Removed@+Constrained`/with_constraint@@@`@@@`@@@`A@@@`@@@`@@@`@@`@#env@@@`@@` @1!t@@@` @@` @+module_type@@@` @@` @ +module_type@@@`@@`0module_type_kind@@@`@@`@@`@@`@@`@@`@##$$/@@f@@7analyse_class_type_kind@L#env@@@`@@_@h!t@@@_@@_@@@@_@@_@*class_type@@@_@@_@H*class_type@@@_@@_ /class_type_kind@@@_@@_@@_@@_@@_@@_@$$%%?@@g@@1analyse_signature@@@@_@@_@@@@_@@_@)signature@@@_@@_@{)signature@@@_@@_(t_module@@@_@@_@@_@@_@@_@&&&'#@@h@@@3::::::::@_z@s@x:~A}@@@Р%My_ir: :%@@+all_special@6@@@_@@_@>@@@_@@_@@@@_ݠ@à$info@@@_@@@_@@_@@_@@_@:Rei;S{@@9N@@9blank_line_outside_simple@d@@@_@@_@l@@@_@@_$boolE@@@_@@_@@_@YVZW9@@XO@@2just_after_special@@@@_@@_@@@@_@@_@l@@@_̠@hf$info@@@_@@@_@@_@@_@@_@]ae^~@@P@@-first_special@@@@_@@_@@@@_@@_@@@@_ @$info@@@_@@@_@@_@@_@@_@de@@Q@@,get_comments@@$text@@@_@@_!a@_@@_@@_@@@@_@@_@@@@_@@_@Р$info@@@_@@@_@)@@@_@@_@@_@@_@@_@kCGlZ@@R@@@@@8;&@'&#"@@@b@@@b @@@2@@@b @@@b @@@@@@@b @@b @@@@b@@b@@@b@@b@@b@@ @ @ @@@b@@b@@@@b@@b@@@a@@a@@a@@@@@@@a@@a@@@@a@@a@@@@a@@@a@@a@@a@@@@a@@a@@@@a@@@@a@@@a@@a@@a@@a@@a@@a@@@@@@@a@@a@@@@a@@a@@@@a@@@a㠠@@@@a@@@a@@a@@a@@a@@@@@@@a@@a@@@@a@@a@ؠ@@@a@@@aؠ@ՠ@@@a@@@a@@a@@a@@a@@@@@@@a@@a@@@@a@@a@@@@a@@a@@@@aɠ@Ơ@@@@a̠@Ġ@@@a@@@a@@a@@@a@@a@@a@@a@@a@@@@@@@a@@a@@@@@a@@@@a@@@a@@a@@@a@@a@@@@a@@a@@@a@@a@@a@@a@@@@@@@a@@a@@@@@a@@@@a@@@a@@a@@@a@@a@@@@a@@a@@@a@@a@@a@@a@@@@@@@a@@a@@@@a@@a@@@@a@@a@@@a@@a@@a@@a@@@@@@@a@@@a@@a@@@@a@@@a@@a@@@a@@@a@@a@@a@@|@{zxwtsРr@qpon@@@a@@@a@@@aA@@@a@@@a@@@a@@a@ml@@@a@@a@kj@@@a@@a@ih@@@a@@a@gf@@@a@@aed@@@a@@a@@a@@a@@a@@a@c@`@_@^]@@@a@@a~@\[@@@a}@@a|@Z@@@a{@@az@YX@@@ay@@ax@WV@@@aw@@avUT@@@au@@at@@as@@ar@@aq@@ap@S@P@O@N@@@ao@@an@M@@@am@@al@LK@@@ak@@aj@JI@@@ai@@ahHG@@@ag@@af@@ae@@ad@@ac@F@C@@B@@>H@I@E@ఠ$file>(>)@>;A@@zwv@@@b@@@bJ@b3>1>0>0>1>1>1>1>1@_@dc@ZY@PO@=<@*)@@@@sr@DC@@@@@ba@@@>@@@డ$file#Sig>c>d@ >g>h@@=@@@b@@@b@@ @@E=@A<>F R This variable is used to load a file as a string and retrieve characters from it.>(,>(@@@@@@@>@@@O@ఠ)file_name>>@>A@@ʠ@@@b@@@bJ@b3>>>>>>>>@i|u@v@w@@@డ)file_name#Sig>>@ >>@@@@@b@@@b@@ @@&@A=!> The name of the analysed file. >>@@@@@@@>@@@0@ఠ2get_string_of_file>  >  @>A@@@@@@b@@b@@@@b@@b@@@b@@b@@bJ@b3>>>>>>>>@Sf_@`@a@@@డp2get_string_of_file#Sig>  >  @ ?  ? !@@@'@@@b@@b@$@@@b@@b#@@@b@@b@@b@"@@@9(@A=}>될 This function takes two indexes (start and end) and returns the string corresponding to the indexes in the file global variable. The function prepare_file must have been called to fill the file global variable.?%?&  @@@@@@@?(  &@@'@:@ఠ,prepare_file?5!n!v?6!n!@?HA@@@=@@@b@@b@<@@@b@@b;@@@b@@b@@bJ@b3?G?F?F?G?G?G?G?G@]yr@s@t@@@డ,prepare_file#Sig?Z!n!?[!n!@ ?^!n!?_!n!@@@d@@@b!@@b @c@@@b@@bb@@@b@@b@@b@_@\@@9(@A=?G Z This function loads the given file in the file global variable and sets file_name.?! !?!Q!m@@@@@@@?!n!r&@@'@:@ఠ5get_comments_in_class?!!?!!@?A@@@-@@@b@@b@,@@@b@@b@+*)@@@b@@@bՠ@('$@@@b@@@b@@b@@b@@bJ@b3????????@p@@@@@డ;5get_comments_in_class#Sig?!!?!!@ ?!!?!" @@@g@@@b>@@b=@f@@@b<@@b;@e:@@@b8@@@b7@a9@@@b:@@@b9@@b6@@b5@@b4@[@X+&@@]9@A>Y?ǐ 3 The function used to get the comments in a class. @!!@!!@@@@@@@@!!7@@8@K@ఠ6get_comments_in_module@"M"U@"M"k@@$A@@@v@@@b@@b@u@@@b@@b@tsr@@@b@@@bᠠ@qpm@@@b@@@b@@b@@b@@bJ@b3@6@5@5@6@6@6@6@6@@@@@@డ6get_comments_in_module#Sig@I"M"n@J"M"q@ @M"M"r@N"M"@@@@@@bI@@bH@@@@bG@@bF@:@@@bC@@@bB@9@@@bE@@@bD@@bA@@b@@@b?@@+&@@]9@A>@G 4 The function used to get the comments in a module. @""@""L@@@@@@@@"M"Q7@@8@K@ఠ:tt_param_info_from_pattern@#j#r@#j#@@A@@@(Odoc_env#env@@@gXJ@b@@b@@;@@@dJ@d@@d&optionL*Odoc_types$text@@@d@@@dJ@dאA@dJ@b@@b@:נ;@@@ihJ@in@@@imJ@b@@b.Odoc_parameter*param_info@@@ieJ@b@@bJ@b@@bJ@b@@bJ@b3@@@@@@@@@@@@@@࣠@#envA@#j#@#j#@AA@@Z3@@@@@@@@@i@#j#n@()@@@@@  @@&f_descAA#j#A#j#@AA@@^3AAAAAAAA@!q@@@@@@@@#patAA#j#A#j#@A)A@@L3AAAAAAAA@r@@@@@@@@Aఠ,iter_patternA)##A*##@A<A@@@;:<@@@d@@@dN@b@@ca@@@dN@b@@c3A:A9A9A:A:A:A:A:@&2t@)@*@@@࣠@#patAAM##AN##@A`A@@ 3ALAKAKALALALALAL@.@)@@b @@cO@b@.@/@@@@ @@ఐ#patAg##Ah##@9@@@@:3AfAeAeAfAfAfAfAf@'@@@(pat_descAq##Ar##@)< @@@@@c#@@@c"3C3C2C2C3C3C3C3C3@@@@@C<$%#C=$%$@@=|@@@c$ @@CD$%&CE$%'@@=?==@@@c&@@@c%@@CP$%)CQ$%*@@=@@@@c'@@CX$%,CY$%-@@=B@@@c(%@@@@C^$%.@@'@@'@@@ఐ?,iter_patternCh%2%>Ci%2%J@@@@>@@d5@@d3CjCiCiCjCjCjCjCj@HA@B@C@@@@ఐO#patC|%2%KC}%2%N@ @@L@@@@F@Ġ)TypedtreeC %P%ZC %P%c@*Tpat_tupleC %P%dC %P%n@@<͠ఠ'patlistC %P%oC %P%v@CA@@<Π@<ˠ<@@@c6@@@c5@=>@@@c8@@@c7@@c4@@@c33CCCCCCCC@L@@@@@-@@E@@E@@@ภ%TupleC %z%C %z%@;%Tuple@$listK@@@@@@)type_expr@@@@BA@B@A]mo]m@@@G@డBM$List#mapC %%C %%@ C %%C %%@@@@!a@.@@/!b@.@@/@@/@9ʠ@@@/@@/9Ϡ@@@/@@/@@/@99@@9W@+&@@@@@=H=E@@@e,@@@e+Q@e@Q@e@@eQ@d@@eN@e5N@cqQ@d@@d@@d@3@@@d@@d2@@@d@@d@@d3D:D9D9D:D:D:D:D:@@@@@@@࣠@1*A@@DQ %%DR %%@@23DNDMDMDNDNDNDNDN@@@@@ఠ!pՠD\ %%D] %%@DoA@@4 @@Da %%Db %%@@@F@=@@e@@ @@ఐK,iter_patternDt %%Du %%@#@@@J@@eA@@e3DvDuDuDvDvDvDvDv@=%R@@ @@@@ఐ,!pD %%D %%@ @@_@@@@R@D %%D %%@@@|@@ei@@eR@e'R@e%D@@ఐ'patlistD %%D %%@b@@@@@eR@e/R@e)m@@ @@x@@@dQ@e4R@e b@డJ*subst_type(Odoc_envD %%D %%@ D %%D %%@@H@@@2@@@e=@@e<@H@@@e;@@e:C@@@e9@@e8@@e7@@ఐ#envD %%D %%@ݰ@@N@@ఐ#patD %%D %%@@@@(pat_typeD %%D %%@, @@u@@@eKR@eSR@eP@@D @@<@@@d@eTR@eI@@PE %&@@@Ġ)TypedtreeE&& E&&@.Tpat_constructE!&&E"&&$@@;.Tpat_construct@@ @@@@@@@?#loc7!t@@@@@@*Data_types7constructor_description@@@>s?O@-@@@@@@@@@ >v@>?#loc?!t@@@@@@@@@Ǡ@7@@@@@@@@@DDALAA@a  @d@@@@\o@@Ex&&&Ey&&'@@LJ@@@cJ@@@cI@ఠ)cons_descE&&)E&&2@EA@@Q@@@cK$@@E&&4E&&5@@P?@|@@@cN@@@cM@@@cL4@@E&&7E&&8@@S@RQO@@@cS@@@cR@@@cQ@8C@@@cT@@cP@@@cOQ@@@E&&9@@JS@@JS@@డ$Path$same$PathE&&E&&@ E&&E&&@@@$Path!t@@@3@@3@ @@@3@@3$boolE@@@3@@3@@3@/typing/path.mli{  {  )@@H@'"@@@@@@e\@@e[@&@@@eZ@@eY@@@eX@@eW@@eV3FFFFFFFF@}@~@@@@@డ*Data_types2cstr_res_type_path*Data_typesF&&F&&@ F&&F &&@@@*Data_types7constructor_description@@@e@@e$Path!t@@@e@@e@5typing/data_types.mlix ' 'x ' a@@[@"@@@@@@e@@e@@@e@@eA@@ఐɠ)cons_descFQ&&FR&&@K@@1@@@eS@eS@eU@@F\&&F]&&@@@@@el@eS@e_@@డ&Predef)path_unit&PredefFu&&Fv&&@ Fy&&Fz&&@@$Path!t@@@f@1typing/predef.mliP  P  @@&Predef`@@@@@@ejR@fR@f@@@@2@@@fR@eh@ภ+Simple_nameF''(F''3@ະ'sn_nameF''6F''=@"()F''AF''C@@F''@F''D@@@@@fQ@f@'sn_typeF'r'F'r'@డX*subst_type(Odoc_envF'r'F'r'@ F'r'F'r'@@V@@@@@@@g@@g@V@@@g@@gQ@@@f@@f@@f@@ఐ#envF'r'F'r'@@@\@@ఐ#patG'r'G'r'@@@@(pat_typeG 'r'G 'r'@. @@@@@gR@gR@g@@D @@@@@fR@g@ߡ'sn_textG 'G'aG!'G'h@ภ$NoneG('G'kG)'G'o@A@@@ur@@@g#@@@g"Q@g).@@@G5''4G6''@@'@@@fQ@g-6@@@@7@@GC''GD''@@@@@@@ภ+Simple_nameGK(((4GL(((?@Aະ0'sn_nameGW(((BGX(((I@"()G^(((MG_(((O@@Ga(((LGb(((P@@>@@@g8Q@g9@;'sn_typeGn(~(Go(~(@డ*subst_type(Odoc_envG}(~(G~(~(@ G(~(G(~(@@@@@@@@gH@@gG@@@@gF@@gE@@@gD@@gC@@gB+@@ఐ#envG(~(G(~(@@@8@@ఐe#patG(~(G(~(@H@@G@(pat_typeG(~(G(~(@/G @@/@@@gVR@g^R@g[U@@D @@@@@g@R@gT[@'sn_textG(S(mG(S(t@ภ$NoneG(S(wG(S({@Bj@@@!@@@gh@@@ggQ@gnu@@@G(((@G((@@@@@g2Q@gr}@@@@~@@@AG## @@3GGGGGGGG@@@@ A@@@@iW@@iVN@iT@@@G##@@ఐՠ,iter_patternG((G((@@@@B B@@@i]@@@i\@@i[1@@@iZ@@iY3H H H H H H H H @@@@@ఐ#patH((!@ڰ"@@N @@#@@B@*$@@C@.%A@J@i|,@AFG This function takes a parameter pattern and builds the corresponding [parameter] structure. The f_desc function is used to retrieve a parameter description, if any, from a parameter name. H.""H/#c#i@@@@@@@8@87@NAఠ>tt_analyse_function_parametersH<#))H=#))@HOA@@@@@@lJ@i~@@i@$info@@@k7@@@k6J@i@@i@\CQ.function_param@@@iO@i@@@iJ@i@@i@C]-function_body@@@kdJ@i@@i$listK@@@m N@l@@@mJ@i@@i@@i@@i@@i3HH~H~HHHHH@@@@@@࣠@#envAH#))H#))@HA@@R3HHHHHHHH@`@[@@i@X@@i@M@@i@B@@i;@@iK@i@@iK@i@@iK@i@@iK@i}@r@s@@@@ @@3current_comment_optAH#))H#))@HA@@r3HHHHHHHH@*6~@-@.@@@@@@¶msAH#))H#))@HA@@r3HHHHHHHH@@@@@@@@@$bodyAH#))H#))@HA@@r3HHHHHHHH@@@@@@@@@@ఠ¶msH$))H$))@IA@@ @@@k O@i@@@iO@i3HHHHHHHH@+@"@#@@@డGt$List#mapI%)*I%)* @ I%)* I%)* @@'@@@@@@i&@@i@@i@@@@i@@i1@@@i@@i@@i3I&I%I%I&I&I&I&I&@,@@@@࣠@%param AI:&**I;&**"@IMA@@?@@@@@ఠ#pat!IJ'*&*7IK'*&*:@I]A@@A@@@iR@i3INIMIMINININININ@U"@@@@@ఐ*%paramIa(*=*RIb(*=*W@@@3I_I^I^I_I_I_I_I_@@@@'fp_kindIi(*=*XIj(*=*_@3'fp_kind@@@D\3function_param_kind@@@@@C3,fp_arg_label C)arg_label@@@@@@@AD%=.I.MD&=.I.e@@Dh@3(fp_paramC!t@@@@@A@AD1>.f.jD2>.f.|@@Dt@3*fp_partial"D{'partial@@@@@B@AD<B..D=B./@@D@-3+fp_newtypes-BɠD#locD@@@@@@@@@@@D4@ADQI//DRI//@@D@3&fp_locB?!t@@@@@E@@AD]N00D^N00@@D@@ADaH/t/xDbH/t/@@D@]T@@N@@@i]@Ġ*Tparam_patI)*e*vI)*e*@;*Tparam_pat_@@@@BX@@@@A@@B@ADU1g1iDU1g1@@@D@ఠ#pat"I)*e*I)*e*@IA@@Bk@@@i3IIIIIIII@@@@@@ @@{@@@i@@~@@@i@@@ఐ#patI)*e*I)*e*@@@@@3IIIIIIII@ @@@Ġ7Tparam_optional_defaultJ***J ***@;7Tparam_optional_default=@B@@@B@@@@BA@B@ADW11DW11@@@E@ఠ#pat#J ***J!***@J3A@@B@@@i@@J****J+***@@B@@@i@@@(J0***@@@@@i@@@@@i@@@ఐ#patJ>***J?***@@@@@3J=J<J<J=J=J=J=J=@(@@@@@AJE(*=*L@@@A@JG'*&*3 @@ఐ :tt_param_info_from_patternJQ,**JR,**@Ͱ@@@ @@@j@@j@@E7@@@j@@j  @@@j@@@jA@j@@j@DyEW@@@j@@@j@@j @@@j@@j@@j@@j3JwJvJvJwJwJwJwJw@*81@2@3@@@@ఐ#envJ-*+ J-*+ @ʰ@@H@@డHX2desc_from_info_opt.Odoc_parameterJ.+ +J.+ +*@ J.+ ++J.+ +=@@@YX@@@%@@@$@@#@@@@"@@!  $text@@@ @@@@@@@@}  ~ * f@@ O@+&@@@|{@@@k#@@@k"@@k!@#@@@k @@k"!@@@k@@@k@@k@@kd@@ఐ23current_comment_optJ.+ +>J.+ +Q@@@q@@J.+ +J.+ +R@@@A@@@k>@@k=@?@@@k<@@@k;@@k:@@ఐ#patK/+S+aK /+S+d@@@C@@@kJ@@@@@@@@K&**K/+S+e@@@@@i"@@iP@k_P@k]@@ఐ\¶msK%0+f+pK&0+f+v@D@@@@@@3*@A@K*$))@@@ఠ0params_from_body$K52++K62++@KHA@@J@m J@kb3K7K6K6K7K7K7K7K7@>RK@L@M@@@ఐn$bodyKH3++KI3++@I@@3KFKEKEKFKFKFKFKF@@@@Ġ.Tfunction_bodyKV4++KW4++@;.Tfunction_body@@@@C@@@@A@@B@AF ]22F ]23@@@FM@ঠ(exp_descKo4++Kp4++@pĠ-Texp_functionKw4++Kx4++@;-Texp_functionx@@@@D@@@ @@@@@@!@BCA_@AF4F51@@@Fw@ఠ¶ms%K4++K4++@KA@@9@@@kp@@@ko3KKKKKKKK@f@@@ఠ$body&K4++K4++@KA@@=@@@kq@@@;K4++@@@@@kr@@@K4++K4++@@D7@@@ktR@ks@@@i@@P@@P@@@ఐ>tt_analyse_function_parametersK=--K=--@2@@@@@k@@@k@y@@k@l@@ke@@k@@k@@k@@k3KKKKKKKK@KD@E@F92@3@4@@@@ఐ[#envK=--K=--@+@@@@ఐ?3current_comment_optK=--K=-. @'@@@@ఐm¶msL=-. L=-.@(@@J@k.@@ఐi$bodyL=-.L=-.@6@@R@k=@@Q@@>@Ġ.Tfunction_bodyL#>.. L$>...@͠@L(>../L)>..0@@D@@@kw@@@ @@@@@@@ภ>mL3>..4L4>..6@>l@@@@Ġ/Tfunction_casesL@?.7.ALA?.7.P@;/Tfunction_cases@Ր@@@@AA@B@AF^33Ff34@@;@@%cases@@EGE$caseG@@@@@@@@@@G _33 G _337@@GN@'partial@@@@@G`383@G`383Q@@GY@%param@@F!t@@@G$a3R3ZG%a3R3i@@Gg@#loc@@B!t@@@G2b3j3rG3b3j3@@Gu@)exp_extra@@Et@@@@@@GBc33GCc33@@G@*attributes@@B@@@GMd33GNd33@@G@@AA@@@@@Lz@@@LCAG@ঠ%casesL?.7.SL?.7.X@3ds@@@k|f@@@3SR@@AAO@L3IH@@BAB@?3<;@@CA5@23/.@@DA&@#3  @@EA@A^@[Ġ?L?.7.[L?.7.]@>@@@@tsG@@@k@@@k@@@k2@@@L?.7.QL?.7._@@@@@kR@k:@@@@@n;@@n;@@@ภ?LA..LA..@?@@@C@Ġ/Tfunction_casesLB..LB..@ঠ%casesLB..LB..@3@@@k@@@3@@AYA@3@@BZA@3@@C[Az@w3ts@@D\Ak@h3e d@@E]Aa@^]A@Ġ? M B..M B..@? ঠ%c_lhsMB..MB..@3%c_lhs!k@n@@@G)@@@@@@3&c_contFNG!t@@@@@@@@A@AG6--G6--@@H@3'c_guard F_E@@@@@@@@B@AG7--G7-.@@H-@3%c_rhs.E@@@@@C%@AG8..G8..(@@H6@@AG5--G5--@@H:@ఠ-pattern_param'MYB..MZB..@MlA@@GdHB@@@k@@@k@@@MeB..MfB..@@HN@@@k@@@kR@k%@@MsB..MtB..@@LѠH]@@@k@@@k@@@k5@@@ @@,+Hi@@@k@@@k@@@kA@@@MB..MB..@@L@@@kR@kI@@@@@&J@@&J@@@@ఠ)parameter(ME/s/ME/s/@MA@гKm*param_info.Odoc_parameterME/s/ME/s/@ ME/s/ME/s/@@@@@@k3MMMMMMMM@ha@b@c@@ @@! A@@@@@k@ภ%TupleMF//MF//@ ภ@ MF//MF//@@ @@@  @@@k@@@kR@k"@డ r*subst_type(Odoc_envMF//MF//@ MF//MF//@@ p@@@ Z@@@k@@k@ p@@@k@@k k@@@k@@k@@kI@@ఐ#envNF//NF//@O@@V@@ఐĠ-pattern_paramNF//NF//@b@@H'I@@@l@@@ll@(pat_typeN+F//N,F//@5@@ @@@l S@lS@lz@@K @@ k@@@k@lS@l @@uN>F//@гL @ @@@k@A@@@@@lR@l@A@NUE/s/@@ภ<0N[H00N\H00A@\ఐƠ)parameter NeH00@@@@k@@ɰ@@J@l%3NhNgNgNhNhNhNhNh@ @@@ภ<7NuH00A@@A@MՠJ@l @@@l$Q@l*@@NH00%@@@@@@l#@1*@@M@@@AN3++,@@OL@A@N2++.@@డL!@NJ0&03NJ0&04@@"!a@@@@@@@/ @@@@@3@@@@@@@@#nn#nn@@Ge@"!@@@>@@@l@@l@IF@@@l@@lJ@@@l@@l@@l3NNNNNNNN@@@@@@@ఐ栐¶msNJ0&0,NJ0&02@@@Cb@@@m O@m O@m @@ఐ0params_from_bodyNJ0&05NJ0&0E@"@@%@@@@yJ@m(@i@@@@@@bA@@@@m9@@@m8@@@m7@@@m6@@m5@@m4@@m3@@m2J@m*p@@MkNِ Analysis of the parameter of a function. Return a list of t_parameter created from the (pattern, expression) structures encountered. O!))O")])@@@@@@@O#))+@@,@@ఠ0tt_analyse_value)O#N00O$N00@O6A@@@@@@sJ@m;@@m<@J@@@sSJ@mA@@mB@XU@@@m@@@mJ@mG@@mH@(Location!t@@@tJ@mM@@mN@@71J[JV@@@mJ@m@@@mJ@s@@@sJ@mf@G@@@mJ@mg@@mkJ@mS@@mT@(rec_flag@@@rwJ@mY@@mZ@@@@mJ@m_@@m`AР*Odoc_value't_value@@@sJ@s@@@sJ@ma@@mbJ@m[@@m\J@mU@@mVJ@mO@@mPJ@mI@@mJJ@mC@@mDJ@m=@@m>J@m:3OOOOOOOO@@@@࣠@#env+AON00ON00@OA@@3OOOOOOOO@#ON00O::@@@@@  @@3current_module_name,AON00ON01@OA@@3OOOOOOOO@!@@@@@@@@+comment_opt-AON01ON01@OA@@3OOOOOOOO@@@@@@@@@#loc.AON01ON01@OA@@3OOOOOOOO@@@@@@@@@'pat_exp/AON01ON01@PA@@3OOOOOOOO@@@@@@@@@(rec_flag0AP N01P N01#@PA@@3P P P P P P P P @@@@@@@@@%attrs1APN01$PN01)@P0A@@3PPPPPPPP@@@@@@@@@@@ఠ#pat2P4O1,18P5O1,1;@PGA@@3P3P2P2P3P3P3P3P3@$@@@@@@ఠ#exp3PCO1,1=PDO1,1@@PVA@@@@PHO1,17PIO1,1A@@@栠@@@mj@ఐ_'pat_expPWO1,1DPXO1,1K@G@@"@A@P[O1,13@@@ఠ+comment_opt4PfP1O1ZPgP1O1e@PyA@@ZY@@@m@@@mR@ml3PnPmPmPnPnPnPnPn@=F@@@A8@2@3@@@డ.analyze_alerts(Odoc_sigPP1O1hPP1O1p@ PP1O1qPP1O1@@Ұ@@@@@@mv@@@mu@@mt@@@@ms@@mr@@@mq@@@mp@@mo@@mn3@@ఐڠ+comment_optPP1O1PP1O1@°@@p@@@ఐ%attrsPP1O1PP1O1@@@-M@@<@@UN@A@PP1O1V@@ఐ#patPQ11PQ11@Z@@i3PPPPPPPP@_qj@k@l@@@(pat_descPQ11PQ11@8 @@nJ@m @Ġ(Tpat_varPR11PR11@Keఠ%ident5PR11PR11@QA@@K6@@@mU@m*@@PR11PR11@@KgKb@@@m@@@m6@@Q R11Q R11@@Kc@@@m>@@@'QR11@@6@@@6@@Ġ*Tpat_aliasQR11QR11@K,@QR11QR11@@K'L@@@m@@@mV@<%identQ-R11Q.R11@Q@A@@9`@@Q4R11Q5R11@@K/K-@@@m@@@ml@@Q@R11QAR11@@K0@@@mt@@QHR11QIR11@@K2@@@m|@@@5QNR11@@t~@@t~@@g@@u@@@ఐ#expQ[S12Q\S12@@@3QYQXQXQYQYQYQYQY@rk@l@m@@@(exp_descQeS12QfS12@!f @@!e@@@m @Ġ-Texp_functionQuT2 2,QvT2 29@ఠ¶ms7Q~T2 2;QT2 2A@QA@@ @@@m@@@m3QQQQQQQQ@+@@@ఠ$body8QT2 2CQT2 2G@QA@@ $@@@m@@@$QT2 2H@@!@@@m@@!@@@m@@@@ఠ(name_pre9QW2x2QW2x2@QA@@L@@@mV@m3QQQQQQQQ@W<5@6@7*#@$@%@@@డN$Name*from_identQW2x2QW2x2@ QW2x2QW2x2@@KS@@@KS@@@m@@mL@@@m@@m$@@ఐ%identQW2x2QW2x2@@@Kj@@@mW@mW@m8@@' @@<9@A@QW2x2 @@@ఠ$name:QX22QX22@R A@@L@@@nV@m3QQQQQQQQ@O]V@W@X@@@డO=$Name/parens_if_infixRX22RX22@ RX22RX22@@@L@@@@@L@@@@@@KUKU@@KA@@@@M@@@m@@mM@@@m@@m1@@ఐ(name_preR<X22R=X22@;@@M@@@nW@nW@nE@@6 @@IF@A@RHX22 @@@ఠ-complete_name;RSY22RTY22@RfA@@M-@@@nV@n3RWRVRVRWRWRWRWRW@\jc@d@e@@@డO$Name&concatRlY23RmY23@ RpY23RqY23 @@@ML@@@ @@ @MS@@@ @@ MV@@@@@@@@K^K^@@KD@@@@Mb@@@n@@n@Mi@@@n @@n Ml@@@n @@n @@n ?@@ఐࠐ3current_module_nameRY23 RY23 @Ȱ@@pL@@ఐ$nameRY23!RY23%@V@@M@@@n!W@n*W@n)`@@Q @@da@A@RY22 @@@ఠ$code<RZ3)38RZ3)3<@RA@@M@@@nV@n@@@nV@n+3RRRRRRRR@}@@@@@డQN!!R[3?3PR[3?3Q@@K#ref!a@@@@3@@2@@1'%field0AA( @@@( ( @@K@@@@&@@@nV@nV@n.@@@n0@@n/@@n-7@@డ+Odoc_global)keep_code+Odoc_global8S[3?3\@ S"[3?3]S#[3?3f@>@&Stdlib#ref$boolE@@@n@@@n@8ocamldoc/odoc_global.mliww@@+Odoc_globalN@U@@S<@@@n7W@nW@nl@@_"@@>m@ภ$SomeSK\3l3|SL\3l3@Lఐ~2get_string_of_fileSW\3l3SX\3l3@ @@@{@@@n@@n@x@@@n@@nw@@@n@@n@@n@@ఐ#locSy\3l3Sz\3l3@z@@*@(LocationS\3l3S\3l3@)loc_startS\3l3S\3l3@@3)loc_start(Location!t@@@$&Stdlib&Lexing(position@@@$@@@3'loc_end &Lexing(position@@@$@@A @A4parsing/location.mli[[7@@B@3)loc_ghost#$boolE@@@$@@B@A \8:\8J@@(C@@AZZ@@,A@E6@@Lw&Lexing(position@@@pK@n@&LexingS\3l3S\3l3@(pos_cnumS\3l3S\3l3@@3(pos_cnum@@@'#intA@@@'@@C3)pos_fname &stringQ@@@'@@@ @A*lexing.mliUU@@.Stdlib__LexingA@3(pos_lnum@@@'@@A@A V V@@ B@3'pos_bol$!@@@'@@B@AWW@@C@.@AXX@@D@5@@)@@@nW@pLW@pJ7@@ఐ6#locT]33T]33@@@H@(LocationT&]33T']33@'loc_endT+]33T,]33@@@@q@@@q@q\@&LexingT:]33T;]33@(pos_cnumT?]33T@]33@@m&@@Z@@@nW@qW@qr@@TK\3l3TL]33@@yu@@@@O(@@@nz@ภ$NoneTY_4 4TZ_4 4@N@@@V@q@T_[3?3M@@@A@TaZ3)34@@@ఠ)new_valueTlb4Q4`Tmb4Q4i@TA@@@@@qV@q3TpToToTpTpTpTpTp@@@@@@3(val_name@@@U$Name!t@@@K@@@ 3(val_info &optionL*Odoc_types$info@@@M@@@LA@A@A7ocamldoc/odoc_value.mliXX@@C@3(val_type#%Types)type_expr@@@N@@B!@AY Y%@@ E@3-val_recursive1$boolE@@@O@@C-@AZ&(Z&=@@F@3.val_parameters=$listK.Odoc_parameter)parameter@@@Q@@@PA@DB@A0[>@1[>w@@*G@3(val_codeRE&stringQ@@@S@@@RA@ES@AA\xzB\x@@;H@3'val_loccP(location@@@TA@F_@AM]N]@@GI@@AQWRW@@KB@(val_nameTc4n4{Tc4n4@ఐ-complete_nameTc4n4Tc4n4@%@@O@@@r&@{(val_infoU d44U d44@ఐ+comment_optUd44Ud44@A@@@@@r5@@@r4V@r6@(val_typeU$e44U%e44@డ*subst_type(Odoc_envU3e44U4e44@ U7e44U8e44@@@@@@@@rF@@rE@@@@rD@@rC@@@rB@@rA@@r@@@ఐ#envUVe44UWe44@@@,@@ఐ1#patUee44Ufe44@@@@)TypedtreeUne44Uoe44@(pat_typeUse44Ute45@@=@@@@@rTW@r\W@rY @@L @@@@@r>W@rR@ء-val_recursiveUf55Uf55@డS))Uf55+Uf55,@)@@@J@rh@@ri@@@rg)|@@@rf@@re@@rd.@@ఐ(rec_flagUf55"Uf55*@@@*;@@ภ(AsttypesUf55-Uf555@)RecursiveUf556Uf55?@@;)Recursive=@@@@@@AB@@A!`!`@@@" J@@ @@HW@rx[@@$@@$@@@rbW@rsa@.val_parametersUg5B5OUg5B5]@ఐ >tt_analyse_function_parametersUh5`5oUh5`5@ Q@@@Q@@@r@@r@  @@@r@@@r@@r@ @@@r@@@r@@r@ @@@r@@r 6@@@r@@@r@@r@@r@@r@@r@@ఐn#envVh5`5V h5`5@S@@@@ఐƠ+comment_optV,h5`5V-h5`5@[@@  @@@r@@@rW@rW@r@@ఐƠ¶msVDh5`5VEh5`5@@@G @@@r@@@rW@rW@r@@ఐˠ$bodyV\h5`5V]h5`5@@@ @@@rW@rW@r@@ @@@@@r@@@rW@r@(val_codeVvi55Vwi55@ఐ$codeVi55Vi55@ @@@@@r@@@rV@r@'val_locVj55Vj55@ຠ3(loc_impl*Odoc_types(location@@@&optionLS@@@@@@@@@3)loc_inter ^!t@@@@@@@@A@A7ocamldoc/odoc_types.mlijj#@@ B@@Aii@@$A@(loc_implVj55Vj55@ภ$SomeVj55Vj55@Poఐ#locVj55Vj55@ڰ@@g@@@@>J@t&J@t)J@sJ@sJ@r@@@rV@rw@A)loc_interVj55Vj56@ภ$NoneVj56Vj56 @Q@@@QP@@@r@@@rV@r@@@Wj55Wj56 @@*@@@rV@r@@@Wb4Q4lWk66@@@A@Wb4Q4\@@ภDWm6*67Wm6*6BAIఐ)new_value W"m6*6@@@@ @@3W WWW W W W W @@@@ภDW-m6*6AAIe@A@V@@@sU@s @@W6m6*65@@Im@@@s@*#@@@$@@e@%@@@&@@>@S'@@@@WFo6D6PWGo6D6Q@@'E@@@m@@'H@@@m@@@@ఠ(name_preWXq6}6WYq6}6@WkA@@R2@@@sV@s @డT$Name*from_identWnq6}6Woq6}6@ Wrq6}6Wsq6}6@@P@@@P@@@s@@sRQ@@@s@@s @@ఐ%identWq6}6Wq6}6@,@@Q@@@sW@sW@s @@' @@7 @A@Wq6}6 @@@ఠ$nameWr66Wr66@WA@@R{@@@s0V@s 3WWWWWWWW@MXQ@R@S@@@డT$Name/parens_if_infixWr66Wr66@ Wr66Wr66@@@@@R@@@s%@@s$R@@@s#@@s""@@ఐ~(name_preWr66Wr66@,@@R@@@s2W@s6W@s56@@' @@:7@A@Wr66 @@@ఠ-complete_nameWs66Ws67@XA@@R@@@sOV@s73WWWWWWWW@M[T@U@V@@@డU2$Name&concatXs67Xs67 @ X s67 X s67@@@@@R@@@s?@@s>@R@@@s=@@s<R@@@s;@@s:@@s9)@@ఐd3current_module_nameX)s67X*s67%@L@@6@@ఐ$nameX6s67&X7s67*@@@@S@@@sQW@sZW@sYJ@@; @@NK@A@XBs66 @@@ఠ$codeXMt7.7=XNt7.7A@X`A@@S- g@@@sV@sm@@@snV@s[3XWXVXVXWXWXWXWXW@gun@o@p@@@డVXiu7D7TXju7D7U@@@@,@@@skV@siV@s^@@@s`@@s_@@s]@@డl)keep_code+Odoc_globalXu7D7`@ Xu7D7aXu7D7j@%@j&@@$@@@sgW@sjW@sh<@@0 @@&=@ภ$SomeXv7p7Xv7p7@R?ఐҠ2get_string_of_fileXv7p7Xv7p7@_@@@ @@@sw@@sv@ @@@su@@st @@@ss@@sr@@sqc@@ఐ栐#locXv7p7Xv7p7@ΰ@@ ~t@(LocationXv7p7Xv7p7@)loc_startXv7p7Xv7p7@@T@@!@@@s@s@&LexingXv7p7Xv7p7@(pos_cnumXv7p7Xv7p7@@&@@!@@@sW@sW@s@@ఐ !#locYw77Y w77@ @@ @(LocationYw77Yw77@'loc_endYw77Yw77@@z@@\@@@s@s@&LexingY%w77Y&w77@(pos_cnumY*w77Y+w77@@X&@@!E@@@sW@sW@s@@Y6v7p7Y7w77@@@@@@T@@@so@ภ$NoneYDy88YEy88!@S@@@V@s@YJu7D7Q@@@A@YLt7.79@@@ఠ)new_valueYW{818@YX{818I@YjA@@ @@@sV@s3Y[YZYZY[Y[Y[Y[Y[@@@@@@론(val_nameYl|8N8[Ym|8N8c@ఐ-complete_nameYu|8N8fYv|8N8s@@@TL@@@s@󡠐(val_infoY}8v8Y}8v8@ఐ $+comment_optY}8v8Y}8v8@@@@@@s@@@sV@s6@(val_typeY~88Y~88@డ2*subst_type(Odoc_envY~88Y~88@ Y~88Y~88@@0@@@@@@s@@s@0@@@s@@s+@@@s@@s@@sd@@ఐ #envY~88Y~88@ @@ q@@ఐ #patY~88Y~88@ i@@ x@)TypedtreeY~88Y~88@(pat_typeY~88Y~88@@A}@@e@@@sW@sW@s@@L @@X@@@sW@s@P-val_recursiveZ88Z88@డXu--Z 89 Z 89 @-@@@ V@s@@s@@@s-@@@s@@s@@s@@ఐ (rec_flagZ&89Z'89 @ @@ @@ภ(AsttypesZ489 Z589@)RecursiveZ989Z:89@@y@ @@ W@s@@@@@@@sW@s@.val_parametersZK9"9/ZL9"9=@ภLZR9"9@ZS9"9B@L@@@@@@s@@@sV@t@(val_codeZd9E9RZe9E9Z@ఐ $codeZm9E9]Zn9E9a@ @@@@@t @@@t V@t@'val_locZ9d9qZ9d9x@ຠ(loc_implZ9d9}Z9d9@ภ$SomeZ9d9Z9d9@T2ఐ #locZ9d9Z9d9@ @@ M?@@@@ Q@@@tV@t%F@)loc_interZ9d9Z9d9@ภ$NoneZ9d9Z9d9@UJ@@@  @@@t2@@@t1V@t8`@@@Z9d9{Z9d9@@@@@tV@t<h@@@Z{818LZ99@@pk@A@Z{818<@@ภHZ99Z99ALӠఐ)new_value Z99@@@ @@ BU@tC3ZZZZZZZZ@@@@ภHZ99AM!@A@ZI SJ@t>@@@tBU@tH@@Z99"@@M+@@@tA@.'@@@(@@@)@@@*@@S@h+@@ f u@@@AZS12[99@@ i3ZZZZZZZZ@ @@@Ġ)Typedtree[99[99@*Tpat_tuple[99[9:@@TO@[9:[9: @@TJ@TGTD@@@m@@@m@U2V@@@m@@@m@@m@@@m b@@@&@@ Y c@@ Y c@@@ภMs[9::[:::@Mr@@@  k@@[B::[C::@@ i s@@ i s@@@ภM[I:: @M@ @@  z@@@A[LQ11 @@ 3[H[G[G[H[H[H[H[H@ |@@@  @@  @  @@  @  A@ *J@t @AY[&  Analysis of a Tstr_value from the typedtree. Create and return a list of [t_value]. @raise Failure if an error occurs.[`L0G0L[aM00@@@@@@@ @  @ Aఠ5tt_name_of_class_expr[n;;[o;<@[A@@@7@@@tJ@t@@tVQ@@@tJ@t@@t3[{[z[z[{[{[{[{[{@ c \@ ]@ ^@@@࣠@%clexpA[;<[;<@[A@@3[[[[[[[[@*@%@@t @@tK@t@*@+@@@@ @@ఐ%clexp[==[==@5@@@@63[[[[[[[[@'@@@)Typedtree[==[==@'cl_desc[==[==@@3'cl_desc7@@@V/class_expr_desc@@@@@@ 3&cl_loc R !t@@@@@A @AVw7"7'Vx7"7:@@V@3'cl_typeU*class_type@@@@@B@AV7;7@V7;7Z@@V@3&cl_env#Cb!t@@@@@C!@AV7[7`V7[7n@@V@3-cl_attributes/R;@@@@@D*@AV7o7tV7o7@@V@@AV77V77!@@V@Q?@@8@@@tP@Ġ)Typedtree\==\ ==@)Tcl_ident\ ==\==@@;)Tcl_identQ@@@@N!t@@@ԠV#locN!t@@@@@@ՠUYN@@@@@@@C@@G@AV77V77@@@W@ఠ!p\>==\?==@\QA@@,@@@t3\@\?\?\@\@\@\@\@@@@@@\I==\J==@@.,@@@t@@@t @@\U==\V==@@-N@@@t@@@t@@@W\_==@@@@@t@@@@@t!@@@డY$Name)from_path\s==\t==@ \w==\x=>@@@$Path!t@@@ F@@ EW[@@@ D@@ C@VJ  VJ  @@VP@@@@@@@t@@tWj@@@t@@t3\\\\\\\\@aZ@[@\@@@@ఐh!p\=>\=>@ @@.@@@tN@tN@t@@> @@6@Ġ)Typedtree\>>\>>@.Tcl_constraint\>>\>>'@@;.Tcl_constraint@9@@@UW*class_type@@@@@@VW<@@@@@@VWF@@@@@@V'MethSet!t@@@@EE@G@AW99W9l9@@@W@ఠ*class_expr]>>)]>>3@]A@@9E@@@tO@t^@@] >>5]>>6@@A@@@@t@@@tj@@]>>8]>>9@@BA@@@t@@@tv@@]%>>;]&>><@@DC@@@t@@@t@@]1>>>]2>>?@@F@@@t@@@x]7>>@@@w@@@t@@@Ġ)Typedtree]E>A>I]F>A>R@)Tcl_apply]J>A>S]K>A>\@@;)Tcl_apply=@9@@@V@W)arg_label@@@堠@XO)apply_arg@@@@@@@@@BC@G@AX8p8rX8p8@@@XU@t*class_expr]t>A>^]u>A>h@]A@@q@@]{>A>j]|>A>k@@)@(@@@t@&@@@t@@t@@@t@@@I]>A>l@@@@@t@@@@@@@@@t@@@ఐ15tt_name_of_class_expr]>A>p]>A>@ @@@0@@t+@@t3]]]]]]]]@@@@@@@ఐ*class_expr]>A>]>A>@ @@@N@t@@@@>@@]?C?L]?C?M@@@@@t@@@@@t@@@డ-Odoc_messages*object_end-Odoc_messages]?C?Q]?C?^@ ]?C?_]?C?i@@&stringQ@@@y,@:ocamldoc/odoc_messages.mli%%%<@@-Odoc_messages@@@n=@@@A]==@@p3]]]]]]]]@?@@@_A@@}@@x@@J@a@@\X]Ɛ This function takes a Typedtree.class_expr and returns a string which can stand for the class name. The name can be "object ... end" if the class expression is not an ident or a class constraint or a class apply. ^::^;d;@@@@@@@^;;+@@,@@ఠ^@+@K@@Wఠ¶ms^@+@M^@+@S@^A@@\y@@@@@@:@ఠ$body ^@+@U^@+@Y@^A@@|@@@H@@@)^@+@Z@@.@@@M@@.@@@P@@@@ఠ¶ms!_@^@l_@^@r@_A@@0@@@@@@Q@3_ _ _ _ _ _ _ _ @i?8@9@:.'@(@)@@@ఐ᠐>tt_analyse_function_parameters_@u@_@u@@@@@@@@@@@ܠ@@@@@@@@@2@@@@@@@@@@@@@@̠l@@@@@@@@@@@@@@<@@ఐ#env_U@u@_V@u@@@@>I@@ఐ栐+comment_opt_b@u@_c@u@@ΰ@@4V@@ఐ¶ms_o@u@_p@u@@_@@r@@@@@@R@R@n@@ఐ$body_@u@_@u@@v@@@@@R@R@@@u @@@A@_@^@h @@ఐ¶ms_@@_@@@@@@@)@@@@@@3________@ @@@ĠQ_@@_@@@Qఠ%_self"_@@_@@@_A@@@@@!@ఠ$rest#_@A_@A@_A@@_*@@@#@@@"-@@@ @@^@@@%@@@$5@@e@@@'@@@&<@@@ఐ!$rest_@A_@A @ @!@"@@3________@I:3@4@5-@@@ĠR6_A A_A A@R5@@@@'@@@/@@@.^@@.@@@1@@@0e@@@డ^~%raise`AA`AA@5;@@@5;@@@;@@:S@9@@8z@@ภ'Failure`+AA`,AA@;'Failure9@@@ @&stringQ@@@@AX @@A9=ocaml.warn_on_literal_pattern5PE  5QE  @@5TE  5UE  @@@XH@డ^!^`QAA`RAA@@%@@@@@@-@@@@@1@@@@@@@@5y^6^65z^6^\@@Yq@@@@@@@P@@O@@@@N@@M@@@L@@K@@J@@డ(bad_tree-Odoc_messages`AA`AA@ `AA@@A@@@@x@sss@@z@K@@H@@@`T@bT@a@@డ_!^`AA`AA@^@@@^@@@j@@i@]@@@h@@g\@@@f@@e@@d@@! `AA`AA@@|@@z@@@zU@|U@{-@@డ4method_without_param-Odoc_messages`AA`AA@ `AA`AA@@@@@@x@@x@@@x@@x@@@}@@@@@@@@@@@@@@~_@@ఐ3current_method_nameaAAaAA@@@l@@eaAB@@@@@x@V@u@@ @@@@@^@U@v}@@a&AAa'AB@@@@@H@T@\@@a0AAa1AB@@6R@@@BS@G@@"@@@@@Aa9@@a:BB@@3a6a5a5a6a6a6a6a6@@@@@@.@@aCBBaDBB@@1B@@@@@1E@@@@@@ภSaPB@BJ@S@@@ @@@AaS@@ @@3aOaNaNaOaOaOaOaO@@@@A@BJ@@A_a+ ? Analysis of a method expression to get the method parameters. ae?k?oaf?k?@@@@@@@@@@ఠ7analyse_class_structure$asBBatBB@aA@@@ @@@ J@@@@\^@@@J@@@@(H/class_signature@@@sJ@@@@)5@@@J@@@@)@@@AJ@@@@,/class_structure@@@,J@@@@\7@@@J@@@@@@J@@@@@*Odoc_class/inherited_class@@@@@@@=-class_element@@@@@@@@ J@@@J@@@J@@@J@@@J@@@J@@@J@@@J@@@J@3aaaaaaaa@`@@@@@࣠@#env&AaBCbBC@bA@@3aaaaaaaa@bBBbk``O@@@@@  @@2current_class_name'AbBCbBC@b&A@@3bbbbbbbb@!@@@@@@@@,tt_class_sig(Ab$BCb%BC#@b7A@@3b#b"b"b#b#b#b#b#@@@@@@@@@(last_pos)Ab5BC$b6BC,@bHA@@3b4b3b3b4b4b4b4b4@@@@@@@@@)pos_limit*AbFBC-bGBC6@bYA@@3bEbDbDbEbEbEbEbE@@@@@@@@@%p_cls+AbWBC7bXBC<@bjA@@3bVbUbUbVbVbVbVbV@@@@@@@@@&tt_cls,AbhBC=biBCC@b{A@@3bgbfbfbgbgbgbgbg@@@@@@@@@&_table-AbyBCDbzBCJ@bA@@3bxbwbwbxbxbxbxbx@@@@@@@@@Aఠ$iter.bCMC[bCMC_@bA@@@@@@S@@@@S@@@@ @@@sS@@@@S@@@@*F@@@S@@@@T-+class_field@@@}S@"@@@!S@@@@8S@蠠@&,S@\@@@lS@@@@@@@@@@@3bbbbbbbb@[g @^@_@@@࣠@)acc_inher/AbCMC`bCMCi@bA@@U3bbbbbbbb@c@^@@@U@@@L@@@I@@@>@=@@T@@@T@@@T@@@T@@@T@@}@~@@@@('@@*acc_fields0AcCMCjcCMCt@c)A@@w3cccccccc@2>@5@6@@@@@@(last_pos1Ac'CMCuc(CMC}@c:A@@y3c&c%c%c&c&c&c&c&@@@@@@@@@ĠUqc7CCc8CC@Up@@@@3c5c4c4c5c5c5c5c5@@@@@@@@@ఠ!s4cGCCcHCC@cZA@@+\@@@?Y@+3cKcJcJcKcKcKcKcK@@@@ఐ$2get_string_of_filecZCCc[CC@$@@@+~@@@3@@2@+{@@@1@@0+z@@@/@@.@@-@@ఐT(last_poscxCCcyCC@>@@+@@ఐB)pos_limitcCCcCC@*@@8@@/@@<9@A@cCC@@@@@cCCcCC@@(@@@Y@G3cccccccc@c[T@U@V@@@@ఠ(ele_coms5cCCcCC@cA@@(((@@@@@@Y@H@@cCCcCC@@@%@@@K"@డ,c+all_special%My_ircCCcCC@ cCCcCD@@@(@@@V@@U@(@@@T@@S@(@@@P@(=@@@R@@@Q@@O@@N@@M@(@(۰'"@@@)@@@@@@)@@@@@@)@@@@)\@@@@@@@@@@@@t@@డb68dCDdCD @5@@@5)7@@@Z@Z@@@@@@@@@@ఐ%)file_named7CD@%F@@P@@@[@[@@@' @@@@ఐ!sdLCDdMCD@@@)Y@@@Z@Z@@@ @@@Ơ@@@Z@@A@d`CC@@@ఠ,ele_comments6dkDD(dlDD4@d~A@@נ@@@'Y@@@@Y@3dudtdtdududududu@@@@@@డb$List)fold_leftdD7DEdD7DI@ dD7DJdD7DS@@@@#acc@.S@@0@!a@.V@@0 @@0@@0@@0@@@0@Zt@@@0@@0@@0@@0@@0 @Zn33Zo3r@@Zm]@.)@@@@QY@@@@/$info@@@Y@@@ @@@@@@@@@@'@@@@@@@@@@@3dddddddd@_@@@@࣠@#acc7AdDTDidDTDl@dA@@,r@@@@࣠@"sc8AdDTDtdDTDv@e A@@73dddddddd@@@@@@@@@@ఐ"sce DzDeDzD@J@@@@K3e e e e e e e e @!@@@*Odoc_typeseDzDeDzD@&i_desceDzDeDzD@@3&i_desc[@@@$text@@@n@@@m@@@33)i_authors$listK&stringQ@@@p@@@o@@A@AW  W  @@t@3)i_version#@@@r@@@q@@B@AXX6@@u@3&i_sees2"#see@@@t@@@s@@C/@AY_cY_u@@v@3'i_sinceBĠ0@@@v@@@u@@D>@AZZ@@w@3(i_beforeQA@C@@@y@X@@@z@@x@@@w@@EV@A[[@@x@3,i_deprecatedif@@@|@@@{@@Fd@A\04\0O@@y@3(i_paramswg%param@@@~@@@}@@Gt@A]]@@ z@33i_raised_exceptionsw0raised_exception@@@@@@@@H@A^^@@{@3.i_return_value@@@@@@@@I@A _%) _%G@@(|@3(i_custom@@@@@@@@@@@@@@@J@A!`y}"`y@@@}@3(i_alertsK%alert@@@@@@@@K@A1a2a@@P~@@A5V  6V  @@Ts@@@͠@@@@@@@Ġ$NonefDDfDD@`@@@@@@@@@@3f fff f f f f @@@@ @@@@@@@@@@ఐ8#accfDDfDD@ @@`@Ġ$Somef*DDf+DD@_ʠఠ!t9f3DDf4DD@fFA@@ @@@)@@@@@@@@@@@1@@@@@@@@8@@@డd!@fREEfSEE@@@@@@@ @@ @@@@ @@ @@@@@@@3fdfcfcfdfdfdfdfd@Y<5@6@7@@@@ఐ#accfvEEfwEE@y@@@@ภTVfEEfEE-AXภ-Class_comment fEE*@;-Class_comment@@@@*Odoc_types$text@@@@AB@C@A7ocamldoc/odoc_class.mliYY4@@@D@ఐt!tfEE+fEE,@>@@@@@)_@._@-H@@1 @@>_@(K@ภT|8AX@9A@fL`@@@@$_@3Y@@fEEB@@NU@@@_@#a@@UI@@ b@@@AfDzDK@@ @fDTDpM@@@@@C@@B[@@@fDTDdfEE.@@@ @@@@@$@@@@Z@IZ@Ej@@ภY&fE/E?fE/EA@Y%@@@Y@P@@ఐT(ele_comsfEBERfEBEZ@@@T?@@@Z@SZ@Q-@@} @@G@A@gDD$ @@@ఐ2)acc_inhergEjEwgEjE@@@3gggggggg@@@@@@@డe!@g%EjEg&EjE@@@@[@@@`@@_@c@@@^@@]g@@@[@@Z@@Y%@@ఐ3*acc_fieldsgFEjEgGEjE@@@2@@ఐ蠐,ele_commentsgSEjEgTEjE@<@@@@@nY@tY@rG@@ @@H@@g`EjEvgaEjE@@@Ҡ@@@uQ@a@@@  @@@ @@@@@@*!@ĠYzgxEEgyEE@Yyఠ$item2gEEgEE@gA@@S@$3gggggggg@L@@@ఠ!q3gEEgEE@gA@@f@@@&@@@@@@@@@ఠ#loc:gEEgEE@gA@@1!t@@@xY@v3gggggggg@u3,@-@.' @!@"@@@ఐ:$itemgEEgEE@ @@9@)ParsetreegEEgEE@'pcf_locgEEgEE@@3'pcf_loc @@@8*@@@8@@A3(pcf_desc 20class_field_desc@@@8@@@@A28zz28z{@@2@3.pcf_attributes2*attributes@@@8@@B@A2:{0{52:{0{P@@2@@A29{{29{{/@@2@5&@@IC@A@gEE(@@ఐ|$itemgEEgEF@O@@{3gggggggg@Te^@_@`@@@)Parsetreeh EFh EF @(pcf_deschEF hEF@@<@@;@@@|@Ġ)Parsetreeh!FF$h"FF-@+Pcf_inherith&FF.h'FF9@@;+Pcf_inheritT@@@9@(Asttypes-override_flag@@@831*class_expr@@@8&optionL#loc&stringQ@@@9@@@9@@@8@C@@G@A2y>{{2z>{{@@@3J@@hYFF;hZFF<@@,@@@3hYhXhXhYhYhYhYhY@^@@@ఠ'p_clexp;hfFF>hgFFE@hyA@@2@@@@@hpFFGhqFFH@@41/@@@@@@@@@@@@h~FF#hFFJ@@@@@%@@@@@(@@@@ఠ(tt_clexpDhFOF_hFOFg@hA@@cD@@@ [@O3hhhhhhhh@:3@4@5@@@@ఠ!nEhFjF|hFjF}@hA@@#intA@@@]\@P@డg%$List&lengthhFjFhFjF@ hFjFhFjF@@@^!a@/B@@@/L@@/K(@@@/J@@/I@^k^k @@^C@@@@MS@V@@@U@@T:@@@S@@RP@@ఐ)acc_inherhFjFhFjF@ڰ@@c]@@8@@K^@A@hFjFx@@డf:get_nth_inherit_class_expr0Typedtree_searchi FFi FF@ i FFiFF@@@d>@@@@@@>@@@@@@@@@@@@@>@>@@@@@@@@@>@@@@@@@@@@@@3i0i/i/i0i0i0i0i0@@@@@@@ఐݠ&tt_clsiBFFiCFF@Ű@@@@ఐ!niOFFiPFF@@@?@@@\@\@$@@Q @@%@Ġ)Not_foundibFFicFF@B@@@@ha@@@3@@@డg%raiseiqGGirGG@>@@@>@@@@@^@@@H@@ภ'FailureiGGiGG@ [డ 'inherit_classexp_not_found_in_typedtree-Odoc_messagesiG!G8iG!GE@ iG!GFiG!Gm@@@#intA@@@x@@x @@@x@@x@  ;@@ @@@@@@@0@@/@@@.@@-@@ఐ!niG!GniG!Go@@@*@@@9_@;_@:@@iGGiG!Gp@@ @@@+@<_@7@@iGGiG!Gq@@>@@@%^@*@@q@@N@@@iFF @@N@ @@OK@A@iFOF[ @@@@ఠ(info_optFiGGiGG@jA@@1}*R@@@a@@@`[@?3iiiiiiii@ixq@r@s@@@@ఠ,ele_commentsGj GGjGG@j A@@1*`@@@c@@@b[@@@@jGGjGG@@@(@@@C!@ఐ*5get_comments_in_classj,GGj-GG@)@@@1@@@O@@N@1@@@M@@L@1à*@@@I@@@H@1*@@@K@@@J@@G@@F@@EO@@ఐ7(last_posj[GGj\GG@!@@\@@ఐ'p_clexpjnGGjoGG@԰@@;@@@n@lt@)Parsetreej|GGj}GG@'pcl_locjGGjGH@@3'pcl_locN@@@84!t@@@8@@A3(pcl_desc 5/class_expr_desc@@@8@@@@A4qq4qr@@5 @3.pcl_attributes@@@8@@B@A4r/r44r/rO@@5@@A4rr4rr.@@5 @;'@@@@@p@m@(LocationjGHjGH @)loc_startjGH jGH@@2O@@@@@r@o@&LexingjGHjGH@(pos_cnumjGHjGH%@@c@@2_@@@e\@s\@q@@ @@@栠@@@t\@_@A@jGG@@@ఠ(text_optHjH5HEjH5HM@kA@@e͠@@@[@@@@[@u3jjjjjjjj@@@ @@@@@ఐ(info_optk HPHdk HPHl@ @@2+d@@@x@@@w3kkkkkkkk@@@@Ġ$NonekHPHrk HPHv@e@@@@2+y@@@@@@-@@2+@@@@@@4@@@ภ$Nonek6HPHzk7HPH~@e@@@H=@Ġ$SomekCHHkDHH@dఠ!iIkLHHkMHH@k_A@@+@@@?@@@@@2֠+@@@@@@G@@2ݠ+@@@@@@N@@@ఐ!ikkHHklHH@@@ @@@@@@3koknknkokokokoko@y. @@@*Odoc_typesk|HHk}HH@&i_desckHHkHH@@c@@@@@AkHPH^@@@A@kH5HA@@@ఠ$nameJkHHkHH@kA@@fm@@@[@3kkkkkkkk@@@@@@ఐ:5tt_name_of_class_exprkHHkHH@@@@G@@@@@f@@@@@@@ఐ/(tt_clexpkHHkHH@@@H@@@\@\@-@@" @@1.@A@kHH @@@ఠ%inherKkHHkHH@kA@@ @@@ [@3kkkkkkkk@DRK@L@M@@@ະ3'ic_name @@@ $Name!t@@@@@@ 3(ic_class &optionL #cct@@@@@@A@A@Agaha@@ #R@3'ic_textz$text@@@@@@@@B @Axbyb%@@ 4S@@A|`}`@@ 8Q@'ic_namelII!l II(@డ)=full_class_or_class_type_name(Odoc_envl.II+l/II3@ l2II4l3IIQ@@@+@@@d@@d@)Odoc_name!t@@@d@@d!t@@@d@@d@@d@)@  )@  b@@+S@&!@@@+@@@v@@u@@@@t@@s@@@r@@q@@p@@ఐ s#envloIIRlpIIU@ X@@ @@ఐ預$namel|IIVl}IIZ@@@gS@@@L@@U@@:@@@D@(ic_classlI]ImlI]Iu@ภ$NonelI]IxlI]I|@g*@@@@@@b@@@a[@h@'ic_textlIIlII@ఐ (text_optlIIlII@@@@@@q@@@p[@r@@@lIIlII@@@A@lHH@@ఐ =$iterlIIlII@ @@@ <@@@ 1@@~@ &@@}@ !@@|@ @ @@{@@z@@y@@x@@w3llllllll@ @ @ @@@@డkY!@lIIlII@^@@@^ b@@@@@@$ j@@@@@Y n@@@@@@@&@@ఐ 0)acc_inhermIImII@ @@ 3@@ภZmIImIIA_ఐQ%inher m'II@D @@ G@ภZm/IIA_g@A@l ]@@@@\@V@@m9II@@$Ġ @@@\@^@@mAIImBII@@ S@c@@డk!@mQIImRII@@@@ S@@@@@@@$ @@@@@@@@@@@@@@ఐ a*acc_fieldsmtIImuII@ I@@ @@ఐt,ele_commentsmIImIJ@@@%0@@@\@\@@@mIImIJ@@ S@S@/S@0S@6S@7S@S@@@ఐF'p_clexpmJJmJJ@@@y@@@@@)ParsetreemJJmJJ'@'pcl_locmJJ(mJJ/@@>@@9@@@@@(LocationmJJ0mJJ8@'loc_endmJJ9mJJ@@@7+@@@@@@@&LexingmJJAmJJG@(pos_cnummJJHmJJP@@?@@ ES@S@S@S@S@S@g[@@@ఐt!qnJQJ_nJQJ`@S@@ JS@%@@?@@@ B@ A@@[@.@R@@ 2@G@@ v@@@ @2@@ @/@@@ M@ L@@N@Ġ)Parsetreen'JbJjn(JbJs@'Pcf_valn,JbJtn-JbJ{@@;'Pcf_val@@#loc %label@@@9@@@9@,mutable_flag@@@9@9C0class_field_kind@@@9@@9@AA@G@A8wM~Z~\8xM~Z~@@@9H@@ঠ#txtnaJbJnbJbJ@:ఠ%label<niJbJnjJbJ@n|A@@2@@@3nknjnjnknknknknk@p@@@@@nrJbJ}nsJbJ@@>>@@@[@@@@ @@ఠ,mutable_flag=nJbJnJbJ@nA@@F@@@@@ఠ!k>nJbJnJbJ@nA@@N@@@+@@nJbJ|nJbJ@@@.@@@@6@@@ @@@@@:@@@@@=@@@@ఠ$virt`nJJnJJ@nA@@`@@@[@3nnnnnnnn@_X@Y@ZD=@>@?6/@0@1@@@ఐ@-override_flag@@@9:**expression@@@9@BA@B@A9^i9_i@@@:/$@@o>JJo?JK@@@@@@@@@@@@@@) @@@@@@@@@@@@@ภanoTJKoUJK @am@@@@@@AoXJJ@@@A@oZJJ@@@ఠ-complete_nameaoeK KofK K*@oxA@@j?@@@f[@N3oiohohoioioioioi@@@@@@డl$Name&concato~K K-oK K1@ oK K2oK K8@@@@@j^@@@V@@U@je@@@T@@Sjh@@@R@@Q@@P)@@ఐ 2current_class_nameoK K9oK KK@ y@@6@@ఐE%labeloK KLoK KQ@@@v@@@pF@@7@@JG@A@oK K@@@@ఠ(info_optboKUKfoKUKn@oA@@7M0"@@@@@@[@y3oooooooo@esl@m@n@@@@ఠ,ele_commentscoKUKpoKUK|@oA@@7X00@@@@@@[@z@@oKUKeoKUK}@@@(@@@}!@ఐ0k5get_comments_in_classoKUKoKUK@/@@@7@@@@@@7@@@@@@70h@@@@@@@70g@@@@@@@@@@@@O@@ఐ (last_posp+KUKp,KUK@ @@ |\@@ఐ#locp<KUKp=KUK@<@@@@@@r@(LocationpJKUKpKKUK@)loc_startpOKUKpPKUK@@Ȱ@@@@@@@&Lexingp^KUKp_KUK@(pos_cnumpcKUKpdKUK@@+@@7@@@\@\@@@s @@@@@@\@@A@pxKUKa@@@ఠ(type_expdpKKpKK@pA@@BsBr@@@[@3pppppppp@@@@@@@@డm5search_attribute_type0Typedtree_searchpKKpKL@ pKLpKL@@@kFw@@@@@@kkk@@@@@1@@@@@@@@B@B@@@@@@@@@@@@@@C@@@@@@@B@@ఐt&tt_clspKLpKL#@\@@O@@ఐ}%labelpKL$pKL)@$@@@@@_@@L@@d`@Ġ)Not_foundpL*L=pL*LF@J@@@@o@@@n@@@డol%raiseqLJLZqLJL_@F)@@@F)@@@@@^@@@@@ภ'FailureqLJLaqLJLh@డW attribute_not_found_in_typedtree-Odoc_messagesq)LJLjq*LJLw@ q-LJLxq.LJL@@@Y@@@x@@x]@@@x@@x@[<<\<s@@Z@@@@@@@@@@@@@@@@ఐ-complete_nameqVLJLqWLJL@@@l-@@@@@q]LJLiq^LJL@@0@@@@_@@@qgLJL`qhLJL@@F@@@^@@@k@@@@@qpKK @@@A@qrKK @@@ఠ$codeeq}LLq~LL@qA@@l]9@@@$[@@@@[@3qqqqqqqq@@ @ @@@డpqLLqLL@@@@EC@@@ [@ [@@@@@@@@@@డ)keep_code+Odoc_globalqLL@ qLLqLL@%@&@@נ$@@@\@ \@ <@@0 @@&=@ภ$SomeqLMqLM@koఐ32get_string_of_fileqLM qLM@2@@@9@@@@@@9@@@@@9@@@@@@@c@@ఐ \#locqLMqLM @ @@v@@@-@+y@(Locationr LM!r LM)@)loc_startrLM*rLM3@@@@V@@@/@,@&LexingrLM4r LM:@(pos_cnumr$LM;r%LMC@@R+@@:I@@@(\@0\@.@@ఐ #locr=MDMXr>MDM[@ =@@@@@5@3@(LocationrKMDM\rLMDMd@'loc_endrPMDMerQMDMl@@@@@@@7@4@&Lexingr_MDMmr`MDMs@(pos_cnumrdMDMtreMDM|@@+@@:@@@&\@8\@6@@rpLM rqMDM}@@@@@@mM@@@@ภ$Noner~MMrMM@m@@@[@<@rLL@@@A@rLL@@@ఠ#attfrMMrMM@rA@@"+t_attribute@@@A[@=3rrrrrrrr@%@@ @@@ະ3)att_value@@@Y# @@@V@@@ 3+att_mutable @@@W@@A@Acc+@@#L@3+att_virtual @@@X@@B@A"d,.#d,A@@#M@@A&b'b@@# K@)att_valuerMMrMM@S(val_namerMMrMM@ఐx-complete_namerMMrMN@ @@m@@@LG@[(val_inforNNrNN @ఐ-(info_optrNN#rNN+@d@@li@@@\@@@[[@]b@`(val_typesN.N>sN.NF@డ0*subst_type(Odoc_envsN.NIsN.NQ@ sN.NRsN.N\@@0@@@2@@@n@@m@0@@@l@@k0@@@j@@i@@h@@ఐ:#envs6N.N]s7N.N`@@@@@ఐ(type_expsCN.NasDN.Ni@@@0@@@|\@\@@@; @@@@@f\@z@-val_recursivesYNlN|sZNlN@ภezs`NlNsaNlN@ey@@@@@@[@@.val_parameterssnNNsoNN@ภesuNNsvNN@e@@@@@@@@@[@@(val_codesNNsNN@ఐ$codesNNsNN@@@Š@@@@@@[@@'val_locsNNsNN@ຠ(loc_implsNNsNO@ภ$SomesNOsNO@mUఐ #locsNOsNO @ @@$t@@@[@[@[@/@@ @@- @@@[@6@')loc_intersNOsNO@ภ$NonesNOsNO@nv@@@76@@@@@@[@P@@@sNNsNO @@@@@[@X@@@sMMsO#O2@@$Z@@@C[@`@Q+att_mutabletO5OCtO5ON@డruGGt O5O^t O5O_@G@@@@@@[@@@@ @@G@@@@@@@@@ఐ,mutable_flagt)O5OQt*O5O]@f@@@@ภ(Asttypest7O5O`t8O5Oh@'Mutablet<O5Oit=O5Op@@;'Mutable@,mutable_flag@@@@@@AB@@A@pgWu@qgW~@@@@S@@@@9\@@@&@@@@@\@@+att_virtualtZOsOt[OsO@ఐ$virttcOsOtdOsO@@@@@@[@@@@tlMMtmOO@@@A@toMM@@ఐ$iterty OOtz OO@@@@@@@@@@@@@@@@Ġ@@@@@@@@@@@3tttttttt@@@@@@@ఐ)acc_inhert OOt OO@@@@@డs!@t OOt OO@&@@@&S@"@@@&@@%@,G @@@$@@#&@@@!@@ @@5@@ఐ*acc_fieldst OOt OO@@@1B@@డsH!@t OOt OO@&M@@@&MD\@R\@<@@@@@@?@,{ @@@>@@=&L@@@;@@:@@9i@@ఐ(,ele_commentsu OOu OO@v@@&r%@@@P]@S]@Q~@@ภbu OOu OOAgภ/Class_attribute u! OO@;/Class_attribute@*Odoc_value+t_attribute@@@@A@@C@AWW@@@PB@ఐ#attu: OOu; OO@@@@@@_]@a]@`@@- @@[]@^@ภcuM OO5Ag@6A@tj^@U@@@Z]@f@@uX OO@@@,t@@@N]@Y@@[G@@,@@@4\@g]@L@@ui OOuj OO@@S@2@@ఐ ڠ#locu{ OPu| OP@ {@@!@@@l@j@(Locationu OPu OP @'loc_endu OP u OP@@!@@!@@@n@k@&Lexingu OPu OP@(pos_cnumu OPu OP$@@!а+@@[@m@@ఐ$!qu OP%u OP&@@@S@o%@@?@@@@@@p[@.@R@@ %@<@@ 6@Q@@ 6@L@@ @@@ W@l@@@Ġ)Parsetreeu P(P3u P(P<@*Pcf_methodu P(P=u P(PG@@;*Pcf_method @@ #loc %label@@@9 @@@9@ ,private_flag@@@9 @@@@9 @@9@AB@G@A@ \@!\@@@@@@ঠ#txtv  P(PLv  P(PO@BOఠ%label?v P(PRv P(PW@v%A@@0@@@3vvvvvvvv@@@@@@v P(PJv P(PY@@<<@@@[@@@@ @@ఠ,private_flag@v. P(P[v/ P(Pg@vAA@@D@@@@@Ġ)Parsetreev? P(Piv@ P(Pr@+Cfk_virtualvD P(PsvE P(P~@@]@vJ P(PvK P(P@@\@@@6@@@@@@@@:@@vT P(PIvU P(P@@@=@*@@@E@@@v_ P(P2v` P(P@@@@@K@@@@@N@@@@ఠ-complete_namegvq PPvr PP@vA@@qK@@@[@q3vuvtvtvuvuvuvuvu@|oh@i@jTM@N@O@@@డs$Name&concatv PPv PP@ v PPv PP@@$ @@@ql@@@y@@x@qs@@@w@@vqv@@@u@@t@@s+@@ఐ2current_class_namev PPv PP@@@*8@@ఐ%labelv PPv PP@A@@@@@H@@7@@LI@A@v PP@@@@ఠ(info_opthvPPvPP@vA@@>[70@@@@@@[@3vvvvvvvv@gun@o@p@@@@ఠ,ele_commentsivPPvPP@vA@@>f7>@@@@@@[@@@vPPvPP@@@(@@@!@ఐ7y5get_comments_in_classw PPw PQ@6ϰ@@@>@@@@@@>@@@@@@>7v@@@@@@@>7u@@@@@@@@@@@@O@@ఐ(last_posw9PQw:PQ@@@\@@ఐ#locwJPQwKPQ@J@@#@@@@r@(LocationwXPQwYPQ$@)loc_startw]PQ%w^PQ.@@#ְ@@#@@@@@&LexingwlPQ/wmPQ5@(pos_cnumwqPQ6wrPQ>@@#+@@?@@@\@\@@@s @@@@@@\@@A@wPP@@@ఠ(met_typejwQBQRwQBQZ@wA@@>J)type_expr@@@q[@3wwwwwwww@@@@@@@@డA0Signature_search2search_method_type(Odoc_sigwQ]QowQ]Qw@ wQ]QxwQ]Q@@wQ]QwQ]Q@ @@@ @@@^@@]@9@@@\@@[:@@@Z@@Y@@X@@H  @I@@@@L@$@@@@@@e@@d@O@@@c@@bP@@@a@@`@@_M@@ఐ⠐%labelwQ]QwQ]Q@y@@@@@v]@@ఐ㠐,tt_class_sigxQ]QxQ]Q@˰@@tj@@S@@qk@Ġ)Not_foundxQQxQQ@Q@@@@w@@@y@@@డv%raisexQQx QQ@MD@@@MD@@@@@^@@@@@ภ'Failurex4QQx5QQ@ డr5method_type_not_found-Odoc_messagesxDQQxEQQ@ xHQQxIQR@@@t@@@x}@@x|@|@@@x{@@xz@@@xy@@xx@@xw@~@@}@!@@@@@@@@@@@@@@@@@@@@@@@ఐp2current_class_namexQRxQR@X@@@@ఐ{%labelxQRxQR@@@@@@@@xQQxQR@@g@@@@_@@@xQQxQR@@M@@@^@@@@@ @@@xQ]Qk @@ @A@xQBQN @@@ఠ)real_typewxR-R=xR-RF@xA@@T@@@[@3xxxxxxxx@!2+@,@-@@@డw(get_descxRIR]xRIRe@@U@@@ f@@ eU)type_desc@@@ d@@ c@S)##S*##>@@Uk@@@@U@@@@@@@@@@3xxxxxxxx@,@@@@ఐc(met_typexRIRfxRIRn@7@@U*@@@]@]@@@4 @@*@@@@Ġ&Tarrowy RtRy RtR@;&Tarrow;@@@ 8@SQ)arg_label@@@ UI@@@ UM@@@ UQ*commutable@@@ @DAAL@ASwE  SxE  @@@UVJ@@y/RtRy0RtR@@@@@K@@y7RtRy8RtR@@Uh@@@S@ఠ!txyCRtRyDRtR@yVA@@Uv@@@a@@yMRtRyNRtR@@-@@@i@@@GySRtR@@@@@n@@@@@q@@@ఐ!tyaRRybRR@@@@@3y`y_y_y`y`y`y`y`@(@@@@ymRRynRR@@@@@@@@@@@@@ఐ렐(met_typey|SSy}SS @@@@@@AyRIRW@@@A@yR-R9@@@ఠ$codeyyS.S<yS.S@@yA@@tmA@@@[@@@@[@3yyyyyyyy@@@@@@డx&Ġ&ưySCSRySCSS@&ð@@@&àMS@@@[@[@@@@@@@@@@డ&)keep_code+Odoc_globalySCS^@ ySCS_ySCSh@%@&&@@&$@@@\@\@<@@0 @@&=@ภ$SomeySnS|ySnS@sఐ;2get_string_of_fileySnSySnS@:@@@B@@@@@@B @@@@@B @@@@@@@c@@ఐl#locz SnSzSnS@ @@&@@@@ y@(LocationzSnSzSnS@)loc_startz SnSz!SnS@@&@@&f@@@@@&Lexingz/SnSz0SnS@(pos_cnumz4SnSz5SnS@@&b+@@BY@@@ \@\@@@ఐ#loczMSSzNSS@M@@&@@@@@(Locationz[SSz\SS@'loc_endz`SSzaSS@@&İ@@&@@@@@&LexingzoSSzpSS@(pos_cnumztSSzuSS@@&+@@B@@@\@\@@@zSnSzSS@@@@@@u]@@@@ภ$Nonez TTz TT@u$@@@[@@zSCSO@@@A@zS.S8@@@ఠ#metzz"T"T0z"T"T3@zA@@+(t_method@@@#[@3zzzzzzzz@%@@ @@@ະ3)met_value@@@]+@@@Z@@@ 3+met_private &@@@[@@A@A&(j&)j@@+"P@3+met_virtual&@@@\@@B@A&2k&3k@@+,Q@@A&6i&7i@@+0O@)met_valuez$TDTRz$TDT[@&c(val_namez%T`Tpz%T`Tx@ఐ|-complete_namez%T`T{z%T`T@ @@u@@@.G@&k(val_infoz&TTz&TT@ఐ/(info_opt{&TT{&TT@d@@&|&y@@@>@@@=[@?b@&p(val_type{'TT{'TT@డ8*subst_type(Odoc_env{#'TT{$'TT@ {''TT{('TT@@8@@@:@@@P@@O@8@@@N@@M8@@@L@@K@@J@@ఐJ#env{F'TT{G'TT@/@@@@ఐ)real_type{S'TT{T'TT@@@8@@@^\@c\@b@@; @@&@@@H\@\@&-val_recursive{i(TU{j(TU @ภm{p(TU{q(TU@m@@@&@@@j[@n@&.val_parameters{~)UU({)UU6@ภm{)UU9{)UU;@m@@@&Ϡ&@@@w@@@v[@}@&ġ(val_code{*U>UN{*U>UV@ఐ$code{*U>UY{*U>U]@@@&ՠ&@@@@@@[@@&Ρ'val_loc{+U`Up{+U`Uw@ຠ%!(loc_impl{+U`U|{+U`U@ภ$Some{+U`U{+U`U@ueఐ.#loc{+U`U{+U`U@ϰ@@,@@@[@[@[@/@@ @@%= @@@[@6@%7)loc_inter{+U`U{+U`U@ภ$None{+U`U{+U`U@v@@@%G%F@@@@@@[@P@@@{+U`Uz{+U`U@@' @@@[@X@@@|$TDT^|,UU@@,j@@@%[@`@Q+met_private|-UU|-UU@డzPP |-UU|-UU@P@@@7@@@[@@@@ @@P@@@@@@@@@ఐ ,private_flag|9-UU|:-UU@@@@@ภ(Asttypes|G-UU|H-UU@'Private|L-UU|M-UU@@;'PrivateH,private_flag@@@@@@@B@@AHe1EHe1L@@@HO@@@@9\@@@&@@@@@\@@+met_virtual|j.UV|k.UV@ภ c|q.UV|r.UV@ b@@@@@@[@@@@|z#T6TB|{/VV'@@@A@|}"T"T,@@ డz0@@5Jr@@@G]@R@@YE@@5S@@@-\@`]@E@@}4VV}4VV@@;S@+#@@ఐA#loc}4VV}4VV@@@*[@@@e@c9@(Location}4VV}4VW@'loc_end}4VW}4VW@@*Y@@*;@@@g@dM@&Lexing~4VW ~4VW@(pos_cnum~ 4VW~ 4VW@@*7+@@[@f^@@ఐ!q~4VW~4VW@j@@aS@hm@@:@@@Y@X@@i[@v@@@ w@@@ }@@@ @@@ n@@@ @@@M@j@@@Ġ)Parsetree~:6WW'~;6WW0@*Pcf_method~?6WW1~@6WW;@@h@ঠ#txt~O6WW?~P6WWB@Jఠ%labelA~W6WWE~X6WWJ@~jA@@u@@@3~Y~X~X~Y~Y~Y~Y~Y@^@@@@@~`6WW=~a6WWL@@@@@ [@ @@@  @@ఠ,private_flagB~s6WWN~t6WWZ@~A@@@@@@@Ġ)Parsetree~6WW\~6WWe@,Cfk_concrete~6WWf~6WWr@@d@~6WWs~6WWt@@f@@@6@@@e@@@;@@@ @@P@@@?@@~6WW<~6WWu@@@B@/@@@J@@@~6WW&~6WWv@@@@@P@@@@@S@@@@ఠ-complete_name{~7WzW~7WzW@~A@@y@@@[@j3~~~~~~~~@tm@n@oYR@S@T@@@డ|$Name&concat~7WzW~7WzW@ ~7WzW~7WzW@@,j@@@y@@@r@@q@y@@@p@@oy@@@n@@m@@l+@@ఐ預2current_class_name~7WzW~7WzW@Ѱ@@t8@@ఐ%label7WzW7WzW@A@@ #@@@H@@7@@LI@A@7WzW@@@@ఠ(info_opt|8WW8WW@0A@@F?z@@@@@@[@3%$$%%%%%@gun@o@p@@@@ఠ,ele_comments}58WW68WW@HA@@F?@@@@@@[@@@C8WWD8WW@@@(@@@!@ఐ?à5get_comments_in_classT8WWU8WX@?@@@F@@@@@@F@@@@@@F?@@@@@@@F?@@@@@@@@@@@@O@@ఐ_(last_pos8WX8WX @I@@\@@ఐ#loc8WX 8WX@@@, @@@@r@(Location8WX8WX@)loc_start8WX8WX"@@, @@+@@@@@&Lexing8WX#8WX)@(pos_cnum8WX*8WX2@@++@@GM@@@\@\@@@s @@@@@@\@@A@8WW@@@ఠ#exp~9X6XF9X6XI@A@@zx]@@@[@3@@@@@@@@డ|8search_method_expression0Typedtree_search:XLX^:XLXn@ :XLXo:XLX@@@?@@@@@@M@@@@@.@@@@@@@@M@Mʰ@@@Q@@@@@@M@@@@@@@@@@@@@?@@ఐɠ&tt_cls.:XLX/:XLX@@@mL@@ఐ䠐%label;:XLX<:XLX@v@@ X@@@\@@I@@a]@Ġ)Not_foundJ;XXK;XX@Y@@@@I@@@k@@@డ~%raiseY;XXZ;XX@U~@@@U~@@@@@^@@@@@ภ'Failuren;XXo;XX@ Cడ"=method_not_found_in_typedtree-Odoc_messages~;XX;XX@ ;XX;XX@@@"@@@x@@x"@@@x@@x@"tt"t@@"@@@@@@@@@@@@@@@@ఐ-complete_name;XX;XX@@@{@@@ @@;XX;XX@@ @@@@_@ @@;XX;XX@@U@@@^@@@k@@@@@:XLXZ @@@A@9X6XB @@@ఠ)real_type=Y Y=Y Y#@A@@]@@@9[@3@@@@@@డ2(get_desc>Y&Y8>Y&Y@@@@@]@@@@@@@@@@3@@@@@ఐ(#exp>Y&YA>Y&YD@(@@y@@@%@#@(exp_type>Y&YE>Y&YM@Q@@]E@@@!]@&]@$#@@1 @@E@@@'@Ġ&Tarrow'?YSYa(?YSYg@@,?YSYi-?YSYj@@@@@.;@@4?YSYl5?YSYm@@]e@@@/C@ఠ!t@?YSYoA?YSYp@SA@@]s@@@0Q@@J?YSYqK?YSYr@@*@@@1Y@@@)P?YSYs@@|@@@2^@@@@@3a@@@ఐ!t^@YwY_@YwY@@@@@3]\\]]]]]@(@@@@jAYYkAYY@@@@@5y@@@@@6|@@@ఐ#exp{CYY|CYY@@@y@@@=@;@)TypedtreeCYYCYZ@(exp_typeCYZCYZ @@Q@@@@@A>Y&Y2@@@A@=Y Y@@@ఠ$codeEZZ(EZZ,@A@@|I@@@j[@T@@@U[@B3@@@@@@డ%.נ.ٰFZ/Z>FZ/Z?@.ְ@@@.֠Uf@@@R[@P[@E@@@G@@F@@D@@డ.)keep_code+Odoc_globalFZ/ZJ@ FZ/ZKFZ/ZT@%@.&@@.$@@@N\@Q\@O<@@0 @@&=@ภ$SomeGZZZjGZZZn@{ఐC%2get_string_of_fileGZZZpGZZZ@B@@@J"@@@^@@]@J@@@\@@[J@@@Z@@Y@@Xc@@ఐ#loc GZZZ!GZZZ@ @@.@@@s@qy@(Location.GZZZ/GZZZ@)loc_start3GZZZ4GZZZ@@.@@.y@@@u@r@&LexingBGZZZCGZZZ@(pos_cnumGGZZZHGZZZ@@.u+@@Jl@@@n\@v\@t@@ఐ#loc`HZZaHZZ@`@@.@@@{@y@(LocationnHZZoHZZ@'loc_endsHZZtHZZ@@.װ@@.@@@}@z@&LexingHZZHZZ@(pos_cnumHZZHZZ@@.+@@J@@@l\@~\@|@@GZZZoHZZ@@@@@@}p@@@V@ภ$NoneJZZJZ[@}7@@@[@@FZ/Z;@@@A@EZZ$@@@ఠ#metL[[L[[!@A@@@@@[@3@#@@@@@ະ)met_valueN[2[@N[2[I@.S(val_nameN[2[NN[2[V@ఐ"-complete_nameN[2[YN[2[f@@@}@@@&@.[(val_infoO[i[yO[i[@ఐՠ(info_optO[i[O[i[@ @@.l.i@@@@@@[@A@.`(val_typeP[[P[[@డ@*subst_type(Odoc_envP[[P[[@ P[[P[[@@@@@@B@@@@@@@@@@@@@@@@@@@@o@@ఐ!:#env6P[[7P[[@!@@!|@@ఐq)real_typeCP[[DP[[@@@@@@@\@\@@@; @@.@@@\@@.-val_recursiveYQ[[ZQ[[@ภuz`Q[[aQ[[@uy@@@.@@@[@@..val_parametersnR[\oR[\@ఐ%i@@@@@@@@@|@@@@@B@@@@@@@@@@@@@@@@ఐ!#envR[\4R[\7@!@@"3@@ఐ-complete_nameR[\8R[\E@@@~@@@@@ఐ(info_optR[\FR[\N@@@;;@@@ @@@\@\@@@ఐ#expR[\OR[\R@@@|e@@@\@\@/@@t @@/4/1@@@@@@\@9@/)(val_codeS\U\eS\U\m@ఐe$codeS\U\pS\U\t@H@@/:/9@@@'@@@&[@(T@/3'val_locT\w\T\w\@ຠ-(loc_impl"T\w\#T\w\@ภ$Some*T\w\+T\w\@}ʠఐ#loc4T\w\5T\w\@4@@4@@@:[@A[@E[@D@@ @@- @@@9[@@@-)loc_interMT\w\NT\w\@ภ$NoneUT\w\VT\w\@~@@@--@@@N@@@M[@T@@@bT\w\cT\w\@@/@@@1[@X@@@jN[2[LkU\\@@4@@@[@[@ +met_privatewV\\xV\\@డXmXoV\\V\\@Xl@@@@@@t[@f@@g@ @@eXm@@@d@@c@@b@@ఐ+,private_flagV\\V\\@ذ@@@@ภ(AsttypesV\\V\]@'PrivateV\]V\] @@e@ @@-\@w@@@@ @@@`\@q@ +met_virtualW]]W]]'@ภvW]]*W]]/@v@@@ @@@}[@@@@M[$[0X]2]A@@@A@L[[@@ డRd<Z@@@SQ!@@`f_e_af_e_@@R@@@: e@@@@@ @@@; i@@ @@@< l@@@ఐ%預$iterug__vg__@%@@@%@@h@%@@g@%@@f@%@@e@%@%@@d@@c@@b@@a@@` @@ఐ%)acc_inherg__g__@%~@@& @@ఐ%*acc_fieldsg__g__@%z@@& @@ఐ!#locg__g__@ @@5/@@@@ @(Locationg__g__@'loc_endg__g__@@5-@@5@@@@ @&Lexingg__g__@(pos_cnumg__g__@@5 +@@&/[@ @@ఐ!_!qg__g__@!>@@&5S@ @@~@@ @Ġ)Parsetreei__i__@-Pcf_extensioni__i__@@;-Pcf_extension @T)extension@@@9@AF@G@AS7eprS8ep@@@T"@@i__i__@@@@@A!@@@@@!F@@@B! @@!I@@@C!#@@@ ภ{D*i_`+i_` @{C@@@{C@@@!0@1i_`@@!2@@@A3EE @@@&l@&k@@c354455555@!:@@@!K@@!!@@A>CMC@@@&[A@@&@@@&@@@&@@@&@@@&@&@@@@@@@@@@S@&o@@@YCMCS/@@ఐ&נ$iterck``dk``!@&z@@@:Р'@@@@@@@@@:۠'@@@@@@@@@Q@@@@@@{&@@@@@@@@@(@:@@@@@@@@@@@@@3@&@@@@ภ{۰k``"k``$@{@@@'S@@@ภ{k``%k``'@{@@@;'@@@S@&@@ఐ'(last_posk``(k``0@'w@@(#,@@ఐ'|%p_clsk``2k``7@'d@@(;@)Parsetreek``8k``A@,pcstr_fieldsk``Bk``N@@3,pcstr_fields(*@@@8$listK'*@@@8@@@8@@A3*pcstr_selfT'pattern@@@8@@@@AT-yyT -yy@@T@@AT#.yyT$.yy@@T@k``1'@@|<'G@@@@@@S@-S@*u@@(@@(8v@(@@(9'8@((A@(J@>(@Aw吠 Analysis of a [Parsetree.class_struture] and a [Typedtree.class_structure] to get a couple (inherited classes, class elements). BNBR BB@@@@@@@(@((@(1Aఠ2analyse_class_kind-n``.n``@@A@@@I@@@J@@@@m@@@@J@D@@l@AA@@@@@@J@H@@k@Q@@@|J@L@@j@"'@@@J@P@@i@f@@@J@T@@h@b'@4J@X@@g@ԠI@@@"J@@@@!J@\@(*class_kind@@@J@]@@f@@e@@d@@c@@b@@a@@`@@_3@())@)@)@@@࣠@#envAn``n``@A@@g3@u@p@@A@m@@E@j@@I@c@@M@`@@Q@]@@U@Z@@Y@Y@N@@^K@Z@@[K@V@@WK@R@@SK@N@@OK@J@@KK@F@@GK@B@@CK@?@@@@@@:9@@2current_class_nameAn``n`a@ A@@3@DP@G@H@@@@@@+comment_optAn`an`a @ A@@3@@@@@@@@@(last_posAn`an`a@ A@@3@@@@@@@@@,p_class_exprAn`an`a#@! A@@3        @@@@@@@@@,tt_class_expAn`a$ n`a0@2 A@@3@@@@@@@@@%tableA0n`a11n`a6@CA@@3/../////@@@@@@@@@@ఐ=,p_class_exprHoa9aFIoa9aR@%@@3FEEFFFFF@$@@@@@)ParsetreeToa9aSUoa9a\@(pcl_descYoa9a]Zoa9ae@@ ̰@@ @@@@@ఐO,tt_class_expkoa9agloa9as@7@@#@)Typedtreetoa9atuoa9a}@'cl_descyoa9a~zoa9a@@/@@/@@@5@@oa9aEoa9a@@@*@ @@>@@Ġ)Parsetreepaapaa@*Pcl_constrpaapaa@@;*Pcl_constr!@@@8@#x#loc)Longident!t@@@8@@@8ܠР@@@8@@@8@B@@H@AUrrUrr@@@V@ఠ#lidpaapaa@A@@'%@@@@@@3@@@@@paapaa@@%@@@ @@@ @@@Jpaa@@!R@@@ @@ఠ1tt_class_exp_descpaapaa@A@@02@@@ !@@paapaa@@@@ @@ *@ @@!q@@@@0G@@@@@ 6@@@@ఠ$nameqaaqaa@(#A@@@@@T@3@[T@U@V70@1@2@@@ఐ=1tt_class_exp_desc,raa-rab@ @@0n@@@3-,,-----@@@@Ġ)Typedtree?sb b@sb b @)Tcl_identDsb b!Esb b*@@07ఠ!pNsb b,Osb b-@a$A@@0<@@@#@@Xsb b.Ysb b/@@0=0;@@@@@@/@@dsb b0esb b1@@0<~@@@@@@;@@@/nsb b2@@0@@@@@@0@@@C@@@డ$Name)from_pathsb b6sb b:@ sb b;sb bD@@0@@@0@@@@@e@@@@@3@wLE@F@G@@@@ఐS!psb bEsb bF@ @@0)@@@W@W@@@* @@@@tbGbUtbGbV@@0@@@@@0@@@@@@డ$Name.from_longidentwccwcc@ wccwcc+@@@)Longident!t@@@ N@@ M@@@ L@@ K@UP y yVP y @@TR@@@@@@@@@@@@@@@@ఐ/#lidwcc,wcc/@ڰ@@U0@@@(W@4W@+@@@*@#txt wcc0 wcc3@YP@@W@,@@I@@@@@Araa@@@A@qaa@@@ఠ¶ms{cc{cc@1%A@@iYiW@@@@@@T@3'&&'''''@@@@@@ఐ,tt_class_exp:|cc;|cc@@@387788888@@@@)TypedtreeD|ccE|cd@'cl_typeI|cdJ|cd @@1y@@1x@@@@Ġ%Types\}dd]}dd$@*Cty_constra}dd%b}dd/@@;*Cty_constri*class_type@@@ @$Path!t@@@ ΠQi@@@ @@@ Ϡ@@@ @C@@C@Ag|YYg|YZ@@@i@ఠ#_p2}dd1}dd4@&A@@$@@@V@ఠ-type_exp_list}dd6}ddC@'A@@zi@@@@@@h@ఠ&_cltyp}ddE}ddK@(A@@J@@@v@@@X}ddL@@1@@@{@@1@@@~@@@ఐ(-type_exp_listdddd@'@(@)@@3@B;@<@=5#@@@@@@dddd@@1@@@@@2@@@@@@ภdddd@@@@@@@A|cc@@@A@{cc@@@ภ)dddd@(@@@(zJ@N@@@P3@@@@@@@ภ,Class_constrddde @;,Class_constr@@@@,-,class_constr@@@@AB@D@A'vo'wo@@@,2]@ະ3(cco_name@@@"3!t@@@@@@ 3)cco_class "1"/@@@@@@A@A @A'j'j@@,PY@33cco_type_parameters$listK%Types)type_expr@@@@@@@@B @A'k'k<@@,eZ@@A'i'i@@,iX@(cco_namePee*Qee2@డK/full_class_name(Odoc_env_ee5`ee=@ cee>deeM@@@M@@@d@@d@"1!t@@@d@@d"7!t@@@d@@d@@d@Kz ' 'Kz ' ^@@MQ@$@@@M@@@e@@d@@@@c@@b@@@a@@`@@_@@ఐ #enveeNeeQ@@@l@@ఐ$nameeeReeV@@@@@@}@@S@@:@@@u@)cco_classeYeheYeq@ภ$NoneeYeteYex@Y@@@"@@@@@@S@@3cco_type_parameterse{ee{e@డI$List#mape{ee{e@ e{ee{e@@J@@@@Lh@@@S@@@@@@S@S@S@@@@@@K@@@@@K@@@@@@@@@డL*subst_type(Odoc_enve{ee{e@ "e{e#e{e@@L@@@N@@@@@@L@@@@@L@@@@@@@@@@ఐ#envAe{eBe{e@b@@M@@Ee{eFe{e@@@L@@@@@L@@@@@Z@@ఐ=¶ms[e{e\e{e@d@@K^q@@@T@T@o@@ @@5m@@@T@v@@@ne eoee@@h@@@US@~@@t@@@@@T@@zdd{ee@@@@ @@@@@W@q @@@@@@l@@Ġ)Parsetreeeeee@-Pcl_structureeeee@@;-Pcl_structure@-@@@8@AA@H@AYrrYrs @@@Z@ఠ1p_class_structureeeef@A@@-@@@3@p@@@@@#@@%+@@@@@Ġ)Typedtreeefef@-Tcl_structureefef)@@;-Tcl_structure3@e@@@@AA@G@A7778 @@@@ఠ2tt_class_structureef*ef<@A@@e@@@!0@@@"@@4+@@@"4@@eeef=@@@9@ @@#=@ @@%j@@@%@4@@@@&@@$I@@@@ఠ,tt_class_sigffff@!)A@@lC/class_signature@@@T@3@le@f@g=6@7@8@@@ఐ ,tt_class_exp)ff*ff@@@3'&&'''''@@@@)Typedtree3ff4ff@'cl_type8ff9ff@@4h@@4g@@@@Ġ%TypesKfgLfg @-Cty_signaturePfg Qfg@@;-Cty_signature@B@@@ @AA@C@Aj}ZZj}ZZ?@@@l@ఠ)class_sigefgffg!@x*A@@U@@@@@@@"@@4@@@D@@4@@@G@@@ఐ)class_sigzfg%{fg.@@@@@l3yxxyyyyy@f@@@@g/g=g/g>@@4@@@_@@4@@@b@@@డ%raiseg/gBg/gG@e@@@e@@@@@W@@@w@@ภ'Failureg/gIg/gP@0 =analyse_class_kind: no class signature for a class structure.g/gRg/g@@g/gQg/g@@0@@@W@W@@@g/gHg/g@@e@@@ W@@@2@@@@@Aff @@@A@ff @@@@ఠ1inherited_classesgggg@+A@@BG/@@@q@@@pT@ 3@@@@@@@ఠ.class_elementsgggg@,A@@BN/@@@s@@@rT@!@@gggg@@@(@@@$!@ఐ/7analyse_class_structuregggg@@@@P|@@@B@@A@@@@@@@?@/@@@>@@=@X@@@<@@;@YH@@@:@@9@/@@@8@@7@/}@@@6@@5@@@3@B/t@@@0@@@/@B/o@@@2@@@1@@.@@-@@,@@+@@*@@)@@(@@'@@&v@@ఐӠ#envhggigg@@@6@@ఐ2current_class_nameugh vgh@@@:@@ఐt,tt_class_sighh,hh8@@@/@@@~U@U@@@ఐ(last_posh9hGh9hO@@@E@@ఐ,p_class_exprhPh^hPhj@@@O@)ParsetreehPhkhPht@'pcl_lochPhuhPh|@@'6@@>1@@@@@(LocationhPh}hPh@'loc_endhPhhPh@@>/&@@>@@@@@&LexinghPhhPh@(pos_cnumhPhhPh@@> :@@Y@@@zU@U@@@ఐ@1p_class_structurehhhh@ڰ@@0B@@@xU@U@@@ఐ$2tt_class_structurehh hh@@@0I@@@vU@U@*@@ఐ%tablehhhh@Ѱ@@7@@@@@G@1@@U@o@@A@)gg @@@ภm3ii 4ii @l@@@lFJ@@@@376677777@Vha@b@cQJ@K@L@@@@ภ/Class_structureIiiJii)@;/Class_structureG@0u@@@@@@#0p@@@@@@@B@@D@A+mPT+mP@@@0[@ఐ1inherited_classeslii+mii<@/@@%0@@@@@@S@S@>@ఐ.class_elementsii>iiL@D@@20@@@@@@S@S@T@@HiiM@@ @@@Y@@ii iiO@@@f@ @@b@v@@@ @@@@Ġ)ParsetreeiQiZiQic@'Pcl_funiQidiQik@@;'Pcl_fun@*)arg_label@@@8*#@@@8@@@8@@@8*@@@8@DB@H@A\ s%s'\ s%sh@@@]@ఠ&_labeliQimiQis@A@@&@@@73@@@@ఠ/_expression_optiQiuiQi@A@@/#@@@9@@@8@ఠ(_patterniQiiQi@A@@ @@@:!@ఠ-p_class_expr2 iQi iQi@A@@*@@@;/@@@diQi@@(@@@<4@@Ġ)Typedtree"ii#ii@'Tcl_fun'ii(ii@@;'Tcl_fun7@)arg_label@@@ڠ@@@۠f@!t@@@ޠ@@@@@@@@@ܠo@@@I@@@@EB@G@A8 88S8o@@@?@@[ii\ii@@0@@@G|@ఠ#patgiihii@zA@@@@@H@ఠ/_ident_exp_listuiivii@A@@B@A@@@K@@@@L@@J@@@I@ఠ.tt_class_expr2iiii@A@@o@@@M@ఠ(_partialiiii@A@@J@@@N@@@ii@@7@@@O@@iQiYii@@@@ @@P@ @@)%@@@R@7@@@S@@Q@@@@@ఠ)parameterjjjj@-A@@R@@@T@3@@@@@@@@@y@z@{sl@m@nYR@S@TLE@F@G@@@@ఠ1next_tt_class_expjjjj@.A@@p3@@@T@"@@jjjj@@@.@@@+@ఐ#pat jj jj@+@@@@@3        @<@@@)Typedtreejjjj@(pat_descjjjj@@{@@ @@@@@@U@@Ġ)Typedtree<jj=jk@(Tpat_varAjkBjk @@ఠ%identKjkLjk@^/A@@@@@3MLLMMMMM@|@@@@VjkWjk@@@@@@@@ @@bjkcjk@@@@@@@@,hjk@@UN@@@@@@@ @\U@@@@@@%@@డhlhnjk7jk8@hk@@@]@@@V@@@@ @@hl@@@@@@@3@NG@H@I@@@@డ$Name*from_identjk!jk%@ jk&jk0@@4@@@4@@@@@@@@@@%@@ఐw%identjk1jk6@/@@K@@@ X@ X@ 9@@' @@D:@@%*opt*jk:jk?@@jk9jk@@@SV@I@@7@@h{@@@W@O@ఐ].tt_class_expr2kkkk@ @@q0@@@@b@)Typedtreekkkk@'cl_desckkkk@@9G@@9C@@@t@Ġ)Typedtreekkkk@'Tcl_letkkkk@@;'Tcl_let9 @(rec_flag@@@S~@@@@@@\@!t@@@젠@@@@@@@@@q@@@@DD@G@A8889@@@1@@MkkNkk@@1@@@!@ĠZXl-leYl-lg@Yঠ&vb_patckkdkl@}ঠ(pat_descmklnkl @}8Ġ)Typedtreewklxkl@(Tpat_var|kl}kl @@ఠ"idkl"kl$@0A@@@@@I@@kl%kl&@@@@@K@@@J@@kl'kl(@@@@@L@@@+kl)@@@@@N@@@M@@@klkl+@@4@@@PY@O@'vb_exprl-lXl-l_@~"ఠ#expl-l`l-lc@1A@@@@@@T4@@@kkl-ld@@~@@@VY@U<@@l-lhl-li@@0~@@@X@@@WH@@@ @@~@@@Z@@@YP@@l-lkl-ll@@@@@@]@p@@@^@@\@@@[e@ఠ.tt_class_expr3l-lnl-l|@2A@@rA@@@_s@@@l-l}@@:G@@@`x@@:J@@@a{@@@@ఠ$namellll@+3A@@@@@zY@j3@@@jc@d@e,%@&@'@@@డa$Name*from_ident5ll6ll@ 9ll:ll@@ð@@@@@@o@@n@@@m@@l&@@ఐˠ"idQllRll@.@@@@@|Z@~Z@}:@@' @@>;@A@]ll @@@ఠ)new_paramhllill@{4A@@U@@@Y@3lkklllll@Q_X@Y@Z@@@ภ+Simple_namezll{ll@TpະT_'sn_namelmlm @ఐw$namelmlm@@@f@@@$@Th'sn_typemrmmrm@డT1*subst_type(Odoc_envmrmmrm@ mrmmrm@@T/@@@V@@@@@@T/@@@@@T*@@@@@@@R@@ఐ 8#envmrmmrm@ @@ _@@ఐ#expmrmmrm@@@]@@@@s@(exp_typemrmmrm@f@@Ta@@@Z@Z@@@I @@T@@@Z@@T'sn_textmm3mm:@డ2desc_from_info_opt.Odoc_parameter mm=mmK@ mmLmm^@@Lq@@@NʠN@@@@@@@@@Lq@@@@@LpLo@@@@@@@@@@@@ఐ O+comment_opt8mm_9mmj@ 7@@ @@ఐ-$nameEmmkFmmo@԰@@@@@@@?@@VV@@@@@@Z@@@@VlmWmm@@UH@@@Y@@@@@V@@@@A@bll @@@ఐ)new_paramnmn omn@@@@@3mllmmmmm@@@@@ఐ~.tt_class_expr3}mn~mn"@X@@@@mnmn#@@@@@@@(@@@. @@@@@@ip@@n$n7n$n8@@;@@@c @@;@@@d @@@డ%raisennnn@lͰ@@@l@@@@@@砠@@@Y@@@'@@ภ'Failurennnn@7 analyse_class_kind: strange casennnn@@nnnn@@7@@@Y@Y@D@@nnnn@@l@@@Y@L@@8@@UM@@@AkDkUno @@@@@@3@V@@@@o oo o@@ޠ@@@@@@@ @@@@@@@@@@@ఠ)new_param owo owo@5A@@W5@@@W@Y@ఐW:tt_param_info_from_patternoooo@O@@@W@@@i@@h@@@@@g@@fWyWv@@@e@@@dA@c@@b@D"@@@a@@@`@@_Wi@@@^@@]@@\@@[@@ఐ #envQooRoo@ r@@@@డ 2desc_from_info_opt.Odoc_parameterdooeop@ hopiop@@MȰ@@@P!P @@@@@@@@@M@@@@@MǠM@@@@@@@@@@3@@ఐ +comment_optopop"@ @@K@@@ooop#@@@M@@@@@MM@@@@@@@@Q@@ఐF#patp$p9p$p<@̰@@5@@@a@@@@b@A@owo@@@ఐ)new_parampQpcpQpl@@@@@V@3@@@@@ఐB.tt_class_expr2pQpnpQp|@@@V@@@pQpbpQp}@@@@ @@@,@@@@@Ajj @@@@@@@A@jj@@@@ఠ¶mspppp@ 6A@@J@#T@3@,:3@4@5@@@@@@ఠ!k pppp@ 7A@@J@J@ST@@@pppp@@@ @@@@ఐ2analyse_class_kind(pp)pp@@@@@@@@@@@@@@@@@@@@@@@@@ՠ@@@@@@@@@@@@@@@@@M@@ఐ #envWppXpp@x@@%Z@@ఐ2current_class_namedppepp@t@@)g@@ఐ+comment_optqpprpp@p@@-t@@ఐ(last_pos~pppp@l@@-@@ఐ-p_class_expr2pppq@@@1U@@@ఐ1next_tt_class_expqqqq%@@@7U@@@ఐ|%tableqq&qq+@^@@=@@@@@@@@U@ @A@pp @@@ภcq;qQq;qS@ఐ)parameterq;qGq;qP@ɰ@@P3@@@@@@@@ఐ᠐¶msq;qTq;qZ@ @@@@@@f@@@ @@ఐޠ!kq;q\q;q]@@@!@@q;qFq;q^@@@@@@$*@B@@@ @@ u#@@Ġ)Parsetree q`qi q`qr@)Pcl_applyq`qsq`q|@@;)Pcl_applyp@1@@@82@1)arg_label@@@8頠@*@@@8@@8@@@8@BC@H@AdSvvdTvvT@@@e$@ఠ-p_class_expr27q`q~8q`q@JA@@2@@@d398899999@@@@@Bq`qCq`q@@,@+@@@g@+@@@h@@f@@@e@@@LUq`q@@/@@@i@@Ġ)Tcl_applyaq`qbq`q@=ఠ.tt_class_expr2jq`qkq`q@}A@@v@@@q3@ఠ(arg_listxq`qyq`q@A@@=(@='@@@t@=%@@@u@@s@@@rN@@@,q`q@@>@@@vS@@q`qhq`q@@@B@ @@w\@ @@0 @@@y@>@@@z@@xh@@@@ఠ,applied_nameqqqq@8A@@@@@NT@%3@q@@XQ@R@SKD@E@F@@@ఐa.tt_class_expr2rrrr@@@w@@@*@(3@@@@)Typedtreerrrr@'cl_descrrrr@@?&@@?"@@@)@Ġ)Typedtreerrrr@)Tcl_identrrrr@@>ఠ!prrrr@9A@@>@@@33@O@@@@ rr rr@@>>@@@5@@@4 @@rrrr@@>@@@7@@@6@@@0"rr@@?b@@@8@@?e@@@9!@@@డb$Name)from_path6rr7rs@ :rs;rs @@>ð@@@>@@@C@@B@@@A@@@3CBBCCCCC@MF@G@H@@@@ఐT!pUrs Vrs@ @@>@@@PW@RW@Q@@* @@@@fs2s@gs2sA@@?@@@;@@?@@@<@@@ఐB-p_class_expr2ysszss@@@3F@@@W@U@)Parsetreessss@(pcl_descssss@@0@@0@@@V@Ġ)Parsetreessst@*Pcl_constrstst@@ఠ#lidstst@:A@@  @@@`@@@_@@stst@@,@@@b@@@a@@@'st@@15@@@c@@18@@@d@@@డ$Name.from_longidenttftztft~@ tfttft@@@@@@@@n@@m@@@l@@k3@4D=@>@?@@@@ఐM#lidtfttft@@@W2@@@{Y@Y@~@@@}@#txt tfttft@hR@@Y@%@@8@@^&@@tttt@@1@@@fJ@@1@@@gM@@@డ>Y*object_end-Odoc_messages+tt,tt@ /tt0tt@@>W@@`@@@A4ss@@-@@@A6rr@@~@A@8qq @@@ఠ*param_expsCttDtu@V;A@@@@@T@@@@T@3POOPPPPP@@@@@@డ$List*filter_mapetuftu@ itujtu@@@@!a@.@@/&optionL!b@.|@@@/@@/@@/@N@@@/@@/D@@@/@@/@@/@LM@@KZ@1,@@@@@?J@@@T@Ԡ@?J@\@T@@@T@@@6e@@@@@@@@/@@@@@rq@@@@@@@3@j@@@@@@@uu-uu.@@,{@@Ġ'Omitteduu0uu7@;'Omitted.arg_or_omitted!a@J!b@K@@@@@AA@B@A}6v6x}6v6@@@@Ġ*uu8uu:@)@@@@$unitF@@T@T@@@@.@@[@@9@@@g@b@@@@@ภ$Noneuu>uuB@@@@@@@@@@"uCuS#uCuT@@T@g@@Ġ#Arg.uCuV/uCuY@;#ArgV@R@A@@B@A|6h6j|6h6u@@@@ఠ!e?uCuZ@uCu[@RA@@$D@@@@ఐ!euuuu@2@@@@33@T@@@)Typedtreeuuuu@(exp_type uu uu@@n@@h@uuuu@@@O@@3u@@2U@>U@<o@@ఐࠐ*param_exps#uu$uu@y@@Z&c@@@0U@BU@@S@@u @@@A@0uu @@@ఠ+params_code;uu<uu@N?A@@Z8fU@@@xT@H@@@[T@C3EDDEEEEE@@@@@@డ$List#mapZuv[uv@ ^uv _uv @@Zr@@@@@@@T@K@@N+@@M@@L@Zo @@@J@@IZn6@@@G@@F@@E3vuuvvvvv@1@@@@࣠@!eAv v v v!@@A@@$D@@@@ఐ_2get_string_of_filev v%v v7@_M@@@f@@@l@@k@f@@@j@@if@@@h@@g@@f3@d,F@#@$@@@@ఐ9!ev8vJv8vK@@@Y@'exp_locv8vLv8vS@n @@K@@@@@"@(Locationv8vTv8v\@)loc_startv8v]v8vf@@KS@@K @@@@6@&Lexingv8vgv8vm@(pos_cnumv8vnv8vv@@K2@@g@@@|W@W@L@@ఐ!e vwv vwv@\@@_@'exp_locvwvvwv@o @@K@@@@k@(Locationvwvvwv@'loc_end#vwv$vwv@@K@@Ki@@@@@&Lexing2vwv3vwv@(pos_cnum7vwv8vwv@@Ke2@@gR@@@zW@W@@@ @@@Dv vEvwv@@@@@` @@_U@U@@@ఐ*param_expsXvvYvv@@@[[@@@]U@U@@@  @@#@A@euu @@@ภovvpvv@@@@J@@@@3srrsssss@/C<@=@>@@@@ภ+Class_applyvvvw@;+Class_apply@=+class_apply@@@@AA@D@A8n8n@@@=\@3)capp_name@@@3!t@@@@@@ 3*capp_class 3='t_class@@@@@@A@A @A9eRT9eRx@@=U@3+capp_params~)type_expr@@@@@@@@B@A9%fy{9&fy@@=V@30capp_params_code,&stringQ@@@@@@@@C/@A96g97g@@=W@@A9:d<>9;d<Q@@=T@)capp_namewwww@డ]s/full_class_name(Odoc_envwwww$@ ww%ww4@@@@@_[@@@@@@@@@@@@@@@@@@@@ఐz#envww5ww8@0@@@@ఐl,applied_nameww9wwE@ǰ@@@@@@@7@@@@@@*capp_class,wHwW-wHwa@ภ$None4wHwd5wHwh@@@@@@@@@@S@@+capp_paramsFwkwzGwkw@ఐ+param_typesOwkwPwkw@@@@@@@@@S@@0capp_params_codeawwbww@ఐ/+params_codejwwkww@@@@@@@@@S@@@@wwwxww@@@@@S@@@@@@@@ @@vvww@@@@ @@ @'@@B@] @@@ @@ 9@W @@ @@Ġ)Parsetreewwww@'Pcl_letwwww@@;'Pcl_let@8{(rec_flag@@@8ʠk-value_binding@@@8@@@88@@@8@CD@H@Aj wLwNj wLw@@@k@@wwww@@@@@3@@@@@wwww@@! @@@@@@ @ఠ-p_class_expr2wwwx@A@@8@@@@@@Hwx@@6V@@@ @@Ġ)Typedtreewx wx@'Tcl_letwxwx@@ @wxwx@@ @@@:@@wx  wx!@@ @@@@@@F@@wx#wx$@@ @ @@@@@@@@@@@@[@ఠ.tt_class_expr2-wx&.wx4@@A@@}o@@@i@@@@5wx5@@Eu@@@n@@:ww;wx6@@@X@ @@w@ @@6@@@@E@@@@@@@@ఐ*2analyse_class_kindWxixsXxix@@@@)@@@$@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@ @@ @@ 3wvvwwwww@3@@WP@Q@R@@@@ఐ#envxxxx@@@Y@@ఐ2current_class_namexxxx@@@]@@ఐ+comment_optxxxx@@@a,@@ఐ(last_posxxxx@@@a9@@ఐࠐ-p_class_expr2xxxx@B@@eT@AH@@ఐ.tt_class_expr2xxxx@P@@kT@BW@@ఐ%tablexxxx@@@qd@@@@]e@@Ġ)Parsetreexxxy@.Pcl_constraintxyxy@@;.Pcl_constraintX@9@@@8l*class_type@@@8@BE@H@Al-'xxl.'xy@@@l@ఠ-p_class_expr2xyxy"@$ A@@9@@@@ఠ._p_class_type2xy$ xy2@2!A@@#@@@@@@6'xy3@@7@@@@@Ġ)Typedtree5y5y>6y5yG@.Tcl_constraint:y5yH;y5yV@@Evఠ.tt_class_expr2Dy5yXEy5yf@W"A@@~@@@@@Ny5yhOy5yi@@EE@@@@@@ @@Zy5yk[y5yl@@EE@@@@@@@@fy5yngy5yo@@EE@@@@@@$@@ry5yqsy5yr@@E@@@,@@@Cxy5ys@@F@@@1@@}xx~y5yt@@@[@ @@:@ @@7@@@ˠ@F@@@@@F@@@@@ఠ!lyxyyxy@AA@@-T@E3@]@@@@kd@e@f@@@@ఠ*class_kindyxyyxy@BA@@ T@F@@yxyyxy@@@@ @@I@ఐ2analyse_class_kindyxyyxy@/@@@@@Y@@@X@@@W@@@V@@@U@@@T@{@@S@x@m@@R@@Q@@P@@O@@N@@M@@L@@KK@@ఐe#envyyyy@@@X@@ఐ/2current_class_nameyyyy@@@e@@ఐ++comment_optyyyy@@@r@@ఐ'(last_pos!yy"yy@@@@@ఐ-p_class_expr2.yy/yy@@@U@@@ఐ.tt_class_expr2=yz>yz@@@U@@@ఐ%tableLyzMyz@@@@@@@@@@@U@w@A@Yyxy @@@ఠ/class_type_kinddzzezz@wCA@@A/class_type_kind@@@T@3jiijjjjj@@@@@@@@ภ*Class_typez{{{{{@;*Class_type@@@@A0class_type_alias@@@@AA@B@A<@  <@  2@@@Ak@ະ3(cta_name@@@7!t@@@@@@ 3)cta_class 77@@@@@@A@A @A= | g i= | g @@Ah@33cta_type_parametersxv)type_expr@@@@@@@@B@A=}  =}  @@Ai@@A=!{ R T="{ R f@@Ag@(cta_name{{{{@డE*object_end-Odoc_messages{{{{@ {{{{@@E@@E@@@T@o@C)cta_class{|{|@ภ$None{|{|@@@@S7@@@@@@T@@O3cta_type_parameters{|"{|5@ภ?{|8{|:@>@@@^]@@@@@@T@@@@{{{|<@@@@@T@@@@@@@@@A@zz @@@ఐ!l*|J|U+|J|V@@@3(''(((((@@@@@@@ภ0Class_constraint8|J|X9|J|h@;0Class_constraint6@@@@@@@@BC@D@A=p=p@@@Bg^@ఐ*class_kindQ|J|jR|J|t@@@'@ఐ/class_type_kind\|J|v]|J|@/@@@@@S@S@9@@/g|J|@@@@@>@@l|J|Tm|J|@@@Ϡ@ @@G@W@@@ @@@@|||}||@@@9@@@Ѡ@H@@@@@?@@@9@@@Ԡ@H@@@@@K@@@డ%raise||||@yİ@@@y@@@@@@9@.@@T@@@f@@ภ'Failure||||@D 8analyse_class_kind: Parsetree and typedtree don't match.||||@@||||@@D@@@T@T@@@||||@@y@@@T@@@8@@S@@@Aoa9a? @@@g@\@@+3@@@@IA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J@i@@jؐ q Analysis of a [Parsetree.class_expr] and a [Typedtree.class_expr] to get a pair (class parameters, class kind). m`Q`Um`Q`@@@@@@@n``F@@G@@ఠ-analyse_class " }V}^# }V}k@5DA@@@d@@@J@@@@ @@@J@@@@pWpT@@@@@@J@@@@pL+class_infos="@@@J@@@@J@@@@20)type_expr@@@@@@J@@@@@@@J@@@@}:@pJ@@@@@@J@@@J@@@J@@@J@@@J@@@J@@@J@@@J@3@@@@࣠@#envA }V}l }V}o@EA@@n3@} }V}Z' @@@@@  @@3current_module_nameA }V}p }V}@FA@@w3@!@@@@@@@@+comment_optA }V} }V}@GA@@}3@@@@@@@@@,p_class_declA }V} }V}@HA@@3@@@@@@@@@.tt_type_paramsA }V} }V}@IA@@}3@@@@@@@@@,tt_class_expA }V} }V}@JA@@{3@@@@@@@@@%tableA }V} }V}@KA@@3@@@@@@@@@@ఠ$nameˠ }} }}@%LA@@=#loc=@@@@@@R@3@ ,@#@$@@@ఐe,p_class_decl. }}/ }}@M@@@)Parsetree7 }}8 }}@(pci_name< }}= }}@@3(pci_name!a@5v@@@81/@@@8@@@8@@B3(pci_virt>$,virtual_flag@@@8@@@@Apoopoo@@qP@3*pci_paramsx@7v@@@8ˠ@@>@(variance@@@8͠@>G+injectivity@@@8@@8@@8@@@8@@A,@Apoopoo@@qt@A3(pci_exprA>@@C2@Appp ppp@@qz @3'pci_locGp!t@@@8@@D>@Apppppp1@@q @3.pci_attributesS>@@@8@@EG@App2p7pp2pR@@q @@Apoopop@@q@rc@@~@A@ }}e@@@ఠ-complete_name̠ }} }~ @MA@@@@@R@3@@@@@@డ$Name&concat }~ }~@  }~ }~@@TY@@@@@@@@@@@@@@@@@@@@@)@@ఐA3current_module_name }~ }~.@)@@6@@ఐ堐$name }~/ }~3@B@@@@@S@@@@N@#txt }~4 }~7@sL@@ S@V@@G@@ZW@A@  }}@@@ఠ#loc͠ ~;~E ~;~H@+NA@@<@@@R@3@m{t@u@v@@@ఐf,p_class_decl/ ~;~K0 ~;~W@N@@@)Parsetree8 ~;~X9 ~;~a@(pci_expr= ~;~b> ~;~j@@@@J@J@J@&@)ParsetreeM ~;~kN ~;~t@'pcl_locR ~;~uS ~;~|@@<Ѱ'@@85@A@W ~;~A@@@ఠ)pos_startΠb~~c~~@uOA@@S@@@!R@3feefffff@KYR@S@T@@@ఐa#locy~~z~~@@@S@@@ @@(Location~~~~@)loc_start~~~~@@T@@S@@@"@*@&Lexing~~~~@(pos_cnum~~~~@@Sΰ+@@<9@A@~~@@@ఠ/type_parametersϠ~~~~@PA@@PJ@#3@KYR@S@T@@@ఐ堐.tt_type_params~~~~@Ͱ@@^ @A@~~@@@ఠ$virtР~~~~@QA@@{@@@5R@$3@#-&@'@(@@@డK{Π{а~~ @{Ͱ@@@@@@9R@*@@+@ @@){@@@(@@'@@&@@ఐ8,p_class_decl~~~ @ @@-@)Parsetree ~  ~@(pci_virt~~@@@@(<@@ภ(Asttypes~!~)@'Virtual#~*$~1@@;'Virtualti,virtual_flag@@@@@@@B@@AtWktXk@@@tnX@@@@JS@>^@@5@@b_@A@7~~@@@ఠ&cltypeѠB5?C5E@URA@@e*class_type@@@SR@?3IHHIIIII@x@@@@@డe0subst_class_type(Odoc_env^5H_5P@ b5Qc5a@@@g@@@d@@d@e*class_type@@@d@@d/@@@d@@d@@d@eN 2 2eN 2 t@@gV@!@@@g@@@G@@F@@@@E@@DE@@@C@@B@@AB@@ఐ#env5b5e@@@qO@@ఐ,tt_class_exp5f5r@@@5^@)Typedtree5s5|@'cl_type5}5@@L@@N@@@US@\S@Zt@@e @@{u@A@5; @@@@ఠ*parametersҠ@SA@@5h@@@@@@R@^3@@@@@@@ఠ$kindӠ@TA@@l@@@R@_@@@@@$@@@b@ఐ٠2analyse_class_kind@j@@@hp@@@}@@|@@@@{@@z@`̠`@@@y@@@x@@w@p@@@v@@u@@@@@t@@s@r@@@r@@q@@@o@hg@@@m@@@l@@@@n@@k@@j@@i@@h@@g@@f@@e@@dk@@ఐ #envUV@@@,x@@ఐ-complete_namebc@A@@=@@@S@S@@@ఐ+comment_optvw@@@7@@ఐ!)pos_start @ΰ@@q@@@S@S@@@ఐР,p_class_decl   @@@K@)Parsetree ! *@(pci_expr + 3@@*@@fJ@@@ఐˠ,tt_class_exp4>4J@@@B@@ఐǠ%tableKUKZ@@@D@@@@@@@@S@@A@ @@@ఠ+comment_optԠdndy@UA@@tϠt@@@@@@R@3@ @@@@@@@డsI.analyze_alerts(Odoc_sig||@ ||@@sG@@@uu@@@@@@@@@sG@@@@@uu@@@@@@@@@@3@@ఐm+comment_opt%|&|@U@@@@@ఐk,p_class_decl4|5|@S@@O@)Parsetree=|>|@.pci_attributesB|C|@@@@s@@@S@S@e@@T @@mf@A@Odj @@#3'cl_name @@@>n!t@@@@@@# 3'cl_info >lC$info@@@@@@A@A@ACs*,Cs*U@@H`@3'cl_type8*class_type@@@@@B@ACtVXCtVs@@Ha@32cl_type_parameters(@@@@@@@@C'@ACutvCut@@Hb@3*cl_virtual5$boolE@@@@@D3@ACvCv@@Hc@3'cl_kindA @@@A@E<@ADwDw@@Hd@3-cl_parametersJl.Odoc_parameter)parameter@@@@@@A@FO@ADxDx @@He@3&cl_loc]D"(location@@@A@G[@ADy  D y  6@@Hf@@AD#rD$r)@@H_@'cl_name@ఐ#-complete_name@@@@@@3@@@@@@z'cl_info   @ఐ +comment_opt  @@@@@@@@@Q@@'cl_type!!)!!0@ఐ&cltype!!3!!9@"@@@@@Q@5@2cl_type_parameters#X`#Xr@ఐi/type_parameters#Xu#X@B@@hG@*cl_virtual""<D#"<N@ఐ]$virt+"<Q,"<U@ݰ@@@@@ Q@!^@'cl_kind9$:$@ఐW$kindB$C$@X@@ @@@'Q@(u@-cl_parametersP%Q%@ఐ*parametersY%Z%@p@@@@@1@@@0Q@2@&cl_lock&l&@ຠTڡ(loc_implv&w&@ภ$Some~&&@ఐp#loc&&@@@\=@@@GQ@NQ@RQ@Q@@ @@T @@@FQ@M@T𡠐)loc_inter&&@ภ$None&&@?@@@UT@@@[@@@ZQ@a@@@&&@@@@@>Q@e@@@ @@:@q!@@;@"@@<@#@@=t@$@@>@%@@?@ &@@@Z@o'@@A@(@@B@')@@C@3*A@J@s1@A0 ` Analysis of a [Parsetree.class_declaration] and a [Typedtree.class_expr] to return a [t_class]. || |}U@@@@@@@=@=<@QAఠ8tt_name_from_module_exprՠ++@VA@@@I@@@J@u@@z@@@J@w@@y3@!]@@@@@࣠@(mod_exprA++@WA@@3@*@%@@v @@xK@t@*@+@@@@ @@ఐ(mod_expr ,!,@5@@@@63@'@@@)Typedtree,,-,@(mod_desc1,2,@@3(mod_desc@@@)%0module_expr_desc@@@$@@@ 3'mod_loc !t@@@%@@A @A====@@2@3(mod_type5+module_type@@@&@@B@A====@@>@3'mod_env#!t@@@'@@C!@A====@@J@3.mod_attributes/@@@(@@D*@A===> @@S@@A====@@W@Q?@@8@@@P@Ġ)Typedtree-- @*Tmod_ident- -@@;*Tmod_identQ@@@C@C!t@@@3#loc6module_type_constraint@@@?/module_coercion@@@@@DE@G@A@l@n@@@@@@ఠ%m_expؠ9.1T:.1Y@LYA@@@@@@@C.1[D.1\@@*@@@$@@K.1^L.1_@@+@@@,@@S.1aT.1b@@-@@@4@@@MY.1c@@!@@@9@@$@@@<@@@ఐ8tt_name_from_module_expri.1gj.1@_@@@@@}@@3kjjkkkkk@M=6@7@8@@@@ఐD%m_exp}.1~.1@ @@N@@@@@@Ġ)Typedtree//@.Tmod_structure//@@;.Tmod_structure@)structure@@@6@AA@G@AP??Q??@@@@@//@@@@@@@@@@|@@@@@@Ġ)Typedtree00@,Tmod_functor00@@;,Tmod_functorB@1functor_parameter@@@7,@@@8@BB@G@A???@ @@@@@00@@@@@@@@>@@@@@@' @@@@@@@@@V@@@@@@Ġ)Typedtree11@*Tmod_apply11@@;*Tmod_applyz@^@@@9b@@@:@@@;@CC@G@A@ @ @ @H@@@@@11@@s@@@@@@x@@@@@ @@@@@@@.@@@@@@@@@@@@@@ @Ġ)Typedtree92:2@/Tmod_apply_unit>2?2 @@;/Tmod_apply_unit@@@@<@AD@G@A@I@K@I@k@@@3@@O2 P2 @@@@@0@@@@@@@@4@@4@@ @@ @@@8@Ġ)Typedtreef3 g3 @+Tmod_unpackk3 l3 *@@;+Tmod_unpack@@@@A]+module_type@@@B@BF@G@A$AIAK%AIAz@@@g@@3 +3 ,@@@@@d@@@@@@i@@@( @@U@@@m@@m@@@@Y@@@q@@@డP*struct_end-Odoc_messages40:40G@ 40H40R@@P@@@y-@P==P=T@@P@ @@@@@A,@@3@@@@A@@@@S@@RJ@P@@  Get a name from a module expression, or "struct ... end" if the module expression is not an ident of a constraint on an ident. ) *f@@@@@@@+'@@(@ՠ@ఠ;tt_get_included_module_list٠77@ZA@@@B@@@J@U@@V`>/included_module@@@z@@@yJ@W@@XJ@T3@@@@࣠@,tt_structureA77@[A@@ 3@/7E@@@@@  @@@ఠ!fܠ88@'\A@@@`u9@@@L@|@@@L@\@@]@@@@kL@b@@cL@d@@eL@^@@_L@[310011111@5AW@8@9@@@࣠@#accAD8E8@W]A@@*3CBBCCCCC@9L8MCr@@@@@  @@$itemAX8Y8@k^A@@-3WVVWWWWW@!A@@@@@@@@ఐ$iteml9m9@@@@@@A3kjjkkkkk@!@@@(str_descv9w9 @ @@@@@j @Ġ)Typedtree::%@,Tstr_include:&:2@@ఠ$incl:3:7@_A@@@@@p.@@@@@C@@@q2@@F@@@r5@@@డ!@;;K;;L@a@@@a@@@@@@gE@@@~@@}a@@@{@@z@@y3@V4-@.@/@@@@ఐ#acc;;G;;J@v@@@@ภ<OaAQbAޠະ3'im_name@@@-!t@@@(@@@ 3)im_module &optionL#mmt@@@*@@@)A@A@A8ocamldoc/odoc_module.mlig24g2S@@Y@3'im_info*Odoc_types$info@@@,@@@+A@B#@AhTVhT@@Z@@Af f1@@X@'im_name==@ఐC8tt_name_from_module_expr)=*=@@@@@@@@@@@@@@q@@ఐ$inclB=C=@}@@9@@@@(incl_modL=M=@3(incl_mod<-include_infos!a@5@@@@@@ 3)incl_type E)signature@@@@@A @A SS SS@@NY@3(incl_loc!t@@@@@B@ASSSS@@ZZ@3/incl_attributes%@@@@@@@@C#@A%SS&SS@@h[@@A)SS*SS@@lX@D9@@@@@R@R@@@eA@@@@@R@@)im_module>>@ภ$None>>@7@@@@@@@@@Q@@'im_info?,?3@ภ$None?6?:@Q@@@@@@@@@Q@@@@@=P@@R@@ภAQaA@A@0@@@Q@@@;;M@@hd@@@Q@@@@@@@BcmBcn@@@@@t|@@@@@u@@@ఐ#accCr~@@@@@@A9@@3@@@@A@L@@@A@@డp$List)fold_left E E@ EE@@L@@@@4K@E@@N@q@@@|K@H@@M @@L@@K@@J@@@I@L@@@G@@F@@D@@C@@B3-,,-----@$@@@@@@ఐ+!f?E@E@ @@@b]@@@s@@@r@@v@@@@u@@t@@q@@p"@@ภ\E]E@@@@xK@/@@ఐr,tt_structuremEnE@7@@>@)str_itemstEn@3)str_items@@@H@@@E@@@D@@@3(str_typem)signature@@@F@@A @A3AA4AA@@v@3-str_final_env!t@@@G@@B@A?AA@AA@@@@ACAADAA@@@3@@L@@@aL@L@v@@@@w@^@@t@A@J@@A I Get the list of included modules in a module structure of a typed tree. 6TX6T@@@@@@@@@ˠ@ఠ>replace_dummy_included_modulesIltIl@`A@@@ .module_element@@@)@@@,J@@@@@@@.@@@-J@@@J@@@(J@@@J@@@J@3@ @@@@@࣠@/module_elementsAIlIl@aA@@23@AIlp UGr@@@@@  @@0included_modulesAIlIl@'bA@@53@!I@@@@@@@@Aఠ!f'J(J@:cA@@@@me@@@M@@@@M@@z]@@@M@@@@M@@@M@@@M@(@@@,M@@@3POOPPPPP@>Ju@A@B@@@@@ĠfKgK@@@@@43dccddddd@H@C@@%@@N@@H@I@@@@@vKwK@@6@@yKzK@@@J@?@@@@@ภLL@@@@< @@ĠMM@Ġ7Element_included_moduleMM@;7Element_included_module@@@$@@@@@AB@J@A[)+[)W@@@{N@ఠ"imMM@dA@@@@@3@R@@@@@MM@@M@M@@ఠ!qM M!@eA@@)@@@@@@@@M@@@ĠݰM,M.@ܠఠ'im_replM$M+@fA@@-@ఠ$im_qM/M3@gA@@O@@@<@@@M#M4@@M@@@@MM5@@@0@ @@I@@@ภ|԰ O O@ ภ7Element_included_moduleN9FN9]@uະ53@@@O@@12/@@@@@@O@A)'im_info0N9m1N9t@ఐ"im;N9w<N9y@@@@@U@@@@3?>>?????@ }@~@j@d@e`Y@Z@[@@@'im_infoPN9zQN9@P@@QP@@@@@@O@@@ఐ'im_repldN9`eN9g@@@ #@hN9^iN9@@@@@O@+@@pN9EqN9@@8O@0@ఐW!f~OO@@@@V@@ 8@@ A@@@ఐʠ!qOO@L@@aM@T@@ఐ$im_qOO@X@@bM@b@@OO@@zM@g@@OO@@aj@@?@@bk@@ĠPP@Ġ7Element_included_modulePP@&ఠ"imPP@hA@@@@@3@j@@@@@PP@@M@@ఠ!qPP@iA@@@@@@@@@@@M@@@Ġ,PP@+@@@@M@$@@PP@@@@ @@-@@@ภ}аQQ@ภ7Element_included_moduleQQ@qఐL"imQQ@K@L@M@@4@@@"O@$O@#3@^ JC@D@E@@@@(Q)Q@@O@! @ఐT!q4Q5Q@@@M@@@@O@&O@%@@ @@@@ĠOMRNR@Nఠ#eleVRWR@ijA@@ M@3VUUVVVVV@@@@ఠ!qcRdR@vkA@@à@@@@@@@@7M@@@ఠ!lvRwR@lA@@8M@!@@}R~R@@@@ @@*@@@ภ~US 0S 2@ఐ>#eleS ,S /@=@>@?@@>3@2J=6@7@8+$@%@&@@@ఐ!fS 4S 5@?@@@@@/b@@.@@@ఐZ!qS 7S 8@#@@M@8*@@ఐU!lS :S ;@0@@T6@@S 6S <@@M@9;@@S 3S =@@>@@C@@?@@AJ@@@@@@@@@@M@x@@@J@@ఐŠ!fUGMUGN@@@@@-#@@@@@@@6@@@@@@@@@@c@@@@@@@@ఐ/module_elementsUGPUG_@@@J@@ఐ0included_modules%UGa&UGq@а@@E@@)UGO!@@@\@M@@+M@;@@G*@@E@R+@@F@5,A@iJ@?3@A This function takes a [module element list] of a module and replaces the "dummy" included modules with the ones found in typed tree structure of the module. DGEH,k@@@@@@@?@?>@UAఠ )filter_module_with_module_type_constraintRZ4@SZ4i@emA@@@/(t_module@@@J@D@@g@%Types+module_type@@@J@H@@fe@@@UJ@J@@e@@d3onnooooo@@@@@@࣠@!mAZ4jZ4k@qA@@,3@=@8@@E@3@@I)@@KK@F@@GK@@@C@D .filter_module_type_with_module_type_constraint@v-t_module_type@@@J@L@@M@I+module_type@@@yJ@P@@Q@@@-J@R@@SK@N@@OK@A@d"dP@@nA 2filter_module_elements_with_module_type_constraint@@@@TL@@@@J@T@@U@ )signature@@@J@X@@Y$listK@@@SJ@Z@@[K@V@@WK@B@kaika@@oA 9filter_extension_constructors_with_module_type_constraint@/.Odoc_extension7t_extension_constructor@@@L@@@@J@\@@]@3J@`@@a$listK@@@J@b@@cK@^@@_K@C@fnf@@,pA@@@@@@"mtA&Z4l'Z4n@9rA@@3%$$%%%%%@@@@@@@@@@ఐ!m>[q}?[q~@@@3<;;<<<<<@$@@@@@&m_kindH[qI[q@3&m_kind@@@W"+module_kind@@@NA@E/3&m_name +!t@@@H@@@@A_|  `|  @@.k@3&m_type@@@IA@A@Ah}  i}  5@@7l@3&m_infozg$info@@@K@@@JA@B"@Ay~ 6 8z~ 6 `@@Hm@3.m_is_interface0$boolE@@@L@@C.@A a c a y@@Tn@3&m_file<&stringQ@@@M@@D:@A@ z |@ z @@`o@H3%m_locH(location@@@OA@FF@AB  B  @@lq@3*m_top_depsTx!t@@@Q@@@PA@GV@AC  C  @@|r@3&m_coded,@@@S@@@RA@He@AD  D  @@s@3+m_code_intfsΠ;@@@U@@@TA@It@AE  E  @@@t@3+m_text_onlyR@@@V@@J~@AF A CF A V@@u@@AA  A  @@p@@@@@@@@ఐĠ"mt[q[q@@@@@@@@@@@@@Ġ-Module_struct\\@;-Module_struct@@@G@$4@@@9@@@8@A@@I@Arimri@@@b@ఠ!l\\@.sA@@K@@@@@@@@@( @@@@@@@Ġ%Types4\5\@-Mty_signature9\:\@@;-Mty_signaturem+module_type@@@ @h@@@ @AA@D@A]G]I]G]e@@@v$@ఠ$lsigS\T\@ftA@@{@@@@@@'@@J@J@@@@b @@@>@ @@&@@@@@@@@@/@@@ ఐ!m{]|]@Q@@$3yxxyyyyy@?jc@d@e3,@-@.@@@&m_kind]]@?ภ-Module_struct]]@ఐؠ 2filter_module_elements_with_module_type_constraint]]@ܰ@@@@@@@@@@@@(@@ఐ!l]]@1@@J@J@8@@ఐm$lsig]]"@@@@E@@]]#@@H@@8@@z@@@O@N@R@@@@@O@T@ఐ\!m^%/^%0@@@`@&m_type^%1^%7@ఐȠ"mt^%;^%=@@@p@@@J@r@v^%>@@t@@_?G_?H@@@@@@@@@@ @@@@@@@@@@@ภD_?L_?N@C@@@@@@A[qw@@3@@@@A@@@@@@@@@@@J@@@ This function removes the elements of the module which does not belong to the given module type, if the module type is expanded and the module has a "structure" kind. /Wtx0Y3@@@@@@@2Z48!@}|@{~@@@@k@@@j@@i@@h3<;;<<<<<@@@@࣠@$mtypAMdQNdU@`uA@@3LKKLLLLL@@@@@@@"mtA\dV]dX@ovA@@3[ZZ[[[[[@@@@@@@@@@ఐ*$mtypte[gue[k@@@3rqqrrrrr@$@@@@@'mt_kind~e[le[s@3'mt_kind@@@o\0module_type_kind@@@m@@@lA@E3'mt_namef!t@@@e@@@@AS  S  @@i}@3'mt_info$info@@@g@@@fA@A@AT  T  @@z~@3'mt_type,@@@i@@@hA@B'@AU  U  <@@@3/mt_is_interface:@@@@j@@C1@AV = ?V = V@@@@3'mt_fileD>@@@k@@D;@AW W YW W j@@A@N3&mt_locN(location@@@nA@FG@AY  Y  @@C@@AX k mX k @@B@k`@@ZY@@@@@@o@@ఐ"mte[ue[w@x@@D{@@@@@@K@@@@Ġ$Somef}f}@Ġ2Module_type_structf}f}@;2Module_type_struct@@@d@5D@@@]@@@\@A@@E@A #M   $M  @@@x@ఠ!l+f},f}@>wA@@L[@@@%@@@$@@@' @@@@@&@@@4@@@@@(@@@'@@Ġ%TypesLf}Mf}@-Mty_signatureQf}Rf}@@ఠ$lsig[f}\f}@nxA@@@@@+@@@@@J@J@J@)@@@d@@@4@@@,@@@@@@/@@@.@@@-@@@ ఐ?$mtypgg@)@@3@ha@b@c92@3@4@@@'mt_kindgg@ภ$Somegg@=ภ2Module_type_structgg@ఐ 2filter_module_elements_with_module_type_constraintgg"@@@@@@Y@@@X@@W@@V1@@ఐ!lg#g$@:@@J@d@@@ఐ{$lsigg%g)@H@@@@@iP@@gg*@@S@@gg+@@]@@@EO@LO@R]@@M @@g @@@DO@Kd@h@@@@@pO@oj@ఐ$mtyph-7h-;@@@av@'mt_typeh-<h-C@\ภ$Someh-Gh-K@ఐ"mth-Lh-N@@@m@@@@pq@@@xN@@$ @@mJ@@%h-O@@p@@,iPX-iPY@@@@@@5@@@4@@@3@@@@@@8@@@7@@@6@@@ภMiP]NiP_@@@@@@@AQe[a@@3MLLMMMMM@@@@A@@@@@@@@@@@J@ @@1 This function removes the elements of the module type which does not belong to the given module type, if the module type is expanded and the module type has a "structure" kind. kaPTlc@@@@@@@nd!@@@@@@o@@@n@@m@@l3xwwxxxxx@ @@@࣠@!lAkaka@yA@@3@@@@@@@$lsigAkaka@zA@@3@@@@@@@@@@ఠ$predll@{A@@@@@@M@@@$boolE@@@bM@@@M@3@'3@*@+@@@࣠@#eleAll@|A@@@@@@@ఠ!f mm@}A@@@.signature_item@@@O@@@ @@@WO@@@O@3@5/D@&@'@@@ఐ5#elemm@ @@P3@@@@Ġ.Element_modulenn@;.Element_modules@@@@@A@@J@A Y Y@@@L@ఠ!m $n%n@7~A@@@@@3&%%&&&&&@5@@@@@@@x@@x@@@@Ġ%Types:p ;p "@*Sig_module?p #@p -@@;*Sig_moduleX@@@ @%Ident!t@@@ /module_presence@@@ 2module_declaration@@@ *rec_status@@@ *visibility@@@ @EC@G@A_7_9_I_@@@.@ఠ%ident tp /up 4@A@@0@@@3vuuvvvvv@]V@W@X@@@@p 5p 6@@2@@@ @ఠ"md p 7p 9@A@@:@@@@@p :p ;@@<@@@!@@p <p =@@>@@@)@@@kp >@@+@@@@ఠ"n1 qBXqBZ@A@@@@@T@3@@LE@F@G4-@.@/@@@డ$Name&simpleqB]qBa@ qBbqBh@@@@@@@@@@@@@@TXUX@@SB@@@@@@@@@@@@@@3@@ఐԠ!mqBiqBj@}@@@@@ @ G@&m_nameqBkqBq@@@@@@U@ U@ U@@D @@YV@A@qBT @ఠ"n2 rrrr@,A@@&stringQ@@@T@l@డ%Ident$name%Ident4rr5rr@ 8rr9rr@@@%Ident!t@@@!@@!)@@@!@@!@0typing/ident.mlikRRkRg@@ I@@@@@@@@@9@@@@@@@ఐ%identerrfrr@@@,@@@U@U@@@< @@Q@A@qrr @@డhj|t}t@g@@@Y@@@1T@#@@$@ @@"h@@@!@@ @@3@@@~w@x@y@@@@ఐ"n1tt@@@@@ఐ"n2tt@@@+T@4!@@@@@@@.%@ĠMuu@M@@@@@@@84@@@@@97@@@ ఐ )filter_module_with_module_type_constraintuu!@H@@@~@@E@w@@Dm@@C@@BM@@ఐ !mu"u#@k@@W@P\@@ఐj"mdu$u&@<@@@@@T@Rp@'md_typeu'u.@3'md_type@@@ @@@ @@@ 3-md_attributes *attributes@@@ @@A @Ae``f``@@D3@3&md_loc!t@@@ @@B@Aq``r``@@P4@3&md_uid!!t@@@ @@C @A|``}``@@[5@@A````@@_2@?2@@W@S@@h5@@@ภN0>u0?u4@N/@@@W@@@X@t@@T@ĠhNv5JOv5O@g@@@@-@@@=@@0@@@>@@@ภv\v5S]v5X@u@@@n@@@A`sawYl@@q@S@@r@@gxm}hxm~@@@@@ภnxmoxm@@@@@@AG so@@@uovxm@@3rqqrrrrr@@@@Ġ3Element_module_typeyy@;3Element_module_type @@@@@AA@J@A Z Z(@@@]M@ఠ"mt yy@A@@@@@3@@@@@@@@@@@@@@Ġ%Types{{@+Sig_modtype{{@@;+Sig_modtyper@o!t@@@ 3modtype_declaration@@@ a@@@ @CD@G@A____@@@/@ఠ%ident {{@A@@ @@@3@JC@D@E@@@ঠ%Types{{@(mtd_type{{@@3(mtd_type4@@@ "$@@@ @@@ @@@3.mtd_attributes*attributes@@@ @@A @AUaUaYVaUa~@@47@3'mtd_loc!t@@@ @@B@Aaaabaa@@@8@3'mtd_uid&!t@@@ !@@C @Alaamaa@@K9@@Apaa!qaa>@@O6@Ġ$Some+{,{@ˠఠ!t 4{5{@GA@@@@@a@@@@@G@@@@@@i@@@D{E{@@@@@T@q@@N{O{@@@@@y@@@T{@@k{@@@@ఠ"n1 _|  `| "@rA@@9@@@T@3cbbccccc@@@<5@6@7@@@డ$Name&simplez| %{| )@ ~| *| 0@@@@@Z@@@@@]@@@@@$@@ఐ"mt| 1| 3@@@@@@@8@'mt_name| 4| ;@@@@@@U@U@F@@5 @@JG@A@|  @ఠ"n2 }<R}<T@A@@@@@T@Z@డ$name%Ident}<W}<\@ }<]}<a@@@@@@@@@@@@@@@y@@ఐ%ident}<b}<g@@@@@@U@U@@@' @@7@A@}<N @@డk@@@@@@@ T@@@@ @@@@@@@@@3@@@d]@^@_@@@@ఐŠ"n1$%@@@@@ఐx"n212@@@+T@!@@@@@@@ %@ĠP5CD@P4@@@@"@@@4@@%@@@7@@@ ఐ .filter_module_type_with_module_type_constraintWX@ @@@ @@ @ @@ @@@@M@@ఐ֠"mtlm@@@ W@+\@@ఐG!t{|@@@ W@,k@@*@@ l@ภPx@Pw@@@@@@0w@6@@x@Ġ@@@@@u@@@@@x@@@@@@ภ@@@@@@@A~k} 3@@@@@C@@4D4E@@@@@ภа4I4N@@@@@@A z@@@z4O@@3@@@@Ġ-Element_valuePZPg@;-Element_value -@*Odoc_value't_value@@@@AE@J@A^^@@@Q@ఠ!v PhPi@A@@@@@3@@@@@@"@@7@@7@@@@Ġ%Types@)Sig_value@@;)Sig_value@!t@@@ X@@@ @@@ @C@@G@Ab^l^pc^l^@@@A+@ఠ%ident @1A@@@@@3      @0HA@B@C@@@@+,@@z@@@ @@34@@@@@@@@@9@@P@@@@ఠ"n1 DE@WA@@@@@T@3HGGHHHHH@)5.@/@0@@@డ$Name&simple]^@ ab@@@@@=@@@@@@@@@@@"@@ఐ!v{|@V@@p@@@@6@(val_name@l @@l @@@@@@1@@DA@A@@ఠ"n2 @A@@@@@T@T@డ|$name%Ident@  @@z@@@z@@@@@@@@@@s@@ఐ%ident @}@@@@@U@U@@@' @@7@A@ @@డHˠͰ)*@ʰ@@@@@@S@@@@ @@@@@@@@@3@@@b[@\@]@@@@ఐ"n1&(@@@@@ఐv"n2+-@@@+S@!@@@@#T@$@@@&@@.>.?@@3@@@ภ<".C#.H@;@@@4@@A 'mz@@@)my*.I@@G3&%%&&&&&@@@@Ġ,Element_type6JT7J`@;,Element_type@)Odoc_type&t_type@@@"@AH@J@AGaLNHaLp@@@T@ఠ!t OJaPJb@bA@@@@@3QPPQQQQQ@`@@@@@"@@@@@@@@Ġ%Typese}f}@(Sig_typej}k}@@;(Sig_type+@(!t@@@ @@@ @@@ @@@ @DA@G@A^^^^@@@,@ఠ%ident }}@A@@"@@@3@LE@F@G@@@@}}@@@@@ @@}}@@H@@@@@}}@@J@@@@@@L}@@@@@@ఠ"n1 @A@@@@@T@3@1=6@7@8@@@డ$Name&simple@  @@ @@@@@@@@@@@@@"@@ఐ!t@^@@)Odoc_type&t_type@@@@;@'ty_name@3'ty_name@@@$Name!t@@@@@@# 3'ty_info &optionL*Odoc_types$info@@@@@@A@A@A6ocamldoc/odoc_type.mliC R TC R }@@,b@3-ty_parameters#$listK@%Types)type_expr@@@Ǡ@ (Variance!t@@@@@@@@@@B6@A$D ~ %D ~ @@Oc@3'ty_kindFV)type_kind@@@@@CA@A/E  0E  @@Zd@3*ty_privateQa,private_flag@@@@@DL@A:F  ;F  @@ee@3+ty_manifest\Op-type_manifest@@@@@@@@E\@AJG  KG  @@uf@3&ty_loclY(location@@@A@Fh@AVH  WH  <@@g@3'ty_codexk&stringQ@@@@@@A@Gy@AgI = ?hI = _@@h@@AkB > @lB > Q@@a@@@@@@@@@@@A@™@ఠ"n2 ¢.£0@µA@@@@@T@@డ$name%Ident¸3¹8@ ¼9½=@@@@@@@@@@@@@@@@@ఐF%ident>C@@@@@@U@U@@@' @@7@A@* @@డRՠװG\G]@԰@@@@@@0S@"@@#@ @@!@@@ @@@@3@9G@@A@Bb[@\@]@@@@ఐO"n1 GY G[@@@@@ఐv"n2G^G`@@@+S@3!@@@@-T@-$@@@0\@@%ar&as@@=@@@ภF,aw-a|@E@@@>@@A 1ft@@@3fs4a}@@Q30//00000@@@@Ġ6Element_type_extension@~A~@;6Element_type_extension@.Odoc_extension0t_type_extension@@@ @AF@J@AQ_R_@@@ R@ఠ"te Y~Z~@lA@@@@@3[ZZ[[[[[@j@@@@@"@@@@@@@@ఠ!l lm@A@@ aJ@3lkklllll@|@@@@@ఐ 9filter_extension_constructors_with_module_type_constraint}~@ @@@ @@@ {@@ y@@@@@@ఐ;"teÔÕ@#@@ 0t_type_extension@@@@-@/te_constructorsâã#@3/te_constructors @@@   @@@@@@A@D3'te_info &optionL*Odoc_types$info@@@@@@A@@@A;ocamldoc/odoc_extension.mlidfhdf@@ Q@3,te_type_name# $Name!t@@@@@A @Aee@@ R@32te_type_parameters0 Š%Types)type_expr@@@@@@@@B3@A!f"f@@ S@3*te_privateC ,private_flag@@@@@C>@A,g-g@@ T@N3&te_locN;(location@@@A@EJ@A8i/19i/V@@ V@3'te_codeZM&stringQ@@@ @@@ A@F[@AIjWYJjWy@@ W@@AMhNh.@@U@q@@J@J@@@ఐ $lsig!$"(@ _@@J@@@@@A@&@@ ఐ٠"te28F38H@@@@@@332233333@@@@@@/te_constructors?8I@8X@ఐܠ!lH8\I8]@@@@@@B@@@R@@డ"<>\_r]_t@@!a@@@ @@@G@@@@@@@)%notequalBA@@@@~QQ~Q@@)R@@@@nQ@@@@@@@@@@@@@N@@ఐ$!lĐ_pđ_q@X@@#[@@ภհě_uĜ_w@@@@J@h@@@@?@@@R@n@࣠@ A@Į_į_@@ x@@@@ภUķ_ĸ_@U@@@@@@@ľ_}Ŀ_@@ O@@࣠@ !A@@@ @@@@ภ@@@@@@@@@@ O@@_m@@!@@@"@@@ r@Ġ1Element_exception@;1Element_exceptionP@.Odoc_exception+t_exception@@@!@AG@J@A``K@@@S@ఠ!e @A@@@@@3@ @@@@@"@@ Z@@ Z@@@@Ġ%Types@*Sig_typext!"@@;*Sig_typext @ !t@@@ ]5extension_constructor@@@ c*ext_status@@@  @@@ @DB@G@A^^^_6@@@l-@ఠ%ident "I J@\A@@&@@@3KJJKKKKK@ [PI@J@K@@@@VW@@*@@@ @@^_@@,@@@@@fg@@ @@@@@@Pl@@ @@@@ఠ"n1 #w1x3@ŊA@@Q@@@T@3{zz{{{{{@1=6@7@8@@@డ¼$Name&simpleŐ6ő:@ Ŕ;ŕA@@ Ű@@@p@@@@@s@@@@@"@@ఐ!eŮBůC@^@@.Odoc_exception+t_exception@@@@;@'ex_nameſDK@3'ex_name@@@.$Name!t@@@#@@@ 3'ex_info &optionL*Odoc_types$info@@@%@@@$A@A@A;ocamldoc/odoc_exception.mli^^@@,F@3'ex_args#)Odoc_type0constructor_args@@@&@@B!@A__@@:G@3&ex_ret1$%Types)type_expr@@@(@@@'@@C4@A"`#`7@@MI@3(ex_aliasD7X/exception_alias@@@*@@@)@@DD@A2a8:3a8\@@]J@3&ex_locTA(location@@@+A@EP@A>b]_?b]@@iK@3'ex_code`S&stringQ@@@-@@@,A@Fa@AOcPc@@zL@@AS]T]@@~E@w@@q@@@@@{@@@A@<-}@ఠ"n2 $ELbFLd@XA@@ ,@@@iT@@డ )$name%Ident[Lg\Ll@ _Lm`Lq@@ '@@@ '@@@b@@a K@@@`@@_@@ఐ.%identwLrxLw@@@ >@@@kU@mU@l@@' @@7@A@ƃL^ @@డxzƌ{ƍ{@w@@@i@@@S@s@@t@ @@rx@@@q@@p@@o3ƚƙƙƚƚƚƚƚ@!/(@)@*b[@\@]@@@@ఐ7"n1Ʈ{Ư{@@@@@ఐv"n2ƻ{Ƽ{@@@+S@!@@@@ T@~$@@@ D@@@@ z@@@ภ@@@@ @@A %@@@@@ 3@@@@Ġ-Element_class@;-Element_classF@*Odoc_class't_class@@@@AC@J@A\XZ\X@@@O@ఠ!c @A@@@@@3@ @@@@@"@@ P@@ P@@@@Ġ%Types@)Sig_class@@;)Sig_class @ !t@@@ S1class_declaration@@@  @@@  @@@ @DE@G@A___`@@@`0@ఠ%ident &=> @PA@@$@@@3?>>?????@ ONG@H@I@@@@J K @@(@@@ @@R S@@ @@@@@Z[@@ @@@@@@N`@@ w@@@@ఠ"n1 'k,l.@~A@@E@@@T@3onnooooo@1=6@7@8@@@డİ$Name&simpleDŽ1Dž5@ Lj6lj<@@ @@@d@@@@@g@@@@@"@@ఐ!cǢ=ǣ>@^@@'@@@@6@'cl_nameǮ?ǯF@\@@X@@@@@@1@@DA@A@Ƕ(@ఠ"n2 (ǿG]G_@A@@ @@@T@T@డ $name%IdentGbGg@ GhGl@@ @@@ @@@ @@  @@@ @@s@@ఐ%identGmGr@}@@ @@@U@U@@@' @@7@A@GY @@డovv@@@@@@@*S@@@@ @@@@@@@@@3@@@b[@\@]@@@@ఐ"n1(v)v@@@@@ఐv"n25v6v@@@+S@-!@@@@ JT@'$@@@ M@@BC@@ Z@@@ภcIJ@b@@@ [@@A" )N@@@PQ@@ n3MLLMMMMM@@@@Ġ2Element_class_type]^@;2Element_class_type@z,t_class_type@@@@AD@J@Al]m]@@@;P@ఠ"ct tu@ȇA@@@@@ v@@@@@  w@@  w@@@@Ġ%TypesȉȊ@.Sig_class_typeȎȏ @@;.Sig_class_type O@ L!t@@@ 6class_type_declaration@@@  D@@@  B@@@ @DF@G@A````m@@@1@ఠ%ident *ȴ ȵ@A@@$@@@3ȶȵȵȶȶȶȶȶ@ MF@G@H@@@@@@(@@@ @@@@ n@@@@@@@ p@@@@@@N@@ @@@@ఠ"n1 +24@A@@ü@@@T@3@1=6@7@8@@@డ'$Name&simple7;@ <B@@ 0@@@@@@@@@@@@@"@@ఐ"ctCE@^@@gA,t_class_type@@@@8@(clt_name'F(N@3(clt_name @@@]C!t@@@@@@ 3(clt_info ]Ab$info@@@ @@@A@A@AbC ] _bC ] @@gcm@3(clt_type; *class_type@@@ @@B@AbD  bD  @@gon@33clt_type_parameters(;;)type_expr@@@ @@@ @@C+@AbE  bE  @@go@3+clt_virtual9@@@ @@D5@AbF  bF  @@gp@3(clt_kindC&@@@A@E>@AbG  bG  @@gq@3'clt_locLb(location@@@A@FJ@AbH  bH  ;@@gr@@AbB H JbB H \@@gl@m^@@X@@@@@b@@@A@ɋ.d@ఠ"n2 ,ɔOeɕOg@ɧA@@ {@@@T@@డ x$name%IdentɪOjɫOo@ ɮOpɯOt@@ v@@@ v@@@@@ @@@@@@@ఐ%identOuOz@۰@@ @@@U@U@@@' @@7@A@Oa @@డDǠɰ~~@ư@@@ĸ@@@S@@@@ @@@@@@@@@3@ @ @b[@\@]@@@@ఐ"n1~~@@@@@ఐv"n2 ~ ~@@@+S@!@@@@T@$@@@"(@@@@/^@@@ภ8@7@@@0f@@A -#@@@%&@@C3"!!"""""@l@@@Ġ6Element_module_comment23@;6Element_module_comment@/$text@@@#@AI@J@AAbqsBbq@@@U@@EF@@@@@E@@@@@F@@F@@@࣠@0 .A@ST@@kP@@@@ภ[N\]@[M@@@u@@@0]@c@@_@Ġ7Element_included_moduleno @Ѡ@s t @@@@@s@@@ @@t@@t@@@࣠@^ /A@ʁʂ@@~@@@@ภ[|ʊʋ@[{@@@@@@6@ʑ@@@@@Aʓm @@@A@ʕm @@డ$List&existsʣ(0ʤ(4@ ʧ(5ʨ(;@@@@!a@-@@0|@@@0{@@0z@@0y@@@@0x@@0w@@@0v@@0u@@0t@$$$$@@e@)$@@@@@@yN@P@@T#@@@S@@R@@Q@"@@@O@@N)@@@M@@L@@K3@@@ @@@@ఐ!f(<(=@ @@@@@@q@@p@@@o@@n@@ఐw$lsig (> (B@J@@5'@@m@@T(@|@@U@BA@cM@{R@A@l @@డɈ$List&filter#LR$LV@ 'LW(L]@@@@!a@-m@@0{@@@0@@0@@0@u@@@0@@0 @@@0@@0@@0@^-)-)^-)-X@@o@*%@@@@@@@@@@@@@@@@@@@@@@@@~@@}3_^^_____@@@@@@@ఐƠ$predqL^rLb@ @@@@@@@@@@@@@@@ఐ!lˈLcˉLd@@@'@@i@@J@*@z@@@A@@@@@@@@@@@J@ @@@˛kae@@@@@@s@@@r@@q@@p3˥ˤˤ˥˥˥˥˥@6@@@࣠@!l 0A˶f˷f@A@@3˵˴˴˵˵˵˵˵@4@@@@@@$lsig 1Aff@A@@3@D@@@@@@@@@ఠ$pred 2@A@@@@@@M@@@-@@@M@@@M@3@$0@'@(@@@࣠@"xt 3A@ A@@@@@@డr$List&exists @ @@j@@@@3@C@N@@@l@@@@@@@@k@@@@@r@@@@@@@3,++,,,,,@F@R@7@8@@@@@Ġ%TypesDE@*Sig_typextIJ @@(ఠ%ident 4S T@fA@@0@@@)@@]^@@1@@@1@@ef@@3@@@9@@mn@@ @@@A@@@/s@@WC@@@@ఠ"n1 5~ 4 6@̑A@@X@@@ R@3̂́́̂̂̂̂̂@W:3@4@5@@@డ$Name&simple̗ 9̘ =@ ̛ >̜ D@@̰@@@w@@@@@z@@@@@"@@ఐ"xt̵ E̶ G@@@1@'xt_name̼ H̽ O@3'xt_name@@@!t@@@@@@ 3'xt_args )Odoc_type0constructor_args@@@@@A @A \_a \_@@J@3&xt_ret & )type_expr@@@@@@@@B@A "] #]@@L@31xt_type_extension* Q@@@@@C%@A +^ ,^@@M@3(xt_alias3 @/extension_alias@@@@@@@@D5@A ;_ <_@@N@3&xt_locC J(location@@@A@EA@A G` H`@@ O@3'xt_textO \ Z$info@@@@@@A@FR@A Xa! YaJ@@P@@A \[KM ][K^@@I@nf@@`@@@@@j@@@A@( 0l@ఠ"n2 61Pd2Pf@DA@@@@@#R@@డ$name%IdentGPiHPn@ KPoLPs@@@@@@@@@@7@@@@@@@ఐ%identcPtdPy@ܰ@@*@@@%S@'S@&@@' @@7@A@oP` @@డdfx}y}@c@@@U@@@;Q@-@@.@ @@,d@@@+@@*@@)3͆͆͆͆͆͆ͅͅ@ @@b[@\@]@@@@ఐ"n1͚}͛}@@@@@ఐv"n2ͧ}ͨ}@@@+Q@>!@@@@@@@?R@8'@ @@@@@/@@ͺͻ@@@@@ภ۰@@@@@@Aƚ 7@@@@@@@@@@@@@O@O@3@@@@@ఐ$lsig@@@@@@@@A@ M@@A@@@డ[$List&filter@ @@Ӱ@@@@ @@@@@@@@@@C@@@@@Π@@@@@@@3@*C<@=@>@@@@ఐJ$pred"#@ @@@+@@@@@p@@@@@@@ఐ!l9:@p@@E'@@G@@.J@*@X@@T@A@@P@@@>@@<@@@@J@@@@Lfj@@@ڠAఠ1analyse_structure 8Y@LZ@]@lA@@@@@@TJ@@@C@@@@@J@@@B@@@@J@@@A@@@@ևJ@@@@@)structure@@@J@@@?@ @@@J@@@>͠@@@J@@@@J@@@=@@<@@;@@:@@9@@83ΛΚΚΛΛΛΛΛ@@@@࣠@#env ;Aά@^έ@a@οA@@O3ΫΪΪΫΫΫΫΫ@-_@Z@@@W@@@T@@@Q@@@N@@@I@@D@@K@@@K@@@K@@@K@@@K@@@K@@}@~6analyse_structure_item 9@J@@@@J@@@@{f@@@]J@@@@J@@@@@@@@@@J@@@ @J@@@J@ @@ @J@@@@٠5$@@@J@!@@@J@@@@J@@@@@@@@A@@@J@“@@@@–@@’J@@@@J@@@@@@@lJ@@ J@@נJ@+@@@?J@@@K@@@K@@@K@@@K@@@K@ @@ K@@@K@@@K@@@K@@@K@@wx@@ϊA.analyse_module :@"J@ @@!@ J@$@@%@g@@@ J@(@@)@J@,@@-@+module_expr@@@J@0@@1@ @@@J@4@@5[@@@J@6@@7K@2@@3K@.@@/K@*@@+K@&@@'K@"@@#K@@ϻhGPϼhG^@@A@@@@@@3current_module_name A@@@A@@r3@~@@@@@@@@)parsetree ?A@@@A@@z3@@@@@@@@@)typedtree @A @ @@A@@3        @@@@@@@@@@@ఠ%table A#$@6A@@@@@ܠ@@@@@@Q@30//00000@&2@)@*@@@@ఠ,table_values B@A@SA@@@@@ߠ@@@@ᠠ@B@@@@@@@@Q@&@@\]@@@;@ @@/@డn&tables0Typedtree_searchqr@ uv@@@Cl@@@@@@@@@c_@@@`@@@@@@@TR@@@@L@@@@P@@@@@@@@@@@@@@:5@@@u2@@@@@@@@@@@@@@@@@@@@@@Ġ@}@@@Ơ@@@@@@@@@@@@@@@ఐޠ)typedtree@@@Z@)str_items@{ @@ƻx@@@@@@R@R@@@@@@ܠ@@@R@@A@@@Aఠ$iter C@$A@@@9Q@@@@|@@@DQ@@@@`(@@@sQ@@@@Q@@@@@@=Q@@@@@@@343344444@@@@@@@@࣠@#env DAIJ@\A@@43HGGHHHHH@B@=@@@=@@@:@@/@@R@@@R@@@R@@N@O@@@@@@(last_pos EAlm@A@@Q3kjjkkkkk@$0Z@'@(@@@@@@Ġö|%}'@õ@@@@W3zyyzzzzz@c@@@@@@@@ఠ!s Hь+;э+<@џA@@@@@;V@'3ѐяяѐѐѐѐѐ@@@@ఐƠ2get_string_of_fileџ+?Ѡ+Q@S@@@@@@/@@.@@@@-@@,@@@+@@*@@)@@ఐT(last_posѽ+RѾ+Z@>@@+@@ఐ㠐)pos_limit+[+d@˰@@Q8@@/@@<9@A@+7@@@@@hyhz@@@@@bV@C3@c[T@U@V@@@@ఠ(ele_coms Ih|h@A@@nE@@@d@@@cV@D@@hxh@@@$@@@G!@డ+all_special%My_irhh@ hh@@nD@@@)@@@R@@Q@(@@@P@@O@'@@@L@&n@@@N@@@M@@K@@J@@IT@@డЩ[]@hAh@Z@@@Z\@@@hW@xW@k@@@m@@l@@jq@@ఐ̠)file_name\h@k@@u@@@tX@wX@u@@' @@@@ఐ堐!sqhrh@@@~@@@fW@zW@y@@m @@@@@@{W@a@A@҅ht@@డ$List)fold_leftғҔ@ җҘ@@n @@@@tQ@{Q@U@@@@m@@@U@@@@@@@@@@@@@n @@@@@@@@@~@@}3ҸҷҷҸҸҸҸҸ@@@@@@@࣠@#acc JA@A@@/3@@@@@@@࣠@"sc KA@A@@83@(D@@@@@@@@ఐ"sc@K@@@@L3@!@@@*Odoc_types @&i_desc@@m@@mm@@@@@@@Ġ$None-1@Ͱ@@@@mm@@@@@@3@,@@@ @mm@@@@@@@@@ఐh#acc35J45M@O@@@Ġ$Some@NaANe@ఠ!t LINfJNg@\A@@n#@@@X@@@@@n+n*@@@@@@`@@n2n1@@@@@@g@@@డ!@hkik@հ@@@ՠJ@J@TJ@8J@?J@%J@U@@@@@@@ @@@@@ޠ@@@@@@@3ӈӇӇӈӈӈӈӈ@JC@D@E@@@@ఐϠ#accӚkӛk@@@@@ภzӥkӦkAŦภ6Element_module_comment Ӯk@ {ఐn!tӷkӸk@*@@ @@@[@[@4@@ @@P[@7@ภ$A@%A@)^\@@@@[@E@@k.@@^g@@@[@M@@A5@@8N@@@A7@@:@9@@@9@@ B@@ W@@k@@@M@@@H@@Q@@@@V@V@ "@@ภ6@5@@@\U@D@@ఐ(ele_coms  @N@@odi@@@V@V@Y@@ @@tE@ @@u7@J @@@Ġ" !@!ఠ$item F)*@<A@@Q@!3)(()))))@@@@ఠ!q G67@IA@@Ӗ@@@#@@@@@@@@@@ఠ+comment_opt MMN@`A@@*@@@>@@@=V@3UTTUUUUU@81@2@3,%@&@'@@@@ఠ,ele_comments Ngh @zA@@:@@@@@@@?V@@@uv @@@*@@@ #@ఐu6get_comments_in_moduleԆԇ3@@@@@@@,@@+@@@@*@@)@r@@@&@@@%@q@@@(@@@'@@$@@#@@"Q@@ఐL(last_posԵ4Զ<@6@@^@@ఐ$item=A@m@@q@)ParsetreeBK@(pstr_locLT@@ @@P@@@L@I@(LocationU]@)loc_start^g@@c&@@0@@@N@K@&Lexinghn@(pos_cnumow@@,:@@Y@@@BW@OW@M@@ @@@@@@PW@<@A@@@@ఠ*pos_limit2 O@1A@@J@֌J@J@J@J@J@=V@Q3*))*****@@@@@@@@ఐ!q=>@@@Ԝ@@@S3?>>?????@@@@ĠLjNO@LJ@@@@ԭ'@@@X&@@Ա+@@@Y*@@@ఐy)pos_limit`a@a@@A4@Ġnlm@mఠ%item2 Puv@ՈA@@TQ@Q@Q@hQ@JZ@]>@@ՅՆ@@@@@_G@@@@@b@@@`L@@f@@@aP@@@ఐ,%item2աբ@+@,@-@@,3ՠ՟՟ՠՠՠՠՠ@w6@@@)Parsetreeխծ @(pstr_locղ ճ@@@@,@@@j@g@(Location@)loc_start(@@?)@@ @@@l@i*@&Lexing)/@(pos_cnum08@@=@@9@@@A@@@A@@@@@ఠ*maybe_more QHYHc@A@@J@yJ@3@@@@@@@ఠ'new_env RHeHl@A@@&J@@@ఠ(elements SHnHv@#A@@J@@J@ @@HXHw@@@*@@@@+@ఐN6analyse_structure_item+Hz,H@R@@@P@@@M@@@J@@@C@@@@@@@5@@@.@@@*@@@@@@@젠@@@@@@@@@@@@@@@@@@@@@c@@ఐ#envde@@@Np@@ఐ3current_module_nameqr@@@ }@@ఐW$itemրց@%@@V@)Parsetree։֊@(pstr_loc֎֏@@°@@J@J@J@J@gJ@J@J@ J@J@۰J@۷J@ۺJ@ڙJ@ڠJ@ڣJ@J@J@0J@7J@:J@LJ@EJ@J@J@J@J@^J@WJ@ŋJ@˜J@¨J@@@ఐ*pos_limit2 @@@@@ఐ+comment_opt  '@@@ J@J@J@J@J@J@J@J@J@J@zJ@|J@5J@7J@J@J@ƃJ@ƅJ@šJ@¤J@@@ఐ$item(8(<@@@(@)Parsetree%(=&(F@)pstr_desc*(G+(P@@i@@7@@ఐ/)typedtree8Qa9Qj@@@D@@ఐ"%tableEk{Fk@ @@"Q@@ఐ,table_valuesRS@@@^@@+@@@h@X@L@@ W@i@A@aHT@@డ!@kl@ذ@@@ؠU@@@@@@@ @@@@@ՠ@@@@@ @@ 3~~@@@@@~w@x@y@@@@ఐ.,ele_commentsוז@d@@*@@@#V@&V@$@@డ!@׬׭@@@@B@@@/@@.@CJ@@@-@@,N@@@*@@)@@(?@@ఐ(elements@E@@L@@ఐˠ$iter@@@@@@G@@@F@@@E@@D@@C@@Bg@@ఐ'new_env@n@@t@@డlqs@p@@@@@@^@@]@p@@@\@@[o@@@Z@@Y@@X@@ఐ$item'(@̰@@@)Parsetree01@(pstr_loc56@@i@@@@@u@r@(LocationDE@'loc_endIJ @@&@@@@@w@t@&LexingX Y@(pos_cnum]^@@:@@"@@@nY@xY@v@@ఐ*maybe_morers'@@@@@vw(@@YY@j@@ఐN!q؄)؅*@(@@_Q@z@@؊؋+@@Y@@@@@@@!V@|W@;@@ @@cQ@@8@@@@@k@@@hA@@Aq T؝@@@VA@@@@@@@@@@z@@@@@@Q@`@@@خ$@@ఐ$iterظ5;ع5?@k@@@@@@@@@@@@@@@@@@@@Y `@@@@@@@@@3@@@@@ఐ 7#env5@5C@ @@ @@ఐ (last_pos5D5L@@@ }@@ఐ )parsetree5M5V@@@ x(@@F@@ oJ@J@=J@>J@0@X @@@ @@ @ \ A@@ @@Y@ @@X@ @@W@ @@V@ @@U@ @@T @@S@@R@@Q@@P@@O@@NJ@B r@@ׇ Q Analysis of a parse tree structure with a typed tree, to return module elements./0?@@@@@@@2@D8@ ^ ^  @  @@ [@@V@ X@@U@ U@@T@ N@@S@ K@@R@ @@@Q@ 9@@P@ 5@@O@ @@N@ @ @ @@M@@L@@K@@J@@I@@H@@G@@F@@E@@D3`__`````@#@@@࣠@#env UAqr@لA@@ 3pooppppp@ @@@@@@3current_module_name VAـف@ٓA@@ 3~~@  @@@@@@@@#loc WAّْ@٤A@@ 3ُُِِِِِِ@ @@@@@@@@)pos_limit XA٢٣@ٵA@@ 3١٠٠١١١١١@ @@@@@@@@+comment_opt YAٳٴ @A@@ 3ٲٱٱٲٲٲٲٲ@ @@@@@@@@3parsetree_item_desc ZA  @A@@ 3@ @@@@@@@@*_typedtree [A!+@A@@ 3@ @@@@@@@@%table \A,4,9@A@@ 3@ @@@@@@@@,table_values ]A,:,F@ A@@ 3@ @@@@@@@@ఐH3parsetree_item_desc IU Ih@0@@ 3@ @@@@@Ġ)Parsetreenvn@)Pstr_eval n!n@@;)Pstr_eval1@j@@@9rH@@@9@B@@O@AU V +@@@&i@@5n6n@@k@@@$354455555@.@@@@ @r[@@@%@@@& @@ 0@@ 0@@@@@IJ@@ U@@@ఐ蠐#envVW@Ұ@@ w@@ภ̚`a@̙@@@̙J@@@@/@@jk@@@ @ @ @@:@Ġ)Parsetreeڂڃ@.Pstr_attributeڇڈ@@@ڍڎ@@@@@(X@@@@@ Y@@ Y@Ġ)Parsetreeڝڞ@.Pstr_extensionڢڣ@@;.Pstr_extension@Q@@@9r@@@9@BN@O@A<<@@@w@@ڷڸ@@Q@@@,@@@r@@@-@@@% @@ @@ @@A @@ @@@@@  @@ hU@@@ఐj#env  @T@@ @@ภ  @@@@tJ@@@@@@   @@@Ġ)Parsetree!)!2@*Pstr_value!3!=@@;*Pstr_value@r(rec_flag@@@9Q%:[@@@9@@@9@BA@O@A;!8:<!8g@@@ j@ఠ(rec_flag ^!? !G@2A@@@@@23!  !!!!!@@@@ఠ,pat_exp_list _.!I/!U@AA@@':@@@4@@@3@@@@:!V@@ *@@ *@@@Aఠ(iter_pat mEYkFYs@XA@@@H,pattern_desc@@@V@@@0s,#locs@@@@@@V@@@@V@@@3a``aaaaa@\NG@H@I@9@:@;@@@@Ġ)Parsetreexy@(Ppat_any}~@@;(Ppat_any3@@@7@@@@AR@A";"=";"G@@@~z@@@ @@>3ۆۅۅۆۆۆۆۆ@&L@G@@@@@W@@L@M@@@@@ภ$Noneۚۛ@0@@@I@Ġ)Parsetreeۧۨ@(Ppat_varۭ۬@@;(Ppat_var/@WU@@@7@@@7@A@AR@A"a"c"a"{@@@{@ఠ$name n@A@@nl@@@@@@3@E@@@@@+ @@@@@ภ$Some@xఐ$name@@@@@3@\'@@@@@@@Ġ)Parsetree@*Ppat_tuple@@;*Ppat_tuple{@R@sȠs@@@7@@@7@R@@@7@@7@@@7s+closed_flag@@@7@BDAR@AD$%$'E$%$l@@@@@$%@@(@'&@@@@@@@RC@@@ @@@@@j@@@&@@@ o@@@M@@p@@@ภ$NoneFG@@@@y@Ġ)ParsetreeS/=T/F@/Ppat_constraintX/GY/V@@;/Ppat_constraint@Rk@@@7mr@@@7@BJAR@A ++  ++1@@@^@ఠ#pat oq/Xr/[@܄A@@R@@@3srrsssss@@@@@|/]}/^@@m@@@ @@@/܂/_@@6 @@@ఐG(iter_pat܌/c܍/k@@@@F@@#?@@"3܎܍܍܎܎܎܎܎@ (!@"@#@@@@ఐ1#patܢ/lܣ/o@@@R@@@,@*@)Parsetreeܰ/pܱ/y@)ppat_descܵ/zܶ/@@3)ppat_descR@@@7n@@@7{@@@ 3(ppat_loc !t@@@7|@@A @A!!!!@@w@3.ppat_loc_stackT@@@7}@@B@A!!!!@@x@3/ppat_attributest@@@7~@@C@A!!!"@@y@@A!!!!@@v@B.@@Y@+S@@[1@@T@@@@u@@@ภ$None@׉@@@~@@A pYv@@@@@@@@@@V@u@@@Yc@@Aఠ$iter q  @A@@%firstl@@@V@@@@@@@@@@5V@@@@@@@V@@@@@@@÷V@Ç@@@ÛV@@@@}<@@@@@@@3@@@@@@@@@ఐU'acc_env#4#;@=@@@@ఐP#acc #=!#@@8@@@@$#3%#A@@@֠@@@J$@Ġ75B6B@6ঠ)ParsetreeBBQCBZ@'pvb_patGB[HBb@@3'pvb_pat=@@@9T\@@@9@@@ 3(pvb_expr o$@@@9@@A@AQQ@@P@3.pvb_constraintv [0value_constraint@@@9@@@9@@B@ARR@@`@3.pvb_attributes"v@@@9@@C@ASS@@i@3'pvb_loc+!t@@@9@@D+@ATT@@u@@APP@@y~@ఠ#pat wދBcތBf@ޞA@@T@@@=@(pvb_exprޘBhޙBp@Gఠ#exp xޠBqޡBt@޳A@@os@@@@@.pvb_attributesޭBuޮB@Cఠ%attrs y޵B޶B@A@@v@@@C@@@޽BP޾B@@u^@:@ఠ!q zBB@A@@(V@8@@@D@@@ @@@@@@@@ఠ.value_name_opt {@A@@ټ@@@b@@@a@@@`^@P3@kd@e@fWP@Q@RC<@=@>1*@+@,@@@ఐ(iter_pat@t@@@@@@W@@V@@@U@@@T@@@S@@R'@@ఐ#pat !@0@@U2@@@h@f;@)Parsetree./@)ppat_desc34@@~@@@@@d_@i_@gQ@@@ @@]R@A@@ @@@ఠ,new_last_pos |KL@^A@@w@@@s^@j3ONNOOOOO@h~w@x@y@@@ఐĠ#expde@s@@p8@@@p@n@)Parsetreers @(pexp_locw x@@W@@@@@r@o,@(Location߆߇@'loc_endߋߌ&@@+@@@@@t@q@@&Lexingߚ'ߛ-@(pos_cnumߟ.ߠ6@@Ͱ?@@RO@A@ߤ@@ఐҠ.value_name_opt߮ :P߯ :^@Z@@ڋYW@@@x@@@w@@@v3߷߶߶߷߷߷߷߷@iwp@q@r@@@Ġ$None dv dz@_@@@@ڦtr@@@@@@@@@3@@@@ @ڲ~@@@@@@@@@ @@@ఐࠐ$iter ~ ~@@@ݠ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6@ภÕڨ@@@@@@@C@@ఐ٠,new_last_pos$ ~% ~@h@@V@6V@S@@ఐu'acc_env4 ~5 ~@]@@ `@@ఐq#accA ~B ~@Y@@m@@ఐ!qN ~O ~@[@@ V@|@@h@@@@@@@Ġ$Somed e @ఠ$name }m n @A@@@@@@@@@@@ @@S!@@@@@@@@@@ @^,*@@@@@@@@@@@@@ఠ'pat_exp ~ @A@@TJ@©`@3@;4@5@6@@@డݯ,search_value0Typedtree_search @ *@@@urqyw@@@@@@q@@z@@@@@@@@@J@ՠJ@@@@@@@ @@@@@@9@@ఐ,table_values+7@ٰ@@F@@ఐ$name8<@R@@J@@@@[@#txt=@@F@@ a@c@@T@@2d@A@@@@@ఠ(info_opt D_Dg@)A@@ 1`@3@z@@@@@@ఠ,ele_comments &Di'Du@9A@@b@@@1`@@@@`@@@6D^7Dv@@@"@@@#@ఐ⠐%firstGH@@@/@@ఐ+comment_optUV@@@V=@@ภә_`!@Ә@@@6G@@cd"@@@g@?@@P@ఐd6get_comments_in_moduleu@Zv@p@@@@@@@@@@@@@@@@ՠa@@@@@@@Ѡ`@@@@@@@@@@@@@@ఐ(last_posqq@ް@@@@ఐ,#pat@ǰ@@W@@@<@:@)Parsetree@(ppat_loc@@ @@D@@@>@;@(Location@)loc_start@@W+@@$@@@@@=@&Lexing@(pos_cnum@@ ?@@M@@@3a@Aa@?@@ @@`@Ba@-@@@@A@DZ@@@ఠ(l_values '@#A@@Lz@@@Œ@@@‹`@C3@@@ @@@@@ఐ0tt_analyse_value+*,:@@@@@@@`@@_@ @@@^@@]@SP@@@\@@@[@@Z@@@@Y@@X@@E>@@@V@@@U@@@T@@@@W@@S@@R@@@@Q@@P@@@@O@@NԪ@@@M@@@L@@K@@J@@I@@H@@G@@F@@E^@@ఐ #env;U;X@ @@k@@ఐ 3current_module_nameYsY@@@x@@ఐ(info_opt@@@@@ఐ #loc@ @@@@ఐ'pat_exp@@@@@ఐ(rec_flag @_@@E@@@a@¶a@µ@@ఐ%%attrs ' ,@@@@@@Ža@»a@º@@ @@@A@ @@@ఠ'new_env !F`!Fg@A@@`@¼3@@@@@@డl$List)fold_left!Fj!Fn@  !Fo !Fx@@~}@@@@`@@@@@@@ `@@@ @@@@@@@@@@~|@@@@@@@@@¿@@¾3)(()))))@7@@@@࣠@!e A="y>"y@PA@@*J@@@@࣠@!v AN"yO"y@aA@@53MLLMMMMM@\>@@@@@@@@డ)add_value(Odoc_envd#e#@ h#i#@@@@@@d<@@d;@w6!t@@@d:@@d9@@@d8@@d7@@d6@^^@@F@!@@@@@@@@@@@@@@@@@@@@@3@EQ|@H@I@@@@ఐi!e##@Q@@@@ఐg!v##@@@@(val_name##@? @@;@@@ )@@\@@d@,@"y @@@@@@@b@x@"y$@@@@@@@@@@@@a@a@@@ఐ$'acc_env%%@ @@@@ఐࠐ(l_values& :& B@@@I@@@a@%a@#@@ @@@A@!F\ @@@ఠ%l_ele (\v (\{@A@@2<@@@J`@+@@@>`@&3@!,%@&@'@@@డ$List#map'(\~((\@ +(\,(\@@?@@@@$j@@@L`@.@@1+@@0@@/@< @@@-@@,;6@@@*@@)@@(3CBBCCCCC@1@@@@࣠@!v AW(\X(\@jA@@$D@@@@ภ-Element_valuec(\d(\@$ఐ!vm(\n(\@9@@@@:3lkklllll@[#@@@@@@2@@@K@x(\y(\@@@K@@Cq@@Ba@Qa@Ok@@ఐ|(l_values(\(\@@@_@@@@a@Ua@SO@@q @@@A@(\r @@ఐ$iter))@8@@@@@b@@a@@@`@@@_@@@^@y@@]@n@m@@\@@[@@Z@@Y@@X@@W3@@@@@@ภOb@@@@@Á@@À@@ఐ,new_last_pos**@"@@`@Â@@ఐ'new_env++ @ְ@@,@@డd!@,+,,@i@@@i@@@Ë@@Ê@@@@É@@Èd@@@Æ@@Å@@ÄO@@ఐM#acc,',*@5@@\@@డ!@,,:-,;@@@@a@á@@@å@@ä@Š @@@ã@@â@@@à@@ß@@Þ@@ఐ),ele_commentsO,-P,9@0@@#@@@õb@øb@ö@@ఐ\%l_eled,<e,A@@@8@@@ób@ûb@ù@@! @@<@@@Ùa@üb@ñ@@y,&z,B@@EV@×@@ఐ!q-C[-C\@@@EV@ý@@@@@?@>@@þ`@y@@@ @@@ @@@ {@@@ ~@@@ @Ġ)Not_found/v/v@1@@@@@@@@@@ఐ$iter00@F@@@@@@@@@@@@@@@@@@@@|@{@@@@@@@@@@@@0@ภZm@@Š@@@@@=@@ఐ,new_last_pos00@-@@b@L@@ఐ9'acc_env00@!@@Y@@ఐ5#acc00@@@f@@ఐJ!q00@@@V@u@@g@@@Ƞ@@@|@@@  @@~@@@A! :J@@@Ҡ@@@IQ@@@@@@=@@@A+@@@ܠ@@@*@ A@ % # "@@@=@@<@ @@;@ @@:@ @@9@ @@8@@@@7@@6@@5@@4@@3@@2V@'@@@TB@@@@ఠ'new_env c2d2@vA@@J@UJ@ J@ J@J@J@J@J@VJ@eJ@.J@/J@J@J@~J@J@NJ@OJ@|J@}J@6J@7J@aJ@bJ@J@J@J@ J@6J@7J@6J@EJ@J@YJ@ZJ@jJ@kJ@J@J@ٞJ@ٟJ@ԖJ@ԗJ@J@J@kJ@lJ@J@J@J@рJ@J@̥J@̦J@ J@ J@vJ@wJ@J@4J@5J@J@J@vV@?3@ {@@@@ఠ%l_ele 22@A@@[@@@x@@@wV@@@@22@@@@@@C@ఐ $iter22@ @@  @@@W@@@V@@U@{@@@T@@S@@@@K@@R@@@@M@@@L@@Q@oF@@@P@@@O@@N@@@@J@@I@@H@@G@@F@@E`@ 6ภ$SomeภxFT2 U2@xE@@@@@@łW@ņv@@@ F@@@Ňz@@ఐ ࠐ#locn2o2@ Ȱ@@@(Locationw2x2@)loc_start|2}2'@@@@@@@ō@Ŋ@&Lexing2(2.@(pos_cnum2/27@@&@@@@@W@ŎW@Ō@@ఐ7#env282;@!@@@@ภ2<2>@@@@W@ŕ@@ఐ ,pat_exp_list2?2K@ W@@G@@@{@@@zW@řW@ŗ@@@@@m@@@śW@u@A@2@@@@3OZ3O[@@}U@š3@ {@@@@@@@@ఐ'new_env3O]3Od@ @@@@ఐ%l_ele3Of3Ok@@@J@Ţ@@3OY3Ol@@@(@@ @@Ť*@8 @@ )@ @@  @  @@  @Ġ)Parsetree5nv5n@.Pstr_primitive"5n#5n@@;.Pstr_primitive3@!1value_description@@@9@AB@O@AU(V(@@@&k@ఠ(val_desc `95n:5n@LA@@@@@73;::;;;;;@4@@@@@%@@1@@1@@@@ఠ(name_pre L6M6@_A@@ @@@ŪV@ť3QPPQQQQQ@K#@@@@@ఐ+(val_descd6e6@@@A@@@ū@Ũ@)Parsetreer6s6@)pval_namew6x6@@3)pval_nameT@@@8JP#loc2@@@8D@@@8C@@@3)pval_typey@@@8E@@A@A PP  PP@@@3)pval_prim^O@@@8G@@@8F@@B@AP P%P P<@@@3/pval_attributes'@@@8H@@C@AP=PBP=P^@@@3(pval_loc0!t@@@8I@@D*@APPPP@@@@A OO OP@@@WC@@<l@@@ũi@#txt66@b@@vV@Ŭr@A@6@@@ఠ#typ 8 8 @A@@ @@@V@Ŵ3@@@@@@డ0search_primitive0Typedtree_search8  8 0@ 8 18 A@@@᭠@@@@@@@@@@@@@@@@@5@@@@@@@@<@=% @@@@@@Ž@@@ž@@@ż@@Ż@@@@ź@@ŹO@@@Ÿ@@ŷ@@ŶN@@ఐS%table68 B78 G@;@@[@@ఐ(name_preC8 HD8 P@e@@@@@W@W@o@@` @@tp@A@O8  @@@ఠ$name Z9Td[9Th@mA@@4@@@V@3^]]^^^^^@@@@@@డ$Name/parens_if_infixs9Tkt9To@ w9Tpx9T@@b@@@S@@@@@V@@@@@"@@ఐC(name_pre9T9T@@@h@@@W@4@@%@@85@A@9T` @@@ఠ-complete_name ::@A@@~@@@V@3@KYR@S@T@@@డ$Name&concat::@ ::@@Q@@@@@@ @@ @@@@ @@@@@@@@@)@@ఐc3current_module_name::@K@@6@@ఐ$name::@@@@@@@W@&W@%J@@; @@NK@A@: @@@ఠ$code ;;@A@@@@@OV@9@@@:V@'3  @gun@o@p@@@డ;= <!<@:@@@:@@@7V@5V@*@@@,@@+@@)@@డ#)keep_code+Odoc_global@<@ C< D<@%@!&@@^$@@@3W@6W@4<@@0 @@&=@ภ$SomeV=(W=,@ఐ2get_string_of_fileb=.c=@@@@@@@@C@@B@@@@A@@@@@@?@@>@@=c@@ఐ#loc=A=D@ް@@t@(Location=E=M@)loc_start=N=W@@ @@@@@Y@V@&Lexing=X=^@(pos_cnum=_=g@@԰&@@@@@SW@ZW@X@@ఐ1#loc>h~>h@@@@(Location>h>h@'loc_end>h>h@@1@@@@@`@]@&Lexing>h>h@(pos_cnum>h>h@@&@@@@@QW@aW@_@@=->h@@@@@@ʠ@@@;@ภ$None@@@@@@V@e@<@@@A@;@@@ఠ+comment_opt BB@!A@@@@@@@@~V@f3@ @@@@@డz.analyze_alerts(Odoc_sig+B,B@ /B0B@@x@@@JG@@@p@@@o@@n@x@@@m@@l32@@@k@@@j@@i@@h1@@ఐ+comment_optVBWB@@@W>@@ఐ,(val_desceBfB%@@@B@@@ƍ@ƋR@)ParsetreesB&tB/@/pval_attributesxB0yB?@@ڰ@@@@@ƁW@ƎW@ƌh@@Y @@pi@A@B @@@ఠ)new_value CCSCC\@A@@@@@ƓV@Ə3@@@@@@$(val_nameDaqDay@ఐ -complete_nameDa|Da@@@@@@Ƙ@,(val_infoEE@ఐ+comment_optEE@*@@=:@@@Ƨ@@@ƦV@ƨ6@1(val_typeFF@డk*subst_type(Odoc_envFF@ FF@@i@@@S@@@Ƹ@@Ʒ@i@@@ƶ@@Ƶd@@@ƴ@@Ƴ@@Ʋd@@ఐ#envFF@@@(q@@ఐ@#typFF@@@@@@W@W@@@; @@@@@ưW@@x-val_recursive*G+G @ภK1G2G@J@@@@@@V@@.val_parameters?H&@H4@ภހFH7GH9@@@@@@@@@@V@@(val_codeXI<LYI<T@ఐ]$codeaI<WbI<[@F@@@@@@@@V@@'val_locsJ^ntJ^u@ຠ⡠(loc_impl~J^zJ^@ภ$SomeJ^J^@&ఐ#locJ^J^@@@@@@@@@@V@@)loc_interJ^J^@ภ$NoneJ^J^@>@@@@@@@@@V@@@@J^xJ^@@@@@V@#@@@CC_K@@+&@A@CCO@@@ఠ'new_env MM@A@@4@@@0V@3@<JC@D@E@@@డk)add_value(Odoc_envMM@ MM@@ @@@S@@@$@@#@ @@@"@@!]@@@ @@@@)@@ఐ#envMM@@@(6@@ఐ)new_valueMM@B@@|@@@;@9J@(val_name"M#M@@@@@@:T@@E@@XU@A@*M@@@@3N 4N @@U@H321122222@drk@l@m@@@@ఐx'new_envCN DN "@ @@U@I@@ภ$ON %PN =APภ-Element_value XN 2@-ఐѠ)new_valueaN 3bN <@@@-@@@TU@VU@U4@@ @@U@S7@ภ6$A߫@%A@ӠJ@K@@@OU@[F@@~N $/@@ߵ@@@NL@@N N >@@@U@F@@@\W@e @@ @ @@ @  @@ v@ @@ @@@ @@@1@F@@@@@*@@Ġ)ParsetreeP@HP@Q@)Pstr_typeP@RP@[@@;)Pstr_type@~(rec_flag@@@9c͠0type_declaration@@@9@@@9@BC@O@A+)++)Z@@@l@ఠ"rf aP@]P@_@A@@ @@@<3@@@@ఠ2name_typedecl_list bP@aP@s@A@@)(@@@>@@@=@@@BP@t@@@@@@@@ఠ,extended_env RR@A@@vV@]3@2+@,@-$@@@@@డk$List)fold_leftSS@  S S@@|@@@@V@b@@k@g@@@ǒV@e@@j @@i@@h@@g@@@f@{@@@d@@c@@a@@`@@_3(''(((((@9@@@@࣠@'acc_env A<T=T@OA@@*L@@@@$ Aঠ)ParsetreeOTPT @*ptype_nameTT UT@@3*ptype_name@@@8^-#loc@@@8L@@@8K@@@#3,ptype_paramsd@@@@8O@@K(variance@@@8Q@R+injectivity@@@8R@@8P@@8N@@@8M@@A!@ARRRR?@@@31ptype_constraints4d@@@@8U@@@@8V@!t@@@8W@@8T@@@8S@@B@@A R^Rc R^R@@@3*ptype_kindS)type_kind@@@8X@@CK@A"RR"RR@@@3-ptype_private^,private_flag@@@8Y@@DV@A#RR#RS@@@3.ptype_manifesti@@@8[@@@8Z@@Ed@A$S7S<$S7S]@@@30ptype_attributesw@@@8\@@Fm@A%SwS|%SwS@@@3)ptype_loc!t@@@8]@@Gy@A&SS&SS@@@@A QQ QQ@@@ঠ#txtTT@4ఠ$name TT#@ A@@@@@ǟ3@ @@@@@@@TT%@@@@@ǣZ@ǡ@@@Ǡ@@@TT&@@Z@Ǐ@@@@@ఠ-complete_name U*>U*K@1A@@@@@Z@Ǭ3"!!"""""@*6/@0@1@@@డc$Name&concat7U*N8U*R@ ;U*S<U*Y@@˰@@@@@@Ǵ@@dz@@@@Dz@@DZ!@@@ǰ@@ǯ@@Ǯ)@@ఐݠ3current_module_nameZU*Z[U*m@Ű@@ t6@@ఐp$namegU*nhU*r@@@@@@@@[@H@@9@@LI@A@qU*: @@డ(add_type(Odoc_envVvVv@ VvVv@@@@@@d5@@d4@Q!t@@@d3@@d2@@@d1@@d0@@d/@]]@@E@!@@@@@@@@@@@@@@@@@@@@@3@@@@@@@ఐ'acc_envVvVv@@@@@ఐ-complete_nameVvVv@@@@@@ @@S@@ aZ@#@d @@@TW@@@@@DŽ@@@ǃ@@ǂ@@ǁW@W@@@ఐ#envXX@j@@!@@ఐ#2name_typedecl_listYY@@@T@@@~W@W@@@ @@@A@R @@@ఠ#env [ [@&A@@ V@3@%/(@)@*@@@ఐ["rf$\$%\&@/@@z@@@ @Ġ)Recursive4],:5],C@s@@@@@@@"@@@@@%@@@ఐU,extended_envD],GE],S@,@@0/@Ġ,NonrecursiveQ^TbR^Tn@;,Nonrecursive@@@@B@@A``@@@I@@@  @@@@@F@@@@@I@@@ఐ#envh^Tri^Tu@@@TS@@@Al\@@VU@A@n[@@Aఠ!f y`z`@A@@%firstm$@@@SV@ @@@<@@;@@@@kV@$@@:@@@@ʀV@(@@9@ڠ@@@FV@u@@@tV@,@@8@!V@0@@@@Ͱ^@ͳ@@@͸V@1@@7@@6@@5@@4@@33@@@@@@࣠Gj AఠK L``@A@@MV@JV@G3@a\ɠ\@@@!@@"W@@Y@@%@V@@)@S@@-@J@I@@2W@.@@/W@*@@+W@&@@'W@@@W@@@@@@ภ``@@@@@@@K4@@ ` `@@.maybe_more_acc A``@'A@@3@EPJ@K@L@@@@@@(last_pos A%`&`@8A@@3$##$$$$$@@@@@@@@@3name_type_decl_list A6`7`@IA@@354455555@@@@@@@@@ఐ3name_type_decl_listHaIa@@@@@3GFFGGGGG@@@@Ġ㑰Wb Xb@@@@@3UTTUUUUU@@@@@@@@@ఐU.maybe_more_accfbgb"@=@@@@ภ㪰pb$qb&@@@@㩠V@ȃ@@@ȅ@@zb{b'@@@Ϡ@@@}(@Ġ㍰c(@c(B@㌠ఠ)type_decl c(6c(?@A@@V@wM@ఠ!q c(Cc(D@A@@@@@y\@@@@@]@@]@@@@ఠ$name dH\dH`@A@@X@@@ȋ]@ȇ3@r/(@)@*$@@@@@ఐ8)type_decldHcdHl@@@7@)ParsetreedHmdHv@*ptype_namedHwdH@@@@(@@@Ȋ&@#txtdHdH@+@@2]@ȍ/@A@dHX@@@ఠ-complete_name ee@  A@@@@@ȭ]@ȕ3@ESL@M@N@@@డ<$Name&concatee@ ee@@@@@@@@ȝ@@Ȝ@@@@ț@@Ț@@@ș@@Ș@@ȗ)@@ఐ3current_module_name3e4e@@@#M6@@ఐ$name@eAe@@@@@@@ȸ^@ȷH@@9@@LI@A@Je @@@ఠ#loc UfVf@h A@@@@@ȿ]@Ƚ3YXXYYYYY@_mf@g@h@@@ఐ֠)type_decljfkf@@@@)Parsetreesftf@)ptype_locxfyf @@@@!@A@}f@@@ఠ)loc_start g$g-@ A@@@@@]@3@4B;@<@=@@@ఐJ#locg0g3@@@@@@@@(Locationg4g<@)loc_startg=gF@@+@@@@@@*@&LexinggGgM@(pos_cnumgNgV@@+@@<9@A@g @@@ఠ'loc_end hZnhZu@ A@@@@@]@3@O]V@W@X@@@ఐ#lochZyhZ|@\@@f@@@@@(LocationhZ}hZ@'loc_endhZhZ@@d@@F@@@@*@&LexinghZhZ@(pos_cnumhZhZ@@B+@@<9@A@hZj@@@ఠ*pos_limit2 $i%i@7 A@@]@3$##$$$$$@KYR@S@T@@@ఐ!q5j6j@w@@@@@376677777@@@@Ġ倰FkGk@@@@@@@@$@@@@@(@@@ఐ)pos_limitXkYk@@@32@Ġfdl el"@eఠ"td mlnl@A@@V@V@V@V@a@>@@}l#~l$@@۠@@@G@@@@@@@@L@@@@@P@@@ఐ,"tdl(l*@+@,@-@@,3@u6@@@)Parsetreel+l4@)ptype_locl5l>@@ְ@@$@@@@@(Locationl?lG@)loc_startlHlQ@@7)@@@@@@*@&LexinglRlX@(pos_cnumlYla@@=@@9@@@Aj@@@A@i@@@@ఠ*maybe_more nwnw@A@@@@@]@ɪ3@@@@@@@ఠ1name_comment_list nwnw@A@@@@@@ڠ@@@@@@@@@@@@]@ɫ&@@nwnw@@@2@ @@ɮ/@డ;name_comment_from_type_decl#Sig-o.o@ 1o2o@@@]@@@bY@@bX@\@@@bW@@bV@[Z@@@bU@@bT@Y@@@bN@X@W@@@bQ@VR@@@bS@@@bR@@bP@@@bO@@bM@@bL@@bK@@bJ@R@O<7@@@@@@ɿ@@ɾ@@@@ɽ@@ɼ@4@@@ɻ@@ɺ@@@@ɴ@@@@@ɷ@@@@ɹ@@@ɸ@@ɶ@@@ɵ@@ɳ@@ɲ@@ɱ@@ɰ@@ఐϠ'loc_endoo@|@@@@@^@^@@@ఐ*pos_limit2oo@Ȱ@@@@ఐ2)type_decloo@ @@1@@@@@䠠@@@^@@A@nw @@@ఠ,tt_type_decl q+q7@A@@@@@]@3@@@@@@@@డ7search_type_declaration0Typedtree_searchr:Rr:b@ r:cr:z@@@%@@@@@@@@@@@@@@@@@9@@@@@@@@ұ@Ҳ% @@@%@@@@@@@@@@@@@@@@@S@@@@@@@R@@ఐa%tableDr:{Er:@I@@&#_@@ఐ$nameQr:Rr:@Q@@"@@@^@^@s@@` @@xt@Ġ)Not_founddses@@@@@c@@@ @@@డ%raisessts@ʘ@@@ʘ@@@&@@%`@$@@#@@ภ'Failuress@]డ;type_not_found_in_typedtree-Odoc_messagesss@ ss@@@@@@x@@x@@@x@@x@@@@@@@@@@8@@7@@@6@@5@@ఐΠ-complete_namess@g@@@@@B@@ss@@@@@3@Fa@?@@ss@@@@@-`@2@@k@@@@@r:N @@@A@q' @@@ఠ,tt_type_decl u !u -@A@@k@@@K]@H3@@@@@@ఐ#,tt_type_declu 0u <@ @@@@@L@J@)Typedtreeu =u F@(typ_typeu Gu O@@䒰@@&#@A@u @@@@ఠ'com_opt (vSj)vSq@;A@@;]@N3(''(((((@9G@@A@B@@@@ఠ,ele_comments 8vSs9vS@KA@@t @@@|]@Y@@@[]@O@@HvSiIvS@@@"@@@R#@ఐ%firstYwZw@A@@/@@ఐ+comment_optgxhx@@@'h=@@ภ諰qxrx@@@@6G@@uxvx@@@'y@?@@\P@ఐv6get_comments_in_modulez"8z"N@@@@@@@h@@g@@@@f@@e@s@@@b@@@a@r@@@d@@@c@@`@@_@@^@@ఐ(last_posz"Oz"W@|@@ @@ఐ;)loc_startz"Xz"a@@@@@@~^@ʃ^@ʂ@@G @@[]@ʄ^@x@w@@]@A@vSe@@@ఠ'new_end |w|w@A@@A@@@ʙ]@ʅ3@@@@@@@@డ_df|w|w@c@@@̺@@@ʍ@@ʌ@c@@@ʋ@@ʊb@@@ʉ@@ʈ@@ʇ!@@ఐ>'loc_end|w|w@@@@@@ʝ^@ʟ^@ʞ5@@ఐ@*maybe_more(|w)|w@?@@ʎ@@@ʛ^@ʡ^@ʠI@@ @@MJ@A@4|w @@@@ఠ+maybe_more2 C}D}@VA@@@@@]@ʣ3GFFGGGGG@drk@l@m@@@@ఠ.info_after_opt W}X}@jA@@@@@@@@]@ʤ@@f}g}@@@%@@@ʧ"@డ2just_after_special%My_ir{~|~@ ~~@@@H@@@g@@f@G@@@e@@d@F@@@a@E=@@@c@@@b@@`@@_@@^@A@>'"@@@g@@@ʲ@@ʱ@f@@@ʰ@@ʯ@e@@@ʬ@d\@@@ʮ@@@ʭ@@ʫ@@ʪ@@ʩt@@డ4栐&'@@@@@@@^@^@@@@@@@@@@ఐW)file_name0@@@@@@_@_@@@' @@@@ఐ%2get_string_of_file1F1X@@@@"@@@@@@@@@@@@@@@@@@@@ఐ<'new_end1Y1`@а@@@@@@_@_@@@ఐ *pos_limit201a11k@?@@ @@41E51l@@@@@@_@@@ @@@@@@^@@A@G}@@@ఠ'com_opt RS@eA@@fed@@@@@@]@3[ZZ[[[[[@$@@ @ @ @@@డ+merge_infos#Sigrs@ vw@@@@@@b@@@b@@b@@@@b@@@b@@b:@@@b@@@b@@b@@b@@(#@@@Ơ @@@@@@@@@ @@@@@@@@X@@@@@@@@@@W@@ఐ'com_opt@װ@@d@@ఐw.info_after_opt@l@@K@@@@@@^@^@|@@k@@}@A@@@@ఠ'com_opt @A@@ݠ@@@7@@@6]@3@@@@@@డU.analyze_alerts(Odoc_sig@    @@S@@@%"@@@(@@@'@@&@S@@@%@@$ @@@#@@@"@@!@@ 1@@ఐߠ'com_opt12@;@@KH@@@<@@@;^@?^@=I@@ఐ)type_declK L)@@@X@)ParsetreeT*U3@0ptype_attributesY4ZD@@ @@—@@@9^@G^@En@@_ @@vo@A@f @@@ఠ$kind qZprZt@A@@@@@l]@H3vuuvvvvv@@@@@@డ-get_type_kind#SigZwZz@ Z{Z@@@-,@@@bu@@bt@+@*@@@bq@)('@@@bs@@@br@@bp@@@bo@@bn@&%@@@bm@@blE@@@bk@@bj@@bi@@bh@!@50@@@-@@@W@@V@W@V@@@S@U,@@@U@@@T@@R@@@Q@@P@+@@@O@@No@@@M@@L@@K@@Jn@@ఐ ࠐ#env@ 4@@ {@@ఐ1name_comment_list@@@@@@@r@h@@@t@@@s@@q@@@p^@}^@x@@ఐ;,tt_type_decl'(@@@ԣ@@@ˉ@ˇ@%Types56@)type_kind:;@@ԇ@@@@@n^@ˊ^@ˈ@@ @@@A@GZl @@@ఠ!t RS@eA@@8`@@@ˏ]@ˋ3VUUVVVVV@@@@@@#8\'ty_nameg)?h)F@ఐy-complete_namep)Iq)V@@@G@@@˔@8d'ty_info|Yo}Yv@ఐ'com_optYyY@ @@8u8r@@@ˣ@@@ˢ]@ˤ6@8i-ty_parameters@డ $List$map2@ @@@@!a@.-@@0=@!b@.*@@0]@<5@9󡠐+ty_manifestZ[@ఐ{,tt_type_declgh@:@@@@@P@M3jiijjjjj@@@@%Typesvw#@-type_manifest{$|1@@֯@@֮ر@@@O@@@N@Ġ$None7R7V@&@@@@ @@@X@@@W{@@ɠ@@@Z@@@Y@@@ภ$None7Z7^@=@@@:F:E@@@i@@@h@Ġ$Some_z_~@[ఠ!t __@A@@@@@a\@@@@@@@@c@@@bd@@@@@e@@@dk@@@ภ$Some@డb2manifest_structure#Sig@ @@@@@@bg@@bf@ՠ@@@@bc@Ӡ@@@be@@@bd@@bb@@@ba@@b`@@@@b_@@b^@@@b]@@b\@@b[@@bZ@@Ű61@@@.@@@̆@@̅@@@@@̂@-@@@̄@@@̃@@́@@@̀@@@,@@@~@@}+@@@|@@{@@z@@y3JIIJJJJJ@@@@@@@ఐ I#env\]@ @@ H@@ఐ m1name_comment_listij@@@A@@@@@̡@?l@@@̣@@@̢@@̠@@@̟`@̬`@̧5@@ఐʠ!t@?@@x@@@̝`@̲`@̱I@@@@;7@@@w@̳`@̛S@@ @@T@@@A @@;D;C@@@J@@@I]@̼@;>&ty_loc@ຠ$(loc_impl@ภ$Some@hఐ }#loc @ A@@@@@]@]@]@o@@ @@@ @@@]@v@:)loc_inter@ภ$None@@@@JI@@@@@@]@@@@ @@;@@@]@@;'ty_code #9#@@డ46[u[v@3@@@3@@@]@]@@@@@@@@@@డ)keep_code+Odoc_global9[@ <[=[@%@&@@W$@@@^@^@@@0 @@&@ภ$SomeOP@ఐ2get_string_of_file[\@@@@@@@@@@|@@@@@ {@@@ @@ @@ @@ఐ )loc_startyz@ @@Ɲ@@@ ^@"^@!@@ఐ'new_end@A@@Ƨ@@@^@$^@#(@@@@<@@@]@@%^@4@@U @@<& @@@]@;@ภ$None @G@@@]@+G@CY'@@J@@@'*?@@fa@A@ @@@@ఠ+maybe_more3 UlUw@A@@@]@.3@x@@@@@@ఠ$eles UyU}@ A@@/V@]@/@@UkU~@@@@ @@2@ఐ}!fUU@"@@|!z@@@=@@<@u@@;@p@@:@k@@9@`@_@@8@@7@@6@@5@@4A@ภ@@"@@@W@@VN@@డҙқ+U,U@Ҙ@@@@@@_@@^@Ҙ@@@]@@\җ@@@[@@Z@@Ym@@ఐ a*maybe_moreIUJU@ `@@ @@@o_@q_@p@@ఐ+maybe_more2]U^U@@@@@@m_@s_@r@@hUiU@@@@డ㠐uUvU@@@@9@@@{@@z@@@@y@@x@@@w@@v@@u@@ఐ'new_endUU@G@@W@@@͋_@͍_@͌@@ఐd+maybe_more2UU@F@@ @@@͉_@͏_@͎@@UU@@_@͇@@ఐ !qUU@@@!V@͐@@@@@@@@͑^@P@A@Ug@@@ఐ+maybe_more3@@@@@3@ @@@@@@డV!@@[@@@[?\@͚@@@͞@@͝@ @@@͜@@͛X@@@͙@@͘@@͗(@@ఐ ٠,ele_comments@ &@@~#@@@ͮ]@ͱ]@ͯ=@@ภ$%@%ภ,Element_type-.@>ఐ堐!t78@e@@?@@@ͽ]@Ϳ]@;b@@BC@@]@ͼg@ఐq$elesNO@n@@pr@@RS@@ޠa@@@ͬ]@ͷ{@@J@@V@ͪ~@@^_@@@@ @@@@@@ @@ @" @@ @ @@ t@ @@  @% @@  @ 9@@  @ @@ A@ V@@ z@ @@ @ @@ @ @@ I@ Z@@ @ @@ @ @@@,@@v@@@@@@Axa@@@̠@@@~%@w!A@#p@@@γ@@β@@@α@@@ΰ@@@ί@頠@@@ή@@έ@@ά@@Ϋ@@ΪV@Ρ@@@`?@@@@ఠ*maybe_more &0@!A@@ @@@V@ε3@@@@@ఠ$eles 26@"A@@ @@@@@@V@ζ@@%7@@@"@@@ι@ఐd!f:;@ @@c#Πԃ@@@@@@@@@J@@@@@@Q@@@@@@3I@@@@@@@@@@f@@@@@@@@ο@@ξ@@ν@@μ@@λ\@ภภDH@@@@Կ@@@W@q@@@$@@@u@@@1I2J@@W@W@@@ఐ'#locEKFN@'@@2X@(LocationNOOW@)loc_startSXTa@@̰@@@@@@@&Lexingbbch@(pos_cnumgihq@@&@@@@@W@W@@@ఐ2name_typedecl_list|r}„@@@@@@@@@W@W@@@@@@ᠠ@@@W@@A@!@@@ఐ*maybe_moreˆ•ˆŸ@@@@@2?U@ 3@@@@@@@ఐĠ,extended_envˆ¡ˆ­@@@@@ఐ$elesˆ¯ˆ³@@@2SJ@ @@ˆ”ˆ´@@@'@ڠ@ @@ )@< @@ @4 @@ @d @@ @ @@'g@Ġ)Parsetree¶¾¶@+Pstr_typext¶¶@@;+Pstr_typext@.type_extension@@@9@AD@O@A--@@@m@ఠ%tyext c¶¶@A@@@@@A3@'@@@@@%@@2@@2@@@@ఠ(tt_tyext  . 6@!#A@@@@@JV@3@( #@@@@@ఐ+%tyext&9K'9P@@@A@@@@3)(()))))@@@@)Parsetree59Q69Z@3ptyext_constructors:9[;9n@@33ptyext_constructorsU@@@8x\?5extension_constructor@@@8@@@8@@B3+ptyext_path #locv!t@@@8}@@@8|@@@@Ây`(`-̃y`(`J@@S@3-ptyext_params"x{@y@@@8@@C(variance@@@8@J+injectivity@@@8@@8@@8@@@8~@@A3@A̦z`K`P̧z`K`@@w@F3.ptyext_privateFV,private_flag@@@8@@C>@A̱|``̲|``@@͂@3*ptyext_locQ̿!t@@@8@@DJ@A̽}``̾}`a@@͎@31ptyext_attributes]@@@8@@ES@A~aa~aa%@@͗@@A{``{``@@͛@m@@fe@@@@@@@ĠtÂtÄ@@@@@yx@@@@@@@@@@@@@@@@@ ภtÏtÔ@@@@@@@2@tÈ@@@ĠÕçÕé@ఠ#ext ÕãÕæ@$A@@@@@&@@ÕêÕë@@R@@@(@@@'@@@ @@@@@*@@@)@@à@@@,@@@+@@@డ0search_extension0Typedtree_search@  @@@ڠ3@@@@@@@@@@@@@@@@@(@@@@@@@@@Ѱ% @@@4@@@;@@@<@@@:@@9@@@@8@@7B@@@6@@5@@43TSSTTTTT@Bun@o@p@@@@ఐ)%tablefg@)k@@4E@@ఐ#extwx@@@6@@@i@f&@)Parsetree @)pext_name @@3)pext_nameI@@@8c#locN@@@8@@@8@@@3)pext_kindΘ:extension_constructor_kind@@@8@@A@Aaaab@@Μ@3(pext_loc!t@@@8@@B@Ab b%b b:@@Ψ@3/pext_attributes'@@@8@@C@Ab;b@b;b\@@α@@Aaaaa@@ε@K7@@0i@@@LY@rY@h@@@gt@#txt@]@@Y@j|@@@@}@Ġ)Not_found.7@m@@@@@@@w@@@డU%raise;M;R@@@@@@@}@@|[@{@@z@@ภ'Failure;T;[@נడ@ extension_not_found_in_typedtree-Odoc_messages\x\ą@ \Ć\Ħ@@@B@@@x@@xF@@@x@@x@DE@@C@@@@@@@Ϗ@@ώ@@@ύ@@ό@@డq$Name&concatEħFħ@ IħJħ@@ٰ@@@%@@@Ϡ@@ϟ@,@@@Ϟ@@ϝ/@@@Ϝ@@ϛ@@Ϛ@@ఐ*렐3current_module_namehħiħ@*Ӱ@@5@@ఐ#extyħzħ@ @@8@@@Ͽ@ϼ(@)Parsetreeħħ@)pext_nameħħ@@@@i@@@]@Ͼ@@@Ͻ@@#txtħħ@'@@ ]@H@@ħħ@@x@@@ϰN@@\wħ@@{@@@ϊ@\@ϖX@@;Sħ@@@@@τ[@ω`@@@@a@@@ïÿ @@c@@@A9E @@@A@ * @@@ఠ'new_env #@%A@@;V@j3@@@@@@డD$List)fold_left&2&6@ &7&@@@U@@@@pV@o@@x@@@@ПV@r@@w @@v@@u@@t@@@s@T@@@q@@p@@n@@m@@l3@7@@@@࣠@'acc_env AATA[@(&A@@*J@@@@࣠@ Aঠ)Parsetree+Ad,Am@)pext_name0An1Aw@@ঠ#txt;A|<A@рఠ$name CAłDAņ@V'A@@@@@Ь3EDDEEEEE@|>^@5@6@@@@@NAzOAň@@@@@аZ@Ю@@@Э@@@ZAc[Aʼn@@gZ@М@@@@@ఠ-complete_name jōškōŮ@}(A@@D@@@Z@й3nmmnnnnn@*6/@0@1@@@డ$Name&concatōűōŵ@ ōŶōż@@@@@c@@@@@@j@@@п@@оm@@@н@@м@@л)@@ఐ,)3current_module_nameōŽō@,@@66@@ఐp$nameōō@@@@@@@[@H@@9@@LI@A@ōŝ @@డR-add_extension(Odoc_env@ @@@:@@@d.@@d-@!t@@@d,@@d+G@@@d*@@d)@@d(@K\llL\l@@ID@!@@@S@@@@@@@@@@@]@@@@@@@3@@@@@@@ఐ'acc_env   @@@@@ఐ-complete_name @@@@@@ @@S@@Z@#@d @@@"A_ @@@4@@:@@X@@*AO+'@@@E@@Б@C@@АI@@Џ@@ЎW@W@ i@@ఐ,Ԡ#envB(6C(9@,@@7c?@@ఐV%tyextQ:HR:M@9@@l@@@@S@)Parsetree_:N`:W@3ptyext_constructorsd:Xe:k@@*@@z@@@ЋW@W@j@@ @@@A@r@@@ఠ+comment_opt  }yƇ~yƒ@)A@@qp@@@1@@@0V@3@@@@@@డ.analyze_alerts(Odoc_sigƕơƕƩ@ ƕƪƕƸ@@@@@ѹѶ@@@"@@@!@@ @@@@@@Ѣѡ@@@@@@@@@@1@@ఐ-+comment_optƕƹƕ@,@@7>@@ఐ٠%tyext@@@@@@?@=R@)Parsetree@1ptyext_attributes@@P@@%@@@3W@@W@>h@@Y @@pi@A@yƃ @@@ఠ)loc_start à@*A@@+@@@FV@A3@@@@@@ఐ-#loc@-p@@8)@(Location  (@)loc_start$)%2@@@@j@@@G@D%@&Lexing3349@(pos_cnum8:9B@@f&@@74@A@= @@@ఠ'loc_end ĠHFTIF[@[+A@@t@@@MV@H3LKKLLLLL@JXQ@R@S@@@ఐ-Ѡ#loc_F_`Fb@-@@8r@(LocationhFciFk@'loc_endmFlnFs@@Ѱ@@@@@N@K%@&Lexing|Ft}Fz@(pos_cnumF{Fǃ@@&@@74@A@FP@@@ఠ&new_te ŠLJǕLJǛ@,A@@C@@@TV@O3@JXQ@R@S@@@C𡠐'te_infoǬǺǬ@ఐ2+comment_optǬǬ@@@DC@@@X@@@WV@Y!@C,te_type_name@డW.full_type_name(Odoc_env@ @@@?@@@dt@@ds@!t@@@dr@@dq!t@@@dp@@do@@dn@SqTq@@QN@$@@@[@@@k@@j@@@@i@@h@@@g@@f@@ek@@ఐE'new_env@@@Dx@@డN$Name)from_path"##@ &$'-@@@@@@@@ч@@ц@@@х@@ф@@ఐ2(tt_tyext@.A6@q@@B@@@ј@і@*tyext_pathL7MA@@@@@@єX@љX@ї@@WXB@@-@@@ђ@@@@t@@@{@D2te_type_parametersfDRgDd@డ$List#mapugwvg{@ yg|zg@@č@@@@@@@@V@Ϡ@@@@@@@@@@@V@@@V@ѷ@@ѺD@@@ѯV@V@V@Ѵ@@ѹ@@Ѹ@ĩ+@@@Ѷ@@ѵĨ@@@ѳ@@Ѳ@@ѱ3@@@@@࣠@ A@ఠ$ctyp ƠgȆgȊ@-A@@B3@@@gȌgȍ@@A9@@gȅgȎ@@@O@J@@B@@ @@డr*subst_type(Odoc_envgȒgȚ@ gțgȥ@@p@@@Z@@@@@@p@@@@@k@@@@@@@3@kA|@;@<@@@@ఐG'new_env gȦ gȭ@@@F@@ఐW$ctyp gȮ !gȲ@@@@)ctyp_type 'gȳ (gȼ@ð @@Ơ@@@Y@Y@-@@G @@.@ 3gȀ 4gȽ@@@@@@@W@W@@@ఐ;(tt_tyext Igȿ Jg@z@@K@@@@@,tyext_params Ug Vg@@@X@@@W@W@@@ @@E@@@ѮW@@E*te_private m n@ఐj(tt_tyext x y@@@z@@@@ @-tyext_private  @@@E@@@V@ @E顠/te_constructors    &@ภӰ  )  +@@@@SS@@@@@@V@!@E&te_loc -; -A@ຠ(loc_impl -F -N@ภ$Some -Q -U@^ఐ0:#loc -V -Y@0"@@:@@@@-3#@@@/V@6@')loc_inter -\ -e@ภ$None -h -l@v@@@76@@@C@@@BV@I7@@@ -D -n@@E@@@'V@M?@E'te_code q qɆ@డo!# ɛɰ ɛɱ@ @@@ ݰ@@@eV@cV@X@@@Z@@Y@@Wc@@డ )keep_code+Odoc_global &ɛɼ@  )ɛɽ *ɛ@%@&@@D$@@@aW@dW@b@@0 @@&@ภ$Some < =@ܠఐo2get_string_of_file H I@@@@l@@@t@@s@i@@@r@@qh@@@p@@o@@n@@ఐg)loc_start f g@@@Ҋ@@@҄W@҆W@҅@@ఐ2'loc_end z { @@@Ҕ@@@҂W@҈W@҇@@   @@F@@@UV@l@҉W@Ҁ@@U @@F @@@TV@k@ภ$None #7 #;@4@@@V@ҏ@ ɉə <M@@@@@ ǞǪ P]@@@A@ LJǑ@@Aఠ>analyse_extension_constructors Ƞ k} kʛ@ .A@@@p@@@'V@Ғ@@ҧ@ $T@@@.V@)@@@-V@Җ@@Ҧ@ @@@V@@@@V@Қ@@ҥ@'V@Ҟ@"V@@@@V@ҟ@@Ҥ@@ң@@Ң@@ҡ3        @Vd]@^@_@@@࣠@*maybe_more A kʜ kʦ@ /A@@D3        @R@M@@ғ@J@@җ@A@@қ@8@7@@ҠW@Ҝ@@ҝW@Ҙ@@ҙW@Ҕ@@ҕW@ґ@f@g@@@@"!@@(exts_acc A (kʧ )kʯ@ ;0A@@f3 ' & & ' ' ' ' '@,8r@/@0@@@@@@+tt_ext_list A 9kʰ :kʻ@ L1A@@h3 8 7 7 8 8 8 8 8@z@@@@@@@@ఐ+tt_ext_list Kʾ Lʾ@y@@@@z3 J I I J J J J J@@@@Ġ Z [@@@@@3 X W W X X X X X@@@@@@@@@ఐo*maybe_more i j@=@@@@డ $List#rev { | @    @@@M!a@/@@@/@@/~@@@/}@@/|@OePe@@NM@@@@@@@@@@@@@@H@@ఐ(exts_acc  @r@@U@@8@@V@@  @@@֠@@@_@Ġǰ 4 6@Ơఠ&tt_ext ̠ - 3@ 2A@@V@@ఠ!q ͠ 7 8@ 3A@@ :@@@@@@@@@@@@@@ఠ-complete_name Π <T <a@ 4A@@@@@\@3        @/(@)@*$@@@@@డ 4$Name&concat <d <h@  <i <o@@@@@@@@@@@@@@@@@@@@@@@+@@ఐ23current_module_name +<p ,<˃@2@@=E8@@ఐn&tt_ext <<˄ =<ˊ@E@@mI@(ext_name C<ˋ D<˓@ @@@@@]@ @@@ Y@#txt S<˔ T<˗@ؘ@@ ]@ a@@P@@eb@A@ Y<P@@@ఠ+ext_loc_end Ϡ d˛˳ e˛˾@ w5A@@@@@"\@3 h g g h h h h h@x@@@@@ఐ&tt_ext }˛ ~˛@@@@'ext_loc ˛ ˛@ @@@@@!@@(Location ˛ ˛@'loc_end ˛ ˛@@@@@@@#@ 3@&Lexing ˛ ˛@(pos_cnum ˛ ˛@@ٰ2@@EB@A@ ˛˯@@@ఠ&new_xt Р   @ 6A@@V@@@t\@$3        @Xf_@`@a@@@ఐ&tt_ext 2 8@۰@@3        @@@@(ext_kind 9 A@ @@@@@' @Ġ)Text_decl Ga Gj@;)Text_decl@@@@!]#locZ@@@@@@@@@5constructor_arguments@@@-@@@@@@@C@@B@A!cMcQ!cMc@@@@@ Gk Gl@@('%@@@4@@@3@@@23        @a@@@ఠ$args Ѡ -Gn .Gr@ @7A@@/@@@5@ఠ(ret_type Ҡ ;Gt <G|@ N8A@@7@@@7@@@6!@@@] GG}@@n@@@8&@@q@@@9)@@@@ఠ'xt_args Ԡ X̟́ Ý̦@ k:A@@әӘ@@@e_@I3 ] \ \ ] ] ] ] ]@<5@6@7/(@)@*@@@డ-get_cstr_args#Sig t̩ u̩@  x̩ y̩@@@@@@b@@b~@@@@b}@@b|@@@@b{@@bz5@@@by@@bx@@bw@@bv@@Ȱ#@@@@@@T@@S@@@@R@@Q@@@@P@@ON@@@N@@M@@L@@KM@@ఐ'new_env ̩ ̩@/@@Z@@ఐb+ext_loc_end ̩ ̩@@@@@@i`@n`@mn@@ఐ$args ̩ ̩@w@@R@@@g`@p`@o@@q @@@A@ ̛́ @@A-'xt_name / 6@ఐ -complete_name 9 F@@@@@@y3        @@@@@@A:'xt_argsHf HmAఐ @@AG@@@Ӆ^@ӆ@A?&xt_reto͍o͓@డ &Option#map*͖Ͷ+͖ͼ@ .͖ͽ/͖@@@@!a@+B@@+!b@+?@@+@@+@@@@+@@+ @@@+@@+@@+@oo@@I@+&@@@@@@@^@ӗ@@ӚA@@@ӏ^@^@^@Ӕ@@ә@@Ә@)@@@Ӗ@@ӕ(@@@ӓ@@Ӓ@@ӑ3rqqrrrrr@x@@@@࣠@$ctyp A͖͖@;A@@-@@@@డ *subst_type(Odoc_env͖͖@ ͖͖@@@@@@@@Ӹ@@ӷ@@@@Ӷ@@ӵ@@@Ӵ@@ӳ@@Ӳ3@5X@,@-@@@@ఐ 'new_env͖͖@5@@ @@ఐK$ctyp͖͖@@@t@)ctyp_type͖͖@q @@N@@@a@a@-@@G @@|.@͖͖@@@@@Ӭ@@ӫ_@_@@@ఐ(ret_type͖͖@@@@@@ө_@_@@@ @@B*@@@ӎ_@ӧ@B 1xt_type_extension "3@ఐ&new_te6<@'@@K@@@^@@B.(xt_alias$>\%>d@ภ$None,>g->k@ @@@B>B=@@@@@@^@@B8&xt_loc>m΋?mΑ@ຠ(loc_implImΖJmΞ@ภ$SomeQmΡRmΥ@ఐ&tt_ext]mΦ^mά@f@@@'ext_locdmέemδ@ @@@@@^@^@^@@@  @@Ҡ @@@^@@̡)loc_inter}mη~m@ภ$Nonemm@ @@@ܠ@@@@@@^@@@@mΔm@@B@@@^@"@B'xt_text@ภ$None@ =@@@BB@@@#@@@"^@)<@@@@@@@@U@Ġ+Text_rebind2=@;+Text_rebind@{!t@@@ 4#loct!t@@@@@@@BA@B@A "cc "cc@@@ @ఠ$path Ӡ>B@9A@@#@@@@@@DE@@$"@@@B@@@A#@@@8F@@ @@@C(@@#@@@D+@@@CF'xt_name hφ hύ@ఐ%-complete_namehϐhϝ@@@ @@@23@U92@3@4@@@CS'xt_args!ϟϽ"ϟ@ภ*Cstr_tuple)ϟ*ϟ@;*Cstr_tupleN50constructor_args@@@@NN)type_expr@@@@@@@AA@B@ANeNe@@@NFM@ภIϟJϟ@@@@@@@F@@@E^@L=@@- @@C@@@>^@DC@C&xt_retab@ภ$Noneij@ @@@CC@@@U@@@T^@[]@C1xt_type_extension{!|2@ఐ&new_te5;@@@L@@@a^@bt@C(xt_alias=[=c@ภ$SomefІfЊ@ :ຠ3'xa_nameC@@@L!t@@@@@@ 3%xa_xt LZ@@@@@@A@A @ALXLX(@@ZH@@ALWLW@@ZG@'xa_nameЍЯЍж@డY?full_extension_constructor_name(Odoc_envЍйЍ@ ЍЍ@@@A@@@d@@d@!t@@@d@@d!t@@@d~@@d}@@d|@Uw  Vw  @@SP@$@@@]@@@Ԃ@@ԁ@@@@Ԁ@@@@@~@@}@@|@@ఐ7#envЍЍ@7@@B2@@డP$Name)from_path$Ѝ%Ѝ@ (Ѝ)Ѝ@@@@@@@@Ԟ@@ԝ @@@Ԝ@@ԛ@@ఐ[$path@ЍAЍ@(@@@@@ԫ`@ԭ`@Ԭ2@@KЍLЍ@@ !@@@ԩ8@@@@f@@@Ԓ<@%xa_xtZ[$@ภ$Noneb'c+@ @@@[l@@@@@@^@V@@@ofЋp-N@@D~@@@k^@r^@`@@ @@D @@@j^@qg@D&xt_locPnPt@ຠ(loc_implPyPс@ภ$SomePфPш@ 8ఐ֠&tt_extPщPя@@@@'ext_locPѐPї@ʰ @@`@@@^@^@^@@@  @@ @@@^@@)loc_interPњPѣ@ภ$NonePѦPѪ@ b@@@#"@@@@@@^@@@@PwPѬ@@D@@@^@@Dԡ'xt_textѯѯ@ภ$Noneѯѯ@ @@@DD@@@@@@^@ @@@Jf@@>@@@A,@@@;@A@ @@@ఠ*pos_limit2 ֠ , 6@A@@@@@օ\@q3@@@@@@ఐ2get_string_of_file2D@ӈ@@@@@@y@@x@@@@w@@v@@@u@@t@@s @@ఐ+ext_loc_endEP@.@@@@@։]@֋]@֊4@@ఐ*pos_limit2Q[@>@@A@@6@@EB@A@ *@@@@ఠ*maybe_more ٠_z_ӄ@-?A@@@@@֭\@֎3@\jc@d@e@@@@ఠ+comment_opt ڠ._ӆ/_ӑ@A@A@@ߠ@@@֯@@@֮\@֏@@<_y=_Ӓ@@@$@@@֒!@డ2just_after_special%My_irQ_ӖR_ӛ@ U_ӜV_Ӯ@@ְ@@@@@@֝@@֜@@@@֛@@֚@@@@֗@@@@֙@@@֘@@֖@@֕@@֔T@@డ_ӯ_Ӱ@@@@Q@@@ֳ]@]@ֶ@@@ָ@@ַ@@ֵq@@ఐ)file_name_ӹ@ԭ@@@@@ֿ^@^@@@' @@@@ఐ!s_Ӻ_ӻ@@@s@@@ֱ]@]@@@m @@@@@@]@֬@A@_u@@@ఠ+comment_opt ۠ӿӿ@AA@@Ơ@@@@@@\@3@@@@@@@@డ@.analyze_alerts(Odoc_sig@ @@>@@@ @@@@@@@@@>@@@@@@@@@@@@@@@3@@ఐ+comment_opt"@;@@63@@@@@@]@]@K@@ఐh&tt_ext6#=7#C@?@@gZ@.ext_attributes=#D>#R@P @@ @@@d@@S@@le@A@Eӿ@@ ఐ&new_xtQlԂRlԈ@A@@^V@@@3RQQRRRRR@y@@@@@'xt_text^lԉ_lԐ@GSఐ+comment_optglԔhlԟ@@@G]G\@@@@@@\@@# @@j@@@ \@ "@ఐ ͠>analyse_extension_constructors ԡԷ ԡ@ @@@ @@@ @@@ @@@ @ @@@@@@@@@@@ఐ*maybe_more ԡ ԡ@@@ M@@ภw ԡ ԡ@ఐ&new_xt ԡ ԡ@@@ b@ఐ (exts_acc ԡ ԡ@ @@ m@@ ԡ ԡ@@ V@,r@@ఐ!q ԡ ԡ@۰@@ V@0@@W@@@ @ @@1\@#@@@ @@@ @@@ @@@ @2@@ @@@#@8@@{@@@ 3@@@Aʾ@@@ @ @@) @ A@@ ;@@J@ 6@@I@ +@@H@ @ @@G@@F@@E@@DV@= @@@ku4@@@@ఠ*maybe_more ܠ   @)BA@@@@@sV@L3@ @@@@ఠ$exts ݠ( ") &@;CA@@ E_3@@@u@@@tV@M@@6 7 '@@@"@@@P@ఐ >analyse_extension_constructorsG *H H@ F@@@@@@V@@^@_Z@@@X@@@]@@\@!@@@[@@@Z@@Y@@ @@@W@@U@@T@@S@@RR@@@x Iy J@@bW@}W@|_@@ภ K M@@@@]@@@zW@؃p@@ఐ(tt_tyext N V@̰@@@@@؉@؆@2tyext_constructors W i@p@@o@@@x@@@wW@؊W@؇@@o@@@@@@،W@r@A@ @@ ఐ:&new_te m{ mՁ@ ܰ@@R5@@@؏3@ @@@@@@@/te_constructors mՂ mՑ@R8ఐ$exts mՕ mՙ@@@_נ_@@@ؘ@@@ؗV@ؙ@% @@@@@؞V@؝$@@ఐꠐ*maybe_more ՛ժ ՛մ@.@@FU@ؤ4@@ఐD'new_env ՛ն ՛ս@@@C@@@ภ ՛ ՛Aภ6Element_type_extension ! ՛@Rఐ&new_te* ՛+ ՛@ ;@@R@@@دU@رU@ذc@@ @@BU@خf@ภ= ՛%Au@&A@BJ@ئ@@@تU@ضv@@H ՛տ0@@@@@ة|@@N ՛թO ՛@@@Q@@@@ط@ @@ @ @@ ;@T @@  l@  @@ @@@  @!@@V@k@@@@@@@@;I@Ġ)Parsetreemn@.Pstr_exceptionrs@@;.Pstr_exception@q.type_exception@@@9@AE@O@A..@@@vn@ఠ#ext d@A@@@@@D3@<@@@@@%@@G@@G@@@@ఠ$name ޠ  @DA@@@@@ؿ@@@ؾV@ظ3@<&@ @!@@@ఐ.#ext   #@@@D@@@ؽ@ػ@)Parsetree $ -@2ptyexn_constructor . @@@32ptyexn_constructorW@@@8@@@8@@@ 3*ptyexn_loc !t@@@8@@A @Abbbb@@@31ptyexn_attributes@@@8@@B@Abbbc@@@@Abbbb@@@9%@@@@@@ؼL@)Parsetree A J@)pext_name K T@@vM@@b[@A@ @@@ఠ-complete_name ߠփ֑փ֞@#EA@@@@@V@3@q|@}@~@@@డU$Name&concat)փ֡*փ֥@ -փ֦.փ֬@@Ľ@@@ @@@@@@@@@@@@@@@@@@)@@ఐ=Ϡ3current_module_nameLփ֭Mփ@=@@Hf6@@ఐ$name[փ\փ@B@@̠7@@@W@@@@N@#txtkփlփ@㰰@@ W@V@@G@@ZW@A@qփ֍@@@ఠ&tt_ext |}$@FA@@nK@@@ V@3@n|u@v@w@@@డ0search_exception0Typedtree_search'7'G@ 'H'X@@@[XWH|@@@Q@@@@@@@@@H@@@@@7@@@@@@@@M@N% @@@H@@@@@@@@@@@@b@@@@@Q@@@@@@@P@@ఐ=%table'Y'^@=@@H]@@ఐS$name'_'c@ְ@@`@@@ W@0W@'@@@&w@#txt'd'g@F@@W@(@@n@@@Ġ)Not_foundhyhׂ@@@@@ @@@5@@@డ%raise׆ה׆י@B@@@B@@@;@@:Y@9@@8@@ภ'Failure2׆כ3׆ע@డp exception_not_found_in_typedtree-Odoc_messagesB׆פC׆ױ@ F׆ײG׆@@@r@@@x@@xv@@@x@@x@tu#@@s@@@@@@@M@@L@@@K@@J@@ఐ_-complete_nameo׆p׆@@@F@@@W@@v׆ףw׆@@I@@@H@[Z@T@@׆ך׆@@@@@BY@G@@k@@@@@'3 @@@A@ @@@ఠ+comment_opt  @GA@@㊠@@@v@@@uV@]3@-&@'@(@@@డ.analyze_alerts(Odoc_sig   @  ! /@@@@@Ҡ@@@g@@@f@@e@@@@d@@c㻠@@@b@@@a@@`@@_1@@ఐ?.+comment_opt 0 ;@?@@I>@@ఐd#ext < ?@D@@z@@@ل@قR@)Parsetree @ I@1ptyexn_attributes J [@@!@@>@@@xW@مW@كh@@Y @@pi@A@  @@@ఠ'new_env iwi~@+HA@@؁@@@ٚV@ن3@@@@@@డָ-add_extension(Odoc_env1i؁2i؉@ 5i؊6iؗ@@f@@@ؠ@@@َ@@ٍ@f@@@ٌ@@ًت@@@ي@@ى@@و)@@ఐ?栐#envTiؘUi؛@?а@@Ju6@@ఐQ-complete_nameai؜biة@۰@@8@@@٢F@@7@@JG@A@iis@@@ఠ'new_ext tحػuح@IA@@S@@@ V@٪3xwwxxxxx@]kd@e@f@@@ఐ&tt_ext@@@ [@@@ٰ@ٮ3@@@@)Typedtree@1tyexn_constructor@@ Ͱ@@ e@@@ٲ@ٯ@(ext_kind@ ذ$@@ @@@ٱ@Ġ)Text_decl@ Ԡ@ !@@ Ӡ Ҡ @@@پ@@@ٽ@@@ټ3@S@@@ఠ'tt_args #*@JA@@ @@@ٿ@ఠ+tt_ret_type ,7@KA@@  x@@@@@@!@@@48@@ @@@&@@ @@@)@@@@ఠ)loc_start  <P <Y@MA@@/@@@Y@3@;4@5@6.'@(@)@@@ఐ@#loc <\ <_@@v@@K/@(Location% <`& <h@)loc_start* <i+ <r@@ƣ@@p@@@@'@&Lexing9 <s: <y@(pos_cnum> <z? <ق@@l&@@96@A@C <L@@@ఠ'loc_end N!نٚO!ن١@aNA@@z@@@Y@3RQQRRRRR@LZS@T@U@@@ఐ@נ#loce!ن٥f!ن٨@@@@Kx@(Locationn!ن٩o!نٱ@'loc_ends!نٲt!نٹ@@װ@@ƹ@@@@%@&Lexing!نٺ!ن@(pos_cnum!ن!ن@@Ƶ&@@74@A@!نٖ@@@ఠ'ex_args ""@OA@@ ?@@@Y@3@JXQ@R@S@@@డ"-get_cstr_args#Sig##@ ##@@ <@@@ <@@@@@@@@@@@@ ;@@@@@ o@@@@@@@@@0@@ఐAl#env##@AV@@K=@@ఐ'loc_end##@G@@9@@@Z@Z@Q@@ఐ#'tt_args##"@@@ s@@@Z@Z@e@@V @@if@A@" @@UK'ex_name%8J%8Q@ఐ -complete_name%8T%8a@@@@@@3@@@@@@UV'ex_info)&dv*&d}@ఐ+comment_opt2&dڀ3&dڋ@@@UgUd@@@ @@@X@!@U['ex_argsD'ڎڠE'ڎڧAఐ @*@Uh@@@)X@*1@U`&ex_retW(کڻX(ک@డ&Option#mapf)g)@ j)k)@@ <@@@@@@@qX@;@@>U@@@3X@|X@hX@8@@=@@<@ B@@@:@@9 A@@@7@@6@@53@p@@@@࣠@$ctyp A**@PA@@-@@@@డ9*subst_type(Odoc_env**@ **@@7@@@!@@@\@@[@7@@@Z@@Y2@@@X@@W@@V3@5X@,@-@@@@ఐ'new_env**!@[@@B@@@l[@n[@m@@ఐR$ctyp*"*&@#@@{&@)ctyp_type*'*0@ꑰ @@n@@@j[@r[@p4@@N @@5@**1@@@@@P@@OY@vY@t@@ఐ/+tt_ret_type+2H+2S@@@ ֠@@@MY@zY@x@@ @@V/@@@2Y@K@V#(ex_alias-,Ug.,Uo@ภ$None5,Ur6,Uv@@@@V3V2@@@ڄ@@@ڃX@ڊ@V-&ex_locG-yۋH-yۑ@ຠŶ(loc_implR-yۖS-y۞@ภ$SomeZ-yۡ[-yۥ@ఐB֠#locd-yۦe-y۩@B@@Mw@@@@ɠE@@@ژX@ڟ@á)loc_intert-y۬u-y۵@ภ$None|-y۸}-yۼ@@@@Ӡ@@@ڬ@@@ګX@ڲ@@@-y۔-y۾@@Vv@@@ڐX@ڶ@Vp'ex_code..@డ ɽɿ0 0 @ɼ@@@ɼL@@@X@X@@@@@@@@$@@డɥ)keep_code+Odoc_global0@ 00"@%@ɣ&@@$@@@Y@Y@A@@0 @@&B@ภ$Some1(@1(D@xఐ 2get_string_of_file1(F1(X@ݘ@@@@@@@@@@@@@@@@@@@@@h@@ఐ)loc_start1(Y1(b@@@&@@@Y@Y@|@@ఐȠ'loc_end1(c1(j@v@@0@@@Y@Y@@@!1(E"1(k@@W@@@ھX@@Y@@@U @@W  @@@ڽX@@ภ$None:3܇ܟ;3܇ܣ@@@@X@@@/A4ܤܹ@@@@@C$&6D5ܼ@@%@?@@@@@@@@<@Ġ+Text_rebindR6S6@ ఠ'tt_path [6\6@nLA@@ @@@@@e6f6@@  @@@@@@@@@o6@@@@@@@@@@@@@W'ex_name8 8 "@ఐx-complete_name8 %8 2@@@_@@@3@92@3@4@@@Wġ'ex_info95G95N@ఐ +comment_opt95Q95\@@@WՠW@@@@@@X@@Wɡ'ex_args:_q:_x@ภ*Cstr_tuple:_{:_݅@ ภ:_݆:_݈@@@@  @@@!@@@ X@'@@@ @@W@@@X@F@W㡠&ex_ret;݋ݝ;݋ݣ@ภ$None;݋ݦ;݋ݪ@x@@@WW@@@0@@@/X@6`@Wꡠ(ex_alias<ݭݿ<ݭ@ภ$Some==@ຠ3'ea_nameW@@@"XB!t@@@@@@ 3%ea_ex X@Xa@@@!@@@ A@A @AX9ZqsX:Zq@@XdD@@AX=Y]_X>Y]p@@XhC@'ea_name%=&=@డۻ?full_extension_constructor_name(Odoc_env4> 5>@ 8>9>4@@ b@@@ݣ@@@V@@U@ b@@@T@@S _@@@R@@Q@@P@@ఐD預#envW?5TX?5W@DӰ@@Ox@@డ$Name)from_pathj?5Yk?5]@ n?5^o?5g@@@@@@@@r@@qM@@@p@@o@@ఐ+'tt_path?5h?5o@@@@@@Z@ہZ@ۀ@@?5X?5p@@g@@@}@@c@@ @@@f @%ea_ex@sގ@sޓ@ภ$None@sޖ@sޚ@>@@@X@@@ۘ@@@ۗX@۞&@@@=@sޞ@@X@@@?X@FX@ۢ0@@ @@X @@@>X@E7@X&ex_locAޡ޳Aޡ޹@ຠ:(loc_implAޡ޾Aޡ@ภ$SomeAޡAޡ@~ఐEZ#locAޡAޡ@EB@@O]@@@@MH3@@@ۯX@۶d@G)loc_interAޡAޡ@ภ$NoneAޡAޡ@@@@WV@@@@@@X@~@@@ Aޡ޼Aޡ@@X@@@ۧX@@X'ex_codeBB@ภ$None"B#B @@@@YY@@@@@@X@@@@/70C @@@@@A2@@@A@4حط@@@@=E+8>E+9@@OU@43<;;<<<<<@@@@@@@ఐ5'new_envME+;NE+B@а@@8U@5@@ภ .YE+FZE+aAZภ1Element_exception bE+W@Ztఐ'new_extkE+XlE+_@*@@Z@@@@U@BU@A4@@ @@LU@?7@ภ @~E+`%A@&A@ޠLJ@7@@@;U@GG@@E+D0@@@@@:M@@E+7E+b@@@V@G@@@HX@f @@ @2 @@ z@ @@ @ @@ @-@@ @@@E3@Ġ)ParsetreeGdlGdu@+Pstr_moduleGdvGd߁@@;+Pstr_module@.module_binding@@@9@AF@O@A11311R@@@o@ঠ)ParsetreeGd߃Gdߌ@(pmb_nameGdߍGdߕ@@3(pmb_name@@@9#loc@@@9@@@9@@@9@@@3(pmb_exprPE@@@9@@A@AZZ@@@3.pmb_attributes@@@9@@B@A[[@@@3'pmb_loc'+!t@@@9@@C@A)\*\@@@@A-Ych.Yc@@@ঠ#txt Gdߗ Gdߚ@WĠ$None Gdߛ Gdߟ@@@@@@?@@@`@@@_ @@@ %Gdߖ &Gdߠ@@OON@@@f@@@eV@b@@@a @@@ 5Gd߂ 6Gdߡ@@@@@nV@m @@@@@Q, @@Q, @@@@@ EHߥ߰ FHߥ߱@@PU@N @@ఐF䠐#env RHߥ߳ SHߥ߶@Fΰ@@Qs @@ภ \Hߥ߸ ]Hߥߺ@@@@LJ@P@@@R @@ fHߥ߯ gHߥ߻@@E @Ġ)Parsetree tJ߽ uJ߽@+Pstr_module yJ߽ zJ߽@@ɠঠ)Parsetree J߽ J߽@(pmb_name J߽ J߽@@ঠ#txt J߽ J߽@Ġ$Some J߽ J߽@?ఠ$name e J߽ J߽@ A@@@@@3        @F@@@@@@@Ԡ@@@@@@ @@@ J߽ J߽@@@@@@@@V@@@@@(pmb_expr J߽ J߽@ఠ+module_expr f J߽  J߽@ A@@Q5@@@.@@@ J߽ J߽@@,@@@V@6@@@r@@Q7@@Q7@@@@ఠ.tt_module_expr  N]n N]|@!QA@@Q@@@lV@T3        @F[T@U@V.'@(@)@@@డ -search_module0Typedtree_search!N]!N]@ !N]!N]@@@͠Q@@@@@@@@@@@@@@@@@7@@@@@@@@@% @@@R @@@]@@@^@@@\@@[@,@@@Z@@YQ@@@X@@W@@VP@@ఐGs%table!VN]!WN]@G[@@R5]@@ఐ$name!cN]!dN]@f@@P@@@nW@܇W@܆q@@` @@vr@A@!oN]j @@@ఠ.new_module_pre !zO!{O@!RA@@R}J@J@J@J@J@J@|J@xJ@pJ@J@J@J@J@J@J@J@J@J@8J@4J@.J@(J@"J@J@J@J@ J@J@J@J@J@J@J@J@J@J@J@J@J@J@J@lJ@hJ@bJ@\J@VJ@PJ@LJ@HJ@BJ@>J@7J@3J@J@J@J@J@J@J@J@J@J@J@rJ@J@J@J@{J@uJ@oJ@kJ@gJ@aJ@]J@J@J@J@J@J@J@J@J@J@J@J@J@J@J@ߔJ@>J@9J@܈3"."-"-".".".".".@8G@@A@B@@@ఐR.analyse_module"?O"@O@RŰ@@@R@@ܕ@R@@ܔ@R@@ܓ@R@@ܒ@R@@ܑ@R@@ܐR@@܏@@܎@@܍@@܌@@܋@@܊'@@ఐH#env"dP"eP@H@@S4@@ఐH3current_module_name"qQ"rQ@Hܰ@@SA@@ఐ֠$name"~R("R,@@@RJ@ܴO@@ఐHܠ+comment_opt"S->"S-I@Hİ@@S\@@ఐà+module_expr"TJ["TJf@@@SJ@J@J@-J@J@ܵr@@ఐ.tt_module_expr"Ugx"Ug@|@@SJ@(J@ܶ@@w@@S@A@"O@@@ఠ$code "W"W@"SA@@@@@V@@@@V@ܷ3""""""""@]V@W@X@@@డ!G"X"X@@@@@@@V@V@ܺ@@@ܼ@@ܻ@@ܹ3""""""""@@@@@డ)keep_code+Odoc_global "X@ #X#X@&@'@@%@@@W@W@@@1 @@'@@ఠ#loc #Y#Y@#,TA@@N!t@@@W@T@ఐX+module_expr#.Y#/Y@0@@S@@@@e@)Parsetree#<Y#=Y @(pmod_loc#AY#BY@@3(pmod_locS@@@9*@@@9@@A3)pmod_desc H0module_expr_desc@@@9@@@@A{|@@L\@3/pmod_attributesx@@@9@@B@A -2 -N@@U^@@A,@@Y]@8$@@G@A@#gY&@@@ఠ"st #rZ/#sZ1@#UA@@Ϟ@@@W@3#v#u#u#v#v#v#v#v@ha@b@c@@@ఐp#loc#Z4#Z7@@@@@@@@(Location#Z8#Z@@)loc_start#ZA#ZJ@@@@@@@@*@&Lexing#ZK#ZQ@(pos_cnum#ZR#ZZ@@ް+@@<9@A@#Z+@@@ఠ"en #[^s#[^u@#VA@@@@@W@3########@O]V@W@X@@@ఐ#loc#[^x#[^{@\@@P@@@@@(Location#[^|#[^@'loc_end#[^#[^@@N@@0@@@@*@&Lexing#[^#[^@(pos_cnum#[^#[^@@,+@@<9@A@$[^o@@ภ$Some$ \$ \@ఐ=2get_string_of_file$\$\@ʰ@@@:@@@@@@7@@@@@6@@@@@@@3$%$$$$$%$%$%$%$%@bpi@j@k@@@@ఐŠ"st$7\$8\@n@@[@@@W@W@@@ఐ"en$K\$L\@!@@e@@@W@W@+@@$V\$W\@@.@@O@@3@@@3@[@@@@@@ @@@ภ$None$g^$h^@@@@V@@$mX@@@A@$oW@@@ఠ*new_module $z` ${` &@$WA@@o$@@@@V@3$~$}$}$~$~$~$~$~@@@@@@/n5n6@@@V@@n1o-@@@V@An/n0n/@@@@@@V@An)n*@@@ V@@n$n%@@@$V@"@ngne@@@(V@&An&n'@@@,V@*An!n"n!@@@2@@@1V@.An&m_code$a)N$a)T@ఐ$code$a)W$a)[@U@@n-n,@@@ @@@ V@ a@n(n)n(@@@;@@@:V@7An$n%@@@?V@=@@ఐ.new_module_pre$a):$a)H@-@@~@%a)8%a)]@@@A@%` @@@ఠ'new_env %cn%cn@%#XA@@y@@@UV@A3%%%%%%%%@@@@@@డ*add_module(Odoc_env%)cn%*cn@ %-cn%.cn@@@@@@dC@@dB@!t@@@dA@@d@@@@d?@@d>@@d=@__@@G@!@@@@@@I@@H@@@@G@@F@@@E@@D@@CB@@ఐK#env%ecn%fcn@K@@VO@@ఐ*new_module%tcn%ucn@[@@p@@@`@^c@&m_name%cn%cn@o-@@o,@@@_m@@^@@qn@A@%cn{@@@ఠ(new_env2 %d%d@%YA@@@@@ݟV@h3%%%%%%%%@@@@@@ఐ0*new_module%e%e@@@pS@@@m@k3%%%%%%%%@@@@&m_type%e%e@oY@@pS@@@l @Ġ%Types%gbs%gbx@-Mty_signature%gby%gb@@nఠ!s %gb%gb@%ZA@@p@@@r-@@@@@py@@@s1@@p|@@@t4@@@డz-add_signature(Odoc_env%h%h@ %h%h@@@b@@@d'@@d&@&stringQ@@@d%@@d$#rel&optionL@@@d#@@@d"@@d!@)signature@@@d @@d@@@d@@d@@d@@d@@d@[!![!k@@C@<7@@@@@@݈@@݇@4@@@݆@@݅1/,@@@݄@@@݃@@݂@+@@@݁@@݀@@@@@~@@}@@|@@{3&M&L&L&M&M&M&M&M@y@z@{@@@@ఐO'new_env&_h&`h@ð@@@@@ݨY@ݪY@ݩ@@ఐ*new_module&uh&vh@\@@q@@@ݮ@ݬ+@&m_name&h&h@p.@@p-@@@ݭ5@{ภ?A&^ ,డ#$Name&simple&i&i@ &i&i@@jѰ@@@!|@@@ݶ@@ݵ!@@@ݴ@@ݳ\@@ఐ@*new_module&i&i@@@qc@@@@p@&m_name&i&i @ps@@!@@@Z@Z@~@@&i&i @@!@@@@@@I@@@@@ఐ !s&i &i @@@@@@ݡY@Y@@@ @@X@@&j &j @@q@@@vH@@q@@@wK@@@ఐ'new_env'k#6'k#=@h@@pU@@@A'e@@rm@A@' d@@@@'mN\'mN]@@WU@3''''''''@|@@@@@@ఐ(new_env2'#mN_'$mNg@ @@@U@@@ภ'/mNk'0mNA0ภ.Element_module '8mNy@l'ఐǠ*new_module'AmNz'BmN@(@@q@@@U@U@4@@ @@SU@7@ภ'TmN%A@&A@&SJ@@@@U@G@@'_mNi0@@@@@M@@'emN['fmN@@@V@G@@@X@f @@ @ @@ X@m @@ @ @@ @@@ A@@@y@Ġ)Not_found'}o'~o@ @@@@&|@@@@@@@ఠ-complete_name 'p'p@'[A@@"g@@@X@3''''''''@@@@డ$$Name&concat'p'p@ 'p'p@@8@@@"@@@@@@"@@@@@"@@@@@@@'@@ఐNJ3current_module_name'p'p@N2@@X4@@ఐ,$name'p'p@װ@@"@@@Y@F@@9@@JG@A@'p @@డ&P%raise'q 'q@ @@@ @@@(@@'@X@X@X@@IX@&@@%3''''''''@un@o@p@@@@ภ'Failure(q( q@ݠడF=module_not_found_in_typedtree-Odoc_messages(q(q)@ (q*(qG@@@H@@@x@@xL@@@x@@x@J^^K^@@I@@@@@@@:@@9@@@8@@7?@@ఐ-complete_name(EqH(FqU@I@@#@@@DO@@(Lq(MqV@@@@@5@HY@AY@@(Vq(WqW@@x@@@/X@4a@@v@@lb@@@@X@X@X@@@@@(hK#(irXc@@M@Ġ)Parsetree(vtem(wtev@.Pstr_recmodule({tew(|te@@;.Pstr_recmodule@@@@9@@@9@AG@O@A2km2k@@@p@ఠ$mods g(te(te@(A@@@@@@@@3((((((((@N@@@@@, @@Y@@Y@@@@ఠ'new_env (w(w@(\A@@B V@K3((((((((@N#@@@@@డ''$List)fold_left(x(x@ (x(x!@@8@@@@B-V@P@@Y@ $@@@ށV@S@@X @@W@@V@@U@@@T@7@@@R@@Q@@O@@N@@M3((((((((@7@@@@࣠@'acc_env A(y"5(y"<@) ]A@@*J@@@@ Aঠ)Parsetree) y">) y"G@(pmb_name)y"H)y"P@@ @ఠ$name )y"Q)y"U@),^A@@ E C B@@@ބ@@@ރ@@@ނ3)#)")")#)#)#)#)#@w9Y@0@1@@@(pmb_expr)1y"V)2y"^@ Kఠ'mod_exp )9y"_):y"f@)L_A@@Y@@@އ@@@)Ay"=)By"g@@kZ@}@@@@ఐ9$name)Rzk)Szk@8@9@:@@ ~ | {@@@ޏ@@@ގ@@@ލ3)\)[)[)\)\)\)\)\@;O/(@)@*@@@#txt)izk)jzk@@@Z@ސ @Ġ$None)x{)y{@$@@@@  @@@ޟ@@@ޞ3)})|)|)})})})})}@!@@@ @  @@@ޡ@@@ޠ@@@ఐ'acc_env){){@i@@@Ġ$Some)|)|@#>ఠ$name )|)|@)`A@@ @@@ިM@@@@@ Ҡ @@@ު@@@ީU@@ ٠ @@@ެ@@@ޫ\@@@@ఠ-complete_name )})}@)aA@@$@@@\@ޯ3))))))))@p/(@)@*@@@డ' $Name&concat)})}@ )})}@@t@@@$@@@޷@@޶@$@@@޵@@޴$@@@޳@@޲@@ޱ)@@ఐP3current_module_name*}*}@Pn@@[6@@ఐi$name*}*} @@@@$@@@]@H@@9@@LI@A@*} @@@ఠ!e *%~$=*&~$>@*8bA@@@@@\@3*)*(*(*)*)*)*)*)@_mf@g@h@@@డ*add_module(Odoc_env*>~$A*?~$I@ *B~$J*C~$T@@@@@@@@@@@@@@@@@@@@@@@)@@ఐl'acc_env*a~$U*b~$\@9@@6@@ఐ-complete_name*n~$]*o~$j@@@@%E@@@F@@7@@JG@A@*v~$9@@@ఠ*tt_mod_exp *n*n@*cA@@ @@@\@3********@]kd@e@f@@@డ'-search_module0Typedtree_search**@ **@@ @@@ [~@@@ @@@@@@@@@'@@@@@ @@@@@@@3@@ఐP䠐%table**@P̰@@[@@@ఐ-$name**@@@'@@@]@.]@-T@@C @@XU@Ġ)Not_found**@v@@@@)@@@3c@@@డ)^%raise**@@@@@@@9@@8{_@7@@6x@@ภ'Failure+  + @డI=module_not_found_in_typedtree-Odoc_messages++@ + + =@@@@@@@@K@@J@@@I@@H@@ఐp-complete_name+7>+8K@ @@&@@@U@@+>+?L@@@@@F@Y`@R@@+H+IM@@j@@@@_@E@@Z@@@@@+Q @@@A@+Sn @@@ఠ*new_module +^f+_f@+qdA@@ \@[3+^+]+]+^+^+^+^+^@@@@@@ఐ[.analyse_module+of+pf@[@@@[@@h@[@@g@[@@f@[@@e@[@@d@[@@c[@@b@@a@@`@@_@@^@@]'@@ఐo!e++@ @@D]@߇6@@ఐR&3current_module_name++@R@@\C@@ఐ $name++@@@ 4]@ߊR@@ภ$None++@&T@@@TJ@ߎ`@@ఐ'mod_exp+8+?@k@@ 6]@ߏo@@ఐ[*tt_mod_exp+@Y+@c@y@@ /]@ߐ~@@s@@\-@A@+f{@@ఐ*new_module+|+|@@@@@3++++++++@@@@&m_type+|+|@u @@v@@@ߓ @Ġ%Types, , @-Mty_signature,,@@tנఠ!s ,,@,-eA@@vB@@@ߙ.@@@@@v@@@ߚ2@@v@@@ߛ5@@@డ-add_signature(Odoc_env,5,6@ ,9,: @@B@@@@@@߯@@߮@B@@@߭@@߬?=:@@@߫@@@ߪ@@ߩ@9@@@ߨ@@ߧ@@@ߦ@@ߥ@@ߤ@@ߣ@@ߢ3,[,Z,Z,[,[,[,[,[@nLE@F@G@@@@ఐH!e,m,n@@@@@@^@^@@@ఐ%*new_module,,@@@$&@&m_name,,!@v7 @@v6@@@0@ภEJ,g&5డ)$Name&simple,"D,"H@ ,"I,"O@@pڰ@@@'@@@@@'@@@@@W@@ఐe*new_module,"P,"Z@԰@@df@&m_name,"[,"a@vw @@'@@@_@_@t@@,"C,"b@@'@@@z@@@OĠ@@@~@@ఐΠ!s,"c,"d@@@@@@^@^@@@ @@!@@,e~,e@@w@@@ߝ @@w@@@ߞ@@@ఐ㠐!e-- @~@@9@@@A- |@@;3--------@@@@,@@=@@@>@@@?@ @@@B@@@A-zk| @@B@-y"0-@@@M@@r@K@@qQ@@p@@oW@W@q@@ఐS#env---.@S@@^NG@@ఐ$mods-:-;@@@ȓl@@@lW@W@\@@ @@t@A@-Gw @@Aఠ!f -R-S@-efA@@%firstPF@@@V@@@@1@@0@@@@V@#@@/@ @@@ZV@R@@@QV@'@@.,۠N@@@]@@@@V@)@@-@@,@@+3--------@@@@@@࣠7P3 Aఠ; <--@-gA@@=V@V@93--------@QLPL@@@ @@!W@@I@@$@F@@(;@@*W@%@@&W@@@W@@c@d@@@ภװ--@@@@@@@=&@@--@@(last_pos A-- @-hA@@j3--------@7B<@=@>@@@@@@1name_mod_exp_list A--@-iA@@r3--------@~@@@@@@@@ఐ1name_mod_exp_list-"4-"E@@@@@3--------@@@@Ġ ;.KY.K[@ :@@@@3--------@@@@@@@@ภ D. K_. Ka@ C@@@ @Ġ .b.b@ ঠ)Parsetree.#bq.$bz@(pmb_name.(b{.)b@@Xঠ#txt.3b.4b@xĠ$None.;b.<b@(@@@@a`@@@n@@@m3.@.?.?.@.@.@.@.@@O@@@@@.Gb.Hb@@qqp@@@t@@@s\@p@@@o@(pmb_expr.\b.]b@vఠ'mod_exp .db.eb@.wjA@@^@@@}&@@@.lbp.mb@@\@V+@ఠ!q .wb.xb@.kA@@-נV@T@@@~;@@@ @@<@@<@@@@ఠ)loc_start ..@.oA@@ڷ@@@\@3........@70@1@2%@@ @@@ఐB'mod_exp..@@@_@@@@@)Parsetree..@(pmod_loc..@@ x@@3@@@@.@(Location..@)loc_start..@@F+@@@@@@B@&Lexing..@(pos_cnum..@@?@@TQ@A@.@@@ఠ'loc_end . . %@/pA@@@@@\@3........@gun@o@p@@@ఐ'mod_exp/  )/  0@u@@_j@@@@@)Parsetree/ 1/ :@(pmod_loc/ ;/ C@@ ܰ@@ۗ@@@@,@(Location/, D/- L@'loc_end/1 M/2 T@@ە+@@w@@@@@@&Lexing/@ U/A [@(pos_cnum/E \/F d@@s?@@RO@A@/J @@@@@/Uh}/Vh~@@*32@@@\@@@@\@3/]/\/\/]/]/]/]/]@iwp@q@r@@@@ఠ,ele_comments /mh/nh@/qA@@!B@@@\@@@@\@@@/}h|/~h@@@,@@@#@ఐ%first//@@@/@@ภ$None//@*1@@@E<@@ภ!߰//@!@@@5F@@// @@@V@>@@O@ఐ猪6get_comments_in_module/!5/!K@ذ@@@@@@@@@@@@@@@@@@@@@㠠@@@@@@@@@@@@@~@@ఐ(last_pos/!L/!T@@@@@ఐl)loc_start/!U/!^@@@Q@@@]@]@@@G @@[\@]@@0@@]@A@0 hx@@@ఠ$eles 0r0r@0'rA@@V@V@;V@A\@300000000@@@@@@ఐ٠!f0+r0,r@@@S@@@@@@@@ @@@ @@ @@ @@ @ภ0*@0@S1@@@"@@!,@@ఐd'loc_end0Ur0Vr@@@V@V@]@#>@@ఐ!q0gr0hr@Ѱ@@V@$M@@B@@N@A@0nr@@డ.!@0x0y@@@@V@?[@)@@@-@@,@ @@@+@@*@@@(@@'@@&300000000@u~@@@@@@ఐ3,ele_comments00@@@ (@@@=\@@\@>@@ఐ$eles00@"@@%@@@@V@9(@N@@@@@[@t@@@ @@B+@Ġ"ʰ00@"ɠঠ)Parsetree00@(pmb_name00@@ ঠ#txt00@*Ġ$Some00@*ఠ$name 00@1 lA@@@@@@@@@@! @@@@@@@@@11@@00/@@@@@@\@@@@@(pmb_expr11@5ఠ'mod_exp 1#1$@16mA@@a@@@4@@@1+1,@@V@9@ఠ!q 1617@1InA@@0@@@H@@@@@I@@I@@@@ఠ-complete_name 1I  1J -@1\sA@@,#@@@Z\@B31M1L1L1M1M1M1M1M@_d]@^@_81@2@3&@ @!@@@డ.$Name&concat1f 01g 4@ 1j 51k ;@@@@@,F@@@J@@I@,M@@@H@@G,P@@@F@@E@@D-@@ఐX 3current_module_name1 <1 O@W@@b:@@ఐ$name1 P1 T@B@@,o@@@e]@dL@@9@@PM@A@1  @@@ఠ)loc_start 1Xl1Xu@1tA@@@@@s\@j311111111@cqj@k@l@@@ఐ'mod_exp1Xx1X@o@@b$@@@p@n@)Parsetree1X1X@(pmod_loc1X1X@@@@Q@@@r@o,@(Location1X1X@)loc_start1X1X@@d+@@1@@@t@q@@&Lexing1X1X@(pos_cnum1X2X@@-?@@RO@A@2Xh@@@ఠ'loc_end 22@2"uA@@;@@@~\@u322222222@esl@m@n@@@ఐ'mod_exp2(2)@Ӱ@@b@@@{@y@)Parsetree2627@(pmod_loc2;2<@@@@޵@@@}@z,@(Location2J2K@'loc_end2O2P@@޳+@@ޕ@@@@|@@&Lexing2^2_ @(pos_cnum2c 2d@@ޑ?@@RO@A@2h@@@ఠ*tt_mod_exp 2s+2t5@2vA@@@@@\@32w2v2v2w2w2w2w2w@esl@m@n@@@డ/-search_module0Typedtree_search28N28^@ 28_28l@@@@@cp@@@በ~@@@@@@@@@/@@@@@@@@@@@@3@@ఐX֠%table28m28r@X@@c@@@ఐР$name28s28w@r@@/@@@]@]@T@@C @@XU@Ġ)Not_found2x2x@ h@@@@1@@@c@@@డ1P%raise2x2x@ @@@ @@@@@{_@@@x@@ภ'Failure2x2x@Ҡడ;=module_not_found_in_typedtree-Odoc_messages3 x3x@ 3x3x@@ @@@ @@@@@ @@@@@@@ఐࠐ-complete_name3)x3*x@u@@.@@@@@30x31x@@@@@@`@@@3:x3;x@@\@@@_@@@Z@@@@@3C8J @@@A@3E' @@@@ఠ'com_opt 3T3U@3gwA@@\]\@33U3T3T3U3U3U3U3U@@@@@@@ఠ,ele_comments 3e3f%@3xxA@@%:@@@\@@@@\@@@3u3v&@@@#@@@#@ఐ%first3dy3d~@@@/@@ఐY䠐+comment_opt33@Y̰@@d=@@ภ%ذ33@%@@@6G@@33@@@d@?@@P@ఐ󣠐6get_comments_in_module33@Ѱ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ఐ(last_pos33@@@}@@ఐE)loc_start33@ذ@@J@@@]@]@@@G @@[\@]@ @4dv@@]@A@4 @@@ఠ*new_module 4 &40@4 yA@@\@34 4 4 4 4 4 4 4 @@@@@@@@ఐd.analyse_module4 34!A@d@@@d@@%@d@@$@d@@#@d@@"@d@@!@d@@ d@@@@@@@@@@@@)@@ఐ 'new_env4EBV4FB]@@@ 6@@ఐZՠ3current_module_name4R^r4S^@Z@@elC@@ఐi$name4_4`@ @@]@FR@@ఐ'com_opt4n4o@[@@_@@ఐX'mod_exp4{4|@&@@]@Gn@@ఐ*tt_mod_exp44@0@@]@H}@@p@@d~@A@4"@@@ఠ$eles 4 4 !@4zA@@\@I344444444@@@@@@ఐ[!f4 $4 %@@@ZWX@@@Q@@P@S@@O@N@@NC@@M@@L@@K@jภH4/[@4@Wm@@@d@@c,@@ఐȠ'loc_end4 &4 -@[@@q]@e;@@ఐ!q4 .4 /@@@wV@fJ@@?@@oK@A@4 @@డ3_!@43P43Q@d@@@d[@k@@@o@@n@쐠 @@@m@@la@@@j@@i@@h35 5 5 5 5 5 5 5 @pzs@t@u@@@@ఐ,ele_comments53C53O@ @@抠&@@@\@\@@@ภ503o513q@'1ภ.Element_module593T5:3b@z)ఐ6*new_module5C3c5D3m@@@56@@5G3S5H3n@@\@;@ఐ$eles5S3r5T3v@C@@F@@5W3R5X3w@@]@@@}\@O@@C@@V@{R@v @@@ @@R@c @@ @!@@@@@O@d@@@@@@@@A5j".@@g@A@X\@@@@@@@@@ @@@@~@@}@@|V@v@@@5(@@@ఠ$eles 55@5{A@@4]@@@@@@V@355555555@@@@ఐO!f55@@@NX G@@@@@@@@@@@@@@@'@@@@@@@@5@@@@@@@@@@@@1@rภN5/mภǰ55@@@@ v@@@W@F@@@XǠ@@@J@@ఐ\a#loc55@\I@@g[@(Location55@)loc_start55@@v@@C@@@@o@&Lexing6 6 @(pos_cnum66@@?&@@t@@@W@W@@@ఐ $mods6&6'@ t@@(cz@@@@@@W@W@@@@@@A@66@@@@6?6@@@fU@36>6=6=6>6>6>6>6>@@@@@@@ఐ 'new_env6O6P@ǰ@@ @@ఐѠ$eles6[6\@@@fJ@@@6a6b@@@&@ @ @@(@6 @@ @ @@ @ ' @@\ @Ġ)Parsetree6z6{@,Pstr_modtype66@@;,Pstr_modtype@~7module_type_declaration@@@9@AH@O@A44@@@q@ঠ)Parsetree66@)pmtd_name6 6)@@3)pmtd_name@@@9`x#locc@@@9[@@@9Z@@@3)pmtd_typev+module_type@@@9]@@@9\@@A @A@@L@3/pmtd_attributes @@@9^@@B@A$@@M@3(pmtd_loc)!t@@@9_@@C"@AGLGa@@N@@A@@K@ఠ$name h6*6.@6A@@><@@@@@@366666666@\@@@)pmtd_type6069@Cఠ'modtype i6:6A@7A@@KJ@@@@@@@/pmtd_attributes7 Cc7 CrALఠ j@7$A@2@@@+@@@77Cs@@@@@V@3@@@@@h4@@h4@@@@ఠ-complete_name 7*w7+w@7=|A@@2@@@V@37.7-7-7.7.7.7.7.@]*ZS@T@UA:@;@<)&@(@'@@@డ4s$Name&concat7Gw7Hw@ 7Kw7Lw@@۰@@@2'@@@@@@2.@@@@@21@@@@@@@-@@ఐ]3current_module_name7jw7kw@]հ@@h:@@ఐ$name7yw7zw@D@@ՠ2U@@@W@@@@R@#txt7w7w@ΰ@@ W@Z@@G@@^[@A@7w@@@ఠ.tt_module_type 77@7}A@@2+@@@V@377777777@ry@z@{@@@డ42search_module_type0Typedtree_search77@ 77@@@0y0v0uh@@@20o@@@@@@@@@4@@@@@7@@@@@@@@k@l% @@@h@@@@@@@@@@@@4@@@@@Q@@@@@@@P@@ఐ^%table77@^@@h]@@ఐ,$name8 8@ذ@@i4@@@W@7W@.@@@-w@#txt88 "@d@@W@/@@n@@@Ġ)Not_found8,#48-#=@@@@@7+@@@<@@@డ6%raise8;AO8<AT@ `@@@ `@@@B@@AY@@@@?@@ภ'Failure8PAV8QA]@%డڎ "module_type_not_found_in_typedtree-Odoc_messages8`A_8aAl@ 8dAm8eA@@@ڐ@@@x@@xڔ@@@x@@x@ڒ$$ړ$]@@ڑ@@@@@@@T@@S@@@R@@Q@@ఐc-complete_name8A8A@@@3d@@@^@@8A^8A@@g@@@O@bZ@[@@8AU8A@@ @@@IY@N@@k@@@@@8 @@@A@8 @@@@ఠ$kind 88@8~A@@3gf@@@.V@@@@V@e388888888@%4-@.@/@@@@ఠ)sig_mtype 88@8A@@32+module_type@@@]V@X@@@YV@f@@.@@@.@@@i$@@ఐ'modtype88@ð@@HG@@@o@@@n388888888@;@@@@ఐu.tt_module_type99@G@@-7@@@t@q@(mtd_type99@,{@@,z,y@@@s@@@r"@@- @@@.@@@u)@@Ġ$Some9:9;@2ڠఠ'modtype 9C9D@9VA@@@@@G@@@@@@@@@@@O@@Ġ$Some9Z!9[%@2ఠ(mty_type 9c&9d.@9vA@@,@@@g@@@@@,Ǡ,@@@@@@o@@9@@@,@@@v@@@ɠ@@@@@@䓠@,,@@@@@@@@@@@@ภ$Some92B92F@37డ8analyse_module_type_kind#Sig92H92K@ 92L92d@@Р@@@@b@@@b@@@bA@@@b@@@b@@@b@@b@@@@b@@b@@@@b@@b@@@@b@@b@@@@b@@b-@@@b@@b@@b@@b@@b@@b@@MH@@EР@㐐C@@@@@@@@@A@@@@@@@@@@@@B@@@@@@A@@@@@@@@@@@@@?@@@@@k@@@@@@@@@@@@@3:,:+:+:,:,:,:,:,@k@@@@@@@0ภ: 4@: @3Р+@*)@@@D@@@C@@@BA@@@A@@@@@@@?@@>(@@ఐ`#env:c2e:d2h@`߰@@k5@@ఐF-complete_name:p2i:q2v@̰@@5G@@@HE@@ఐ='modtype:w:w@N@@@@@2Y@QY@PY@@ఐ3(mty_type:w:w@c@@-@@@U@Sm@(mty_type:w:w@3(mty_type-@@@@@@@@A3(mty_desc 50module_type_desc@@@@@@@A5\ II5] II@@5@3'mty_env";!t@@@@@B@A5h"IJ5i"IJ@@5@3'mty_loc 1 !t@@@@@C @A5t#JJ5u#JJ+@@5@3.mty_attributes,1 @@@@@D)@A5}$J,J05~$J,JK@@5@@A5!II5!II@@5@H;@@@@@0Y@VY@T@@:2G:w@@%@@R@@5à+@@@@@ภ$Some::@4ఐ(mty_type;;@ΰ@@.^@@@^@\@(mty_type; ;@k@@2@@@@58@@@Z@@@@@^@E@@@@;";#@@@ts@@@@@@䝠@..@@@@@@@@5@@@@@@@@@䢠@..@@@@@@@@I@@@@ภ$None;V;W@5@@@63V@e@@@g\@@ภ$None;g;h@5@@@6DV@i@@@km@@ @@[n@@@A;r @@@@@@@A@;z@@@ఠ+comment_opt L; ;@;A@@yx@@@@@@V@3;;;;;;;;@@@@@@@@డ.analyze_alerts(Odoc_sig;%;-@ ;.;<@@@@@à@@@@@@@@@@@@@@@@@@@@@@@@3@@ఐb+comment_opt;=;H@b@@l@@@ఐȠ/pmtd_attributes;I;X@@@@@@W@W@T@@C @@\U@A@; @@@ఠ"mt M;ft;fv@<A@@V@@@V@3;;;;;;;;@k}v@w@x@@@s'mt_name<< @ఐ砐-complete_name<<@m@@@@@V@@'mt_info<< @ఐ+comment_opt<(<)@,@@@@@@@@V@8@'mt_type<:<;@ఐp)sig_mtype>@ >>@@@@@q@@@n@@m@@@@l@@k  @@@j@@@i@@h@@@@g@@f@@@e@@d@@c@@b@@a3>(>'>'>(>(>(>(>(@ZS@T@U@@@@ఐ('new_env>:>;@@@@@@Y@Y@@@ఐ]"mt>P>Q@5@@@@@@+@'mt_name>\>] @ΰ@@@@@5@VภW>98డ;$Name&simple>w>x@ >{>|@@@@@9W@@@@@9Z@@@@@\@@ఐ"mt>>@z@@@@@@p@'mt_name> >'@@@9|@@@Z@Z@~@@>>(@@9@@@@@@a@@@@@ఐ栐!s>)>*@@@@@@Y@Y@@@ @@1@@>+9>+:@@9@@@[@@@Z%@ @9@@@]@@@\,@@@ఐՠ'new_env>>N>>U@I@@Q6@@@A> ,@@SN@A@>@@@@>cn>co@@oU@3>>>>>>>>@]kd@e@f@@@@ఐq(new_env2?cq?cy@ @@X\U@@@ภ,?c}?cA1ภ3Element_module_type ?c@ఐ1"mt?$c?%c@ @@@@@U@U@4@@ @@kU@7@ภ,?7c%A1o@&A@>kJ@@@@U@G@@?Bc{0@@1y@@@M@@?Hcm?Ic@@@V@G@@@X@f @@ @ @@ 9@N @@ Y@n @@ @@@ @@@@@@d&@Ġ)Parsetree?e?f@)Pstr_open?j?k@@;)Pstr_open {@ i0open_declaration@@@9@AI@O@A 5 57@@@ nr@@?}?~@@@@@3?}?|?|?}?}?}?}?}@ev@@@@@@@ps@@ps@@@@ఠ,ele_comments Q??@?A@@1ʠ@@@V@@@@V@@ఐe+comment_opt??"@eް@@p3????????@e@@@Ġ$None?(4?(8@:J@@@@p@@p@@@ภ1?(<?(>@1@@@-@Ġ$Some??K??O@9iఠ!i R??P??Q@?A@@pJ@J@J@J@J@J@J@J@J@J@A@@@"@@pB@@pB@@@ఐ$!i?Ui?Uj@#@$@%@@$3????????@e.@@@&i_desc@Uk@Uq@ @@ݠ@@@@@@@Ġ$None@w@w@:@@@@@@@@@@3@@@@@@@@@$@@@ @@@@@@@@@@ภ2e@+w@,w@2d@@@@Ġ$Some@8@9@9ؠఠ!t S@A@B@@TA@@@@@N@@@@@#"@@@@@@V@@*)@@@@@@]@@@ภ.1@\@]A2]ภ6Element_module_comment @e@v2ఐ-!t@n@o@,@-@.@@v?@@@Z@Z@3@t@s@s@t@t@t@t@t@> @@@@  @@Z@@ภ.F'A2@(A@?V@ @@@ Z@@@@1@@@@@A@Uc3@@r@@@A@5@@ @A@@7@@@@@@@@q9U@3@@@@@@@@@f@@@@@@ఐg>#env@@@g(@@q@@ఐ*,ele_comments@@@@@qLJ@@@@@@@@&@q䠠@ @@(@6 @@f] @Ġ)Parsetree@@@*Pstr_class@@@@;*Pstr_class @ 1class_declaration@@@9@@@9@AJ@O@A 6IK 6Iq@@@ s@ఠ/class_decl_list k@@"@A A@@@@@@@@3@@@@@@@@@f@@@@@. @@q@@q@@@@ఠ'new_env TA \jA\q@A A@@Z^V@3A A A A A A A A @g"@@@@@డ?$List)fold_leftA"tA#t@ A&tA't@@ܘ@@@@ZV@@@@V@@@%V@@@ @@@@@@@@@@ܗ@@@@@@@@@@@3ADACACADADADADAD@7@@@@࣠@'acc_env UAAXAY@AkA@@*J@@@@࣠@*class_decl VAAiAj@A|A@@53AhAgAgAhAhAhAhAh@\>@@@@@@@@@ఠ-complete_name WA|A}@AA@@$Name&concatAA@ AA@@)@@@@@=@@<3BBBBBBBB@@@@@@࣠;e} eAఠ? Y@BB@BA@@AV@MV@J3BBBBBBBB@UPeܠP@@@1@@2W@-@M@@5@J@@9;@@;W@6@@7W@.@@/W@*@g@h@@@ภ5!CC@5 @@@5 @@@N&@@CC@@(last_pos ZACC@C,A@@n3CCCCCCCC@7B<@=@>@@@@@@/class_decl_list [AC*C+@C=A@@v3C)C(C(C)C)C)C)C)@@@@@@@@@ఐ/class_decl_listC<C= @@@@@3C;C:C:C;C;C;C;C;@@@@Ġ5CK!CL#@5@@@@3CICHCHCICICICICI@@@@@@@@ภ5CT'7CU'9@5@@@ @Ġ5bC`:SCa:U@5aఠ*class_decl \Ci:HCj:R@C|A@@V@e.@ఠ!q ]Cu:VCv:W@CA@@Bՠ@@@g=@@@@@>@@>@@@@@ఠ,tt_class_exp ^C[pC[|@CA@@>~@@@\@p3CCCCCCCC@X4-@.@/)"@#@$@@@@ఠ.tt_type_params _C[~C[@CA@@ޠ@@@@@@\@q@@C[oC[@@@(@@@t$@డ@0search_class_exp0Typedtree_searchCC@ CC@@@<<<t@@@̠><@@@@@@@@@@@@@@@@\@@@Š@ (J@@@@@@@@@@@@@ c@ d2-@@@*t@@@뀠(@@@@@@@@~@@@@@}@@|@@@@y@ Oq@@@{@@@z@@x@@w@@v3DDDDDDDD@@@@@ఐjI%tableD,D-@j1@@u @@ఐԠ*class_declD=D>@@@@)ParsetreeDFDG@(pci_nameDKDL@@@@7A @@@]@]@@@@9@#txtD^D_@$@@]@A@@@@@٠@@@]@J@Ġ)Not_foundDsDt@@@@@Cr@@@X@@@@ఠ-complete_name `D,D9@DA@@?]@@@_@@డA$Name&concatD<D@@ DADG@@-@@@?y@@@@@@?@@@@@?@@@@@@@@@ఐk?3current_module_nameDHD[@k'@@u)@@ఐd*class_declD\Df@6@@c:@)ParsetreeDgDp@(pci_nameDqDy@@@@Ǡ?@@@`@@@@R@#txtDzD}@1"@@ `@Z@@X@@h[@A@D(@@డCd%raiseDD@!@@@!@@@@@@|@g@@ _@@@3E EEE E E E E @y@@@@@@ภ'FailureEE@డX\@B@ఐ~!fHH@/@@}k{@@@@@@v@@@q@@b@@@@@@_@ภ+HB@H@k@@@@@l@@ఐ)last_pos2H@HA@V@@]@{@@ఐڠ!qHOHP@@@V@@@HUHV@@@@HXHY@@@@@\@@@@@V@@ @@z@ @@@ @@@@@@@@AHh@@@\A@kZ@@@*@@)@@@(@@@'@@&@@%@@$V@@@@H}%@@@@HH@@y#U@03HHHHHHHH@@@@@ఐ'new_envHH@°@@ @@ఐ !fHH@@@ kH@@@?@@@>@@=@@@@<@@;@:k@@@:@@@9@@@8@@7H"@@@6@@@5@@4@@3@@2C@1ภaHBrภ̰HH@@@@{@@@^V@bX@@@k̠@@@c\@@ఐof#locHH@oN@@zm@(LocationH H@)loc_startII@@{@@H@@@i@f@&LexingII"@(pos_cnumI#I+@@D&@@y@@@[V@jV@h@@ఐ5/class_decl_listI+,I,;@@@;hS@@@lV@X@@@WV@mV@k@@@@yJ@T@@I?I@<@@@@6@ @@s@ @@ x@ @@n9@Ġ)ParsetreeIW>FIX>O@/Pstr_class_typeI\>PI]>_@@;/Pstr_class_typem@|_6class_type_declaration@@@9@@@9@AK@O@A88@@@et@ఠ4class_type_decl_list lIx>`Iy>t@IA@@@@@@@@3I~I}I}I~I~I~I~I~@ow@@@@@. @@zt@@zt@@@@ఠ'new_env fII@IA@@bV@t3IIIIIIII@o"@@@@@డH $List)fold_leftI I @ I I @@@@@@bV@y@@@V@@@V@|@@ @@@@@@~@@@}@@@@{@@z@@x@@w@@v3IIIIIIII@7@@@@࣠@'acc_env gAI!I!@IA@@*J@@@@࣠@/class_type_decl hAI!I!@IA@@53IIIIIIII@\>@@@@@@@@@ఠ-complete_name iI"*I"7@JA@@D@@@Z@3JJJJJJJJ@%P@@@@@డGC$Name&concatJ":J">@ J"?J"E@@@@@D@@@@@@D@@@@@E@@@@@@@)@@ఐp3current_module_nameJ:"FJ;"Y@p@@{T6@@ఐc/class_type_declJK"ZJL"i@D@@G@)ParsetreeJT"jJU"s@(pci_nameJY"tJZ"|@@@@EE6@@@[@@@@_@#txtJj"}Jk"@"@@ [@g@@X@@kh@A@Jp"&@@డ.add_class_type(Odoc_envJ~#J#@ J#J#@@@ @@@dX@@dW@P!t@@@dV@@dU @@@dT@@dS@@dR@brrbr@@ J@!@@@ @@@@@@@@@@@ @@@@@@@3JJJJJJJJ@@@@@@@ఐ栐'acc_envJ#J#@ΰ@@ @@ఐ̠-complete_nameJ#J#@@@E@@@ @@S@@dZ@#@d @@@J! @@@"@@(@@X@@J!J$@@@3@@@1@@7@@@@W@ W@W@@ఐq#envJ%J%@qq@@|-@@ఐ4class_type_decl_listK&K&@n@@[R@@@W@W@B@@j @@Zz@A@K @@Aఠ!f jK(&K('@K-A@@%firstn@@@V@@@@,@@+@@@@V@@@*@=r@@@[V@@@@V@M@@@LV@"@@)J @@@]@@@@V@$@@(@@'@@&3KRKQKQKRKRKRKRKR@@@@@@࣠>n |AఠB kCKe(*Kf(/@KxA@@DV@7V@43KgKfKfKgKgKgKgKg@XSnaS@@@@@W@@P@@@M@@#;@@%W@ @@!W@@@W@@j@k@@@ภ=K(0K(5@=@@@=@@@8&@@K((K(6@@(last_pos lAK(7K(?@KA@@q3KKKKKKKK@7B<@=@>@@@@@@4class_type_decl_list mAK(@K(T@KA@@y3KKKKKKKK@@@@@@@@@ఐ4class_type_decl_listK)WiK)W}@@@@@3KKKKKKKK@@@@Ġ> K*K*@> @@@@3KKKKKKKK@@@@@@@@ภ>K+K+@>@@@ @Ġ=K,K,@=ఠ/class_type_decl nK,K,@LA@@V@O.@ఠ!q oK,K,@L A@@KZ@@@Q=@@@@@>@@>@@@@ఠ$name pL -L-@L A@@@@@\@@@[\@Y3LLLLLLLL@W3,@-@.(!@"@#@@@ఐ:/class_type_declL(-L)-@ @@9@)ParsetreeL1-L2-@(pci_nameL6-L7- @@@@' @A@L;-@@@ఠ-complete_name qLF.%LG.2@LYA@@G @@@w\@_3LJLILILJLJLJLJLJ@6HA@B@C@@@డI$Name&concatL_.5L`.9@ Lc.:Ld.@@@@@@G?@@@g@@f@GF@@@e@@dGI@@@c@@b@@a)@@ఐs3current_module_nameL.AL.T@r@@}6@@ఐ$nameL.UL.Y@B@@|Gm@@@]@@@@N@#txtL.ZL.]@@@ ]@V@@G@@ZW@A@L.!@@@ఠ$virt rL/auL/ay@LA@@ @@@\@3LLLLLLLL@m{t@u@v@@@డK/  L/aL/a@ @@@|@@@\@@@@ @@ @@@@@@@@@ఐ/class_type_declL/a|L/a@ʰ@@-@)ParsetreeL/aL/a@(pci_virtL/aL/a@@@@(<@@ภ(AsttypesM/aM/a@'VirtualM/aM/a@@@ @@>]@R@@)@@VS@A@M/aq@@@ఠ5tt_cltype_declaration sM0M0@M-A@@H 7@@@\@3MMMMMMMM@jxq@r@s@@@డJ3=search_class_type_declaration0Typedtree_searchM61M71@ M:1M;1%@@@EEE~@@@ՠ~@@@@@@@@@J@@@@@6@@@@@@@@&@&$@@@~4@@@ﵠ~0@@@@@@@@@J@@@@@P@@@@@@@O@@ఐs%tableM}1&M~1+@s@@~\\@@ఐ$nameM1,M10@=@@wJD@@@]@]@@@@v@#txtM11M14@@@]@~@@m@@@Ġ)Not_foundM25LM25U@':@@@@L@@@@@@డL"%raiseM3YmM3Yr@"߰@@@"@@@@@_@@@@@ภ'FailureM3YtM3Y{@డ !class_type_not_found_in_typedtree-Odoc_messagesM3Y}M3Y@ M3YM3Y@@@@@@x@@x@@@x@@x@@@@@@@@@@ @@ @@@ @@ @@ఐƠ-complete_nameN 3YN 3Y@Q@@H@@@@@N3Y|N3Y@@@@@@`@@@N3YsN3Y@@#?@@@_@@@k@@@@@N&1 @@@A@N(0 @@@ఠ5tt_cltype_declaration tN35N45@NFA@@9@@@"\@3N7N6N6N7N7N7N7N7@(!@"@#@@@ఐ.5tt_cltype_declarationNH5NI5@ @@+@@@@,ci_type_declNR5NS5"@: @@@A@NV5@@@ఠ+type_params uNa6&:Nb6&E@NtA@@**@@@)@@@(\@%3NjNiNiNjNjNjNjNj@4B;@<@=@@@ఐH5tt_cltype_declarationN{6&HN|6&]@ @@@@@*@'@%TypesN6&^N6&c@+clty_paramsN6&dN6&o@@3+clty_params@@@ /*@@@ @@@ @@@# 3)clty_type :@@@ @@A@A([[([[@@*@3)clty_path=!t@@@ @@B@A([[([[@@*@3.clty_hash_type"),@@@ @@C@A)[[)[\@@*@3-clty_variance+*(!t@@@ @@@ @@D+@A)\>\B)\>\a@@*@3(clty_loc;(!t@@@ @@E7@A)#\b\f)$\b\{@@+@3/clty_attributesG(*attributes@@@ @@FC@A)/\|\)0\|\@@+@3(clty_uidS(!t@@@ @@GN@A):\\);\\@@+@@A)>[[)?[[@@+@ye@@@A@N6&6g@@@ఠ$kind vO7sO7s@OA@@kj@@@W\@+3OOOOOOOO@@@@@@డ7analyse_class_type_kind#SigO7sO7s@ O7sO7s@@@@@@b@@b@@@@b@@b@@@@b@@b@@@@b@@b@@@@b@@bB@@@b@@b@@b@@b@@b@@b@@2-@@@*@@@<@@;@)@@@:@@9@@@@8@@7@@@@6@@5@(@@@4@@3i@@@2@@1@@0@@/@@.@@-h@@ఐ'new_envO|8O}8@%@@u@@ఐC-complete_nameO9O9@ΰ@@J`@@@e@@ఐ/class_type_declO:O: @@@@)ParsetreeO: O: @'pci_locO: O: @@*@@'@@@t@p@(LocationO: O: &@)loc_startO: 'O: 0@@:&@@@@@v@s@&LexingO: 1O: 7@(pos_cnumO: 8O: @@@:@@Z@@@]]@w]@u@@ఐ/class_type_declO; A UO; A d@Ѱ@@@)ParsetreeO; A eO; A n@(pci_exprO; A oO; A w@@}@@V@y@@ఐ٠5tt_cltype_declarationP < x P < x @@@v@@@@} @%TypesP< x P< x @)clty_typeP< x P < x @@@@@@@Y]@]@~ @@ @@%!@A@P,7s @@@@ఠ'com_opt wP;>  P<>  @PNA@@y:\@3P;P:P:P;P;P;P;P;@7F?@@@A@@@@ఠ,ele_comments xPK>  PL>  @P^A@@B @@@\@@@@\@@@P[>  P\>  @@@"@@@#@ఐ%firstPl?  Pm?  @ʰ@@/@@ఐvʠ+comment_optPz@  (P{@  3@v@@{=@@ภBP@  5P@  7@B@@@6G@@P@  'P@  8@@@@?@@P@ఐ6get_comments_in_modulePB P dPB P z@@@@@@@@@@@@@@@@@@@@@@𕠠@@@@@@@@@@@@@@@ఐ.(last_posPB P {PB P @@@@@ఐ/class_type_declPB P PB P @@@@)ParsetreePB P PB P @'pci_locPB P PB P @@g@@d@@@@@(LocationPB P PB P @)loc_startPB P PB P @@w&@@D@@@@@&LexingQ B P QB P @(pos_cnumQB P QB P @@@:@@m@@@]@]@@@ @@\@]@@Q#?  @@@A@Q%>  @@@ఠ'com_opt yQ0D  Q1D  @QCA@@$#@@@@@@\@3Q8Q7Q7Q8Q8Q8Q8Q8@ @@@@@@@డ.analyze_alerts(Odoc_sigQOE  QPE  @ QSE  QTE  #@@@@@nk@@@@@@@@@@@@@@WV@@@@@@@@@@3@@ఐ?'com_optQzE  $Q{E  +@<@@>@@@ఐ/class_type_declQF , @QF , O@n@@O@)ParsetreeQF , PQF , Y@.pci_attributesQF , ZQF , h@@@@@@@]@]@e@@T @@mf@A@QD   @@@ఠ)last_pos2 zQH | QH | @QA@@@@@\@3QQQQQQQQ@|@@@@@ఐڠ/class_type_declQH | QH | @@@@)ParsetreeQH | QH | @'pci_locQH | QH | @@S@@P@@@@'@(LocationQH | QH | @'loc_endQH | QH | @@N&@@0@@@@;@&LexingQH | QH | @(pos_cnumQH | QH | @@,:@@MJ@A@RH | @@@ఠ'new_ele {RI  RI  @R!A@@=@@@\@3RRRRRRRR@`ng@h@i@@@ภ2Element_class_typeR J  R!J  $@à(clt_nameR,L ; QR-L ; Y@ఐ-complete_nameR5L ; \R6L ; i@z@@M @@@$@(clt_infoRAM l RBM l @ఐ'com_optRJM l RKM l @@@@@@@@@\@?@(clt_typeR\N  R]N  @డ0subst_class_type(Odoc_envRkN  RlN  @ RoN  RpN  @@ @@@@@@&@@%@ @@@$@@#9@@@"@@!@@ m@@ఐy #envRN  RN  @y @@z@@ఐj5tt_cltype_declarationRN  RN  @.@@@@@;@9@%TypesRN  RN  @)clty_typeRN  RN  @@@@G@@@4]@<]@:@@Q @@w@@@]@2@q3clt_type_parametersRO  RO  '@డQ;$List#mapRO  *RO  .@ RO  /RO  2@@@@@@Z@@@\@N@@Q@@@F\@\@\@K@@P@@O@@@@M@@L@@@J@@I@@H@@డ*subst_type(Odoc_envSO  4SO  <@ SO  =SO  G@@@@@@@@l@@k@@@@j@@i@@@h@@g@@f@@ఐ 'new_envS3O  HS4O  O@ܰ@@ @@S7O  3S8O  P@@@@@@@@@@@@@~,@@ఐ점+type_paramsSMO  QSNO  \@C@@Pq@@@`]@]@A@@ @@m@@@E]@^H@+clt_virtualSeP _ uSfP _ @ఐ$virtSnP _ SoP _ @J@@@@@\@_@ (clt_kindS|Q  S}Q  @ఐ$kindSQ  SQ  @E@@ @@@\@v@'clt_locSR  SR  @ຠ(loc_implSR  SR  @ภ$SomeSR  SR  @MFఐz"#locSR  SR  @z @@@@@@|@@@\@@)loc_interSS  SS @ภ$NoneSS SS @N^@@@@@@@@@\@@@@SR  SS @@b@@@\@@@@SK % 9ST!6@@@@@\@@@@@@@@@A@SI   @@డR[!@SVJgSVJh@`@@@`[@@@@@@@  @@@@@]@@@@@@@3TTTTTTTT@@@@@@@ఐΠ,ele_commentsTVJZTVJf@ڰ@@&@@@\@\@@@ภT,VJrT-VJt@F-ఐ('new_eleT6VJjT7VJq@*@@\@/@ఐ +!fTEVJvTFVJw@ٰ@@ *w6 (@@@@@@ #@@@ @@ @@@@@@L@ :ภ7T/N@T/@wK =@@@@@Y@@ఐ)last_pos2ToVJxTpVJ@X@@ A]@ h@@ఐ!qT~VJTVJ@b@@ GV@ w@@TVJuTVJ@@ :z@@TVJiTVJ@@ @@@\@@@w@@ DV@@ @@|@ @@@ @@X@q@@V@k@@@@@)@C@@ ]@r@@ v@@@ @@@ M@b@@ Q@@@AT)Wc@@ S@ A@ w @@@ @@@ }@@@ x@@ f@@@@@@V@ F@@@T(,@@@@TXTX@@YU@&3TTTTTTTT@ T@@@@ఐ ;'new_envTXTX@ s@@ : @@ఐ !fTXTX@ l@@ wɠ(~@@@5@@@4@@3@E@@@2@@1@G' @@@0@@@/@@@.@@-TX@@@,@@@+@@*@@)@@(C@ ภmTNภUXUX@@@@(@@@TV@XX@@@x@@@Y\@@ఐ{#locU*XU+X@{@@=m@(LocationU3XU4X@)loc_startU8XU9X@@@@~@@@_@\@&LexingUGXUHX@(pos_cnumULXUMX@@z&@@@@@QV@`V@^@@ఐ 預4class_type_decl_listUaXUbX@ Ͱ@@G @@@bV@N@@@MV@cV@a@@@@J@J@@UuXUvX@@@@ ꠠ@ @@i@ @@  )@ r @@{ @Ġ)ParsetreeUZUZ@,Pstr_includeUZ UZ@@;,Pstr_include@ 3include_declaration@@@9@AL@O@A::9@@@ u@@UZUZ@@@@@{@@@@@{@@{@@@@ఠ"im }U^U^@UA@@@@@nV@j ;@ະޡ'im_nameU` U`  @%dummyU` $U` )@@U` #U` *@@@@@tV@s U@ꡠ)im_moduleUa-;Ua-D@ภ$NoneUa-GUa-K@P|@@@@@@@@@V@ o@񡠐'im_infoUbN\UbNc@ఐ|Q+comment_optVbNfVbNq@|9@@ @@@V_ Vct@@N @A@V^@@@@VeVe@@U@3VVVVVVVV@| f_@`@a@@@@ఐ|#envV!eV"e@|@@B@@ภDV+eV,eAH,ภ7Element_included_module V4e@ఐ"imV=eV>e@(@@X@@@U@U@2@@ @@U@5@ภDVPe%AH@&A@UJ@@@@U@E@@V[e0@@H@@@K@@VaeVbe@@@T@@@@V@d @@| @@@AVmIO @@@ @@@@|<@}A@@@@@@@@@@@@@@@@@@@@y@@@u@@@]@@@<@7@6@@@@@@@@@@@@@@@@@@@@J@p}0@@U Vx \ Analysis of a parse tree structure item to obtain a new environment and a list of elements.VX[VX@@@@@@@VT@@@@@@=@@b@:@@a@7@@`@0@@_@-@@^@$@@]@@\@@[@@Z@@Y@@X@@W3VVVVVVVV@N@@@࣠@#env ~AVhG_VhGb@VA@@a3VVVVVVVV@4@@@@@@3current_module_name AVhGcVhGv@WA@@i3VVVVVVVV@Ds@@@@@@@@+module_name AWhGwWhG@WA@@s3VVVVVVVV@}@@@@@@@@+comment_opt AWhGWhG@W$A@@y3WWWWWWWW@@@@@@@@@-p_module_expr AW"hGW#hG@W5A@@3W!W W W!W!W!W!W!@@@@@@@@@.tt_module_expr AW3hGW4hG@WFA@@3W2W1W1W2W2W2W2W2@@@@@@@@@@ఠ-complete_name WFiWGi@WYA@@R @@@Q@3WJWIWIWJWJWJWJWJ@%@@@@@డT$Name&concatW_iW`i@ WciWdi@@@@@R?@@@@@@RF@@@@@RI@@@@@@@)@@ఐ3current_module_nameWiWi@~@@6@@ఐ+module_nameWiWi@z@@C@@4@@GD@A@Wi@@@ఠ#loc WjWj@WA@@4@@@Q@3WWWWWWWW@Zha@b@c@@@ఐ-p_module_exprWjWj@}@@@)ParsetreeWjWj@(pmod_locWjWj'@@4@@!@A@Wj@@@ఠ)pos_start Wk+5Wk+>@WA@@@@@Q@3WWWWWWWW@4B;@<@=@@@ఐJ#locWk+AWk+D@@@b@@@@@(LocationWk+EWk+M@)loc_startWk+NWk+W@@u@@B@@@@*@&LexingX k+XX k+^@(pos_cnumXk+_Xk+g@@>+@@<9@A@Xk+1@@@ఠ'pos_end X lkuX!lk|@X3A@@L@@@#Q@3X$X#X#X$X$X$X$X$@O]V@W@X@@@ఐ#locX7lkX8lk@\@@@@@"@ @(LocationXElkXFlk@'loc_endXJlkXKlk@@@@@@@$@!*@&LexingXYlkXZlk@(pos_cnumX^lkX_lk@@+@@<9@A@Xclkq@@@ఠ'modtype XnmXom@XA@@'@@@'Q@%3XrXqXqXrXrXrXrXr@O]V@W@X@@@ఐS.tt_module_exprXoXo @4@@@)TypedtreeXo Xo@(mod_typeXoXo@@I@@!@A@Xm@@@ఠ+m_code_intf Xq&0Xq&;@XA@@S @@@iQ@S@@@TQ@)3XXXXXXXX@:HA@B@C@@@ఐ-p_module_exprXr>LXr>Y@@@3XXXXXXXX@@@@)ParsetreeXr>ZXr>c@)pmod_descXr>dXr>m@@5@@5@@@,@Ġ)ParsetreeXss}Xss@/Pmod_constraintXssXss@@;/Pmod_constraint5@@@9@I@@@9":@@@9@BE@H@A##@@@#d@@XssXss@@Z@@@3A@ఠ,pmodule_type Y ssY ss@YA@@"U@@@4O@@@1Yss@@5@@@5T@@5@@@6W@@@@ఠ)loc_start Y"tY#t@Y5A@@N@@@ET@<3Y&Y%Y%Y&Y&Y&Y&Y&@|(!@"@#@@@ఐ2,pmodule_typeY;tY<t@@@"@@@B@@@)ParsetreeYItYJt@(pmty_locYNtYOt@@3(pmty_loc"@@@9#!t@@@9@@A3)pmty_desc $X0module_type_desc@@@9@@@@A#r#r@@$\%@3/pmty_attributes@@@9@@B@A#t#t@@$e'@@A#s#s@@$i&@;'@@@@@D@AP@(LocationYtYt@)loc_startYtYt@@O@@@@@F@Cd@&LexingYtYt@(pos_cnumYtYt @@Ȱc@@vs@A@Yt@@@ఠ'loc_end YuYu%@YA@@@@@PT@G3YYYYYYYY@@@@@@ఐ,pmodule_typeYu(Yu4@@@#@@@M@K@)ParsetreeYu5Yu>@(pmty_locYu?YuG@@@@P@@@O@L,@(LocationYuHYuP@'loc_endYuQYuX@@N+@@0@@@Q@N@@&LexingYuYYu_@(pos_cnumYu`Yuh@@,?@@RO@A@Zu@@ภ$SomeZ vlxZ vl|@Sఐ=2get_string_of_fileZvl~Zvl@ʰ@@@":@@@]@@\@"7@@@[@@Z"6@@@Y@@X@@W3Z%Z$Z$Z%Z%Z%Z%Z%@x@@@@@@ఐ)loc_startZ7vlZ8vl@@@"[@@@mT@oT@n@@ఐ'loc_endZKvlZLvl@!@@"e@@@kT@qT@p+@@ZVvl}ZWvl@@.@@O@@U3@@@U3@[@@@@@4@@ZewZfw@@7@@@8@@7@@@9@@@ภ$NoneZsxZtx@U @@@@@@AZwr>F@@@A@Zyq&,@@@ఠ+comment_opt ZzZz@ZA@@%x%w@@@@@@Q@3ZZZZZZZZ@@@@@@డ#.analyze_alerts(Odoc_sigZ{Z{@ Z{Z{@@#@@@%%@@@@@@@@@#@@@@@%%@@@@@@@@@@1@@ఐ+comment_optZ{Z{@@@3>@@ఐ-p_module_exprZ{Z{@@@;M@)ParsetreeZ{Z{(@/pmod_attributesZ{)Z{8@@7@@$'@@@R@R@c@@T @@kd@A@Zz @@@ఠ&m_base [}BL[}BR@[A@@@@@Q@3[[[[[[[[@z@@@@@/&m_name[_i[_o@ఐ٠-complete_name[_r[ _@w@@@@@Q@@ȡ&m_type[-[.@ఐȠ'modtype[6[7@@@@@@Q@4@֡&m_info[D[E@ఐɠ+comment_opt[M[N@C@@@@@@@@Q@O@ࡠ.m_is_interface[_[`@ภM[f[g@M@@@@@@Q@d@顠&m_file[t[u@డY[~[@@@@@@@Q@@@@@@@@@@ఐ)file_name[@@@@@@%R@(R@&@@% @@@Z&m_kind[ [@ภ-Module_struct[[#@ภM[$[&@M@@@@@@6@@@5Q@<@@ @@y@@@.Q@4@:%m_loc[)3[)8@ຠ@(loc_impl[)=[)E@ภ$Some[)H[)L@UఐO#loc[)M[)P@@@ @@@KQ@RQ@VQ@U@@ @@\ @@@JQ@Q@V)loc_inter\)S\)\@ภ$None\)_\)c@V@@@fe@@@_@@@^Q@e@@@\);\)e@@@@@BQ@i@*m_top_deps\)hr\*h|@ภNj\0h\1h@Ni@@@@@@q@@@pQ@w2@&m_code\B\C@ภ$None\J\K@V@@@@@@@@@Q@L@+m_code_intf\\\]@ఐĠ+m_code_intf\e\f@԰@@@@@@@@Q@g@+m_text_only\w \x@ภN\~\@N@@@@@@Q@|@@@\~U]\!(@@@A@\}BH@@@ఐ{-p_module_expr\2?\2L@c@@3\\\\\\\\@@@@@@)Parsetree\2M\2V@)pmod_desc\2W\2`@@9a@@9`@@@@@ఐ.tt_module_expr\2b\2p@n@@#@)Typedtree\2q\2z@(mod_desc\2{\2@@@@@@@5@@\2>\2@@@*@ @@>@@Ġ)Parsetree\\@*Pmod_ident\\@@;*Pmod_ident @#locQ!t@@@9@@@9@A@@H@A', '- @@@'_@@] ] @@@@@@@@3]]]]]]]]@x@@@@@* @@9@@@@@Ġ)Typedtree]$]%@*Tmod_ident])]*@@ఠ$path ]3]4@]FA@@@@@T@'@@]?]@@@@@@@@@3@@@%]I@@@@@8@@]N]O@@@=@ @@A@ @A@@Ġ)Parsetree]d]e@*Pmod_ident]i]j@@w@]o]p@@yw@@@@@@c@@@ @@:*@@@g@@Ġ)Typedtree]]@/Tmod_constraint]]@@zঠ)Typedtree]"]+@(mod_desc],]4@@mĠ)Typedtree]7]@@*Tmod_ident]A]K@@)$path]M]Q@]A@@@@]S]T@@+)@@@@@@@@@]U@@@@@@@@]!]V@@T*@@@U@@@]X]Y@@@@@@@][]\@@@@@@@]^]_@@@@@@@@g]`@@@@@@@]]a@@@@ @@@ @@@@@@:@@@@@@@@@@@@@ఠ*alias_name ^o}^o@^$A@@!t@@@JS@23^^^^^^^^@@@@@@డ0full_module_name(Odoc_env^-o^.o@ ^1o^2o@@@@@@d_@@d^@!t@@@d]@@d\/@@@d[@@dZ@@dY@ggN@@K@!@@@@@@:@@9@@@@8@@7E@@@6@@5@@4B@@ఐ#env^io^jo@v@@O@@డ[$Name)from_path^|o^}o@ ^o^o@@ @@@ @@@V@@UY_@@@T@@Sq@@ఐe$path^o^o@{@@ @@@cU@eU@d@@^o^o@@Yy@@@a@@|@@@A@^oy@@/Z[@@@R@@VR@@@R@ATUT@@@@@@R@ANO@@@R@@IJ@@@R@@&m_kind^^@ภ,Module_alias^^@;,Module_alias@Y,module_alias@@@:@AA@I@Ass@@@Yc@ຠ3'ma_name@@@1Y!t@@@.@@@ 3)ma_module @@@0@@@/A@A @Ajj@@Y\@@Ajj@@Y[@'ma_name__@ఐ*alias_name_"_#@@@@@@@@3_$_#_#_$_$_$_$_$@ @@@*)ma_module_18_2A@ภ$None_9D_:H@Y@@@:J@@@@@@R@@@@_F_GL@@b@@@{R@$@@k@@@@@uR@z*@ @@@R@A@@@@@@R@A@@@@@@R@A@@@@@@R@A@@@R@@@ఐ&m_base__@@@5@@@R@R@k@__N@@n@@@{@@Ġ)Parsetree_PY_Pb@.Pmod_structure_Pc_Pq@@;.Pmod_structure@,@@@9@AA@H@A))@@@*`@ఠ+p_structure _Pr_P}@_A@@?@@@3________@,@@@@@#@@<|@@@@@Ġ)Typedtree_P_P@.Tmod_structure_P_P@@Aఠ,tt_structure _P_P@_A@@I@@@%@@@@@@@@)@@_PX_P@@@.@ @@2@ @@<@@@@@@@@@>@@@@ఠ(elements ``@`$A@@S@3````````@{[T@U@V70@1@2@@@ఐˠ1analyse_structure`$`%@r@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)@@ఐ l#env`I`J@ V@@6@@ఐ -complete_name`V`W@@@[-@@@F@@ఐ)pos_start`f`g@=@@T@U@@ఐU'pos_end`u`v@@@T@d@@ఐ +p_structure``@m@@q@@ఐ,tt_structure``@y@@T@ @@s@@@A@`@@@ఠ8included_modules_from_tt `JX`Jp@`A@@@@@@@@S@ 3````````@@@@@@ఐ䠐;tt_get_included_module_list`Js`J@ʰ@@@!@@@@@@@@@@@@@ @@ఐ,tt_structure`J`J@@@<@@@T@T@1@@& @@92@A@`JT @@@ఠ)elements2 ``@aA@@`P}@@@7S@3````````@I[T@U@V@@@ఐ<>replace_dummy_included_modulesaa@@@@SA7@@@$@@@)@@(@SL-@@@'@@@&@@%`y@@@#@@"@@!)@@ఐ(elementsa+a,@{@@6@@ఐ8included_modules_from_tta8a9@@@@SuV@@@;@@@:T@BT@@N@@C@@SO@A@aH@@/@@@\R@Z@@@@`R@^A@@@f@@@eR@bA@@@jR@h@@@@nR@l@*&m_kindayaz@ภ-Module_structaa+@ఐ)elements2a,a5@@@@@@@@SR@VR@U3aaaaaaaa@ @@@@@@M@@@LR@R@@@@tR@rA   @@@z@@@yR@vA@@@@@@R@|A@@@@@@R@A@@@R@@@ఐՠ&m_basea a@9@@@@@R@R@YI@aa7@@.L@@@/@@@05@N@@1@@Ġ)Parsetreea9Ba9K@,Pmod_functora9La9X@@;,Pmod_functor @,1functor_parameter@@@9b@@@9@BB@H@A,2,3%@@@-a@ఠ¶m2 b9Zb9`@b)A@@@@@3bbbbbbbb@@@@ఠ.p_module_expr2 b%9bb&9p@b8A@@@@@@@@7b-9q@@>@@@@@Ġ)Typedtreeb;s|b<s@,Tmod_functorb@sbAs@@yఠ%param bJsbKs@b]A@@@@@4@ఠ/tt_module_expr2 bXsbYs@bkA@@X@@@B@@@%b`s@@(@@@G@@be9Abfs@@@=@ @@P@ @@?"@@@ @=@@@!@@\@@@@@ఠ#loc bb@bA@@@@@S@3bbbbbbbb@|@}@~un@o@pQJ@K@LD=@>@?@@@@ఠ'mp_name bb@bA@@]{@@@S@@@ఠ'mp_kind bb@bA@@/@@@S@+@@ఠ'mp_type bb@bA@@] @+module_type@@@S@@@@S@E@@O@@@O@7@(@@@P@@ఐנ¶m2bb@Z@@@@@3bbbbbbbb@c@@@@ఐ%parambb@h@@3@@@@@@@@@ @@@@Ġ)Parsetreecc@$Unitcc #@@;$Unit#@@@9.@@@@AA@A-O-P@@@. /@@@ @@,@@@@@Ġ)Typedtreec:%c;.@$Unitc?/c@3@@;$Unitw@@@2@@@@AA@A]?-?/]?-?5@@@^3@@@ @@@@@@@7@@@(@ @@@@@Z@@@@@@@@@@@@@డ(Location$none(Locationct7Fcu7N@ cx7Ocy7S@@@@@$@~ ; ;~ ; G@@D@ @@@@!*c7Vc7W@@c7Uc7X@@S@@@ภ2Module_type_structc7Zc7l@ภU۰c7mc7o@U@@@à@@@@@@U@@@ @@%@@@!@@ภ$Nonec7qc7u@^O@@@^@@@0@@M@@@:@"@@@@;@@Ġ)Parsetreecvcv@%Namedcvcv@@;%Named@#loc@@@9,@@@9+@@@9*->@@@9-@B@AA@A.!-/."-Y@@@.0@@dvdv@@@@@@@@@@@@ఠ$pmty dvdv@d(A@@-a@@@)@@@Bdv@@@@@.@@Ġ)Typedtreed+vd,v@%Namedd0vd1v@@;%Named@][^!t@@@-@@@,^#loc]l^@@@0@@@/@@@.W@@@1@C@AA@A^?6?8^?6?s@@@_A@ఠ%ident davdbv@dtA@@/.@@@@@@y@@dovdpv@@/-,@@@@@@@@@@ఠ#mty dvdv@dA@@W@@@@@@`dv@@@@@@@@@@v@ @@@@@@@@Ӡ@@@@@@@@@@ఠ#loc dd@dA@@ \@@@V@3dddddddd@(@@]V@W@X<5@6@7@@@ఐ$pmtydd@@@.@@@@@)Parsetreedd@(pmty_locdd@@ @@*'@A@d@@@ఠ'mp_name d d@dA@@_@@@8V@ 3dddddddd@=KD@E@F@@@డcf&Option$foldee@ ee @@$none!a@+*@@+$some@!b@+-@@+@@+@@+@\ @@@+@@+@@+@@+@@+@\x\x @@\K@.)@@&GV@@@"@^@@@:V@@@@@@@@! @@@@@@@ @@ @@ Y@A!*eR(eS)@@eU'eV*@@$V@+g@Eడb$Name*from_identef1eg5@ ej6ek@@@^@@@^@@@6@@5`I@@@4@@3@@ఐ!%identeAeF@ʰ@@dO@@@&W@?W@=@@ @@[@A@e @@@ఠ'mp_kind eJ]eJd@eA@@,@@@vV@@3eeeeeeee@@@@@@డ.%8analyse_module_type_kind#Sigegxeg{@ eg|eg@@, @@++, Р+@++, @@@V@@@U@@@TA@@@S@@@R@@@Q@@P@, @@@O@@N@,@@@M@@L@,@@@K@@J@,@@@I@@H-2@@@G@@F@@E@@D@@C@@BU@+ภIe`@e@+,NР+@+쐐+,L@@@@@@@@@A@@@@@@@@@@@x@@ఐH#envf%gf&g@2@@@@ఐF3current_module_namef2gf3g@.@@@@ఐ*$pmtyf?gf@g@@@,b@@@zW@W@@@ఐҠ#mtyfUfV@@@Y@@@@@(mty_typefafb@+@@,|@@@xW@W@@@ @@@A@fmJY @@@ఠ'mp_type fxfy@fA@@@@@V@3f|f{f{f|f|f|f|f|@@@@@@డ$1subst_module_type(Odoc_envff @ f f@@@&@@@d@@d@$+module_type@@@d@@d@@@d@@d@@d@$H L L$H L @@&U@!@@@&@@@@@@@@@@@@@@@@@@B@@ఐ#envff@ڰ@@MO@@ఐY#mtyf f#@#@@Z9@@@@c@(mty_typef$f,@,F@@K@@@W@W@q@@b @@ur@A@f @@@ఐT#locg0?g0B@@@xU@3gffggggg@@@@@@@ఐ)'mp_nameg0Dg0K@n@@m@@ఐ'mp_kindg0Mg0T@@@jU@@@ภ$Someg*0Vg+0Z@`ʠఐ'mp_typeg40[g50b@/@@i2@@@@boS@@@@8@@> @@@?@@&@@@C@U@@ @@@ @@@ Z@o@@@@@gVcrgWcs@@W@@@h@@@g_cug`cv@@@@@q@@@@@@ @@x@@@n@@@⠠@@@@@@@@@ ภYg~cgc@Y@@@Y@@@@gcz@@@@@Ag @@@@頠@ڠ@@@@A@g@@@ఠ)loc_start gg@gA@@@@@S@3gggggggg@)"@#@$ @ @ @@@@@@@ఐ4#locgg@@@4@@@@@(Locationgg@)loc_startgg@@G@@@@@@0@&Lexinggg@(pos_cnumgg@@+@@B?@A@g@@@ఠ'loc_end gg@hA@@@@@S@3gggggggg@Uc\@]@^@@@ఐ#loch h @_@@@@@@@(Locationhh@'loc_endhh@@@@b@@@@*@&Lexingh+h,@(pos_cnumh0h1@@^+@@<9@A@h5@@@ఠ,mp_type_code h@*hA6@hSA@@0U@@@S@3hDhChChDhDhDhDhD@O]V@W@X@@@ఐ)|2get_string_of_filehU9hVK@) @@@0y@@@@@@0v@@@@@0u@@@@@@@ @@ఐՠ)loc_starthsLhtU@x@@0@@@T@T@4@@ఐ'loc_endhVh]@>@@0@@@T@T@H@@= @@LI@A@h& @@@ఠ%param haphau@hA@@cw0module_parameter@@@S@3hhhhhhhh@aoh@i@j@@@3'mp_name@@@7-@@@2@@@ 3'mp_type ˠY+module_type@@@4@@@3@@A@Amm@@c_@3,mp_type_codeE@@@5@@B@An n6@@c`@3'mp_kind%N@@@6@@C!@Ao79o7T@@ca@@All@@c]@'mp_namehhAఐO @B@c@@@I@9'mp_typehhAఐ> @Q@FE@@@@@@S@`@?,mp_type_codeii@ఐؠ,mp_type_codeii@o@@P@@@S@w@L'mp_kindi&i'Aఐ} @@@@@S@@@@i4xi5 @@@A@i7al@@@ఠ3dummy_complete_name  iB  +iC  >@iUA@@@@@S@3iFiEiEiFiFiFiFiF@@@@@@ఐ%paramiW  ViX  [@ @@@@@@@'mp_nameic  \id  c@@@@A@ig  '@@@ఠ'new_env àir  is  @iA@@(@@@*S@3iviuiuiviviviviv@1?8@9@:@@@డ'*add_module(Odoc_envi  i  @ i  i  @@Db@@@(@@@@@@Db@@@@@)@@@@@@@)@@ఐѠ#envi  i  @@@.6@@ఐy3dummy_complete_namei  i  @@@@D@@@3T@2H@@9@@LI@A@i   @@@ఠ'm_base2 Ġi  i  @iA@@H"S@83iiiiiiii@\jc@d@e@@@ఐd.analyse_modulei  i  @h@@@f@@E@c@@D@`@@C@Y@@B@V@@A@M@@@H@@?@@>@@=@@<@@;@@:'@@ఐ'new_envj ! j !@1@@9T@d6@@ఐ*3current_module_namej!!!j!!4@@@C@@ఐ&+module_namej#!5!Dj$!5!O@@@P@@ภ$Nonej/!P!_j0!P!c@d@@@0J@l^@@ఐ.p_module_expr2j>!d!sj?!d!@@@GT@mm@@ఐ/tt_module_expr2jM!!jN!!@@@T@n|@@q@@}@A@jT  @@@ఠ$kind Šj_!!j`!!@jrA@@@@@qS@o3jcjbjbjcjcjcjcjc@@@@@@ఐ'm_base2jt!!ju!!@ @@@&m_kindj{!!j|!!@3 @@@A@j!!@@//0@@@R@@+'@@@R@A)*)@@@@@@R@A#$@@@R@@@@@R@@a&m_kindj!!j!!@ภ.Module_functorj!!j!"@;.Module_functor@@@@;r@@@<@BB@I@Att@@@ed@ఐ3%paramj!" j!"@@@4@@@R@R@3jjjjjjjj@t{@|@}@@@ఐ$kindj!"j!"@ @@@@@R@R@@@9j!"@@@@@{R@@fg@@@R@Aaba@@@@@@R@A\]\@@@@@@R@AXYX@@@@@@R@ATU@@@R@@@ఐ-&m_basek.!!k/!!@@@@@@R@R@]@k9!!k:!"@@`@@@@@@g@y@@@@@@ @@@@@@ @@G@\ @@@ @@@@Ġ)ParsetreekV"""kW""+@*Pmod_applyk["",k\""6@@;*Pmod_applyv@@@@9@@@9@BC@H@A5LN5Lw@@@6ab@ఠ.p_module_expr1 kt""8ku""F@kA@@@@@FT@/3kxkwkwkxkxkxkxkx@@@@ఠ.p_module_expr2 k""Hk""V@kA@@@@@GT@0@@@9k""W@@HA@@@1@@Ġ)Typedtreek"Y"bk"Y"k@*Tmod_applyk"Y"lk"Y"v@@ఠ/tt_module_expr1 k"Y"xk"Y"@kA@@b @@@XT@78@ఠ/tt_module_expr2 k"Y"k"Y"@kA@@b@@@YT@8H@@k"Y"k"Y"@@@@@9P@@@1k"Y"@@@@@:U@@k""!k"Y"@@@I@ @@;^@ @^@@Ġ)Parsetreek""k""@*Pmod_applyk""k""@@.p_module_expr1k""k""@l A@@~@}.p_module_expr2l""l""@lA@@z@@@l""@@H@@@H@@Ġ)Typedtreel""l""@/Tmod_constraintl""l"#@@ঠ)Typedtreel'##l(##@(mod_descl,##l-##!@@Ġ)Typedtreel7##$l8##-@*Tmod_applyl<##.l=##8@@=/tt_module_expr1lE##:lF##I@lXA@@@/tt_module_expr2lO##KlP##Z@lbA@@@@lV##\lW##]@@0@@@Z@@@%l\##^@@$@@@[@@@la## lb##_@@b@@@]U@\@@lk##all##b@@R@@@^@@ls#d#plt#d#q@@S@@@_@@l{#d#sl|#d#t@@U@@@`@@@ml#d#u@@I@@@a@@l""l#v#@@@@ @@b@ @@@@@@ID@@@k@_@@@l@@j@@@@ఠ"m1 Ơl##l##@lA@@JS@3llllllll@@9@:@;0)@*@+ @@@@@@@ఐ?.analyse_modulel##l##@C@@@A@@@>@@@;@@@4@@@1@@@(@@#@@@@@@@@@@@@-@@ఐ#envl##l##@@@b:@@ఐ3current_module_namel##l##@@@hG@@ఐ+module_namel##l##@@@nT@@ภ$Nonem#$m #$@g@@@ J@b@@ఐ.p_module_expr1m$$m$$"@i@@JxT@q@@ఐz/tt_module_expr1m&$#$1m'$#$@@v@@yT@@@o@@w@A@m-##@@@ఠ"m2 Ǡm8$N$\m9$N$^@mKA@@KrS@3m8m7m7m8m8m8m8m8@@@@@@ఐˠ.analyse_modulemI$N$amJ$N$o@ϰ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@ఐ#envmn$p$~mo$p$@{@@4@@ఐ3current_module_namem{$$m|$$@w@@A@@ఐ+module_namem$$m$$@s@@N@@ภ$Nonem$$m$$@h*@@@J@\@@ఐ.p_module_expr2m$$m$$@@@KT@k@@ఐ/tt_module_expr2m$$m$% @@@T@z@@o@@{@A@m$N$X@@/ij@@@=R@;@ea@@@AR@?Acdc@@@G@@@FR@CA]^@@@KR@I@XY@@@OR@M@&m_kindm%%1m%%7@ภ,Module_applym%%:m%%F@;,Module_apply@@@@=@@@>@BC@I@Auu @@@he@ఐh"m1n %%Hn%%J@а@@g3n n n n n n n n @@@@@@&m_kindn%%Kn%%Q@ϰ @@@@@/R@4R@2@ఐ"m2n+%%Sn,%%U@@@@&m_kindn2%%Vn3%%\@ @@@@@0R@8R@6,@@Kn=%%]@@@@@(R@.3@@@@UR@SA@@@[@@@ZR@WA@@@a@@@`R@]A@@@g@@@fR@cA@@@kR@i@@ఐy&m_basenz%%%n{%%+@ݰ@@%@@@jR@eR@:t@n%%#n%%_@@w@@@K@\@@@@Ġ)Parsetreen%a%jn%a%s@/Pmod_apply_unitn%a%tn%a%@@;/Pmod_apply_unit@@@@9@AD@H@A88@@@9c@ఠ.p_module_expr1 n%a%n%a%@nA@@@@@T@y3nnnnnnnn@!@@@@@% @@Kq@@@z@@Ġ)Typedtreen%%n%%@/Tmod_apply_unitn%%n%%@@ఠ/tt_module_expr1 n%%n%%@nA@@e;@@@T@~'@@@ @@­@@@+@@n%a%in%%@@@0@ @@4@ @4@@Ġ)Parsetreeo%%o%%@/Pmod_apply_unito%%o%%@@eZ.p_module_expr1o%%o%%@o!A@@WT@@@@@K@@@X@@Ġ)Typedtreeo %&o!%& @/Tmod_constrainto%%&o&%&@@ঠ)Typedtreeo3&&,o4&&5@(mod_desco8&&6o9&&>@@Ġ)TypedtreeoC&&AoD&&J@/Tmod_apply_unitoH&&KoI&&Z@@ v/tt_module_expr1oQ&&[oR&&j@odA@@s@@@@@@@@@@@oZ&&*o[&&k@@e@@@U@@@od&&moe&&n@@K@@@@@ol&p&|om&p&}@@L@@@@@ot&p&ou&p&@@N@@@@@@Zoz&p&@@B@@@@@o%%o&&@@@r@ @@@ @@@@@@L=@@@@X@@@@@@@@@ఠ"m1 Ƞo&&o&&@oA@@MS@m3oooooooo@ @@@@@@@ఐ4.analyse_moduleo&&o&&@8@@@6@@z@3@@y@0@@x@)@@w@&@@v@@@u@@t@@s@@r@@q@@p@@o)@@ఐ#envo&&o&&@@@W6@@ఐ3current_module_nameo&&o&&@@@]C@@ఐ+module_nameo&&o&&@ܰ@@cP@@ภ$Noneo&' o&'@j@@@J@^@@ఐW.p_module_expr1p '' p ''.@g@@MmT@m@@ఐ?/tt_module_expr1p'/'=p'/'L@u@@nT@|@@o@@l}@A@p"&&@@/Ҡ@@@R@@Π@@@R@A̠͠@@@@@@R@AƠ@@@R@@@@@R@@&m_kindpS'Z'rpT'Z'x@ภ1Module_apply_unitp['Z'{p\'Z'@;1Module_apply_unit\@@@@?@AD@I@Agv  hv  :@@@k6f@ఐԠ"m1pr'Z'ps'Z'@@@հ@@3pqpppppqpqpqpqpq@@@@&m_kindp|'Z'p}'Z'@4 @@4@@@R@R@@@, @@:@@@R@@@@@R@A@@@@@@R@A@@@@@@R@A@@@@@@R@A@@@R@@@ఐ &m_basep'Z'fp'Z'l@&@@n@@@R@R@W@p'Z'dp'Z'@@Z@@@-@@Ġ)Parsetreep''p''@/Pmod_constraintp''p''@@ఠ.p_module_expr2 p''p''@qA@@O@@@3pppppppp@Z@@@ఠ)p_modtype p''q''@qA@@:K@@@@@@&q''@@M@@@@@Ġ)Typedtreeq''q''@/Tmod_constraintq''q''@@ ఠ/tt_module_expr2 q$''q%'( @q7A@@g@@@4@ఠ*tt_modtype q2'(q3'(@qEA@@@@@B@@q<'(q='(@@@@@J@@qD'(qE'(@@@@@R@@@5qJ'( @@@@@W@@qO''qP'(!@@@M@ @@`@ @@N @@@Ǡ@'@@@@@l@@@@ఠ'm_base2 ɠqm(%(3qn(%(:@qA@@OwS@3qmqlqlqmqmqmqmqm@@@}v@w@xYR@S@TLE@F@G@@@ఐ.analyse_moduleq(%(=q(%(K@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-@@ఐ̠#envq(L(Zq(L(]@@@):@@ఐʠ3current_module_nameq(^(lq(^(@@@/G@@ఐƠ+module_nameq((q((@@@5T@@ภ$Noneq((q((@le@@@J@b@@ఐ.p_module_expr2q((q((@i@@O?T@q@@ఐɠ/tt_module_expr2q((q((@v@@@T@@@o@@>@A@q(%(/@@@ఠ&mtkind ʠq()r() @rA@@9B@@@NS@3rrrrrrrr@@@@@@డ:8analyse_module_type_kind#Sigr() r()@ r()r()(@@8q@@888qР8@888o@@@.@@@-@@@,A@@@+@@@*@@@)@@(@8n@@@'@@&@8m@@@%@@$@8l@@@#@@"@8k@@@!@@ 9@@@@@@@@@@@@@U@8WภUr4l@r4@8Z8Р8R@8Q8P8@@@d@@@c@@@bA@@@a@@@`@@@_@@^x@@ఐ#envr())r(),@@@ @@డo$Name&concatr)-)<r)-)@@ r)-)Ar)-)G@@ 1@@@m}@@@o@@n@m@@@m@@lm@@@k@@j@@i@@ఐԠ3current_module_namer)-)Hr)-)[@@@9@@"??r)-)]r)-)_@@r)-)\r)-)`@@m@@@U@@@r)-);r)-)a@@m@@@@@ఐ栐)p_modtyper)b)pr)b)y@o@@9@@@RT@T@@@ఐǠ*tt_modtyper)b)zr)b)@@@9@@@PT@T@@@ @@@A@s(( @@@ఠ*tt_modtype ˠs))s))@s#A@@H@@@S@3ssssssss@ @@@@@డ01subst_module_type(Odoc_envs)))s*))@ s-))s.))@@ @@@2@@@@@@ @@@@@q@@@@@@@)@@ఐo#envsL))sM))@Y@@6@@ఐ'*tt_modtypesY))sZ))@@@ @@@T@T@J@@; @@NK@A@se)) @@ డq  sr))ss))@ @@@ G@@@S@S@@@@@@@@3ss~s~sssss@lzs@t@u@@@@డ x>filter_with_module_constraints+Odoc_global"s))@ s))s)*@(@ v#ref s@@@n@@@n@ q}   r}  @@ pP@8@@  6@@@T@T@/@@B@@80@ఐk )filter_module_with_module_type_constraints**$s**M@4@@@h@@@@@@d@@@@@U@@@@@@@M@@ఐn'm_base2s**Ns**U@Ӱ@@mZ@@ఐؠ*tt_modtypes**Vs**`@d@@@@@T@T@n@@6 @@U@@@S@T@v@@s))@@ x@/@@@ R@ @&m_typet **t **@ఐ*tt_modtypet**t**@@@@@@R@@@@@@@@R@A@@@R@@@@@R@@&m_kindt<**t=**@ภ1Module_constrainttD**tE**@;1Module_constraintE@@@@B@@@C@BF@I@ATx h jUx h @@@o#h@ఐ'm_base2t_**t`**@W@@@&m_kindtf**tg**@ @@@@@R@R@@ఐy&mtkindtx**ty**@_@@@@@R@R@@@?t**@@7@@@R@@@@@!R@A@@@'@@@&R@#A@@@-@@@,R@)A@@@3@@@2R@/A@@@7R@5@@ఐ&m_baset*n*zt*n*@#@@k@@@6R@1R@F@t*b*lt**@@I@@@J@j@@@@@@@@_@@Ġ)Parsetreet*+t*+ @.Pmod_structuret*+ t*+@@9ఠ+p_structure t*+t*+$@uA@@m@@@3tttttttt@Z@@@@@@@Q@@@@@Ġ)Typedtreeu +&+/u +&+8@/Tmod_constraintu  +&+9u  +&+H@@ঠ)Typedtreeu +I+Wu +I+`@(mod_descu +I+au +I+i@@Ġ)Typedtreeu) +I+lu* +I+u@.Tmod_structureu. +I+vu/ +I+@@ǒఠ,tt_structure u8 +I+u9 +I+@uKA@@ǚ@@@H@@@@@@@@L@@@uD +I+UuE +I+@@k@@@S@T@ఠ*tt_modtype uR ++uS ++@ueA@@;@@@b@@u\ ++u] ++@@<@@@j@@ud ++ue ++@@>@@@r@@@duj ++@@2@@@w@@uo**up ++@@@|@ @@@ @@R,@@@@G@@@@@@@@@ఠ(elements ̠u++u+,@uA@@S@93uuuuuuuu@@@c\@]@^JC@D@E@@@ఐI1analyse_structureu+,u+,@@@@H@@F@C@@E@>@@D@9@@C@4@@B@-@@A(@@@@@?@@>@@=@@<@@;+@@ఐꠐ#envu+,u+,@԰@@G8@@ఐ-complete_nameu+,u+,(@,@@p@@@eH@@ఐ)pos_startu+,)u+,2@@@tT@hW@@ఐӠ'pos_endu+,3u+,:@|@@zT@if@@ఐ+p_structurev+,;v+,F@n@@~@@@mv@@ఐڠ,tt_structurev+,Gv+,S@}@@T@q@@v@@@A@v++@@@ఠ8included_modules_from_tt ͠v$,,v%,,@v7A@@'A@@@@@@S@r3v,v+v+v,v,v,v,v,@@@@@@ఐe;tt_get_included_module_listv=,,v>,,@K@@@Ȣ@@@x@@w'^@@@v@@@u@@t@@ఐ ,tt_structurevX,,vY,,@ð@@Ƚ@@@T@T@1@@& @@92@A@vd,, @@@ఠ)elements2 Πvo,,vp,,@vA@@uѠ@@@S@3vtvsvsvtvtvtvtvt@I[T@U@V@@@ఐĽ>replace_dummy_included_modulesv,,v,-@@@@h ĸ@@@@@@@@@h͠Ǯ@@@@@@@@u@@@@@@@)@@ఐ(elementsv,-v,-#@{@@6@@ఐ8included_modules_from_ttv,-$v,-<@@@@h@@@@@@T@T@N@@C@@SO@A@v,,@@/yz@@@R@@u&m_typev-X-dv-X-j@డ4p1subst_module_type(Odoc_envv-X-mv-X-u@ v-X-vv-X-@@X@@@6X@@@@@@X@@@@@1@@@@@@@3vvvvvvvv@@@@@@@ఐ 2#envw-X-w-X-@ @@@@ఐʠ*tt_modtypew-X-w-X-@@@@@@S@S@$@@> @@@@@S@*@ĠŠ@@@@@@R@A@@@R@@@@@R@@&m_kindwK--wL--@ภ-Module_structwS--wT--@Tఐ)elements2w]--w^--@[@@]@@@R@R@f@@ @@@@@R@l@ݠ@@@R@Aؠ٠@@@@@@R@AӠԠ@@@@@@R@AϠР@@@ @@@ R@ Aˠ@@@R@@@ఐ&m_basew-@-Lw-@-R@@@P@@@R@ R@@w-@-Jw--@@@@@:@P@@@@@#@@Ġ)Parsetreew--w--@+Pmod_unpackw--w--@@;+Pmod_unpack@@@@9@AF@H@AAA@@@Be@ఠ%p_exp w--w--@wA@@@@@3wwwwwwww@I@@@@@#@@T@@@@@Ġ)Typedtreew-.w-. @+Tmod_unpackw-.w-.@@ɏఠ&_t_exp x-.x-.!@xA@@p@@@%@ఠ*tt_modtype x-.#x-.-@x%A@@ɡ@@@3@@@%x-..@@@@@8@@x--x -./@@@=@ @@A@ @@T@@@@@@@@@M@@@@ఠ$code Ϡx=.3.Ax>.3.E@xPA@@&stringQ@@@TS@3xDxCxCxDxDxDxDxD@rk@l@mNG@H@IA:@;@<@@@@ఠ#loc РxZ.H.Xx[.H.[@xmA@@UA@@@T@@ఐ!M-p_module_exprxl.H.^xm.H.k@!5@@&@)Parsetreexu.H.lxv.H.u@(pmod_locxz.H.vx{.H.~@@U9@@5@A@x.H.T@@@ఠ'loc_end Ѡx..x..@xA@@$@@@T@3xxxxxxxx@K?8@9@:@@@ఐG#locx..x..@@@%@@@@@(Locationx..x..@'loc_endx..x..@@%@@$@@@@*@&Lexingx..x..@(pos_cnumx..x..@@$+@@<9@A@x..@@@ఠ'exp_loc Ҡx..x..@xA@@@@@#T@ 3xxxxxxxx@O]V@W@X@@@ఐ%p_expx..x..@@@ @@@$@"@)Parsetreex..x..@(pexp_locy..y..@@/@@&#@A@y..@@@ఠ+exp_loc_end Ӡy./ y./@y#A@@%<@@@+T@%3yyyyyyyy@9G@@A@B@@@ఐO'exp_locy'./y(./@@@%@@@*@(@(Locationy5./ y6./(@'loc_endy:./)y;./0@@%@@%@@@,@)*@&LexingyI./1yJ./7@(pos_cnumyN./8yO./@@@%|+@@<9@A@yS./@@@ఠ!s Ԡy^/D/Ty_/D/U@yqA@@As@@@AT@-3ybyayaybybybybyb@O]V@W@X@@@ఐ:2get_string_of_fileys/D/Xyt/D/j@:'@@@A@@@5@@4@A@@@3@@2A@@@1@@0@@/ @@ఐ+exp_loc_endy/D/ky/D/v@*@@A@@@EU@GU@F4@@ఐ'loc_endy/D/wy/D/~@İ@@A@@@CU@IU@HH@@= @@LI@A@y/D/P @@డx$&Printf'sprintfy//y//@ y//y//@@@&Stdlib&format!a@$unitF@@@@@@@@@@@@@@*printf.mli@@.Stdlib__PrintfC@+&@@@#@&stringQ@@@ @@ S@ fS@ }@@ S@E*@@@H@@@I@@@G@@F@@D3zzzzzzzz@@@@@@@ภ8CamlinternalFormatBasicsy&Formatyz//z//A;&Format8CamlinternalFormatBasics'format6!a@!b@ !c@à!d@Ġ!e@Š!f@@@@ @'#fmt$ @@@ Z@@@ @B@@A@A!a@^@'padding)@@@@ B@@ A@@ @@@@ ?2.*&"@@@ C@BBAYAAZ|@@@b@ภz͠*No_paddingz;*No_padding(!a@ D@@@ ^@@@@ABAAee@@@j@@@8#U@ #@@@ T@  @ภz-End_of_formatz;-End_of_formatݠ!f@ !b@ !c@ !e@ @@@ @@@@AYAA.../!@@@y@@'@Ht@@@ST@ eT@ wT@ US@ xS@ @@@ T@ M@@>@kU@ j @@@ zT@ Y@@J@ wU@ E lmno@@@ gT@ ve@*(val ...%s[@[@'@@@ hT@ T@ q@@ba@@6@@@@RT@ dz@@ఐ0!s{//{//@@@T@ @@@@S@W@@@/@D@@~@ @@@ @@@ @@Q@A@{.3.= @@@ఠ$name {"00({"00,@{ A@@k!t@@@ S@ 3{{{{{{{{@j{t@u@v@@@ఐ*tt_modtype{#0/0A{#0/0K@q@@L@@@ 3{{{{{{{{@@@@Ġ)Mty_ident{$0Q0_{$0Q0h@;)Mty_identĕ@h!t@@@ @A@@D@AV*]/]3V+]/]F@@@X #@ఠ!p {$0Q0i{$0Q0j@{ A@@@@@ )@@@@@y@@@ -@@|@@@ 0@@@డ95full_module_type_name(Odoc_env|%0n0~|%0n0@ |%0n0|%0n0@@@;p@@@df@@de@!t@@@dd@@dcn@@@db@@da@@d`@9j9j@@;L@!@@@;@@@ @@ @@@@ @@ @@@ @@ @@ 3|.|-|-|.|.|.|.|.@SL@M@N@@@@ఐ%c#env|@%0n0|A%0n0@%M@@@@డy$Name)from_path|S%0n0|T%0n0@ |W%0n0|X%0n0@@@@@@@@ @@ w6@@@ @@ 2@@ఐ!p|o%0n0|p%0n0@<@@@@@ W@W@ F@@|z%0n0|{%0n0@@wP@@@ L@@@@M@@|&00|&00@@@@@ @@@@@ @@@ |&00@@|&00|&00@@@@@A|#0/0;@@@A@|"00$@@@ఠ%alias |(00|(00@| A@@w~1module_type_alias@@@S@3||||||||@ @ @ @@@ຠ3(mta_name@@@[w!t@@@X@@@ 3*mta_module Ӡ%@@@Z@@@YA@A @AJ  J  @@ww@@AI s uI s @@wv@(mta_name|(00|(00@ఐ<$name|(00|(00@2@@9@@@8@'*mta_module|(01|(01 @ภ$None|(01|(01@w@@@7[@@@,@@@+S@2R@@@}(00}(01@@\U@A@}(00@@/ƶƷ@@@oR@m@Ʋ&m_type}*101<}*101B@డ:1subst_module_type(Odoc_env}&*101E}'*101M@ }**101N}+*101_@@@@@<@@@D@@C@@@@B@@An@@@@@@?@@>3}:}9}9}:}:}:}:}:@@@@@@@ఐ&o#env}L*101`}M*101c@&Y@@@@ఐG*tt_modtype}Y*101d}Z*101n@ @@@@@RS@WS@V$@@> @@@@@@@?@%@ఠ2analyse_typed_tree ~12'20~12'2B@~ A@@@)Unit_info(filename@@@J@@@@F@@@J@@@@)Parsetree)structure@@@J@@@@}(@@@J@@@ɱ@@@J@@@J@@@J@@@J@@@J@3        @`@@@࣠@+source_file A12'2C12'2N@/ A@@F3@qU$12'2,%K7n7v@@@@@  @@*input_file A012'2O112'2Y@CA@@J3/../////@!]@@@@@@@@)parsetree AA22Z2dB22Z2m@TA@гQ)ParsetreeP22Z2pQ22Z2y@VT22Z2zU22Z2@@@`@@@3UTTUUUUU@'3s@*@+@@ @@_22Z2c`22Z2@@@j@@@@)typedtree Ak22Z2l22Z2@~A@гk)typedtreex22Z2y22Z2@@s@@@3xwwxxxxx@$E@@@@?@@@@  @@22Z222Z2@@@ @@@@@@ఠ.tree_structure 322322@A@@}@@@O@3@&@@@@@:@;@@@@@322322@@}@@O@@@322322@@@ @@@@ఐ\)typedtree322322@"@@@(@'@A@322@@ ఐ@,prepare_file422422@@@@@G@@@@@@G@@@@@G@@@@@@@3@IYR@S@T@@@@ఐޠ+source_file422422@ð@@ @@ఐנ*input_file422422@@@@@2@@a@@@O@#@@ఠ(mod_name 63,3763,3?@*A@@A'modname@@@O@3@8@@@డ)Unit_info7lax_modname_from_source)Unit_info263,3B363,3K@ 663,3L763,3c@@@b@@@}@@|$@@@{@@z@5parsing/unit_info.mliii@@hK@@@@r@@@@@4@@@@@2@@ఐE+source_file^63,3d_63,3o@*@@?@@0@@E@@A@c63,33@@@@ఠ#len 'r73s3~s73s3@A@@H(@@@-O@3vuuvvvvv@jc@d@e@@@@ఠ(info_opt (73s373s3@A@@H6H5H4@@@/@@@.O@@@#@@@#@@@ @డI(preamble#Sig73s373s3@ 73s373s3@@@H@@@b3@@b2@H@@@b1@@b0@@H@@b/HH@@@b.@@b-@@b,@HH@@@b+@@b*@H@@@b'@HO@@@b)@@@b(@@b&@@b%@@b$@@b#@@b"@H@H~;6@@@H@@@@@@H@@@@@@@K@@@bO@ @@ 8@@@ @@ @@ @H@@@@@@H@@@@H@@@@@@@@@@@@@@@@3@@@@@డ.@.B%73s3&73s3@.?@@@.?I@@@9P@IP@<@@@>@@=@@;@@ఐB)file_nameA73s3@BP@@.Z@@@EQ@HQ@F@@' @@@@డ.r.tW73s3X73s3@.q@@@.qI<@@@7P@YP@L@@@N@@M@@K@@ఐCK$files73s3@B԰@@.@@@UQ@XQ@V@@' @@@@࣠@!x )A833833@A@@@@@@ఐ!x833833@@@@@3@%@@@)Parsetree833833@(pstr_loc833833@@K@@@@@cQ@a@833833@@@@@5@@@4@@3P@hP@eH@@ఐ)parsetree833833@P@@@@@k@@,@@@d@R@@pP@,a@A@73s3z@@@ఠ(info_opt *933933@A@@LܠL@@@@@@O@q3@|@@wp@q@r@@@ఐM"7analyze_toplevel_alerts933934@J@@@MM@@@|@@@{@@z@tKM@@@y@@@x@@wM M @@@v@@@u@@t@@s.@@ఐ(info_opt-934.934@6@@MGMD@@@@@@P@P@F@@ఐ)parsetreeE934F934#@Ȱ@@Q@@@V@@I@@^W@A@M933@@@ఠ(elements +X;4Z4eY;4Z4m@kA@@tЊ@@@@@@O@3`__`````@q|@}@~@@@ఐ1analyse_structureq;4Z4pr;4Z4@@@@A@@@@@@}S@@@@@@I@@@@@@J@@@@@@ @@@@@@@@@@@tԠ@@@@@@@@@@@@@@@@@@@@@డ@:%empty(Odoc_env;4Z4;4Z4@ ;4Z4;4Z4@@B@@@d@@"W@#W@@B A@ @@B*@@@P@P@e@@ఐ(mod_name;4Z4;4Z4@Y@@@@@u@@ఐr#len;4Z4;4Z4@@@JF@@@P@P@@@డ*&String&length;4Z4;4Z4@ ;4Z4;4Z4@@@&stringQ@@@C@@B#intA@@@A@@@.%string_lengthAA @@@*string.mlia((a(Z@@.Stdlib__StringD@$@@@@@@Z@@Y@@@X@@W@@డ0R0T7;4Z48;4Z4@0Q@@@0Q;@@@cQ@sQ@f@@@h@@g@@e@@ఐE+$fileS;4Z4@D@@0l@@@oR@rR@p@@' @@@@_;4Z4`;4Z4@@Kx@@@@tQ@a@@ఐ4)parsetreer;4Z4s;4Z4@@@@@@P@yP@x@@ఐ.tree_structure;4Z4;4Z4@@@@@@P@{P@z+@@  @@3,@A@;4Z4a @@@ఠ8included_modules_from_tt ̠<44<44@A@@4Ժ@@@@@@O@|3@FXQ@R@S@@@ఐޠ;tt_get_included_module_list<44<45@İ@@@@@@@@5@@@@@@@@~@@ఐ:.tree_structure<45<45 @@@6@@@P@P@1@@& @@92@A@<44 @@@ఠ)elements2 ͠=5$5/=5$58@A@@J@@@@@@O@3@L^W@X@Y@@@ఐ9>replace_dummy_included_modules=5$5;=5$5Y@΍@@@v>4@@@@@@@@@vI*@@@@@@@@v@@@@@@@)@@ఐР(elements(=5$5Z)=5$5b@~@@veA@@@P@P@>@@ఐ8included_modules_from_tt==5$5c>=5$5{@H@@vz[@@@@@@P@P@V@@K@@^W@A@M=5$5+@@@ఠ$kind ΠX>55Y>55@kA@@@@@O@3\[[\\\\\@mx@y@z@@@ภ-Module_structj>55k>55@kఐ)elements2t>55u>55@@@tҧ@@@@@@O@O@!@@@@4@@@%@A@>55@@/7&m_name@55@55@ఐ(mod_name@55@55@@@@@@3@@NG@H@I@@@D&m_typeA55A55@ภ%TypesA55A55@-Mty_signatureA55A55@@ภvA55A55@v@@@@@@N@)@@@@e@@@N@/@g&m_infoB56B56 @ఐ(info_optB56B56@y@@xw@@@@@@N@J@q.m_is_interfaceC66#C661@ภwC664C669@w@@@΀@@@N@_@z&m_fileD6<6ED6<6K@డx2*2,D6<6ND6<6O@2)@@@2)Γ@@@N@ @@@ @@ @@@@ఐF)file_name)D6<6X@F8@@2B@@@O@O@@@% @@@론&m_kind:E6[6d;E6[6j@ఐ렐$kindCE6[6mDE6[6q@@@@@@N@@κ%m_locQF6t6}RF6t6@ຠ.(loc_impl\F6t6]F6t6@ภ$SomedF6t6eF6t6@డ"'in_file(LocationtF6t6uF6t6@ xF6t6yF6t6@@@&stringQ@@@$@@$1@@@$@@$@1D  1D  @@1F@@@@@@@9@@82 @@@7@@6@@డ 22F6t6F6t6@2@@@21@@@FO@VO@I@@@K@@J@@H@@ఐG/)file_nameF6t6@Fΰ@@2ؠ@@@RP@UP@S)@@' @@*@@F6t6F6t6@@6@@@+N@2@WO@D6@@s @@/8 @@@*N@1=@/2)loc_interF6t6F6t6@ภ$NoneF6t6F6t6@@@@/B/A@@@`@@@_N@fW@@@F6t6F6t6@@h@@@"N@j_@b*m_top_depsG66G66@ภxF G66 G66@xE@@@qp@@@r@@@qN@xx@k&m_codeH66H66@డ3E3G*H66+H66@3D@@@3DY@@@N@N@@@@@@@@@@డ3-)keep_code+Odoc_globalJH67 @ MH67 NH67@%@3+&@@3h$@@@O@O@@@0 @@&@ภ$Some`H67aH67@డ33kH67lH67@3@@@3@@@N@N@N@@@@@@ @@@@ఐHa$fileH67#@G@@3@@@O@O@@@) @@@@5 @@@@@N@@ภ$NoneH67)H67-@8@@@N@@H66H67.@@ @+m_code_intfI717:I717E@ภ$NoneI717HI717L@N@@@@@@@@@N@$@+m_text_onlyJ7O7XJ7O7c@ภxJ7O7fJ7O7k@x@@@@@@N@9@@@?55@@;@U@@{@@@@@@4@M@@z@@@@@@f@@@@ @@@@@B@A@J@@A@@@@Oc@K@HO]@@HHM@HcG@HG@GG6@GhF@FF@Fl>s@>>c@7+{@++k@(%@%w@g@ @'@7@Iї@ф@yw@TR@'%@c@@>@@QJ@K@L@@3@oT@@!"L7w7|@<3@LL@@@&@OO3$##$$$$$@O@@@@+ @ @@MGA@5@RpQR_/@@RWO@O@@ O@@@321122222@OO@OܐOӑO@KlKk@KbKa@KXKW@KEKD@K2K1@JJ@JJ@JJ@J{Jz@JLJK@JJ@JI@II@II@IjIi@@@IFO@@I>H@HHr@HH@H7G@GG-@G_F@F>@?8>@8S+@, +@)j%@& @Q@^ۂ@ۜr@جՌ@վ @6@@@ќњ@7@@@u@@@hP6@@@P8(Odoc_astX@@ƱW@@T@@UV S@@Y R@@]xQ@@^ұP@@_mO@@`ױN@@dM@@eEK@@gH"J@@hK%I@@iv(H@@l+G@@$.F@@1E@@B4D@@˱7@@@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt E44E4@ H FF@ H Copyright 2001 Institut National de Recherche en Informatique et GG@ H en Automatique. HHg@ H IhhIh@ H All rights reserved. This file is distributed under the terms of JJ@ H the GNU Lesser General Public License version 2.1, with the  K KN@ H special exception on linking described in the file LICENSE. LOOLO@ H MM@ H************************************************************************NN5@ $* Analysis of implementation files. { * This module is used to search for structure items by name in a Typedtree.structure. One function creates two hash tables, which can then be used to search for elements. Class elements do not use tables. SV " FIXME when we will handle tuples *wd+wd@ D* Like {!Odoc_sig.analyze_toplevel_alerts} but acts on a structure. P㠠 S* This variable is used to load a file as a string and retrieve characters from it.I !* The name of the analysed file. Im * This function takes two indexes (start and end) and returns the string corresponding to the indexes in the file global variable. The function prepare_file must have been called to fill the file global variable.I [* This function loads the given file in the file global variable and sets file_name.H 4* The function used to get the comments in a class. H> 5* The function used to get the comments in a module. G * This function takes a parameter pattern and builds the corresponding [parameter] structure. The f_desc function is used to retrieve a parameter description, if any, from a parameter name. @ 4 we give a name to the parameter only if it is unit H&?&KI&?&@ ) a () argument, it never has description N&&O&'@ 2 implicit pattern matching -> anonymous parameter T''U'('@ * Analysis of the parameter of a function. Return a list of t_parameter created from the (pattern, expression) structures encountered. 9G  We keep this case for two reasons: 1. so odoc continues to gather together all arguments for functions written as [fun x -> fun y -> fun z -> ...]. 2. so we can call [tt_analyse_function_parameters] as a subroutine of [tt_analyse_method_expression]. Methods nest all arguments after [self] as a separate [Texp_function] node. ]5+, ^<--@ - FIXME: ppxes/camlp4 can generate this case. c@.c.od@.c.@ H implicit pattern matching -> anonymous parameter and no more parameter iC./jC./P@1 FIXME : label ? oD/Q/]pD/Q/r@ * Analysis of a Tstr_value from the typedtree. Create and return a list of [t_value]. @raise Failure if an error occurs.-; a new function is defined xV2M2XyV2M2w@2 create the value ~a4/4:a4/4P@8 a new value is defined p6U6`p6U6|@= new identifiers are defined : :: :9@ K FIXME : by now we don't accept to have global variables defined in tuples :::E:::@ ' something else, we don't care ? FIXME ::::@ * This function takes a Typedtree.class_expr and returns a string which can stand for the class name. The name can be "object ... end" if the class expression is not an ident or a class constraint or a class apply. *  ( match clexp.Typedtree.cl_desc with Tclass_ident _ -> prerr_endline "Tclass_ident" | Tclass_structure _ -> prerr_endline "Tclass_structure" | Tclass_fun _ -> prerr_endline "Tclass_fun" | Tclass_apply _ -> prerr_endline "Tclass_apply" | Tclass_let _ -> prerr_endline "Tclass_let" | Tclass_constraint _ -> prerr_endline "Tclass_constraint" ); < < ==@ | Typedtree.Tclass_fun (_, _, class_expr, _) -> tt_name_of_class_expr class_expr | Typedtree.Tclass_let (_,_,_, class_expr) -> tt_name_of_class_expr class_expr >>?@?B@ @* Analysis of a method expression to get the method parameters. 'F 4 it is not a function since there are no parameters AA+AAc@< we can't get here normally AdApAdA@3 no more parameter BB(BB?@ * Analysis of a [Parsetree.class_struture] and a [Typedtree.class_structure] to get a couple (inherited classes, class elements).  4 ?!? : not an arrow type ! return the original type RRRS@ " update the parameter description 1V5V?1V5Ve@ 4 ?!? : not an arrow type ! return the original type BYYBYY@ " update the parameter description Z]O]YZ]O]@5 don't give a $*%@ ! `^c^o`^c^@ r* Analysis of a [Parsetree.class_expr] and a [Typedtree.class_expr] to get a pair (class parameters, class kind). Ϡ . we try to get the name from the environment. ubZbjubZb@ V FIXME : Unfortunately, we don't have a Tclass_ident :-( even for a class tutu = toto vbbvbc@ t Here, type parameters are not present as Types.type_expr, however they can be found in the class_type ycAcKzcc@ / cltyp is the class type for [type_exp_list] p ~dPd`~dPd@ S we need the class signature to get the type of methods in analyse_class_structure fAfKfAf@ we check that this is not an optional parameter with a default value. In this case, we look for the good parameter pattern iij6j@ $ there must be a Tcl_let just after kWki kWk@. strange case n<nQn<nc@ 1 we create the parameter and add it to the class ndnyndn@ C no optional parameter with default value, we create the parameter oo/oov@ we want an ident, or else the class applied will appear in the form object ... end, because if the class applied has no name, the code is kinda ugly, isn't it ?  qq!r:r@> FIXME : obtain the full name &rs'rs1@ V FIXME : Unfortunately, we don't have a Tclass_ident :-( even for a class tutu = toto ,sEsU-sEs@ . we try to get the name from the environment. 2tt33tte@ we don't care about these lets 8x:xD9x:xh@ f FIXME analysis of the class type ? We don't have all the infos. cf. Odoc_sig.analyse_class_type_kind >z'z3?z'z@ Sig.analyse_class_type_kind env "" p_class_type2.Parsetree.pcty_loc.Location.loc_start.Lexing.pos_cnum p_class_type2 tt_class_expr2.Typedtree.cl_type DzzE{{@ a* Analysis of a [Parsetree.class_declaration] and a [Typedtree.class_expr] to return a [t_class].r * Get a name from a module expression, or "struct ... end" if the module expression is not an ident of a constraint on an ident. څ J* Get the list of included modules in a module structure of a typed tree. ז B FIXME : search within modules and module types, with which env ? S<OcT<O@ * This function takes a [module element list] of a module and replaces the "dummy" included modules with the ones found in typed tree structure of the module.  * This function removes the elements of the module which does not belong to the given module type, if the module type is expanded and the module has a "structure" kind. - * This function removes the elements of the module type which does not belong to the given module type, if the module type is expanded and the module type has a "structure" kind.  # FIXME: type details can be hidden bc@ R* Analysis of a parse tree structure with a typed tree, to return module elements.9 ]* Analysis of a parse tree structure item to obtain a new environment and a list of elements.2, don't care no@ + of rec_flag * (pattern * expression) list tZduZ@ For each value, look for the value name, then look in the typedtree for the corresponding information, at last analyse this information to build the value z{X@ " FIXME when we will handle tuples .@ ; we already have the optional comment for the first value. yy@? of string * value_description 77 @ % of (string * type_declaration) list QxQx@ 6 the comment for the first type was already retrieved vSvS@ 4 we get the extension declaration in the typed tree @< a new exception is defined XbXւ@ 4 we get the exception declaration in the typed tree @9 of string * module_expr L%0L%M@ N FIXME : can this be Tmty_ident? In this case, we wouldn't have the signature ffa@ R FIXME Here problem: no link with module types in module constraints uv@ 6 the comment for the first type was already retrieved hh@ 6 the comment for the first type was already retrieved )c@ N FIXME : can this be Tmty_ident? In this case, we wouldn't have the signature AOA@ , FIXME : extend the environment after open? @ ' we start by extending the environment &0&[@ ' we start by extending the environment xx@ we add a dummy included module which will be replaced by a correct one at the end of the module analysis, to use the Path.t of the included modules in the typdtree. [%]@ + FIXME: extend the environment? With what? ee@ J* Analysis of a [Parsetree.module_expr] and a name to return a [t_module]. 2 + FIXME : Odoc_env.subst_module_type env ? nn@ 8 code is set by the caller, after the module is created @ ' we must complete the included modules I@0Name.concat "__"  A  U@4 TODO: FIX THIS __   g r g @> needed for recursive modules  ++ ++@ ' we must complete the included modules ,W,a,W,@ R let name = Odoc_env.full_module_type_name env (Name.from_path (fst pkg_type)) in !// !/0@ ' We create the t_module for this file. %523&523+@ ' we must complete the included modules +:4'4.,:4'4Y@@(./ocamlc)-nostdlib"-I(./stdlib"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I(ocamldoc"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events"-cfg 9/builds/workspace/main/flambda/false/label/ocaml-linux-32 <10/.-,+*)('&%$#"! @@02Q&|L# 3~~@}@@0eT$BbRM dc5Build_path_prefix_map0DGl}%Y5Lhi8CamlinternalFormatBasics0|.e1R$|o0CamlinternalLazy0zY# #4#-*Cmi_format0`M{?w}@*Data_types0v\3,Svh#Env0S B2*Format_doc0uy@GmWUࠠ%Ident0>ЃzV)j⠠,Identifiable0]/*N )Load_path0,j " nn7ݠ(Location0nBɊOn?7~ؠ)Longident0wP q;ɡ$Misc0Bpg]?[qܐ0hlqıTOЙ0D:L(Odoc_env0>I?)]O70>@ӽX4IdS0Lt.`?9:777Đ0=V0^@GD--0C:K}Ŗ%0/-05ɍM!W)Odoc_name0 d L_,0n6sApTTE0A6}s Up:g䠠0~b:x_B*Odoc_types0ϸf%,e80FJ]\fѬ+Outcometree0BuG^)= 9c )Parsetree0v o[pY Y$Path0k.tbGmᠠD0[R  t|̠)Primitive0dU=\I/}%Shape0 M``ll&Stdlib0t0VoS%{<F:.Stdlib__Buffer0,I[?z.Stdlib__Digest0#z25I*.Stdlib__Domain0'Ϳo\0m.K.Stdlib__Either0HD ?|>.Stdlib__Format00FClW/Stdlib__Hashtbl0(L%bԠ,Stdlib__Lazy0$1mlࠠ.Stdlib__Lexing0^m|e,Stdlib__List0C|Z`>s䠠+Stdlib__Map0*4ɇ2ɠ%Subst0=aqT/!p+.Type_immediacy00$ jbv\"k&0L+=%Eȧk]U젠ِ0"|Vȷ`X )Unit_info0'T Χ@aR/Value_rec_types0`4xiVC(Warnings0Ef{&@@Av@IS:Dpp@q[qe v @Ց@RS@99ww@YDYN`[`e@#@@ff@q‘q̰9ϑ9@))P==@@^h)Hbc@@%Z%d  @@!y!IBIL@@fIfSvvְ5?6@%@*4@@HEHj''@@@@>M>W@͏͙ E@GnGx@#U#_Vdt~e%e/@@@ƆƐ@  BLhohy@YY@@dn -@@@ܑ@NO@@ @@**@00@@5?i(@i\if@bݑ  @zz%pp#@@@ B Lӑݰ$$kđk@ ڑ @ZZ@(20NN˓T@<<33@@LL4Y4c~@.9.C @ݑ"["i3@@'1@‘@aՑa@͑װUU @@@))!ܒX@@@&@)ؑ)A1A;@ͯ͹99@4>3L3V5?y@@n2n<@  ] ]/ۑ@Fd@:ӑ:ݰ!/@@8B"<MXMb@@TUW W@OO {@ @k%k/@@@6@@X X@@@@@dd dud@b3b=e)e3s}^^@>GnG|iiLjLt@@NmNw@*^6@i@iJ@Z[55@^^@Gu@@@D!D+@5A5K"("2@bbΑذ@ (6(@jjgq@Ƒа@@^6^@@,,55BLL@xS@QQLZXUX_@@%F%P__KU@&0@,T,^[er|ё@@%/@@0:@z6zDt~!!NN@@NX77r@T^YYYc@;;@V@VJ@@ *.l.vnn@@}@@@@>@@5L5V@v;;@@8B>ґ>@%Q%[@@cґc@55@@@LV@//@DDLMll@@55@G/G9'4@@$ё$۰*n*@w{w@m'm1@z@溑İ j t@XX@AqA{%bS@4ӑ4@ ԑ @_ݑ_@@w7~@LL°ZёZ @@.).3*4@@@Z@N.N8@@33@$v$hr@z(28NN@bͰ  @̰ʑ@ttwKwU@@ii@tT^@&Ƒ&а(XbVޘV@@U@@%ݑ%@@P@W#DWW@@@@@@A@@@AD@}A@OBG@@@FB>@@@/B'@@@ABCB@@@~Bv@@@0B(@@@AzBr@@@UBM@@@ABCD@@d@d@@@`@`@@@ABCk-@k*@@@g@g@@@An]@nZ@@@\@\@@@ABDp@p@@@oi@of@@@f@f@@@Alq@ln@@@f@f@@@ABCA@@@tAI@@@sK@sH@@@ABDE@@B A@@@C@@