123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760open!Coreopen!Import(*_ see [../doc/streamable.mkd] for a high level introdution to this signature *)(** Functors for serializing and deserializing potentially large values
incrementally.
Serializing large values can cause problems
- bin_prot places size limits on what can be serialized.
- long-running monolithic (de)serializations block out the rest of the program from
running, even if we are using a concurrency library like Async.
Instead, we want to serialize large values incrementally, which necessitates breaking
them into reasonably sized parts that can individually serialized and then
re-assembled after deserialization.
*)(** see comment in [Module_type] where [S] is defined *)moduletypeS=Module_type.SmoduletypeS_rpc=Module_type.S_rpcmoduletypeS_rpc_with_sexp_of_part=Module_type.S_rpc_with_sexp_of_part(** [Stable_without_of_sexp] is used for keys in [S_rpc]-returning functors *)moduletypeStable_without_of_sexp=sigtypet[@@derivingbin_io,compare,sexp_of]includeComparator.Stable.V1.Swithtypet:=tendmoduletypeOf_atomic=functor(A:sigtypet[@@derivingbin_io,sexp]end)->Swithtypet=A.tmoduletypeOf_atomic_rpc=functor(A:sigtypet[@@derivingbin_io]end)->S_rpcwithtypet=A.tmoduletypeOf_map=functor(Key:Stable)(Data:S)->Swithtypet=(Key.t,Data.t,Key.comparator_witness)Map.tmoduletypeOf_map_rpc=functor(Key:Stable_without_of_sexp)(Data:S_rpc)->S_rpcwithtypet=(Key.t,Data.t,Key.comparator_witness)Map.tmoduletypeOf_total_map=functor(Key:Total_map.Key_with_witnesses)(Data:S)->Swithtypet=(Key.t,Data.t,Key.comparator_witness,Key.enumeration_witness)Total_map.tmoduletypeOf_total_map_rpc=functor(Key:Total_map.Key_with_witnesses)(Data:S_rpc)->S_rpcwithtypet=(Key.t,Data.t,Key.comparator_witness,Key.enumeration_witness)Total_map.tmoduletypeOf_hashtbl=functor(Key:sigincludeStableincludeHashtbl.Keywithtypet:=tend)(Data:S)->Swithtypet=(Key.t,Data.t)Hashtbl.tmoduletypeOf_hashtbl_rpc=functor(Key:sigincludeStable_without_of_sexpincludeHashtbl.Key_plainwithtypet:=tend)(Data:S_rpc)->S_rpcwithtypet=(Key.t,Data.t)Hashtbl.tmoduletypeOf_set=functor(Key:Stable)->Swithtypet=(Key.t,Key.comparator_witness)Set.tmoduletypeOf_set_rpc=functor(Key:Stable_without_of_sexp)->S_rpcwithtypet=(Key.t,Key.comparator_witness)Set.tmoduletypeOf_tuple2=functor(A:S)(B:S)->Swithtypet=A.t*B.tmoduletypeOf_tuple2_rpc=functor(A:S_rpc)(B:S_rpc)->S_rpcwithtypet=A.t*B.tmoduletypeOf_tuple3=functor(A:S)(B:S)(C:S)->Swithtypet=A.t*B.t*C.tmoduletypeOf_tuple3_rpc=functor(A:S_rpc)(B:S_rpc)(C:S_rpc)->S_rpcwithtypet=A.t*B.t*C.tmoduletypeOf_tuple4=functor(A:S)(B:S)(C:S)(D:S)->Swithtypet=A.t*B.t*C.t*D.tmoduletypeOf_tuple4_rpc=functor(A:S_rpc)(B:S_rpc)(C:S_rpc)(D:S_rpc)->S_rpcwithtypet=A.t*B.t*C.t*D.tmoduletypeOf_tuple5=functor(A:S)(B:S)(C:S)(D:S)(E:S)->Swithtypet=A.t*B.t*C.t*D.t*E.tmoduletypeOf_tuple5_rpc=functor(A:S_rpc)(B:S_rpc)(C:S_rpc)(D:S_rpc)(E:S_rpc)->S_rpcwithtypet=A.t*B.t*C.t*D.t*E.tmoduletypeOf_tuple6=functor(A:S)(B:S)(C:S)(D:S)(E:S)(F:S)->Swithtypet=A.t*B.t*C.t*D.t*E.t*F.tmoduletypeOf_tuple6_rpc=functor(A:S_rpc)(B:S_rpc)(C:S_rpc)(D:S_rpc)(E:S_rpc)(F:S_rpc)->S_rpcwithtypet=A.t*B.t*C.t*D.t*E.t*F.tmoduletypeOf_tuple7=functor(A:S)(B:S)(C:S)(D:S)(E:S)(F:S)(G:S)->Swithtypet=A.t*B.t*C.t*D.t*E.t*F.t*G.tmoduletypeOf_tuple7_rpc=functor(A:S_rpc)(B:S_rpc)(C:S_rpc)(D:S_rpc)(E:S_rpc)(F:S_rpc)(G:S_rpc)->S_rpcwithtypet=A.t*B.t*C.t*D.t*E.t*F.t*G.tmoduletypeOf_tuple8=functor(A:S)(B:S)(C:S)(D:S)(E:S)(F:S)(G:S)(H:S)->Swithtypet=A.t*B.t*C.t*D.t*E.t*F.t*G.t*H.tmoduletypeOf_tuple8_rpc=functor(A:S_rpc)(B:S_rpc)(C:S_rpc)(D:S_rpc)(E:S_rpc)(F:S_rpc)(G:S_rpc)(H:S_rpc)->S_rpcwithtypet=A.t*B.t*C.t*D.t*E.t*F.t*G.t*H.tmoduletypeOf_tuple9=functor(A:S)(B:S)(C:S)(D:S)(E:S)(F:S)(G:S)(H:S)(I:S)->Swithtypet=A.t*B.t*C.t*D.t*E.t*F.t*G.t*H.t*I.tmoduletypeOf_tuple9_rpc=functor(A:S_rpc)(B:S_rpc)(C:S_rpc)(D:S_rpc)(E:S_rpc)(F:S_rpc)(G:S_rpc)(H:S_rpc)(I:S_rpc)->S_rpcwithtypet=A.t*B.t*C.t*D.t*E.t*F.t*G.t*H.t*I.t(*$ Streamable_cinaps.of_variant_intf 2 *)moduletypeOf_variant2=functor(A:S)(B:S)->Swithtypet=[`AofA.t|`BofB.t](*$*)(*$ Streamable_cinaps.of_variant_rpc_intf 2 *)moduletypeOf_variant2_rpc=functor(A:S_rpc)(B:S_rpc)->S_rpcwithtypet=[`AofA.t|`BofB.t](*$*)(*$ Streamable_cinaps.of_variant_intf 3 *)moduletypeOf_variant3=functor(A:S)(B:S)(C:S)->Swithtypet=[`AofA.t|`BofB.t|`CofC.t](*$*)(*$ Streamable_cinaps.of_variant_rpc_intf 3 *)moduletypeOf_variant3_rpc=functor(A:S_rpc)(B:S_rpc)(C:S_rpc)->S_rpcwithtypet=[`AofA.t|`BofB.t|`CofC.t](*$*)(*$ Streamable_cinaps.of_variant_intf 4 *)moduletypeOf_variant4=functor(A:S)(B:S)(C:S)(D:S)->Swithtypet=[`AofA.t|`BofB.t|`CofC.t|`DofD.t](*$*)(*$ Streamable_cinaps.of_variant_rpc_intf 4 *)moduletypeOf_variant4_rpc=functor(A:S_rpc)(B:S_rpc)(C:S_rpc)(D:S_rpc)->S_rpcwithtypet=[`AofA.t|`BofB.t|`CofC.t|`DofD.t](*$*)(*$ Streamable_cinaps.of_variant_intf 5 *)moduletypeOf_variant5=functor(A:S)(B:S)(C:S)(D:S)(E:S)->Swithtypet=[`AofA.t|`BofB.t|`CofC.t|`DofD.t|`EofE.t](*$*)(*$ Streamable_cinaps.of_variant_rpc_intf 5 *)moduletypeOf_variant5_rpc=functor(A:S_rpc)(B:S_rpc)(C:S_rpc)(D:S_rpc)(E:S_rpc)->S_rpcwithtypet=[`AofA.t|`BofB.t|`CofC.t|`DofD.t|`EofE.t](*$*)moduletypeOf_list=functor(A:S)->Swithtypet=A.tlistmoduletypeOf_list_rpc=functor(A:S_rpc)->S_rpcwithtypet=A.tlistmoduletypeOf_nonempty_list=functor(A:S)->Swithtypet=A.tNonempty_list.tmoduletypeOf_nonempty_list_rpc=functor(A:S_rpc)->S_rpcwithtypet=A.tNonempty_list.tmoduletypeOf_option=functor(A:S)->Swithtypet=A.toptionmoduletypeOf_option_rpc=functor(A:S_rpc)->S_rpcwithtypet=A.toptionmoduletypeOf_result=functor(A:S)(B:S)->Swithtypet=(A.t,B.t)resultmoduletypeOf_result_rpc=functor(A:S_rpc)(B:S_rpc)->S_rpcwithtypet=(A.t,B.t)resultmoduletypeOf_fqueue=functor(A:S)->Swithtypet=A.tFqueue.tmoduletypeOf_fqueue_rpc=functor(A:S_rpc)->S_rpcwithtypet=A.tFqueue.tmoduletypeOf_sequence=functor(A:S)->Swithtypet=A.tSequence.tmoduletypeOf_sequence_rpc=functor(A:S_rpc)->S_rpcwithtypet=A.tSequence.tmoduletypeOf_streamable=functor(Streamable:S)(X:sigtypetvalto_streamable:t->Streamable.tvalof_streamable:Streamable.t->tend)->Swithtypet=X.tmoduletypeOf_streamable_rpc=functor(Streamable:S_rpc)(X:sigtypetvalto_streamable:t->Streamable.tvalof_streamable:Streamable.t->tend)->S_rpcwithtypet=X.tmoduletypeOf_sexpable=functor(Sexpable:Sexpable)->Swithtypet=Sexpable.t(** The [Fixpoint] functor can be used to make recursive types streamable *)moduletypeFixpoint=functor(T:T)(F:functor(X:Swithtypet=T.t)->Swithtypet=T.t)->Swithtypet=T.tmoduletypeFixpoint_rpc=functor(T:T)(F:functor(X:S_rpcwithtypet=T.t)->S_rpcwithtypet=T.t)->S_rpcwithtypet=T.t(** [Checked] is a wrapper functor for finding places that are producing binio values that
are too large. The output behaves exactly like the input, except that [to_parts] will
raise if it ever produces an intermediate part whose binio size exceeds
[max_intermediate_part_bin_size]. *)moduletypeChecked=functor(Limit:sigvalmax_intermediate_part_bin_size:intvalhere:Source_code_position.tend)(X:S)->Swithtypet=X.tmoduletypePacked=functor(X:S)->Swithtypet=X.tmoduletypePacked_rpc=functor(X:S_rpc)->S_rpcwithtypet=X.tmoduletypeMain=sigmoduletypeS=SmoduletypeS_rpc=S_rpcmoduletypeS_rpc_with_sexp_of_part=S_rpc_with_sexp_of_partmoduletypeOf_atomic=Of_atomicmoduletypeOf_atomic_rpc=Of_atomic_rpcmoduletypeOf_map=Of_mapmoduletypeOf_map_rpc=Of_map_rpcmoduletypeOf_total_map=Of_total_mapmoduletypeOf_total_map_rpc=Of_total_map_rpcmoduletypeOf_hashtbl=Of_hashtblmoduletypeOf_hashtbl_rpc=Of_hashtbl_rpcmoduletypeOf_set=Of_setmoduletypeOf_set_rpc=Of_set_rpcmoduletypeOf_tuple2=Of_tuple2moduletypeOf_tuple2_rpc=Of_tuple2_rpcmoduletypeOf_tuple3=Of_tuple3moduletypeOf_tuple3_rpc=Of_tuple3_rpcmoduletypeOf_tuple4=Of_tuple4moduletypeOf_tuple4_rpc=Of_tuple4_rpcmoduletypeOf_tuple5=Of_tuple5moduletypeOf_tuple5_rpc=Of_tuple5_rpcmoduletypeOf_tuple6=Of_tuple6moduletypeOf_tuple6_rpc=Of_tuple6_rpcmoduletypeOf_variant2=Of_variant2moduletypeOf_variant2_rpc=Of_variant2_rpcmoduletypeOf_variant3=Of_variant3moduletypeOf_variant3_rpc=Of_variant3_rpcmoduletypeOf_variant4=Of_variant4moduletypeOf_variant4_rpc=Of_variant4_rpcmoduletypeOf_variant5=Of_variant5moduletypeOf_variant5_rpc=Of_variant5_rpcmoduletypeOf_list=Of_listmoduletypeOf_list_rpc=Of_list_rpcmoduletypeOf_nonempty_list=Of_nonempty_listmoduletypeOf_nonempty_list_rpc=Of_nonempty_list_rpcmoduletypeOf_option=Of_optionmoduletypeOf_option_rpc=Of_option_rpcmoduletypeOf_result=Of_resultmoduletypeOf_result_rpc=Of_result_rpcmoduletypeOf_fqueue=Of_fqueuemoduletypeOf_fqueue_rpc=Of_fqueue_rpcmoduletypeOf_sequence=Of_sequencemoduletypeOf_sequence_rpc=Of_sequence_rpcmoduletypeOf_streamable=Of_streamablemoduletypeOf_streamable_rpc=Of_streamable_rpcmoduletypeFixpoint=FixpointmoduletypeFixpoint_rpc=Fixpoint_rpcmoduletypeChecked=CheckedmoduletypePacked=PackedmoduletypePacked_rpc=Packed_rpc(** The latest versions of each functor. These functors are unstable *)moduleOf_atomic:Of_atomicmoduleOf_atomic_rpc:Of_atomic_rpcmoduleOf_map:Of_mapmoduleOf_map_rpc:Of_map_rpcmoduleOf_total_map:Of_total_mapmoduleOf_total_map_rpc:Of_total_map_rpcmoduleOf_hashtbl:Of_hashtblmoduleOf_hashtbl_rpc:Of_hashtbl_rpcmoduleOf_set:Of_setmoduleOf_set_rpc:Of_set_rpcmoduleOf_tuple2:Of_tuple2moduleOf_tuple2_rpc:Of_tuple2_rpcmoduleOf_tuple3:Of_tuple3moduleOf_tuple3_rpc:Of_tuple3_rpcmoduleOf_tuple4:Of_tuple4moduleOf_tuple4_rpc:Of_tuple4_rpcmoduleOf_tuple5:Of_tuple5moduleOf_tuple5_rpc:Of_tuple5_rpcmoduleOf_tuple6:Of_tuple6moduleOf_tuple6_rpc:Of_tuple6_rpcmoduleOf_tuple7:Of_tuple7moduleOf_tuple7_rpc:Of_tuple7_rpcmoduleOf_tuple8:Of_tuple8moduleOf_tuple8_rpc:Of_tuple8_rpcmoduleOf_tuple9:Of_tuple9moduleOf_tuple9_rpc:Of_tuple9_rpcmoduleOf_variant2:Of_variant2moduleOf_variant2_rpc:Of_variant2_rpcmoduleOf_variant3:Of_variant3moduleOf_variant3_rpc:Of_variant3_rpcmoduleOf_variant4:Of_variant4moduleOf_variant4_rpc:Of_variant4_rpcmoduleOf_variant5:Of_variant5moduleOf_variant5_rpc:Of_variant5_rpcmoduleOf_list:Of_listmoduleOf_list_rpc:Of_list_rpcmoduleOf_nonempty_list:Of_nonempty_listmoduleOf_nonempty_list_rpc:Of_nonempty_list_rpcmoduleOf_option:Of_optionmoduleOf_option_rpc:Of_option_rpcmoduleOf_result:Of_resultmoduleOf_result_rpc:Of_result_rpcmoduleOf_fqueue:Of_fqueuemoduleOf_fqueue_rpc:Of_fqueue_rpcmoduleOf_sequence:Of_sequencemoduleOf_sequence_rpc:Of_sequence_rpcmoduleOf_streamable:Of_streamablemoduleOf_streamable_rpc:Of_streamable_rpcmoduleOf_sexpable:Of_sexpablemoduleFixpoint:FixpointmoduleFixpoint_rpc:Fixpoint_rpcmoduleChecked:CheckedmodulePacked:PackedmodulePacked_rpc:Packed_rpcmoduleRemove_t_rpc=Remove_t.F_rpcmoduleRemove_t=Remove_t.FmoduleStable:sigmoduletypeS=SmoduletypeS_rpc=S_rpcmoduletypeS_rpc_with_sexp_of_part=S_rpc_with_sexp_of_partmoduleRemove_t=Remove_tmoduleRemove_t_rpc=Remove_t_rpc(** Individually-accessible stable versions of each functor. *)moduleChecked:CheckedmodulePacked:sigmoduleV1:PackedendmodulePacked_rpc:sigmoduleV1:Packed_rpcendmoduleFixpoint:sigmoduleV1:FixpointendmoduleFixpoint_rpc:sigmoduleV1:Fixpoint_rpcendmoduleOf_atomic:sigmoduleV1:Of_atomicendmoduleOf_atomic_rpc:sigmoduleV1:Of_atomic_rpcendmoduleOf_fqueue:sigmoduleV2:Of_fqueuemoduleV3:Of_fqueueendmoduleOf_fqueue_rpc:sigmoduleV2:Of_fqueue_rpcmoduleV3:Of_fqueue_rpcendmoduleOf_hashtbl:sigmoduleV1:Of_hashtblendmoduleOf_hashtbl_rpc:sigmoduleV1:Of_hashtbl_rpcendmoduleOf_list:sigmoduleV2:Of_listmoduleV3:Of_listendmoduleOf_list_rpc:sigmoduleV2:Of_list_rpcmoduleV3:Of_list_rpcendmoduleOf_nonempty_list:sigmoduleV1:Of_nonempty_listendmoduleOf_nonempty_list_rpc:sigmoduleV1:Of_nonempty_list_rpcendmoduleOf_map:sigmoduleV1:Of_mapmoduleV2:Of_mapendmoduleOf_map_rpc:sigmoduleV1:Of_map_rpcmoduleV2:Of_map_rpcendmoduleOf_total_map:sigmoduleV1:Of_total_mapendmoduleOf_total_map_rpc:sigmoduleV1:Of_total_map_rpcendmoduleOf_option:sigmoduleV1:Of_optionmoduleV2:Of_optionendmoduleOf_option_rpc:sigmoduleV1:Of_option_rpcmoduleV2:Of_option_rpcendmoduleOf_result:sigmoduleV1:Of_resultendmoduleOf_result_rpc:sigmoduleV1:Of_result_rpcendmoduleOf_set:sigmoduleV2:Of_setmoduleV3:Of_setendmoduleOf_set_rpc:sigmoduleV2:Of_set_rpcmoduleV3:Of_set_rpcendmoduleOf_sequence:sigmoduleV1:Of_sequenceendmoduleOf_sequence_rpc:sigmoduleV1:Of_sequence_rpcendmoduleOf_streamable:sigmoduleV1:Of_streamableendmoduleOf_streamable_rpc:sigmoduleV1:Of_streamable_rpcendmoduleOf_tuple2:sigmoduleV1:Of_tuple2endmoduleOf_tuple2_rpc:sigmoduleV1:Of_tuple2_rpcendmoduleOf_tuple3:sigmoduleV1:Of_tuple3endmoduleOf_tuple3_rpc:sigmoduleV1:Of_tuple3_rpcendmoduleOf_tuple4:sigmoduleV1:Of_tuple4endmoduleOf_tuple4_rpc:sigmoduleV1:Of_tuple4_rpcendmoduleOf_tuple5:sigmoduleV1:Of_tuple5endmoduleOf_tuple5_rpc:sigmoduleV1:Of_tuple5_rpcendmoduleOf_tuple6:sigmoduleV1:Of_tuple6endmoduleOf_tuple6_rpc:sigmoduleV1:Of_tuple6_rpcendmoduleOf_tuple7:sigmoduleV1:Of_tuple7endmoduleOf_tuple7_rpc:sigmoduleV1:Of_tuple7_rpcendmoduleOf_tuple8:sigmoduleV1:Of_tuple8endmoduleOf_tuple8_rpc:sigmoduleV1:Of_tuple8_rpcendmoduleOf_tuple9:sigmoduleV1:Of_tuple9endmoduleOf_tuple9_rpc:sigmoduleV1:Of_tuple9_rpcendmoduleOf_variant2:sigmoduleV1:Of_variant2endmoduleOf_variant2_rpc:sigmoduleV1:Of_variant2_rpcendmoduleOf_variant3:sigmoduleV1:Of_variant3endmoduleOf_variant3_rpc:sigmoduleV1:Of_variant3_rpcendmoduleOf_variant4:sigmoduleV1:Of_variant4endmoduleOf_variant4_rpc:sigmoduleV1:Of_variant4_rpcendmoduleOf_variant5:sigmoduleV1:Of_variant5endmoduleOf_variant5_rpc:sigmoduleV1:Of_variant5_rpcendmoduleOf_sexpable:sigmoduleV1:Of_sexpableend(** Toplevel versions of the [Streamable] library, used by [@@deriving streamable
~version].
These are meant to be "add only" -- new functor types can be added but not
removed, and version cannot change after it's added. If we ever want add a new
version of one of the functors bundled in a [Streamable.Stable.Vn] module, we'll
add [Streamable.Stable.V(n+1)] and add it there.
*)moduleV1:sigmoduleFixpoint=Fixpoint.V1moduleFixpoint_rpc=Fixpoint_rpc.V1moduleOf_atomic=Of_atomic.V1moduleOf_atomic_rpc=Of_atomic_rpc.V1moduleOf_fqueue=Of_fqueue.V3moduleOf_fqueue_rpc=Of_fqueue_rpc.V3moduleOf_hashtbl=Of_hashtbl.V1moduleOf_hashtbl_rpc=Of_hashtbl_rpc.V1moduleOf_list=Of_list.V3moduleOf_list_rpc=Of_list_rpc.V3moduleOf_map=Of_map.V2moduleOf_map_rpc=Of_map_rpc.V2moduleOf_nonempty_list=Of_nonempty_list.V1moduleOf_nonempty_list_rpc=Of_nonempty_list_rpc.V1moduleOf_option=Of_option.V2moduleOf_option_rpc=Of_option_rpc.V2moduleOf_result=Of_result.V1moduleOf_result_rpc=Of_result_rpc.V1moduleOf_sequence=Of_sequence.V1moduleOf_sequence_rpc=Of_sequence_rpc.V1moduleOf_set=Of_set.V3moduleOf_set_rpc=Of_set_rpc.V3moduleOf_sexpable=Of_sexpable.V1moduleOf_streamable=Of_streamable.V1moduleOf_streamable_rpc=Of_streamable_rpc.V1moduleOf_total_map=Of_total_map.V1moduleOf_total_map_rpc=Of_total_map_rpc.V1moduleOf_tuple2=Of_tuple2.V1moduleOf_tuple2_rpc=Of_tuple2_rpc.V1moduleOf_tuple3=Of_tuple3.V1moduleOf_tuple3_rpc=Of_tuple3_rpc.V1moduleOf_tuple4=Of_tuple4.V1moduleOf_tuple4_rpc=Of_tuple4_rpc.V1moduleOf_tuple5=Of_tuple5.V1moduleOf_tuple5_rpc=Of_tuple5_rpc.V1moduleOf_tuple6=Of_tuple6.V1moduleOf_tuple6_rpc=Of_tuple6_rpc.V1moduleOf_tuple7=Of_tuple7.V1moduleOf_tuple7_rpc=Of_tuple7_rpc.V1moduleOf_tuple8=Of_tuple8.V1moduleOf_tuple8_rpc=Of_tuple8_rpc.V1moduleOf_tuple9=Of_tuple9.V1moduleOf_tuple9_rpc=Of_tuple9_rpc.V1moduleOf_variant2=Of_variant2.V1moduleOf_variant2_rpc=Of_variant2_rpc.V1moduleOf_variant3=Of_variant3.V1moduleOf_variant3_rpc=Of_variant3_rpc.V1moduleOf_variant4=Of_variant4.V1moduleOf_variant4_rpc=Of_variant4_rpc.V1moduleOf_variant5=Of_variant5.V1moduleOf_variant5_rpc=Of_variant5_rpc.V1moduleRemove_t=Remove_tmoduleRemove_t_rpc=Remove_t_rpcendendend