diff --git a/piqic-ocaml/piqi.piqi-ocaml.piqi b/piqic-ocaml/piqi.piqi-ocaml.piqi index ba1f11a..c79140b 100644 --- a/piqic-ocaml/piqi.piqi-ocaml.piqi +++ b/piqic-ocaml/piqi.piqi-ocaml.piqi @@ -37,7 +37,7 @@ .extend [ - .typedef piqi + (.typedef piqi import) .with.field [ .name ocaml-module diff --git a/piqic-ocaml/piqic_ocaml_types.ml b/piqic-ocaml/piqic_ocaml_types.ml index d77b5e7..8db1c7e 100644 --- a/piqic-ocaml/piqic_ocaml_types.ml +++ b/piqic-ocaml/piqic_ocaml_types.ml @@ -269,10 +269,17 @@ let gen_typedefs context (typedefs:T.typedef list) = let gen_import context import = let open Import in let index = C.resolve_import context import in - let piqi = index.i_piqi in + let imported_modname = + match import.ocaml_module with + | Some modname -> (* local override *) + modname + | None -> (* original modname *) + let piqi = index.i_piqi in + some_of piqi.P.ocaml_module + in iod " " [ ios "module "; ios (some_of import.ocaml_name); ios "="; - ios (some_of piqi.P.ocaml_module); + ios imported_modname; eol; eol ] diff --git a/piqic-ocaml/piqic_piqi.ml b/piqic-ocaml/piqic_piqi.ml index f6bf066..256bf05 100644 --- a/piqic-ocaml/piqic_piqi.ml +++ b/piqic-ocaml/piqic_piqi.ml @@ -192,6 +192,7 @@ and Import: mutable modname: Piqic_piqi.word; mutable name: Piqic_piqi.name option; mutable ocaml_name: string option; + mutable ocaml_module: string option; } end = Import and Any: @@ -570,11 +571,13 @@ and parse_import x = let _modname, x = Piqirun.parse_required_field 13841580 parse_word x in let _name, x = Piqirun.parse_optional_field 150958667 parse_name x in let _ocaml_name, x = Piqirun.parse_optional_field 351856652 parse_string x in + let _ocaml_module, x = Piqirun.parse_optional_field 375807149 parse_string x in Piqirun.check_unparsed_fields x; { Import.modname = _modname; Import.name = _name; Import.ocaml_name = _ocaml_name; + Import.ocaml_module = _ocaml_module; } and parse_any x = @@ -851,7 +854,8 @@ and gen__import code x = let _modname = Piqirun.gen_required_field 13841580 gen__word x.Import.modname in let _name = Piqirun.gen_optional_field 150958667 gen__name x.Import.name in let _ocaml_name = Piqirun.gen_optional_field 351856652 gen__string x.Import.ocaml_name in - Piqirun.gen_record code (_modname :: _name :: _ocaml_name :: []) + let _ocaml_module = Piqirun.gen_optional_field 375807149 gen__string x.Import.ocaml_module in + Piqirun.gen_record code (_modname :: _name :: _ocaml_name :: _ocaml_module :: []) and gen__any code x = let _xml = Piqirun.gen_optional_field 5991895 gen__string x.Any.xml in @@ -1047,6 +1051,7 @@ and default_import () = Import.modname = default_word (); Import.name = None; Import.ocaml_name = None; + Import.ocaml_module = None; } and default_any () = { @@ -1069,5 +1074,5 @@ and default_piqi_bundle () = } -let piqi = "\226\202\2304\004piqi\226\231\249\238\001\tpiqi.piqi\234\202\203\153\011\nPiqic_piqi\218\244\134\182\012H\170\136\200\184\014B\218\164\238\191\004\npiq-format\170\183\218\222\005\019\232\146\150q\148\135\232\239\001\218\164\238\191\004\004word\170\183\218\222\005\019\232\146\150q\218\178\206\207\001\218\164\238\191\004\004text\218\244\134\182\012B\130\153\170d=\218\164\238\191\004\014protobuf-int32\226\195\252\217\004\005int32\128\228\138\244\005\249\179\220\210\001\176\171\195\244\005\239\153\192\002\210\171\158\194\006\005int32\218\244\134\182\012B\130\153\170d=\218\164\238\191\004\014protobuf-int64\226\195\252\217\004\005int64\128\228\138\244\005\249\179\220\210\001\176\171\195\244\005\239\153\192\002\210\171\158\194\006\005int64\218\244\134\182\012\149\002\138\176\205\197\001\142\002\218\164\238\191\004\018protobuf-wire-type\170\183\218\222\005\021\232\146\150q\208\225\169\186\002\218\164\238\191\004\006varint\170\183\218\222\005\027\232\146\150q\154\229\206^\218\164\238\191\004\rzigzag-varint\170\183\218\222\005\022\232\146\150q\166\172\211\130\001\218\164\238\191\004\007fixed32\170\183\218\222\005\022\232\146\150q\228\182\211\130\001\218\164\238\191\004\007fixed64\170\183\218\222\005\028\232\146\150q\242\231\184\165\003\218\164\238\191\004\rsigned-varint\170\183\218\222\005\029\232\146\150q\196\161\239\209\003\218\164\238\191\004\014signed-fixed32\170\183\218\222\005\029\232\146\150q\130\172\239\209\003\218\164\238\191\004\014signed-fixed64\170\183\218\222\005\020\232\146\150q\154\213\227\207\002\218\164\238\191\004\005block\218\244\134\182\012\024\130\153\170d\019\218\164\238\191\004\004bool\176\171\195\244\005\170\136\238\b\218\244\134\182\012\027\130\153\170d\022\218\164\238\191\004\006string\176\171\195\244\005\209\209\192\137\001\218\244\134\182\012\026\130\153\170d\021\218\164\238\191\004\006binary\176\171\195\244\005\129\248\174h\218\244\134\182\012\028\130\153\170d\023\218\164\238\191\004\bpiqi-any\176\171\195\244\005\236\245\167\002\218\244\134\182\0125\130\153\170d0\218\164\238\191\004\003int\226\195\252\217\004\006sint32\128\228\138\244\005\205\178\167/\176\171\195\244\005\239\153\192\002\218\135\205\192\012\003int\218\244\134\182\0127\130\153\170d2\218\164\238\191\004\004uint\226\195\252\217\004\006uint32\128\228\138\244\005\232\240\148\157\001\176\171\195\244\005\239\153\192\002\218\135\205\192\012\003int\218\244\134\182\0129\130\153\170d4\218\164\238\191\004\005int32\226\195\252\217\004\006sint32\128\228\138\244\005\205\178\167/\176\171\195\244\005\239\153\192\002\218\135\205\192\012\005int32\218\244\134\182\012;\130\153\170d6\218\164\238\191\004\006uint32\226\195\252\217\004\006uint32\128\228\138\244\005\232\240\148\157\001\176\171\195\244\005\239\153\192\002\218\135\205\192\012\005int32\218\244\134\182\0129\130\153\170d4\218\164\238\191\004\005int64\226\195\252\217\004\006sint64\128\228\138\244\005\205\178\167/\176\171\195\244\005\239\153\192\002\218\135\205\192\012\005int64\218\244\134\182\012;\130\153\170d6\218\164\238\191\004\006uint64\226\195\252\217\004\006uint64\128\228\138\244\005\232\240\148\157\001\176\171\195\244\005\239\153\192\002\218\135\205\192\012\005int64\218\244\134\182\012;\130\153\170d6\218\164\238\191\004\007float64\226\195\252\217\004\006double\128\228\138\244\005\178\219\169A\176\171\195\244\005\156\139\219\020\218\135\205\192\012\005float\218\244\134\182\012:\130\153\170d5\218\164\238\191\004\007float32\226\195\252\217\004\005float\128\228\138\244\005\147\214\169A\176\171\195\244\005\156\139\219\020\218\135\205\192\012\005float\218\244\134\182\012B\130\153\170d=\218\164\238\191\004\011int32-fixed\226\195\252\217\004\bsfixed32\128\228\138\244\005\226\208\247\232\001\176\171\195\244\005\239\153\192\002\210\171\158\194\006\005int32\218\244\134\182\012B\130\153\170d=\218\164\238\191\004\012uint32-fixed\226\195\252\217\004\007fixed32\128\228\138\244\005\147\214\169A\176\171\195\244\005\239\153\192\002\210\171\158\194\006\006uint32\218\244\134\182\012B\130\153\170d=\218\164\238\191\004\011int64-fixed\226\195\252\217\004\bsfixed64\128\228\138\244\005\129\214\247\232\001\176\171\195\244\005\239\153\192\002\210\171\158\194\006\005int64\218\244\134\182\012B\130\153\170d=\218\164\238\191\004\012uint64-fixed\226\195\252\217\004\007fixed64\128\228\138\244\005\178\219\169A\176\171\195\244\005\239\153\192\002\210\171\158\194\006\006uint64\218\244\134\182\012&\130\153\170d!\218\164\238\191\004\005float\176\171\195\244\005\156\139\219\020\210\171\158\194\006\007float64\218\244\134\182\012'\130\153\170d\"\218\164\238\191\004\004word\210\171\158\194\006\006string\226\156\170\236\b\006\208\156\160\191\007\001\218\244\134\182\012\025\130\153\170d\020\218\164\238\191\004\004name\210\171\158\194\006\004word\218\244\134\182\012\176\001\170\136\200\184\014\169\001\234\188\204\215\002\012piqi_typedef\218\164\238\191\004\007typedef\170\183\218\222\005\021\232\146\150q\162\218\227\222\003\210\171\158\194\006\006record\170\183\218\222\005\022\232\146\150q\138\130\146\206\003\210\171\158\194\006\007variant\170\183\218\222\005\018\232\146\150q\130\172\1791\210\171\158\194\006\004enum\170\183\218\222\005\019\232\146\150q\160\198\138\025\210\171\158\194\006\005alias\170\183\218\222\005\028\232\146\150q\188\241\152{\210\171\158\194\006\004list\226\128\157\190\n\004list\218\244\134\182\012\187\001\138\176\205\197\001\180\001\218\164\238\191\004\tpiqi-type\170\183\218\222\005\017\232\146\150q\222\179\128\005\218\164\238\191\004\003int\170\183\218\222\005\019\232\146\150q\184\150\182)\218\164\238\191\004\005float\170\183\218\222\005\018\232\146\150q\212\144\220\017\218\164\238\191\004\004bool\170\183\218\222\005\021\232\146\150q\162\163\129\147\002\218\164\238\191\004\006string\170\183\218\222\005\021\232\146\150q\130\240\221\208\001\218\164\238\191\004\006binary\170\183\218\222\005\017\232\146\150q\216\235\207\004\218\164\238\191\004\003any\162\249\213\245\n\npiqi_type_\218\244\134\182\012'\130\153\170d\"\218\164\238\191\004\004type\210\171\158\194\006\004name\226\128\157\190\n\btypename\218\244\134\182\012\226\002\138\233\142\251\014\219\002\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004name\210\203\242$\029\232\146\150q\244\210\156\t\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\005field\210\203\242$1\232\146\150q\210\139\155\188\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\014piq-positional\210\171\158\194\006\004bool\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$3\232\146\150q\230\246\146k\152\182\154\152\004\250\248\214\130\001\218\164\238\191\004\015protobuf-custom\210\171\158\194\006\006string\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\218\164\238\191\004\006record\218\244\134\182\012\132\007\138\233\142\251\014\253\006\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\004name\210\203\242$\029\232\146\150q\244\202\199\208\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\004type\210\203\242$S\232\146\150q\198\205\134\134\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\004mode\210\171\158\194\006\nfield-mode\138\140\251\240\r \218\148\211\024\006\b\223\162\138\147\001\210\171\158\194\006\015piqi/field-mode\210\203\242$.\232\146\150q\130\227\158\188\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\007default\210\171\158\194\006\bpiqi-any\210\203\242$\"\232\146\150q\230\253\151B\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\ndeprecated\210\203\242$#\232\146\150q\152\199\138\155\002\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\npiq-format\210\203\242$1\232\146\150q\210\139\155\188\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\014piq-positional\210\171\158\194\006\004bool\210\203\242$,\232\146\150q\182\226\197\158\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tpiq-alias\210\171\158\194\006\004name\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$'\232\146\150q\218\196\165\028\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\004code\210\171\158\194\006\005int32\210\203\242$(\232\146\150q\244\181\193\171\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\015protobuf-packed\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$4\232\146\150q\206\211\186\192\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\017json-omit-missing\210\171\158\194\006\004bool\210\203\242$0\232\146\150q\172\148\156\205\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rgetopt-letter\210\171\158\194\006\004word\210\203\242$/\232\146\150q\144\177\235\165\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\ngetopt-doc\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\210\203\242$$\232\146\150q\240\130\232\189\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\011ocaml-array\210\203\242$'\232\146\150q\194\231\228\209\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\014ocaml-optional\218\164\238\191\004\005field\218\244\134\182\012m\138\176\205\197\001g\218\164\238\191\004\nfield-mode\170\183\218\222\005\023\232\146\150q\190\197\148\166\002\218\164\238\191\004\brequired\170\183\218\222\005\023\232\146\150q\192\190\245\230\003\218\164\238\191\004\boptional\170\183\218\222\005\023\232\146\150q\244\241\173\133\002\218\164\238\191\004\brepeated\218\244\134\182\012\175\002\138\233\142\251\014\168\002\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004name\210\203\242$\031\232\146\150q\234\205\214\183\001\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\006option\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$3\232\146\150q\230\246\146k\152\182\154\152\004\250\248\214\130\001\218\164\238\191\004\015protobuf-custom\210\171\158\194\006\006string\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\218\164\238\191\004\007variant\218\244\134\182\012\137\004\138\233\142\251\014\130\004\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\004name\210\203\242$\029\232\146\150q\244\202\199\208\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\004type\210\203\242$\"\232\146\150q\230\253\151B\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\ndeprecated\210\203\242$#\232\146\150q\152\199\138\155\002\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\npiq-format\210\203\242$,\232\146\150q\182\226\197\158\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tpiq-alias\210\171\158\194\006\004name\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$'\232\146\150q\218\196\165\028\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\004code\210\171\158\194\006\005int32\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$0\232\146\150q\172\148\156\205\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rgetopt-letter\210\171\158\194\006\004word\210\203\242$/\232\146\150q\144\177\235\165\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\ngetopt-doc\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\218\164\238\191\004\006option\218\244\134\182\012\244\002\138\233\142\251\014\237\002\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004name\210\203\242$\031\232\146\150q\234\205\214\183\001\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\006option\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$3\232\146\150q\230\246\146k\152\182\154\152\004\250\248\214\130\001\218\164\238\191\004\015protobuf-custom\210\171\158\194\006\006string\210\203\242$4\232\146\150q\168\190\181\221\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\015protobuf-prefix\210\171\158\194\006\006string\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\234\188\204\215\002\tpiqi_enum\218\164\238\191\004\004enum\218\244\134\182\012\221\003\138\233\142\251\014\214\003\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004name\210\203\242$\029\232\146\150q\244\202\199\208\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\004type\210\203\242$\"\232\146\150q\236\234\144\189\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\tpiqi-type\210\203\242$#\232\146\150q\152\199\138\155\002\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\npiq-format\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$2\232\146\150q\248\144\191\150\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-type\210\171\158\194\006\006string\210\203\242$+\232\146\150q\128\217\130\189\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\018protobuf-wire-type\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\210\203\242$/\232\146\150q\246\161\147\144\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-type\210\171\158\194\006\006string\218\164\238\191\004\005alias\218\244\134\182\012\183\003\138\233\142\251\014\176\003\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004name\210\203\242$\029\232\146\150q\244\202\199\208\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004type\210\203\242$#\232\146\150q\152\199\138\155\002\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\npiq-format\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$3\232\146\150q\230\246\146k\152\182\154\152\004\250\248\214\130\001\218\164\238\191\004\015protobuf-custom\210\171\158\194\006\006string\210\203\242$(\232\146\150q\244\181\193\171\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\015protobuf-packed\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\210\203\242$$\232\146\150q\240\130\232\189\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\011ocaml-array\218\164\238\191\004\004list\226\128\157\190\n\tpiqi_list\218\244\134\182\012\195\003\138\233\142\251\014\188\003\210\203\242$5\232\146\150q\216\210\153\r\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\006module\210\171\158\194\006\004word\226\128\157\190\n\007modname\210\203\242$ \232\146\150q\150\221\193\141\003\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\007typedef\210\203\242$\031\232\146\150q\202\133\149\136\001\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\006import\210\203\242$!\232\146\150q\176\172\149\197\002\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\bfunction\210\203\242$/\232\146\150q\188\207\221\154\001\152\182\154\152\004\250\248\214\130\001\218\164\238\191\004\012custom-field\210\171\158\194\006\004word\210\203\242$3\232\146\150q\230\246\146k\152\182\154\152\004\250\248\214\130\001\218\164\238\191\004\015protobuf-custom\210\171\158\194\006\006string\210\203\242$5\232\146\150q\136\221\228\230\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\016protobuf-package\210\171\158\194\006\006string\210\203\242$(\232\146\150q\248\185\222;\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\004file\210\171\158\194\006\006string\210\203\242$1\232\146\150q\218\242\178\230\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\012ocaml-module\210\171\158\194\006\006string\218\164\238\191\004\004piqi\218\244\134\182\012\163\001\138\233\142\251\014\156\001\210\203\242$5\232\146\150q\216\210\153\r\152\182\154\152\004\223\162\138\147\001\218\164\238\191\004\006module\210\171\158\194\006\004word\226\128\157\190\n\007modname\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\004name\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\218\164\238\191\004\006import\218\244\134\182\012\214\001\138\233\142\251\014\207\001\210\203\242$7\232\146\150q\244\202\199\208\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\004type\210\171\158\194\006\006string\226\128\157\190\n\btypename\210\203\242$,\232\146\150q\150\229\148\006\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\bprotobuf\210\171\158\194\006\006binary\210\203\242$(\232\146\150q\208\136\194f\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\004json\210\171\158\194\006\006string\210\203\242$'\232\146\150q\174\183\219\005\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\003xml\210\171\158\194\006\006string\218\164\238\191\004\003any\218\244\134\182\012\253\001\138\233\142\251\014\246\001\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004name\210\203\242$(\232\146\150q\148\144\238\225\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\005input\210\171\158\194\006\004type\210\203\242$)\232\146\150q\130\188\136\200\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\006output\210\171\158\194\006\004type\210\203\242$(\232\146\150q\144\175\206\178\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\005error\210\171\158\194\006\004type\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\218\164\238\191\004\bfunction\226\128\157\190\n\004func\218\244\134\182\012D\138\233\142\251\014>\210\203\242$\025\232\146\150q\002\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\004piqi\218\164\238\191\004\tpiqi-list\226\128\157\190\n\011piqi_bundle" +let piqi = "\226\202\2304\004piqi\226\231\249\238\001\tpiqi.piqi\234\202\203\153\011\nPiqic_piqi\218\244\134\182\012H\170\136\200\184\014B\218\164\238\191\004\npiq-format\170\183\218\222\005\019\232\146\150q\148\135\232\239\001\218\164\238\191\004\004word\170\183\218\222\005\019\232\146\150q\218\178\206\207\001\218\164\238\191\004\004text\218\244\134\182\012B\130\153\170d=\218\164\238\191\004\014protobuf-int32\226\195\252\217\004\005int32\128\228\138\244\005\249\179\220\210\001\176\171\195\244\005\239\153\192\002\210\171\158\194\006\005int32\218\244\134\182\012B\130\153\170d=\218\164\238\191\004\014protobuf-int64\226\195\252\217\004\005int64\128\228\138\244\005\249\179\220\210\001\176\171\195\244\005\239\153\192\002\210\171\158\194\006\005int64\218\244\134\182\012\149\002\138\176\205\197\001\142\002\218\164\238\191\004\018protobuf-wire-type\170\183\218\222\005\021\232\146\150q\208\225\169\186\002\218\164\238\191\004\006varint\170\183\218\222\005\027\232\146\150q\154\229\206^\218\164\238\191\004\rzigzag-varint\170\183\218\222\005\022\232\146\150q\166\172\211\130\001\218\164\238\191\004\007fixed32\170\183\218\222\005\022\232\146\150q\228\182\211\130\001\218\164\238\191\004\007fixed64\170\183\218\222\005\028\232\146\150q\242\231\184\165\003\218\164\238\191\004\rsigned-varint\170\183\218\222\005\029\232\146\150q\196\161\239\209\003\218\164\238\191\004\014signed-fixed32\170\183\218\222\005\029\232\146\150q\130\172\239\209\003\218\164\238\191\004\014signed-fixed64\170\183\218\222\005\020\232\146\150q\154\213\227\207\002\218\164\238\191\004\005block\218\244\134\182\012\024\130\153\170d\019\218\164\238\191\004\004bool\176\171\195\244\005\170\136\238\b\218\244\134\182\012\027\130\153\170d\022\218\164\238\191\004\006string\176\171\195\244\005\209\209\192\137\001\218\244\134\182\012\026\130\153\170d\021\218\164\238\191\004\006binary\176\171\195\244\005\129\248\174h\218\244\134\182\012\028\130\153\170d\023\218\164\238\191\004\bpiqi-any\176\171\195\244\005\236\245\167\002\218\244\134\182\0125\130\153\170d0\218\164\238\191\004\003int\226\195\252\217\004\006sint32\128\228\138\244\005\205\178\167/\176\171\195\244\005\239\153\192\002\218\135\205\192\012\003int\218\244\134\182\0127\130\153\170d2\218\164\238\191\004\004uint\226\195\252\217\004\006uint32\128\228\138\244\005\232\240\148\157\001\176\171\195\244\005\239\153\192\002\218\135\205\192\012\003int\218\244\134\182\0129\130\153\170d4\218\164\238\191\004\005int32\226\195\252\217\004\006sint32\128\228\138\244\005\205\178\167/\176\171\195\244\005\239\153\192\002\218\135\205\192\012\005int32\218\244\134\182\012;\130\153\170d6\218\164\238\191\004\006uint32\226\195\252\217\004\006uint32\128\228\138\244\005\232\240\148\157\001\176\171\195\244\005\239\153\192\002\218\135\205\192\012\005int32\218\244\134\182\0129\130\153\170d4\218\164\238\191\004\005int64\226\195\252\217\004\006sint64\128\228\138\244\005\205\178\167/\176\171\195\244\005\239\153\192\002\218\135\205\192\012\005int64\218\244\134\182\012;\130\153\170d6\218\164\238\191\004\006uint64\226\195\252\217\004\006uint64\128\228\138\244\005\232\240\148\157\001\176\171\195\244\005\239\153\192\002\218\135\205\192\012\005int64\218\244\134\182\012;\130\153\170d6\218\164\238\191\004\007float64\226\195\252\217\004\006double\128\228\138\244\005\178\219\169A\176\171\195\244\005\156\139\219\020\218\135\205\192\012\005float\218\244\134\182\012:\130\153\170d5\218\164\238\191\004\007float32\226\195\252\217\004\005float\128\228\138\244\005\147\214\169A\176\171\195\244\005\156\139\219\020\218\135\205\192\012\005float\218\244\134\182\012B\130\153\170d=\218\164\238\191\004\011int32-fixed\226\195\252\217\004\bsfixed32\128\228\138\244\005\226\208\247\232\001\176\171\195\244\005\239\153\192\002\210\171\158\194\006\005int32\218\244\134\182\012B\130\153\170d=\218\164\238\191\004\012uint32-fixed\226\195\252\217\004\007fixed32\128\228\138\244\005\147\214\169A\176\171\195\244\005\239\153\192\002\210\171\158\194\006\006uint32\218\244\134\182\012B\130\153\170d=\218\164\238\191\004\011int64-fixed\226\195\252\217\004\bsfixed64\128\228\138\244\005\129\214\247\232\001\176\171\195\244\005\239\153\192\002\210\171\158\194\006\005int64\218\244\134\182\012B\130\153\170d=\218\164\238\191\004\012uint64-fixed\226\195\252\217\004\007fixed64\128\228\138\244\005\178\219\169A\176\171\195\244\005\239\153\192\002\210\171\158\194\006\006uint64\218\244\134\182\012&\130\153\170d!\218\164\238\191\004\005float\176\171\195\244\005\156\139\219\020\210\171\158\194\006\007float64\218\244\134\182\012'\130\153\170d\"\218\164\238\191\004\004word\210\171\158\194\006\006string\226\156\170\236\b\006\208\156\160\191\007\001\218\244\134\182\012\025\130\153\170d\020\218\164\238\191\004\004name\210\171\158\194\006\004word\218\244\134\182\012\176\001\170\136\200\184\014\169\001\234\188\204\215\002\012piqi_typedef\218\164\238\191\004\007typedef\170\183\218\222\005\021\232\146\150q\162\218\227\222\003\210\171\158\194\006\006record\170\183\218\222\005\022\232\146\150q\138\130\146\206\003\210\171\158\194\006\007variant\170\183\218\222\005\018\232\146\150q\130\172\1791\210\171\158\194\006\004enum\170\183\218\222\005\019\232\146\150q\160\198\138\025\210\171\158\194\006\005alias\170\183\218\222\005\028\232\146\150q\188\241\152{\210\171\158\194\006\004list\226\128\157\190\n\004list\218\244\134\182\012\187\001\138\176\205\197\001\180\001\218\164\238\191\004\tpiqi-type\170\183\218\222\005\017\232\146\150q\222\179\128\005\218\164\238\191\004\003int\170\183\218\222\005\019\232\146\150q\184\150\182)\218\164\238\191\004\005float\170\183\218\222\005\018\232\146\150q\212\144\220\017\218\164\238\191\004\004bool\170\183\218\222\005\021\232\146\150q\162\163\129\147\002\218\164\238\191\004\006string\170\183\218\222\005\021\232\146\150q\130\240\221\208\001\218\164\238\191\004\006binary\170\183\218\222\005\017\232\146\150q\216\235\207\004\218\164\238\191\004\003any\162\249\213\245\n\npiqi_type_\218\244\134\182\012'\130\153\170d\"\218\164\238\191\004\004type\210\171\158\194\006\004name\226\128\157\190\n\btypename\218\244\134\182\012\226\002\138\233\142\251\014\219\002\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004name\210\203\242$\029\232\146\150q\244\210\156\t\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\005field\210\203\242$1\232\146\150q\210\139\155\188\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\014piq-positional\210\171\158\194\006\004bool\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$3\232\146\150q\230\246\146k\152\182\154\152\004\250\248\214\130\001\218\164\238\191\004\015protobuf-custom\210\171\158\194\006\006string\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\218\164\238\191\004\006record\218\244\134\182\012\132\007\138\233\142\251\014\253\006\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\004name\210\203\242$\029\232\146\150q\244\202\199\208\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\004type\210\203\242$S\232\146\150q\198\205\134\134\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\004mode\210\171\158\194\006\nfield-mode\138\140\251\240\r \218\148\211\024\006\b\223\162\138\147\001\210\171\158\194\006\015piqi/field-mode\210\203\242$.\232\146\150q\130\227\158\188\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\007default\210\171\158\194\006\bpiqi-any\210\203\242$\"\232\146\150q\230\253\151B\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\ndeprecated\210\203\242$#\232\146\150q\152\199\138\155\002\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\npiq-format\210\203\242$1\232\146\150q\210\139\155\188\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\014piq-positional\210\171\158\194\006\004bool\210\203\242$,\232\146\150q\182\226\197\158\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tpiq-alias\210\171\158\194\006\004name\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$'\232\146\150q\218\196\165\028\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\004code\210\171\158\194\006\005int32\210\203\242$(\232\146\150q\244\181\193\171\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\015protobuf-packed\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$4\232\146\150q\206\211\186\192\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\017json-omit-missing\210\171\158\194\006\004bool\210\203\242$0\232\146\150q\172\148\156\205\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rgetopt-letter\210\171\158\194\006\004word\210\203\242$/\232\146\150q\144\177\235\165\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\ngetopt-doc\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\210\203\242$$\232\146\150q\240\130\232\189\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\011ocaml-array\210\203\242$'\232\146\150q\194\231\228\209\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\014ocaml-optional\218\164\238\191\004\005field\218\244\134\182\012m\138\176\205\197\001g\218\164\238\191\004\nfield-mode\170\183\218\222\005\023\232\146\150q\190\197\148\166\002\218\164\238\191\004\brequired\170\183\218\222\005\023\232\146\150q\192\190\245\230\003\218\164\238\191\004\boptional\170\183\218\222\005\023\232\146\150q\244\241\173\133\002\218\164\238\191\004\brepeated\218\244\134\182\012\175\002\138\233\142\251\014\168\002\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004name\210\203\242$\031\232\146\150q\234\205\214\183\001\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\006option\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$3\232\146\150q\230\246\146k\152\182\154\152\004\250\248\214\130\001\218\164\238\191\004\015protobuf-custom\210\171\158\194\006\006string\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\218\164\238\191\004\007variant\218\244\134\182\012\137\004\138\233\142\251\014\130\004\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\004name\210\203\242$\029\232\146\150q\244\202\199\208\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\004type\210\203\242$\"\232\146\150q\230\253\151B\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\ndeprecated\210\203\242$#\232\146\150q\152\199\138\155\002\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\npiq-format\210\203\242$,\232\146\150q\182\226\197\158\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tpiq-alias\210\171\158\194\006\004name\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$'\232\146\150q\218\196\165\028\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\004code\210\171\158\194\006\005int32\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$0\232\146\150q\172\148\156\205\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rgetopt-letter\210\171\158\194\006\004word\210\203\242$/\232\146\150q\144\177\235\165\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\ngetopt-doc\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\218\164\238\191\004\006option\218\244\134\182\012\244\002\138\233\142\251\014\237\002\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004name\210\203\242$\031\232\146\150q\234\205\214\183\001\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\006option\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$3\232\146\150q\230\246\146k\152\182\154\152\004\250\248\214\130\001\218\164\238\191\004\015protobuf-custom\210\171\158\194\006\006string\210\203\242$4\232\146\150q\168\190\181\221\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\015protobuf-prefix\210\171\158\194\006\006string\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\234\188\204\215\002\tpiqi_enum\218\164\238\191\004\004enum\218\244\134\182\012\221\003\138\233\142\251\014\214\003\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004name\210\203\242$\029\232\146\150q\244\202\199\208\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\004type\210\203\242$\"\232\146\150q\236\234\144\189\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\tpiqi-type\210\203\242$#\232\146\150q\152\199\138\155\002\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\npiq-format\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$2\232\146\150q\248\144\191\150\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-type\210\171\158\194\006\006string\210\203\242$+\232\146\150q\128\217\130\189\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\018protobuf-wire-type\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\210\203\242$/\232\146\150q\246\161\147\144\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-type\210\171\158\194\006\006string\218\164\238\191\004\005alias\218\244\134\182\012\183\003\138\233\142\251\014\176\003\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004name\210\203\242$\029\232\146\150q\244\202\199\208\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004type\210\203\242$#\232\146\150q\152\199\138\155\002\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\npiq-format\210\203\242$1\232\146\150q\154\143\243U\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\rprotobuf-name\210\171\158\194\006\006string\210\203\242$3\232\146\150q\230\246\146k\152\182\154\152\004\250\248\214\130\001\218\164\238\191\004\015protobuf-custom\210\171\158\194\006\006string\210\203\242$(\232\146\150q\244\181\193\171\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\015protobuf-packed\210\203\242$.\232\146\150q\160\231\179\235\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\tjson-name\210\171\158\194\006\006string\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\210\203\242$$\232\146\150q\240\130\232\189\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\011ocaml-array\218\164\238\191\004\004list\226\128\157\190\n\tpiqi_list\218\244\134\182\012\195\003\138\233\142\251\014\188\003\210\203\242$5\232\146\150q\216\210\153\r\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\006module\210\171\158\194\006\004word\226\128\157\190\n\007modname\210\203\242$ \232\146\150q\150\221\193\141\003\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\007typedef\210\203\242$\031\232\146\150q\202\133\149\136\001\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\006import\210\203\242$!\232\146\150q\176\172\149\197\002\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\bfunction\210\203\242$/\232\146\150q\188\207\221\154\001\152\182\154\152\004\250\248\214\130\001\218\164\238\191\004\012custom-field\210\171\158\194\006\004word\210\203\242$3\232\146\150q\230\246\146k\152\182\154\152\004\250\248\214\130\001\218\164\238\191\004\015protobuf-custom\210\171\158\194\006\006string\210\203\242$5\232\146\150q\136\221\228\230\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\016protobuf-package\210\171\158\194\006\006string\210\203\242$(\232\146\150q\248\185\222;\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\004file\210\171\158\194\006\006string\210\203\242$1\232\146\150q\218\242\178\230\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\012ocaml-module\210\171\158\194\006\006string\218\164\238\191\004\004piqi\218\244\134\182\012\217\001\138\233\142\251\014\210\001\210\203\242$5\232\146\150q\216\210\153\r\152\182\154\152\004\223\162\138\147\001\218\164\238\191\004\006module\210\171\158\194\006\004word\226\128\157\190\n\007modname\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\160\223\186\243\001\210\171\158\194\006\004name\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\210\203\242$1\232\146\150q\218\242\178\230\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\012ocaml-module\210\171\158\194\006\006string\218\164\238\191\004\006import\218\244\134\182\012\214\001\138\233\142\251\014\207\001\210\203\242$7\232\146\150q\244\202\199\208\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\004type\210\171\158\194\006\006string\226\128\157\190\n\btypename\210\203\242$,\232\146\150q\150\229\148\006\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\bprotobuf\210\171\158\194\006\006binary\210\203\242$(\232\146\150q\208\136\194f\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\004json\210\171\158\194\006\006string\210\203\242$'\232\146\150q\174\183\219\005\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\003xml\210\171\158\194\006\006string\218\164\238\191\004\003any\218\244\134\182\012\253\001\138\233\142\251\014\246\001\210\203\242$\029\232\146\150q\150\201\251\143\001\152\182\154\152\004\223\162\138\147\001\210\171\158\194\006\004name\210\203\242$(\232\146\150q\148\144\238\225\003\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\005input\210\171\158\194\006\004type\210\203\242$)\232\146\150q\130\188\136\200\001\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\006output\210\171\158\194\006\004type\210\203\242$(\232\146\150q\144\175\206\178\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\005error\210\171\158\194\006\004type\210\203\242$/\232\146\150q\152\160\199\207\002\152\182\154\152\004\160\223\186\243\001\218\164\238\191\004\nocaml-name\210\171\158\194\006\006string\218\164\238\191\004\bfunction\226\128\157\190\n\004func\218\244\134\182\012D\138\233\142\251\014>\210\203\242$\025\232\146\150q\002\152\182\154\152\004\250\248\214\130\001\210\171\158\194\006\004piqi\218\164\238\191\004\tpiqi-list\226\128\157\190\n\011piqi_bundle" include Piqic_piqi