diff --git a/CHANGES.md b/CHANGES.md index df923848a4..98a7e5590e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -13,6 +13,7 @@ Tags: ### Added - Display 'private' keyword for private type extensions (@gpetiot, #1019) +- Fix rendering of polymorphic variants (@wikku, @panglesd, #971) # 2.3.0 diff --git a/doc/driver.mld b/doc/driver.mld index 588e21098e..0d601c8eaa 100644 --- a/doc/driver.mld +++ b/doc/driver.mld @@ -318,7 +318,7 @@ let dep_libraries = let odoc_libraries = [ "odoc_xref_test"; "odoc_xref2"; "odoc_odoc"; "odoc_html_support_files"; "odoc_model_desc"; "odoc_model"; "odoc_manpage"; "odoc_loader"; - "odoc_latex"; "odoc_html"; "odoc_document"; "odoc_examples"; "odoc_parser" ];; + "odoc_latex"; "odoc_html"; "odoc_document"; "odoc_examples"; "odoc_parser"; "ocamlary" ];; let all_libraries = dep_libraries @ odoc_libraries;; diff --git a/doc/library_mlds/dune b/doc/library_mlds/dune index 96a31e81c6..149a6a9307 100644 --- a/doc/library_mlds/dune +++ b/doc/library_mlds/dune @@ -11,4 +11,5 @@ odoc_model_desc odoc_odoc odoc_xref2 - odoc_xref_test)) + odoc_xref_test + ocamlary)) diff --git a/doc/library_mlds/ocamlary.mld b/doc/library_mlds/ocamlary.mld new file mode 100644 index 0000000000..ff79eeb112 --- /dev/null +++ b/doc/library_mlds/ocamlary.mld @@ -0,0 +1,3 @@ +{0 Ocamlary} + +A demonstration of the rendering of most of the OCaml constructs {!module-Ocamlary}. diff --git a/doc/odoc.mld b/doc/odoc.mld index dad35f6b20..8d1d384ce6 100644 --- a/doc/odoc.mld +++ b/doc/odoc.mld @@ -53,4 +53,5 @@ The main other pages of this site: - {!page-dune} Dune - {!page-parent_child_spec} Parent/Child specification - {!page-interface} Interface guarantees +- {!page-ocamlary} A demonstration of the rendering of most of the OCaml constructs diff --git a/src/document/generator.ml b/src/document/generator.ml index fde317badc..5639a3f18c 100644 --- a/src/document/generator.ml +++ b/src/document/generator.ml @@ -633,7 +633,9 @@ module Make (Syntax : SYNTAX) = struct | Error e -> failwith (Url.Error.to_string e) | Ok url -> let anchor = Some url in - let attrs = [ "def"; Url.Anchor.string_of_kind url.kind ] in + let attrs = + [ "def"; "variant"; Url.Anchor.string_of_kind url.kind ] + in let code = O.documentedSrc (O.txt "| ") @ constructor id t.args t.res in @@ -688,12 +690,12 @@ module Make (Syntax : SYNTAX) = struct let kind_approx, cstr, doc = match item with | Odoc_model.Lang.TypeExpr.Polymorphic_variant.Type te -> - ("unknown", O.code (type_expr te), None) + ("unknown", O.documentedSrc (type_expr te), None) | Constructor { constant; name; arguments; doc; _ } -> ( let cstr = "`" ^ name in ( "constructor", (match arguments with - | [] -> O.code (O.txt cstr) + | [] -> O.documentedSrc (O.txt cstr) | _ -> (* Multiple arguments in a polymorphic variant constructor correspond to a conjunction of types, not a product: [`Lbl int&float]. @@ -715,7 +717,7 @@ module Make (Syntax : SYNTAX) = struct let params = if constant then O.txt "& " ++ params else params in - O.code + O.documentedSrc (O.txt cstr ++ if Syntax.Type.Variant.parenthesize_params then params @@ -725,18 +727,20 @@ module Make (Syntax : SYNTAX) = struct let markers = Syntax.Comment.markers in try let url = Url.Anchor.polymorphic_variant ~type_ident item in - let attrs = [ "def"; Url.Anchor.string_of_kind url.kind ] in + let attrs = + [ "def"; "variant"; Url.Anchor.string_of_kind url.kind ] + in let anchor = Some url in - let code = O.code (O.txt "| ") @ cstr in + let code = O.documentedSrc (O.txt "| ") @ cstr in let doc = match doc with None -> [] | Some doc -> doc in - DocumentedSrc.Documented { attrs; anchor; code; doc; markers } + DocumentedSrc.Nested { attrs; anchor; code; doc; markers } with Failure s -> Printf.eprintf "ERROR: %s\n%!" s; - let code = O.code (O.txt "| ") @ cstr in + let code = O.documentedSrc (O.txt "| ") @ cstr in let attrs = [ "def"; kind_approx ] in let doc = [] in let anchor = None in - DocumentedSrc.Documented { attrs; anchor; code; doc; markers } + DocumentedSrc.Nested { attrs; anchor; code; doc; markers } in let variants = List.map row t.elements in let intro, ending = diff --git a/src/html_support_files/odoc.css b/src/html_support_files/odoc.css index 3ff51e0144..64eba0fa11 100644 --- a/src/html_support_files/odoc.css +++ b/src/html_support_files/odoc.css @@ -549,10 +549,10 @@ div.odoc-spec,.odoc-include { .spec.type .variant, .spec.type .record { margin-left: 2ch; +} + +.spec.type li.variant, .spec.type li.record { list-style: none; - display: flex; - flex-wrap: wrap; - row-gap: 4px; } .spec.type .record > code, .spec.type .variant > code { @@ -569,9 +569,8 @@ div.odoc-spec,.odoc-include { padding: 0.25em 0.5em; margin-left: 10%; border-radius: 3px; - flex-grow:1; background: var(--main-background); - box-shadow: 2px 2px 4px lightgrey; + box-shadow: 1px 1px 2px lightgrey; } div.def { diff --git a/src/html_support_files/odoc_html_support_files.ml b/src/html_support_files/odoc_html_support_files.ml index 92114a0d42..d1d0432bc5 100644 --- a/src/html_support_files/odoc_html_support_files.ml +++ b/src/html_support_files/odoc_html_support_files.ml @@ -72,8 +72,6 @@ module Internal = struct let d_27de5df961342e999f89e5b7bba88767 = "\152X\150\b\219\199\208\144\1321\179\2104\164m@\127C\199\204/X~\138\137SR\241*\210\019e;@S\130\017\n\003\"\"\240\183r\197\004\196+\028\192\186\000\128\146.>\250\004\217\197\199\\\017\198E\170\229?\014'\224\186_\004\205\216\206\003\178\182JO\179D\138zX\236\164\t&\187\249\149\197\146\2099\165\197\1322#\195Y\003\145\155\135m\237\131\014\176\145e\158I/\223C\204\149\217>\001L\232\202\186\030\014\178?\022=C\178\213\1894mt\215\204\165\206M\022\237\214*\139\252\031#\200\221\236\001\202\028\152Q\015\142s[\191\169A`\230V3Q\221\227\197]g\165\161\231\217\133\006\194\025c\251\022\230\204\014a\002N\0149h\248\006\162\2376S\169g\210R\"\135\234\222\214\135\211\164\1382I\230\222P4a{\137\231I\235\233\237\244F\007\237O\253\021R\003\133\1605\150\252\028a\149\180b\163\003\159\195\214(\190\031\214\t\007\246\183\188\1755\140\025\221\219\026[U\243=|\198\232T`P\199\224\149\028\135\177\246\245\007)\252\156\202\233\215\145X\216\149\216j\144C8\145`\162\tqv\213\188\209\167\203\143\152)\162\199\166y\165j\222dg\213\175s\250\225q\254\178SS\158V\138\238TL\027\188T}\189\231\206\216\021\161\226\235U\195_\1703o\170\179\192\141\025vr4n\232\214d\000\245k\221\165\145_+\186\019\142Q\214\1537\246,{\nJ\153\209\155\148W\014\154JM2?q\195\187\198T\202\199y\178\164\015'\029\2113E.q\236%z\027r\154\015\021\209\130\238\213\029\196\0243\150\152GU1\134\028\146N/\163D\1495\006s\129=8\015n\014\219zP\186Mn\011\142\182\242,\029\171Hdnd*-\185G\171\142\2158J\224\207R\207\247:aW4\212\145g\201x\153\143b\254k5L3\221\215p\165\238\253&e\247\208\153@n\226\179\227\156w^\017\173\232\148\238\213}\190|\203\198\165g\243\197g\0188\220\201\161\173a\202\228\224\195\169\238\\\128\014\221\220|\203W}\140\243l\233\030\002\007\247\245\221+\183(\171\198S\240\199X\173\130\206/\150[\023\025\141\128\027+\218(\001\029\237\205\131\184C=\229\238/\1590Y\129\203\213$\129\007A\001\004\215\178\240\218`\238*\195\142\b\020\031\1341\229<=\1416\127\173or&s\200$\150k\239M\000\148L\237^\218\200F\030\130k\249F\185\172\202{\150\137\001\156$6\195\197Bw&[\180\165\239\2085\234ue\1454b~\201\015\002?\169+T{\028 Z\002\220\197#\161?f)\127\229\216d\236\028\199\197\234\217\t\198\007\000\231D\149TQ\159Fc\131\011R\130 \186\165\018\159t3\237\238{O}2(QY\175\210,\217\208Zv\235+=Ey\229\190\030\197\221\232\146^]*u\203\157 iO\152\142\166\1471\222\211v\236\177\169\022cr\165s>\006\005\006\131v(\181\128\170.\173\170\170/\201\181\237\006\245\214\177\243\240jp\133[\020\022]\150LP\000\144\127%+<\170\193\196i\238\223\160\195 \246o\215\165\186%.?vPu\005\130\131\211\\\188[\230p\239N\239\218\218$\181\182R\018\199L\177K\137\160\141zQ\128\026\016pz\td\237\222:v\221]d\015t\194\183\144\190\004\2451\177\149f\023\214(\198\192JB\188\142\025\177js\211\236\162\171\022x\238\218\206n\132%\254n}\026\146\157!\245\250\0204\170J\195\233\030\141\186/7\235\157h\171\020\029\131G\219b\t\016~\133\192\254!\029\"#\251\2007\233\127\183J^\171\202C\167\242\181~Je\169\214\174p*\231\014\206\154\0160*H=\235~\173\222\244\157RCa:\2245 N\233\207\019\130\228p\031\223\165\135\223b=\216\188\027}\140`\145\2151\230\\\016\128\007$\b\165gj@|\218\022\167AO\206\199y\b\152\153^\n\238c\128\006\174\178C\001^d\187\156\151\194\230\017\r>\011\167c`\130\027\193\149;v\r\011\019Q-\003\b6\000b\224a\154\249\225{v!\165\251\252\217U\164\248\185\248\203\n:\030\028=\t\026F>\031\232 h\237\229\201\202KQ\007\031\200\020n~\203\006\169\021\012\157\030\255L\244.\024=`C\r\234\143\169;~\204<\0216\225^\238\245=P\027\245\156\213Y\197' \0078\014\152\155WZ\218\196g]\154\n\tf'\135\176\181R\214\169\026\007HJ\001%\208\194\210\026B\006_\225\207\020}\186\186\133\018\004US\028\014\138\139\t\166\197\172M\2491\229rx\031\170\134\027\225\028]\154\136\153x\209\231\220\220L\151\235N\014\159\150wK#W\169\231t\208r\200@[ \024ev\003>\236\206\211*\244pN2K\150t\132\206N\156g\144p8\236\148\016\021]\015[u\025l\200@\196\2339\167\198^\183\023\224W\019\215\196^\018\211\246\152\249\241\018\002\b\254\224\156wv\028l\024g\141&\198\194\128\nz\163\237\007\200H|\139o\231\202\156\b\197\208\203\190:\216\162\b\243#\175x\001\189\1807wipQ\163\191X{?K\230F\127M\229\188[\205\127\163\159W.\138\232\188I\143\171\230M~&\207y\011\t\160\169T5o\170\211\138\140h\243\211>Fe\162\244\143\t\200\146.\242(lC\189?\015TUJo\242T\232\255\240m\022\213\021\014\146\184\177\2249\233\1447G\200)[u\192tL\141\023\024\"o\184\225\173\210\210\181\209C\163\245\130X:6\229\186p\014\011?pv9(\150\234Y%\164\131t\021\001t\2371!*v=&\186\183\241\n\206\1316\188\023L5=1{NAd\202\018\215\199%\149\254{[\007yy\199:\145\246\r%6\006g\218t\188\208\206\152\226\159Q\138@O\146Of0@\210\255\193\215\021\143\131\255_\128r\134\227t>\253\249c\158|\242\019\000e`\193\183S\158\006\171\"\131\0240\163\021\250\179\185}\205\200\206S7\213\192T\132\133,\016\215F\145>_3\209\192u\240%\023K\208\2028OZ\024\248\015\188:\n\003d\161\247$F\228\020\185O\173\2184!\237^)\237P\178\174\138]e\222\184\219\144\220\211\nK\164\163J\127\016\180\015\150\182el]\239\189,\031\222\189i\175\237%8\214\176Z\203\245E\156\175\011\239O]\129\233*v4\r\137\170\249\250\206n\174\001\148\016\028'|o8\245\142b(\249\235w\203j\148\003D\2169\227\190\128\136\252q\251T\229=\140\234\1823\022\001\247\018.\025\025\005\185\244{\1956?\030r\163\003cd\189\151\020#9\246\138\130\217\217\159i\181s\142\nQ\173\192\202/\023\162\207\031\245\016\213\171\207\192\023_>\127\254\249\014^\242\2268M!\248P\004\145\030O\249\252}P\197Z\229T\153\166c\193\180\168\016-\004\134\005?\154t+\205<\196\011\000\197\142N\183\003\240\241\227\2252\156a\195\186C\137\031\219>\167\016\157\245\239\142\017\240\026p\199>\212\239`\250/\135\144\023\128_o3\153\252\152\031\183\170\254|\220}\150\204X\235 l\024 \224\0158\137o\223\158\004\166z8$]H\238W\r\134z\011\014\223\169z\196|^\176\211\230e\149\139o,E\176\1666\247\233B\162\018A<\018y\206\234\241\020m\144\026\016:8W\201\217\157\224t\152\1755x\024AH\140\248\130,`\184\147wQ$f2\180\023\192\218\t8\171m\194-)n\249\b\202E\207\231\2386\024\153<\127*s~\226'\139!\174\154$1=\025\222\1579\0150\024\210^4M,\211\2321O\138\144\210\161+\254\170M\194\000pb~C/\216'\011}\252x\206%$J?\234\245\017\149\189\212\1544\230\198\167\247SdG\220\t\131\192L\005w\000p\022\207\236R+\143\209\149{\159\143\129\203$\138\230G\237\127\212[TA\251\215\162\027\003\175\2459CX=\145\026\136\228\011C\190\2084\133\185\157is\145\176X@\023\167\253\175\n#\173\007a\133\210\230*a%\243\174\145\164F\242\026)j\228R#RF\1585r\171\145\178F\193b\206+\179H\160:\170\166\n\2193\163R\026B\221K\166v+\199\217\176z\247):>\186\"\135p\138\003\157}\224\157l*\214IKz\003B\134\238\006pP\165\031\017a\213nF\239@\r\006\155j\228Tr\188$\225:\149P\229\247\245\204t\165\161d\2265\005-\229Z\206\202,\224\191Fm\212\253\255uS\026:H.\180\b\248\172\163\202[\223Jp\218X\243\172\006\183Nm\187\023ik\197\bu\162b\202%\170a\243\170\"\231g\247\191ff\137\198\r\213\153\177l\026i\nR\tPt`p\204`\234\206\244\153\170\157|\240\167\t2\002\b\170\203\153g\028?T\235\179\226\015c\1270\141\139\248j\133\141\175\196\014\231?Sx\151\011\186\012R\027F\212@<\203:\162\161;\199\128\221\147\193\232\138\253C\162/\164?\166/\161\223\176Ge\253\198h\214\204\159\\1\240'\178X\152\198\211\221\233c\188EZM3\167kTP\1672b%\155\204s\031\129\220/\017\156\245\193\134E\234l*\240\201-7\020\004\028T\130@\139\011\224\211\206\011'!b-\022\182\138\198\147\b\163q'Q\164\202Nb\145H\183h*Bs\"\161\224\181l\185\186\159h\134\161\181\n\213(o-\155\135\002\213ZU\229\217\219W\141R\006\221\164H\149\162\\\141|Y\242Y\213\n\144\160\175*Ez(VS;\190/+F\168\192?\203\213|\017c\168\138\201\211\190'\198Hd\145$AL+\158\0210\182\146\204*\021j\171=D\177\"L:\159M\251u\011\245\213\207`5\180L2\205\173 \181\003\242\161\225\2521,\019Zl\165\221\201!\131\144U64%\211\159\213\216\236U\230\203P[\187X\149b%\212j\023:l\015\020/\014\150~\160\177\011\246Z\159\251\001\133P;\229\132\002[\020\218j\022\r\173\":/\233\021;\233\1803|\248\242\227\239\172s\206\187 @ C0\024\005)\017\236b\b\\R\234\138\217\182\217.\196\219\223\206}\231\226\"D\186\234\1542\215\025\253\244\155\188\214\161\255\022\174T\165\130U\181\229\146[<\208\209+\157\024\252\188}\253_g]t\149\234\006\155\001\006\134\130\254\210\194\130t\221BC\134\255\133\r\131d\026\028\014\0125\204\016+\012\183C\150w,\186\235a\178\158z\025a\148\209F\234-[\031\255xc\175\028\007\029\178\196\210p\193\153\011\031!\228\242#\165\255\151G\004\140\027\157t\180\164\179\181\152[\220\227\017\207H\226\021i\188\153Vmd\162\016\151\024\211Z/-?-\190\248\234\027\161XGL\228\205\193&\148UhN\148Vb\225\145\017\199_\130\\y\204\226\248v-l\196'\176\203N\142\t\226\238\180e\191\003\142IQ\139\028e\228\1490\1426\179\019f\188\168T\157\239U&F\157e\199ZR\196\015\234\031\215f\012\005\185\175>W\208\234$\206\217\138\202\170\234\154\218\186\250\134\198\166f*\174U[\236\176\221N#\252^\136oi]\222\214\222\209\217\181\162\187\167we_\255\192\224\208\240\200\170\213k\214\154\158\159\245\0276n\218\188e\171\251n\154A6:\230\182{n%\241\006\238\150\224h\001tF\1968\142O\144\191\203\170)Mm\172o\000\143\132e\185\144Wb\170oPQ,+\244\000}\135\253\225\192\157\026\139\016M'\214\253\168*\004\024\186\028M*\134A\128\136\016g\173aL\251\026\218\220\017\182\129byf\195B\1335\248\023\1876\220\244\153\026&i\248\243\209\133Z1\224\011\194\213/\201\138\024\027&\000\243\161d\243\184\130X\189" - let d_2a2424c3bea143cbb2f9c9a24d822c4e = "-target-background) !important;\n box-shadow: 0 0px 0 1px var(--target-shadow) !important;\n border-radius: 1px;\n}\n\n*:hover > a.anchor {\n visibility: visible;\n}\n\na.anchor:before {\n content: \"#\";\n}\n\na.anchor:hover {\n box-shadow: none;\n text-decoration: none;\n color: var(--anchor-hover);\n}\n\na.anchor {\n visibility: hidden;\n position: absolute;\n /* top: 0px; */\n /* margin-left: -3ex; */\n margin-left: -1.3em;\n font-weight: normal;\n font-style: normal;\n padding-right: 0.4em;\n padding-left: 0.4em;\n /* To remain selectable */\n color: var(--anchor-color);\n}\n\n.spec > a.anchor {\n margin-left: -2.3em;\n padding-right: 0.9em;\n}\n\n.xref-unresolved {\n color: #2C94BD;\n}\n.xref-unresolved:hover {\n box-shadow: 0 1px 0 0 var(--xref-shadow);\n}\n\n/* Source links float inside preformated text or headings. */\na.source_link {\n float: right;\n color: var(--source-color);\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n font-size: initial;\n}\n\n/* Section and document divisions.\n Until at least 4.03 many of the modules of the stdlib start at .h7,\n we restart the sequence there like h2 */\n\nh1, h2, h3, h4, h5, h6, .h7, .h8, .h9, .h10 {\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n font-weight: 400;\n padding-top: 0.1em;\n line-height: 1.2;\n overflow-wrap: break-word;\n}\n\nh1 {\n font-weight: 500;\n font-size: 2.441em;\n}\n\nh1 {\n font-weight: 500;\n font-size: 1.953em;\n box-shadow: 0 1px 0 0 var(--header-shadow);\n}\n\nh2 {\n font-size: 1.563em;\n}\n\nh3 {\n font-size: 1.25em;\n}\n\nsmall, .font_small {\n font-size: 0.8em;\n}\n\nh1 code, h1 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh2 code, h2 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh3 code, h3 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh3 code, h3 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh4 {\n font-size: 1.12em;\n}\n\n/* Comment delimiters, hidden but accessible to screen readers and \n selected for copy/pasting */\n\n/* Taken from bootstrap */\n/* See also https://stackoverflow.com/a/27769435/4220738 */\n.comment-delim {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Preformatted and code */\n\ntt, code, pre {\n font-family: \"Fira Mono\", courier;\n font-weight: 400;\n}\n\n.odoc pre {\n padding: 0.1em;\n border: 1px solid var(--pre-border-color);\n border-radius: 5px;\n overflow-x: auto;\n}\n\n.odoc p code,\n.odoc li code {\n background-color: var(--li-code-background);\n color: var(--li-code-color);\n border-radius: 3px;\n padding: 0 0.3ex;\n}\n\np a > code, li a > code {\n color: var(--link-color);\n}\n\n.odoc code {\n white-space: pre-wrap;\n}\n\n/* Code blocks (e.g. Examples) */\n\n.odoc pre code {\n font-size: 0.893rem;\n}\n\n/* Code lexemes */\n\n.keyword {\n font-weight: 500;\n}\n\n.arrow { white-space: nowrap }\n\n/* Module member specification */\n\n.spec {\n background-color: var(--spec-summary-background);\n border-radius: 3px;\n border-left: 4px solid var(--spec-summary-border-color);\n border-right: 5px solid transparent;\n padding: 0.35em 0.5em;\n}\n\n.spec .label, .spec .optlabel {\n color: var(--spec-label-color);\n}\n\nli:not(:last-child) > .def-doc {\n margin-bottom: 15px;\n}\n\n/* Spacing between items */\ndiv.odoc-spec,.odoc-include {\n margin-bottom: 2em;\n}\n\n.spec.type .variant p, .spec.type .record p {\n margin: 5px;\n}\n\n.spec.type .variant, .spec.type .record {\n margin-left: 2ch;\n list-style: none;\n display: flex;\n flex-wrap: wrap;\n row-gap: 4px;\n}\n\n.spec.type .record > code, .spec.type .variant > code {\n min-width: 40%;\n}\n\n.spec.type > ol {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.spec.type .record > .def-doc, .spec.type .variant > .def-doc {\n min-width:50%;\n padding: 0.25em 0.5em;\n margin-left: 10%;\n border-radius: 3px;\n flex-grow:1;\n background: var(--main-background);\n box-shadow: 2px 2px 4px lightgrey;\n}\n\ndiv.def {\n margin-top: 0;\n text-indent: -2ex;\n padding-left: 2ex;\n}\n\ndiv.def-doc>*:first-child {\n margin-top: 0;\n}\n\n/* Collapsible inlined include and module */\n\n.odoc-include details {\n position: r" - let d_2a97d5e4df362b2779e0824fb8c2c024 = "c\130\143~[\007;\175\012Z\218\175=\t\023\248\182\251wT8}\177\229\219\2314\245\157\188\017n n\191\140\170\171FVH\150r\224\231\152jC\137\012\246\238\234\227\231\173\149\172g[\017\200[\159\183\174\227y\194U\242\177\t\141\230R\210\160\232\002Z\221\243\243\207\b\243\250\127\202\2491\251f\015h\204b\187\209\159\232\018\177\243\239\129\031\147\201\180s\247\218\166M\029M\029\"!\173\022\253OK&\017Ft~\131z\222\024\2529x\134\246?j\146l\158\180I6i\015\228\029\212%\147\132m\165\029\019\152w.\192\017\015\239O*s\223\028%\205&(\019]/\163\241\021L\015\211\171\213&\172+\150\196\218\206\195w\159\217>>\148\182;@Wc\166\241>E\168v\r v\182\005S\214V\138\139\219}!\016\001\b:\238Cz\2210\150C\" TX\214De\234\242\145\023\151A\132\000l|g\203\r\153\n\2334\181k\255\130\rQ\015\2223\170\158\181\145:Y\191%\252F\139v\247\212\2150\229\174\201\148\147\204\161\176\198\191\rt\214\141\156:]/7\151\025\243\214\199\243E\153\237rk\1711`t\024\028\020t\207\\hv%\138\219\024\219\253\186XuZ\2293t\212\171\229\2340\007\003\198\143\144\209\128\029<\232o.\186\031\182\142\248^\230\024\219\248C\162\001u\212\230\026\156\023\213\166)9O\b\214N!\131\017\026nech\226\145\230\156\002:\247\t\137&^V\175\012-\175\011\029\248\147\175;}+\175\182M\190\135\022\1691\\\136\215t\149\212\235\236\211\2472\221\148\239\231O7k\015\163\003\136\162G\163i\2201T/R\139\198\133#\028T\\\140\212\127\236\233\180\227\184\158\200FD\127h\186\215\029\173R\158\134\146\b\132.W\212\171\248\157\163\224\235\175\029\2074>\194N\191\169q(<\029\154F\193\216\184 /\128\173\185+R\027je\230\220\191jm\179SQxT@'~q\235\159\183\186\240\215\230\241,\130\202\164(\156c\252\004\161\194\0024\145)\026\029\029\011\183k\181\232\133i\183;<\208\187 \020\208\188jdZ\136\163T\141\172\136I\018\171/)\143\195r\253\1294\133}\143\210\228+\222\142\213j\0164\026<\238_\024\227\208\140\207\204!.\144<\151Q;\138\023\252\229\206\017\021\030\228{\139\139!Xvk\234]\147\141\216\137#\245\025\012kC\156\028\214\249\132\172\022Q`\206\n\235\200t\237\018n\019Y\240M}\190\018\003\130s\218\246c\190M\173v\189\030Z\186k\230\143\221\146YI\163\164%5\228*-\025\006\196\014\211\236\166\131m\029\196\135?\255Q\221m\b\192^]H\031\226\204\015\134\186\215\193\151\159C\027\223WZ\217\134dq3\132\205\011|\241\230\238\233\233\127\215\205\029#\134o\"\163\017\199\173\217\242\195D\179\128#\175F\021C\202\128&\158X\255@+\180\193K\206\129?Lt\001\151\244S,\006\169\017h2\255-g\015\238\178D\201\130a\225P\241\187\196\212\029\221\151/C\228\245\213\214.\005\203\016\211\141\163{\239E-\246\161\153\175\191>\t&\161\140\168\248+\127}\024\127\212\029\177L\02938/\173\254rwA\001\002\024\\\177\247\236\185l\138\201{\253/\226#?\191\029u\161}\251 \234z\004\131\220\020@]\b\234\0039{\128\1532\155\169\222%\151N\166j\197\142\199\187\242\132\159d\255\141/\150\182\230J\2058\007-T\203)\157\015\194\215o>j\139\135\185oN>n\136\018\199o\198\250!\137G\239\t\239\215\139\230\239\253\004\2309\176\141+/R\231\172\217\154\131\166\190\181\249\245\197\152\023\141\178\011\028\230\184)A\220,\002\019\243\224\213+\208l[}\025\\-[\216\168\203\147\238K\198\019\145\240\244\143\196\183'\022\183\235\227\2188\007\022\020\232}\197~\162\247\239\154\250x\rSF\011\227\244\242#_\b\011\253\021\171\n\235\240\127\127\246\186\137\151\156\007\183'\167\003B|\160\232\001\171h1\228+\"\207,\n\025\012pb\186$\017\014\160W\234\223\166R\146\016n=\205F{~\017\030sw\223\005\150\205\224\160\001\130\157\252\166c\232\204e4o.\248\161F\133\tg\154\030\174\127D\167\127\212\023PP\150\t\022l=\176\160]\219\166\138.]V'sKj\213\177\181\220\202\249\255\197\202\255\204\237\\\185\175E\023Uo^)\215\169\196\014A\227\233\223B\195\203\202\242\026\155\203JKZ\195\133\003{\025}\156\156m\199n\237\191r\025zCO\015`Z\158j\228\180\170\031\199\194\167\016\180\151b.\206M\2061\242\130|\1372\135\128\213o\214,.\157\179\149\182\255\002q\174\005r\026\161T\138\192\134\005\210\220\188\163#\240>\152\205\244c\240\190\181\165\128\029G8\206\018\188\164(6W\230+\225\250\245\000\249h?3\179\232Y\136\237\161\024\237%\002\203Z1\129\223iqX\007\bG\159\253\238\127}\223\254\194FF\234l`y7\250\191\016\022\019\216x\231\237G\192}M\027\1556A\018n\203\158g1Cs\201\188\239\136\175\1809T\201#\226\220V\135D\181\242\152\245G\245\021\128\006\208\185P\015\179Y\214p\228\r\014Y\240\196\181G\2197\167wv;+\023\159\147w\170\210\140\155\254\162\202\128\175T\160'.\012\186\143\180\003d6#t\232\016\014\157S&\031C\235,k\200n\250\178\181\215%;\227\163\225\b\030\222a6CL\208\141\177Q\012\005\233}\241w\028b\245\131\226\240\2389\025V\222\022\184\205\207\234j\161\185p\142\242\250\146\177f*T\028\148\031\152^b\251>\023\201\028\208\227\001\139\132\230N>\173\001\002~/\004\206\206=\146\203\218c\147b\201\215\202\177\0234\200f\203\156\178\169Xaf\168`8$\149\153M@4&\217X\242O\006\131\236p\209C\166\207!\177\251\140s\140\211\198k+\\\162\254\245\241\171\2296\196\n@\226PG\245{\242m\225\176\219\215\195\234\228@~/@]\196\029?\186;B\001\193\021gVOBs\195l\205\029\206\238\175`\230\165\208?\136\147\128\2418\192 \"\161\160\164Q\228\157X\144\191\244\185S+h\163\188\142\149q\161g\163\180)2\250\136\197\169\127\231y|\138E\142\209\227\144U'D\255\160\149\005eW\184\220@\138\168\224>\224\225\1456\191\252\140\222R\168\216\236\151\133\247Q!)\149\179\239NsCNga\233\007\237\247~\192\">O\238\158u\190\251\227a8\221\004\031\196w\r,\217_\229\177\200\016YtW\139\021\002\154\219\1713]A-s\1895\213PW\206\199 \187\131\158N\248+\rj\169 \011\146\012\163\244\166\027<\1330tY@\131Dd@\145\135\137* \230f\137TL$A\133\140M@h\185Z$\225@D\0228\162\134\197\213,Bo\137\152\131q\tj{W\024\169\192\201\130\t\215\157e\022-\031`\185W\137\134\002&o\001\019\184x\216A\233\173/\0183{;\203\249\148^b\017\006\172\215\189\165Er\030]\191\162\132\162\157\005\012\168\020\226\218\005\\\148r\218p\168\002d4go\"|Zd\144J\232\184%\206DR\186Z&\208\208\165\198\150\175k\020l\tQ\134D\006&K\024\005\232\200\017\179q\153?\145\1505\180w\014\014P\210\172WZ92\186\161@\192\207u\216d\151b9\179\183V\205\1618-<\235\245\161L\186\177\134oW\228\210\012.\131\134\147{\011\025dX\202\0041F\224\14426\022\202\199\142-(\"\018{g%\006f\242I\208\144(\161\138T \242\144\168\195\029\028\135XdBN\160\166\183\144IA\186\128Cp\138$\144N\000v\155U\178\128S\221\190L\132\002 4\221\203\229\021(\225\210M1\022\1330\172x_\143f7\169\179\169\192\137\129*\2155R>\147\138a\018b\030\147+\152\241h\245a\167]F\018\195\234\169\133\\<\030G\204BL\000\243\2322Q\022:]\012\000\001X\189P?~\024\127u\006\171\234W\n\011\251\002\000\000\022\171\247>\228\174\243\255\1339\129\219\208\247\000\000\n@\000x\"\025\169\197\1605\228r\001\015\158\168\185d.\002\127\001K\232\132\017\240WVX\011F\224/`5\230\004\205\020\150e?\138~\003~(\004\015\192\213`\000\019\164G\246`40\172\145\2188\177R\210\154\t\145\253-\171\208\002\203\2525C\176\003n\165\145\016\251a\142\000FK\177o\129\179h7\152_@\030\210GB\203\192b\244\202X\168\t$Q9HF\150\160\199@2\147\230\136f@\215<\177R\208\140\r\129tA\146\246\001\152\023u\187pM6=\176\163\147\224(\186\000V\254\162\248 \150\224A\194\196c\222\129\186A)\148\003M\220\255\031\246\011x@c\182\015A5\"\129:x\031\168\2030\168\251\161E7\165\015\219\130\239A\bf\253\127@|\t\194Ca,\023\004\233\200\007\189D\145\181\000Lzc\151\001%\028\004\0259\177\021>\015\134\209i0L\025\\\213.\131\188\024{\0183*U?F\000r\224} #\225\214D\222\206\224\030'\180\131\207l\192[P\b^F\031\193\021\028.\204^\183\159\234\004Z\140\006&Q76\170E\228J\164T#g)\\\012OS\189\1970\246\005\176\236?\188\026\253\005r\193\234\227`\200b0\023\144FE\000\128l\176y\246\019\202\006\029,%R\205\129\129\011U\234v\b\024\006I\029\026\134\208=4\012\019\246\2200\156\190\236a$\174<\233\196\2440\1984\210\154K\202d\155\127\193f\027\181\192\028\131\250\r\152 S\164\155\134j\022&\164\151+n\137\025\226e\189\202\228J\196`\150L\214\006\204\164d\190\236\198\2455\169\161\217o\181\t\251\135\200\025\153\172\166\002\162\007}\210\160>]&a\015c%\243\200\204\030\178\189;\178LT\198\172\134\237Q|\020\2344\141\2163\199\153H\131\000\251\200\228\001\231\2002\162g\127\210^>\1438\153\219Y\0153\147)d\189,ZP\152\234\245F}j\bd\134\153\160\190\030G\135lPX\183|D&c^\"\131:\"\176\011OUC\1962\194\186S|\b\021\189\002m\127! \163\133\024\145>\174\027\005\146\201D!\134\1329\189\208\207\254F\245|\194\190\n\178\180\163\255\175d1e\241\207\159\188\127\129\250\206\133\130\138&\011\029\003\019\011\027\007\023\015\159\128\144H\182\028\185\196\242HH\201((\169\168\021(TDCKG\175\152\129\145\137\0183\011+\155\018v\165\202\148\171P\169J\181\026\014\016\130\017\020\195\t\146\162\025\150\227\005Q\146\021U\211\r\211\178\029\127\200kVz\207\155a\138>\012omSr\203\180\183\189\031\185\163\179\171\187\167\183\209\215\031\225\146\203\174\185\238\138\171\005\147\231\142\012\154LN\147\219\213b-m\231.\223\218\025\239\"\2493\179fe\006\155\179\150\219H\141\003\189\019\025\"\172e\239\234\201\160\150A\020\027$5\012\246\027\155k\026\029\031\028\158=\130\197\006\0061\226\220\027\174\211Y\014\234n\128\167\018-\023!\220\146\186\000\191d\182\027\189\b\200.\204\179\"\154 ;\176\244\1338_K\203b\222G\157\237Ld\163\206\238\200\148&\146T\002\144\213\0078\198\028k\188\001\024\209bQ\137\135\189S:\030Zr\016\011E\193k\n\165x\166\161\166\020\230K\220R\238\t\166\253\187t\031\206\192K\249/$\249\198\148\172\218k8_]\250\245]\234\2143R\222m^\000\231b]\194\000\224\007>\006\128m\241\208\000\021\024|\014\193\157y\021\240\253X\190\249g\199Dn\131\029\192\139\156\215 d?\163\174\190\243\215<\176\243\006\001\000\250\1713\000 a\138\027!I\023\005z=\018\245GU\022\146\246\166R6\143z\205\150Xa\218\253f\2049\023\170\210\011\248B=W\239\212\251m_\142\178\203\179y>/\2294\247UJ*H\205\255\204\233\179\011\207\211(\224\243\231\127\171\222k{O\153\228\158J\2008R\253o\186\255?\190}\235\163\015\223\187xpW\127\207\240\255\154^\191{\234-J\158\251\238\186\227\150\155n\244\217\160\r\1701\220\169qU\\\237\017\176$\227f\255\213\171\014\014Ht\001\150\1640C\186\204\255\185m\248\\\226\181\188\211\255\230\250\254\011\163d\201\006\130J[;`\249\002\240\163\203\196\238~Y\186\015\153\240\226\167\136\149\207\132=\\\226\130\131\246N\014\148\214\004\181\004~\169\006\000\001\1917\025!\144\172\211\1400D\139\206\136\000\2531\178ukdJJ\b\239M\130\183J\147L\217O\152;G \215\b\179\012=\209\235\163\001\238:zC\221\226\129\174\137\031\248\219c\223\003\156qb\006I\146\164\011\tA\196\030\186A\150\224\193\016\026\135\004\tZ\164\237H&4\174\174B\015^\221 Z~\r\t\137\199\186\171\137\245V\019q\183\245\219V\198\171X\163\140\\\251\146wf\204x\159\146\241\226\144\138H\232\153\000\1947Z\"\014\217A\132\174\198`\138\184%\156\136-\249@&\235e\246;ICi\154w\159b\138\176\147\203\142\160\220\018\020u\148\180+* \241\137\241g\225B(]k\248\130!m\1731}p\132\130\005\233\145[D\202(\198ed\0005\136z\232A&3\249\2004C\220\140\210\186>Z3b\166\166\136\194J\204\185\1931\168\170*\209\225\185!\225Zwd\2044\172>\017\201\255\153q$\199\208D\180lZ\191\161\194\150\179\226\180\003\189w\022ee\019A\140\20622A\022'\003\128\199\024\225\177,3\002\130\229T\129\240|J\232\155\214h\179L1@\210x>\187\011T\218\242\158\213\240VW\004}u\220\019\027\003kS\252\181y\173A\1318\169 R\185\012\170\160\144TWD\221\163\142\134\134\222\208\012\168Fc:\201Cz\141\021\"\226E\181\234\127nx\180:\141\0150\200X\">(\019s\204[\023$\152\233]+\209\238\181\206(@\130\187\158\029-\145\140B\140\t\000\005\\\162\246\236\150\025G\2257\\\174\b]\133D\244\224\012\210+.Pi\143\134F\017=b\1392\205\"\233U\140\229\029\155\208\159\202=%o!G\001\146\140\219\180\203\219\231\186\210\163C2\184\020\t\136\203]Ql\027\017j\134\162p\234X\176\155$\184\192\194z\132v\004D|\145\147\2334\162\190\017\183`\200\136p\166\165\199\251\169\1706\004{\012w\021\235(`K\161\240$\210\140T6\227\215o\002\224\134T\132H\144;@)]n1\002\163\004\014\238X\138\205\160&\223\012yF\184\026\248\243\184\1891\016\141n\140\1401\218#\233\"\019jI\186l\229\214\201\225\019\151Q\134\004\136IF9\019\b\197\017\024)\b\130\148\004E*\194@j\130!\ra\162x\130#-a\141\177BloK\172.\239XAN\232#R\232\144kk(\1459\127\207\154\\bv\254=c$F\028\r\029\199\017j\167\231P\164\232\134u\152\196z\172\216\128\021\027\177b\019Vl\198\138-Xq\002V\156\136\021'a\141\218\129\002\172(%\2223\174\162\148\187R\142'eF\187\191\214s\128)\193\148\153\174\160\000\180\153\029iJ\152\145\164\158}\171\1724GN\254\204L\252Q\239m\133H\205\018#m\215\246\173\211Pu\153&\251\246\168\027\248$\245\232T\140\138\014z~\006\161\144#s\157\td'\224\174Q\245Mf\146;\017z>#i@\129V\246\016\129\159>A\025\211\145\223)2ft\139\016bW[?\019\t\022\2173\228\218 0D\138\237b\220\210Z+\001\246@!\238b\152\0252\018\180}\243u\198,\016\200(\031t\212\127\\\151\222\019W|\228pr\024\237\006\0201\227u\014\217A\228\167\211@\204\012\161\001\182\224I}\239\141=F\245:\169\172U\174+\157A\217j6\017\r\196!i<\205\145\161*{\164\227g\164<(}/d0\244\019\189\233A\161\236Q.-yU\0164\218\021i\194\140\018\178\217\204VA69\220\160G)K!IR\242\028!\195\131I\219\193 Z\004 .!V@\209$>\162\219\0029v\144\144\024\198(EH\138\153x\137'Hv\155\216\b\024\016\028\024\200\173\231\020\225\173L\131ST\216\028\133h\229;\151!\147\031m\2121w\218-\174[\248\017\204\232\233\130\163d\131{ \239\022,\239\189\146\253\226&\173\186\222\241\181\188\016\228\022\164\166w9\237\134\218r\022\133\203\147#I'\133\179\211Cn\169\141\142}\187eM\252\136\253`V\012\022\027\000\179#\1463\248\215\141\140\025\221\226\1361\167\163\025\005\131@\230\155j\177z(\144;\241j\195uMA\129\\fX'\134\144\216\0037\221g7\156\127\022\173\007\131>\128a\015,dFi_\025\166\157\140(\127\012\200\154XD\n;t\030\166\165\0184\241\169\143\011T\"\228\217\000\162[\188\145r\167\205\206Ka\195\"$\000Io0\253\138\020\131\153\127\168$\012d\181\192\017h\162\215R\172\020`\214I_r\198\185f\144\144\198\030\t\242\203\016\014\br\216\142\243I\004\005\138\203\016N\b\241\1699\022\224W8s\004\229\229\b\023\014\228\146\132@\164\"!5\tiH\228\150\031\014\146\014\142Q_\134\240@\144\199v\028&\019\020h.Cx!(\171L8\224\216\224\018\237\229\b\031\014\148\179\128\002_\142\160[9\194w\007\211\031&iw\244\148\2317\157\214\224|a[~\027\156;\194\142\248\137\250iG_\023\142\159\011\244\031\1618\030\134x\194\233\193\147N\143\186\248\003\251\208\018?\212\136\150\186 \180\204\005\161\229#@.+\188\194\153\139W:s\241*g.^-\020h\141\011Bk]\144\180N\148\228\225\245\206<\188\193\153\1357:\243\240&\161@\155]\016\218\226\130\162[m\1679\171\218\152\025L\245\132\194\199\130k\012:\149\174\182\214g\157\193;g\016\227\201\228Dm\147\012 P\255?\129\187\178\165\220\191\233\228\017\128x\002@1\014\238\206 \004\144m0\005\174\174<\130\001\001\229\194\175\024\190-\002.T\164.S\225\1301\148U\155\240,0\240\157f\187S\199\160\214'\155 \141\0119Gdwu\232\249b\169B\209\195\201\23128b\169\136\159/\230)\212\234\018\131B,\146*\213\198\236,\138\153i\145\216\180B\177]\194\023\241\021<\190E\234\144\154\246\131\186\004)\004?7\217\153\"\209g\168\131n\169<\142oL\160\184\193d\171\177(\228J\141\215(\196\148@\205K1\b\244\236\204\028\142\216\169\146H\141\025\146p*W\170\227Y\248\166\204LWr\014\157j1\200d\018\142T*1+H\145Z%\225\024\164R\173\158\135\139\228\201\218\184x]&\157\205gG\203\197\002\185B.W(8\012\014Z\197A\172\003\254\199F\254 t6\157\183\172[ (\230\0158#\147\018\147\018QT\211\171i\233\189\160\\\156\153Y\026\233M;+4\161e\017\134?\007\020\134\205?Cu\236_Oi\220\001U\005j\236\015\219U\217\252T\138\207\175\162T\142\169\015\232\200\019\129\226\031Z%\017\151\031\173\249:\019\222\181#b\201\029m\145\164 \020\218Kq\179\217*\002\132\149\195\214.K1\199\004\145\254\226D\170\242\251\165\n\031\143a^k\222\014h\216\152\003\029@*\026\027\b\253\165\194/\\kA\168\152I^s\012\203\149@(z\160\2090\181\031A\152\208V\132\b\134\nL\218S\027\250\152\212\001\132\152%\236]\015U\024\218)\253=\130\232qB\255!t\162\018\245\172\198\248\028\180D\209\131\132\157\179\233\242\b\148\204d\170\028B\146\162y\139w\234\135S\147\143M\174\148\230\174\190\253pc\247\229\164*\207\180fS\1590Md\233e\197YB\171pC\145i\012F\197\b+y\"\023\n*,\016B\195\014\158\005#\r\012ub\248\016a\183e\219\138\025=\176K\026\166\185Uwu\245\169\018~X\184\139]u\229\216\229\001\"\211\243\208\029\211a/+\185\179\144\170\206t0\006\243\213@.+\007M\1861B\028N0\029\131\164\243\b\0053_\225\238\133gT/\249\172@}0\152\240\250\003\001\245\179b%\169\144\2010I#\205\006\bS\159+\220LopZi\233Jg\243g\162@\031\140\217\158y\151\223\002\132\238q\132\209;\250\140\025\159\135\180)\141\tGD\226S\012\130kwW\149\134\235\169\209\203\n\180\006\132\158\246\170\023\152&\031\243A\249t\195Q\175\195\018\138e\015T,pW\r\017*g\029?\221\141\160\202\208\012U3/\"E\217\r\023\240\141\2108+\1786\213K\031\131\153\192\000\157,\011-\141<\212x\012bo\r\185`\237\015\018\208\031C\177\188\030\236b*c\156\160=uP\026\031\167\224\018\231\199&\183#~\135\169}\001\184w\202\004;\196*\235\173\195!\166\225Cs_Z\156$\140\029\014*g\017\214\021\176\\5\160\176\236\1893\150\212\021\004kqc\167\022~\216\000\193y\222\028'`\149\174)+\128\234\173\253\170\162h\212\228\214\196}\191\031a@\2219\127\229\220\205\166E\132b\160T\251\232\235\180(\211\186\\e\179\132yK,\149\149f\216\150\132\251y\198@\132\167\151\t\003\156L\128\194\216V\179\016\187`\030y\166\217Xe\128J\161\136\242/\182\176:\018\243n\232U\235\148\204\199\027~\236\n\194\002\155dy\228\207\128\187\178*\031\028Q\222\016B\180\139\191\174K\208^\184\022\195`ZGz\003\147IKW;J\201\001\205\188Y\174\209&\157$\na\235\250@\197\237\003\223\"\220n\147\153#W\006\246\148\193\2539\127\249?\149\175\153??\145\170\250\254\000\129\205\148\208\147\139\133S\211XgU\206I\227\195\019\189\232\1777$\245xl\168\254\207\200;\1685\235\216\136,\237\210\204)\022$B\232\182\185\012\159\182_\rd\017E\"\225\229 M\143\202\148\234\223\215\223v\127\242\175\029\141\247\208e\248^\200\228\024\169\178\235\139\197\246\007\165\173M(\252W\195{Aq\207\184\139+4\152^\137C\153;S\146\214T\219\198\242\251\236\133\224\204\025\225\150\2125\240\254O\127\251\196\140l\022Y\228#\171\213-\169^Jv1\157(\227A\147\202=\163\162)dM\255)=\233m\015\020\254\213\2534\151\006\1389\017\158Q~\t)\239\131\222\245\188\134\199\1914\t\202Iky\185\220j\197c\165\0166\2379\200 \152\178\138:\157\224M\007\173\012\178\182Lh\241\181E\236\022\181!B\031>Y\019\243{\185\145\196L\209\\\166\200\161T'\b\172M\024!\143iM&\168\135\201\222w:\160<\027\140\129\187\1520\240\178TO\131\154|\252!\166\176\249\140\129M\bq\224q\136\144\171\199l\\;%\223\247\208\001uwo]LE\148\2385\004u\003\134j\r\249\181\214\179\001\030\164\222\139\232\157\160\"\247g\027\150\005\218\181H\1362\172Y&wg\201'\204\240=\220|04rg\134\167\022\r\234G\238\234\147&5\182\211\248b)\183!F\244\255\174\211\177@(V\170\003\tB\176f'\2169\231\0157\197\208HXy'\004|\158\228\240g\006\243\141/s\156g\177\2264\\\216T\246\208H\177\206-g_\156\139\188\177&\225a\194!\190\221\208\184\254\254\202\255!P\007lz/\188\203\197\199\191\224\146\011\183\152\1403\160\248\015l\204\t\241\000:\222\141\241\227\170\133\147WT\\g\169v\170\002?\189%_\219\252\130\240F" @@ -90,6 +88,8 @@ module Internal = struct let d_30baf6fb746860926fdd280eefc46735 = "\"to\",\"at\",\"if\",\"in\",\"it\",\"on\",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/)\n;return i.contains.push({begin:p(/[ ]+/,\"(\",s,/[.]?[:]?([.][ ]|[ ])/,\"){3}\")}),i\n},S=M(\"//\",\"$\"),R=M(\"/\\\\*\",\"\\\\*/\"),j=M(\"#\",\"$\");var A=Object.freeze({\n__proto__:null,MATCH_NOTHING_RE:/\\b\\B/,IDENT_RE:x,UNDERSCORE_IDENT_RE:w,\nNUMBER_RE:y,C_NUMBER_RE:_,BINARY_NUMBER_RE:O,\nRE_STARTERS_RE:\"!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~\",\nSHEBANG:(e={})=>{const t=/^#![ ]*\\//\n;return e.binary&&(e.begin=p(t,/.*\\b/,e.binary,/\\b.*/)),r({scope:\"meta\",begin:t,\nend:/$/,relevance:0,\"on:begin\":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},\nBACKSLASH_ESCAPE:v,APOS_STRING_MODE:N,QUOTE_STRING_MODE:k,PHRASAL_WORDS_MODE:{\nbegin:/\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/\n},COMMENT:M,C_LINE_COMMENT_MODE:S,C_BLOCK_COMMENT_MODE:R,HASH_COMMENT_MODE:j,\nNUMBER_MODE:{scope:\"number\",begin:y,relevance:0},C_NUMBER_MODE:{scope:\"number\",\nbegin:_,relevance:0},BINARY_NUMBER_MODE:{scope:\"number\",begin:O,relevance:0},\nREGEXP_MODE:{begin:/(?=\\/[^/\\n]*\\/)/,contains:[{scope:\"regexp\",begin:/\\//,\nend:/\\/[gimuy]*/,illegal:/\\n/,contains:[v,{begin:/\\[/,end:/\\]/,relevance:0,\ncontains:[v]}]}]},TITLE_MODE:{scope:\"title\",begin:x,relevance:0},\nUNDERSCORE_TITLE_MODE:{scope:\"title\",begin:w,relevance:0},METHOD_GUARD:{\nbegin:\"\\\\.\\\\s*[a-zA-Z_]\\\\w*\",relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{\n\"on:begin\":(e,t)=>{t.data._beginMatch=e[1]},\"on:end\":(e,t)=>{\nt.data._beginMatch!==e[1]&&t.ignoreMatch()}})});function I(e,t){\n\".\"===e.input[e.index-1]&&t.ignoreMatch()}function T(e,t){\nvoid 0!==e.className&&(e.scope=e.className,delete e.className)}function L(e,t){\nt&&e.beginKeywords&&(e.begin=\"\\\\b(\"+e.beginKeywords.split(\" \").join(\"|\")+\")(?!\\\\.)(?=\\\\b|\\\\s)\",\ne.__beforeBegin=I,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,\nvoid 0===e.relevance&&(e.relevance=0))}function B(e,t){\nArray.isArray(e.illegal)&&(e.illegal=f(...e.illegal))}function D(e,t){\nif(e.match){\nif(e.begin||e.end)throw Error(\"begin & end are not supported with match\")\n;e.begin=e.match,delete e.match}}function H(e,t){\nvoid 0===e.relevance&&(e.relevance=1)}const P=(e,t)=>{if(!e.beforeMatch)return\n;if(e.starts)throw Error(\"beforeMatch cannot be used with starts\")\n;const n=Object.assign({},e);Object.keys(e).forEach((t=>{delete e[t]\n})),e.keywords=n.keywords,e.begin=p(n.beforeMatch,d(n.begin)),e.starts={\nrelevance:0,contains:[Object.assign(n,{endsParent:!0})]\n},e.relevance=0,delete n.beforeMatch\n},C=[\"of\",\"and\",\"for\",\"in\",\"not\",\"or\",\"if\",\"then\",\"parent\",\"list\",\"value\"]\n;function $(e,t,n=\"keyword\"){const i=Object.create(null)\n;return\"string\"==typeof e?r(n,e.split(\" \")):Array.isArray(e)?r(n,e):Object.keys(e).forEach((n=>{\nObject.assign(i,$(e[n],t,n))})),i;function r(e,n){\nt&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split(\"|\")\n;i[n[0]]=[e,U(n[0],n[1])]}))}}function U(e,t){\nreturn t?Number(t):(e=>C.includes(e.toLowerCase()))(e)?0:1}const z={},K=e=>{\nconsole.error(e)},W=(e,...t)=>{console.log(\"WARN: \"+e,...t)},X=(e,t)=>{\nz[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),z[`${e}/${t}`]=!0)\n},G=Error();function Z(e,t,{key:n}){let i=0;const r=e[n],s={},o={}\n;for(let e=1;e<=t.length;e++)o[e+i]=r[e],s[e+i]=!0,i+=b(t[e-1])\n;e[n]=o,e[n]._emit=s,e[n]._multi=!0}function F(e){(e=>{\ne.scope&&\"object\"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,\ndelete e.scope)})(e),\"string\"==typeof e.beginScope&&(e.beginScope={\n_wrap:e.beginScope}),\"string\"==typeof e.endScope&&(e.endScope={_wrap:e.endScope\n}),(e=>{if(Array.isArray(e.begin)){\nif(e.skip||e.excludeBegin||e.returnBegin)throw K(\"skip, excludeBegin, returnBegin not compatible with beginScope: {}\"),\nG\n;if(\"object\"!=typeof e.beginScope||null===e.beginScope)throw K(\"beginScope must be object\"),\nG;Z(e,e.begin,{key:\"beginScope\"}),e.begin=E(e.begin,{joinWith:\"\"})}})(e),(e=>{\nif(Array.isArray(e.end)){\nif(e.skip||e.excludeEnd||e.returnEnd)throw K(\"skip, exclu" + let d_30ca700678d2ff7e5a1c5981a2e65744 = "include.shadowed-include {\n display: none;\n}\n\n.odoc-include details:after {\n z-index: -100;\n display: block;\n content: \" \";\n position: absolute;\n border-radius: 0 1ex 1ex 0;\n right: -20px;\n top: 1px;\n bottom: 1px;\n width: 15px;\n background: var(--spec-details-after-background, rgba(0, 4, 15, 0.05));\n box-shadow: 0 0px 0 1px var(--spec-details-after-shadow, rgba(204, 204, 204, 0.53));\n}\n\n.odoc-include summary {\n position: relative;\n margin-bottom: 1em;\n cursor: pointer;\n outline: none;\n}\n\n.odoc-include summary:hover {\n background-color: var(--spec-summary-hover-background);\n}\n\n/* FIXME: Does not work in Firefox. */\n.odoc-include summary::-webkit-details-marker {\n color: #888;\n transform: scaleX(-1);\n position: absolute;\n top: calc(50% - 5px);\n height: 11px;\n right: -29px;\n}\n\n/* Records and variants FIXME */\n\ndiv.def table {\n text-indent: 0em;\n padding: 0;\n margin-left: -2ex;\n}\n\ntd.def {\n padding-left: 2ex;\n}\n\ntd.def-doc *:first-child {\n margin-top: 0em;\n}\n\n/* Lists of @tags */\n\n.at-tags { list-style-type: none; margin-left: -3ex; }\n.at-tags li { padding-left: 3ex; text-indent: -3ex; }\n.at-tags .at-tag { text-transform: capitalize }\n\n/* Alert emoji */\n\n.alert::before, .deprecated::before {\n content: '\226\154\160\239\184\143 ';\n}\n\n/* Lists of modules */\n\n.modules { list-style-type: none; margin-left: -3ex; }\n.modules li { padding-left: 3ex; text-indent: -3ex; margin-top: 5px }\n.modules .synopsis { padding-left: 1ch; }\n\n/* Odig package index */\n\n.packages { list-style-type: none; margin-left: -3ex; }\n.packages li { padding-left: 3ex; text-indent: -3ex }\n.packages li a.anchor { padding-right: 0.5ch; padding-left: 3ch; }\n.packages .version { font-size: 10px; color: var(--by-name-version-color); }\n.packages .synopsis { padding-left: 1ch }\n\n.by-name nav a {\n text-transform: uppercase;\n font-size: 18px;\n margin-right: 1ex;\n color: var(--by-name-nav-link-color,);\n display: inline-block;\n}\n\n.by-tag nav a {\n margin-right: 1ex;\n color: var(--by-name-nav-link-color);\n display: inline-block;\n}\n\n.by-tag ol { list-style-type: none; }\n.by-tag ol.tags li { margin-left: 1ch; display: inline-block }\n.by-tag td:first-child { text-transform: uppercase; }\n\n/* Odig package page */\n\n.package nav {\n display: inline;\n font-size: 14px;\n font-weight: normal;\n}\n\n.package .version {\n font-size: 14px;\n}\n\n.package.info {\n margin: 0;\n}\n\n.package.info td:first-child {\n font-style: italic;\n padding-right: 2ex;\n}\n\n.package.info ul {\n list-style-type: none;\n display: inline;\n margin: 0;\n}\n\n.package.info li {\n display: inline-block;\n margin: 0;\n margin-right: 1ex;\n}\n\n#info-authors li, #info-maintainers li {\n display: block;\n}\n\n/* Sidebar and TOC */\n\n.odoc-toc:before {\n display: block;\n content: \"Contents\";\n text-transform: uppercase;\n font-size: 1em;\n margin: 1.414em 0 0.5em;\n font-weight: 500;\n color: var(--toc-before-color);\n line-height: 1.2;\n}\n\n.odoc-toc {\n position: fixed;\n top: 0px;\n bottom: 0px;\n left: 0px;\n max-width: 30ex;\n min-width: 26ex;\n width: 20%;\n background: var(--toc-background);\n overflow: auto;\n color: var(--toc-color);\n padding-left: 2ex;\n padding-right: 2ex;\n}\n\n.odoc-toc ul li a {\n font-family: \"Fira Sans\", sans-serif;\n font-size: 0.95em;\n color: var(--color);\n font-weight: 400;\n line-height: 1.6em;\n display: block;\n}\n\n.odoc-toc ul li a:hover {\n box-shadow: none;\n text-decoration: underline;\n}\n\n/* First level titles */\n\n.odoc-toc>ul>li>a {\n font-weight: 500;\n}\n\n.odoc-toc li ul {\n margin: 0px;\n}\n\n.odoc-toc ul {\n list-style-type: none;\n}\n\n.odoc-toc ul li {\n margin: 0;\n}\n.odoc-toc>ul>li {\n margin-bottom: 0.3em;\n}\n\n.odoc-toc ul li li {\n border-left: 1px solid var(--toc-list-border);\n margin-left: 5px;\n padding-left: 12px;\n}\n\n/* Tables */\n\n.odoc-table {\n margin: 1em;\n}\n\n.odoc-table td, .odoc-table th {\n padding-left: 0.5em;\n padding-right: 0.5em;\n border: 1px solid black;\n}\n\n.odoc-table th {\n font-weight: bold;\n}\n\n/* Mobile adjustements. */\n\n@media only screen and (max-width: 110ex) {\n body {\n margin: 2em;\n }\n .odoc-toc {\n position: static;\n width: auto;\n " + let d_31b1da49571a0b56a6a3d17e63e12b76 = "wOF2\000\001\000\000\000\000a@\000\017\000\000\000\000\245D\000\000`\219\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026t\027\129\162&\028\144F\006`\000\133,\b\1300\t\154\022\017\b\n\129\236\\\129\205\025\011\133\016\000\0016\002$\003\138\028\004 \005\132\020\007\142u\012\129U\027\198\225'\208\211\181 \207\2216\128\166\249<\187\250\186^\160\186\165\227\234\182\193eZ\017\207<>\018!l\028@\192\206S\197\255\255\159\1544\226\208\220!\201=\015\172\213\174\219\006&\178\157TC5\007\193T\017\179\139\r\181T\145\014\213\221Y\181\1306L\146\218*\211\162\1578\nu\226J\190\nK\148\157\1699\147R\174\169\031\241I\220~\161\194\014\015XGc\222S>0\179\139\016\250\174X\"\024Y\140\023z\1317\188\007)\028\249w\242\185G\018G\155\193\196\161\237-\217\171C\137\bFEF\230\027\012\225\204\230!\026\226\248\0286\195\248\201\136\223LM\019\185\167\251\b\127\255\225\224\b'\131\161\228\138L\020\b\015}\190>w\188\003{T\254\185SN\233=\2133\176m\228Or\242\018A\227\224\127\246\030D\255d&!d\162JQL\228\253 \234\242\132\212~\tLm\136\169J\137\004\255\255?\246\255\155s\173}\238\187\031\209F\136\148$\026\2257:4\211F\234\016\138h\164D2\163\139\183\187\007h\155-\157\1648\027P\144\020Z\162\004\005\142j\t\2010&\246\176\231\204\229/*\127{\022\2451?\178\246\145\251\138}\016=\127\012\154\221\127\145\164\005\152 Q\\M\022\209\026\005Vz\b/\253\235j\n\001\220\255\127S\205{\239{\239\255\025\000\004\200\172\1567\005hm\003\014\192\142\002\183\225a5\b\130\192\017\014\028R\1496Qv\238\n\149\170+\151\235\255\181\169i;\237\153\250\246Nk\151=\203pcq\211X\n\171\200\n\144\002\244\r\164Z'\195\247E\178\172\239\235\201\000_\177\159\238\167\155dsa.\177B\217\241\181\182\222V\154\007!\218\246\215\246\205\016\177 \182l\004\025\166\0173\219:\201\144\166l7\005NL\127F\161\155\127F\128\210\203h\027 @\000l\001\252\251\240s\254{.\134\168\156r\138)\165\148\199\144O\148\001+ \015\164\246\156\154\144_\249\t;\191\255\167\179G\029\018\159\006\147\142=\215\153KI\203;\194\143\168\166\218b\251.\141\177*>Q\158\145\141i\199\135\169\218?\176\220d[\018\168a\131* \201\165%\215\nI\198+c[\167\251\211x\215\151\225[hK\169ti\007\021\152\245\026\232.@\134\011\233\201\bRPz*\170PQ\171\170\003\163\011\2558\247\150\216\023;D(\216\025w\202 \127\030qq\128-'\205\129\144g\170\239/\249\1654\192\020\203\161\248\150\137S\134\137\137\254\170v0`\157w\173~V\131\006\248'\160\229\005KQ\001\222\219\246\213\172X\021\172\136].\162W\177J*\159\208\147v\250\189\1728\1277\151\207\021\174\163*\2080\166\028X\149+S\171\220\204nb\tpN\000\203\187{\220i\172\228\158f\188\225P\190T\150\022vwU5\186\171\011\r\209M,\027\0001\004\129\153\161\156\025\138\017T\191A\000\228\186\235\190\251\251M\213\171\154\026H\159I\239\004\024\250\0234T/\16201\142XH\157\019\181\235\002\n\212\186\021\198\134\136Z\166\248\212\202l\001\020T\t=`\167\ba:)\207\007\188\245\000\185\030>tJ\011\1443`&P\000:\017@\r\255\255\\Mg\186\231\181\210Le;`\128\235\242\141[\246\015\152@\128\217z\188\012SL4_\214\234\245\133%\1622_&B\132H\183\229\212c}\025\211\222\007\029\203\155\"\135)\141\024\021\173\127O\187\239|\233\2557\173\187\253\217\210U+\250\162\"\"F\1401\198\024#\162\206\223\251\217O\179\026\204\205\r\bN\216\143\169^\218\239>(\001\166\003\180\132b\131\t\012(0`\b\140h\197\130\224)\131T\184\174~\160\219\232\233c\140\133<\r\151M\229A<\182\218\201\128\163\252\128\171\030~\145\146?\146\016\208\\\161c\b\011_\138\214@\228\233\022}%\200\207\247\020U\128\235\149h\189\014,\017\000\245\127\nGf`}\239\024\018\218{G\136\168?4\160!\n\250\1377\245:\200\000i\165\183\014\018\189\021U\237D\206\000\n\002\226\188\017\131\255Y\000\1304\247\007\177\239\238\128Gl\132\129T\000\130\002E\205=(l\232,\157q\204\144=\182\217h\181~\011\2056\213\004ctj\166W\169X\174\012\026\177\194\005Q\242\130b\219>\144\191\r^\003\005\240\211 /\215jP\028;\005\020\247\174\000yk\2473\203|\178\215+\217\255\174\031\130\238/i0&e=9\022\229K\015\250\234\171}L\1739R\0293\237\227BW'\207\234N\225\229&\176%\031\232-\211\163\012\030\195\179]e\129\161\244p@5\"tF7\153\180}j\164J\161\199K%\134Q\025\140\t:hr\250\192\163\184\031w\226f\\\139\179q*\142\199\1458x|_\016zl\194\1681\224\164s\192]\015.F\146\148h\007\169\240}\164;#\224`\162\161A\018g1T]\183%\207\189\139\2231B\248\186*\211\015\0124~\021h\252<\b\230\202B\192\217\172\241\133\211\015\214h\215`\219\198\169g\130\1921\216i5[P\191Q\229)>\185'\227hN\236\t?AXKy\188\142\232\184\030\135\195]\208\028\217\130\142j$\"\016\254\158_\231\238\188X\018\132G\192;x\205\188\1285/\020\194\16992\007f\215\210\017\012\127\236\128V\200\017L\189\017\141\168\025\002\254\175\127\246\231~\215g\024z\208[\189\018\168\175\231z\002x\b\247\225\014\220\140k7Z\222\197\157\219\233\157t\225]\156:n\025\219\221\214\214W\215\225\165\192|\204\194\148\139\1967\178\234\170\234SI\221k\231<\160%\154 \195\162\232A\012\251S,\154#\219\157o\2491\223\172\253Y\238\229F\167\231R\206\228X\197\135\128{p\027n\196\213\131\253Y\152\217\184\247S3!c\210\153\230\011\005\211\1672\205uJqr\147\017Mb\1432\225\192 T\162\215F\162\184\198!\220\152\135\029:FR\020\000\140C\191\252\213\187]\139bk\130B\193X [\000\181\133r\242\160\172\180\031\025\014\180L\201\197aZ\012\011\149;\186f1\241\146Y\243\135hO\227\159\184y\165\189\019\167\129\166q\143\173ax\166T/\205SJT\158\250\168`\182\246\2362ApL\131YV\196\236\178)Jn\r:M\222-\247F\172\011\134\004/\158\233\0066\181\030{\228d\241S\243\227V\174\183\131kx\228zN\156Y\167.sI=wfs\235\203\203z\162\024\152w\215?\017\163S\188\208\132\170KSW\243+\028Rkv\205I\143Bu:_\129\0260\000\192\163YlsJ\254z\226\1505\171\181\141\210\217d\219s\014\181\181\185H\234\146\172\201\173\205\200\012N\\\005\2140\168\233\241|3!\146\247\229\246\014h\001\242\193\185\236[\023\142\153cwb\1819M@\134<05\146\215\150.1tZ07%\255\2437\011X\223\190\233\140\156\re\138\155\011f]f\186:\209\169\011| \187R\176\185\204\235\163w\142\012\213l\240\224\145\167\153\007/\007OFg\2379\227\014\184`\141\168\198\140*\173\170*\181\169\172\201\019\159A\170B\172\005\163\223\186t\2089)\017\154\184V\198X8\165a\175_\165o\218\221\203\161L\177\169`\244\201,?\2555\005\014W\r\156\211\161J\151.\173\024P\216\160\208\001\133\004(\000\241\011\242\005\248\030\248\014\242\br\007r\rr\001r\nr\132\255\183\\\163Z\017\254~\156;'<\150L0 \176\026\138\1650o\231GF\031\019\252'\225\158z\237\015\023\184\025\184\022\184\028\184\0128\011\028\135\020B\178\129\173\192z`%\176\024\152\011L\135\234\209\012\130\234\134s:\179+{\211\198\020\144\021\172\015++\227\201tF\171\243\029\012\025\221\019\188\183\165\244\022\149~\187\193\148/Zs\2487+se\219\188S\015\017\012\174=\240\204p\172 \024@`-\216\131,\160\127\159\145,\199M(2w\240\002\245\230r\180\196\235\253\164\251~9\bOJ\152\240a\001\244\007\242\233\151b\159\251\n\241\171\201\184\169\166\171\177\209\022\245.\167\208\140n\155\005\1449-6\215<\196\"\136\229-\182\213\014\200^\136C-q\220\t\200\169=dx\1619\157\242a\161\005\2378,_@|5\027\251\213\127\184\255M&*J\021\240x\147\236m\182E?\227rxo\016\" \000v\210\166\141\255_\218\219x\156o\024\192\028\255I\016^\127K\194\235\215B<\144\238b#\177\127_0qe\147\026\227\002\205\240\251\183\254\019\144^\247\017`\248\173=\014U\245\019\187w\163\137\184\185\1716'_\162mq\226\248\002\001j\182\243\195\242*n\202\222\195\156z\234^\181\198\216\220\159)n\023\004=\226\133g\216,\137\135\160\141o\161\166\157\161\243E@\209\213)\026\149\221\031\164\203v'\193\023\192\002\168\218\211\198\241m\172\253\196\151\138\148?\195\169c\017\001\247\190/\028(,\021\216\223\031\248\0117\187Pk\134\153f\153m\142\2282\223B\022[\2425+\172\180\218Z[m\179\221\014;\237\178\219\030{\029\146\222\255\163S\206\007\168\001\234%F\195\233t\130\201\018+)\13754\132z&bss\177D\162niIZIM\236\216\161\216\181kj\207\158\134}\007T\135\014i\142\028\137\029\187\148\184r\165\233\198S\137g\158\177<\247\\\226\003\031\234\248\220\231\150\190\244\181\196w\190\147\024\149j\213\140\213\168a\171V-Sz\141<5ib\166Y3s-ZXh\213\206L\135\014\150:ub\232\210E\164\219hE\209\165z\n,\1898\155\000\199D\152&ad2\018}\152\152\170\157\186\136\172\203\236\004\030vA\179\027\204^q\216A\134;r\b\176\029n\029\028q\148\2161p\199qt\002\190\179\026\168\020ez\168cn\016B7\225\185\133\208mx\238\180\200]\015\136=\004y\138\200s\172\188\128\238\149.\253\020\171\168\224\142\253%\027\244\207\252\174,l\004\177\137i\016A8A\215x\131\174gn\223\023{Ol\244\020\022g\140G[\205\243\249\023^z\021\150lM5\211\\+\197\026l{\020\180=\022\028\\\176\148\158t\162\151ERg\174(a\225\020\012zq\208\175\2001\167-\b\177\186\tj:&T\217\254,/\204\142)\199\197\019\228E\178~\167a\204\211g\025{rQ\031\006\172\129h\169\226s\023\233\021B7g)^L\027\146(\0193\241\0191\223\139@\139^\248\198\227b\245\0260\028\249Xr,=Y\245\236\175*)\229M\128t\019dp\1473JY\163\169\226z5\028l\164=\243\252\0286@\011\1752+\186\203\137;H\r\164 C$\129w\030`j\167\165\240c\169\030-\162\158-\024X&\1686\159\186zb\149y\163'\212\231\15316\192!\194\r#\211\024/o^\234\151\014.O*\133\164R\024Q\178H\020\227K\0251CU\227\2222\154\185\207\003\018\015%\017\147\229\192\019\158\148IJ\229\158\166d\194R\141WP2\175\021\227\245\146y\163\132\222,\129\183R\136\140\156P\225\016\"6\019%#\209\204\031\206\219\225\140\205T\236bi2*o\175\163\2074'\167\204W\131\228k[Q\145v{[\135(\250\189?\003\206\163\145\183\019\"\15212\254\159\"\138\215\161\2065\232F\221\251\154\229\143]\232ne\145B\236\244m\208\"G\167\221\029\172O\165\244\238P\169\232\253X\246J\020v\215k\136\184=+G\023\r\244\228\145\237\t.nd\186n\229.V\202x\213\r\brl\1446\199\227\0065D\134\242|H\029O\011g\135JR\16703\127]\212\226E\201\193\190\021\134\007\224\139~\177[\155\150@{\022\192#)\003E,5\002r\241\179N\024uR\252a;\174g!\152n&\184.\130\141\201mb5\157\2518\225\237\019\173\162HJ\205\205\216Dl\130\138\191{\153\173\186;\131z\022\004\137u\250\242l\243-\176P\159\223\188\167\235u\249#\025\232\027\132\r2+\004\203\151s\185\138\232#\150\203\165\136*\022*\225\011\228\020F\225Q\252\170 \201\026z\172\164\154e\021l\005\165\160\020*BZ\201\225\2428\012A\22526\155\146\014\000&P\233\021\153\237\n5\1910\011\n\1830*\208q\1489\183zVS!\214\022\203\250\216\129 \137\137\236\212-\159o\231\175\145\242\147\179\017\242\167\199_\191j\127\162\207\004\145\011\170J\235%\130\031\225\016M*\242\204\184\200A1\231\131\150\027\188\204\173\139\"\031\223!\153\212\147\024WR@\170\194\247\029\231xV\207Z\001FBT\146\168\218?\177\223_\225\164\211\2068\235\146\005\160\254onQ0\145L\2230\140,\152`\b\139\143b\140\000\023\016\147\128<\003m\018\016f\018X\221\129$\t\233As\196\180\132\020\016\007+\193\238,\015\143\210V\024\148\202\157,\163\150\211\206\178\\\154P\2032\216\148\003\201\246\150\015\158\242\157\235r\1451\233\137\227\207\152\207\252\006\196\026\197}&\1617ON\r\\\168T\153\246&\234l\204\196\254\t\239u6rJ7\132\206\233\255\166\249Qc\017NG%\204sEB=\002\004\212z\163w\216\161\166\202}\226\t\174\025\143\212\239zW\031\255\189z7]\156.Lj3K\165T\242\192\019\138\137\230`\248\145_\204^]\167\128\164\250u\232\175\244\1522i\181\183\209y\215\254\148l\251\183\031\003\220\248\193\221\222\168\246\245\235J\16324\253h\2185\027\189\029<\217{r\238\215R\157\179:\022\157\154\163\173q\149>\0071\208o\226\152X\233\198\178\132\237\147\022\186\015e\166\150tX\157bl\001Tb\211\235\216\161`Pb>\213\199\209-\163Ah\239\168RX\220\204\209\179\190u\210C\028J\015\155\179\244\171\179\145cNi\2034\227H\228=0?s.setAttribute(\"height\",V(a)):(s.setAttribute(\"height\",V(a)),s.setAttribute(\"depth\",V(-a))),s.setAttribute(\"voffset\",V(a)),s}});var yn=[\"\\\\tiny\",\"\\\\sixptsize\",\"\\\\scriptsize\",\"\\\\footnotesize\",\"\\\\small\",\"\\\\normalsize\",\"\\\\large\",\"\\\\Large\",\"\\\\LARGE\",\"\\\\huge\",\"\\\\Huge\"];ot({type:\"sizing\",names:yn,props:{numArgs:0,allowedInText:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,a=e.parser,i=a.parseExpression(!1,r);return{type:\"sizing\",mode:a.mode,size:yn.indexOf(n)+1,body:i}},htmlBuilder:function(e,t){var r=t.havingSize(e.size);return bn(e.body,r,t)},mathmlBuilder:function(e,t){var r=t.havingSize(e.size),n=Nt(e.body,r),a=new Tt.MathNode(\"mstyle\",n);return a.setAttribute(\"mathsize\",V(r.sizeMultiplier)),a}}),ot({type:\"smash\",names:[\"\\\\smash\"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:function(e,t,r){var n=e.parser,a=!1,i=!1,o=r[0]&&Ut(r[0],\"ordgroup\");if(o)for(var s=\"\",l=0;lr.height+r.depth+i&&(i=(i+c-r.height-r.depth)/2);var u=l.height-r.height-i-h;r.style.paddingLeft=V(m);var p=Ke.makeVList({positionType:\"firstBaseline\",children:[{type:\"elem\",elem:r,wrapperClasses:[\"svg-align\"]},{type:\"kern\",size:-(r.height+u)},{type:\"elem\",elem:l},{type:\"kern\",size:h}]},t);if(e.index){var d=t.havingStyle(x.SCRIPTSCRIPT),f=wt(e.index,d,t),g=.6*(p.he" @@ -196,8 +196,6 @@ module Internal = struct let d_7762c4a1493905d90f86ab1e0bd3ffb6 = "O>\223\240y\195g\241\148lD\166\248X\246\152N\230\215L\255\024n\127'\219 \167\226\029\236b\231\214\163_V\176\231\003\197\019{.\167-h\254A\027\198Tv\129,\246U,:\209\244\229q\221\152\026Q\150^]h.<\1455\250\143\252c\024{\251\237\199}\130\228\171\138R\027?j\245\221W\151\139l\140yg\246\179\222xwEk;3\194\183\149*\182\164\166\220\177\b\175\006\147\196M\163--\195\206\219\155k\003B[\0188\204\249\022\tG;\157`\175\179\237+Fg\137~R\012\183\180\140\138\155\147\130xu\209K\137\220VE\169\141fF[\219\171\171}\177\163\129\174`\252\254\011L\136\182\149*\186\159\221*\127h_\218\240,V\254\227\014\237\134#\012\201\151\180\240i\222\006\173\199\135\162\185x\141\202ey\167H\198\241\151\167\172HU\\\214\196\007y\162S\185J\189\218w@\029\201lq\181\139\194\140\139y\240\016\223\255\235\024\170\191\151\005n\177\n\197\003Q\179i\233\254\138\n\0111gHd6\153\031/Y\135\243\157~\184\194%\217o\196\175\222Ue-\030\157\182$1\174s\175\173\176\184\1320\012HX_6QR\\h\219\219\025\151\184\196?Rl\005\211\245\157K\174\157\195\001\197\t\133\161\145M\185\170\184\247^\221\253\166\138\171\201\146&\131\226\021\016<\188>\164\174r\246\187s$\165\191\t$\228\151\000\000K\007G\031\222\223\197\127\207\253\127\138\023G6\003\128\000\bc\230l\134\208\025o\011\181\154\028R\138[\nu9\254\006\011k\141u\244w\132\207\194\001\189\162&t@ap\018\158E\020\212)\195\n\232b\n\026\018\134\201D+\t\016\224\191\243\2339)D$\014C\159\178>\0203w\004\n\031\1419(\138\190\132\222\160\014vfm'\190mK\238\2026(\\\158\180/\139*<+-\229~(<\140E\240J\172.n\131\162\162\137N\165\180\194&\207\003\175\156\188c\235\018\128\021\129\176\149\129\016\018\144bDN\149eQ\004\165SQ\002X\1847JB\185'\163\020d\004\162(\015\028\129\2298\173\142\138\137y\024~/\011y\209\187\224\212\171\207\168\144.\243-\016\198\209\242\203B\1790\169\149b\217\018\152\167\205\028\151\185\006L\208C1m\215\"s\225\135\133\001\167\138]\207H\232!`\150'E\168\137\210\139.v\243\nL\179n\163j\152\180\164\182\155c\154.\139\205\172\025\180\216\160`h\022R\174\247\015\012\239#ds\174/\026#\191J\t\014\235\148l~\024`L\167\012Q\225\236\213 \140\005S\b\194\202\230\241&\016\142`A\176\217\147<\135\192\183\179\136Q\174,\234/\203\192\139x+\165\134\183\148Z7o\177\005\022\"Fx\153\162\127b\149U\165\221<7\023\129Ox7;#\128a\210\004\187\226#G0\007h\197\016l\004p\021M\230\212\243\234\222W\021\139\189\166\019[\232>9\128\128iD\230ax\151P\147\003\"\136\244\211'\003\018\144A\006\226 \023\025\231\162X\149Z\1566\2323\217\233\225d-\146\024\246\209\021\rc\132{\251\159q\188\134\132]}\229\242\t\030\231\168\161\215\243\138]\147l\017VBX'-\232\027\144\163V\006\248\235\167\028\225Bc\020\237 \217\183?G\131r\181\166}\002\132\188\147\029`\2092}0\246\215C\020\136@\206\170\140\205l\158\128\128\183\225\029$\145B\030\210\200G\0012p\b\133p\016\206b\020\138\224\b\138\145E\tJQ\134r\140\198\024T\160\018c1\014\2271\001\0191\t\1471\005S\249\131=]&\147\221\180\255p\174\201\194\132\187\130\129\185\255\193gQQ\252\208\234v\1907\020\234\029\030\236cX\241\215\250\203\188\227\011\190\182D\183Eu\201p\213b6\237W\237-\185z\190\238\212]\210\221\222i\210\205\186E\203\237\158k*\210\139u\187t\180u\153\186\023\186\139\180\226\238v\147I7\235\022=oG\005P\243\014O7\183\143#n\235\136\224\219\197\171_\198\129\239\024\007\208\177\129\133\175\190\015\000\1628\1956H\000\215C\026nlj\143\2166\182\203) \180s\239\021\192:\005\174c\226x&\143\221/X\tH\197g\249[4\148\176\230q`u\247\226\228#\212\214q\194J?\241\0024\184V\000\000" - let d_786810470f5a121e38f4adbaab2842b8 = "elative;\n}\n\n.odoc-include.shadowed-include {\n display: none;\n}\n\n.odoc-include details:after {\n z-index: -100;\n display: block;\n content: \" \";\n position: absolute;\n border-radius: 0 1ex 1ex 0;\n right: -20px;\n top: 1px;\n bottom: 1px;\n width: 15px;\n background: var(--spec-details-after-background, rgba(0, 4, 15, 0.05));\n box-shadow: 0 0px 0 1px var(--spec-details-after-shadow, rgba(204, 204, 204, 0.53));\n}\n\n.odoc-include summary {\n position: relative;\n margin-bottom: 1em;\n cursor: pointer;\n outline: none;\n}\n\n.odoc-include summary:hover {\n background-color: var(--spec-summary-hover-background);\n}\n\n/* FIXME: Does not work in Firefox. */\n.odoc-include summary::-webkit-details-marker {\n color: #888;\n transform: scaleX(-1);\n position: absolute;\n top: calc(50% - 5px);\n height: 11px;\n right: -29px;\n}\n\n/* Records and variants FIXME */\n\ndiv.def table {\n text-indent: 0em;\n padding: 0;\n margin-left: -2ex;\n}\n\ntd.def {\n padding-left: 2ex;\n}\n\ntd.def-doc *:first-child {\n margin-top: 0em;\n}\n\n/* Lists of @tags */\n\n.at-tags { list-style-type: none; margin-left: -3ex; }\n.at-tags li { padding-left: 3ex; text-indent: -3ex; }\n.at-tags .at-tag { text-transform: capitalize }\n\n/* Alert emoji */\n\n.alert::before, .deprecated::before {\n content: '\226\154\160\239\184\143 ';\n}\n\n/* Lists of modules */\n\n.modules { list-style-type: none; margin-left: -3ex; }\n.modules li { padding-left: 3ex; text-indent: -3ex; margin-top: 5px }\n.modules .synopsis { padding-left: 1ch; }\n\n/* Odig package index */\n\n.packages { list-style-type: none; margin-left: -3ex; }\n.packages li { padding-left: 3ex; text-indent: -3ex }\n.packages li a.anchor { padding-right: 0.5ch; padding-left: 3ch; }\n.packages .version { font-size: 10px; color: var(--by-name-version-color); }\n.packages .synopsis { padding-left: 1ch }\n\n.by-name nav a {\n text-transform: uppercase;\n font-size: 18px;\n margin-right: 1ex;\n color: var(--by-name-nav-link-color,);\n display: inline-block;\n}\n\n.by-tag nav a {\n margin-right: 1ex;\n color: var(--by-name-nav-link-color);\n display: inline-block;\n}\n\n.by-tag ol { list-style-type: none; }\n.by-tag ol.tags li { margin-left: 1ch; display: inline-block }\n.by-tag td:first-child { text-transform: uppercase; }\n\n/* Odig package page */\n\n.package nav {\n display: inline;\n font-size: 14px;\n font-weight: normal;\n}\n\n.package .version {\n font-size: 14px;\n}\n\n.package.info {\n margin: 0;\n}\n\n.package.info td:first-child {\n font-style: italic;\n padding-right: 2ex;\n}\n\n.package.info ul {\n list-style-type: none;\n display: inline;\n margin: 0;\n}\n\n.package.info li {\n display: inline-block;\n margin: 0;\n margin-right: 1ex;\n}\n\n#info-authors li, #info-maintainers li {\n display: block;\n}\n\n/* Sidebar and TOC */\n\n.odoc-toc:before {\n display: block;\n content: \"Contents\";\n text-transform: uppercase;\n font-size: 1em;\n margin: 1.414em 0 0.5em;\n font-weight: 500;\n color: var(--toc-before-color);\n line-height: 1.2;\n}\n\n.odoc-toc {\n position: fixed;\n top: 0px;\n bottom: 0px;\n left: 0px;\n max-width: 30ex;\n min-width: 26ex;\n width: 20%;\n background: var(--toc-background);\n overflow: auto;\n color: var(--toc-color);\n padding-left: 2ex;\n padding-right: 2ex;\n}\n\n.odoc-toc ul li a {\n font-family: \"Fira Sans\", sans-serif;\n font-size: 0.95em;\n color: var(--color);\n font-weight: 400;\n line-height: 1.6em;\n display: block;\n}\n\n.odoc-toc ul li a:hover {\n box-shadow: none;\n text-decoration: underline;\n}\n\n/* First level titles */\n\n.odoc-toc>ul>li>a {\n font-weight: 500;\n}\n\n.odoc-toc li ul {\n margin: 0px;\n}\n\n.odoc-toc ul {\n list-style-type: none;\n}\n\n.odoc-toc ul li {\n margin: 0;\n}\n.odoc-toc>ul>li {\n margin-bottom: 0.3em;\n}\n\n.odoc-toc ul li li {\n border-left: 1px solid var(--toc-list-border);\n margin-left: 5px;\n padding-left: 12px;\n}\n\n/* Tables */\n\n.odoc-table {\n margin: 1em;\n}\n\n.odoc-table td, .odoc-table th {\n padding-left: 0.5em;\n padding-right: 0.5em;\n border: 1px solid black;\n}\n\n.odoc-table th {\n font-weight: bold;\n}\n\n/* Mobile adjustements. */\n\n@media only screen and (max-width: 110ex) {\n body {\n margin: 2em;\n }\n .odoc-toc {\n position: static;\n " - let d_79c029f6f746a52f4a8bc8b6280c5c88 = "ment,t)])}}),ot({type:\"textord\",names:[\"\\\\@char\"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){for(var r=e.parser,a=Ut(t[0],\"ordgroup\").body,i=\"\",o=0;o=1114111)throw new n(\"\\\\@char with invalid code point \"+i);return l<=65535?s=String.fromCharCode(l):(l-=65536,s=String.fromCharCode(55296+(l>>10),56320+(1023&l))),{type:\"textord\",mode:r.mode,text:s}}});var Qt=function(e,t){var r=ft(e.body,t.withColor(e.color),!1);return Ke.makeFragment(r)},er=function(e,t){var r=Nt(e.body,t.withColor(e.color)),n=new Tt.MathNode(\"mstyle\",r);return n.setAttribute(\"mathcolor\",e.color),n};ot({type:\"color\",names:[\"\\\\textcolor\"],props:{numArgs:2,allowedInText:!0,argTypes:[\"color\",\"original\"]},handler:function(e,t){var r=e.parser,n=Ut(t[0],\"color-token\").color,a=t[1];return{type:\"color\",mode:r.mode,color:n,body:ht(a)}},htmlBuilder:Qt,mathmlBuilder:er}),ot({type:\"color\",names:[\"\\\\color\"],props:{numArgs:1,allowedInText:!0,argTypes:[\"color\"]},handler:function(e,t){var r=e.parser,n=e.breakOnTokenText,a=Ut(t[0],\"color-token\").color;r.gullet.macros.set(\"\\\\current@color\",a);var i=r.parseExpression(!0,n);return{type:\"color\",mode:r.mode,color:a,body:i}},htmlBuilder:Qt,mathmlBuilder:er}),ot({type:\"cr\",names:[\"\\\\\\\\\"],props:{numArgs:0,numOptionalArgs:1,argTypes:[\"size\"],allowedInText:!0},handler:function(e,t,r){var n=e.parser,a=r[0],i=!n.settings.displayMode||!n.settings.useStrictBehavior(\"newLineInDisplayMode\",\"In LaTeX, \\\\\\\\ or \\\\newline does nothing in display mode\");return{type:\"cr\",mode:n.mode,newLine:i,size:a&&Ut(a,\"size\").value}},htmlBuilder:function(e,t){var r=Ke.makeSpan([\"mspace\"],[],t);return e.newLine&&(r.classes.push(\"newline\"),e.size&&(r.style.marginTop=V(F(e.size,t)))),r},mathmlBuilder:function(e,t){var r=new Tt.MathNode(\"mspace\");return e.newLine&&(r.setAttribute(\"linebreak\",\"newline\"),e.size&&r.setAttribute(\"height\",V(F(e.size,t)))),r}});var tr={\"\\\\global\":\"\\\\global\",\"\\\\long\":\"\\\\\\\\globallong\",\"\\\\\\\\globallong\":\"\\\\\\\\globallong\",\"\\\\def\":\"\\\\gdef\",\"\\\\gdef\":\"\\\\gdef\",\"\\\\edef\":\"\\\\xdef\",\"\\\\xdef\":\"\\\\xdef\",\"\\\\let\":\"\\\\\\\\globallet\",\"\\\\futurelet\":\"\\\\\\\\globalfuture\"},rr=function(e){var t=e.text;if(/^(?:[\\\\{}$&#^_]|EOF)$/.test(t))throw new n(\"Expected a control sequence\",e);return t},nr=function(e,t,r,n){var a=e.gullet.macros.get(r.text);null==a&&(r.noexpand=!0,a={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,a,n)};ot({type:\"internal\",names:[\"\\\\global\",\"\\\\long\",\"\\\\\\\\globallong\"],props:{numArgs:0,allowedInText:!0},handler:function(e){var t=e.parser,r=e.funcName;t.consumeSpaces();var a=t.fetch();if(tr[a.text])return\"\\\\global\"!==r&&\"\\\\\\\\globallong\"!==r||(a.text=tr[a.text]),Ut(t.parseFunction(),\"internal\");throw new n(\"Invalid token after macro prefix\",a)}}),ot({type:\"internal\",names:[\"\\\\def\",\"\\\\gdef\",\"\\\\edef\",\"\\\\xdef\"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,a=t.gullet.popToken(),i=a.text;if(/^(?:[\\\\{}$&#^_]|EOF)$/.test(i))throw new n(\"Expected a control sequence\",a);for(var o,s=0,l=[[]];\"{\"!==t.gullet.future().text;)if(\"#\"===(a=t.gullet.popToken()).text){if(\"{\"===t.gullet.future().text){o=t.gullet.future(),l[s].push(\"{\");break}if(a=t.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new n('Invalid argument number \"'+a.text+'\"');if(parseInt(a.text)!==s+1)throw new n('Argument number \"'+a.text+'\" out of order');s++,l.push([])}else{if(\"EOF\"===a.text)throw new n(\"Expected a macro definition\");l[s].push(a.text)}var h=t.gullet.consumeArg().tokens;return o&&h.unshift(o),\"\\\\edef\"!==r&&\"\\\\xdef\"!==r||(h=t.gullet.expandTokens(h)).reverse(),t.gullet.macros.set(i,{tokens:h,numArgs:s,delimiters:l},r===tr[r]),{type:\"internal\",mode:t.mode}}}),ot({type:\"internal\",names:[\"\\\\let\",\"\\\\\\\\globallet\"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,n=rr(t.gullet.popToken());t.gullet.consumeSpaces();var a=function(e){var t=e.gullet.popToken();return\"=\"===t.text&&\" \"===(t=e.gullet.popToken()).text&" let d_7c6039a5e3afeddb9778822422cc7ab3 = "\228\017\146*Y\224\131DEW0\202\138\027\177K\204 \155\028l]\169{,n3\205\168\1664\1612\012lQ\201`i\130e\011\023\np\253\180\1985\154\216\015\131\135\b\024\141.\155Q\251\184\251\145\\\021#\168\204\244\198\141\253\139-\021_\021\180O\197\141\182\157\226\244\024l\018\236E\203IaV\030_\026\019Aw\196Qf5\223H\209\145\178<\\i\007\179\171=\193\186&\195Iyd\018\211n\tq\017\130?\131\tQ\219)\158\134p\023\164\170f\194[ke\135}\167/\166\t6\195x@U\186\192n\255\020t\005\180\240\226\164\235\192(\252\143\142#y \216\221\221\163\176\206q\007\185\190u(t\143\197\135\221\023 -)#\022gD\209\213\004\025/k\205fqW\171u\218\012\212\191\023\233\018\230\031o\006R]\181WU\136\n\187\202\230\208\165\" \136\209\218$\244Ay\136x\194e\156\218]\229\029!\0140f\164\157:s\017\184J\197i\181\027}T\194(\\6\n\005\140\024\018@i\176\025?\212\015\207\252\007\221qw\182\185\227@\241\221\153\214\019?\200\179\193<\162ki0\024\219\r\182\165E\"\216\028\173\171\021\229PWn\199\182\019\204\153\178\226\200\198\182\1759\164\027\188x\150\134v\143\251\169\250\130W\223\218\221$\169]0\128]}(\n\165\149~\213\165\203\1659g\199v\207%I\029(&\015](\178\191\151\014&\002\254\006(b\205\134\143k[l^\198\138C[\164\007\151\r)\171\207%\135{J\212\204V\0215X\203\137w\030V[\025\235\241!\236E\019\169Z\002\202G\225\244\155e\n-5\206\158\222\209\133\224S;f\171Yy\162\128A\229\238\141R\237\15881:Db\182\145C4\246\029\185\192\017\015\178U)\145kL.\1834\190\200\166\213T'\182\189\192\197+\021\014Xq\200\246\026y^T\252\212@|L\150\217~n\221\155\173\180\012\208\172\190\127\249\136\005\155\030\218\147\152\162\030\202\201|\027\1348i\210\225\020\197\t\197,>\224-%)\237\198\255\166\254\221*\239&\227\177\198\150^\199\168\209\014\162\127\156\003>\231]3:\220s?4\157\157x\233\189}\190\206\175\127\216:}|\021#/\143\219\185\248\234\167\b6\174\240\003W\254|\135\150u\222l\245\021\181\"\245\214{1\235\186\\\212\210\159\1510\003D\n\208\0075G\143N\215$V\165\220\022\169\158\2389i\154\000\155c\235\226\212\146Z\210\167kg5\007\144\149{\150Yq\143<|\177\180\134\230\144s\172C\155\166\019y\193\153\168/\030\211\17115,\173\159\1483\012pk\181K2\184w\236\217\1742W\249\223\183\193Dd\240\028vo\011\021\251\139n \133y<\170\163\t?\140\1347\198k\147\171\141\154\132\145\1777\185\146\027\210\161\210\027}\186\149H\t\134ic.Fq\214\158z\141\2131U\022\198\237\141\146\133\238\251$\011&U\146\150M\134\012\185\007\027A\181\180,\217\182iwq\195\184\217\2483\246\027\128\231\242\156\191\011,\192\186O\138\197\182(\135\221\181&g\207\171r\166\240GT\165A\024T\204\253a\158w\182\176\206cj\224\169\234~\000,e\179r\145\213\147q\210\001\239\239C\148\1874\221\175\210\158\178\019c\207E\206\239\205;\011f\145\200\003\143fv\185=\190\212[\241\147\015\159x\235\179\249/\218a\019\239\165\230W\t.\181\131\027v\231\245\237\187\210\019D\015\182\031\233/<\213\195\174\026\204\166r\185N8\209s\158\127,S\218\027x\238.v\231\218\141oM\142\235\193\221\130\187\215\219\221^\185.\030\203\219MO\023%\238>\249#\244b\163iI=\162\145\014\199{,f@\195\011\0312t\2174\172\168\220\186SW\152\207\216\239y\253O:?\224h\219\029\199lB\027\012%\152\141\235@S\194b\t\175~\029\140x\217!\027\214\159W\239\004q['\184\155\223\195F\019\139\193\130\212\005\141H\169\223\217#4\189:\212=L\220\023\007\165\222\004V\163\236\210=\214d[g9r*\128Z-ZY~Q\223\025'8\212=\128e\003k\202>\0281\192+\161\179\151\179\217A\140\156\148\022\004:\223Ix\003\190\205\007\r{\138\233\208\215\228U\135X\004\004B\020\021\1814\219\198%\012`\225\165\012g\162\199\1605\167\215\0262\231\172\144!3\194\179\174.h\141\252Nf&Ks\132@U\219\159\141\003\212\179\191 \136ipj\012\155\194L\225\137,N\137\223_\181\252S\149VE\214F+X\157>\143s\228m\149\221\253?H\005\0259\220\211\r\186\162\206\201\157*\157\164\012\172\137m\028\029\134\146%\132\222=\200\005\002\027\019\031_p\132\015\175\246C\243\245\243\007\157\163o=g[\188\151\251\242\223\195\215tw\186j]\191\190\164\162_\248\158\000\250\138\238\b\217\251p\203\166\152\231\170\"\004\000\174\bx:n\237\248\026\202\179\242\189b\247R\247\254\248\001\\X\002\212@|\011H*\129\165\187\140\181\229EW\213R\137*\213\216\023K,bW\184-s\015\203\157Y\165,\153\019\tP\bpI\135\2382\134=~\196\249\132q-\174\025\151\t\244\179\011\157\135\\\168\177\160\208\020ro\030\140\217\1471\143\155\255e~\190Pba%2rH,\004<\185\148I\240\1336a K\"\194\141\181\170\168\214!\191\235\187D\236c\191\245\217\136E\157\248.@\144E\139\176\178O,\214\184\248\2265\t,\018\176\130\204$x\017W\0024.\147\192\016BZjI\024\142\252\202TO\003\232\132\215V\005x\158p\238\027P\135\177\156\235RA\165r\243\179hpa\129L\136\135\176t#\185\0001X\192FZ\244\023v\145\169\028\003\129\024!\026\003\227\138P\131E\"D* \140{o\021\017\213\219AA\134\157\\\014D*\225bm\019\224G;\136p\223!\201\021\b\027\019\136\237\197\204\nMh\029JVO\r\175f\005\131%?\241\144\162\225:\192\188zA\172\"'\241\222\180\028\1942\244\167\154A\196-\017\253\162*\143$\131\r|\003\027\170\1370wxUH6%\021\163Z&\141]\136c\175\001(\1861\019\217h\002\243<\130\021|HV\136\161\015\183\240\225\154{\248\200\023UC\228\221\250\237\246l!e\212\186M6\177$\228u\130\230\1701l\151\181f(\018+\150\023o\163B5\204\205\012\133\025q\219\190\rY\210\184\197\026\148\134\192%\237[\b\131\218b\019@\168\138\245C\171\208V\180\214\162\214\217\149ew*\0165t\253\145\186\167\247\241gi\151 \186\170\024\165@\017\022a\185\231\182\210\215D\193vq\224\2024#c\131\163\020\133\182\131\027\195\214Z\2376\136\168\154\129\214D8\147u\188Ua`\020\1505>\130\\\006\165\016\014X43Ah9\129M\131\146U\030\2408\197\211fC\031\204h\152.\151q\172\233=\247\233O\248\150SY\246]!S\002b\225\213G\174V\127\195\178\248u\026\030\175\132\224B\137\024DLs\158cg\170Z\186\194\205\174\140\216rK#\022\165\246\199\000\165h{\219B\003\195\160\180\154\192n\217\130H9\165\001\169K\202\169X\162\1915\202\134\031\137r\217\176\b\018\211\214\218B<_.\005\028]h4\0208\201i\239}\206\243&\136\205\143\140\006\181\192\186ZK\030w\141\195n\135\221\143\1987%\175\169\246\"#\019x-y\140\186(\246\208\015D\n\1656\136DM,\135\199\134F\004P\2190%\026\185\244\170I\236\179sKvE\165\r7\"A\n\016\225\216C\161]g\175\209\229\005\218\180\169L\150\243\192m\159s\239\251\147>9?\0268\213fy\160\184j\246\145\183G\147\024m\243r\191*\196\031\004\b%\029\022\198=\180*\197\138\143|\165\005M\142\000\214r{r\182\250\221\198L3d\015J\186Q\179\1274\195\236\145;O\169\164\025B\186.\209\169y\146\182\217E\163\176n\2276\209+\131\029\t\173\128?\180\250=\239\163\006\139\188\255z\179\233i\153\003N\191n\211}z\251\2469\251\204\244\204\239\233\250\235ET\168\160\2371\219\231\201\218\225J\150\185\133O\150\185\127\237\242\131:\207\212U@\003\149\151\229V\193\127\167y\246\232\137\201g\029\r\219j\178,\155\252\207\187\170\251x\006O\169\1647\146=)d\165 \187\201a\176+\217w\141\223\233\197(\211\157\2201\215\242\209\n\231\248s\231}D\138\227\007\231\1919\028\246f2t\163\246\252\246\244\177\235\153\219\211\224{\238\222\179\247\031,\215\249fW\187\161\026\230\202T)\204SM\199T\214f\248?d\131\176y\253\030\137\028RxK\030\180\250g\015\239\221L\026\251\"o\246\232l\rM\"\205\220\222\155o\169\156\185\007\179\143[\131s\230\144\195xs\182\007|\253{\170&\232\202\147u\1467?Z\169\185\183\018P\204\"f\173\203\007P\203\180\193\1500\199\148\127\150\128r\2019m\t\0248\0110!\003\002b\229\028:\016@\240\172\149I\185av\242e\216B\218d\150\240\226m\216\196\2177U\138\016\194\182\141\253\195M\246\144@\005M\176\151\025\017\165\177\185\021\208\159\202x\231\137C\000\224\004\184Y\134\156r\190\001\021c\n\240\173>K\219\230\252I\1290\019ar\218w\221\137\206}\219iZ\231\004e\159\189\019\020\171>\151}\160,\148@;0\230\236!L\212\144 \000\021R\028'TVbb\158\138\169\206O\020!\003\168\231\221\182[\244\142\016\164\144 \136Ch\182\028d\002\148^\212\185.\165\180\239\180\237i+!f\186\181\250\194\020T\025\bBP\019\196\023\169\172\222B\137\017Q\129xwD\027O{#\226\012\017o\"(!\016\207\017\137\025E\b\026\135\128\148\017\233\022\165\178!\000Q\194\028\187p\173\189\031g\249Pv\146\005\222Q\152\016\207\227\173\230N\140\239nv6t2\019c!\145e\148NR\230\b\128@H\184m\219\022cR\146\1441(\0171\0172\005=\016!ZPW\151s\014\129\247=o5&\160\173\213\187p0\019`\bAK\178\248`\026>\201Rb6b\217[8\027A\218X\0040\241\166\202\022\002\211\180\196*\164*84Ff\192\150[\212o\027\194\251\166J|\215\015\229\222\230\188?\234\007\249\131=J\020S\164d!)\031\172\020I\155:w\241Z\\M\138]E\224!E5\019\138\200\b\239\152(\165\\\196\"P,/\169\143\190X\238D\223\202.\218\188\174\002\196(!\192\222S&\217[}7\141\238\198\164\177\029yj\170\243\162\200C\028@\196E-\012\0226\150]\205\144\178\238\165\168\199((\178\022\227\189\159\142\146\146\170\190\221[*\183b\207\011+\233\170\028U\215<\207\199S\251\160\250$\030\021\"Qi9\164\133\232t\163\252\208\218\250\n3-\229\142F|j6`B!8\145\018R\001\152FR_\202\177<\152k\000\202*\007\181\tH[\134Y\172\216BT*C\t\017\153xB\131U\171X\137Sb\171`\r\179\130\012P1\194\0291\180\018w\227S\177\155\235\150\253\016w\135S\127\172\235z}\155\147\187\191Z\203%\153\023\230\178\187XM\239V4kY\222\245(}\180\238^j}\025Fo\165\149\138\"\170\246K\011q\166\156\177\021\207\164\185\153Y\217\144\181\240\170z\195\168s]'J\169\164D\225\000\146\018\2185\015\247\220\187C\014\246t\241\002*[\1407\235D\165t-5]V\172Z\t^++\150\208Z\2339\023\1700onM\173\173\143\006P\138\148R\128\190\197Y\1417\194Y\234\195\228\209\237~>=\255\252u}\232\227\151/h\224\189\169\209\2004\252\165\182\002\222\174~\248\189\029\199:\251\168c\252XU~\213\217\006\023\243\226^\205\181\000D\153u\128\020\152\238\222k\245\2380\127\150\178\2051\188p}\239\"\000-gI\015\018kq\161\191\143\014\1991\160\003\004\143p\027\149\202\230\253\171.\145\214\206\218F~\174\173\014\175\177\143n.=\206\217\1432\165O\145\218\231\168ku\127\155\136\189Y\239-\210\218SL9\2059\137\016\223V{}~\127\255\251\223\211\135\185\254\181\011\007\1825\205y!\175\254\222g\2296\159\231\213_\230u?\239\243\152\199\250{\239\229\2238\199\146\234\189\173\180\156\199e\214c,\180\138G\195\164\179\2476\027\030\127k\221'\b^A\142\245\204\016\007\160\229\023V\159\t\233_\142\201\215u\192\004\014^\225qt*\155\215\127\253R\029\227\222\215\129o}\244\163\1414\215\225Mg\170\183\1742\154\231Sy\158G?\207\213~\156\204s\249\156#\201\021r\202\144\207\243df>\150M\138\165\144\243\237\238/\217\156\204\212Pq\132\174'\178\162\200\023\014c\205\192\131eQ\026\171\172D\129x\024\222\157\160\133l\134\129\141\140q\254\012\001\133\180J\200\186\027k\197\024S\217\001\182\014\185\141\227\003]\017Q\159\201\174\171k\168\170\238\217;i{\249\180\213\191#\212\198\"\000\212\138\001\155\020\232\1319\193\157\155\182\005\176Lb5q\193\145\t\165'\236Y\011O\239\nL]\003M\203\165B\174\181dE\017\002\178\015\189\167\170'<\242\224\015V\200\007j\209\144\167m{\241*]\208\191\020\158 \001\141\195\216h\210\026\216\0009\021*)\015\147\n\193\006\173\209\232\231^\014/\209\162\234\216(8\b\128+]\169iz+\r\2339\177\226GS\224(\177\022^p\254h\130\224\156H\\\175\239\t\193\186\030\174?\155\158\169+\210\255\208\138\006\175A\001U\002x\015\181\212y)\240\149\244}\143\024@\153\186\000\130\017\242z\215z\020\189\186>[\229\t\241\252|@Y\r\206iq\216\166Q\138)\133\207\138\127\130\128,\0166\191}\186\236\030\247\229<\223\188\203\023\138oel4E\171\025o-\233\028\222PC#M6Q\022\147&\159\172U\206\190\142j|\171\1316\0030)\165D\172\234\170n\219\193+\219\140\208x)\165FD-\027\255\026\224\177\2146\175/\2058R\170\t\025\171\210\014\194T\173\190X\211\164h\193@\163$\136K\170\173B\164T\191Sq\024\180Nh<\221Q\163CU\025k\185\028t\229\189\142M\163\245c>X\012\227\016y\015m\171\141\b\183\\k|J\028&uP\218\027\243L\230\220^\188\248\250\253\184H\249\230J\023:\155\130\196qj\199\217\189q\193\2446\222\226j\239\180\1285oi\242\211\252\165x\248\022JH\\\1635\214:\155q\199\029\0061\251\169\003\211\205\142dlx'+\027\243\212\027U\234\155\004\208u\161m\129\222G\161\"\193\250\251\020\251u\157 B\031\\\139a\242\206\209\188\191\251\"D\b\155\139s\251\210\0057[O\2104\161\017\145\204s,eJ\159\222.\229\201-\203d\222\229q\140Q\197\024jV\174JhK\151e\025\199ax\183\2487\175>|\252\251\255\229\197\206\255\233dyH%\027'\202\000k\250\148r\224\177\188.gz\147\207\231\251\189ly[\255\156\147\254\159\143\\\208\219\020bJ\177\237\218\142s\220\231\141" @@ -244,6 +242,8 @@ module Internal = struct let d_91ca2c6976287fb65f2c055861e0f955 = "wOF2\000\001\000\000\000\000@\016\000\014\000\000\000\000zD\000\000?\180\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006`\000\129L\bj\t\156\012\017\b\n\129\190X\129\149X\0016\002$\003\1318\011\129^\000\004 \005\137\012\007\131}\012\1292\027\238c\005\227\152%\176q\000\176\201{\215\217\129\0246\014\024.\195\210Q\bl\028\128\136\204_\016\252\127N\174d\0128\005~\206\204\130M\134\017\163\rfBF`\172\160p\023_\152\026\251\254$\131gS\208\201E\249\1980?:l6\155\023\138\234}LN\019\235X\012\173\136\181\241\170\247W\011\219\218\0229~\209\237\155\246\191cn\243\138z,F\246\128\2343\176m\228Or\242\014O\206\249\247\238\2248\246\029\007\007;\236\016\002\t\007\td\144\004v\200\130@\1986\tY\238\012Mt'\174\025k\156]\174.[\253\1981\127\173\254\214\142\169\029[m\247\031v\253N\237\239\247\127\203YIs\252zs\251U*S\213\r\207D\003\142\017\135\142AU\234m&\228\r!\153+\\1\184\163\253\214\216\185C\206\162\228]f6\197\211\158\134\234\225\158\205\127k\tr&E%t\255\171\171\220i\237\011\027\130T\222qy\213\165\002\242\172\131P\212\233\164\214J\170\251\210\183G\030\200\027\211\192\"\206\018\031\201V\160\014Xp\219mO\154j\0240d\170\216\156\167\180f\201r\190\248\150\137S&zK\158\127\237\176l\016\252\200\144\219R\n@\002\162\b\142\236\192\0217\214\230\232\223\211mU\026\167\139D\015R\133jlm\219\167t\021\188\190\153\224\026\165G\236_[\202E\149\176\002\163\252\240=m\128\012\027\210\145\017\244\131\146o}E\237\162VW\141\214\204\243\182\155O\151p\000\250\004\234\238C\234\217\127K\151{A\253E&\221GH\176\024\209\186F\182zcg\236\177K/6E\024\138\194\237\2294\b\1841>LC\t\252\159\206\178\029)\228 W\215\221\187*\216\031\149\193\162N\211\200\127\198\150\230\143\228}\030\173\247\228\209\161l/\200\139\246\161\014}v\144\192\246\129\227=\014\000\148):\224\150^\207U\155\182\006*\234\020]\023\248O'\179\255\253\187K\147\206\026\172\2382\177N\161\136\031h2!qH\129\210L\028K}\252\198H\252\251\243\210'|~\160(\170\\dZ\165\192p\182\155w5\189/\138F\209\142\t\012\179\162\249\240k\174\158\164{\168$\1576z\155\216\219\252\163\159\143N4\177\165\163\137%B\177\212/\162\022*)\018B\226\177\204\170\002\146\203l(\018A\182\159\231lcV\195\235^\169[\206W,@\128@(\177\237R\030%\028_\011\150\195d\226\214f\174\244\175\254]\031$8G\b!VWT\198\186\016\012woL\136\192\155\244n\016\180\229\182\193gZ\007\187:\2488\208\015\184;\223y{\018_\025\137\015\237\239I\187\210\226{V\181\160\237o\016\129\197\247$\b\210\194/1\004\226b%\232\191\157\025\208\197\172\021-s\168-\011ia\t\007\130\194d\173\202\019\235\150\213\235\184W\249\253\191_?\229\235\153\133\251\028\248\233\202\140\127wLZ\209\204x\213_\210\221\187\222\240\146C\211\019\131^\145\165IS\220\253\253\127\247\140b\141\027\002\208\021_M$o>/\239\143{\233\185\170\234\204\173\004\004?\183\031l\237\174n7\229\181\227\226l\191(\021\218Y\214\232\238\223\024]K6\016\170\015}\005V\175 \193\205*\209\187_\129y\007\180\188\1961r\2533aO\215\152`\146\030\201\145\177\150P3\161\160\244Z\bH0zG\000j\235\216\017\134X\177\142\b\208\156\"\155\183&|\151$\017\163/\240f\215\023\211\004\ts\239\004\228\025avSC\198\245I\011w:\140\158\186\241\003\219;\178\021lM\158>\192h\132\248\150L\027\145fB(\017\142\181\165RG1a\148 A\tC[ \197\238\192\225\006\rx\197\194V\249WkIK\236\143\250DK\176\169>\215\157\223\001G\154\220\164L\\\191q_\149,\232\232/xQ\0201+5\180@\162\211\136\233\014tL W\134a\140\188)\141\b\135\199\tje\144\211\161\187\137\219\139\170+m\b;y\028\017J\006B\149\175\220\218\150\001]S\1709KW\184\140$\215r\197\148n\213&)A\168:Bt\003IQ\188:2\129>\200\240\212\128,\186\234\145e\158\152yc\237j\174:\162~7\144DXXC\143\006\236\182\141\029\240\224\017\174\251,2\007\214\245\220\137\172\253?1\025\1971\229d\228\237\016\183L\218\209 j\021\244\221\005D\131O\194\164\0219\178@6;-\004\135\155`\143\2076/ d\240\137\240pL\240}E\200\0268\178\001\208#\005\028]1\164\219\027\239\202WU\184\177\215\172\142\131\150\189,\193\190\127m\tD\184\149\132\178y\139eA\200\031\193\182\128\136_X\252XJ\134\251\188\t\234g\225\003+\235\201.\219\200\0178.\233W\175R\200\225f\212\248t9A\171%\148\163\022\b\186!=\002\018*mAJ\159\175\155\004\019\005\\\246\002E\230\209\167\192<\249F\184z\196K\217\238\164\016\0197&\188\247H\016\241\006\019\180\"\158\rn\238\028\138\198\216\004\223\182A\141\202\159[{3\231\239\207\180\152\224\135\187O\130v\254>\196\135\155\232\208\162G1\160\024QL(f\148L\020\011J\022\138\021=s\128\154\184\202\189F\202*\1862\014\141\221\208B6bN\234\206\231\000s\131\185\1316\134\0060\172\030\213@\210\156T\248\218%\209\160@\156\236-(\130\233\146x\205H\015\n3m\245\195[u\214q\249\169f\217\\\030\240\201\129i\249\152\016'Rt\251\004\001\169j\127\000Qg\208U\164\247M\230J^\218r\249.q\0035\134nx\132\130\252)r\244\160\186S;\022\140\153E\192\209\218\252\133(\176P\207P5E\200P4\189\203y\211\208D\152\016\142\012\251\206o\190-Hi\235\230k\024Y\004B\020\165w\154\225O:\188u\225I\128\\v\142s\142\001u.\248L\164\184\019\213\178\221D\205OR`'\183\204\239\187\t\167\012\157U\163\194<\187\175\158q\139\028\"\027&z2\136|\130\204[\140\172\1996\167:\012\198F\200dj\014c\152N\00612\222r\167f\147 \213(\203 \205\025!\135\131\141\203\229P\219\153F\180(\130K\000cPn\152\233\137\204\197\021\025\217\024\2219\162\018\140\186\140NK\239\148\023\019\142i\134\153\133'\245\156g\171\018\151\0289kP@9D3U*C\173b\136\027\147\253\212\133\n\181Xc\190#\2249\140\129i\212\205\227-\031aX0\171&}\"jh\212?n\025\160\020\195\134q\167\179\\\219\147\161\014}\016Th\026\178\181\148a\203\236h@\173Uq\164\205NhB\255\145w\204\214\137\007\150\168y\226M\014\130E\1618\026\002\139#k\181N\181\179\152\011\198\140 \202\138\014\016a\219!M\237\028\001/\145w0\031\192\247\156\130\026\149\204\233)\143\160p&\221\143=\134\169\253\171\024&3\184\006|v\221Z\230\140M\155\140U\184$:\029*\234\160\195\203M\227\204X\185$\1562}\161\197lI\254\203\022*t\235\198<\230\030LNEo%\n\004\134iz\208\170\138\242\194o\172Fs\201\190\160\194 \027\026j\178\006\196N\179z\004s\137\163\197\012A\145F\194@\181\029@$\rfJ\150\168\235\134P}\007\016\r\006\215F\219)\b\130\130DS\0005/\000\162%\192l\1497p\155\129\219\r\220a0g\232&\236\206\209\168\171\003\136n\131\153\150\165\220=C\168\183\003\136>\131\163\031\030\161\024 \0203\t\197,B1\155P\204!\020s\t\197\133V\240\b\004i\187!\200\244\007te\225\028\131\175':}\024\002\031\014\252\202\017\214`\218Tk\152\212\137\195\253\230\131\217a\202T_T@\002t\234\136\249\168\195\230\228\241\017\n\192\188\165\175\230DS\215\191\028\006\003W\186\195\201\"fU6Yl\194I\187\"&\202\019\016\149\153\146\153\221mK]E\147\222\1936\137\196+\178k\004iI\186\174\189b\209\154\214X\030i\147\228\148\146&aS\177\164A\224\229\021\0128\0234PdT\156'*\tE\154\003]\233\166f\031\197\150IL\149v\171\181-\220:\131 \198z\221\"\139]\024t\145\017n\005\191\\.\192-\173yQz>\198\167\200h\134\164X'\180W{\137\186t\172\159,\018\n\243\r^I\1617\159\2034\168\185\145i\179l\255y\159B\203\1569\025e\149\216\223\007&\224\176C\014\019uM\163Y\bbPR\028\1657G\1794W\206\149\011en2\137\247TN\170y]H\017\232\231\021\176D\019pd.\001d\029A\177\002\230K\181\252u\n{W\205\019\026\220 V\018\201\166y\132\135\145757\209\1503\1420\136B\192\2052s\176\208&J}\133\143(\188\012H\174\193\137\2361q\181\217\015\239j\166jc\244\250\166\135\155,\187\028\153 \134\135\n\232{\130\226\006\2115\"\001\197\"\130a\1750\181K\138d#&4\148\210\203r|\137/\253o\232:\208\021F\195\1608+\148\255\245\183\016\176\164\149\253\227\b`\246\210\182\0300\226\151\163\168\255\198\136'\155P\226\181$f\1401~j\030\217\014\021p\207& +\199q1\142X6\159\208\154\203\002\147\192ap\150\153\160B\180\244\169\247\205\012\196K\165J\012\133\229\014\1580\237~@\168M\203\192\029\021\133\212\210T\180\244\195\011\017\253\174\160\130\235\196\154\232\026SX\210\225\209,Y\207\2061\185\166\190H\004\225)\017\135\b\134\023\129\151\003\130\022rJ\142\192\"B(Dz'\147jjm\157\236\170O\209,Sk\027\199M\231\153\170\132\176\136q\\\181GvUR\239\209\220\199\212\135\152\006\162\129o\174#\031\237c\154&\232\019\158\184l:Ab\157\168\186)Sf\160e\1418\236H\128{\250?h\183w\212\127\202d\176h\249V*\142\128nx#J\"K4o\210\0024\218&,\2062\247\202\007\018)\002\rF\n\027\160\213\253\166X\173f,\\\022\249\202\0237LN&\012\131T \029\199\248\015\154\137\1947k\151&\182\198;Q\b,\192\155\136>\209\143[\254\209\163\007\015\150J\165\028M(\188:\147X\171\229\190v\226\146\203\252\028\178QK\137\160\136F`P\148\244dZ\1335e\131[m\208-\227\198\164\026g\005\215\178\189\207Dq\177\144Jg\220C\029\150?M\236\236\200\237Q\162W\019\196j7~A^\136xq\020\254\006\001\020\235b\168\028 \026\163\2329s\234?\213a,\135+\170\148\152\007\250\163;\129>!\r\0182\210q\165\207\155\156\021\134y\190'86\251w\159\226z\231\218^\030\238J\250'N\169\197\017M\243'\242\182\1387\218\132\231\027\022\189L\017*\249\141\231'\130\bY7\160d\017\031\2291\177\193\184R\206\220\193\222\145\196+F\251\185T\203e\192\199\1418\169N\161DZ\178FY\180\146\n\207\028\240%Y\220H\004\253`bI\024\155\247\1880&\195i\012S\135\213&\167l\202\186\240\140(\204\"~\152\026\200.\133\217\255n\206d\1570\237\190s^cm\205\234\130AQ;\138r\166 \238\135%\133j\195\237\182+_P.0\022Z\237q_\169\196O\130\139\132\193\217k\028\203f\139Ygv\150\2197\136`v\185\003xT\251\143P\196\"\019\207O\216\200+C#\236\012$gaH\017\238n$7un\131QII\215\187A/\223\135G8\025\158\196g\217\216;\236_c\247\135A\230\003`Ze\139\235y\213\216\175\234tK.\223\"\146\239B\005\195m\144\242gP\189\b\253\236\2330\030Z\178\1832+\175Q\166\218zou\0251\2009{\195\1361\155m\219\017\225\030\127\165\029\\\236+\227+2\159(D\254@\128<\221~\141\228c\127\130'\n\139}\163{\222\1658\030\203\192f;\202y\2092We\179\224\132J\131\187\204F\173sP\020\193\164\178 }\022\150/\200\025\173\245\204T\134\223h\t\024\011\200\007\173\\E\251\241\167\253\026\207\025\004\195\220\159\r\225\223\b\168r\200\247\189/\r\030\"\189]\186oq\t\\\195\231\172\251ZS\223\165)QG 3\236\175\165\004\\z\190\132P\127\230\197\254/k3oc\227\178\149\r~\231\254=\249\210\127\249\229\161\192\006\166\216\r8\199\145-\b\012?\247" + let d_92d67c153383d8a5d46ba6d9247ee68d = "-target-background) !important;\n box-shadow: 0 0px 0 1px var(--target-shadow) !important;\n border-radius: 1px;\n}\n\n*:hover > a.anchor {\n visibility: visible;\n}\n\na.anchor:before {\n content: \"#\";\n}\n\na.anchor:hover {\n box-shadow: none;\n text-decoration: none;\n color: var(--anchor-hover);\n}\n\na.anchor {\n visibility: hidden;\n position: absolute;\n /* top: 0px; */\n /* margin-left: -3ex; */\n margin-left: -1.3em;\n font-weight: normal;\n font-style: normal;\n padding-right: 0.4em;\n padding-left: 0.4em;\n /* To remain selectable */\n color: var(--anchor-color);\n}\n\n.spec > a.anchor {\n margin-left: -2.3em;\n padding-right: 0.9em;\n}\n\n.xref-unresolved {\n color: #2C94BD;\n}\n.xref-unresolved:hover {\n box-shadow: 0 1px 0 0 var(--xref-shadow);\n}\n\n/* Source links float inside preformated text or headings. */\na.source_link {\n float: right;\n color: var(--source-color);\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n font-size: initial;\n}\n\n/* Section and document divisions.\n Until at least 4.03 many of the modules of the stdlib start at .h7,\n we restart the sequence there like h2 */\n\nh1, h2, h3, h4, h5, h6, .h7, .h8, .h9, .h10 {\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n font-weight: 400;\n padding-top: 0.1em;\n line-height: 1.2;\n overflow-wrap: break-word;\n}\n\nh1 {\n font-weight: 500;\n font-size: 2.441em;\n}\n\nh1 {\n font-weight: 500;\n font-size: 1.953em;\n box-shadow: 0 1px 0 0 var(--header-shadow);\n}\n\nh2 {\n font-size: 1.563em;\n}\n\nh3 {\n font-size: 1.25em;\n}\n\nsmall, .font_small {\n font-size: 0.8em;\n}\n\nh1 code, h1 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh2 code, h2 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh3 code, h3 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh3 code, h3 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh4 {\n font-size: 1.12em;\n}\n\n/* Comment delimiters, hidden but accessible to screen readers and \n selected for copy/pasting */\n\n/* Taken from bootstrap */\n/* See also https://stackoverflow.com/a/27769435/4220738 */\n.comment-delim {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Preformatted and code */\n\ntt, code, pre {\n font-family: \"Fira Mono\", courier;\n font-weight: 400;\n}\n\n.odoc pre {\n padding: 0.1em;\n border: 1px solid var(--pre-border-color);\n border-radius: 5px;\n overflow-x: auto;\n}\n\n.odoc p code,\n.odoc li code {\n background-color: var(--li-code-background);\n color: var(--li-code-color);\n border-radius: 3px;\n padding: 0 0.3ex;\n}\n\np a > code, li a > code {\n color: var(--link-color);\n}\n\n.odoc code {\n white-space: pre-wrap;\n}\n\n/* Code blocks (e.g. Examples) */\n\n.odoc pre code {\n font-size: 0.893rem;\n}\n\n/* Code lexemes */\n\n.keyword {\n font-weight: 500;\n}\n\n.arrow { white-space: nowrap }\n\n/* Module member specification */\n\n.spec {\n background-color: var(--spec-summary-background);\n border-radius: 3px;\n border-left: 4px solid var(--spec-summary-border-color);\n border-right: 5px solid transparent;\n padding: 0.35em 0.5em;\n}\n\n.spec .label, .spec .optlabel {\n color: var(--spec-label-color);\n}\n\nli:not(:last-child) > .def-doc {\n margin-bottom: 15px;\n}\n\n/* Spacing between items */\ndiv.odoc-spec,.odoc-include {\n margin-bottom: 2em;\n}\n\n.spec.type .variant p, .spec.type .record p {\n margin: 5px;\n}\n\n.spec.type .variant, .spec.type .record {\n margin-left: 2ch;\n}\n\n.spec.type li.variant, .spec.type li.record {\n list-style: none;\n}\n\n.spec.type .record > code, .spec.type .variant > code {\n min-width: 40%;\n}\n\n.spec.type > ol {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.spec.type .record > .def-doc, .spec.type .variant > .def-doc {\n min-width:50%;\n padding: 0.25em 0.5em;\n margin-left: 10%;\n border-radius: 3px;\n background: var(--main-background);\n box-shadow: 1px 1px 2px lightgrey;\n}\n\ndiv.def {\n margin-top: 0;\n text-indent: -2ex;\n padding-left: 2ex;\n}\n\ndiv.def-doc>*:first-child {\n margin-top: 0;\n}\n\n/* Collapsible inlined include and module */\n\n.odoc-include details {\n position: relative;\n}\n\n.odoc-" + let d_92e0c0a734f49413d685531ad3f0a03e = "7],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},\"Typewriter-Regular\":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},B={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bi" let d_957d4df68963704d1e67c9a5d435c28f = "/\166#\255\241\201M\179p\217\244\235 d\242\246\200\237u\016\226}\229'\200\253,\1543\239\021\208`\184\218\025\199w\021\132y%W\184O\012\012b)\\\131\136!\175\227\240\182\226\185\"\174m\208N\205\236\166sx\208\\\152\206\147\127\196\157b\141\131\241\226\000\251\239\142f\253i\168,\000\185G\182bg~fs~\031r\212 \150\180L$-\198\220g\134\018t\167\1935P5\230\203\007\141\229\031K\241\239\1357\188\212\243\132\2166\024\n\194\233)\236\179\197\023\136\020.\001\181\200N\139,;@\191\021f\228\204Q\160\004\014\150\018\1505\210\215\206W\018\196<\186\203\225\203\233>\002>\249\166\024\233`\203\133\164\182\211D\015\182\192\172\195\249&k\1870\t\233\003\148b\177g\026\207\203,\209;>=\195Oxt9\232\238\026H\248\158\242\127\161.\190@\180\b!\195/Z\134G\148\029\160/\134\025\011\250\012\236\159\\;\1377\147=\022#\022J\196w\197\014t|F?\185X\224\153\228\237\137Sx\199\166\167I\005\1395h\166\018\240\016\246\245\006i\167i/\210\1892\182\162ut?\147\136\r\235\199\138Krb\240?U\168\186\"?\178\007\b\217\\[\251\2153UOOo\231\216\189k\247\140\237\148\168L\199\173\138\148D\251\012\015G\\\144B\2340\235F\210}G]\243\183\238g\244j\184\237\1379\004\170\029=\017\254d\147\191\014\139\021\160\219\191\028\142a`\233&\024\179 \135:\175xF\028\1895<&\206&\147k\143\247\247\246em:\192I\022\1861S\n$\147\244\182\152V\248\239\234\r(\212\022\212D\216\145b\145\174\173\149H\183\239\243f\026\029\227n\138\030\229Y\231;3uN\165\185\140\221\132\144-7\127\206r\015\178\166G1\213\187\213D\146@\030\227\154o\245L\251&\156\188\002u\019Nr\156\001\2247Wb.\145\004I[=\175<\t\210\203;\169\156w4\190\240\243\234\177\019=0>\249\001H\017\18742\165(\248\228\176[\184\133\212\136O\000D\188\202\170\248c.%\137\235-\019\133\246\241\238H\015\219\020E\194\198\196T\023\255\208\206\221~\190.@4[\183\151\004\168\006\017\143\252;\242<\018\164SS\1779\215a\024;\0184\185>\005\174uL\028\020\224\133\222\250\004ysm\136l\r\193 \208Z\153\152\198K)\017\214\150pyx\181S\148\200\137&R\017\194Y\014>\180cD\233\020\249\011DB5>\220\201Ad\252\157\194jx\225g&\189dM\179\224s\237b\176\174L?\232\152\254\254\194\137\023[~\017-\249=\235uQH\002\216\2286\188`\208\214\135\211\205\241|\205\196\186\254\b>@\148\224M\255\236A\250\030\215y\140\179\139E\130\000>\254bVn\247\134\2546\238.\219WJ?F*\214\199D\162\141\243\227\252E\202*g+\144\016\\\155sY\249\231\225\181He\017\129\142\214\197I\135\184\014\212\172;\240\138\188\142\022\189R\203\166\147\253\250\173\223\248\024\b\002\141\213\027\181.\171wQ\153\190\012\127\023m\233\131)Zg\151\016h\012\132\127\239\205\213\175\143\165\029=q\0162\191\247\255\189\235 D]\242}\200o\012\221p\224sMS\181\146\223D+wH\163\145\025\2169\162fys1g%\173\209\161\144f\129\178\218|\150\208\199m.S/i}|\134p\135\233\252\192\149d\141X\163,X\189\186\149N\239\208\201\198\166\155Kj\139\204\018\2362\254o`\202O\211\023\146\b\189\233?\221\221\221\001\011\216pQ;\2365i\196w\020\160\016j\215\241\140\004KL\228\228TQk\191\199\247\214\211HF/\\\135\236b@\026)d\239\012\214>7\")W\139N\201i\130\020\153\129\228\244M\029+\227\240\230\221 \240\206\221F\203\222\187\163\190\168\253\228\197\003\202?\023\020\177\129\185\156\029\172L\219x\225\199\"W\245XD\176\162(\160\198\181\213Xb\159 \167 \021\021\188\249\198\237\231\162\155\234Nx\214\020{\245\164\198\173\015\184\215\218~\220?\2236\026Av\016e./+\143#\211l\155|\002\162\b\012\210\190\136\014\233\226@\151QCHI\020\163Z,\139\178d\154oK\239\200Z\232]e\\\029\214\234\222Q\245\001\004\028j\184\241\202\255t\151\242\143\177=\137@\176\194O\195)\1443\195\247<\246,\014\127\164\017\198\156\165>\225.=5\188\144\240\174\015\191\252=\1894A\232\150\138\176\175n[\130'\2003\219\195:M*M\179\246\152R\"b\002\003cX^\152\224ur\156>N\190\014\019\236\197\218\207#\148S\030 \021\164*\225\145-~2\018\252\238YQ}\030\225\131O\177P\250(\214)\252\226R\173\250~\198)QM\152\225\255\133\241\255\204\018<\143\215\019fg\014\219'f\b\185\023\237\012G\139\172\223\183\235\255\225+w\177\239j\200\222\015{>\\\249\147\216\178M\191\127\184WH*\137\217)U\197\163\180\154P~]T\170\255\182\186\204\189lE\235\190{\005h\"\231\0112\157\134]\247\179\149\128\251\191\172\168\148\249\129}\168N\216\240{\201\022\190\245\016v\014\245\252\135\016\242\005\160>\200&\t\239\017\211j\175\200\180\027,Q4\139o7o\251/\180\1946Jo\016x9j\238\151\184%b\204mO@U\218J\184x\154\173\220\134\203\1746\237\177\206\132\185\145\174\148\236^u`K\r\180Q\182\194`n\224\162\233Sp+7\222\189\163\175\209\133\1339\020\241\248NX(k<\190\022\026Z{\138'\023\136\2201\215\201nt\186\027\249:\198\189{,\211\200\178\030S\148\211>\191u\"^#:]{\235\235\186\243\173\244\150tw\247\177lN@b\203+\031\017\206\191\178\132\189\180\188@\224\172\242t\181\n\019\186)p\174\212\024 \001\151H\n\199\t\0018\016\248?\142\208\002Id\147Cy\156hs\023\139\024 \r\151N\138\197\249\000\000<}\001A\168\133X\229\190f\182m\203-=`\246w\199\247\250\201p\227\210\006\237\139Q\006\151\018\161\140\150\164\r\133\r&H\203\195s\253\233\\?\157\000G6\007\1449~\197Q\133\208\142\151\219\021C\184K2\019G\161\146\022\230g\159#*\227\196\bv\168\213;\0041\209\029\241\154`\007\219]\017\0293\222PTM\194\210\192\192R|M\r\017\210\226\151D|\243\141\155P\019\182\157\177\"(??h\005c{\184\214\244\209.\231f(t\160\247\236\153U\"\024\152\203S\150\203\021|\251\000\186\174\223\233\t0\247\140B\219\253\168\200\b\204\229\128\185\"\163\147\211\195X\011\199\158B\134\167Y\128\te\136\221\169\175\133\223\246\230\172\195\rLu=>+\244\155\031\012\194%\141\220=p\215\206\147Mh\\\011\251\187I\231\175X*oX\221\016\195\180\185\239\229\222\142\251n9\157\022\239\163ox\152op\216\145\213M\251\2428px|\127\216?\155\242\2379\236\1790\202u\209\027\140\188\214%\002>\242<\197\019\225\217\155\186\026\171O\240\143{\1975FW\166\209}\193\003\238s\187 v\161\168y|\202\139\251c\147$\141\148\253\230?\198L\1646\254\1582\142w\181\127]\129\153\252\252\130\183x\1674zzx\241\129\194\004\203\253\144\165\229\144j\001\210\177\r:\127\146\193\028\233\216\029\180=\222\1892\132\197\235\177\206\133\177\2331(\007S_\212h\182\130\254]\252%\167\204g\026\183.{C\207J\174\210\215\172[K\250\145TL\252W\144\248\218w\184\162k\221>\183\137\167Ca\251\227\226P{\221\210\197\182\145x\023\011E\234\174\244\205\246wH\b\144N\158\187\170wJ\142\201\181\229\190\178t\148Q\207\027\244\r\177o\191\182\175\"\15447\181\165\194\230\n}\143\186*E)0H`\182'\210\153\237H\165\192\169\243\2037\204r\021\218\131\239+\1761&\206N\017\240\151L\134\173M\188_rR\154\b\190\137\150\025\163\175?\2433D$*)\141H\183\143\020\024-;\208\252\rn\186\254:\020\171\131\201\188\1615'\130\211G\156HF\151+Q\206\nWz\163#\243&\197d\254\240\220\017Lf\172\206\193\031>_e\006\182\234\210\208\000J\nu%x\0116\173\216\194\217:\200\159\157\129\241\215ol+\134\249\129\r|QC]\166\157E9#9\225\006A\1370I<\012\018\168\204 \206m\142\153\255\151pK\031\227[\186x\238\144e`<\223;\165'\2530\014\213\161\b63\238\233\025^\143/N\210\030\029E\156\145\129\0298\n\128\199 \139Y\007\155\173[(a\207\1694.\198\242*\006\145\252\011\175\017j\242\152.N#\b\221H\193\142L\137u\158T\154F\245\244J\195J\156ia\028;O\139,q`\150\141%\207\134\163\185\006a4\2087=\016\226\226\020Eq\183r\209\170EB7\247\0299+sfEX\210]>M]\1677\127\192\000\031M\135S\2382\252\018\156~\214\167\170s\239\160\217\215\001.\014\241\177\205[\255d\182\031K[,\206\004\210\231\145aS\128^\003\187\029\164\155\026[\029\021\244\1646\244i\173K\196U\031\159\148?\238\028\246\182'\030$\178\208\200\020?\159\154\252\187++\031$o\251\183\020u\180\172j|\1458~4=jsS\184\143\012\014\238N+\255&\169\026E\216m\224\205N\195\197\143\250\217\253\191/\006M\005\152\239<\2539y\016\231\184\222i\2074\1563\213\229\178\243\199\185\192\227\129\230\221\167\191$\233\011\031x\196\194\127+NC\r}\014\154\244)\154\n\216}\011\000p=\229\137h\162\216\182\187\001 _+e\184\199\192\r\021s\127\r}\015\154\244\198\230\178\017\196Y\239\171\003p\254\2056f\235\236\150\184\245\129\247\218\218\255\243W\162g\146\184\215\007\224\226G\163\241\018~\n\165N\022\012\188\199\154\182_\140\006'\127\180\156\140\232\144\222\222\189\206hedI N\217\249\230K\238\245\028\031D6\250\217\131f<\229rz\135\244\198\224\026\227\166\232\\\146\170\146@\011\029\233\204B\173]=hNjP\003ju\190\209\252\201\182\160T\129DyA\233\223\135\219\171\234\234OJ4\160js\172G\t\236\248\023\188\214\191e\198\217V\005\248\167\018]\157\179\128I\219GJ\204\172l=6ZX\n\207`\200\133\247\181E\158\169\174u4\255\173]\141\213\209>\235:S>\177\247\249\181\198W'\154;Y\200Ma\243c\204\235u\212ZX\152z\196~7\143\221\195JPu\185+JiG\203\234]\175?3\229\133I\194KM\178\238^\171\141\144\175$\211\221u\186\209\142\017\214|\167.\193\182\222\237*\227\028M~t\132Q\0219\184\157N\201\182\138\236\n4-\019\213_\029\173\214\023\229\146\151\224s\208u\250Cr\191W\142>=al\167t*\nv\137\129\227\170\031\189\253\250*v\029L\200\169f\137E\185p\136v\162UO\001S{\158\174D\223:\157G\198lT\190@f\210\226\128\210'\138\b&q\197\181\212\021\155\132a\030\212\221\235D\132$\135\217\023C`\175\024J\173\186\004Q{]\169\b\201w\182u\025\214\181\245|\159\242\178i\150\159\005\002\129\002\"\172\136\238\130\131\196G-&AV\227 \206(\144\164\242\166\146\198\148\180\164I\021\253\r\004\181$\136]\174%Ff\245y\208\252\140\rYa\172:r\233>K\162p\1722\242\170\143-\214\129\195\212\193e*\149\167`a\218\235\237p\023\234SB\202Smr\165P\128\015F\182\1358:\002u\164\129\172\014\007\205\163\174\199\204\161.5\152\171\015l\150\197\131\163\151\141\\=\171^l:\164)&\250$UgUt\023\146\r!\241OR[\017\017\219\220\2144I\n\165\250\186\194m\216\134\148\006\142\141A\170\170^*$$\191(\b\137\175\030\215\205\rG\017\163\192\255\193\139w\233\195\006\233\r\160g\253^?z\000T\202\170\141?\003#\211\148\023\168}0i\003\215\171\252\020" @@ -266,6 +266,8 @@ module Internal = struct let d_9c62ce25963b0733dee65c540c429af6 = "\191\210\164\160\254\211\139\246\246\220\162\217\015\209p\231\226\144\004Y\184d\144\164'hr\144\167\136JwUU\026\017\149\154\247]\014\028?@S\237K\n\173\242\015\165/?\230\019]\007\179T\182\230\228\203\207:\150v\138>\127\252\252\246\147E[\192\169-\132\138\r\229\229O\228\231\133X\149\182\192\250\226\030b\169\222\199U\160\213=.[u\026=\167\205\173A8\"\220\201\168\196\211\151v\181\b\229\130AF~\233%n\137\1849\203QP\151\2442\141+\222e\233\143Y~\1588\198q\164P\186\231\162\029GG\"Z\185 \214\215\154l\023\2005\221\160$\016P\202\239\015\202\168\193R\019\168\235\175\233C>\161Tl\168\192\015|\011\180S\180\183\206W\151\020[R\186\n\215\185\004ru\221\200\201\213$}\209\160\202\233\025O\243\237\152\14539\026?\026\031vM\238\254\b\224\024\205\019\031\197\229\210\129\131.\147\235`\128\190(\151@_\246\246\160'\018\173\139\142,\211)&\020\186e\194MKMEmL\2401\173Iw\165\231\2294\166\155\231\199\172\162\016\000!\170\140#\180?P\180g\183#-\196\170\232\199A\233\132\212\220N\197\218\220\030\219\253\202\255\191\138N\214\245\154F\234\014\231\030\174{\201\204\254NF\175\254\127l\227\004\186=\224$\014\132\180\129\134]\149O\203\149\197\179\219\223\136;A\147\131\132\205:\231\230\011dB\213\199\253\155BJ\173u\198hG\235\172\240x\220IY-R\223\198\174\128\179K\226/\016l\254\248\167{\031\207(\016.*\016\206\248\248\222Ov\205\254\231\023\150\188\203\r\146\029\179_\235y\245\212ty\170j\249k\179\167;\003\216H\154\007\021\249\234b\152\234\151X\153\198\005\226\161\000jwu8\t\205\222\154j\023V\225s?'g\219\145\190\163^\223\0217uE\197\209\220\175r\143V\172\152\138\157\154)<\235l\139\016o\157\179;\193\140\183\139\206\137\154\160\002\239O\031\023St#\203\183\022\221\t\223\185\243\2068d)\229I\191\196uZ;\240o\216\005\155>\016\022krKTy\178)o\207\136|\"\014D9\202\020\014n\015?J\196\220\249\0272ux\243\015\190\188;\029\234\164\144x\231\019\016\240B\195[B\"\190<\027\231Z1\170xc\200\020\250\139L\178:\163\155\241n6\r\141\190\245\15731\238\168\029?\247Sd\003\227\241\031\196\143\015\028\028_\210K\154\244\216\242\023\209\1745q\131k:\231\221?a\027\209X\215\004\170\243\170\002)-\201\149\191\236\249\226T\016UtP{(\2183l\031^&\016\183\179\229M\209][Y\161\252\2075q\223\149\017\005\248`\187\167\193\005\02346\187\1760\209\1779\005\134\006\210V\028\192\152A*\020cI\170\030U\200\135\151\163#2\203\170\211\190\137^C\148:R\172_\190\174\140\003\003\014x\224\242\153\160.x\230\242@>\000O\141\239\254\163#.\237\218\132\254/\151\189\199J\169\211x\145;\243\1438>\002sb3\127\183\017\197g))s\143%\231\220|\174\1953I\197\151\146\141\167I\153\0038`\170\231\186\203\225\186\222C9\224<@\146\167\027I\169\182\006\148\150l\174lA\2312J\t\171bC\243C\172\202x\0213\192\170\2353j\190\197i\218up\174e\133y\175\025\131\000f1\191\190\1942\247\160\139\166\241okf\168\174\027`\236\170Q[`uF\139\171\204J\1484\"\242\202\014\139\166 \197\"(I\214$).9Xp\176DR,kJ\130D-:E\211\236EP\220R\207\133a\179f\167\246M\131S\187\211\186Y\2182\162\165\165\140_\012\227q\012\030\187}\251\197\143\151\242\1273\018\171o\149\150\224\169\162U\177\182nk7\226\152\149?'\204\196\128O\198VVV\1635^\029\001\2302\139\133a\012e\144\021%>\163\1365\167\208} s^n\173;\026f\232\246bc\149\149\202\249\226\025~\231CY\r\254m4\007\2300\190g\223\130\248\196%J\186\021^xs\011!\023\180\211L\216\185\237\214\151=\242\229+\0007V\1478\133\196\190\231\219\247\169\011\156\023\151K*pc<}\132\216#\171\021`{\027\127NH(@\017_A\026?\250c\240\247\142\169\211\200\178\019\174\190>\248y\165\213L\168\"8\016\172\b\177\233\245h\214\006\137\t\167\199z\138\246Q,\"N\147\176\155\2303\157\017\022\205\015N\202\220}\2550jM\186\171\175O\158\127\203\197E\031\134\245X\216o\252\1873\022l\198\005kG6\221\220\r\230\207\007\189y\208\238\155\155F\214\n\240\205\250\021\005hfu\251\241\225\230oQ&\201\165c\175<\142o\246x\222y\206\134\141\223\187 \232\216\030\177:t\158\141\249\148\209x\238Ug\245\191\\\227\155\142\244\245,A/w\175 U\172\205\1480\244\216\208\r6\159(\247\212\215\228\026\199\n\181%\196\129\rR.Wq\1982b0Z\2094\203\157w\023\153\176\017xI)\161\173\181$\186\012\171h\204\196\245\228\152\165V\229P)\248O\212\231\017\173\166\0278r\148\243;\163\181ui{a\202\023s\232\146)\0225g\219wo\134\018}\031\231xk\178\012\155\238\164\207yp7.\181,\132\025\184\r\203\230\133+R\157\025\174\026\129\149\135\2032\031\216\189\026\230S\134\254\137\230\174\131\182\243\217+q\249\165\217\249mAg\n\217\242-M\218,\148pcb#\170\189U\223\183\184\214\017\181t\020\247\195fS\255\227\252&\133\186\206\145ocY\254\178zW\180\180\2065\181\210\159\237\173I\241\026\253\230Ax\024:\182\159\016:\255v\150c\127\191\185N\128VA\225n\180\006\021\017[\222|\022<\027{\175>77'\163X\191\2478K\n\198\138\026\172\153\129Y\021\n\247\149X\135k\218\028\221\171/\173,-\172\144\219\"\207\238\192\226V\130\149gz\181\209\193\239\1553\028\199ka\150\158\160e\167\162\016\129\2476G\171\241\184\154\241\141\\\0306'\187\216\254\015\232\186\177Z\166bC\2179lFz\136Es\boGsQb\232\244\210\219\241\198\1595\212k\148\234;\011\012\144pF{\146\187\1735\016[\190$\011#\148\210\176\011\146~N\249\193\198\007e\158\\Gw\160@\176X\191\192\235\246%\187\022y2DfylC\023\018\027\147\028c\254\213\018--\147\130\159\251\251\rO\221\139h\216k\021\129\244V\211*\154\203\254\234\023\164\169\1668&tt\t\218Za\137\203|e\161\186\147\169s\131\160\134\156\173\190\208\2515\229\128\020\211?\003\137?\028\149Qr\172[\001\154[\246\220ZW\"\232\185$V#g\146hF\203*$\011\127'\214\156^\197\186\157\160&\183\006\180\181\138,\212\238\221y\185|77\212`\200\145{1.\138Qh\183\207`/2h\191^\217v\239D\025w\236|q!\168\213hk8\028\161DG\201E\221\"\011\245\245\239]\194\213ZTJl\190\223+V|\128\201\218\227W\180{r\2508\015\141\031\232q\159\027\228\148\191\144_\149\1791\240k5Z\234s\221\248\227\215\023\214\214\234\162\242\245\186/\"\210m\003\017B\167\159\248\251\135\170\146RswY\179\210C\187\178\141\227`\239\171\183Q{.yW\158\255xS\242H\171\235\230\212j\146\133\181q\130\198[\020]\018h{\196h\252\171#Z\250\241\000\193\018\184K WM\137\141\t\157r&\2333\215T\141\230\153\235\"m\028\176h\001\129\014\253\244\187\205\184\1597\189K\222\244$\161\159\148\193m\174\223~'P\206\168j\138#7\196\210\b\244V\2544C\172)\178h\019\213\250\23936\234\243\b:}\216\237(\179\205\232\180\203fF\201\178\215X\195\147e\191Jrl\229)xW\148)J\024puf\249\131\025i\254\202\140<_s\166\166\226\230\004\134\189\031\134\226.m\031m\174'\156\030\250bs\170:T\183]\159\242\161\198&\\\248\207\237\221\1801l/\155\254f\227\180\2252\012\190\140\248\ng\ne\132\156\254\174%I\249\230\157\229\225\217\218\002\207|\206[>m\154\168\148\023R8\202Ci\210\129w?\030\209\176Rm\184\134_ST\138]|\003\239\194\18923\015Ce\030O[\254\236f\017\253\030Mn\182\195c\197\2376\127\t\215\229p\230\135X\149\198\159\025\209*\167\182\1796\240\199\205\130r|ssX0\213/\240\t\253MQE\241\247\186kx\2408\127\231+\139\160\200\17983H\217m\128\252a\201\170`$:\206\150v\239yJ|v\193\215\173\210\255\0055\018\150\192\004\158\159Z\236\133\254\239g@&\243\193\132A*/\141\136\140*\232\153\149}\140\027}\234\144\226!\237j\175\243d{\r\205\220\129i\182\228\016\171\001+\207\180\217\225i\255P\184\247\236\218f\027\031.\\\130ZP7\165\007A\157\2179\1302h\217\016\2023'\160\241\158r.\225\187\1671\2542f\202\136\239\129\r\246\246\221\143\235\0068w\220+\181\026\234\146^\b\197\187\174M\254\249g'O\255)\173\241\191rr\141L\220R\185\217\157V\152Z\b\245\236\178\185\012\1866\182\1662\004\026\250\222\207C\127\000\144}\169{\239}\213:\153\014\170\170\132\217\019\149\225\016M/\203\242\030\tr\227^r\159\131\242a\238\203\213\245/1u\191\200\149P\249\138\151\169\232N\191\220\207\024\127\179\176\231\025\250\014\205\145Q\022\130\151\186*S\030@\251\175\207\163y<\132C\152\136\200\195\031\171/\211\234i\205\173`\149\246_C\185\164\018\152\018\232w\137%\006\031-\224\t\248p\141\012<\250\233\149/U\250\021\163\173\164\149\154\006\004\030f\175\163*-\171\177\184t\253'\166HI\175\002tFL\247\1381k\b\223PD\201\b\170h\003\030\178\022c\247\204]\160\139lx\022\221.\194t\195\1631\163\195\234\222{\160\179\131~}h\198\204\161\215\216v\208q\t\253\242\249\017\2283\234F\218\162\132#\168\247\128M\031>\241\204\199\203\161\229\208\193r\140sl=NkpK\209\006|\2531N)v\rZ\014)H\239\020\233\129~\245\177\200(M-\031VO\251\222\212\217\206\19064\211f\031z\157\238\2322~?M=\188\156\162G\171\209\203\240z\174\241\200qDz\255?q^\240\201\005\137 \226t\238\140{\230\223\179\136\242\194/c\031\162\221\169\204a\150r\022\027\168s\012/\227\195Db\210o\176\019\002\162\254[LR&\143\249\016C\235z0Q\141\235\162\135\128\2365t\204$P!\192\023HD\183\031\234\2486\2296l\223\181M\157-bjy\228\138\245\242\215~\002w\175_\183\243\137F\189\017N\250\195EJ\007\255\229\nv\r\020/P\016,\237\237\021\030\200B\253\230\140\179\183\162\029\rYfLTY\153\003\233\207\242y\183\222<\127'\243\196\221\246\011\002\230\238\226E\t\178e\137\238\187\012\255=\180\245\247\131[\128>\205\181g\247\178\170>\161\186\030\253\242\174\212\136\147_/\029\141\129F8D-.<\180\200PD\251\025tz\166\148\190\006\245s6\199y\191&q\163T\224g\138hC\017\250t\187\197@\233]\141\164$\255\187%2\133,\145\218\217bG\0303\0066\132j\188\162e\186\147/\135\205\250\027\178&h\214\183\239\202\229\198(\249\209\132\217\152T\014 R\179\163\179S\255\226\243M\015\151\2519O\131?U\217\1971\238\177K\005\127\227;\241\191\005\210=v\227\147\169\131\156$\b\001\176\212\182\215\251K\230?P\244\170\252\155X\167\188\0299\214\137\250o\164FO,\158\019\175(\235Q?\188\131{Jb(\235\242e<\024\134y\203\134\228\244\233y\157=\183h\249\208\191\155\191)\021X\155\149\171E\200`\144\0012\017\211|\138\203\253\133\167-M'\179\144\012\b\130d\248`\011}\181\183OR\147+\186GH\024:@\004\173\169\247\163Q\000\161\230\212GV\"x\000\130\201\017\248|\249\235\209\203\237\250\153z/b\022\n\005jud\200>4\138cJ\012\143$C\244:s\207\241\244\177\163UNK2[PJN\177\240r\168&*\135g\153BrWr\255\217v\250\206\176\152\022\026\230\244\160V\005^\193-\215\027\205\006\019\167\233oA\191\189\211>\251t@\180\234\137\227\019\189O\023\237P\250\185(\165\214E'1\167\141\248\188\191\127\255\221=\149l\n\204\187\245\179A\171\137\196\184\220l\252\\k\235h\140\"6?\224\"\207\252E\163\230\159l9\1903\252\180$\207\011\028\015\151\233(J\241\005R\229\152\139T\252\200D=\166\248\161\199X\131\029\188\177+\029\\\233\015\030\150\182\011z\003\225\rYC2W@\135>\180?DWjsk\184(\213\175\151v\130\186W\186\172m\129q\216\t\015\181\228\158\145Kq\246ls\238rv\002\135\225d\180\229^q\162FK\1729\157\211\002\195\184\021^\222\146s\142\197\165\242\179UL]m\133\241\215\210\030\205\254*\027&GW\172\020\t&\243gm@\224\142\129\253pv\014,{\134\0207\222DPr\199$\014\194J\129\154X\192G\160'\159T\173+\0233 \220b\242\208vU\248\213 \142b\001\174\017(\225\160\216\020\030\026\165d\151\238:8\137iQ\1582r\017\023\014;\247\232a\152\187\168\140\140\242\164%\202a\020\249\128\162\238\161\209\027\235\231\1434*\198\n%\157\131Ay\250\244\184\182\215\183\172Ca\138\020\154L\196\015`\018\216\127\172\162\162\235\141$\017%-\016\171T\222\167\022k3\242\139\177}\2264\191c[\002\161]\252\148\202\171\190/\245\224\196\132\175\235\159\173\136\133Z\1720\154\132\020\t\163\235\182\188n\237/A\191\242\187\200O\241~3\175\2300\231\153\168\135\025b\017\183\149\219\016]\016\025\208\rD\n\162\185\r\220J\244\179\153\253'V|\221\012^\174\149)h\161\128KBz0*\022\142\166@\006\157\233k\231\21529%\192L\016A\140\202G\t\143\144\208\131\211\157\135(\169\000\134\237\241\135\180\180\144\171\127\162\175J\249\186\135[\154\202J\221j\142=\222)\n" + let d_9cd2127654bad2ec912e7f568f5fc008 = " min-width: unset;\n max-width: unset;\n border: none;\n padding: 0.2em 1em;\n border-radius: 5px;\n margin-bottom: 2em;\n }\n}\n\n/* Print adjustements. */\n\n@media print {\n body {\n color: black;\n background: white;\n }\n body nav:first-child {\n visibility: hidden;\n }\n}\n\n/* Source code. */\n\n.source_container {\n display: flex;\n}\n\n.source_line_column {\n padding-right: 0.5em;\n text-align: right;\n background: #eee8d5;\n}\n\n.source_line {\n padding: 0 1em;\n}\n\n.source_code {\n flex-grow: 1;\n background: #fdf6e3;\n padding: 0 0.3em;\n color: #657b83;\n}\n\n/* Source directories */\n\n.odoc-directory::before {\n content: \"\240\159\147\129\";\n margin: 0.3em;\n font-size: 1.3em;\n}\n\n.odoc-file::before {\n content: \"\240\159\147\132\";\n margin: 0.3em;\n font-size: 1.3em;\n}\n\n.odoc-folder-list {\n list-style: none;\n}\n\n/* Syntax highlighting (based on github-gist) */\n\n.hljs {\n display: block;\n background: var(--code-background);\n padding: 0.5em;\n color: var(--color);\n overflow-x: auto;\n}\n\n.hljs-comment,\n.hljs-meta {\n color: #969896;\n}\n\n.hljs-string,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-strong,\n.hljs-emphasis,\n.hljs-quote {\n color: #df5000;\n}\n\n.hljs-keyword,\n.hljs-selector-tag {\n color: #a71d5d;\n}\n\n.hljs-type,\n.hljs-class .hljs-title {\n color: #458;\n font-weight: 500;\n}\n\n.hljs-literal,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-attribute {\n color: #0086b3;\n}\n\n.hljs-section,\n.hljs-name {\n color: #63a35c;\n}\n\n.hljs-tag {\n color: #333333;\n}\n\n.hljs-attr,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-selector-attr,\n.hljs-selector-pseudo {\n color: #795da3;\n}\n\n.hljs-addition {\n color: #55a532;\n background-color: #eaffea;\n}\n\n.hljs-deletion {\n color: #bd2c00;\n background-color: #ffecec;\n}\n\n.hljs-link {\n text-decoration: underline;\n}\n\n.VAL, .TYPE, .LET, .REC, .IN, .OPEN, .NONREC, .MODULE, .METHOD, .LETOP, .INHERIT, .INCLUDE, .FUNCTOR, .EXTERNAL, .CONSTRAINT, .ASSERT, .AND, .END, .CLASS, .STRUCT, .SIG {\n color: #859900;;\n}\n\n.WITH, .WHILE, .WHEN, .VIRTUAL, .TRY, .TO, .THEN, .PRIVATE, .OF, .NEW, .MUTABLE, .MATCH, .LAZY, .IF, .FUNCTION, .FUN, .FOR, .EXCEPTION, .ELSE, .TO, .DOWNTO, .DO, .DONE, .BEGIN, .AS {\n color: #cb4b16;\n}\n\n.TRUE, .FALSE {\n color: #b58900;\n}\n\n.failwith, .INT, .SEMISEMI, .LIDENT {\n color: #2aa198;\n}\n\n.STRING, .CHAR, .UIDENT {\n color: #b58900;\n}\n\n.DOCSTRING {\n color: #268bd2;\n}\n\n.COMMENT {\n color: #93a1a1;\n}\n\n/*---------------------------------------------------------------------------\n Copyright (c) 2016 The odoc contributors\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted, provided that the above\n copyright notice and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n ---------------------------------------------------------------------------*/\n" + let d_9f8d31b592653b489fe7600729009383 = "\228\151\194y<\246\011(\018MJv\229\135\236D\021\026\157\199\255\250h\189n\214wu\016\154sD\203\161\181\238\154\151\005<\185io\200!\228!\184\198\249m,-\025\142\213V\187l\196X\026\235\193\165\139\129\231\240\184\202\243\206s\182\1471\213\132\165\145z\0295 \000\181\128\186[Z\193Mv\238\203=:o\135\028k\244D\248\199R\186\200\0210\231\143%\155~+l\024\222\133L7\"\146\197\158~4\206,LV\143\204\168\247\201ML*\240\017x\138\016\023\160\176\216#\137\208\246MH\019A\206&\235N<\15020\185\143\188\240NS\031\207\239\217\1784N\202\192V\251\212\167\214c,\165\240\196p\171\\\154C\015\015U\184\018p)s\179\154\131\139\228\201\249\190\141\226<'AW\153\1793k\255\203\141g\183\142\224\019J\022\148\173\029\201!\1848\239\159\218t\234\240\b\158\159N\221O\184\014\178\203n}Ey\133\204\164\205\134\196\239\024\0246P\\\192u\249>\235*\029\\\204jx\129Sh\200\1589\247y\127Ywa\031\b\144\025Zn\212u\152\016 \214\132{\bB\021\142\136\211w\003gsPpVwI[\190\207\182\238\173\213\144\250\206\213C\249z\239|\220\190\154\136\240\192\133\184\"\2488hhY\255\205\234\028\127M^m\241\"/\177\242\143^\142S\148s\173\240\245a{!\231\130\214\192}\161\199\147\196\215\251\183\198\237\153]\1946\187\248\012q\223a\150\248\206\216\225\187\226\127\223\029g}O\028\171\189q.\020}\252\020\133]\162\240C\020\206w\218\191\216\177\179\245(\028\150\189\137\239\242\186v\219\t\187\246d'\222\190#\234|g2}W\214\250\238\140\173=\025\150@\r\180+\144\016\0052O\129H\195\241\012\015^\152\246\138\159\244\141C\214\127'\255\2521gr\185j\190iG\199\174\012\019\128\200\189jT\211\030\160Z\019\191\131\197\214\194\138$\230\141\031*V\135\187\170Q\139b\028\233K\028\161\003\0020\1369\233\003\153&{\192\016h\246\135n3\212\132Y\151YjYH\021/\211-\210\132\165\007'\016\b0@\197\204\003\017\173\193\001r\249f'H?\187|\129\b\019\244\158k\182\201\207-\183\136\134-\255(\1370A\014\177f\011\177\007\201\151\016\020\218Y&\172u\tp{\202\186\177l:\222\226;\223\012\023\206\152D\152H\246^\179\213\221\210A\175@\130D\152 \132.\177w\160\231\187\137\238B\129\199\239\001\242\021\166q\135\130b\196\187\159\20012\137[\248\159]\199\0022\231\017\199\029T\244!A\168\159p\252\167\213\210?\230\223\1407b\1942.\169\150\2120>\004\014\028\164.\1315\139\201p\129\159YoO\144\023\231\208,7\012\2022+\132\161\219\137\027ujV\130\204l\t(\219{C\219|G\20178\208\204\026\147\224\134\020 \023\neR\0011\005\193|\189av\247\244\029t*\129\000 \254BP\028R7\133\231\154\011\171+pZj\161\021R\1678\012W\1347\2550S_\183\030\226\166d\022\153g\023\232\188\"H\211\018\194\153\209\011l\14257\211N:\178&\0146h\178\156\138\244\020\159y\1563`\240\142\166e)\182\020\012F1\242\153\221/\026\026\223X\223\203b\246\247G\242\144\209=\230\222d\199\216`d\162\185\231\128\031\128\149\184\016\"\027<\018\015\000\155\146\232\214\240\240\\\251\029Y\026\031\152\242}\168+\227\130[&@6\215<\170\163\014\211%\1344\236\019\234k\215\rBZ\132&R\171\251\022I\160\187Y\139\134Y\173A+8>L\233\172\189\t\019R\196\2102\003\178\165\\\029\24800$\017\"\195`\136@QXU\234\020 \006\151\028\128\249\217w\152ad\000\189\173\174,mG\018\230!\030\230nP\228R\199cH\"\024\206\b\141f\192)\025\219\211[\012\137\253W\014\251`\bn\210Q\209\230\235K?\215%\166\225\137\1641\165W\2399\154t\"\220\026\166H\rO\240\186\174\172\246\213\031*(\208\005\139;(\134\186\r\197jR\155\164\251\198\188\196\n\221%wK\0266\020\243\162h\165\228;\030\r\021\193uJ\218-\163I\019I\027h\195v\249\224\192>\238\025\206\134I\128\158\028\253\184A^\024j\024z\237P\014\156Y\170a\018'\172\227\154\206B\007\136^{\240\214\135\224&BK\130\001\014\005\028\163\128\196E\210\230iV\127L\214\142\249\199:\221\216\198^,\194\145\161\249\r\250:\196\012\167\028\206\165\131\227\227\236%V(?,C\023\129!\172\183\177\017\018w;\209(\170]\006h\166\200p\246\004\160 ZIK\n\0299t\225Y\155\240\154ok\139<\230\132y\192\230d\156\232`\011 \178L6\"\019\003\220m!\180:w\217\180\026\144W\184`\178Vhnd\n\019\020\210\171\148\195D\222)9u\172\233\174rW\221Q\144p\r\184\rl\023\003L\173\216R\193\205\253[z\bLD\128\134\148Pln\133\183vU\217#\006@3T\250XfA\n\169\240\165e\b@\018\014{\146.\"\172\183\226\150\133\164)\188L\029\244\168\016\135\024`\020e,\1531\251\004\163\018\137\247\137 \172t@$\225[\211\210\"\139\018\230\128\153J[b\224\170L\1818d\017\182\142\220\182\0190\212\007--\140\215Y0\183u\213\206\003\241\162\142\2100\248\248*M_\1814\149\bnYK\t/2\133\173\156\199\\\028P\020\016N \\\130X\128\213\186\135\165P/\214\"5H\154J\001\249\204\198%\199+#\t\218\197\233 S\164y4H\180\177%,\006x!\157\165a\128m\020\004,\214*\028\211\236\208\248\213a\172,h\025L\004\178\223\157U\b;Z\130\247\192\030,\016-\196aKt)\199\246\174\224X\128/\030\020\130\214\0008.\015\232b\174\011\2243\187\171\143OR~\185\13711\237\249\216\200s\238\151j\026\165\232}\250r\230uf\156\027|\128\171]\152IZ\130\187\"\227f.\029\005\204XC\232'\134\138\213\226*\159\152\180\018W\025YG\210\200\1445\243U\177PQ\005p\129\226,\002\202:\237\216\029\017\023dxP\015\133!^K\1967\023\016aG\235w\169D\214\237}\219\021\023\216,E\149Y*l\1327\180\177\1656}\172\243\011H\203!\212:\027\235\181y\016\238G\211 E\"\rs\000\154K\135o\191\2270V\251\157x\165\168X_9\000I]\"\179\254(\221d\026\231\187R\147aiw\163z\250\243\2328\250t\011\026!\2162\161\168#d^.\0295\018\148\178\011\204\020\197\133\215#@\003I\166\139\190\187\172<\231\1881\019.>\031=\127\019w\031\023\016s\207b^\167x\236\234\0192\167<(\174w\253u\225\179M\236j\241M\242q\158\187\153\198\018\140\n\224l\244\2378>\221xz\b\231\214\140\167\027\1835\020\195:\175\215\235f&\155\222\213_P\173Z\179\188\181\223o+\026\152\145c\208\239\244\231\143^\158\148\238\157\207<\234\028-\220\147Y\221\191\2213\186\234]Sv=3U\217\151Y\139\171\229{\016\142\204wB\143\255\174\206\240\135\137\152\002?tT\181W\213\177\173\192:\220\026JD\161\218\229\175c\021\150\249oq\214\169\202\182\187\153.\137yZ\127Z\015n\206\145\141\012\"\162\2244_\136\134]\173\000A\189\006\213V\225\186>\186\198A\129\248\140\026\004\018\255U\179\211\234N\239\155\2012\253u\136\161\211b.G\203#z'(\192`\007\204\128p9L\187\200\215\248\1759\157\001\239\215i\168\b\237=\234\023Pp\015v\202\r\158\159?_\001d\239\222\030\030\206\211\"9\165\167\137\r\201\152d\2104\228cO:\245\027\185\147\193d\226Y\146\2292c\016\194\"\129\131)\203\171L\014\232Q\000\161\206\b\174n\221\163\236\150\186\029\011\011\215\002\135\1428P\163\164\182v\222NJ\0264$\214\014A~\143\239\167\255\020\134\236\192\219\178\230\214\184|\137i=lx\157\215}\219%\225\185\157t\161\180\236:\230\015){\237\205\204\226x\136\195K%~\019\023c&\024\193\127p\240\227\251\030\130\155\243\165\175\196L\144\242*\223\216[\143p\203\222!\135\230.0\154\199\138\195\2523\224\018\254\017\149\218M\221\158\150\250\137\207\173\007\173\191\161&IS\016\224Y&\007\164\130x}\208\020\192\238\247\023#\001{\248\242\182h\184\177\194\253\138\1692\160K`\169\203\150\241ABy:+4\192\172\218;R\156\2044\015\154CL\164\160Ff\184\143<\246\155S,\219\241@\234\150\238\001.\132\166\219\207\190Z\024\023\r1\161y\1796x\174u\174\183\193|\178\180\\(\244\152_\n\251Al\224\204)\204Y\195\249\242\002\211\019\027\163\219\169\030\030\251\253\200\199\016\218pP\021\235\153\"\246\029\185Q\022\176\155tIg\005s\138\016\249\012\209\021=ys4\170\251\167+\135\188\211\252&\232\243\155\015\1803B\239P=\"\169\028\0248>\196m\223\230\240\186\151\207\204\b1p\205\181JE\195\026\181\180fS\001\230\024\208\r'\140^~\197\229\173x\1766\184\153\223\172\019I\242\144Ad5\017\138\141s\165\181C\021\246\215\137\018\028\176y-k\142\014\155\213aN\136*\"\215\130\182\154%V\172b\157S3)\184h\198O\173O\232\179C\156Z\183\132-\0311\225\147\249+\128\153\127\029\192\027\241\r\222\195=o$\172\004\247\155%\255\024\143_\249\215h\239n|\225t\234b\029)\243\135\028$^\226\030\254\031\150\242c\177R\129\186;&\136X\171\191\254\015;)\001\235\200|\003\152\011\223\244ouz4\218Y\142\171\142\213\"y\205d\181k/\015\250\2280I\222f{\137\249\004\185\225F\152\138M\bL~\222\213\014\n*+\19763\133I\226\231\167n\193\174\243O\240\006\0121B\181Ix\130\235j+G\165\172u\133\255\204\221kH\"\004&jS[\017/nJ\bM\1742\190\195\241\230x\216\226p\208\199Q\132)\209>I\255\127\\\175\232t\156\157\201\020\135\252+d\201\002N3B-T\232\240t\146\023\204\133\241\228y\252+\176\238u\173\178J\017\166\160\179\248)]\234\011\151\184\128\189`\027\174e\163\193M\180\203\183\188\154\224\227q\135\140\217\227#4Rt@\247\194qd\bT\219^g\168\166\234\227D\\z\tg*\141s\027\178\193\209\148\145\003FL\209\250\005\181\243Yh\189\181V\030\143\142\183\006,3\188x\236\177\1393\180\027\005\242\011\029?\130\238l\168@\190\160\015\230U.\b\1366A\147\244L\208$\137\219Nn#s\233\000\139\142\193\023Z?9\026\214\r\014=i7\156\207}\198\156O\151Q*\185\160\1739V{b\241\023n\159os\011N\214\006\031\241\1454\151\237\145\173\0301\141\201\211\184\237\188\176\001\229\175y\243\166?\251\218\232\157\159\014\232\163\255\186\142\207\186\184\022ZL\219Q\177\134\146\197\022\170\179\198\128\176\t\159\195\165\154W\231\018j&\147\213y\012\212\022)\151\003\"n3zy\221\174\220j\015kD\195\20481\183.\162\133\023\210\232\206\187\231&\005\149O\250\168\030i8J#K\227[\168\207\167l?\183@\216vq\166\150/]\"\207\171\024\203Q\182US\216/\245\247\b\027\190\236\164\203\211_!\252q\0258\173>\018P{\177\n\143_\244\210\183\203_&R~\231Y,\031Nr\212\135\162\222\"Ty\235\216 \199 \211f{\026B\167\207\016\023~&\018)\163\246)a\196\193\2415\242\156\161\020\241\189\t\161\151J\022\132kwG\207)\014b\233 E\210\012]-6\002\236\177\165\182\143\254V'\201\025v)B\215z=\187\184\"\007\227]\215g\247\015r;i@g\023\222/\205iFgv\147\158\235Jv\160uUo\163\145\027\024{&4\166\162\156\207\248\172tw\180\128\246$\140\014\158\233\142\209\165\175\236\176\158\140\193\2217?\140\176`\195\209\197\171\166n\217\153\224\196\2398,\167`\255Het\221\220~\201]x\228\208\232U\200\220\201\147+1\0231\215t@\142nJq\254\185$WN\161\181\209\225Mt\201x\149\137H\174\236\b\r\138\012\rT[\0032\252\r\248\169\012\220\127\023sb}\173\\\173-\026\185\210\130\244/\025\005\011I\207\174\b\030\b\183\189=r\198\t\007\134HX\180\141rD6hm\252\0023\024S&4\232\015t\184{\150\022\209\196caWe\159o\001;5\\\171\187\173\220\135K\127bp3\210\233v\170)\224\028[b\253\205\212xI>C\246\144\003\001\244\t\242\230\"\127b\191\155L\185\136U\233]\128\151p\236\140s|\239\221\031h\237LZ\001e\1408\028x2\026\015\215\227\198/\221\164K~2\217~\184\162\173\209\213\189h\149>\158\196\231\189\029S\140\208'W\142\006\005\218\128\214\190\165Ar\206m\195v^\026l\183\210\154N\177\1979\161\014\184\027Zn\211\169\132\228\183\224\134\r[N\128\238\138\221\185\246\194\r\187\200\203\229\138\213\002a=+m\208M\178V.hl\195u\018\212.T\171[6\188\202\202\1681\218\006\147\002\186}v\003\181\221\005\204Y\006tg\177\231\163P\185=\238\000\169U\218\231\191\171\224\249\193h\019\171\245\024^\183\206\012)\164oK:\003\151\000\166\211\186\203\030\173C\227\198U \237\254D_\163\234\188\197\132\1398\028\030\194\168\019-\179\214\148\167\218\146\171\160M\178\139\160\017.\137\016\n\t\195\137\173R@\132\158X\138\024\236\199\204Uy\238X\248%q\186\179\254y`\255\199\143/\\O\250\167\127\237\127\172\1996C \248m\181\141\130@\248\253P\231/\255\175\247\239z\249z\029[0\182 \b\144\207\198-7>\139t\014\028\248\025\196\230\020{D\007\216^\248\246[n\243,\144\181\015\012u\134\252~\1713\173\006\187\023\175\214\136\174-\"\187\011\175e\226\187m\222\237\183\154j5f\167r\204\132\003\031\241,c\173\164\169\195(\139\007J\027t\246~\153\245\029\238z0\231\2369\240\134{g\246:\208\238\2279\"\182\138\003l\027\001\227\253\163\141m\236\179\133}5\161\247\023\168\240+\199\181dq|\\6\022\001\223\214\128\142d\236\222\003\218.\168\141\1340G\145\142\190!j\237o\236~5\207v\028\251\174\131\206\022\139\243\185\139\149\232bW\026\201V\169\245\201XfH\237h\251\179DC\140\018g)^\187\138\202gF\214$\204\190\025\000\249\137\000\215\001\129\169\206\196^\158\187\252<\149^O\231\151z\201\182\254\133lg\164v#\168\133T\237\004\1616E\208\136\197\238h1K&\2038\006\149\231\148\230\145Y\174-\198\170|^\207m\202r\018\221\127\161\170D[q$\230\235\n\213^\156\249<\153 \253\022\133\015\227;\162\172\206K\234\127\t\186J{\159>0)\014\1819F\170\195\024\18474\022~\237\131(\153~\198T\169%k\1291]j\245\029\\\227Q\252\169!_\150\168\016#\016\212\249\216\000=f\015\007\b\188/p\204" let d_9ff5a6ec97f55e01b81f13d9d3f0ff67 = "in\"===e.family){var n=qt(e,t);\"bold-italic\"===n&&r.setAttribute(\"mathvariant\",n)}else\"punct\"===e.family?r.setAttribute(\"separator\",\"true\"):\"open\"!==e.family&&\"close\"!==e.family||r.setAttribute(\"stretchy\",\"false\");return r}});var kn={mi:\"italic\",mn:\"normal\",mtext:\"normal\"};st({type:\"mathord\",htmlBuilder:function(e,t){return Ke.makeOrd(e,t,\"mathord\")},mathmlBuilder:function(e,t){var r=new Tt.MathNode(\"mi\",[Bt(e.text,e.mode,t)]),n=qt(e,t)||\"italic\";return n!==kn[r.type]&&r.setAttribute(\"mathvariant\",n),r}}),st({type:\"textord\",htmlBuilder:function(e,t){return Ke.makeOrd(e,t,\"textord\")},mathmlBuilder:function(e,t){var r,n=Bt(e.text,e.mode,t),a=qt(e,t)||\"normal\";return r=\"text\"===e.mode?new Tt.MathNode(\"mtext\",[n]):/[0-9]/.test(e.text)?new Tt.MathNode(\"mn\",[n]):\"\\\\prime\"===e.text?new Tt.MathNode(\"mo\",[n]):new Tt.MathNode(\"mi\",[n]),a!==kn[r.type]&&r.setAttribute(\"mathvariant\",a),r}});var Sn={\"\\\\nobreak\":\"nobreak\",\"\\\\allowbreak\":\"allowbreak\"},Mn={\" \":{},\"\\\\ \":{},\"~\":{className:\"nobreak\"},\"\\\\space\":{},\"\\\\nobreakspace\":{className:\"nobreak\"}};st({type:\"spacing\",htmlBuilder:function(e,t){if(Mn.hasOwnProperty(e.text)){var r=Mn[e.text].className||\"\";if(\"text\"===e.mode){var a=Ke.makeOrd(e,t,\"textord\");return a.classes.push(r),a}return Ke.makeSpan([\"mspace\",r],[Ke.mathsym(e.text,e.mode,t)],t)}if(Sn.hasOwnProperty(e.text))return Ke.makeSpan([\"mspace\",Sn[e.text]],[],t);throw new n('Unknown type of space \"'+e.text+'\"')},mathmlBuilder:function(e,t){if(!Mn.hasOwnProperty(e.text)){if(Sn.hasOwnProperty(e.text))return new Tt.MathNode(\"mspace\");throw new n('Unknown type of space \"'+e.text+'\"')}return new Tt.MathNode(\"mtext\",[new Tt.TextNode(\"\\xa0\")])}});var zn=function(){var e=new Tt.MathNode(\"mtd\",[]);return e.setAttribute(\"width\",\"50%\"),e};st({type:\"tag\",mathmlBuilder:function(e,t){var r=new Tt.MathNode(\"mtable\",[new Tt.MathNode(\"mtr\",[zn(),new Tt.MathNode(\"mtd\",[It(e.body,t)]),zn(),new Tt.MathNode(\"mtd\",[It(e.tag,t)])])]);return r.setAttribute(\"width\",\"100%\"),r}});var An={\"\\\\text\":void 0,\"\\\\textrm\":\"textrm\",\"\\\\textsf\":\"textsf\",\"\\\\texttt\":\"texttt\",\"\\\\textnormal\":\"textrm\"},Tn={\"\\\\textbf\":\"textbf\",\"\\\\textmd\":\"textmd\"},Bn={\"\\\\textit\":\"textit\",\"\\\\textup\":\"textup\"},Cn=function(e,t){var r=e.font;return r?An[r]?t.withTextFontFamily(An[r]):Tn[r]?t.withTextFontWeight(Tn[r]):t.withTextFontShape(Bn[r]):t};ot({type:\"text\",names:[\"\\\\text\",\"\\\\textrm\",\"\\\\textsf\",\"\\\\texttt\",\"\\\\textnormal\",\"\\\\textbf\",\"\\\\textmd\",\"\\\\textit\",\"\\\\textup\"],props:{numArgs:1,argTypes:[\"text\"],allowedInArgument:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:\"text\",mode:r.mode,body:ht(a),font:n}},htmlBuilder:function(e,t){var r=Cn(e,t),n=ft(e.body,r,!0);return Ke.makeSpan([\"mord\",\"text\"],n,r)},mathmlBuilder:function(e,t){var r=Cn(e,t);return It(e.body,r)}}),ot({type:\"underline\",names:[\"\\\\underline\"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:\"underline\",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=wt(e.body,t),n=Ke.makeLineSpan(\"underline-line\",t),a=t.fontMetrics().defaultRuleThickness,i=Ke.makeVList({positionType:\"top\",positionData:r.height,children:[{type:\"kern\",size:a},{type:\"elem\",elem:n},{type:\"kern\",size:3*a},{type:\"elem\",elem:r}]},t);return Ke.makeSpan([\"mord\",\"underline\"],[i],t)},mathmlBuilder:function(e,t){var r=new Tt.MathNode(\"mo\",[new Tt.TextNode(\"\\u203e\")]);r.setAttribute(\"stretchy\",\"true\");var n=new Tt.MathNode(\"munder\",[Rt(e.body,t),r]);return n.setAttribute(\"accentunder\",\"true\"),n}}),ot({type:\"vcenter\",names:[\"\\\\vcenter\"],props:{numArgs:1,argTypes:[\"original\"],allowedInText:!1},handler:function(e,t){return{type:\"vcenter\",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=wt(e.body,t),n=t.fontMetrics().axisHeight,a=.5*(r.height-n-(r.depth+n));return Ke.makeVList({positionType:\"shift\",positionData:a,children:[{type:\"elem\",elem:r}]},t)},mathmlBuilder:function(e,t){return new Tt.MathNode(\"mpadded\",[Rt(e.body,t)],[\"vcenter\"])}}),ot({type:\"verb\",names:[\"\\\\verb\"],props:{numArgs:0,allowedInText:!0},handler:function(e,t,r){throw new n(\"\\\\verb ended by end of line instead of matching" @@ -358,8 +360,6 @@ module Internal = struct let d_cdc6e947cdb2e0bb7fae7f338ffa12a0 = "u0327\",\"\\xfa\":\"u\\u0301\",\"\\xf9\":\"u\\u0300\",\"\\xfc\":\"u\\u0308\",\"\\u01d8\":\"u\\u0308\\u0301\",\"\\u01dc\":\"u\\u0308\\u0300\",\"\\u01d6\":\"u\\u0308\\u0304\",\"\\u01da\":\"u\\u0308\\u030c\",\"\\u0169\":\"u\\u0303\",\"\\u1e79\":\"u\\u0303\\u0301\",\"\\u016b\":\"u\\u0304\",\"\\u1e7b\":\"u\\u0304\\u0308\",\"\\u016d\":\"u\\u0306\",\"\\u01d4\":\"u\\u030c\",\"\\xfb\":\"u\\u0302\",\"\\u016f\":\"u\\u030a\",\"\\u0171\":\"u\\u030b\",\"\\u1e7d\":\"v\\u0303\",\"\\u1e83\":\"w\\u0301\",\"\\u1e81\":\"w\\u0300\",\"\\u1e85\":\"w\\u0308\",\"\\u0175\":\"w\\u0302\",\"\\u1e87\":\"w\\u0307\",\"\\u1e98\":\"w\\u030a\",\"\\u1e8d\":\"x\\u0308\",\"\\u1e8b\":\"x\\u0307\",\"\\xfd\":\"y\\u0301\",\"\\u1ef3\":\"y\\u0300\",\"\\xff\":\"y\\u0308\",\"\\u1ef9\":\"y\\u0303\",\"\\u0233\":\"y\\u0304\",\"\\u0177\":\"y\\u0302\",\"\\u1e8f\":\"y\\u0307\",\"\\u1e99\":\"y\\u030a\",\"\\u017a\":\"z\\u0301\",\"\\u017e\":\"z\\u030c\",\"\\u1e91\":\"z\\u0302\",\"\\u017c\":\"z\\u0307\",\"\\xc1\":\"A\\u0301\",\"\\xc0\":\"A\\u0300\",\"\\xc4\":\"A\\u0308\",\"\\u01de\":\"A\\u0308\\u0304\",\"\\xc3\":\"A\\u0303\",\"\\u0100\":\"A\\u0304\",\"\\u0102\":\"A\\u0306\",\"\\u1eae\":\"A\\u0306\\u0301\",\"\\u1eb0\":\"A\\u0306\\u0300\",\"\\u1eb4\":\"A\\u0306\\u0303\",\"\\u01cd\":\"A\\u030c\",\"\\xc2\":\"A\\u0302\",\"\\u1ea4\":\"A\\u0302\\u0301\",\"\\u1ea6\":\"A\\u0302\\u0300\",\"\\u1eaa\":\"A\\u0302\\u0303\",\"\\u0226\":\"A\\u0307\",\"\\u01e0\":\"A\\u0307\\u0304\",\"\\xc5\":\"A\\u030a\",\"\\u01fa\":\"A\\u030a\\u0301\",\"\\u1e02\":\"B\\u0307\",\"\\u0106\":\"C\\u0301\",\"\\u1e08\":\"C\\u0327\\u0301\",\"\\u010c\":\"C\\u030c\",\"\\u0108\":\"C\\u0302\",\"\\u010a\":\"C\\u0307\",\"\\xc7\":\"C\\u0327\",\"\\u010e\":\"D\\u030c\",\"\\u1e0a\":\"D\\u0307\",\"\\u1e10\":\"D\\u0327\",\"\\xc9\":\"E\\u0301\",\"\\xc8\":\"E\\u0300\",\"\\xcb\":\"E\\u0308\",\"\\u1ebc\":\"E\\u0303\",\"\\u0112\":\"E\\u0304\",\"\\u1e16\":\"E\\u0304\\u0301\",\"\\u1e14\":\"E\\u0304\\u0300\",\"\\u0114\":\"E\\u0306\",\"\\u1e1c\":\"E\\u0327\\u0306\",\"\\u011a\":\"E\\u030c\",\"\\xca\":\"E\\u0302\",\"\\u1ebe\":\"E\\u0302\\u0301\",\"\\u1ec0\":\"E\\u0302\\u0300\",\"\\u1ec4\":\"E\\u0302\\u0303\",\"\\u0116\":\"E\\u0307\",\"\\u0228\":\"E\\u0327\",\"\\u1e1e\":\"F\\u0307\",\"\\u01f4\":\"G\\u0301\",\"\\u1e20\":\"G\\u0304\",\"\\u011e\":\"G\\u0306\",\"\\u01e6\":\"G\\u030c\",\"\\u011c\":\"G\\u0302\",\"\\u0120\":\"G\\u0307\",\"\\u0122\":\"G\\u0327\",\"\\u1e26\":\"H\\u0308\",\"\\u021e\":\"H\\u030c\",\"\\u0124\":\"H\\u0302\",\"\\u1e22\":\"H\\u0307\",\"\\u1e28\":\"H\\u0327\",\"\\xcd\":\"I\\u0301\",\"\\xcc\":\"I\\u0300\",\"\\xcf\":\"I\\u0308\",\"\\u1e2e\":\"I\\u0308\\u0301\",\"\\u0128\":\"I\\u0303\",\"\\u012a\":\"I\\u0304\",\"\\u012c\":\"I\\u0306\",\"\\u01cf\":\"I\\u030c\",\"\\xce\":\"I\\u0302\",\"\\u0130\":\"I\\u0307\",\"\\u0134\":\"J\\u0302\",\"\\u1e30\":\"K\\u0301\",\"\\u01e8\":\"K\\u030c\",\"\\u0136\":\"K\\u0327\",\"\\u0139\":\"L\\u0301\",\"\\u013d\":\"L\\u030c\",\"\\u013b\":\"L\\u0327\",\"\\u1e3e\":\"M\\u0301\",\"\\u1e40\":\"M\\u0307\",\"\\u0143\":\"N\\u0301\",\"\\u01f8\":\"N\\u0300\",\"\\xd1\":\"N\\u0303\",\"\\u0147\":\"N\\u030c\",\"\\u1e44\":\"N\\u0307\",\"\\u0145\":\"N\\u0327\",\"\\xd3\":\"O\\u0301\",\"\\xd2\":\"O\\u0300\",\"\\xd6\":\"O\\u0308\",\"\\u022a\":\"O\\u0308\\u0304\",\"\\xd5\":\"O\\u0303\",\"\\u1e4c\":\"O\\u0303\\u0301\",\"\\u1e4e\":\"O\\u0303\\u0308\",\"\\u022c\":\"O\\u0303\\u0304\",\"\\u014c\":\"O\\u0304\",\"\\u1e52\":\"O\\u0304\\u0301\",\"\\u1e50\":\"O\\u0304\\u0300\",\"\\u014e\":\"O\\u0306\",\"\\u01d1\":\"O\\u030c\",\"\\xd4\":\"O\\u0302\",\"\\u1ed0\":\"O\\u0302\\u0301\",\"\\u1ed2\":\"O\\u0302\\u0300\",\"\\u1ed6\":\"O\\u0302\\u0303\",\"\\u022e\":\"O\\u0307\",\"\\u0230\":\"O\\u0307\\u0304\",\"\\u0150\":\"O\\u030b\",\"\\u1e54\":\"P\\u0301\",\"\\u1e56\":\"P\\u0307\",\"\\u0154\":\"R\\u0301\",\"\\u0158\":\"R\\u030c\",\"\\u1e58\":\"R\\u0307\",\"\\u0156\":\"R\\u0327\",\"\\u015a\":\"S\\u0301\",\"\\u1e64\":\"S\\u0301\\u0307\",\"\\u0160\":\"S\\u030c\",\"\\u1e66\":\"S\\u030c\\u0307\",\"\\u015c\":\"S\\u0302\",\"\\u1e60\":\"S\\u0307\",\"\\u015e\":\"S\\u0327\",\"\\u0164\":\"T\\u030c\",\"\\u1e6a\":\"T\\u0307\",\"\\u0162\":\"T\\u0327\",\"\\xda\":\"U\\u0301\",\"\\xd9\":\"U\\u0300\",\"\\xdc\":\"U\\u0308\",\"\\u01d7\":\"U\\u0308\\u0301\",\"\\u01db\":\"U\\u0308\\u0300\",\"\\u01d5\":\"U\\u0308\\u0304\",\"\\u01d9\":\"U\\u0308\\u030c\",\"\\u0168\":\"U\\u0303\",\"\\u1e78\":\"U\\u0303\\u0301\",\"\\u016a\":\"U\\u0304\",\"\\u1e7a\":\"U\\u0304\\u0308\",\"\\u016c\":\"U\\u0306\",\"\\u01d3\":\"U\\u030c\",\"\\xdb\":\"U\\u0302\",\"\\u016e\":\"U\\u030a\",\"\\u0170\":\"U\\u030b\",\"\\u1e7c\":\"V\\u0303\",\"\\u1e82\":\"W\\u0301\",\"\\u1e80\":\"W\\u0300\",\"\\u1e84\":\"W\\u0308\",\"\\u0174\":\"W\\u0302\",\"\\u1e86\":\"W\\u0307\",\"\\u1e8c\":\"X\\u0308\",\"\\u1e8a\":\"X\\u0307\",\"\\xdd\":\"Y\\u0301\",\"\\u1ef2\":\"Y\\u0300\",\"\\u0178\":\"Y\\u0308\",\"\\u1ef8\":\"Y\\u0303\",\"\\u0232\":\"Y\\u0304\",\"\\u0176\":\"Y\\u0302\",\"\\u1e8e\":\"Y\\u0307\",\"\\u0179\":\"Z\\u0301\",\"\\u017d\":\"Z\\u030c\",\"\\u1e90\":\"Z\\u0302\",\"\\u017b\":\"Z\\u0307\",\"\\u03ac\":\"\\u03b1\\u0301\",\"\\u1f70\":\"\\u03b1\\u0300\",\"\\u1fb1\":\"\\u03b1\\u0304\",\"\\u1fb0\":\"\\u03b1\\u0306\",\"\\u03ad\":\"\\u03b5\\u0301\",\"\\u1f72\":\"\\u03b5\\u0300\",\"\\u03ae\":\"\\u03b7\\u0301\",\"\\u1f74\":\"\\u03b7\\u0300\",\"\\u03af\":\"\\u03b9\\u0301\",\"\\u1f76\":\"\\u03b9\\u0300\",\"\\u03ca\":\"\\u03b9\\u0308\",\"\\u0390\":\"\\u03" - let d_ce81d6296bd12c1ef5331edf043a3c88 = " width: auto;\n min-width: unset;\n max-width: unset;\n border: none;\n padding: 0.2em 1em;\n border-radius: 5px;\n margin-bottom: 2em;\n }\n}\n\n/* Print adjustements. */\n\n@media print {\n body {\n color: black;\n background: white;\n }\n body nav:first-child {\n visibility: hidden;\n }\n}\n\n/* Source code. */\n\n.source_container {\n display: flex;\n}\n\n.source_line_column {\n padding-right: 0.5em;\n text-align: right;\n background: #eee8d5;\n}\n\n.source_line {\n padding: 0 1em;\n}\n\n.source_code {\n flex-grow: 1;\n background: #fdf6e3;\n padding: 0 0.3em;\n color: #657b83;\n}\n\n/* Source directories */\n\n.odoc-directory::before {\n content: \"\240\159\147\129\";\n margin: 0.3em;\n font-size: 1.3em;\n}\n\n.odoc-file::before {\n content: \"\240\159\147\132\";\n margin: 0.3em;\n font-size: 1.3em;\n}\n\n.odoc-folder-list {\n list-style: none;\n}\n\n/* Syntax highlighting (based on github-gist) */\n\n.hljs {\n display: block;\n background: var(--code-background);\n padding: 0.5em;\n color: var(--color);\n overflow-x: auto;\n}\n\n.hljs-comment,\n.hljs-meta {\n color: #969896;\n}\n\n.hljs-string,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-strong,\n.hljs-emphasis,\n.hljs-quote {\n color: #df5000;\n}\n\n.hljs-keyword,\n.hljs-selector-tag {\n color: #a71d5d;\n}\n\n.hljs-type,\n.hljs-class .hljs-title {\n color: #458;\n font-weight: 500;\n}\n\n.hljs-literal,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-attribute {\n color: #0086b3;\n}\n\n.hljs-section,\n.hljs-name {\n color: #63a35c;\n}\n\n.hljs-tag {\n color: #333333;\n}\n\n.hljs-attr,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-selector-attr,\n.hljs-selector-pseudo {\n color: #795da3;\n}\n\n.hljs-addition {\n color: #55a532;\n background-color: #eaffea;\n}\n\n.hljs-deletion {\n color: #bd2c00;\n background-color: #ffecec;\n}\n\n.hljs-link {\n text-decoration: underline;\n}\n\n.VAL, .TYPE, .LET, .REC, .IN, .OPEN, .NONREC, .MODULE, .METHOD, .LETOP, .INHERIT, .INCLUDE, .FUNCTOR, .EXTERNAL, .CONSTRAINT, .ASSERT, .AND, .END, .CLASS, .STRUCT, .SIG {\n color: #859900;;\n}\n\n.WITH, .WHILE, .WHEN, .VIRTUAL, .TRY, .TO, .THEN, .PRIVATE, .OF, .NEW, .MUTABLE, .MATCH, .LAZY, .IF, .FUNCTION, .FUN, .FOR, .EXCEPTION, .ELSE, .TO, .DOWNTO, .DO, .DONE, .BEGIN, .AS {\n color: #cb4b16;\n}\n\n.TRUE, .FALSE {\n color: #b58900;\n}\n\n.failwith, .INT, .SEMISEMI, .LIDENT {\n color: #2aa198;\n}\n\n.STRING, .CHAR, .UIDENT {\n color: #b58900;\n}\n\n.DOCSTRING {\n color: #268bd2;\n}\n\n.COMMENT {\n color: #93a1a1;\n}\n\n/*---------------------------------------------------------------------------\n Copyright (c) 2016 The odoc contributors\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted, provided that the above\n copyright notice and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n ---------------------------------------------------------------------------*/\n" - let d_d04b09d89ef0b9af8a297a3592a2e4b1 = "68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.5498" let d_d1d8d575696cbb5a4994efc9e2862948 = "\\u23ab\",m=\"\\u23a9\",h=\"\\u23aa\",c=\"Size4-Regular\");var u=ar(o,c,a),p=u.height+u.depth,d=ar(h,c,a),f=d.height+d.depth,g=ar(m,c,a),v=g.height+g.depth,b=0,y=1;if(null!==s){var w=ar(s,c,a);b=w.height+w.depth,y=2}var k=p+v+b,S=k+Math.max(0,Math.ceil((t-k)/(y*f)))*y*f,M=n.fontMetrics().axisHeight;r&&(M*=n.sizeMultiplier);var z=S/2-M,A=[];if(A.push(lr(m,c,a)),A.push(mr),null===s){var T=S-p-v+.016;A.push(hr(h,T,n))}else{var B=(S-p-v-b)/2+.016;A.push(hr(h,B,n)),A.push(mr),A.push(lr(s,c,a)),A.push(mr),A.push(hr(h,B,n))}A.push(mr),A.push(lr(o,c,a));var C=n.havingBaseStyle(x.TEXT),q=Ke.makeVList({positionType:\"bottom\",positionData:z,children:A},C);return ir(Ke.makeSpan([\"delimsizing\",\"mult\"],[q],C),x.TEXT,n,i)},dr=.08,fr=function(e,t,r,n,a){var i=function(e,t,r){t*=1e3;var n=\"\";switch(e){case\"sqrtMain\":n=function(e,t){return\"M95,\"+(622+e+t)+\"\\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\\nc69,-144,104.5,-217.7,106.5,-221\\nl\"+e/2.075+\" -\"+e+\"\\nc5.3,-9.3,12,-14,20,-14\\nH400000v\"+(40+e)+\"H845.2724\\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\\nM\"+(834+e)+\" \"+t+\"h400000v\"+(40+e)+\"h-400000z\"}(t,M);break;case\"sqrtSize1\":n=function(e,t){return\"M263,\"+(601+e+t)+\"c0.7,0,18,39.7,52,119\\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\\nc340,-704.7,510.7,-1060.3,512,-1067\\nl\"+e/2.084+\" -\"+e+\"\\nc4.7,-7.3,11,-11,19,-11\\nH40000v\"+(40+e)+\"H1012.3\\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\\nM\"+(1001+e)+\" \"+t+\"h400000v\"+(40+e)+\"h-400000z\"}(t,M);break;case\"sqrtSize2\":n=function(e,t){return\"M983 \"+(10+e+t)+\"\\nl\"+e/3.13+\" -\"+e+\"\\nc4,-6.7,10,-10,18,-10 H400000v\"+(40+e)+\"\\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\\nM\"+(1001+e)+\" \"+t+\"h400000v\"+(40+e)+\"h-400000z\"}(t,M);break;case\"sqrtSize3\":n=function(e,t){return\"M424,\"+(2398+e+t)+\"\\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\\nl\"+e/4.223+\" -\"+e+\"c4,-6.7,10,-10,18,-10 H400000\\nv\"+(40+e)+\"H1014.6\\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\\nc-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2z M\"+(1001+e)+\" \"+t+\"\\nh400000v\"+(40+e)+\"h-400000z\"}(t,M);break;case\"sqrtSize4\":n=function(e,t){return\"M473,\"+(2713+e+t)+\"\\nc339.3,-1799.3,509.3,-2700,510,-2702 l\"+e/5.298+\" -\"+e+\"\\nc3.3,-7.3,9.3,-11,18,-11 H400000v\"+(40+e)+\"H1017.7\\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\\n606zM\"+(1001+e)+\" \"+t+\"h400000v\"+(40+e)+\"H1017.7z\"}(t,M);break;case\"sqrtTall\":n=function(e,t,r){return\"M702 \"+(e+t)+\"H400000\"+(40+e)+\"\\nH742v\"+(r-54-t-e)+\"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\\n219 661 l218 661zM702 \"+t+\"H4000" @@ -499,7 +499,7 @@ module Internal = struct | "highlight.pack.js" | "/highlight.pack.js" -> Some [ d_6b9eea5bd2cdd91f629293ab3b8808d1; d_30baf6fb746860926fdd280eefc46735; d_7df05ceea77c14d78f1f1df8f98def4f; d_106b469c9254e3a72af1bc5085256cca; d_5fcd7eba230acf47d54c1897a9a9c394; d_df9507781455088adf4ca1bd7fc0a321; d_b223e3337242ba6cf0905995918760a5; d_d6a1be8caf2478248edb48ee82070d9e; d_98850966979dd224456f716b44220d69; d_9873a9ace25bcd721b8eeb6b8dad71cf; d_b23657c0bc089d459bc6099791f97c23; d_f9c0b1a6ea9c119cb0f7ead5c3dac542; d_80a0027403c5ad56c7da4589713b2348; d_fe8f6a1f53d067d447bae579dc60d6f0; ] | "katex.min.css" | "/katex.min.css" -> Some [ d_2d798108ddda42cb699f6ad4421e720e; d_b128d6f091a42be5d7a929703f09ac36; d_1476b6e94be68e530a90bd0723d69c88; d_e357f75b8a7d9a6031bbdc38adcf1422; d_ad152fcf832897f8629ca758460f3d22; d_7c9075f31df2a532c3135ae327c84a92; ] | "katex.min.js" | "/katex.min.js" -> Some [ d_0c2c3443b618aef3ac4519dd2b159bbe; d_a2070486fb8e9102cd1537ebd1216a96; d_48a6338945c47ceb84d335248c3d6873; d_ad48849637d7c8349cb3e6952d5c8699; d_32baa17e8a53bbd439c58b0d89bc0503; d_c7561e7d22eb89e10083cfba7680012c; d_d04b09d89ef0b9af8a297a3592a2e4b1; d_c0cf7351fa27f73a72840e453c4b15f3; d_fadfd470a088dde5c3755136ac4b6188; d_326148c9e075f26f4dd5ee3862f61cf6; d_a55141bd5690b03d71c9675038f73b3f; d_225bdd9918928e02697ef5570454bf56; d_bf8e1c09c2162b9bb4b6578a59cc8069; d_bb5a8ed07dc95fa6f9f51938da398a35; d_b93e718b1ddefad06d18d9736584ad78; d_e12a510e69c6b3e0210294eedc2c3be3; d_bf043adf1d8ba761903c6f3447bae9d3; d_80ae3e22d162129b593049c0dc7f2407; d_d7b447b6bfc36721f581470728505547; d_92e0c0a734f49413d685531ad3f0a03e; d_cabefc6c9607b95a33af32a8c8832767; d_a03f60fbbac88837b2763d52df2c0820; d_5795c26325c462426548bd12ff6ef7a1; d_c0939c104021af2b0d9b24c7102061f2; d_3a7455b94742964a6cc5e84e314a6cfb; d_dc2a908015f68e5bff245fff4e602604; d_96c4d8e2622ac6552ccf67643b20f09c; d_37935d98135b118d937e895f4bb55add; d_efe21915ced6043dcaa8ff576e7948c7; d_fe0aa5b4043d6894e289163dd38508b7; d_dc29762de1ae6c28b3b3cc202f52ac6f; d_2c5af911fa1596ad2eef3a7e342be949; d_01738333fc004372ab1ae8bc7d370677; d_0d6ec6387686b4173900d29c91f338ee; d_5f9942b4d85184e45b9addfc25ca6fd4; d_105a9e030400f28a404c6badd930fe01; d_79c029f6f746a52f4a8bc8b6280c5c88; d_3a50124eae7017a15bb92024b9f6c8ad; d_d1d8d575696cbb5a4994efc9e2862948; d_a6e92521674c97f4d1bd649490d8a987; d_8f38ae17980f4039d715823515fd56d0; d_a841840589a3efb0465e49e0d8f985b5; d_e33d592534625de6438003412e1d8813; d_5b12b53efc1e6da3a434634e81c2251b; d_c7270ab94b84005c36e6e864e6ea5b10; d_5e57240b8ff6745d663ebd2060201199; d_02c9bc01125e92ce389d2ac93e62d14b; d_0d4c13a0e6487657499a2f37795ab83b; d_8ff622534e1e1348711c11358657050b; d_a8b5fa32242a1d360076af4bdc9dafbe; d_725c52bce5d22dff34816d0cea74cf51; d_a6db9cb29ea27586d2138cf4f8710b12; d_31ee9944b6c75c4351486bc790988371; d_1005d4f63119125aeb03e8a2fa265969; d_9ff5a6ec97f55e01b81f13d9d3f0ff67; d_f361846717ba3e91093152df70d5aab3; d_e462cdcfecbc18ac1f1e447bf1ed3697; d_0d5bde992f9fa1c53103cd024ff5833b; d_1b66f4e8c1fbc1c74875f8da050cc1d0; d_bad0217136fdcd657898ee631bd512d1; d_428c2b0f069b4ffaef294dc85aef1e4b; d_cb988ca0480d611a7c52551adcc9ed48; d_cdc6e947cdb2e0bb7fae7f338ffa12a0; d_f56cd226d59f4d3190a095998f97ac56; d_f5d214c6b91ee7f61f5a433fcdd70682; d_f4caf2cb8610b6735641c064e6453b79; d_da739bd79e1901a19d34fbf2d1a16298; ] - | "odoc.css" | "/odoc.css" -> Some [ d_716cf074e5806616f6d61aeb32dbe70e; d_609f576f064dfa5ea1545119859f0158; d_2a2424c3bea143cbb2f9c9a24d822c4e; d_786810470f5a121e38f4adbaab2842b8; d_ce81d6296bd12c1ef5331edf043a3c88; ] + | "odoc.css" | "/odoc.css" -> Some [ d_716cf074e5806616f6d61aeb32dbe70e; d_609f576f064dfa5ea1545119859f0158; d_92d67c153383d8a5d46ba6d9247ee68d; d_30ca700678d2ff7e5a1c5981a2e65744; d_9cd2127654bad2ec912e7f568f5fc008; ] | _ -> None let file_list = [ "fonts/KaTeX_AMS-Regular.woff2"; "fonts/KaTeX_Caligraphic-Bold.woff2"; "fonts/KaTeX_Caligraphic-Regular.woff2"; "fonts/KaTeX_Fraktur-Bold.woff2"; "fonts/KaTeX_Fraktur-Regular.woff2"; "fonts/KaTeX_Main-Bold.woff2"; "fonts/KaTeX_Main-BoldItalic.woff2"; "fonts/KaTeX_Main-Italic.woff2"; "fonts/KaTeX_Main-Regular.woff2"; "fonts/KaTeX_Math-BoldItalic.woff2"; "fonts/KaTeX_Math-Italic.woff2"; "fonts/KaTeX_SansSerif-Bold.woff2"; "fonts/KaTeX_SansSerif-Italic.woff2"; "fonts/KaTeX_SansSerif-Regular.woff2"; "fonts/KaTeX_Script-Regular.woff2"; "fonts/KaTeX_Size1-Regular.woff2"; "fonts/KaTeX_Size2-Regular.woff2"; "fonts/KaTeX_Size3-Regular.woff2"; "fonts/KaTeX_Size4-Regular.woff2"; "fonts/KaTeX_Typewriter-Regular.woff2"; "fonts/fira-mono-v14-latin-500.woff2"; "fonts/fira-mono-v14-latin-regular.woff2"; "fonts/fira-sans-v17-latin-500.woff2"; "fonts/fira-sans-v17-latin-500italic.woff2"; "fonts/fira-sans-v17-latin-700.woff2"; "fonts/fira-sans-v17-latin-700italic.woff2"; "fonts/fira-sans-v17-latin-italic.woff2"; "fonts/fira-sans-v17-latin-regular.woff2"; "fonts/noticia-text-v15-latin-700.woff2"; "fonts/noticia-text-v15-latin-italic.woff2"; "fonts/noticia-text-v15-latin-regular.woff2"; "highlight.pack.js"; "katex.min.css"; "katex.min.js"; "odoc.css"; ] @@ -547,7 +547,7 @@ let hash = function | "highlight.pack.js" | "/highlight.pack.js" -> Some "f7f17015c0de1023c93929e3725a9248" | "katex.min.css" | "/katex.min.css" -> Some "1a262c83aa48d3ba34dd01c2ec6087d8" | "katex.min.js" | "/katex.min.js" -> Some "0376fd70eef224e946e13788118db3d1" - | "odoc.css" | "/odoc.css" -> Some "d01d2032f17eb52def0a2e2c6437a89c" + | "odoc.css" | "/odoc.css" -> Some "dac4c780c0c77d757354e248b160dc77" | _ -> None let size = function @@ -585,5 +585,5 @@ let size = function | "highlight.pack.js" | "/highlight.pack.js" -> Some 54535 | "katex.min.css" | "/katex.min.css" -> Some 20978 | "katex.min.js" | "/katex.min.js" -> Some 270376 - | "odoc.css" | "/odoc.css" -> Some 19689 + | "odoc.css" | "/odoc.css" -> Some 19671 | _ -> None diff --git a/src/ocamlary/ocamlary.mli b/src/ocamlary/ocamlary.mli index e9bed1aeb6..b2981ef8ba 100644 --- a/src/ocamlary/ocamlary.mli +++ b/src/ocamlary/ocamlary.mli @@ -430,7 +430,11 @@ type variant = (** This comment is also for [variant]. *) (** This comment is for [poly_variant]. *) -type poly_variant = [ `TagA | `ConstrB of int ] +type poly_variant = + [ `TagA + (* This is a comment for [`TagA]. Disabled for compatibility + with 4.02. *) + | `ConstrB of int (* This is a comment for [`ConstrB] *) ] (** Wow! It was a polymorphic variant! *) (** This comment is for [full_gadt]. *) diff --git a/test/generators/html/Labels.html b/test/generators/html/Labels.html index f01fe5dffe..ee1fc3d2c4 100644 --- a/test/generators/html/Labels.html +++ b/test/generators/html/Labels.html @@ -118,7 +118,7 @@

Attached to nothing

    -
  1. +
  2. | X diff --git a/test/generators/html/Ocamlary-ExtMod.html b/test/generators/html/Ocamlary-ExtMod.html index cbaaaff393..329c03d8b2 100644 --- a/test/generators/html/Ocamlary-ExtMod.html +++ b/test/generators/html/Ocamlary-ExtMod.html @@ -32,7 +32,7 @@

    Module Ocamlary.ExtMod

      -
    1. +
    2. | Leisureforce diff --git a/test/generators/html/Ocamlary-module-type-TypeExt.html b/test/generators/html/Ocamlary-module-type-TypeExt.html index d9d810d0b1..983aaa3415 100644 --- a/test/generators/html/Ocamlary-module-type-TypeExt.html +++ b/test/generators/html/Ocamlary-module-type-TypeExt.html @@ -31,7 +31,7 @@

      Module type Ocamlary.TypeExt

        -
      1. +
      2. | C diff --git a/test/generators/html/Ocamlary-module-type-TypeExtPruned.html b/test/generators/html/Ocamlary-module-type-TypeExtPruned.html index f221161313..39f785509d 100644 --- a/test/generators/html/Ocamlary-module-type-TypeExtPruned.html +++ b/test/generators/html/Ocamlary-module-type-TypeExtPruned.html @@ -24,7 +24,7 @@

        Module type Ocamlary.TypeExtPruned

          -
        1. +
        2. | C diff --git a/test/generators/html/Ocamlary.html b/test/generators/html/Ocamlary.html index 8b0dbcad68..167e5d6b2b 100644 --- a/test/generators/html/Ocamlary.html +++ b/test/generators/html/Ocamlary.html @@ -1062,14 +1062,15 @@

          = [
            -
          1. - - | `TagA +
          2. + | `TagA
          3. -
          4. - - | - `ConstrB of int +
          5. + | + `ConstrB of int +
          ] @@ -1289,15 +1290,16 @@

          = [
            -
          1. +
          2. - | - poly_variant + | + poly_variant
          3. -
          4. - - | `TagC +
          5. + | `TagC
          ] @@ -1314,10 +1316,9 @@

          = [
            -
          1. - - | - +
          2. + | `TagA of 'a @@ -1335,21 +1336,19 @@

            = [
              -
            1. - | - + | `TagA of 'a
            2. -
            3. +
            4. - | - + | `ConstrB of 'b @@ -1467,27 +1466,25 @@

              = [
                -
              1. - - | `A +
              2. + | `A
              3. -
              4. - - | - +
              5. + | `B of [ `B1 | `B2 ]
              6. -
              7. - - | `C +
              8. + | `C
              9. -
              10. - - | - +
              11. + | `D of [ `D1 of [ `D1a ] ] @@ -1792,7 +1789,7 @@

                  -
                1. +
                2. | ExtA @@ -1808,7 +1805,7 @@

                    -
                  1. +
                  2. | ExtB @@ -1824,7 +1821,7 @@

                      -
                    1. +
                    2. | ExtC @@ -1832,7 +1829,7 @@

                    3. -
                    4. +
                    5. | ExtD @@ -1851,7 +1848,7 @@

                        -
                      1. +
                      2. | ExtE @@ -1868,7 +1865,7 @@

                          -
                        1. +
                        2. | ExtF @@ -1894,7 +1891,7 @@

                            -
                          1. +
                          2. | Foo @@ -1902,7 +1899,7 @@

                          3. -
                          4. +
                          5. | Bar @@ -1926,7 +1923,7 @@

                              -
                            1. +
                            2. | Quux @@ -1962,7 +1959,7 @@

                                -
                              1. +
                              2. | ZzzTop0 @@ -1983,7 +1980,7 @@

                                  -
                                1. +
                                2. | ZzzTop @@ -2927,7 +2924,7 @@

                                    -
                                  1. +
                                  2. | C diff --git a/test/generators/html/Recent-module-type-PolyS.html b/test/generators/html/Recent-module-type-PolyS.html index 684636598f..82017c6c0f 100644 --- a/test/generators/html/Recent-module-type-PolyS.html +++ b/test/generators/html/Recent-module-type-PolyS.html @@ -22,13 +22,13 @@

                                    Module type Recent.PolyS

                                    [
                                      -
                                    1. - | - `A +
                                    2. + + | `A
                                    3. -
                                    4. - | - `B +
                                    5. + + | `B
                                    ] diff --git a/test/generators/html/Recent.html b/test/generators/html/Recent.html index 3458023d01..032ab2d60c 100644 --- a/test/generators/html/Recent.html +++ b/test/generators/html/Recent.html @@ -149,25 +149,26 @@

                                    Module Recent

                                    = [
                                      -
                                    1. - - | `A +
                                    2. + | `A
                                    3. -
                                    4. - - | - `B of int +
                                    5. + | + `B of int +
                                    6. -
                                    7. - - | `C +
                                    8. + | `C
                                      (*

                                      foo

                                      *)
                                    9. -
                                    10. - - | `D +
                                    11. + | `D
                                      (*

                                      bar

                                      *)
                                      diff --git a/test/generators/html/Type.html b/test/generators/html/Type.html index 4a371c23b3..18601bebdc 100644 --- a/test/generators/html/Type.html +++ b/test/generators/html/Type.html @@ -397,24 +397,25 @@

                                      Module Type

                                      = [
                                        -
                                      1. - - | `A +
                                      2. + | `A
                                      3. -
                                      4. - - | - `B of int +
                                      5. + | + `B of int +
                                      6. -
                                      7. - - | - `C of int * unit +
                                      8. + | + `C of int * unit
                                      9. -
                                      10. - - | `D +
                                      11. + | `D
                                      ] @@ -428,19 +429,19 @@

                                      Module Type

                                      1. + class="def variant type anchored"> - | - + + | polymorphic_variant
                                      2. -
                                      3. +
                                      4. - | `E + | `E
                                      ] @@ -453,11 +454,10 @@

                                      Module Type

                                      = [
                                        -
                                      1. +
                                      2. - | - + | `A of [ `B | `C ] @@ -474,11 +474,11 @@

                                        Module Type

                                        [>
                                          -
                                        1. +
                                        2. - | - + + | polymorphic_variant @@ -753,7 +753,7 @@

                                          Module Type

                                            -
                                          1. +
                                          2. | Extension @@ -764,8 +764,8 @@

                                            Module Type

                                            *)
                                          3. -
                                          4. - +
                                          5. | Another_extension diff --git a/test/generators/latex/Ocamlary.tex b/test/generators/latex/Ocamlary.tex index 439831fff2..37e24cd0ee 100644 --- a/test/generators/latex/Ocamlary.tex +++ b/test/generators/latex/Ocamlary.tex @@ -438,8 +438,8 @@ \subsubsection{Advanced Type Stuff\label{advanced-type-stuff}}% \begin{ocamlindent}This comment is for \ocamlinlinecode{variant}.This comment is also for \ocamlinlinecode{variant}.\end{ocamlindent}% \medbreak \label{module-Ocamlary-type-poly_variant}\ocamlcodefragment{\ocamltag{keyword}{type} poly\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`TagA}\label{module-Ocamlary-type-poly_variant.TagA}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`ConstrB \ocamltag{keyword}{of} int}\label{module-Ocamlary-type-poly_variant.ConstrB}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `TagA}\label{module-Ocamlary-type-poly_variant.TagA}\\ +\ocamlcodefragment{| `ConstrB \ocamltag{keyword}{of} int}\label{module-Ocamlary-type-poly_variant.ConstrB}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\begin{ocamlindent}This comment is for \ocamlinlinecode{poly\_\allowbreak{}variant}.Wow! It was a polymorphic variant!\end{ocamlindent}% @@ -482,20 +482,20 @@ \subsubsection{Advanced Type Stuff\label{advanced-type-stuff}}% \ocamlcodefragment{\}}\begin{ocamlindent}This comment is for \ocamlinlinecode{record\_\allowbreak{}alias}.\end{ocamlindent}% \medbreak \label{module-Ocamlary-type-poly_variant_union}\ocamlcodefragment{\ocamltag{keyword}{type} poly\_\allowbreak{}variant\_\allowbreak{}union = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{\hyperref[module-Ocamlary-type-poly_variant]{\ocamlinlinecode{poly\_\allowbreak{}variant}}}\label{module-Ocamlary-type-poly_variant_union.poly_variant}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`TagC}\label{module-Ocamlary-type-poly_variant_union.TagC}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| \hyperref[module-Ocamlary-type-poly_variant]{\ocamlinlinecode{poly\_\allowbreak{}variant}}}\label{module-Ocamlary-type-poly_variant_union.poly_variant}\\ +\ocamlcodefragment{| `TagC}\label{module-Ocamlary-type-poly_variant_union.TagC}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\begin{ocamlindent}This comment is for \ocamlinlinecode{poly\_\allowbreak{}variant\_\allowbreak{}union}.\end{ocamlindent}% \medbreak \label{module-Ocamlary-type-poly_poly_variant}\ocamlcodefragment{\ocamltag{keyword}{type} 'a poly\_\allowbreak{}poly\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`TagA \ocamltag{keyword}{of} \ocamltag{type-var}{'a}}\label{module-Ocamlary-type-poly_poly_variant.TagA}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `TagA \ocamltag{keyword}{of} \ocamltag{type-var}{'a}}\label{module-Ocamlary-type-poly_poly_variant.TagA}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ \label{module-Ocamlary-type-bin_poly_poly_variant}\ocamlcodefragment{\ocamltag{keyword}{type} ('a,\allowbreak{} 'b) bin\_\allowbreak{}poly\_\allowbreak{}poly\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`TagA \ocamltag{keyword}{of} \ocamltag{type-var}{'a}}\label{module-Ocamlary-type-bin_poly_poly_variant.TagA}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`ConstrB \ocamltag{keyword}{of} \ocamltag{type-var}{'b}}\label{module-Ocamlary-type-bin_poly_poly_variant.ConstrB}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `TagA \ocamltag{keyword}{of} \ocamltag{type-var}{'a}}\label{module-Ocamlary-type-bin_poly_poly_variant.TagA}\\ +\ocamlcodefragment{| `ConstrB \ocamltag{keyword}{of} \ocamltag{type-var}{'b}}\label{module-Ocamlary-type-bin_poly_poly_variant.ConstrB}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ @@ -507,10 +507,10 @@ \subsubsection{Advanced Type Stuff\label{advanced-type-stuff}}% \label{module-Ocamlary-type-closed_poly_variant}\ocamlcodefragment{\ocamltag{keyword}{type} 'a closed\_\allowbreak{}poly\_\allowbreak{}variant = [< `One | `Two ] \ocamltag{keyword}{as} 'a}\\ \label{module-Ocamlary-type-clopen_poly_variant}\ocamlcodefragment{\ocamltag{keyword}{type} 'a clopen\_\allowbreak{}poly\_\allowbreak{}variant = [< `One | `Two of int | `Three Two Three ] \ocamltag{keyword}{as} 'a}\\ \label{module-Ocamlary-type-nested_poly_variant}\ocamlcodefragment{\ocamltag{keyword}{type} nested\_\allowbreak{}poly\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`A}\label{module-Ocamlary-type-nested_poly_variant.A}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`B \ocamltag{keyword}{of} [ `B1 | `B2 ]}\label{module-Ocamlary-type-nested_poly_variant.B}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`C}\label{module-Ocamlary-type-nested_poly_variant.C}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`D \ocamltag{keyword}{of} [ `D1 of [ `D1a ] ]}\label{module-Ocamlary-type-nested_poly_variant.D}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `A}\label{module-Ocamlary-type-nested_poly_variant.A}\\ +\ocamlcodefragment{| `B \ocamltag{keyword}{of} [ `B1 | `B2 ]}\label{module-Ocamlary-type-nested_poly_variant.B}\\ +\ocamlcodefragment{| `C}\label{module-Ocamlary-type-nested_poly_variant.C}\\ +\ocamlcodefragment{| `D \ocamltag{keyword}{of} [ `D1 of [ `D1a ] ]}\label{module-Ocamlary-type-nested_poly_variant.D}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ diff --git a/test/generators/latex/Recent.tex b/test/generators/latex/Recent.tex index 352f6e5cf8..ef659b96d9 100644 --- a/test/generators/latex/Recent.tex +++ b/test/generators/latex/Recent.tex @@ -34,10 +34,10 @@ \subsubsection{Signature\label{signature}}% \begin{ocamlindent}\end{ocamlindent}% \end{ocamlindent}% \label{module-Recent-type-polymorphic_variant}\ocamlcodefragment{\ocamltag{keyword}{type} polymorphic\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{0.500\textwidth}p{0.500\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`A}\label{module-Recent-type-polymorphic_variant.A}& \\ -\ocamlinlinecode{| }\ocamlinlinecode{`B \ocamltag{keyword}{of} int}\label{module-Recent-type-polymorphic_variant.B}& \\ -\ocamlinlinecode{| }\ocamlinlinecode{`C}\label{module-Recent-type-polymorphic_variant.C}& foo\\ -\ocamlinlinecode{| }\ocamlinlinecode{`D}\label{module-Recent-type-polymorphic_variant.D}& bar\\ +\begin{ocamltabular}{p{0.500\textwidth}p{0.500\textwidth}}\ocamlcodefragment{| `A}\label{module-Recent-type-polymorphic_variant.A}& \\ +\ocamlcodefragment{| `B \ocamltag{keyword}{of} int}\label{module-Recent-type-polymorphic_variant.B}& \\ +\ocamlcodefragment{| `C}\label{module-Recent-type-polymorphic_variant.C}& foo\\ +\ocamlcodefragment{| `D}\label{module-Recent-type-polymorphic_variant.D}& bar\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ @@ -67,8 +67,8 @@ \subsubsection{Signature\label{signature}}% \end{ocamlindent}% \ocamlcodefragment{\ocamltag{keyword}{end}}\\ \label{module-Recent-module-type-PolyS}\ocamlcodefragment{\ocamltag{keyword}{module} \ocamltag{keyword}{type} \hyperref[module-Recent-module-type-PolyS]{\ocamlinlinecode{PolyS}}}\ocamlcodefragment{ = \ocamltag{keyword}{sig}}\begin{ocamlindent}\label{module-Recent-module-type-PolyS-type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`A}\label{module-Recent-module-type-PolyS-type-t.A}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`B}\label{module-Recent-module-type-PolyS-type-t.B}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `A}\label{module-Recent-module-type-PolyS-type-t.A}\\ +\ocamlcodefragment{| `B}\label{module-Recent-module-type-PolyS-type-t.B}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ diff --git a/test/generators/latex/Type.tex b/test/generators/latex/Type.tex index bdb9ad74f1..3c4fa57092 100644 --- a/test/generators/latex/Type.tex +++ b/test/generators/latex/Type.tex @@ -68,26 +68,26 @@ \section{Module \ocamlinlinecode{Type}}\label{module-Type}% \\ \ocamlcodefragment{\}}\\ \label{module-Type-type-polymorphic_variant}\ocamlcodefragment{\ocamltag{keyword}{type} polymorphic\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`A}\label{module-Type-type-polymorphic_variant.A}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`B \ocamltag{keyword}{of} int}\label{module-Type-type-polymorphic_variant.B}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`C \ocamltag{keyword}{of} int * unit}\label{module-Type-type-polymorphic_variant.C}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`D}\label{module-Type-type-polymorphic_variant.D}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `A}\label{module-Type-type-polymorphic_variant.A}\\ +\ocamlcodefragment{| `B \ocamltag{keyword}{of} int}\label{module-Type-type-polymorphic_variant.B}\\ +\ocamlcodefragment{| `C \ocamltag{keyword}{of} int * unit}\label{module-Type-type-polymorphic_variant.C}\\ +\ocamlcodefragment{| `D}\label{module-Type-type-polymorphic_variant.D}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ \label{module-Type-type-polymorphic_variant_extension}\ocamlcodefragment{\ocamltag{keyword}{type} polymorphic\_\allowbreak{}variant\_\allowbreak{}extension = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{\hyperref[module-Type-type-polymorphic_variant]{\ocamlinlinecode{polymorphic\_\allowbreak{}variant}}}\label{module-Type-type-polymorphic_variant_extension.polymorphic_variant}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`E}\label{module-Type-type-polymorphic_variant_extension.E}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| \hyperref[module-Type-type-polymorphic_variant]{\ocamlinlinecode{polymorphic\_\allowbreak{}variant}}}\label{module-Type-type-polymorphic_variant_extension.polymorphic_variant}\\ +\ocamlcodefragment{| `E}\label{module-Type-type-polymorphic_variant_extension.E}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ \label{module-Type-type-nested_polymorphic_variant}\ocamlcodefragment{\ocamltag{keyword}{type} nested\_\allowbreak{}polymorphic\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`A \ocamltag{keyword}{of} [ `B | `C ]}\label{module-Type-type-nested_polymorphic_variant.A}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `A \ocamltag{keyword}{of} [ `B | `C ]}\label{module-Type-type-nested_polymorphic_variant.A}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ \label{module-Type-type-private_extenion}\ocamlcodefragment{\ocamltag{keyword}{type} private\_\allowbreak{}extenion = \ocamltag{keyword}{private} [> }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{\hyperref[module-Type-type-polymorphic_variant]{\ocamlinlinecode{polymorphic\_\allowbreak{}variant}}}\label{module-Type-type-private_extenion.polymorphic_variant}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| \hyperref[module-Type-type-polymorphic_variant]{\ocamlinlinecode{polymorphic\_\allowbreak{}variant}}}\label{module-Type-type-private_extenion.polymorphic_variant}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\