Caml1999I037: j+)Ġ+Odoc_search.result_element;@@*Res_module+Odoc_module(t_module@@@@@8ocamldoc/odoc_search.mliTT@@A@/Res_module_typeK-t_module_type@@@@@UU@@*B@)Res_classL*Odoc_class't_class@@@@@#V$V2@@@]>c@@J@+Res_section&stringQ@@@~*Odoc_types$text@@@}@@^df^d@@K@,Res_recfieldo&t_type@@@|v,record_field@@@{@@__@@L@)Res_const&t_type@@@z3variant_constructor@@@y@@``@@M@@@A@@@@@S@@@@@@A@&result;@@@A$listK @@@@@@@@@@cBBcBc@@@@N@A@*Predicates !t:;@@@A@@@@@ l l@@@@%O@A@(p_module;@(t_module@@@*@@@@+@$boolE@@@-@@@@,@@.@@/@@0@3m4m@@LP@@-p_module_type<@F-t_module_type@@@1@'@@@2@&@@@4@,@@@3@@5@@6@@7@WnXn @@pQ@@'p_class=@G't_class@@@8@K@@@9@J@@@;@P@@@:@@<@@=@@>@{o  |o  F@@R@@,p_class_type>@k,t_class_type@@@?@o@@@@@n@@@B@t@@@A@@C@@D@@E@p G Kp G @@S@@'p_value?@m't_value@@@F@@@@G@@@H@@I@@J@q  q  @@T@@*p_recfield@@u&t_type@@@K@},record_field@@@L@@@@M@@@N@@O@@P@@Q@r  r  @@U@@'p_constA@&t_type@@@R@3variant_constructor@@@S@@@@T@@@U@@V@@W@@X@s  s  Y@@V@@&p_typeB@&t_type@@@Y@@@@Z@@@@\@@@@[@@]@@^@@_@!t Z ^"t Z @@:W@@+p_extensionC@7t_extension_constructor@@@`@@@@a@@@b@@c@@d@;u  A@@+search_typei@&t_type@@@6@!t@@@7MK@@@8@@@9@@:@@;@EF@@^B@@@@@?@@@@@A@ef(w@@~C@@5search_type_extensionk@0t_type_extension@@@B@!t@@@C@@@D@@@E@@F@@G@x|@@D@@0search_exceptionl@+t_exception@@@H@!t@@@I@@@J@@@K@@L@@M@?@@E@@0search_attributem@s+t_attribute@@@N@!t@@@O͠@@@P@@@Q@@R@@S@@D[@@F@@-search_methodn@(t_method@@@T@1!t@@@U@@@V@@@W@@X@@Y@@@G@@,search_classo@'t_class@@@Z@Q!t@@@[  @@@\@@@]@@^@@_@<@@H@@1search_class_typep@,t_class_type@@@`@q!t@@@a-+@@@b@@@c@@d@@e@%=A&Y@@>I@@2search_module_typeq@8-t_module_type@@@f@!t@@@gMK@@@h@@@i@@j@@k@EF@@^J@@-search_moduler@X(t_module@@@l@!t@@@mmk@@@n@@@o@@p@@q@efO@@~K@@&searchs@|(t_module@@@r@@@s@!t@@@t@@@u@@@v@@w@@x@PTP@@L@@@@""@M@@@&values$@(t_module@@@@@@k't_value@@@@@@@@@'@@N@@*extensions%@ʠ(t_module@@@@@@ՠh7t_extension_constructor@@@@@@@@@zz@@O@@*exceptions&@(t_module@@@@@@w+t_exception@@@@@@@@@i@@ P@@%types'@  (t_module@@@@@@&t_type@@@@@@@@@  @@ +Q@@*attributes(@- )(t_module@@@@@@8+t_attribute@@@@@@@@@ 3 6 6 4 6 @@ LR@@'methods)@N J(t_module@@@@@@Y (t_method@@@@@@@@@ T   U ! @@ mS@@'classes*@o k(t_module@@@@@@z S't_class@@@@@@@@@ u!P!P v!P!@@ T@@+class_types+@ (t_module@@@@@@ t,t_class_type@@@@@@@@@ !! !"%@@ U@@'modules,@ (t_module@@@@@@ (t_module@@@@@@@@@ "i"i "i"@@ V@@,module_types-@Ҡ (t_module@@@@@@ݠ -t_module_type@@@@@@@@@ "" "#D@@ W@@+type_exists.@ (t_module@@@@@@@-®exp@@@@@@@@@@@ ## ##@@ X@@,value_exists/@  (t_module@@@@@@@O®exp@@@@@@@@@@@ $Z$Z $Z$@@ 5Y@@-module_exists0@ 7 3(t_module@@@@@@@q®exp@@@ @@@@@@@@ >%% ?%%K@@ WZ@@2module_type_exists1@ Y U(t_module@@@@@@@®exp@@@ 5@@@@@@@@ `%% a%&@@ y[@@,class_exists2@ { w(t_module@@@@@@@®exp@@@ W@@@@@@@@ &o&o &o&@@ \@@1class_type_exists3@  (t_module@@@@@@@®exp@@@ y@@@@@@@@ '"'" '"'i@@ ]@@0extension_exists4@  (t_module@@@@@@@®exp@@@ @@@@@@@@ '' '(@@ ^@@0exception_exists5@  (t_module@@@@@@@®exp@@@ @@@@@@@@ (( ((@@ _@@0attribute_exists6@  (t_module@@@@@@@=®exp@@@ @@@@@@@@ )D)D )D)@@ #`@@-method_exists7@ % !(t_module@@@@@@@_®exp@@@ @@@@@@@@ ,)) -)*9@@ Ea@@,find_section8@ G C(t_module@@@@@@@®exp@@@ $text@@@@@@@@ P** Q*+$@@ ib@@@M+Odoc_search0^Tbr`(Warnings0mJɒkgr*%"e+Outcometree0euWS~d栠*Odoc_value0IlX+KE`*Odoc_types0fX cx3H~)Odoc_type0~b:x_B.Odoc_parameter0ץ~D3vNm)Odoc_name0{Y/3.+Odoc_module0z8P@ӽX4Id*Odoc_class0_"#C{$Misc0ob]6>Vê>)Longident0s `7mɕc(Location0a7cK_H%9,Identifiable0 {d\FX'`%Ident0">WA+9*X*Format_doc0]mWϓ:Mݠ0CamlinternalLazy0&͂7 Pˆ8CamlinternalFormatBasics0%FU(Q/Tu5Build_path_prefix_map0z HkGs(Asttypes0>n{T8cئ@@@Caml1999T037* C+Odoc_search*ocaml.text&_none_@@A ' Research of elements through modules. 8ocamldoc/odoc_search.mliP77P7c@@@@@@3@@@@#intA;@@A@@@@@9@A@$charB;@@A@@@@@>@A@&stringQ;@@A@@@@@C@@@%bytesC;@@A@@@@@H@@@%floatD;@@A@@@@@M@@@$boolE;@@%falsec@@W@$trued@@]@@@A@@@@@^@A@$unitF;@@"()e@@h@@@A@@@@@i@A@ #exnG;@@@A@@@@@m@@@#effH;@@O@A@A@@@@@@v@@@,continuationI;@@Q@@P@B A@nY@@@@@@@@@%arrayJ;@@R@AA@@@@@@@@@ $listK;@@S@A"[]f@@@"::g@@@T@@@ @@A@Y@@@@@@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AA@Y@@@@@@@@ 5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@AA@Y@@@@@@@@ *atomic_locU;@@Z@AA@@@@@@@@@ .Assert_failure`#@@@@@J@@@@@@@@[@@A=ocaml.warn_on_literal_pattern@@0Division_by_zero]#@@@A  @+End_of_file\#$@@@A#&&@'FailureY#,@'@@A,//@0Invalid_argumentX#5@0@@A5$8#8@-Match_failureV#>@@=@9@;@@a@@AF5I4I@)Not_foundZ#O@@@AN=Q<Q@-Out_of_memoryW#W@@@AVEYDY@.Stack_overflow^#_@@@A^MaLa@.Sys_blocked_io_#g@@@AfUiTi@)Sys_error[#o@j@@Ao^r]r@:Undefined_recursive_modulea#x@@w@s@u@@h@@Aon@:Continuation_already_takenb#@@@Awv@&Stdlib@AA+.result_elementASS@@;@@*Res_module+Odoc_module(t_module@@@o@@TT@@A@/Res_module_typeK-t_module_type@@@p@@UU@@B@)Res_classL*Odoc_class't_class@@@ @@VV2@@C@.Res_class_typec,t_class_type@@@ @@W35W3`@@D@)Res_valued*Odoc_value't_value@@@ @@XacXa@@E@(Res_typem)Odoc_type&t_type@@@ )@@YY@@ F@-Res_extensionw.Odoc_extension7t_extension_constructor@@@ h@@ZZ@@G@-Res_exception~.Odoc_exception+t_exception@@@ @@[[@@1H@-Res_attributeH+t_attribute@@@ @@(\)\=@@AI@*Res_methodX(t_method@@@ @@8]>@9]>c@@QJ@+Res_section@@@ *Odoc_types$text@@@ Q@@O^dfP^d@@hK@,Res_recfieldm&t_type@@@ Rt,record_field@@@ S@@f_g_@@L@)Res_const&t_type@@@ T3variant_constructor@@@ U@@}`~`@@M@@@A@@@@@S@)ocaml.doc 6 The type for an element of the result of a research. ReeRe@@@@@@@@@@@@#T@@г+Odoc_moduleTT@ T @ @@3@$;@@@A@@@@@-+@@@A @@@@@#  UU@@г+Odoc_moduleUU@U@@@@@@@@#VV@ @г*Odoc_classV V*@V+@@@$2@@@@@#W37W3E@@г*Odoc_classW3IW3S@"W3T @!@@)I"@@@@$@#  XaeXan@@г"*Odoc_valueXarXa|@'Xa}%@&@@0`'@@@@)@#%%YY@@г')Odoc_typeYY@,Y*@+@@5w,@@@@.@#**%Z&Z@@г,.Odoc_extension1Z2Z@15Z/@0@@:1@@@@3@#//<[=[@$@г1.Odoc_exceptionH[I[@6L[4@5@@?6@@@@8@#44S\T\#@+@г6*Odoc_value_\'`\1@=c\2;@<@@D=@@@@?@#;;j]>Bk]>L@2@г=*Odoc_valuev]>Pw]>Z@Dz]>[B@C@@KӰD@@@@F@#BB^dh^ds@2@гD&string^dw^d}@@L@@гI*Odoc_types^d^d@N^dL@M@@WN@@@@P@#LL__@<@гN)Odoc_type__@U__@@@] @@гX)Odoc_type__@__]@^@@f_@@@@a@#]]``@M@г_)Odoc_type``@f``@@@n4@@гi)Odoc_type``@p`n@o@@wDp@@@@r@@A@nlkj@jj@@@j@j@@y|@A+&resultBcBGcBM@@;@@@A@@@ @@@ @@@@cBBcBc@ ) The type representing a research result. b!bA@@@@@@@@@9N@@@Aг$list*cB_@г .result_element2cBP3cB^@@(311111111@28;@@@A@@@@ @ ~@@@@/,@@@A@@@9 /@@1R/.@..@@@.@.@@3JJJJJJJJ@@A=<@*PredicatesDWjbnXjbx@p]@БA+!tCglhl@@;@@dA@@@@@kl@@@@O@@@A@@@3jjjjjjjj@9pj@A@(p_modulexmym@б@г(t_module+Odoc_modulemm@ mm@@@@@@ 3@%0*@A @@б@г6!tmm@@ @@@ @@В@гi$boolmm@@ @@@ "@@@гx$boolmm@@ @@@ 1@@@@@ @@ 8 @@@- @@ ;0@@@A@@ >I@@@m@@P@@@@D-p_module_typenn@б@гL-t_module_type+Odoc_modulenn@ nn@@@@@@ 3@f(@A @@б@г!tnn@@ @@@ @@В@гΠ$booln n @@ @@@ "@@@гݠ$bool"n #n @@ @@@ 1@@@@@ @@ 8 @@@- @@ ;0@@@A@@ >I@@@7n@@OQ@@@@D'p_classBo  Co  @б@г't_class*Odoc_classQo  Ro  *@ Uo  +Vo  2@@@@@@ 3XXXXXXXX@f(@A @@б@г!tgo  6ho  7@@ @@@ @@В@г3$boolxo  ;yo  ?@@ @@@ "@@@гB$boolo  Bo  F@@ @@@ 1@@@@@ @@ 8 @@@- @@ ;0@@@A@@ >I@@@o  @@R@@@@D,p_class_typep G Op G [@б@г,t_class_type*Odoc_classp G ^p G h@ p G ip G u@@@@@@ 3@f(@A @@б@гe!tp G yp G z@@ @@@ @@В@г$boolp G ~p G @@ @@@ "@@@г$boolp G p G @@ @@@ 1@@@@@ @@ 8 @@@- @@ ;0@@@A@@ >I@@@p G K@@S@@@@D'p_value q   q  @б@г7't_value*Odoc_valueq  q  @ q   q  @@@@@@ 3""""""""@f(@A @@б@гʠ!t1q  2q  @@ @@@ @@г$bool>q  ?q  @@ @@@ @@@@@ !@@@'@@ $/ @@@Lq  @@dT@@@@**p_recfieldWr  Xr  @б@гp&t_type)Odoc_typefr  gr  @ jr  kr  @@@@@@ 3mmmmmmmm@Lj(@A @@б@г,record_field)Odoc_typer  r  @ r  r  @@@@@@  @@б@г-!tr  r  @@ @@@ )@@г\$boolr  r  @@ @@@ 6@@@@@ 9@@@%@@ <- @@@B@@ ?J@@@r  @@U@@@@E'p_consts  s  @б@г&t_type)Odoc_types  s  $@ s  %s  +@@@@@@ 3@g(@A @@б@г3variant_constructor)Odoc_types  /s  8@ s  9s  L@@@@@@  @@б@г!ts  Ps  Q@@ @@@ )@@г $bools  Us  Y@@ @@@ 6@@@@@ 9@@@%@@ <- @@@B@@ ?J@@@s  @@0V@@@@E&p_type#t Z b$t Z h@б@г<&t_type)Odoc_type2t Z k3t Z t@ 6t Z u7t Z {@@@@@@ 399999999@g(@A @@б@г᠐!tHt Z It Z @@ @@@ @@В@г$boolYt Z Zt Z @@ @@@ "@@@г#$boolht Z it Z @@ @@@ 1@@@@@ @@ 8 @@@- @@ ;0xt Z @@@B@@ ?J@@@~t Z ^@@W@@ @@E+p_extensionu  u  @б@г7t_extension_constructor.Odoc_extensionv  v  @ v  v  @@@@@@ 3@g(@A @@б@гG!tv  v  @@ @@@ @@гv$boolv  v  @@ @@@ @@@@@ !@@@'@@ $/ @@@u  @@X@@@@*+p_exceptionw  w  @б@г+t_exception.Odoc_exceptionw  w  @ w  w  @@@@@@ 3@Lj(@A @@б@г!tw  w  @@ @@@ @@г$boolw  w  @@ @@@ @@@@@ !@@@'@@ $/ @@@w  @@,Y@@@@*+p_attributex  ( x  3@б@гJ+t_attribute*Odoc_value.x  6/x  @@ 2x  A3x  L@@@@@@ 355555555@Lj(@A @@б@гݠ!tDx  PEx  Q@@ @@@ @@г $boolQx  URx  Y@@ @@@ @@@@@ !@@@'@@ $/ @@@_x  $@@wZ@@@@*(p_methodjy Z bky Z j@б@г(t_method*Odoc_valueyy Z mzy Z w@ }y Z x~y Z @@@@@@ 3@Lj(@A @@б@г(!ty Z y Z @@ @@@ @@гW$booly Z y Z @@ @@@ @@@@@ !@@@'@@ $/ @@@y Z ^@@[@@@@*)p_sectionz  z  @б@г&stringz  z  @@ @@@ 3@Ca@A@@б@гj!tz  z  @@ @@@ @@г$boolz  z  @@ @@@ @@@@@ !@@@'@@ $* @@@z  @@ \@@@@*@A@#@@]@V@@M@F@@~<@5@@a@Z!@@3        @G\#@A3        @@A k{} {  @@ " The type of modules which contain the predicates used during the research. Some functions return a couple of booleans ; the first indicates if we must go deeper in the analysed element, the second if the element satisfies the predicate.  eee i_a@@@@@@@ "jbb@3        @@A@&SearchE /~   0~  @ Hn@@Т!PF ;  ' <  (@Р*Predicates D  + E  5@3 D D D D D D D D@A@@y@@W@P@@F@?@@P@I@@~@@搠UT@TT@@@T@T@Q@A/.@@Б.search_section ~B i s B i @б@г<$text*Odoc_types B i  B i @  B i  B i @@@@@@ 3        @Rd@]@b ^@g@A @@б@г q&string B i  B i @@ @@@ @@б@г}!t!P B i  B i @  B i  B i @@@@@@ ,- @@г E$list B i  B i @гK.result_element B i  B i @@ @@@ -D@@@@@@ /I @@@"@@ 0L*@@@=@@ 1O@@@@U@@ 2R]@@@ B i o @k; search in a section title  A B H A B h@@@@@@@ _@@0@{ @@@@@@q,search_value E   E  @б@г;'t_value*Odoc_value E   E  @  #E   $E  @@@@@@ 33 & & & & & & & &@A@A @@б@г!t!P 9E   :E  @  =E   >E  @@@@@@ 4 @@г Ġ$list KE  ! LE  %@гʠ.result_element UE   VE  @@ @@@ 51@@@@@@ 76 @@@"@@ 89*@@@?@@ 9<G@@@ hE  @琠3 search in a value  uD   vD  @@@@@@@ `@@-@ @@@@@@[/search_recfield H M W H M f@б@г&t_type)Odoc_type I i q I i z@  I i { I i @@@@@@ :3        @}A@A @@б@г,record_field)Odoc_type I i  I i @  I i  I i @@@@@@ ; @@б@г!t!P I i  I i @  I i  I i @@@@@@ <2 @@г X$list I i  I i @г ^.result_element I i  I i @@ @@@ =I@@@@@@ ?N @@@"@@ @Q*@@@=@@ ATE@@@Z@@ BWb@@@ H M S @~: search in a record field  G ' - G ' L@@@@@@@ %a@@0@ @@@@@@v,search_const #L   $L  @б@г <&t_type)Odoc_type 2M  3M@  6M 7M@@@@@@ C3 9 9 9 9 9 9 9 9@A@A @@б@г V3variant_constructor)Odoc_type LM MM&@  PM' QM:@@@@@@ D @@б@г'!t!P dM> eM?@  hM@ iMA@@@@@@ E2 @@г $list vMT wMX@г .result_element ME MS@@ @@@ FI@@@@@@ HN @@@"@@ IQ*@@@=@@ JTE@@@Z@@ KWb@@@ L   @  ! search in a variant constructor  K   K  @@@@@@@ b@@0@ % @@@@@@v+search_type Px Px@б@г &t_type)Odoc_type Px Px@  Px Px@@@@@@ L3        @A@A @@б@г!t!P Px Px@  Px Px@@@@@@ M @@г n$list Px Px@г t.result_element Px Px@@ @@@ N1@@@@@@ P6 @@@"@@ Q9*@@@?@@ R<G@@@ Px~@ 2 search in a type  OZ` OZw@@@@@@@ 8c@@-@  3@@@@@@[\=U@  A\=V B\=a@@@@@@ a3 D D D D D D D D@}A@A @@б@г!t!P W\=e X\=f@  [\=g \\=h@@@@@@ b @@г ⠐$list i\={ j\=@г 蠐.result_element s\=l t\=z@@ @@@ c1@@@@@@ e6 @@@"@@ f9*@@@?@@ g<G@@@ [ &@ 8 search in an exception  Z Z@@@@@@@ f@@-@  @@@@@@[0search_attribute _ _@б@г +t_attribute*Odoc_value ` `@  ` `@@@@@@ h3        @}A@A @@б@г!t!P ` `@  ` `@@@@@@ i @@г ^$list ` `@г d.result_element ` `@@ @@@ j1@@@@@@ l6 @@@"@@ m9*@@@?@@ n<G@@@_@ 8 search in an attribute ^^@@@@@@@(g@@-@ #@@@@@@[-search_method&c",'c"9@б@г Q(t_method*Odoc_value5c"<6c"F@ 9c"G:c"O@@@@@@ o3<<<<<<<<@}A@A @@б@г!t!POc"SPc"T@ Sc"UTc"V@@@@@@ p @@г ڠ$listac"ibc"m@г ࠐ.result_elementkc"Zlc"h@@ @@@ q1@@@@@@ s6 @@@"@@ t9*@@@?@@ u<G@@@~c"(@ 4 search in a method bb!@@@@@@@h@@-@ @@@@@@[,search_classff@б@г 't_class*Odoc_classff@ ff@@@@@@ v3@}A@A @@б@г!t!Pff@ ff@@@@@@ w @@гV$listff@г \.result_elementff@@ @@@ x1@@@@@@ z6 @@@"@@ {9*@@@?@@ |<G@@@f@ y3 search in a class eoueo@@@@@@@ i@@-@ @@@@@@[1search_class_typeii@б@г k,t_class_type*Odoc_class-j%.j/@ 1j02j<@@@@@@ }344444444@}A@A @@б@г !t!PGj@HjA@ KjBLjC@@@@@@ ~ @@гҠ$listYjVZjZ@г ؠ.result_elementcjGdjU@@ @@@ 1@@@@@@ 6 @@@"@@ 9*@@@?@@ <G@@@vi@ 8 search in a class type hh@@@@@@@j@@-@ @@@@@@[2search_module_typemm@б@г -t_module_type+Odoc_modulenn@ nn@@@@@@ 3@}A@A @@б@г!t!Pnn@ nn@@@@@@  @@гN$listnn@гT.result_elementnn@@ @@@ 1@@@@@@ 6 @@@"@@ 9*@@@?@@ <G@@@m@ q9 search in a module type l\bl\@@@@@@@k@@-@ @@@@@@[-search_moduleq q@б@г(t_module+Odoc_module%q&q(@ )q)*q1@@@@@@ 3,,,,,,,,@}A@A @@б@г!t!P?q5@q6@ Cq7Dq8@@@@@@  @@гʠ$listQqKRqO@гР.result_element[q<\qJ@@ @@@ 1@@@@@@ 6 @@@"@@ 9*@@@?@@ <G@@@nq @ 퐠4 search in a module {p|p@@@@@@@l@@-@ @@@@@@[&searchtztz@б@г$listtztz@г (t_module+Odoc_moduletztz@ tztz@@@@@@ 3@K@A @@@" @@@ @@б@г!t!Ptztz@ tztz@@@@@@  @@гU$listtztz@г[.result_elementtztz@@ @@@ 6@@@@@@ ; @@@"@@ >*@@@>@@ AL@@@tz@x= search in a list of modules sQWsQy@@@@@@@m@@-@@@@@@@`@-@ @@@i@@u@@'@@3@@?@@<@@300000000@>@A!333333333@@A8@ : >9u@@399999999@@A>  &@@O I Search for elements verifying the predicates in the module in parameter.L}  M}  @@@@@@@O~  @@&P_nameG[x&\x,@t}@@БA+!tHjz5>kz5?@@;@@ gA#Str®exp@@@ @@@@wz59xz5L@@@@o@@@Aг #Strz5Bz5E@z5F@@@3@Db@ZQ@/@@z@@k@@w@@)@ @5@@A@!@@-on@nn@@@n@n@kS;@@@A[@@@ @ @@@@L@@@I@A@K@@M@@3@9@ANM@"=~ܠ{MU{M[@б@г&string{M^{Md@@ @@@ 3@Tys@A@@б@гt®exp#Str{Mh{Mk@ {Ml{Mr@@@@@@  @@г$bool{Mv{Mz@@ @@@ '@@@@@ *@@@0@@ -3 @@@ {MQ@@%p@@@@3(p_moduleݠ|{|{@б@г(t_module+Odoc_module'|{(|{@ +|{,|{@@@@@@ 3........@Uj(@A @@б@г®exp#StrA|{B|{@ E|{F|{@@@@@@  @@В@г$boolW|{X|{@@ @@@ +@@@г!$boolf|{g|{@@ @@@ :@@@@@ @@ A @@@- @@ D5@@@J@@ GR@@@{|{@@q@@@@M-p_module_typeޠ}}@б@г-t_module_type+Odoc_module~~@ ~~@@@@@@ 3@o(@A @@б@г6®exp#Str~~@ ~~@@@@@@  @@В@г$bool~ ~ @@ @@@ +@@@г$bool~~@@ @@@ :@@@@@ @@ A @@@- @@ D5@@@J@@ GR@@@}@@r@@@@M'p_classߠ$@б@гA't_class*Odoc_class'1@ 29@@@@@@ 3        @o(@A @@б@г®exp#Str=@@ !A"G@@@@@@ @@В@г$bool3K4O@@ @@@+@@@г$boolBRCV@@ @@@:@@@@@ @@A @@@- @@D5@@@J@@GR@@@W@@os@@@@M,p_class_typebW_cWk@б@г,t_class_type*Odoc_classqWnrWx@ uWyvW@@@@@@3xxxxxxxx@o(@A @@б@г®exp#StrWW@ WW@@@@@@ @@В@г\$boolWW@@ @@@+@@@гk$boolWW@@ @@@ :@@@@@ @@ A @@@- @@ D5@@@J@@ GR@@@W[@@t@@@@M'p_value@б@г't_value*Odoc_value@ @@@@@@ 3@o(@A @@б@г®exp#Str@ @@@@@@ @@гƠ$bool  @@ @@@'@@@@@*@@@0@@-8 @@@@@1u@@@@3*p_recfield$%@б@г=&t_type)Odoc_type34@ 78@@@@@@3::::::::@Us(@A @@б@гW,record_field)Odoc_typeMN@ QR@@@@@@ @@б@г®exp#Stre!f$@ i%j+@@@@@@2 @@г2$boolw/x3@@ @@@?@@@@@B@@@.@@E6 @@@K@@HS@@@@@v@@@@N'p_const4<4C@б@г&t_type)Odoc_type4F4O@ 4P4V@@@@@@3@p(@A @@б@г3variant_constructor)Odoc_type4Z4c@ 4d4w@@@@@@ @@б@г[®exp#Str4{4~@ 44@@@@@@2 @@г$bool44@@ @@@?@@@@@B@@@.@@E6 @@@K@@HS@@@48@@w@@@@N&p_type@б@г&t_type)Odoc_type@ @@@@@@ 3@p(@A @@б@г®exp#Str+,@ /0@@@@@@! @@В@г$boolAB@@ @@@"+@@@г $boolPQ@@ @@@#:@@@@@ @@$A @@@- @@%D5`@@@K@@&HS@@@f@@~x@@ @@N+p_extensionqr@б@гx7t_extension_constructor.Odoc_extension@ @@@@@@'3@p(@A @@б@г!®exp#Str@ @@@@@@( @@гg$bool#'@@ @@@)'@@@@@**@@@0@@+-8 @@@@@y@@@@3+p_exception(0(;@б@г+t_exception.Odoc_exception(>(L@ (M(X@@@@@@,3@Us(@A @@б@гu®exp#Str(\(_@ (`(f@@@@@@- @@г$bool(j(n@@ @@@.'@@@@@/*@@@0@@0-8 @@@(,@@&z@@@@3+p_attributeowo@б@гD+t_attribute*Odoc_value(o)o@ ,o-o@@@@@@13////////@Us(@A @@б@г®exp#StrBoCo@ FoGo@@@@@@2 @@г$boolToUo@@ @@@3'@@@@@4*@@@0@@5-8 @@@bos@@z{@@@@3(p_methodmn@б@г(t_method*Odoc_value|}@ @@@@@@63@Us(@A @@б@г®exp#Str@ @@@@@@7 @@гc$bool@@ @@@8'@@@@@9*@@@0@@:-8 @@@@@|@@@@3@UOA@@F@?@n@g@@C@<@i@b@@s@l!@@3@Pn#@A3@N@Ay/1@@Z쐠 K A module of predicates to search elements by name (and accepting regexps).ww@@@@@@@x@@.Search_by_nameI")"7@M@@Б.search_section@H@V@б@г$text*Odoc_types@Y@c@ @d@h@@@@@@;3@@A@^@@D@=@l@e@@@@9@@z/@(@@@ba@aa@@@a@a@^@A50@@б@г&stringS@lT@r@@ @@@<9@@б@г !t&P_namef@vg@|@ j@}k@~@@@@@@Q @@г$listx@y@@г.result_element@@@@ @@@h@@@@@@m @@@"@@p*@@@=@@s@@@@y@@v@@@@D @@~@@"@@|,search_value@б@г't_value*Odoc_value@ @@@@@@3@(@A @@б@гo!t&P_name@ @@@@@@ @@гW$list@г].result_element@@ @@@1@@@@@@6 @@@"@@9*@@@?@@<G@@@@@@@@@B/search_recfield@б@г&t_type)Odoc_type@  @@@@@@3@d(@A @@б@г9,record_field)Odoc_type/0@ 34'@@@@@@ @@б@г!t&P_nameG+H1@ K2L3@@@@@@2 @@гҠ$listYFZJ@гؠ.result_elementc7dE@@ @@@I@@@@@@N @@@"@@Q*@@@=@@TE@@@Z@@Wb@@@y @@@@@"@@],search_constKSK_@б@г&t_type)Odoc_typeKbKk@ KlKr@@@@@@3@(@A @@б@г3variant_constructor)Odoc_typeKvK@ KK@@@@@@ @@б@гh!t&P_nameKK@ KK@@@@@@2 @@гP$listKK@гV.result_elementKK@@ @@@I@@@@@@N @@@"@@Q*@@@=@@TE@@@Z@@Wb@@@KO @@A@@"@@]+search_type@б@г&t_type)Odoc_type@ @@@@@@3@(@A @@б@г!t&P_name+,@ /0@@@@@@ @@г$list=>@г.result_elementGH@@ @@@1@@@@@@6 @@@"@@9*@@@?@@<G@@@Z@@rB@@@@B?@@@@@@3AAAAAAAA@d(@A @@б@г!t&P_nameT U&@ X'Y(@@@@@@ @@гߠ$listf;g?@г堐.result_elementp,q:@@ @@@1@@@@@@6 @@@"@@9*@@@?@@<G@@@@@E@@@@B0search_attribute@H@X@б@г+t_attribute*Odoc_value[a[k@ [l[w@@@@@@3@d(@A @@б@г Z!t&P_name[{[@ [[@@@@@@ @@гB$list[[@гH.result_element[[@@ @@@1@@@@@@6 @@@"@@9*@@@?@@<G@@@@D@@F@@@@B-search_method@б@г(t_method*Odoc_value@ @@@@@@3@d(@A @@б@г !t&P_name@ @@@@@@ @@г$list,-@г.result_element67@@ @@@1@@@@@@6 @@@"@@9*@@@?@@<G@@@I@@aG@@@@B,search_classTU@б@г't_class*Odoc_classcd@ gh@@@@@@3jjjjjjjj@d(@A @@б@г !t&P_name}~#@ $%@@@@@@ @@г$list8<@г.result_element)7@@ @@@1@@@@@@6 @@@"@@9*@@@?@@<G@@@@@H@@@@B1search_class_type=E=V@б@г,t_class_type*Odoc_classY_Yi@ YjYv@@@@@@3@d(@A @@б@г !t&P_nameYzY@ YY@@@@@@ @@гk$listYY@гq.result_elementYY@@ @@@1@@@@@@6 @@@"@@9*@@@?@@<G@@@=A@@'I@@@@B2search_module_type@б@г-t_module_type+Odoc_module)*@ -.@@@@@@300000000@d(@A @@б@г !t&P_nameCD@ GH@@@@@@ @@гΠ$listUV@гԠ.result_element_`@@ @@@1@@@@@@6 @@@"@@9*@@@?@@<G@@@r@@J@@@@B-search_module}~@б@г(t_module+Odoc_module#@ $,@@@@@@3@d(@A @@б@г I!t&P_name06@ 78@@@@@@ @@г1$listKO@г7.result_element<J@@ @@@1@@@@@@6 @@@"@@9*@@@?@@<G@@@@@K@@@@B&searchPXP^@б@гd$listPvPz@гY(t_module+Odoc_modulePaPl@ PmPu@@@@@@3@n2@A @@@" @@@@@б@г !t&P_nameP~P@ PP@@@@@@ @@г$list*P+P@г.result_element4P5P@@ @@@6@@@@@@; @@@"@@>*@@@>@@AL@@@GPT@@_L@@@@G@J@U@N@]@V@@:@3@x@q@@U@N@@#@@3eeeeeeee@f%@A!3hhhhhhhh@L@Am:<n@@ & A module to search elements by name. |}!@@@@@@@""@@&values@б@г $list @г(t_module+Odoc_module@ @@@@@@3@@@@?@8@b@[@@?@8@}@v@@Z@S@@@L^]@]]@@@]@]@Z@A72@@@L3@@@1<I@@г^$list#'@г't_value*Odoc_value@ "@@@@@@Q @@@ @@@V@@@,@@Yd @@@#@ ; A function to search all the values in a list of modules. @@@@@@@.N@@3@)@@@@@@x*extensions,z~-z@б@г$list78@г(t_module+Odoc_moduleEF@ IJ@@@@@@3LLLLLLLL@K@A @@@" @@@@@гנ$list^_@гd7t_extension_constructor.Odoc_extensionlm@ pq@@@@@@' @@@ @@@,@@@,@@ /: @@@zz#@ K A function to search all the extension constructors in a list of modules. )))y@@@@@@@O@@3@@@@@@@N*exceptions *@б@г)$listBF@г(t_module+Odoc_module-8@ 9A@@@@@@ 3@zK@A @@@" @@@ @@гP$listei@г+t_exception.Odoc_exceptionJX@ Yd@@@@@@ ' @@@ @@@,@@@,@@/: @@@#@y ? A function to search all the exceptions in a list of modules. @@@@@@@ P@@3@@@@@@@N%types@б@г$list)*@г(t_module+Odoc_module78@ ;<@@@@@@3>>>>>>>>@zK@A @@@" @@@@@гɠ$listPQ@гh&t_type)Odoc_type^_@ bc@@@@@@' @@@ @@@,@@@,@@/: @@@s#@򐠠 : A function to search all the types in a list of modules. kkk@@@@@@@Q@@3@@@@@@@N*attributes 6 : 6 D@б@г$list 6 \ 6 `@г(t_module+Odoc_module 6 G 6 R@  6 S 6 [@@@@@@3@zK@A @@@" @@@@@гB$list 6 { 6 @г+t_attribute*Odoc_value 6 d 6 n@  6 o 6 z@@@@@@' @@@ @@@,@@@,@@/: @@@ 6 6#@k E A function to search all the class attributes in a list of modules.  5@@@@@@@ R@@3@{ @@@@@@N'methods      @б@г$list      @г(t_module+Odoc_module )   *  @  -   .  @@@@@@3 0 0 0 0 0 0 0 0@zK@A @@@" @@@!@@г$list B ! C ! @гl(t_method*Odoc_value P   Q  @  T   U !@@@@@@"' @@@ @@@$,@@@,@@%/: @@@ e  #@䐠 B A function to search all the class methods in a list of modules.  r   s  @@@@@@@ S@@3@ @@@@@@N'classes !P!T !P![@б@г $list !P!s !P!w@г(t_module+Odoc_module !P!^ !P!i@  !P!j !P!r@@@@@@&3        @zK@A @@@" @@@(@@г 4$list !P! !P!@г't_class*Odoc_class !P!{ !P!@  !P! !P!@@@@@@)' @@@ @@@+,@@@,@@,/: @@@ !P!P#@] < A function to search all the classes in a list of modules.  !! !!O@@@@@@@!T@@3@m @@@@@@N+class_types!!!!!!@б@г $list! !"!!"@г{(t_module+Odoc_module!!!!!!@ !!!! !"@@@@@@-3!"!"!"!"!"!"!"!"@zK@A @@@" @@@/@@г $list!4!"!!5!"%@г,t_class_type*Odoc_class!B!" !C!"@ !F!"!G!" @@@@@@0' @@@ @@@2,@@@,@@3/: @@@!W!!#@֐ @ A function to search all the class types in a list of modules. !d!!!e!!@@@@@@@!}U@@3@!x@@@@@@N'modules!{"i"m!|"i"t@б@г $list!"i"!"i"@г(t_module+Odoc_module!"i"w!"i"@ !"i"!"i"@@@@@@43!!!!!!!!@zK@A @@@" @@@6@@г!&$list!"i"!"i"@г (t_module+Odoc_module!"i"!"i"@ !"i"!"i"@@@@@@7' @@@ @@@9,@@@,@@:/: @@@!"i"i#@O < A function to search all the modules in a list of modules. !"'"'!"'"h@@@@@@@!V@@3@_!񐠠@@@@@@N,module_types!""!"#@б@г!x$list!"#""#"@г m(t_module+Odoc_module" "# ""#@ ""#""#@@@@@@;3""""""""@zK@A @@@" @@@=@@г!$list"&"#@"'"#D@г -t_module_type+Odoc_module"4"#&"5"#1@ "8"#2"9"#?@@@@@@>' @@@ @@@@,@@@,@@A/: @@@"I""#@Ȑ A A function to search all the module types in a list of modules. "V"""W""@@@@@@@"oW@@3@"j@@@@@@N+type_exists"m##"n##@б@г!$list"x##"y##@г (t_module+Odoc_module"##"##@ "##"##@@@@@@B3""""""""@zK@A @@@" @@@D@@б@г,®exp#Str"##"##@ "##"##@@@@@@E @@г"r$bool"##"##@@ @@@F,@@@@@G/@@@/@@H2= @@@"##@ D b Return [true] if a type with the given complete name (regexp) exists in the given module list."#F#F"##@@@@@@@"X@@@ T"搠@@@@@@Q,value_exists"$Z$^"$Z$j@б@г"m$list"$Z$"$Z$@г!b(t_module+Odoc_module#$Z$m#$Z$x@ #$Z$y#$Z$@@@@@@I3# # # # # # # # @}K@A @@@" @@@K@@б@г®exp#Str#!$Z$#"$Z$@ #%$Z$#&$Z$@@@@@@L @@г"$bool#3$Z$#4$Z$@@ @@@M,@@@@@N/@@@/@@O2= @@@#A$Z$Z@ c Return [true] if a value with the given complete name (regexp) exists in the given module list.#N###O$;$Y@@@@@@@#gY@@@ #b@@@@@@Q-module_exists#e%% #f%%@б@г"預$list#p%%1#q%%5@г!(t_module+Odoc_module#~%%#%%'@ #%%(#%%0@@@@@@P3########@}K@A @@@" @@@R@@б@г$®exp#Str#%%9#%%<@ #%%=#%%C@@@@@@S @@г#j$bool#%%G#%%K@@ @@@T,@@@@@U/@@@/@@V2= @@@#%%@!< d Return [true] if a module with the given complete name (regexp) exists in the given module list.#$$#$%@@@@@@@#Z@@@!L#ސ@@@@@@Q2module_type_exists#%%#%%@б@г#e$list#%%#%%@г"Z(t_module+Odoc_module#%%#%%@ #%%#%%@@@@@@W3$$$$$$$$@}K@A @@@" @@@Y@@б@г®exp#Str$%%$%%@ $%%$%%@@@@@@Z @@г#栐$bool$+%&$,%&@@ @@@[,@@@@@\/@@@/@@]2= @@@$9%%@! i Return [true] if a module type with the given complete name (regexp) exists in the given module list.$F%M%M$G%%@@@@@@@$_[@@@!$Z@@@@@@Q,class_exists$]&o&s$^&o&@б@г#᠐$list$h&o&$i&o&@г"(t_module+Odoc_module$v&o&$w&o&@ $z&o&${&o&@@@@@@^3$}$}$}$}$}$}$}$}@}K@A @@@" @@@`@@б@г®exp#Str$&o&$&o&@ $&o&$&o&@@@@@@a @@г$b$bool$&o&$&o&@@ @@@b,@@@@@c/@@@/@@d2= @@@$&o&o@"4 c Return [true] if a class with the given complete name (regexp) exists in the given module list.$&&$&P&n@@@@@@@$\@@@"D$֐@@@@@@Q1class_type_exists $'"'&$'"'7@б@г$]$list$'"'O$'"'S@г#R(t_module+Odoc_module$'"':$'"'E@ $'"'F$'"'N@@@@@@e3$$$$$$$$@}K@A @@@" @@@g@@б@г®exp#Str%'"'W%'"'Z@ %'"'[%'"'a@@@@@@h @@г$ޠ$bool%#'"'e%$'"'i@@ @@@i,@@@@@j/@@@/@@k2= @@@%1'"'"@" i Return [true] if a class type with the given complete name (regexp) exists in the given module list.%>&&%?''!@@@@@@@%W]@@@"%R@@@@@@Q0extension_exists %U''%V''@б@г$٠$list%`'(%a'( @г#(t_module+Odoc_module%n''%o''@ %r''%s'(@@@@@@l3%u%u%u%u%u%u%u%u@}K@A @@@" @@@n@@б@г®exp#Str%'( %'(@ %'(%'(@@@@@@o @@г%Z$bool%'(%'(@@ @@@p,@@@@@q/@@@/@@r2= @@@%''@#, h Return [true] if an extension with the given complete name (regexp) exists in the given module list.%'k'k%''@@@@@@@%^@@@#<%ΐ@@@@@@Q0exception_exists %((%((@б@г%U$list%((%((@г$J(t_module+Odoc_module%((%((@ %((%((@@@@@@s3%%%%%%%%@}K@A @@@" @@@u@@б@г®exp#Str& ((& ((@ & ((&((@@@@@@v @@г%֠$bool&((&((@@ @@@w,@@@@@x/@@@/@@y2= @@@&)((@# g Return [true] if a exception with the given complete name (regexp) exists in the given module list.&6(!(!&7(o(@@@@@@@&O_@@@#&J@@@@@@Q0attribute_exists &M)D)H&N)D)X@б@г%Ѡ$list&X)D)p&Y)D)t@г$(t_module+Odoc_module&f)D)[&g)D)f@ &j)D)g&k)D)o@@@@@@z3&m&m&m&m&m&m&m&m@}K@A @@@" @@@|@@б@г ®exp#Str&)D)x&)D){@ &)D)|&)D)@@@@@@} @@г&R$bool&)D)&)D)@@ @@@~,@@@@@/@@@/@@2= @@@&)D)D@$$ h Return [true] if an attribute with the given complete name (regexp) exists in the given module list.&((&)%)C@@@@@@@&`@@@$4&Ɛ@@@@@@Q-method_exists &))&)*@б@г&M$list&)*&)*#@г%B(t_module+Odoc_module&)* &)*@ &)*&)*@@@@@@3&&&&&&&&@}K@A @@@" @@@@@б@г®exp#Str')*'')**@ ')*+')*1@@@@@@ @@г&Π$bool')*5')*9@@ @@@,@@@@@/@@@/@@2= @@@'!))@$ d Return [true] if a method with the given complete name (regexp) exists in the given module list.'.))'/))@@@@@@@'Ga@@@$'B@@@@@@Q,find_section'E**'F**@б@г&ɠ$list'P**'Q*+@г%(t_module+Odoc_module'^**'_**@ 'b**'c**@@@@@@3'e'e'e'e'e'e'e'e@}K@A @@@" @@@@@б@г®exp#Str'}*+'~*+ @ '*+ '*+@@@@@@ @@г%B$text*Odoc_types'*+'*+@ '*+ '*+$@@@@@@5 @@@@@8$ @@@8@@;F @@@'**@%% Return the [text] of the section with the given complete name (regexp) in the given module list. @raise Not_found if the section was not found.'*;*;'**@@@@@@@'b@@@%5'ǐ@@@@@@Z@&=&7A@##A@#ub#q@@@@y@s@@@ i  U@@ P @  X@ 8@j@J@|@\@@n@@&@@2@@>@@J@*@V@6@Y@@3''''''''@[@A@ H************************************************************************(A@@(A@L@ H ( BMM( BM@ H OCaml (C(C@ H (D(D3@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt (E44(E4@ H (!F("F@ H Copyright 2001 Institut National de Recherche en Informatique et ('G((G@ H en Automatique. (-H(.Hg@ H (3Ihh(4Ih@ H All rights reserved. This file is distributed under the terms of (9J(:J@ H the GNU Lesser General Public License version 2.1, with the (?K(@KN@ H special exception on linking described in the file LICENSE. (ELOO(FLO@ H (KM(LM@ H************************************************************************(QN(RN5@ (* Research of elements through modules. (W 7* The type for an element of the result of a research. %ʠ ** The type representing a research result.$= * The type of modules which contain the predicates used during the research. Some functions return a couple of booleans ; the first indicates if we must go deeper in the analysed element, the second if the element satisfies the predicate. A J* Search for elements verifying the predicates in the module in parameter.<* search in a section title m4* search in a value ;* search in a record field ` "* search in a variant constructor ̠3* search in a type S %* search in an extension constructor ڠ=* search in a type extension a9* search in an exception 蠠9* search in an attribute o5* search in a method 4* search in a class }9* search in a class type :* search in a module type 5* search in a module >* search in a list of modules  L* A module of predicates to search elements by name (and accepting regexps). '* A module to search elements by name.   <* A function to search all the values in a list of modules.  L* A function to search all the extension constructors in a list of modules.   @* A function to search all the exceptions in a list of modules.  ;* A function to search all the types in a list of modules.  " F* A function to search all the class attributes in a list of modules.  C* A function to search all the class methods in a list of modules. 6 =* A function to search all the classes in a list of modules.  A* A function to search all the class types in a list of modules. J =* A function to search all the modules in a list of modules. Ԡ B* A function to search all the module types in a list of modules. ^ c* Return [true] if a type with the given complete name (regexp) exists in the given module list.堠 d* Return [true] if a value with the given complete name (regexp) exists in the given module list.l e* Return [true] if a module with the given complete name (regexp) exists in the given module list. j* Return [true] if a module type with the given complete name (regexp) exists in the given module list.z d* Return [true] if a class with the given complete name (regexp) exists in the given module list. j* Return [true] if a class type with the given complete name (regexp) exists in the given module list. i* Return [true] if an extension with the given complete name (regexp) exists in the given module list. h* Return [true] if a exception with the given complete name (regexp) exists in the given module list. i* Return [true] if an attribute with the given complete name (regexp) exists in the given module list. e* Return [true] if a method with the given complete name (regexp) exists in the given module list. * Return the [text] of the section with the given complete name (regexp) in the given module list. @raise Not_found if the section was not found."@,./ocamlc.opt)-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"-c) ) S/home/teraram/ci/builds/workspace/parallel-build/flambda/true/label/ocaml-manycores <10/.-,+*)('&%$#"! @@0E|ژ_B`+3)()()()()()()()(@)'@@(Asttypes0>n{T8cئ5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`(Location0a7cK_H%9)Longident0s `7mɕc$Misc0ob]6>Vê>*Odoc_class0_"#C{.Odoc_exception0>@ӽX4Id.Odoc_extension0?*sR(6]!$.&ΐ0z8P*%"e$Path0Y2kf֯J._Ϡ)Primitive0²~$xzT෠%Shape0oNՄBH&Stdlib0Lku]8_٠.Stdlib__Buffer08APF< t..Stdlib__Digest0l!LHgErζ .Stdlib__Domain0:M;׉<O$Ġ.Stdlib__Either0Vy`u~c à.Stdlib__Format0ܚ#G7m|/Stdlib__Hashtbl0ѱN][/!,Stdlib__Lazy0* -S$.)"0D.Stdlib__Lexing0e<.V +Stdlib__Map0L5xE|O0~,J-.Stdlib__Result06 ]/J+Stdlib__Seq0nwzG&amg+Stdlib__Set0\$;7 .Stdlib__String0%m%@4$B$@[P@@~$!!@@ ΐ 8  x@!i!@@(Z'ߓ&@ W @ f@@?EN@(b'I('y@/$#$j@@ w dð(\'>@(~߰fP@*ɐ('@&/&7@'w/9@ !@@$%V@@-  ('@@@@ Ɛ%( )@H"ؐ##%#@@@@f@ ('[@  G$@Ȑ2)(@%~%@<&@m1&&@&(s'G@oa@@@ S @  I!!@@@U°(l'6@c@@P@@