// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 // protoc v5.28.3 // source: pkgdash.proto package pkgdashpb import ( _ "github.com/envoyproxy/protoc-gen-validate/validate" _ "go.unistack.org/micro-proto/v3/api" _ "go.unistack.org/micro-proto/v3/openapiv3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type HandlerListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Package uint64 `protobuf:"varint,1,opt,name=package,proto3" json:"package,omitempty"` } func (x *HandlerListReq) Reset() { *x = HandlerListReq{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HandlerListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*HandlerListReq) ProtoMessage() {} func (x *HandlerListReq) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HandlerListReq.ProtoReflect.Descriptor instead. func (*HandlerListReq) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{0} } func (x *HandlerListReq) GetPackage() uint64 { if x != nil { return x.Package } return 0 } type HandlerListRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Handlers []*Handler `protobuf:"bytes,1,rep,name=handlers,proto3" json:"handlers,omitempty"` } func (x *HandlerListRsp) Reset() { *x = HandlerListRsp{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HandlerListRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*HandlerListRsp) ProtoMessage() {} func (x *HandlerListRsp) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HandlerListRsp.ProtoReflect.Descriptor instead. func (*HandlerListRsp) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{1} } func (x *HandlerListRsp) GetHandlers() []*Handler { if x != nil { return x.Handlers } return nil } type PackageModulesReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Package uint64 `protobuf:"varint,1,opt,name=package,proto3" json:"package,omitempty"` } func (x *PackageModulesReq) Reset() { *x = PackageModulesReq{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PackageModulesReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*PackageModulesReq) ProtoMessage() {} func (x *PackageModulesReq) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PackageModulesReq.ProtoReflect.Descriptor instead. func (*PackageModulesReq) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{2} } func (x *PackageModulesReq) GetPackage() uint64 { if x != nil { return x.Package } return 0 } type PackageModulesRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Modules []*Module `protobuf:"bytes,1,rep,name=modules,proto3" json:"modules,omitempty"` } func (x *PackageModulesRsp) Reset() { *x = PackageModulesRsp{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PackageModulesRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*PackageModulesRsp) ProtoMessage() {} func (x *PackageModulesRsp) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PackageModulesRsp.ProtoReflect.Descriptor instead. func (*PackageModulesRsp) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{3} } func (x *PackageModulesRsp) GetModules() []*Module { if x != nil { return x.Modules } return nil } type PackageLookupReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *PackageLookupReq) Reset() { *x = PackageLookupReq{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PackageLookupReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*PackageLookupReq) ProtoMessage() {} func (x *PackageLookupReq) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PackageLookupReq.ProtoReflect.Descriptor instead. func (*PackageLookupReq) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{4} } func (x *PackageLookupReq) GetId() uint64 { if x != nil { return x.Id } return 0 } type PackageLookupRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Package *Package `protobuf:"bytes,1,opt,name=package,proto3" json:"package,omitempty"` } func (x *PackageLookupRsp) Reset() { *x = PackageLookupRsp{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PackageLookupRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*PackageLookupRsp) ProtoMessage() {} func (x *PackageLookupRsp) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PackageLookupRsp.ProtoReflect.Descriptor instead. func (*PackageLookupRsp) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{5} } func (x *PackageLookupRsp) GetPackage() *Package { if x != nil { return x.Package } return nil } type ErrorRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` Uuid string `protobuf:"bytes,3,opt,name=uuid,proto3" json:"uuid,omitempty"` Details string `protobuf:"bytes,4,opt,name=details,proto3" json:"details,omitempty"` } func (x *ErrorRsp) Reset() { *x = ErrorRsp{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ErrorRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ErrorRsp) ProtoMessage() {} func (x *ErrorRsp) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ErrorRsp.ProtoReflect.Descriptor instead. func (*ErrorRsp) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{6} } func (x *ErrorRsp) GetCode() string { if x != nil { return x.Code } return "" } func (x *ErrorRsp) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ErrorRsp) GetUuid() string { if x != nil { return x.Uuid } return "" } func (x *ErrorRsp) GetDetails() string { if x != nil { return x.Details } return "" } type Package struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` Modules uint64 `protobuf:"varint,5,opt,name=modules,proto3" json:"modules,omitempty"` Issues uint64 `protobuf:"varint,6,opt,name=issues,proto3" json:"issues,omitempty"` Comments uint64 `protobuf:"varint,7,opt,name=comments,proto3" json:"comments,omitempty"` Handlers uint64 `protobuf:"varint,8,opt,name=handlers,proto3" json:"handlers,omitempty"` Created *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created,proto3" json:"created,omitempty"` Updated *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=updated,proto3" json:"updated,omitempty"` LastCheck *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=last_check,json=lastCheck,proto3" json:"last_check,omitempty"` Type string `protobuf:"bytes,12,opt,name=type,proto3" json:"type,omitempty"` Coverage float64 `protobuf:"fixed64,13,opt,name=coverage,proto3" json:"coverage,omitempty"` } func (x *Package) Reset() { *x = Package{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Package) String() string { return protoimpl.X.MessageStringOf(x) } func (*Package) ProtoMessage() {} func (x *Package) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Package.ProtoReflect.Descriptor instead. func (*Package) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{7} } func (x *Package) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *Package) GetName() string { if x != nil { return x.Name } return "" } func (x *Package) GetUrl() string { if x != nil { return x.Url } return "" } func (x *Package) GetDescription() string { if x != nil { return x.Description } return "" } func (x *Package) GetModules() uint64 { if x != nil { return x.Modules } return 0 } func (x *Package) GetIssues() uint64 { if x != nil { return x.Issues } return 0 } func (x *Package) GetComments() uint64 { if x != nil { return x.Comments } return 0 } func (x *Package) GetHandlers() uint64 { if x != nil { return x.Handlers } return 0 } func (x *Package) GetCreated() *timestamppb.Timestamp { if x != nil { return x.Created } return nil } func (x *Package) GetUpdated() *timestamppb.Timestamp { if x != nil { return x.Updated } return nil } func (x *Package) GetLastCheck() *timestamppb.Timestamp { if x != nil { return x.LastCheck } return nil } func (x *Package) GetType() string { if x != nil { return x.Type } return "" } func (x *Package) GetCoverage() float64 { if x != nil { return x.Coverage } return 0 } type Handler struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Package uint64 `protobuf:"varint,2,opt,name=package,proto3" json:"package,omitempty"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` Coverage float64 `protobuf:"fixed64,4,opt,name=coverage,proto3" json:"coverage,omitempty"` } func (x *Handler) Reset() { *x = Handler{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Handler) String() string { return protoimpl.X.MessageStringOf(x) } func (*Handler) ProtoMessage() {} func (x *Handler) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Handler.ProtoReflect.Descriptor instead. func (*Handler) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{8} } func (x *Handler) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *Handler) GetPackage() uint64 { if x != nil { return x.Package } return 0 } func (x *Handler) GetName() string { if x != nil { return x.Name } return "" } func (x *Handler) GetCoverage() float64 { if x != nil { return x.Coverage } return 0 } type Module struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` LastCheck *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=last_check,json=lastCheck,proto3" json:"last_check,omitempty"` } func (x *Module) Reset() { *x = Module{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Module) String() string { return protoimpl.X.MessageStringOf(x) } func (*Module) ProtoMessage() {} func (x *Module) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Module.ProtoReflect.Descriptor instead. func (*Module) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{9} } func (x *Module) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *Module) GetName() string { if x != nil { return x.Name } return "" } func (x *Module) GetVersion() string { if x != nil { return x.Version } return "" } func (x *Module) GetLastCheck() *timestamppb.Timestamp { if x != nil { return x.LastCheck } return nil } type Issue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Status uint64 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"` Package uint64 `protobuf:"varint,4,opt,name=package,proto3" json:"package,omitempty"` Modules []uint64 `protobuf:"varint,5,rep,packed,name=modules,proto3" json:"modules,omitempty"` Created *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created,proto3" json:"created,omitempty"` Updated *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated,proto3" json:"updated,omitempty"` } func (x *Issue) Reset() { *x = Issue{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Issue) String() string { return protoimpl.X.MessageStringOf(x) } func (*Issue) ProtoMessage() {} func (x *Issue) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Issue.ProtoReflect.Descriptor instead. func (*Issue) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{10} } func (x *Issue) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *Issue) GetStatus() uint64 { if x != nil { return x.Status } return 0 } func (x *Issue) GetDesc() string { if x != nil { return x.Desc } return "" } func (x *Issue) GetPackage() uint64 { if x != nil { return x.Package } return 0 } func (x *Issue) GetModules() []uint64 { if x != nil { return x.Modules } return nil } func (x *Issue) GetCreated() *timestamppb.Timestamp { if x != nil { return x.Created } return nil } func (x *Issue) GetUpdated() *timestamppb.Timestamp { if x != nil { return x.Updated } return nil } type Comment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Package uint64 `protobuf:"varint,2,opt,name=package,proto3" json:"package,omitempty"` Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` Created *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` Updated *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated,proto3" json:"updated,omitempty"` } func (x *Comment) Reset() { *x = Comment{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Comment) String() string { return protoimpl.X.MessageStringOf(x) } func (*Comment) ProtoMessage() {} func (x *Comment) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Comment.ProtoReflect.Descriptor instead. func (*Comment) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{11} } func (x *Comment) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *Comment) GetPackage() uint64 { if x != nil { return x.Package } return 0 } func (x *Comment) GetComment() string { if x != nil { return x.Comment } return "" } func (x *Comment) GetCreated() *timestamppb.Timestamp { if x != nil { return x.Created } return nil } func (x *Comment) GetUpdated() *timestamppb.Timestamp { if x != nil { return x.Updated } return nil } type CommentDeleteReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` PackageId uint64 `protobuf:"varint,2,opt,name=package_id,proto3" json:"package_id,omitempty"` } func (x *CommentDeleteReq) Reset() { *x = CommentDeleteReq{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommentDeleteReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommentDeleteReq) ProtoMessage() {} func (x *CommentDeleteReq) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommentDeleteReq.ProtoReflect.Descriptor instead. func (*CommentDeleteReq) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{12} } func (x *CommentDeleteReq) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *CommentDeleteReq) GetPackageId() uint64 { if x != nil { return x.PackageId } return 0 } type CommentDeleteRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CommentDeleteRsp) Reset() { *x = CommentDeleteRsp{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommentDeleteRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommentDeleteRsp) ProtoMessage() {} func (x *CommentDeleteRsp) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommentDeleteRsp.ProtoReflect.Descriptor instead. func (*CommentDeleteRsp) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{13} } type PackageDeleteReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *PackageDeleteReq) Reset() { *x = PackageDeleteReq{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PackageDeleteReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*PackageDeleteReq) ProtoMessage() {} func (x *PackageDeleteReq) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PackageDeleteReq.ProtoReflect.Descriptor instead. func (*PackageDeleteReq) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{14} } func (x *PackageDeleteReq) GetId() uint64 { if x != nil { return x.Id } return 0 } type PackageDeleteRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *PackageDeleteRsp) Reset() { *x = PackageDeleteRsp{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PackageDeleteRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*PackageDeleteRsp) ProtoMessage() {} func (x *PackageDeleteRsp) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PackageDeleteRsp.ProtoReflect.Descriptor instead. func (*PackageDeleteRsp) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{15} } type PackageListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *PackageListReq) Reset() { *x = PackageListReq{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PackageListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*PackageListReq) ProtoMessage() {} func (x *PackageListReq) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PackageListReq.ProtoReflect.Descriptor instead. func (*PackageListReq) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{16} } type PackageListRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Packages []*Package `protobuf:"bytes,1,rep,name=packages,proto3" json:"packages,omitempty"` } func (x *PackageListRsp) Reset() { *x = PackageListRsp{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PackageListRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*PackageListRsp) ProtoMessage() {} func (x *PackageListRsp) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PackageListRsp.ProtoReflect.Descriptor instead. func (*PackageListRsp) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{17} } func (x *PackageListRsp) GetPackages() []*Package { if x != nil { return x.Packages } return nil } type PackageUpdateReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` Modules []uint64 `protobuf:"varint,4,rep,packed,name=modules,proto3" json:"modules,omitempty"` Issues []uint64 `protobuf:"varint,5,rep,packed,name=issues,proto3" json:"issues,omitempty"` Coverprofile []byte `protobuf:"bytes,6,opt,name=coverprofile,proto3" json:"coverprofile,omitempty"` } func (x *PackageUpdateReq) Reset() { *x = PackageUpdateReq{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PackageUpdateReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*PackageUpdateReq) ProtoMessage() {} func (x *PackageUpdateReq) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PackageUpdateReq.ProtoReflect.Descriptor instead. func (*PackageUpdateReq) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{18} } func (x *PackageUpdateReq) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *PackageUpdateReq) GetName() string { if x != nil { return x.Name } return "" } func (x *PackageUpdateReq) GetUrl() string { if x != nil { return x.Url } return "" } func (x *PackageUpdateReq) GetModules() []uint64 { if x != nil { return x.Modules } return nil } func (x *PackageUpdateReq) GetIssues() []uint64 { if x != nil { return x.Issues } return nil } func (x *PackageUpdateReq) GetCoverprofile() []byte { if x != nil { return x.Coverprofile } return nil } type PackageUpdateRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Package *Package `protobuf:"bytes,1,opt,name=package,proto3" json:"package,omitempty"` } func (x *PackageUpdateRsp) Reset() { *x = PackageUpdateRsp{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PackageUpdateRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*PackageUpdateRsp) ProtoMessage() {} func (x *PackageUpdateRsp) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PackageUpdateRsp.ProtoReflect.Descriptor instead. func (*PackageUpdateRsp) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{19} } func (x *PackageUpdateRsp) GetPackage() *Package { if x != nil { return x.Package } return nil } type CommentCreateReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PackageId uint64 `protobuf:"varint,1,opt,name=package_id,proto3" json:"package_id,omitempty"` Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` } func (x *CommentCreateReq) Reset() { *x = CommentCreateReq{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommentCreateReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommentCreateReq) ProtoMessage() {} func (x *CommentCreateReq) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommentCreateReq.ProtoReflect.Descriptor instead. func (*CommentCreateReq) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{20} } func (x *CommentCreateReq) GetPackageId() uint64 { if x != nil { return x.PackageId } return 0 } func (x *CommentCreateReq) GetComment() string { if x != nil { return x.Comment } return "" } type CommentCreateRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Comment *Comment `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` } func (x *CommentCreateRsp) Reset() { *x = CommentCreateRsp{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommentCreateRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommentCreateRsp) ProtoMessage() {} func (x *CommentCreateRsp) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommentCreateRsp.ProtoReflect.Descriptor instead. func (*CommentCreateRsp) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{21} } func (x *CommentCreateRsp) GetComment() *Comment { if x != nil { return x.Comment } return nil } type PackageCreateReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` } func (x *PackageCreateReq) Reset() { *x = PackageCreateReq{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PackageCreateReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*PackageCreateReq) ProtoMessage() {} func (x *PackageCreateReq) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PackageCreateReq.ProtoReflect.Descriptor instead. func (*PackageCreateReq) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{22} } func (x *PackageCreateReq) GetName() string { if x != nil { return x.Name } return "" } func (x *PackageCreateReq) GetUrl() string { if x != nil { return x.Url } return "" } func (x *PackageCreateReq) GetDescription() string { if x != nil { return x.Description } return "" } type PackageCreateRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Package *Package `protobuf:"bytes,1,opt,name=package,proto3" json:"package,omitempty"` } func (x *PackageCreateRsp) Reset() { *x = PackageCreateRsp{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PackageCreateRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*PackageCreateRsp) ProtoMessage() {} func (x *PackageCreateRsp) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PackageCreateRsp.ProtoReflect.Descriptor instead. func (*PackageCreateRsp) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{23} } func (x *PackageCreateRsp) GetPackage() *Package { if x != nil { return x.Package } return nil } type ModuleListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Package uint64 `protobuf:"varint,1,opt,name=package,proto3" json:"package,omitempty"` } func (x *ModuleListReq) Reset() { *x = ModuleListReq{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ModuleListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ModuleListReq) ProtoMessage() {} func (x *ModuleListReq) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ModuleListReq.ProtoReflect.Descriptor instead. func (*ModuleListReq) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{24} } func (x *ModuleListReq) GetPackage() uint64 { if x != nil { return x.Package } return 0 } type ModuleListRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Modules []*Module `protobuf:"bytes,1,rep,name=modules,proto3" json:"modules,omitempty"` } func (x *ModuleListRsp) Reset() { *x = ModuleListRsp{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ModuleListRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ModuleListRsp) ProtoMessage() {} func (x *ModuleListRsp) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ModuleListRsp.ProtoReflect.Descriptor instead. func (*ModuleListRsp) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{25} } func (x *ModuleListRsp) GetModules() []*Module { if x != nil { return x.Modules } return nil } type CommentListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Package uint64 `protobuf:"varint,1,opt,name=package,proto3" json:"package,omitempty"` } func (x *CommentListReq) Reset() { *x = CommentListReq{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommentListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommentListReq) ProtoMessage() {} func (x *CommentListReq) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommentListReq.ProtoReflect.Descriptor instead. func (*CommentListReq) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{26} } func (x *CommentListReq) GetPackage() uint64 { if x != nil { return x.Package } return 0 } type CommentListRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Comments []*Comment `protobuf:"bytes,1,rep,name=comments,proto3" json:"comments,omitempty"` } func (x *CommentListRsp) Reset() { *x = CommentListRsp{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommentListRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommentListRsp) ProtoMessage() {} func (x *CommentListRsp) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommentListRsp.ProtoReflect.Descriptor instead. func (*CommentListRsp) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{27} } func (x *CommentListRsp) GetComments() []*Comment { if x != nil { return x.Comments } return nil } type CommentLookupReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Package uint64 `protobuf:"varint,2,opt,name=package,proto3" json:"package,omitempty"` } func (x *CommentLookupReq) Reset() { *x = CommentLookupReq{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommentLookupReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommentLookupReq) ProtoMessage() {} func (x *CommentLookupReq) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommentLookupReq.ProtoReflect.Descriptor instead. func (*CommentLookupReq) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{28} } func (x *CommentLookupReq) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *CommentLookupReq) GetPackage() uint64 { if x != nil { return x.Package } return 0 } type CommentLookupRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Comment *Comment `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` } func (x *CommentLookupRsp) Reset() { *x = CommentLookupRsp{} if protoimpl.UnsafeEnabled { mi := &file_pkgdash_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommentLookupRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommentLookupRsp) ProtoMessage() {} func (x *CommentLookupRsp) ProtoReflect() protoreflect.Message { mi := &file_pkgdash_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommentLookupRsp.ProtoReflect.Descriptor instead. func (*CommentLookupRsp) Descriptor() ([]byte, []int) { return file_pkgdash_proto_rawDescGZIP(), []int{29} } func (x *CommentLookupRsp) GetComment() *Comment { if x != nil { return x.Comment } return nil } var File_pkgdash_proto protoreflect.FileDescriptor var file_pkgdash_proto_rawDesc = []byte{ 0x0a, 0x0d, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x1a, 0x15, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x33, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2a, 0x0a, 0x0e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x22, 0x3e, 0x0a, 0x0e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x08, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52, 0x08, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x22, 0x3e, 0x0a, 0x11, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x22, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3e, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x22, 0x62, 0x0a, 0x08, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xc6, 0x03, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x22, 0x7e, 0x0a, 0x07, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x87, 0x02, 0x0a, 0x05, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0xcb, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0x42, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x73, 0x70, 0x22, 0x22, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x73, 0x70, 0x22, 0x10, 0x0a, 0x0e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x3e, 0x0a, 0x0e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x22, 0xb9, 0x01, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x3e, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x22, 0x55, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x20, 0x00, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x6c, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x22, 0x29, 0x0a, 0x0d, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x0a, 0x0d, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x2a, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x22, 0x3e, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x22, 0x3e, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0xab, 0x0e, 0x0a, 0x07, 0x50, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x12, 0x8d, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x12, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x73, 0x70, 0x22, 0x46, 0xaa, 0x84, 0x9e, 0x03, 0x28, 0x2a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x42, 0x17, 0x0a, 0x15, 0x12, 0x13, 0x0a, 0x11, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x73, 0x70, 0xb2, 0xea, 0xff, 0xf9, 0x01, 0x13, 0x12, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8b, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x22, 0x44, 0xaa, 0x84, 0x9e, 0x03, 0x28, 0x2a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x12, 0x13, 0x0a, 0x11, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x73, 0x70, 0xb2, 0xea, 0xff, 0xf9, 0x01, 0x11, 0x22, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x8d, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x73, 0x70, 0x22, 0x46, 0xaa, 0x84, 0x9e, 0x03, 0x28, 0x2a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x12, 0x13, 0x0a, 0x11, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x73, 0x70, 0xb2, 0xea, 0xff, 0xf9, 0x01, 0x13, 0x2a, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x80, 0x01, 0x0a, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x22, 0x3f, 0xaa, 0x84, 0x9e, 0x03, 0x26, 0x2a, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x12, 0x13, 0x0a, 0x11, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x73, 0x70, 0xb2, 0xea, 0xff, 0xf9, 0x01, 0x0e, 0x12, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x0b, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x22, 0x52, 0xaa, 0x84, 0x9e, 0x03, 0x26, 0x2a, 0x0b, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x12, 0x13, 0x0a, 0x11, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x73, 0x70, 0xb2, 0xea, 0xff, 0xf9, 0x01, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x7d, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x0e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x73, 0x70, 0x22, 0x54, 0xaa, 0x84, 0x9e, 0x03, 0x29, 0x2a, 0x0e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x12, 0x13, 0x0a, 0x11, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x73, 0x70, 0xb2, 0xea, 0xff, 0xf9, 0x01, 0x20, 0x12, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x90, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x22, 0x49, 0xaa, 0x84, 0x9e, 0x03, 0x28, 0x2a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x12, 0x13, 0x0a, 0x11, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x73, 0x70, 0xb2, 0xea, 0xff, 0xf9, 0x01, 0x16, 0x1a, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x9e, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x22, 0x57, 0xaa, 0x84, 0x9e, 0x03, 0x28, 0x2a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x12, 0x13, 0x0a, 0x11, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x73, 0x70, 0xb2, 0xea, 0xff, 0xf9, 0x01, 0x24, 0x22, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0xb5, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x12, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x73, 0x70, 0x22, 0x6e, 0xaa, 0x84, 0x9e, 0x03, 0x28, 0x2a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x42, 0x17, 0x0a, 0x15, 0x12, 0x13, 0x0a, 0x11, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x73, 0x70, 0xb2, 0xea, 0xff, 0xf9, 0x01, 0x3b, 0x12, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x5a, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x93, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x22, 0x52, 0xaa, 0x84, 0x9e, 0x03, 0x26, 0x2a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x12, 0x13, 0x0a, 0x11, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x73, 0x70, 0xb2, 0xea, 0xff, 0xf9, 0x01, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xb8, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x73, 0x70, 0x22, 0x71, 0xaa, 0x84, 0x9e, 0x03, 0x28, 0x2a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x12, 0x13, 0x0a, 0x11, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x73, 0x70, 0xb2, 0xea, 0xff, 0xf9, 0x01, 0x3e, 0x2a, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x5a, 0x13, 0x2a, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x7b, 0x0a, 0x0a, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x22, 0x3d, 0xaa, 0x84, 0x9e, 0x03, 0x25, 0x2a, 0x0a, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x12, 0x13, 0x0a, 0x11, 0x2e, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x73, 0x70, 0xb2, 0xea, 0xff, 0xf9, 0x01, 0x0d, 0x12, 0x0b, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x6f, 0x2e, 0x75, 0x6e, 0x69, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3b, 0x70, 0x6b, 0x67, 0x64, 0x61, 0x73, 0x68, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_pkgdash_proto_rawDescOnce sync.Once file_pkgdash_proto_rawDescData = file_pkgdash_proto_rawDesc ) func file_pkgdash_proto_rawDescGZIP() []byte { file_pkgdash_proto_rawDescOnce.Do(func() { file_pkgdash_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkgdash_proto_rawDescData) }) return file_pkgdash_proto_rawDescData } var file_pkgdash_proto_msgTypes = make([]protoimpl.MessageInfo, 30) var file_pkgdash_proto_goTypes = []interface{}{ (*HandlerListReq)(nil), // 0: pkgdash.HandlerListReq (*HandlerListRsp)(nil), // 1: pkgdash.HandlerListRsp (*PackageModulesReq)(nil), // 2: pkgdash.PackageModulesReq (*PackageModulesRsp)(nil), // 3: pkgdash.PackageModulesRsp (*PackageLookupReq)(nil), // 4: pkgdash.PackageLookupReq (*PackageLookupRsp)(nil), // 5: pkgdash.PackageLookupRsp (*ErrorRsp)(nil), // 6: pkgdash.ErrorRsp (*Package)(nil), // 7: pkgdash.Package (*Handler)(nil), // 8: pkgdash.Handler (*Module)(nil), // 9: pkgdash.Module (*Issue)(nil), // 10: pkgdash.Issue (*Comment)(nil), // 11: pkgdash.Comment (*CommentDeleteReq)(nil), // 12: pkgdash.CommentDeleteReq (*CommentDeleteRsp)(nil), // 13: pkgdash.CommentDeleteRsp (*PackageDeleteReq)(nil), // 14: pkgdash.PackageDeleteReq (*PackageDeleteRsp)(nil), // 15: pkgdash.PackageDeleteRsp (*PackageListReq)(nil), // 16: pkgdash.PackageListReq (*PackageListRsp)(nil), // 17: pkgdash.PackageListRsp (*PackageUpdateReq)(nil), // 18: pkgdash.PackageUpdateReq (*PackageUpdateRsp)(nil), // 19: pkgdash.PackageUpdateRsp (*CommentCreateReq)(nil), // 20: pkgdash.CommentCreateReq (*CommentCreateRsp)(nil), // 21: pkgdash.CommentCreateRsp (*PackageCreateReq)(nil), // 22: pkgdash.PackageCreateReq (*PackageCreateRsp)(nil), // 23: pkgdash.PackageCreateRsp (*ModuleListReq)(nil), // 24: pkgdash.ModuleListReq (*ModuleListRsp)(nil), // 25: pkgdash.ModuleListRsp (*CommentListReq)(nil), // 26: pkgdash.CommentListReq (*CommentListRsp)(nil), // 27: pkgdash.CommentListRsp (*CommentLookupReq)(nil), // 28: pkgdash.CommentLookupReq (*CommentLookupRsp)(nil), // 29: pkgdash.CommentLookupRsp (*timestamppb.Timestamp)(nil), // 30: google.protobuf.Timestamp } var file_pkgdash_proto_depIdxs = []int32{ 8, // 0: pkgdash.HandlerListRsp.handlers:type_name -> pkgdash.Handler 9, // 1: pkgdash.PackageModulesRsp.modules:type_name -> pkgdash.Module 7, // 2: pkgdash.PackageLookupRsp.package:type_name -> pkgdash.Package 30, // 3: pkgdash.Package.created:type_name -> google.protobuf.Timestamp 30, // 4: pkgdash.Package.updated:type_name -> google.protobuf.Timestamp 30, // 5: pkgdash.Package.last_check:type_name -> google.protobuf.Timestamp 30, // 6: pkgdash.Module.last_check:type_name -> google.protobuf.Timestamp 30, // 7: pkgdash.Issue.created:type_name -> google.protobuf.Timestamp 30, // 8: pkgdash.Issue.updated:type_name -> google.protobuf.Timestamp 30, // 9: pkgdash.Comment.created:type_name -> google.protobuf.Timestamp 30, // 10: pkgdash.Comment.updated:type_name -> google.protobuf.Timestamp 7, // 11: pkgdash.PackageListRsp.packages:type_name -> pkgdash.Package 7, // 12: pkgdash.PackageUpdateRsp.package:type_name -> pkgdash.Package 11, // 13: pkgdash.CommentCreateRsp.comment:type_name -> pkgdash.Comment 7, // 14: pkgdash.PackageCreateRsp.package:type_name -> pkgdash.Package 9, // 15: pkgdash.ModuleListRsp.modules:type_name -> pkgdash.Module 11, // 16: pkgdash.CommentListRsp.comments:type_name -> pkgdash.Comment 11, // 17: pkgdash.CommentLookupRsp.comment:type_name -> pkgdash.Comment 4, // 18: pkgdash.Pkgdash.PackageLookup:input_type -> pkgdash.PackageLookupReq 22, // 19: pkgdash.Pkgdash.PackageCreate:input_type -> pkgdash.PackageCreateReq 14, // 20: pkgdash.Pkgdash.PackageDelete:input_type -> pkgdash.PackageDeleteReq 16, // 21: pkgdash.Pkgdash.PackageList:input_type -> pkgdash.PackageListReq 0, // 22: pkgdash.Pkgdash.HandlerList:input_type -> pkgdash.HandlerListReq 2, // 23: pkgdash.Pkgdash.PackageModules:input_type -> pkgdash.PackageModulesReq 18, // 24: pkgdash.Pkgdash.PackageUpdate:input_type -> pkgdash.PackageUpdateReq 20, // 25: pkgdash.Pkgdash.CommentCreate:input_type -> pkgdash.CommentCreateReq 28, // 26: pkgdash.Pkgdash.CommentLookup:input_type -> pkgdash.CommentLookupReq 26, // 27: pkgdash.Pkgdash.CommentList:input_type -> pkgdash.CommentListReq 12, // 28: pkgdash.Pkgdash.CommentDelete:input_type -> pkgdash.CommentDeleteReq 24, // 29: pkgdash.Pkgdash.ModuleList:input_type -> pkgdash.ModuleListReq 5, // 30: pkgdash.Pkgdash.PackageLookup:output_type -> pkgdash.PackageLookupRsp 23, // 31: pkgdash.Pkgdash.PackageCreate:output_type -> pkgdash.PackageCreateRsp 15, // 32: pkgdash.Pkgdash.PackageDelete:output_type -> pkgdash.PackageDeleteRsp 17, // 33: pkgdash.Pkgdash.PackageList:output_type -> pkgdash.PackageListRsp 1, // 34: pkgdash.Pkgdash.HandlerList:output_type -> pkgdash.HandlerListRsp 3, // 35: pkgdash.Pkgdash.PackageModules:output_type -> pkgdash.PackageModulesRsp 19, // 36: pkgdash.Pkgdash.PackageUpdate:output_type -> pkgdash.PackageUpdateRsp 21, // 37: pkgdash.Pkgdash.CommentCreate:output_type -> pkgdash.CommentCreateRsp 29, // 38: pkgdash.Pkgdash.CommentLookup:output_type -> pkgdash.CommentLookupRsp 27, // 39: pkgdash.Pkgdash.CommentList:output_type -> pkgdash.CommentListRsp 13, // 40: pkgdash.Pkgdash.CommentDelete:output_type -> pkgdash.CommentDeleteRsp 25, // 41: pkgdash.Pkgdash.ModuleList:output_type -> pkgdash.ModuleListRsp 30, // [30:42] is the sub-list for method output_type 18, // [18:30] is the sub-list for method input_type 18, // [18:18] is the sub-list for extension type_name 18, // [18:18] is the sub-list for extension extendee 0, // [0:18] is the sub-list for field type_name } func init() { file_pkgdash_proto_init() } func file_pkgdash_proto_init() { if File_pkgdash_proto != nil { return } if !protoimpl.UnsafeEnabled { file_pkgdash_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HandlerListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HandlerListRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageModulesReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageModulesRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageLookupReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageLookupRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ErrorRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Package); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Handler); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Module); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Issue); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Comment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommentDeleteReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommentDeleteRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageDeleteReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageDeleteRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageListRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageUpdateReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageUpdateRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommentCreateReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommentCreateRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageCreateReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageCreateRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ModuleListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ModuleListRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommentListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommentListRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommentLookupReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkgdash_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommentLookupRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkgdash_proto_rawDesc, NumEnums: 0, NumMessages: 30, NumExtensions: 0, NumServices: 1, }, GoTypes: file_pkgdash_proto_goTypes, DependencyIndexes: file_pkgdash_proto_depIdxs, MessageInfos: file_pkgdash_proto_msgTypes, }.Build() File_pkgdash_proto = out.File file_pkgdash_proto_rawDesc = nil file_pkgdash_proto_goTypes = nil file_pkgdash_proto_depIdxs = nil }