module Precompile_TypeDB_Protocol

using ProtoBuf
using ..TypeDBClient

g = TypeDBClient.typedb.protocol

function _precompile_()
    ccall(:jl_generating_output, Cint, ()) == 1 || return nothing
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Relation_RemovePlayer_Req}})   # time: 0.11327494
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_SetHas_Req}})   # time: 0.04059317
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_ResPart}})   # time: 0.03636061
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_ResPart}})   # time: 0.030095141
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptManager_Res}})   # time: 0.02858994
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Res}})   # time: 0.027888825
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Transaction_Client}})   # time: 0.024184799
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_GetOwns_Req}})   # time: 0.023652244
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptMapGroup}})   # time: 0.023117358
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_GetHas_ResPart}})   # time: 0.023006914
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_SetSupertype_Res}})   # time: 0.022904683
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_Req}})   # time: 0.02200334
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Undefine_Req}})   # time: 0.021988356
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptManager_GetThing_Req}})   # time: 0.021817593
    @assert Base.precompile(Tuple{typeof(meta),Type{g.AttributeType_Put_Req}})   # time: 0.021352673
    @assert Base.precompile(Tuple{typeof(meta),Type{g.LogicManager_PutRule_Req}})   # time: 0.021125427
    @assert Base.precompile(Tuple{typeof(meta),Type{g.AttributeType_Get_Res}})   # time: 0.021080498
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Delete_Req}})   # time: 0.020728838
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Req}})   # time: 0.02057298
    @assert Base.precompile(Tuple{typeof(meta),Type{g.AttributeType_GetOwners_Req}})   # time: 0.020349976
    @assert Base.precompile(Tuple{typeof(meta),Type{g.EntityType_Create_Req}})   # time: 0.01956494
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_Res}})   # time: 0.017860284
    @assert Base.precompile(Tuple{Core.kwftype(typeof(Type)),NamedTuple{(:reqs,), Tuple{Vector{g.Transaction_Req}}},Type{g.Transaction_Client}})   # time: 0.017820457
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_ResPart}})   # time: 0.017225703
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptManager_Req}})   # time: 0.015448299
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Explanation}})   # time: 0.015126186
    @assert Base.precompile(Tuple{typeof(meta),Type{g._Type}})   # time: 0.014537138
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing}})   # time: 0.013407678
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Attribute_Value}})   # time: 0.012723284
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RelationType_SetRelates_Req}})   # time: 0.012556498
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_SetOwns_Req}})   # time: 0.01229427
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_SetSupertype_Req}})   # time: 0.012243458
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptMap}})   # time: 0.012237117
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Rule_Delete_Req}})   # time: 0.011915595
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_SetLabel_Req}})   # time: 0.011890562
    @assert Base.precompile(Tuple{typeof(meta),Type{g.LogicManager_Req}})   # time: 0.011888661
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptManager_GetThingType_Res}})   # time: 0.011882486
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Explanation_VarList}})   # time: 0.011782851
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_GetPlays_ResPart}})   # time: 0.011676633
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Relation_AddPlayer_Req}})   # time: 0.011581464
    @assert Base.precompile(Tuple{typeof(meta),Type{g.LogicManager_GetRules_ResPart}})   # time: 0.011531885
    @assert Base.precompile(Tuple{Type{g.Transaction_Server}})   # time: 0.011474489
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_MatchGroup_Req}})   # time: 0.011434047
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_MatchAggregate_Res}})   # time: 0.011292823
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_GetInstances_ResPart}})   # time: 0.011253795
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Explainables}})   # time: 0.011244047
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Update_ResPart}})   # time: 0.011241352
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Attribute_GetOwners_Req}})   # time: 0.011203552
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_GetSubtypes_ResPart}})   # time: 0.011081024
    @assert Base.precompile(Tuple{Type{g.Session_Pulse_Res}})   # time: 0.011076559
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Match_ResPart}})   # time: 0.011035354
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RelationType_Create_Res}})   # time: 0.011021406
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_SetPlays_Req}})   # time: 0.010988181
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Transaction_Stream_ResPart}})   # time: 0.010976053
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RelationType_GetRelatesForRoleLabel_Req}})   # time: 0.010974543
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Transaction_Rollback_Res}})   # time: 0.010892521
    @assert Base.precompile(Tuple{typeof(meta),Type{g.NumericGroup}})   # time: 0.010849708
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Relation_GetPlayers_ResPart}})   # time: 0.010761713
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptManager_GetThingType_Req}})   # time: 0.010752866
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Rule_Req}})   # time: 0.010743545
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Explainable}})   # time: 0.010725368
    @assert Base.precompile(Tuple{typeof(meta),Type{g.LogicManager_Res}})   # time: 0.010704533
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_MatchGroupAggregate_Req}})   # time: 0.010661521
    @assert Base.precompile(Tuple{typeof(meta),Type{g.EntityType_Create_Res}})   # time: 0.010562908
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_IsAbstract_Req}})   # time: 0.010539572
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Rule_Res}})   # time: 0.010471803
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RelationType_UnsetRelates_Res}})   # time: 0.010455552
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Update_Req}})   # time: 0.010436815
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RelationType_GetRelates_ResPart}})   # time: 0.010421858
    @assert Base.precompile(Tuple{typeof(meta),Type{g.LogicManager_GetRule_Res}})   # time: 0.010417575
    @assert Base.precompile(Tuple{Type{g.Session_Open_Res}})   # time: 0.010406066
    @assert Base.precompile(Tuple{typeof(meta),Type{g.LogicManager_GetRule_Req}})   # time: 0.010353709
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptManager_PutAttributeType_Req}})   # time: 0.010277795
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_UnsetPlays_Req}})   # time: 0.010258366
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Rule}})   # time: 0.010229583
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_GetPlaying_ResPart}})   # time: 0.010186644
    @assert Base.precompile(Tuple{typeof(meta),Type{g.LogicManager_ResPart}})   # time: 0.01015848
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_MatchGroupAggregate_ResPart}})   # time: 0.010028499
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Insert_ResPart}})   # time: 0.010002855
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptManager_PutAttributeType_Res}})   # time: 0.009968781
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Undefine_Res}})   # time: 0.009943785
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Explain_Req}})   # time: 0.0099278
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_UnsetAbstract_Req}})   # time: 0.009927308
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_GetHas_Req}})   # time: 0.009924366
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RoleType_GetRelationTypes_ResPart}})   # time: 0.009915132
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_GetType_Req}})   # time: 0.009914403
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Attribute_GetOwners_ResPart}})   # time: 0.009897542
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_GetSupertypes_Req}})   # time: 0.009879283
    @assert Base.precompile(Tuple{typeof(meta),Type{g.AttributeType_SetRegex_Req}})   # time: 0.009803332
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_IsAbstract_Res}})   # time: 0.009788234
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Numeric}})   # time: 0.009760826
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptManager_PutEntityType_Req}})   # time: 0.009753091
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_MatchGroup_ResPart}})   # time: 0.009750567
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RelationType_GetRelatesForRoleLabel_Res}})   # time: 0.009745792
    @assert Base.precompile(Tuple{typeof(meta),Type{g.AttributeType_GetRegex_Res}})   # time: 0.009720303
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_GetRelations_Req}})   # time: 0.009717738
    @assert Base.precompile(Tuple{typeof(meta),Type{g.AttributeType_Get_Req}})   # time: 0.009703181
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Relation_GetPlayersByRoleType_ResPart}})   # time: 0.009663366
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Transaction_Commit_Req}})   # time: 0.009637717
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RoleType_GetPlayers_Req}})   # time: 0.009627365
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_GetOwns_ResPart}})   # time: 0.009579233
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_GetRelations_ResPart}})   # time: 0.009575339
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_Delete_Req}})   # time: 0.00953032
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RelationType_UnsetRelates_Req}})   # time: 0.009518828
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Relation_GetPlayersByRoleType_RoleTypeWithPlayer}})   # time: 0.009517489
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Relation_GetRelating_ResPart}})   # time: 0.009454011
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_GetSupertype_Res}})   # time: 0.009450192
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptManager_PutRelationType_Req}})   # time: 0.009445112
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Explain_ResPart}})   # time: 0.009409025
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Transaction_Commit_Res}})   # time: 0.009379997
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_GetSupertype_Req}})   # time: 0.009365733
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RoleType_GetPlayers_ResPart}})   # time: 0.009362556
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_UnsetOwns_Req}})   # time: 0.009352733
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_MatchAggregate_Req}})   # time: 0.009337294
    @assert Base.precompile(Tuple{typeof(meta),Type{g.AttributeType_GetOwners_ResPart}})   # time: 0.009325083
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Relation_GetPlayersByRoleType_Req}})   # time: 0.009319417
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Match_Req}})   # time: 0.009304448
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptManager_GetThing_Res}})   # time: 0.009292919
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_GetSupertypes_ResPart}})   # time: 0.009276615
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Explainables_Owned}})   # time: 0.009266806
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptManager_PutRelationType_Res}})   # time: 0.009264035
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Relation_GetPlayers_Req}})   # time: 0.009262358
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_SetOwns_Res}})   # time: 0.009207241
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RelationType_Create_Req}})   # time: 0.009176729
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ConceptManager_PutEntityType_Res}})   # time: 0.009174211
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_GetPlays_Req}})   # time: 0.00915192
    @assert Base.precompile(Tuple{typeof(meta),Type{g.LogicManager_GetRules_Req}})   # time: 0.009127014
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Transaction_Rollback_Req}})   # time: 0.009115244
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_GetType_Res}})   # time: 0.009109693
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Concept}})   # time: 0.009107701
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Define_Req}})   # time: 0.00910414
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Rule_SetLabel_Req}})   # time: 0.009058628
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_SetPlays_Res}})   # time: 0.009030789
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Insert_Req}})   # time: 0.008967989
    @assert Base.precompile(Tuple{typeof(meta),Type{g.LogicManager_PutRule_Res}})   # time: 0.008959993
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Define_Res}})   # time: 0.008932782
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_UnsetHas_Req}})   # time: 0.008894681
    @assert Base.precompile(Tuple{typeof(meta),Type{g.AttributeType_Put_Res}})   # time: 0.008858936
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_GetInstances_Req}})   # time: 0.008833896
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Transaction_Open_Res}})   # time: 0.008832352
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_Delete_Res}})   # time: 0.008705167
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_UnsetPlays_Res}})   # time: 0.008704196
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_SetAbstract_Res}})   # time: 0.008673189
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Relation_RemovePlayer_Res}})   # time: 0.008617327
    @assert Base.precompile(Tuple{typeof(meta),Type{g.AttributeType_SetRegex_Res}})   # time: 0.008589685
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RoleType_GetRelationTypes_Req}})   # time: 0.008556931
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_UnsetAbstract_Res}})   # time: 0.008529544
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_SetHas_Res}})   # time: 0.008495999
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_SetLabel_Res}})   # time: 0.008488814
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_Delete_Res}})   # time: 0.008479692
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Type_GetSubtypes_Req}})   # time: 0.008458761
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Relation_AddPlayer_Res}})   # time: 0.008457315
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_UnsetOwns_Res}})   # time: 0.008415489
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Rule_Delete_Res}})   # time: 0.00839782
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_UnsetHas_Res}})   # time: 0.008370067
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RelationType_GetRelates_Req}})   # time: 0.008363739
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_Delete_Req}})   # time: 0.00835378
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Thing_GetPlaying_Req}})   # time: 0.008339361
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Rule_SetLabel_Res}})   # time: 0.008334654
    @assert Base.precompile(Tuple{typeof(meta),Type{g.Relation_GetRelating_Req}})   # time: 0.00832416
    @assert Base.precompile(Tuple{typeof(meta),Type{g.ThingType_SetAbstract_Req}})   # time: 0.008243179
    @assert Base.precompile(Tuple{typeof(meta),Type{g.AttributeType_GetRegex_Req}})   # time: 0.008231799
    @assert Base.precompile(Tuple{typeof(meta),Type{g.RelationType_SetRelates_Res}})   # time: 0.008213344
    @assert Base.precompile(Tuple{typeof(meta),Type{g.QueryManager_Delete_Res}})   # time: 0.008168623
    @assert Base.precompile(Tuple{Type{g.Transaction_Res}})   # time: 0.001181481
    @assert Base.precompile(Tuple{Type{g.Transaction_Open_Res}}) # time: 0.001030904

    @info "Precompile protocol done!"
end

end
