diff options
author | Patrick Steinhardt <psteinhardt@gitlab.com> | 2023-03-23 11:21:39 +0300 |
---|---|---|
committer | Patrick Steinhardt <psteinhardt@gitlab.com> | 2023-03-28 08:24:18 +0300 |
commit | a84210839170bd8b8f7f0e604f36b02d5d06885c (patch) | |
tree | cb26fb60c5b27bf1d8bbeec5389ef4c3db322808 | |
parent | da4c9767be11988e88539ea99c0b09988aed65c4 (diff) |
proto: Add definition for a new RepositoryInfo RPC
Over the last few releases, we have tried to adapt the RepositorySize
RPC to encode the policy of what exactly repository size is. This has
proven to not be a great design though: the definition of repository
sizes is constantly changing and furthermore depends on the actual
usecase at hand.
We have thus decided to change our approach: instead of providing a
one-size-fits-all RPC in the form of RepositorySize, we instead provide
an RPC call that provides more detailed information about a repository.
Like this, callers can decide by themselves what the repository size
should actually include.
This commit introduces the definitions for the new RepositoryInfo RPC
call. Right now, it only includes the most important information:
- The total repository size.
- The number of loose references and size of the packed references
file.
- The size of objects split up into different categories: recent,
stale and kept.
This is sufficient in order to implement all the usecases in the context
of repository size calculations that we know of right now, but may get
extended in the future to include more information. Eventually, it can
also be used to expose a dashboard that provides various bits of info to
the administrator in order to increase visibility of the actual on-disk
state.
Changelog: added
-rw-r--r-- | proto/go/gitalypb/repository.pb.go | 2858 | ||||
-rw-r--r-- | proto/go/gitalypb/repository_grpc.pb.go | 38 | ||||
-rw-r--r-- | proto/repository.proto | 72 |
3 files changed, 1723 insertions, 1245 deletions
diff --git a/proto/go/gitalypb/repository.pb.go b/proto/go/gitalypb/repository.pb.go index 420c06af9..354afd9a9 100644 --- a/proto/go/gitalypb/repository.pb.go +++ b/proto/go/gitalypb/repository.pb.go @@ -121,7 +121,7 @@ func (x GetArchiveRequest_Format) Number() protoreflect.EnumNumber { // Deprecated: Use GetArchiveRequest_Format.Descriptor instead. func (GetArchiveRequest_Format) EnumDescriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{26, 0} + return file_repository_proto_rawDescGZIP(), []int{28, 0} } // This comment is left unintentionally blank. @@ -190,7 +190,7 @@ func (x GetRawChangesResponse_RawChange_Operation) Number() protoreflect.EnumNum // Deprecated: Use GetRawChangesResponse_RawChange_Operation.Descriptor instead. func (GetRawChangesResponse_RawChange_Operation) EnumDescriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{69, 0, 0} + return file_repository_proto_rawDescGZIP(), []int{71, 0, 0} } // Strategy determines how the repository shall be optimized. @@ -247,7 +247,7 @@ func (x OptimizeRepositoryRequest_Strategy) Number() protoreflect.EnumNumber { // Deprecated: Use OptimizeRepositoryRequest_Strategy.Descriptor instead. func (OptimizeRepositoryRequest_Strategy) EnumDescriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{83, 0} + return file_repository_proto_rawDescGZIP(), []int{85, 0} } // This comment is left unintentionally blank. @@ -1014,6 +1014,123 @@ func (x *RepositorySizeResponse) GetSize() int64 { return 0 } +// RepositoryInfoRequest is a request for the RepositoryInfo RPC. +type RepositoryInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Repository is the repository to query for information. + Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` +} + +func (x *RepositoryInfoRequest) Reset() { + *x = RepositoryInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_repository_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RepositoryInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepositoryInfoRequest) ProtoMessage() {} + +func (x *RepositoryInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_repository_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 RepositoryInfoRequest.ProtoReflect.Descriptor instead. +func (*RepositoryInfoRequest) Descriptor() ([]byte, []int) { + return file_repository_proto_rawDescGZIP(), []int{16} +} + +func (x *RepositoryInfoRequest) GetRepository() *Repository { + if x != nil { + return x.Repository + } + return nil +} + +// RepositoryInfoResponse is a response for the RepositoryInfo RPC. +type RepositoryInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Size is the total size of all files part of the repository. It does not include the size of + // directories. + Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` + // References contains information about references. + References *RepositoryInfoResponse_ReferencesInfo `protobuf:"bytes,2,opt,name=references,proto3" json:"references,omitempty"` + // ObjectsInfo contains information about objects. + Objects *RepositoryInfoResponse_ObjectsInfo `protobuf:"bytes,3,opt,name=objects,proto3" json:"objects,omitempty"` +} + +func (x *RepositoryInfoResponse) Reset() { + *x = RepositoryInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_repository_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RepositoryInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepositoryInfoResponse) ProtoMessage() {} + +func (x *RepositoryInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_repository_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 RepositoryInfoResponse.ProtoReflect.Descriptor instead. +func (*RepositoryInfoResponse) Descriptor() ([]byte, []int) { + return file_repository_proto_rawDescGZIP(), []int{17} +} + +func (x *RepositoryInfoResponse) GetSize() uint64 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *RepositoryInfoResponse) GetReferences() *RepositoryInfoResponse_ReferencesInfo { + if x != nil { + return x.References + } + return nil +} + +func (x *RepositoryInfoResponse) GetObjects() *RepositoryInfoResponse_ObjectsInfo { + if x != nil { + return x.Objects + } + return nil +} + // ObjectFormatRequest is a request for the ObjectFormat RPC. type ObjectFormatRequest struct { state protoimpl.MessageState @@ -1027,7 +1144,7 @@ type ObjectFormatRequest struct { func (x *ObjectFormatRequest) Reset() { *x = ObjectFormatRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[16] + mi := &file_repository_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1040,7 +1157,7 @@ func (x *ObjectFormatRequest) String() string { func (*ObjectFormatRequest) ProtoMessage() {} func (x *ObjectFormatRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[16] + mi := &file_repository_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1053,7 +1170,7 @@ func (x *ObjectFormatRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ObjectFormatRequest.ProtoReflect.Descriptor instead. func (*ObjectFormatRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{16} + return file_repository_proto_rawDescGZIP(), []int{18} } func (x *ObjectFormatRequest) GetRepository() *Repository { @@ -1076,7 +1193,7 @@ type ObjectFormatResponse struct { func (x *ObjectFormatResponse) Reset() { *x = ObjectFormatResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[17] + mi := &file_repository_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1089,7 +1206,7 @@ func (x *ObjectFormatResponse) String() string { func (*ObjectFormatResponse) ProtoMessage() {} func (x *ObjectFormatResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[17] + mi := &file_repository_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1102,7 +1219,7 @@ func (x *ObjectFormatResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ObjectFormatResponse.ProtoReflect.Descriptor instead. func (*ObjectFormatResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{17} + return file_repository_proto_rawDescGZIP(), []int{19} } func (x *ObjectFormatResponse) GetFormat() ObjectFormat { @@ -1127,7 +1244,7 @@ type ApplyGitattributesRequest struct { func (x *ApplyGitattributesRequest) Reset() { *x = ApplyGitattributesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[18] + mi := &file_repository_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1140,7 +1257,7 @@ func (x *ApplyGitattributesRequest) String() string { func (*ApplyGitattributesRequest) ProtoMessage() {} func (x *ApplyGitattributesRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[18] + mi := &file_repository_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1153,7 +1270,7 @@ func (x *ApplyGitattributesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyGitattributesRequest.ProtoReflect.Descriptor instead. func (*ApplyGitattributesRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{18} + return file_repository_proto_rawDescGZIP(), []int{20} } func (x *ApplyGitattributesRequest) GetRepository() *Repository { @@ -1180,7 +1297,7 @@ type ApplyGitattributesResponse struct { func (x *ApplyGitattributesResponse) Reset() { *x = ApplyGitattributesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[19] + mi := &file_repository_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1193,7 +1310,7 @@ func (x *ApplyGitattributesResponse) String() string { func (*ApplyGitattributesResponse) ProtoMessage() {} func (x *ApplyGitattributesResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[19] + mi := &file_repository_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1206,7 +1323,7 @@ func (x *ApplyGitattributesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyGitattributesResponse.ProtoReflect.Descriptor instead. func (*ApplyGitattributesResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{19} + return file_repository_proto_rawDescGZIP(), []int{21} } // This comment is left unintentionally blank. @@ -1226,7 +1343,7 @@ type FetchBundleRequest struct { func (x *FetchBundleRequest) Reset() { *x = FetchBundleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[20] + mi := &file_repository_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1239,7 +1356,7 @@ func (x *FetchBundleRequest) String() string { func (*FetchBundleRequest) ProtoMessage() {} func (x *FetchBundleRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[20] + mi := &file_repository_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1252,7 +1369,7 @@ func (x *FetchBundleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FetchBundleRequest.ProtoReflect.Descriptor instead. func (*FetchBundleRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{20} + return file_repository_proto_rawDescGZIP(), []int{22} } func (x *FetchBundleRequest) GetRepository() *Repository { @@ -1286,7 +1403,7 @@ type FetchBundleResponse struct { func (x *FetchBundleResponse) Reset() { *x = FetchBundleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[21] + mi := &file_repository_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1299,7 +1416,7 @@ func (x *FetchBundleResponse) String() string { func (*FetchBundleResponse) ProtoMessage() {} func (x *FetchBundleResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[21] + mi := &file_repository_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1312,7 +1429,7 @@ func (x *FetchBundleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FetchBundleResponse.ProtoReflect.Descriptor instead. func (*FetchBundleResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{21} + return file_repository_proto_rawDescGZIP(), []int{23} } // This comment is left unintentionally blank. @@ -1349,7 +1466,7 @@ type FetchRemoteRequest struct { func (x *FetchRemoteRequest) Reset() { *x = FetchRemoteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[22] + mi := &file_repository_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1362,7 +1479,7 @@ func (x *FetchRemoteRequest) String() string { func (*FetchRemoteRequest) ProtoMessage() {} func (x *FetchRemoteRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[22] + mi := &file_repository_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1375,7 +1492,7 @@ func (x *FetchRemoteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FetchRemoteRequest.ProtoReflect.Descriptor instead. func (*FetchRemoteRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{22} + return file_repository_proto_rawDescGZIP(), []int{24} } func (x *FetchRemoteRequest) GetRepository() *Repository { @@ -1456,7 +1573,7 @@ type FetchRemoteResponse struct { func (x *FetchRemoteResponse) Reset() { *x = FetchRemoteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[23] + mi := &file_repository_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1469,7 +1586,7 @@ func (x *FetchRemoteResponse) String() string { func (*FetchRemoteResponse) ProtoMessage() {} func (x *FetchRemoteResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[23] + mi := &file_repository_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1482,7 +1599,7 @@ func (x *FetchRemoteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FetchRemoteResponse.ProtoReflect.Descriptor instead. func (*FetchRemoteResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{23} + return file_repository_proto_rawDescGZIP(), []int{25} } func (x *FetchRemoteResponse) GetTagsChanged() bool { @@ -1513,7 +1630,7 @@ type CreateRepositoryRequest struct { func (x *CreateRepositoryRequest) Reset() { *x = CreateRepositoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[24] + mi := &file_repository_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1526,7 +1643,7 @@ func (x *CreateRepositoryRequest) String() string { func (*CreateRepositoryRequest) ProtoMessage() {} func (x *CreateRepositoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[24] + mi := &file_repository_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1539,7 +1656,7 @@ func (x *CreateRepositoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateRepositoryRequest.ProtoReflect.Descriptor instead. func (*CreateRepositoryRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{24} + return file_repository_proto_rawDescGZIP(), []int{26} } func (x *CreateRepositoryRequest) GetRepository() *Repository { @@ -1573,7 +1690,7 @@ type CreateRepositoryResponse struct { func (x *CreateRepositoryResponse) Reset() { *x = CreateRepositoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[25] + mi := &file_repository_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1586,7 +1703,7 @@ func (x *CreateRepositoryResponse) String() string { func (*CreateRepositoryResponse) ProtoMessage() {} func (x *CreateRepositoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[25] + mi := &file_repository_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1599,7 +1716,7 @@ func (x *CreateRepositoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateRepositoryResponse.ProtoReflect.Descriptor instead. func (*CreateRepositoryResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{25} + return file_repository_proto_rawDescGZIP(), []int{27} } // This comment is left unintentionally blank. @@ -1634,7 +1751,7 @@ type GetArchiveRequest struct { func (x *GetArchiveRequest) Reset() { *x = GetArchiveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[26] + mi := &file_repository_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1647,7 +1764,7 @@ func (x *GetArchiveRequest) String() string { func (*GetArchiveRequest) ProtoMessage() {} func (x *GetArchiveRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[26] + mi := &file_repository_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1660,7 +1777,7 @@ func (x *GetArchiveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetArchiveRequest.ProtoReflect.Descriptor instead. func (*GetArchiveRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{26} + return file_repository_proto_rawDescGZIP(), []int{28} } func (x *GetArchiveRequest) GetRepository() *Repository { @@ -1732,7 +1849,7 @@ type GetArchiveResponse struct { func (x *GetArchiveResponse) Reset() { *x = GetArchiveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[27] + mi := &file_repository_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1745,7 +1862,7 @@ func (x *GetArchiveResponse) String() string { func (*GetArchiveResponse) ProtoMessage() {} func (x *GetArchiveResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[27] + mi := &file_repository_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1758,7 +1875,7 @@ func (x *GetArchiveResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetArchiveResponse.ProtoReflect.Descriptor instead. func (*GetArchiveResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{27} + return file_repository_proto_rawDescGZIP(), []int{29} } func (x *GetArchiveResponse) GetData() []byte { @@ -1781,7 +1898,7 @@ type HasLocalBranchesRequest struct { func (x *HasLocalBranchesRequest) Reset() { *x = HasLocalBranchesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[28] + mi := &file_repository_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1794,7 +1911,7 @@ func (x *HasLocalBranchesRequest) String() string { func (*HasLocalBranchesRequest) ProtoMessage() {} func (x *HasLocalBranchesRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[28] + mi := &file_repository_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1807,7 +1924,7 @@ func (x *HasLocalBranchesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use HasLocalBranchesRequest.ProtoReflect.Descriptor instead. func (*HasLocalBranchesRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{28} + return file_repository_proto_rawDescGZIP(), []int{30} } func (x *HasLocalBranchesRequest) GetRepository() *Repository { @@ -1830,7 +1947,7 @@ type HasLocalBranchesResponse struct { func (x *HasLocalBranchesResponse) Reset() { *x = HasLocalBranchesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[29] + mi := &file_repository_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1843,7 +1960,7 @@ func (x *HasLocalBranchesResponse) String() string { func (*HasLocalBranchesResponse) ProtoMessage() {} func (x *HasLocalBranchesResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[29] + mi := &file_repository_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1856,7 +1973,7 @@ func (x *HasLocalBranchesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use HasLocalBranchesResponse.ProtoReflect.Descriptor instead. func (*HasLocalBranchesResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{29} + return file_repository_proto_rawDescGZIP(), []int{31} } func (x *HasLocalBranchesResponse) GetValue() bool { @@ -1888,7 +2005,7 @@ type FetchSourceBranchRequest struct { func (x *FetchSourceBranchRequest) Reset() { *x = FetchSourceBranchRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[30] + mi := &file_repository_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1901,7 +2018,7 @@ func (x *FetchSourceBranchRequest) String() string { func (*FetchSourceBranchRequest) ProtoMessage() {} func (x *FetchSourceBranchRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[30] + mi := &file_repository_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1914,7 +2031,7 @@ func (x *FetchSourceBranchRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FetchSourceBranchRequest.ProtoReflect.Descriptor instead. func (*FetchSourceBranchRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{30} + return file_repository_proto_rawDescGZIP(), []int{32} } func (x *FetchSourceBranchRequest) GetRepository() *Repository { @@ -1959,7 +2076,7 @@ type FetchSourceBranchResponse struct { func (x *FetchSourceBranchResponse) Reset() { *x = FetchSourceBranchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[31] + mi := &file_repository_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1972,7 +2089,7 @@ func (x *FetchSourceBranchResponse) String() string { func (*FetchSourceBranchResponse) ProtoMessage() {} func (x *FetchSourceBranchResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[31] + mi := &file_repository_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1985,7 +2102,7 @@ func (x *FetchSourceBranchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FetchSourceBranchResponse.ProtoReflect.Descriptor instead. func (*FetchSourceBranchResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{31} + return file_repository_proto_rawDescGZIP(), []int{33} } func (x *FetchSourceBranchResponse) GetResult() bool { @@ -2008,7 +2125,7 @@ type FsckRequest struct { func (x *FsckRequest) Reset() { *x = FsckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[32] + mi := &file_repository_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2021,7 +2138,7 @@ func (x *FsckRequest) String() string { func (*FsckRequest) ProtoMessage() {} func (x *FsckRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[32] + mi := &file_repository_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2034,7 +2151,7 @@ func (x *FsckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FsckRequest.ProtoReflect.Descriptor instead. func (*FsckRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{32} + return file_repository_proto_rawDescGZIP(), []int{34} } func (x *FsckRequest) GetRepository() *Repository { @@ -2057,7 +2174,7 @@ type FsckResponse struct { func (x *FsckResponse) Reset() { *x = FsckResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[33] + mi := &file_repository_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2070,7 +2187,7 @@ func (x *FsckResponse) String() string { func (*FsckResponse) ProtoMessage() {} func (x *FsckResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[33] + mi := &file_repository_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2083,7 +2200,7 @@ func (x *FsckResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FsckResponse.ProtoReflect.Descriptor instead. func (*FsckResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{33} + return file_repository_proto_rawDescGZIP(), []int{35} } func (x *FsckResponse) GetError() []byte { @@ -2114,7 +2231,7 @@ type WriteRefRequest struct { func (x *WriteRefRequest) Reset() { *x = WriteRefRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[34] + mi := &file_repository_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2127,7 +2244,7 @@ func (x *WriteRefRequest) String() string { func (*WriteRefRequest) ProtoMessage() {} func (x *WriteRefRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[34] + mi := &file_repository_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2140,7 +2257,7 @@ func (x *WriteRefRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WriteRefRequest.ProtoReflect.Descriptor instead. func (*WriteRefRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{34} + return file_repository_proto_rawDescGZIP(), []int{36} } func (x *WriteRefRequest) GetRepository() *Repository { @@ -2188,7 +2305,7 @@ type WriteRefResponse struct { func (x *WriteRefResponse) Reset() { *x = WriteRefResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[35] + mi := &file_repository_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2201,7 +2318,7 @@ func (x *WriteRefResponse) String() string { func (*WriteRefResponse) ProtoMessage() {} func (x *WriteRefResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[35] + mi := &file_repository_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2214,7 +2331,7 @@ func (x *WriteRefResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use WriteRefResponse.ProtoReflect.Descriptor instead. func (*WriteRefResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{35} + return file_repository_proto_rawDescGZIP(), []int{37} } // This comment is left unintentionally blank. @@ -2234,7 +2351,7 @@ type FindMergeBaseRequest struct { func (x *FindMergeBaseRequest) Reset() { *x = FindMergeBaseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[36] + mi := &file_repository_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2247,7 +2364,7 @@ func (x *FindMergeBaseRequest) String() string { func (*FindMergeBaseRequest) ProtoMessage() {} func (x *FindMergeBaseRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[36] + mi := &file_repository_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2260,7 +2377,7 @@ func (x *FindMergeBaseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FindMergeBaseRequest.ProtoReflect.Descriptor instead. func (*FindMergeBaseRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{36} + return file_repository_proto_rawDescGZIP(), []int{38} } func (x *FindMergeBaseRequest) GetRepository() *Repository { @@ -2290,7 +2407,7 @@ type FindMergeBaseResponse struct { func (x *FindMergeBaseResponse) Reset() { *x = FindMergeBaseResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[37] + mi := &file_repository_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2303,7 +2420,7 @@ func (x *FindMergeBaseResponse) String() string { func (*FindMergeBaseResponse) ProtoMessage() {} func (x *FindMergeBaseResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[37] + mi := &file_repository_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2316,7 +2433,7 @@ func (x *FindMergeBaseResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FindMergeBaseResponse.ProtoReflect.Descriptor instead. func (*FindMergeBaseResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{37} + return file_repository_proto_rawDescGZIP(), []int{39} } func (x *FindMergeBaseResponse) GetBase() string { @@ -2341,7 +2458,7 @@ type CreateForkRequest struct { func (x *CreateForkRequest) Reset() { *x = CreateForkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[38] + mi := &file_repository_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2354,7 +2471,7 @@ func (x *CreateForkRequest) String() string { func (*CreateForkRequest) ProtoMessage() {} func (x *CreateForkRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[38] + mi := &file_repository_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2367,7 +2484,7 @@ func (x *CreateForkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateForkRequest.ProtoReflect.Descriptor instead. func (*CreateForkRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{38} + return file_repository_proto_rawDescGZIP(), []int{40} } func (x *CreateForkRequest) GetRepository() *Repository { @@ -2394,7 +2511,7 @@ type CreateForkResponse struct { func (x *CreateForkResponse) Reset() { *x = CreateForkResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[39] + mi := &file_repository_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2407,7 +2524,7 @@ func (x *CreateForkResponse) String() string { func (*CreateForkResponse) ProtoMessage() {} func (x *CreateForkResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[39] + mi := &file_repository_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2420,7 +2537,7 @@ func (x *CreateForkResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateForkResponse.ProtoReflect.Descriptor instead. func (*CreateForkResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{39} + return file_repository_proto_rawDescGZIP(), []int{41} } // This comment is left unintentionally blank. @@ -2461,7 +2578,7 @@ type CreateRepositoryFromURLRequest struct { func (x *CreateRepositoryFromURLRequest) Reset() { *x = CreateRepositoryFromURLRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[40] + mi := &file_repository_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2474,7 +2591,7 @@ func (x *CreateRepositoryFromURLRequest) String() string { func (*CreateRepositoryFromURLRequest) ProtoMessage() {} func (x *CreateRepositoryFromURLRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[40] + mi := &file_repository_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2487,7 +2604,7 @@ func (x *CreateRepositoryFromURLRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateRepositoryFromURLRequest.ProtoReflect.Descriptor instead. func (*CreateRepositoryFromURLRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{40} + return file_repository_proto_rawDescGZIP(), []int{42} } func (x *CreateRepositoryFromURLRequest) GetRepository() *Repository { @@ -2543,7 +2660,7 @@ type CreateRepositoryFromURLResponse struct { func (x *CreateRepositoryFromURLResponse) Reset() { *x = CreateRepositoryFromURLResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[41] + mi := &file_repository_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2556,7 +2673,7 @@ func (x *CreateRepositoryFromURLResponse) String() string { func (*CreateRepositoryFromURLResponse) ProtoMessage() {} func (x *CreateRepositoryFromURLResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[41] + mi := &file_repository_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2569,7 +2686,7 @@ func (x *CreateRepositoryFromURLResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateRepositoryFromURLResponse.ProtoReflect.Descriptor instead. func (*CreateRepositoryFromURLResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{41} + return file_repository_proto_rawDescGZIP(), []int{43} } // This comment is left unintentionally blank. @@ -2585,7 +2702,7 @@ type CreateBundleRequest struct { func (x *CreateBundleRequest) Reset() { *x = CreateBundleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[42] + mi := &file_repository_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2598,7 +2715,7 @@ func (x *CreateBundleRequest) String() string { func (*CreateBundleRequest) ProtoMessage() {} func (x *CreateBundleRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[42] + mi := &file_repository_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2611,7 +2728,7 @@ func (x *CreateBundleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateBundleRequest.ProtoReflect.Descriptor instead. func (*CreateBundleRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{42} + return file_repository_proto_rawDescGZIP(), []int{44} } func (x *CreateBundleRequest) GetRepository() *Repository { @@ -2634,7 +2751,7 @@ type CreateBundleResponse struct { func (x *CreateBundleResponse) Reset() { *x = CreateBundleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[43] + mi := &file_repository_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2647,7 +2764,7 @@ func (x *CreateBundleResponse) String() string { func (*CreateBundleResponse) ProtoMessage() {} func (x *CreateBundleResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[43] + mi := &file_repository_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2660,7 +2777,7 @@ func (x *CreateBundleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateBundleResponse.ProtoReflect.Descriptor instead. func (*CreateBundleResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{43} + return file_repository_proto_rawDescGZIP(), []int{45} } func (x *CreateBundleResponse) GetData() []byte { @@ -2687,7 +2804,7 @@ type CreateBundleFromRefListRequest struct { func (x *CreateBundleFromRefListRequest) Reset() { *x = CreateBundleFromRefListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[44] + mi := &file_repository_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2700,7 +2817,7 @@ func (x *CreateBundleFromRefListRequest) String() string { func (*CreateBundleFromRefListRequest) ProtoMessage() {} func (x *CreateBundleFromRefListRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[44] + mi := &file_repository_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2713,7 +2830,7 @@ func (x *CreateBundleFromRefListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateBundleFromRefListRequest.ProtoReflect.Descriptor instead. func (*CreateBundleFromRefListRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{44} + return file_repository_proto_rawDescGZIP(), []int{46} } func (x *CreateBundleFromRefListRequest) GetRepository() *Repository { @@ -2743,7 +2860,7 @@ type CreateBundleFromRefListResponse struct { func (x *CreateBundleFromRefListResponse) Reset() { *x = CreateBundleFromRefListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[45] + mi := &file_repository_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2756,7 +2873,7 @@ func (x *CreateBundleFromRefListResponse) String() string { func (*CreateBundleFromRefListResponse) ProtoMessage() {} func (x *CreateBundleFromRefListResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[45] + mi := &file_repository_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2769,7 +2886,7 @@ func (x *CreateBundleFromRefListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateBundleFromRefListResponse.ProtoReflect.Descriptor instead. func (*CreateBundleFromRefListResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{45} + return file_repository_proto_rawDescGZIP(), []int{47} } func (x *CreateBundleFromRefListResponse) GetData() []byte { @@ -2793,7 +2910,7 @@ type GetConfigRequest struct { func (x *GetConfigRequest) Reset() { *x = GetConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[46] + mi := &file_repository_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2806,7 +2923,7 @@ func (x *GetConfigRequest) String() string { func (*GetConfigRequest) ProtoMessage() {} func (x *GetConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[46] + mi := &file_repository_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2819,7 +2936,7 @@ func (x *GetConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetConfigRequest.ProtoReflect.Descriptor instead. func (*GetConfigRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{46} + return file_repository_proto_rawDescGZIP(), []int{48} } func (x *GetConfigRequest) GetRepository() *Repository { @@ -2842,7 +2959,7 @@ type GetConfigResponse struct { func (x *GetConfigResponse) Reset() { *x = GetConfigResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[47] + mi := &file_repository_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2855,7 +2972,7 @@ func (x *GetConfigResponse) String() string { func (*GetConfigResponse) ProtoMessage() {} func (x *GetConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[47] + mi := &file_repository_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2868,7 +2985,7 @@ func (x *GetConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetConfigResponse.ProtoReflect.Descriptor instead. func (*GetConfigResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{47} + return file_repository_proto_rawDescGZIP(), []int{49} } func (x *GetConfigResponse) GetData() []byte { @@ -2893,7 +3010,7 @@ type RestoreCustomHooksRequest struct { func (x *RestoreCustomHooksRequest) Reset() { *x = RestoreCustomHooksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[48] + mi := &file_repository_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2906,7 +3023,7 @@ func (x *RestoreCustomHooksRequest) String() string { func (*RestoreCustomHooksRequest) ProtoMessage() {} func (x *RestoreCustomHooksRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[48] + mi := &file_repository_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2919,7 +3036,7 @@ func (x *RestoreCustomHooksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RestoreCustomHooksRequest.ProtoReflect.Descriptor instead. func (*RestoreCustomHooksRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{48} + return file_repository_proto_rawDescGZIP(), []int{50} } func (x *RestoreCustomHooksRequest) GetRepository() *Repository { @@ -2951,7 +3068,7 @@ type SetCustomHooksRequest struct { func (x *SetCustomHooksRequest) Reset() { *x = SetCustomHooksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[49] + mi := &file_repository_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2964,7 +3081,7 @@ func (x *SetCustomHooksRequest) String() string { func (*SetCustomHooksRequest) ProtoMessage() {} func (x *SetCustomHooksRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[49] + mi := &file_repository_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2977,7 +3094,7 @@ func (x *SetCustomHooksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetCustomHooksRequest.ProtoReflect.Descriptor instead. func (*SetCustomHooksRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{49} + return file_repository_proto_rawDescGZIP(), []int{51} } func (x *SetCustomHooksRequest) GetRepository() *Repository { @@ -3004,7 +3121,7 @@ type RestoreCustomHooksResponse struct { func (x *RestoreCustomHooksResponse) Reset() { *x = RestoreCustomHooksResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[50] + mi := &file_repository_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3017,7 +3134,7 @@ func (x *RestoreCustomHooksResponse) String() string { func (*RestoreCustomHooksResponse) ProtoMessage() {} func (x *RestoreCustomHooksResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[50] + mi := &file_repository_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3030,7 +3147,7 @@ func (x *RestoreCustomHooksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RestoreCustomHooksResponse.ProtoReflect.Descriptor instead. func (*RestoreCustomHooksResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{50} + return file_repository_proto_rawDescGZIP(), []int{52} } // This comment is left unintentionally blank. @@ -3043,7 +3160,7 @@ type SetCustomHooksResponse struct { func (x *SetCustomHooksResponse) Reset() { *x = SetCustomHooksResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[51] + mi := &file_repository_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3056,7 +3173,7 @@ func (x *SetCustomHooksResponse) String() string { func (*SetCustomHooksResponse) ProtoMessage() {} func (x *SetCustomHooksResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[51] + mi := &file_repository_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3069,7 +3186,7 @@ func (x *SetCustomHooksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetCustomHooksResponse.ProtoReflect.Descriptor instead. func (*SetCustomHooksResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{51} + return file_repository_proto_rawDescGZIP(), []int{53} } // This comment is left unintentionally blank. @@ -3085,7 +3202,7 @@ type BackupCustomHooksRequest struct { func (x *BackupCustomHooksRequest) Reset() { *x = BackupCustomHooksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[52] + mi := &file_repository_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3098,7 +3215,7 @@ func (x *BackupCustomHooksRequest) String() string { func (*BackupCustomHooksRequest) ProtoMessage() {} func (x *BackupCustomHooksRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[52] + mi := &file_repository_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3111,7 +3228,7 @@ func (x *BackupCustomHooksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupCustomHooksRequest.ProtoReflect.Descriptor instead. func (*BackupCustomHooksRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{52} + return file_repository_proto_rawDescGZIP(), []int{54} } func (x *BackupCustomHooksRequest) GetRepository() *Repository { @@ -3134,7 +3251,7 @@ type GetCustomHooksRequest struct { func (x *GetCustomHooksRequest) Reset() { *x = GetCustomHooksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[53] + mi := &file_repository_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3147,7 +3264,7 @@ func (x *GetCustomHooksRequest) String() string { func (*GetCustomHooksRequest) ProtoMessage() {} func (x *GetCustomHooksRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[53] + mi := &file_repository_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3160,7 +3277,7 @@ func (x *GetCustomHooksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCustomHooksRequest.ProtoReflect.Descriptor instead. func (*GetCustomHooksRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{53} + return file_repository_proto_rawDescGZIP(), []int{55} } func (x *GetCustomHooksRequest) GetRepository() *Repository { @@ -3183,7 +3300,7 @@ type BackupCustomHooksResponse struct { func (x *BackupCustomHooksResponse) Reset() { *x = BackupCustomHooksResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[54] + mi := &file_repository_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3196,7 +3313,7 @@ func (x *BackupCustomHooksResponse) String() string { func (*BackupCustomHooksResponse) ProtoMessage() {} func (x *BackupCustomHooksResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[54] + mi := &file_repository_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3209,7 +3326,7 @@ func (x *BackupCustomHooksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupCustomHooksResponse.ProtoReflect.Descriptor instead. func (*BackupCustomHooksResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{54} + return file_repository_proto_rawDescGZIP(), []int{56} } func (x *BackupCustomHooksResponse) GetData() []byte { @@ -3232,7 +3349,7 @@ type GetCustomHooksResponse struct { func (x *GetCustomHooksResponse) Reset() { *x = GetCustomHooksResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[55] + mi := &file_repository_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3245,7 +3362,7 @@ func (x *GetCustomHooksResponse) String() string { func (*GetCustomHooksResponse) ProtoMessage() {} func (x *GetCustomHooksResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[55] + mi := &file_repository_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3258,7 +3375,7 @@ func (x *GetCustomHooksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCustomHooksResponse.ProtoReflect.Descriptor instead. func (*GetCustomHooksResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{55} + return file_repository_proto_rawDescGZIP(), []int{57} } func (x *GetCustomHooksResponse) GetData() []byte { @@ -3283,7 +3400,7 @@ type CreateRepositoryFromBundleRequest struct { func (x *CreateRepositoryFromBundleRequest) Reset() { *x = CreateRepositoryFromBundleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[56] + mi := &file_repository_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3296,7 +3413,7 @@ func (x *CreateRepositoryFromBundleRequest) String() string { func (*CreateRepositoryFromBundleRequest) ProtoMessage() {} func (x *CreateRepositoryFromBundleRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[56] + mi := &file_repository_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3309,7 +3426,7 @@ func (x *CreateRepositoryFromBundleRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CreateRepositoryFromBundleRequest.ProtoReflect.Descriptor instead. func (*CreateRepositoryFromBundleRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{56} + return file_repository_proto_rawDescGZIP(), []int{58} } func (x *CreateRepositoryFromBundleRequest) GetRepository() *Repository { @@ -3336,7 +3453,7 @@ type CreateRepositoryFromBundleResponse struct { func (x *CreateRepositoryFromBundleResponse) Reset() { *x = CreateRepositoryFromBundleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[57] + mi := &file_repository_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3349,7 +3466,7 @@ func (x *CreateRepositoryFromBundleResponse) String() string { func (*CreateRepositoryFromBundleResponse) ProtoMessage() {} func (x *CreateRepositoryFromBundleResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[57] + mi := &file_repository_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3362,7 +3479,7 @@ func (x *CreateRepositoryFromBundleResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CreateRepositoryFromBundleResponse.ProtoReflect.Descriptor instead. func (*CreateRepositoryFromBundleResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{57} + return file_repository_proto_rawDescGZIP(), []int{59} } // FindLicenseRequest asks to detect the license for the given repository. @@ -3378,7 +3495,7 @@ type FindLicenseRequest struct { func (x *FindLicenseRequest) Reset() { *x = FindLicenseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[58] + mi := &file_repository_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3391,7 +3508,7 @@ func (x *FindLicenseRequest) String() string { func (*FindLicenseRequest) ProtoMessage() {} func (x *FindLicenseRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[58] + mi := &file_repository_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3404,7 +3521,7 @@ func (x *FindLicenseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FindLicenseRequest.ProtoReflect.Descriptor instead. func (*FindLicenseRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{58} + return file_repository_proto_rawDescGZIP(), []int{60} } func (x *FindLicenseRequest) GetRepository() *Repository { @@ -3442,7 +3559,7 @@ type FindLicenseResponse struct { func (x *FindLicenseResponse) Reset() { *x = FindLicenseResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[59] + mi := &file_repository_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3455,7 +3572,7 @@ func (x *FindLicenseResponse) String() string { func (*FindLicenseResponse) ProtoMessage() {} func (x *FindLicenseResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[59] + mi := &file_repository_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3468,7 +3585,7 @@ func (x *FindLicenseResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FindLicenseResponse.ProtoReflect.Descriptor instead. func (*FindLicenseResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{59} + return file_repository_proto_rawDescGZIP(), []int{61} } func (x *FindLicenseResponse) GetLicenseShortName() string { @@ -3519,7 +3636,7 @@ type GetInfoAttributesRequest struct { func (x *GetInfoAttributesRequest) Reset() { *x = GetInfoAttributesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[60] + mi := &file_repository_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3532,7 +3649,7 @@ func (x *GetInfoAttributesRequest) String() string { func (*GetInfoAttributesRequest) ProtoMessage() {} func (x *GetInfoAttributesRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[60] + mi := &file_repository_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3545,7 +3662,7 @@ func (x *GetInfoAttributesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInfoAttributesRequest.ProtoReflect.Descriptor instead. func (*GetInfoAttributesRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{60} + return file_repository_proto_rawDescGZIP(), []int{62} } func (x *GetInfoAttributesRequest) GetRepository() *Repository { @@ -3568,7 +3685,7 @@ type GetInfoAttributesResponse struct { func (x *GetInfoAttributesResponse) Reset() { *x = GetInfoAttributesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[61] + mi := &file_repository_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3581,7 +3698,7 @@ func (x *GetInfoAttributesResponse) String() string { func (*GetInfoAttributesResponse) ProtoMessage() {} func (x *GetInfoAttributesResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[61] + mi := &file_repository_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3594,7 +3711,7 @@ func (x *GetInfoAttributesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInfoAttributesResponse.ProtoReflect.Descriptor instead. func (*GetInfoAttributesResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{61} + return file_repository_proto_rawDescGZIP(), []int{63} } func (x *GetInfoAttributesResponse) GetAttributes() []byte { @@ -3617,7 +3734,7 @@ type CalculateChecksumRequest struct { func (x *CalculateChecksumRequest) Reset() { *x = CalculateChecksumRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[62] + mi := &file_repository_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3630,7 +3747,7 @@ func (x *CalculateChecksumRequest) String() string { func (*CalculateChecksumRequest) ProtoMessage() {} func (x *CalculateChecksumRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[62] + mi := &file_repository_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3643,7 +3760,7 @@ func (x *CalculateChecksumRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CalculateChecksumRequest.ProtoReflect.Descriptor instead. func (*CalculateChecksumRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{62} + return file_repository_proto_rawDescGZIP(), []int{64} } func (x *CalculateChecksumRequest) GetRepository() *Repository { @@ -3666,7 +3783,7 @@ type CalculateChecksumResponse struct { func (x *CalculateChecksumResponse) Reset() { *x = CalculateChecksumResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[63] + mi := &file_repository_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3679,7 +3796,7 @@ func (x *CalculateChecksumResponse) String() string { func (*CalculateChecksumResponse) ProtoMessage() {} func (x *CalculateChecksumResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[63] + mi := &file_repository_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3692,7 +3809,7 @@ func (x *CalculateChecksumResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CalculateChecksumResponse.ProtoReflect.Descriptor instead. func (*CalculateChecksumResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{63} + return file_repository_proto_rawDescGZIP(), []int{65} } func (x *CalculateChecksumResponse) GetChecksum() string { @@ -3715,7 +3832,7 @@ type GetSnapshotRequest struct { func (x *GetSnapshotRequest) Reset() { *x = GetSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[64] + mi := &file_repository_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3728,7 +3845,7 @@ func (x *GetSnapshotRequest) String() string { func (*GetSnapshotRequest) ProtoMessage() {} func (x *GetSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[64] + mi := &file_repository_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3741,7 +3858,7 @@ func (x *GetSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSnapshotRequest.ProtoReflect.Descriptor instead. func (*GetSnapshotRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{64} + return file_repository_proto_rawDescGZIP(), []int{66} } func (x *GetSnapshotRequest) GetRepository() *Repository { @@ -3764,7 +3881,7 @@ type GetSnapshotResponse struct { func (x *GetSnapshotResponse) Reset() { *x = GetSnapshotResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[65] + mi := &file_repository_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3777,7 +3894,7 @@ func (x *GetSnapshotResponse) String() string { func (*GetSnapshotResponse) ProtoMessage() {} func (x *GetSnapshotResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[65] + mi := &file_repository_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3790,7 +3907,7 @@ func (x *GetSnapshotResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSnapshotResponse.ProtoReflect.Descriptor instead. func (*GetSnapshotResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{65} + return file_repository_proto_rawDescGZIP(), []int{67} } func (x *GetSnapshotResponse) GetData() []byte { @@ -3831,7 +3948,7 @@ type CreateRepositoryFromSnapshotRequest struct { func (x *CreateRepositoryFromSnapshotRequest) Reset() { *x = CreateRepositoryFromSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[66] + mi := &file_repository_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3844,7 +3961,7 @@ func (x *CreateRepositoryFromSnapshotRequest) String() string { func (*CreateRepositoryFromSnapshotRequest) ProtoMessage() {} func (x *CreateRepositoryFromSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[66] + mi := &file_repository_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3857,7 +3974,7 @@ func (x *CreateRepositoryFromSnapshotRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use CreateRepositoryFromSnapshotRequest.ProtoReflect.Descriptor instead. func (*CreateRepositoryFromSnapshotRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{66} + return file_repository_proto_rawDescGZIP(), []int{68} } func (x *CreateRepositoryFromSnapshotRequest) GetRepository() *Repository { @@ -3906,7 +4023,7 @@ type CreateRepositoryFromSnapshotResponse struct { func (x *CreateRepositoryFromSnapshotResponse) Reset() { *x = CreateRepositoryFromSnapshotResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[67] + mi := &file_repository_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3919,7 +4036,7 @@ func (x *CreateRepositoryFromSnapshotResponse) String() string { func (*CreateRepositoryFromSnapshotResponse) ProtoMessage() {} func (x *CreateRepositoryFromSnapshotResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[67] + mi := &file_repository_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3932,7 +4049,7 @@ func (x *CreateRepositoryFromSnapshotResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use CreateRepositoryFromSnapshotResponse.ProtoReflect.Descriptor instead. func (*CreateRepositoryFromSnapshotResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{67} + return file_repository_proto_rawDescGZIP(), []int{69} } // This comment is left unintentionally blank. @@ -3952,7 +4069,7 @@ type GetRawChangesRequest struct { func (x *GetRawChangesRequest) Reset() { *x = GetRawChangesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[68] + mi := &file_repository_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3965,7 +4082,7 @@ func (x *GetRawChangesRequest) String() string { func (*GetRawChangesRequest) ProtoMessage() {} func (x *GetRawChangesRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[68] + mi := &file_repository_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3978,7 +4095,7 @@ func (x *GetRawChangesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRawChangesRequest.ProtoReflect.Descriptor instead. func (*GetRawChangesRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{68} + return file_repository_proto_rawDescGZIP(), []int{70} } func (x *GetRawChangesRequest) GetRepository() *Repository { @@ -4015,7 +4132,7 @@ type GetRawChangesResponse struct { func (x *GetRawChangesResponse) Reset() { *x = GetRawChangesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[69] + mi := &file_repository_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4028,7 +4145,7 @@ func (x *GetRawChangesResponse) String() string { func (*GetRawChangesResponse) ProtoMessage() {} func (x *GetRawChangesResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[69] + mi := &file_repository_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4041,7 +4158,7 @@ func (x *GetRawChangesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRawChangesResponse.ProtoReflect.Descriptor instead. func (*GetRawChangesResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{69} + return file_repository_proto_rawDescGZIP(), []int{71} } func (x *GetRawChangesResponse) GetRawChanges() []*GetRawChangesResponse_RawChange { @@ -4080,7 +4197,7 @@ type SearchFilesByNameRequest struct { func (x *SearchFilesByNameRequest) Reset() { *x = SearchFilesByNameRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[70] + mi := &file_repository_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4093,7 +4210,7 @@ func (x *SearchFilesByNameRequest) String() string { func (*SearchFilesByNameRequest) ProtoMessage() {} func (x *SearchFilesByNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[70] + mi := &file_repository_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4106,7 +4223,7 @@ func (x *SearchFilesByNameRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchFilesByNameRequest.ProtoReflect.Descriptor instead. func (*SearchFilesByNameRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{70} + return file_repository_proto_rawDescGZIP(), []int{72} } func (x *SearchFilesByNameRequest) GetRepository() *Repository { @@ -4164,7 +4281,7 @@ type SearchFilesByNameResponse struct { func (x *SearchFilesByNameResponse) Reset() { *x = SearchFilesByNameResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[71] + mi := &file_repository_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4177,7 +4294,7 @@ func (x *SearchFilesByNameResponse) String() string { func (*SearchFilesByNameResponse) ProtoMessage() {} func (x *SearchFilesByNameResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[71] + mi := &file_repository_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4190,7 +4307,7 @@ func (x *SearchFilesByNameResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchFilesByNameResponse.ProtoReflect.Descriptor instead. func (*SearchFilesByNameResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{71} + return file_repository_proto_rawDescGZIP(), []int{73} } func (x *SearchFilesByNameResponse) GetFiles() [][]byte { @@ -4219,7 +4336,7 @@ type SearchFilesByContentRequest struct { func (x *SearchFilesByContentRequest) Reset() { *x = SearchFilesByContentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[72] + mi := &file_repository_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4232,7 +4349,7 @@ func (x *SearchFilesByContentRequest) String() string { func (*SearchFilesByContentRequest) ProtoMessage() {} func (x *SearchFilesByContentRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[72] + mi := &file_repository_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4245,7 +4362,7 @@ func (x *SearchFilesByContentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchFilesByContentRequest.ProtoReflect.Descriptor instead. func (*SearchFilesByContentRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{72} + return file_repository_proto_rawDescGZIP(), []int{74} } func (x *SearchFilesByContentRequest) GetRepository() *Repository { @@ -4293,7 +4410,7 @@ type SearchFilesByContentResponse struct { func (x *SearchFilesByContentResponse) Reset() { *x = SearchFilesByContentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[73] + mi := &file_repository_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4306,7 +4423,7 @@ func (x *SearchFilesByContentResponse) String() string { func (*SearchFilesByContentResponse) ProtoMessage() {} func (x *SearchFilesByContentResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[73] + mi := &file_repository_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4319,7 +4436,7 @@ func (x *SearchFilesByContentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchFilesByContentResponse.ProtoReflect.Descriptor instead. func (*SearchFilesByContentResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{73} + return file_repository_proto_rawDescGZIP(), []int{75} } func (x *SearchFilesByContentResponse) GetMatches() [][]byte { @@ -4384,7 +4501,7 @@ type Remote struct { func (x *Remote) Reset() { *x = Remote{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[74] + mi := &file_repository_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4397,7 +4514,7 @@ func (x *Remote) String() string { func (*Remote) ProtoMessage() {} func (x *Remote) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[74] + mi := &file_repository_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4410,7 +4527,7 @@ func (x *Remote) ProtoReflect() protoreflect.Message { // Deprecated: Use Remote.ProtoReflect.Descriptor instead. func (*Remote) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{74} + return file_repository_proto_rawDescGZIP(), []int{76} } func (x *Remote) GetUrl() string { @@ -4462,7 +4579,7 @@ type GetObjectDirectorySizeRequest struct { func (x *GetObjectDirectorySizeRequest) Reset() { *x = GetObjectDirectorySizeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[75] + mi := &file_repository_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4475,7 +4592,7 @@ func (x *GetObjectDirectorySizeRequest) String() string { func (*GetObjectDirectorySizeRequest) ProtoMessage() {} func (x *GetObjectDirectorySizeRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[75] + mi := &file_repository_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4488,7 +4605,7 @@ func (x *GetObjectDirectorySizeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetObjectDirectorySizeRequest.ProtoReflect.Descriptor instead. func (*GetObjectDirectorySizeRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{75} + return file_repository_proto_rawDescGZIP(), []int{77} } func (x *GetObjectDirectorySizeRequest) GetRepository() *Repository { @@ -4511,7 +4628,7 @@ type GetObjectDirectorySizeResponse struct { func (x *GetObjectDirectorySizeResponse) Reset() { *x = GetObjectDirectorySizeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[76] + mi := &file_repository_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4524,7 +4641,7 @@ func (x *GetObjectDirectorySizeResponse) String() string { func (*GetObjectDirectorySizeResponse) ProtoMessage() {} func (x *GetObjectDirectorySizeResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[76] + mi := &file_repository_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4537,7 +4654,7 @@ func (x *GetObjectDirectorySizeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetObjectDirectorySizeResponse.ProtoReflect.Descriptor instead. func (*GetObjectDirectorySizeResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{76} + return file_repository_proto_rawDescGZIP(), []int{78} } func (x *GetObjectDirectorySizeResponse) GetSize() int64 { @@ -4560,7 +4677,7 @@ type RemoveRepositoryRequest struct { func (x *RemoveRepositoryRequest) Reset() { *x = RemoveRepositoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[77] + mi := &file_repository_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4573,7 +4690,7 @@ func (x *RemoveRepositoryRequest) String() string { func (*RemoveRepositoryRequest) ProtoMessage() {} func (x *RemoveRepositoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[77] + mi := &file_repository_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4586,7 +4703,7 @@ func (x *RemoveRepositoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveRepositoryRequest.ProtoReflect.Descriptor instead. func (*RemoveRepositoryRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{77} + return file_repository_proto_rawDescGZIP(), []int{79} } func (x *RemoveRepositoryRequest) GetRepository() *Repository { @@ -4606,7 +4723,7 @@ type RemoveRepositoryResponse struct { func (x *RemoveRepositoryResponse) Reset() { *x = RemoveRepositoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[78] + mi := &file_repository_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4619,7 +4736,7 @@ func (x *RemoveRepositoryResponse) String() string { func (*RemoveRepositoryResponse) ProtoMessage() {} func (x *RemoveRepositoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[78] + mi := &file_repository_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4632,7 +4749,7 @@ func (x *RemoveRepositoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveRepositoryResponse.ProtoReflect.Descriptor instead. func (*RemoveRepositoryResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{78} + return file_repository_proto_rawDescGZIP(), []int{80} } // This comment is left unintentionally blank. @@ -4650,7 +4767,7 @@ type RenameRepositoryRequest struct { func (x *RenameRepositoryRequest) Reset() { *x = RenameRepositoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[79] + mi := &file_repository_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4663,7 +4780,7 @@ func (x *RenameRepositoryRequest) String() string { func (*RenameRepositoryRequest) ProtoMessage() {} func (x *RenameRepositoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[79] + mi := &file_repository_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4676,7 +4793,7 @@ func (x *RenameRepositoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RenameRepositoryRequest.ProtoReflect.Descriptor instead. func (*RenameRepositoryRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{79} + return file_repository_proto_rawDescGZIP(), []int{81} } func (x *RenameRepositoryRequest) GetRepository() *Repository { @@ -4703,7 +4820,7 @@ type RenameRepositoryResponse struct { func (x *RenameRepositoryResponse) Reset() { *x = RenameRepositoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[80] + mi := &file_repository_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4716,7 +4833,7 @@ func (x *RenameRepositoryResponse) String() string { func (*RenameRepositoryResponse) ProtoMessage() {} func (x *RenameRepositoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[80] + mi := &file_repository_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4729,7 +4846,7 @@ func (x *RenameRepositoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RenameRepositoryResponse.ProtoReflect.Descriptor instead. func (*RenameRepositoryResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{80} + return file_repository_proto_rawDescGZIP(), []int{82} } // This comment is left unintentionally blank. @@ -4747,7 +4864,7 @@ type ReplicateRepositoryRequest struct { func (x *ReplicateRepositoryRequest) Reset() { *x = ReplicateRepositoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[81] + mi := &file_repository_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4760,7 +4877,7 @@ func (x *ReplicateRepositoryRequest) String() string { func (*ReplicateRepositoryRequest) ProtoMessage() {} func (x *ReplicateRepositoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[81] + mi := &file_repository_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4773,7 +4890,7 @@ func (x *ReplicateRepositoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReplicateRepositoryRequest.ProtoReflect.Descriptor instead. func (*ReplicateRepositoryRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{81} + return file_repository_proto_rawDescGZIP(), []int{83} } func (x *ReplicateRepositoryRequest) GetRepository() *Repository { @@ -4800,7 +4917,7 @@ type ReplicateRepositoryResponse struct { func (x *ReplicateRepositoryResponse) Reset() { *x = ReplicateRepositoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[82] + mi := &file_repository_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4813,7 +4930,7 @@ func (x *ReplicateRepositoryResponse) String() string { func (*ReplicateRepositoryResponse) ProtoMessage() {} func (x *ReplicateRepositoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[82] + mi := &file_repository_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4826,7 +4943,7 @@ func (x *ReplicateRepositoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ReplicateRepositoryResponse.ProtoReflect.Descriptor instead. func (*ReplicateRepositoryResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{82} + return file_repository_proto_rawDescGZIP(), []int{84} } // OptimizeRepositoryRequest is a request for the OptimizeRepository RPC. @@ -4844,7 +4961,7 @@ type OptimizeRepositoryRequest struct { func (x *OptimizeRepositoryRequest) Reset() { *x = OptimizeRepositoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[83] + mi := &file_repository_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4857,7 +4974,7 @@ func (x *OptimizeRepositoryRequest) String() string { func (*OptimizeRepositoryRequest) ProtoMessage() {} func (x *OptimizeRepositoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[83] + mi := &file_repository_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4870,7 +4987,7 @@ func (x *OptimizeRepositoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OptimizeRepositoryRequest.ProtoReflect.Descriptor instead. func (*OptimizeRepositoryRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{83} + return file_repository_proto_rawDescGZIP(), []int{85} } func (x *OptimizeRepositoryRequest) GetRepository() *Repository { @@ -4897,7 +5014,7 @@ type OptimizeRepositoryResponse struct { func (x *OptimizeRepositoryResponse) Reset() { *x = OptimizeRepositoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[84] + mi := &file_repository_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4910,7 +5027,7 @@ func (x *OptimizeRepositoryResponse) String() string { func (*OptimizeRepositoryResponse) ProtoMessage() {} func (x *OptimizeRepositoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[84] + mi := &file_repository_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4923,7 +5040,7 @@ func (x *OptimizeRepositoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OptimizeRepositoryResponse.ProtoReflect.Descriptor instead. func (*OptimizeRepositoryResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{84} + return file_repository_proto_rawDescGZIP(), []int{86} } // PruneUnreachableObjectsRequest is a request for the PruneUnreachableObjects @@ -4940,7 +5057,7 @@ type PruneUnreachableObjectsRequest struct { func (x *PruneUnreachableObjectsRequest) Reset() { *x = PruneUnreachableObjectsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[85] + mi := &file_repository_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4953,7 +5070,7 @@ func (x *PruneUnreachableObjectsRequest) String() string { func (*PruneUnreachableObjectsRequest) ProtoMessage() {} func (x *PruneUnreachableObjectsRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[85] + mi := &file_repository_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4966,7 +5083,7 @@ func (x *PruneUnreachableObjectsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PruneUnreachableObjectsRequest.ProtoReflect.Descriptor instead. func (*PruneUnreachableObjectsRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{85} + return file_repository_proto_rawDescGZIP(), []int{87} } func (x *PruneUnreachableObjectsRequest) GetRepository() *Repository { @@ -4987,7 +5104,7 @@ type PruneUnreachableObjectsResponse struct { func (x *PruneUnreachableObjectsResponse) Reset() { *x = PruneUnreachableObjectsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[86] + mi := &file_repository_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5000,7 +5117,7 @@ func (x *PruneUnreachableObjectsResponse) String() string { func (*PruneUnreachableObjectsResponse) ProtoMessage() {} func (x *PruneUnreachableObjectsResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[86] + mi := &file_repository_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5013,7 +5130,7 @@ func (x *PruneUnreachableObjectsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PruneUnreachableObjectsResponse.ProtoReflect.Descriptor instead. func (*PruneUnreachableObjectsResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{86} + return file_repository_proto_rawDescGZIP(), []int{88} } // SetFullPathRequest is a request for the SetFullPath RPC. @@ -5031,7 +5148,7 @@ type SetFullPathRequest struct { func (x *SetFullPathRequest) Reset() { *x = SetFullPathRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[87] + mi := &file_repository_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5044,7 +5161,7 @@ func (x *SetFullPathRequest) String() string { func (*SetFullPathRequest) ProtoMessage() {} func (x *SetFullPathRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[87] + mi := &file_repository_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5057,7 +5174,7 @@ func (x *SetFullPathRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetFullPathRequest.ProtoReflect.Descriptor instead. func (*SetFullPathRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{87} + return file_repository_proto_rawDescGZIP(), []int{89} } func (x *SetFullPathRequest) GetRepository() *Repository { @@ -5084,7 +5201,7 @@ type SetFullPathResponse struct { func (x *SetFullPathResponse) Reset() { *x = SetFullPathResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[88] + mi := &file_repository_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5097,7 +5214,7 @@ func (x *SetFullPathResponse) String() string { func (*SetFullPathResponse) ProtoMessage() {} func (x *SetFullPathResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[88] + mi := &file_repository_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5110,7 +5227,7 @@ func (x *SetFullPathResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetFullPathResponse.ProtoReflect.Descriptor instead. func (*SetFullPathResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{88} + return file_repository_proto_rawDescGZIP(), []int{90} } // FullPathRequest is a request for the FullPath RPC. @@ -5126,7 +5243,7 @@ type FullPathRequest struct { func (x *FullPathRequest) Reset() { *x = FullPathRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[89] + mi := &file_repository_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5139,7 +5256,7 @@ func (x *FullPathRequest) String() string { func (*FullPathRequest) ProtoMessage() {} func (x *FullPathRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[89] + mi := &file_repository_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5152,7 +5269,7 @@ func (x *FullPathRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FullPathRequest.ProtoReflect.Descriptor instead. func (*FullPathRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{89} + return file_repository_proto_rawDescGZIP(), []int{91} } func (x *FullPathRequest) GetRepository() *Repository { @@ -5175,7 +5292,7 @@ type FullPathResponse struct { func (x *FullPathResponse) Reset() { *x = FullPathResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[90] + mi := &file_repository_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5188,7 +5305,7 @@ func (x *FullPathResponse) String() string { func (*FullPathResponse) ProtoMessage() {} func (x *FullPathResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[90] + mi := &file_repository_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5201,7 +5318,7 @@ func (x *FullPathResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FullPathResponse.ProtoReflect.Descriptor instead. func (*FullPathResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{90} + return file_repository_proto_rawDescGZIP(), []int{92} } func (x *FullPathResponse) GetPath() string { @@ -5224,7 +5341,7 @@ type RemoveAllRequest struct { func (x *RemoveAllRequest) Reset() { *x = RemoveAllRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[91] + mi := &file_repository_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5237,7 +5354,7 @@ func (x *RemoveAllRequest) String() string { func (*RemoveAllRequest) ProtoMessage() {} func (x *RemoveAllRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[91] + mi := &file_repository_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5250,7 +5367,7 @@ func (x *RemoveAllRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveAllRequest.ProtoReflect.Descriptor instead. func (*RemoveAllRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{91} + return file_repository_proto_rawDescGZIP(), []int{93} } func (x *RemoveAllRequest) GetStorageName() string { @@ -5270,7 +5387,7 @@ type RemoveAllResponse struct { func (x *RemoveAllResponse) Reset() { *x = RemoveAllResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[92] + mi := &file_repository_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5283,7 +5400,7 @@ func (x *RemoveAllResponse) String() string { func (*RemoveAllResponse) ProtoMessage() {} func (x *RemoveAllResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[92] + mi := &file_repository_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5296,7 +5413,167 @@ func (x *RemoveAllResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveAllResponse.ProtoReflect.Descriptor instead. func (*RemoveAllResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{92} + return file_repository_proto_rawDescGZIP(), []int{94} +} + +// ReferencesInfo hosts information about references. +type RepositoryInfoResponse_ReferencesInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // LooseCount is the number of loose references that exist in the repository. These references + // are written whenever any reference either gets updated or created. Loose references have not + // yet been compressed into a packed format, which is an action that Gitaly performs regularly + // during repository maintenance. + // + // We do not provide the total size of loose references as it is a constant factor of the count + // anyway: `$count * $object_hash_length`. + LooseCount uint64 `protobuf:"varint,1,opt,name=loose_count,json=looseCount,proto3" json:"loose_count,omitempty"` + // PackedSize is the size of packed references in bytes. Packed references are a more efficient + // way to store loose references. Given that determining the exact amount of references stored + // in packed format would require us to process the complete contents we don't provide the size + // here. A very rough estimate would be: `$size / 100`. + PackedSize uint64 `protobuf:"varint,2,opt,name=packed_size,json=packedSize,proto3" json:"packed_size,omitempty"` +} + +func (x *RepositoryInfoResponse_ReferencesInfo) Reset() { + *x = RepositoryInfoResponse_ReferencesInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_repository_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RepositoryInfoResponse_ReferencesInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepositoryInfoResponse_ReferencesInfo) ProtoMessage() {} + +func (x *RepositoryInfoResponse_ReferencesInfo) ProtoReflect() protoreflect.Message { + mi := &file_repository_proto_msgTypes[95] + 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 RepositoryInfoResponse_ReferencesInfo.ProtoReflect.Descriptor instead. +func (*RepositoryInfoResponse_ReferencesInfo) Descriptor() ([]byte, []int) { + return file_repository_proto_rawDescGZIP(), []int{17, 0} +} + +func (x *RepositoryInfoResponse_ReferencesInfo) GetLooseCount() uint64 { + if x != nil { + return x.LooseCount + } + return 0 +} + +func (x *RepositoryInfoResponse_ReferencesInfo) GetPackedSize() uint64 { + if x != nil { + return x.PackedSize + } + return 0 +} + +// ObjectsInfo hosts info about objects contained in a repository. It tries to bridge the gap +// between the actual on-disk state that is changing over time as Git introduces new ways to +// perform repository housekeeping and specific classifications of objects. +// +// One of the distinctions is between "recent" and "stale" objects. The set of recent objects +// contains these objects that have either been recently written/accessed or those which are +// reachable via any of the references. Stale objects on the other hand are those that are older +// than a certain grace period and which are not reachable via any reference. The exact details +// when the set of stale and recent objects is updated is an internal implementation detail of +// Gitaly and subject to change. It is safe to assume though that unreachable objects will +// eventually be marked stale when repository housekeeping runs on a repository. +type RepositoryInfoResponse_ObjectsInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Size is the total size of all objects in the repository in bytes. It makes no distinction + // between the way they are stored or whether they are pending deletion. + Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` + // RecentSize is the total size of all objects in bytes that are considered to be recent. Recent + // objects are likely reachable and will not be considered for deletion. + RecentSize uint64 `protobuf:"varint,2,opt,name=recent_size,json=recentSize,proto3" json:"recent_size,omitempty"` + // StaleSize is the total size of all objects in bytes that are considered to be stale. Stale + // objects are likely unreachable and will eventually be deleted after a grace period. Objects + // which are part of cruft packs are always considered to be stale. + StaleSize uint64 `protobuf:"varint,3,opt,name=stale_size,json=staleSize,proto3" json:"stale_size,omitempty"` + // KeepSize is the total size of all kept packfiles. Kept packfiles are packfiles that have a + // `.keep` file accompanying them. Packfiles marked with such a file will never be deleted by + // Git and will thus stay around forever, even if their objects are part of + // other packfiles already. + KeepSize uint64 `protobuf:"varint,4,opt,name=keep_size,json=keepSize,proto3" json:"keep_size,omitempty"` +} + +func (x *RepositoryInfoResponse_ObjectsInfo) Reset() { + *x = RepositoryInfoResponse_ObjectsInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_repository_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RepositoryInfoResponse_ObjectsInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepositoryInfoResponse_ObjectsInfo) ProtoMessage() {} + +func (x *RepositoryInfoResponse_ObjectsInfo) ProtoReflect() protoreflect.Message { + mi := &file_repository_proto_msgTypes[96] + 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 RepositoryInfoResponse_ObjectsInfo.ProtoReflect.Descriptor instead. +func (*RepositoryInfoResponse_ObjectsInfo) Descriptor() ([]byte, []int) { + return file_repository_proto_rawDescGZIP(), []int{17, 1} +} + +func (x *RepositoryInfoResponse_ObjectsInfo) GetSize() uint64 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *RepositoryInfoResponse_ObjectsInfo) GetRecentSize() uint64 { + if x != nil { + return x.RecentSize + } + return 0 +} + +func (x *RepositoryInfoResponse_ObjectsInfo) GetStaleSize() uint64 { + if x != nil { + return x.StaleSize + } + return 0 +} + +func (x *RepositoryInfoResponse_ObjectsInfo) GetKeepSize() uint64 { + if x != nil { + return x.KeepSize + } + return 0 } // This comment is left unintentionally blank. @@ -5326,7 +5603,7 @@ type GetRawChangesResponse_RawChange struct { func (x *GetRawChangesResponse_RawChange) Reset() { *x = GetRawChangesResponse_RawChange{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[93] + mi := &file_repository_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5339,7 +5616,7 @@ func (x *GetRawChangesResponse_RawChange) String() string { func (*GetRawChangesResponse_RawChange) ProtoMessage() {} func (x *GetRawChangesResponse_RawChange) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[93] + mi := &file_repository_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5352,7 +5629,7 @@ func (x *GetRawChangesResponse_RawChange) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRawChangesResponse_RawChange.ProtoReflect.Descriptor instead. func (*GetRawChangesResponse_RawChange) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{69, 0} + return file_repository_proto_rawDescGZIP(), []int{71, 0} } func (x *GetRawChangesResponse_RawChange) GetBlobId() string { @@ -5487,156 +5764,140 @@ var file_repository_proto_rawDesc = []byte{ 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, - 0x7a, 0x65, 0x22, 0x4f, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x22, 0x44, 0x0a, 0x14, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x67, 0x69, - 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x71, 0x0a, 0x19, 0x41, 0x70, 0x70, - 0x6c, 0x79, 0x47, 0x69, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, - 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x1c, 0x0a, 0x1a, - 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x69, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x12, 0x46, - 0x65, 0x74, 0x63, 0x68, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, - 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x1f, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x65, 0x61, 0x64, - 0x22, 0x15, 0x0a, 0x13, 0x46, 0x65, 0x74, 0x63, 0x68, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe3, 0x02, 0x0a, 0x12, 0x46, 0x65, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, - 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x17, - 0x0a, 0x07, 0x6e, 0x6f, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x6e, 0x6f, 0x54, 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6b, 0x6e, - 0x6f, 0x77, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, - 0x6f, 0x5f, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6e, - 0x6f, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x12, 0x33, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x0c, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x61, - 0x67, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x4a, - 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0x38, 0x0a, - 0x13, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x61, 0x67, 0x73, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0xb5, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, - 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, - 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, - 0x61, 0x6e, 0x63, 0x68, 0x12, 0x39, 0x0a, 0x0d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x67, 0x69, - 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x52, 0x0c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, - 0x1a, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xea, 0x02, 0x0a, 0x11, - 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x7a, 0x65, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x95, 0x03, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x1a, 0x52, 0x0a, 0x0e, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, + 0x6f, 0x6f, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0a, 0x6c, 0x6f, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x7e, 0x0a, + 0x0b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x4f, 0x0a, + 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, + 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x44, + 0x0a, 0x14, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x22, 0x71, 0x0a, 0x19, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x69, 0x74, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, - 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x12, 0x38, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0c, 0x52, - 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6c, 0x69, 0x64, - 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x6c, - 0x69, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x5f, 0x6c, 0x66, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4c, 0x66, 0x73, 0x42, 0x6c, - 0x6f, 0x62, 0x73, 0x22, 0x33, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x07, 0x0a, - 0x03, 0x5a, 0x49, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x41, 0x52, 0x10, 0x01, 0x12, - 0x0a, 0x0a, 0x06, 0x54, 0x41, 0x52, 0x5f, 0x47, 0x5a, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x54, - 0x41, 0x52, 0x5f, 0x42, 0x5a, 0x32, 0x10, 0x03, 0x22, 0x28, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x22, 0x53, 0x0a, 0x17, 0x48, 0x61, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, - 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, - 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x30, 0x0a, 0x18, 0x48, 0x61, 0x73, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x18, 0x46, 0x65, - 0x74, 0x63, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, - 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x3f, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, - 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, - 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x62, 0x72, 0x61, 0x6e, - 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x72, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x52, 0x65, 0x66, 0x22, 0x33, 0x0a, 0x19, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x47, 0x0a, 0x0b, 0x46, 0x73, - 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, + 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x1c, 0x0a, 0x1a, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x47, 0x69, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x12, 0x46, 0x65, 0x74, 0x63, 0x68, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x65, 0x61, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x46, + 0x65, 0x74, 0x63, 0x68, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xe3, 0x02, 0x0a, 0x12, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x22, 0x24, 0x0a, 0x0c, 0x46, 0x73, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xb8, 0x01, 0x0a, 0x0f, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x52, 0x65, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, - 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x65, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6f, 0x6c, 0x64, - 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4a, 0x04, - 0x08, 0x06, 0x10, 0x07, 0x22, 0x18, 0x0a, 0x10, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x66, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x6e, - 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, - 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2b, - 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x11, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x5f, + 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x54, 0x61, + 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, + 0x73, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x73, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x68, + 0x6f, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x6e, 0x6f, 0x77, + 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x6f, 0x5f, 0x70, 0x72, 0x75, + 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6e, 0x6f, 0x50, 0x72, 0x75, 0x6e, + 0x65, 0x12, 0x33, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, + 0x74, 0x61, 0x67, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x61, 0x67, 0x73, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x64, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, + 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0x38, 0x0a, 0x13, 0x46, 0x65, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x61, 0x67, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x64, 0x22, 0xb5, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, + 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, + 0x39, 0x0a, 0x0d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0c, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x1a, 0x0a, 0x18, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xea, 0x02, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x38, 0x0a, 0x06, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6c, 0x69, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x6c, 0x69, 0x64, 0x65, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6c, 0x66, + 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4c, 0x66, 0x73, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x22, 0x33, + 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x07, 0x0a, 0x03, 0x5a, 0x49, 0x50, 0x10, + 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x41, 0x52, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x41, + 0x52, 0x5f, 0x47, 0x5a, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x41, 0x52, 0x5f, 0x42, 0x5a, + 0x32, 0x10, 0x03, 0x22, 0x28, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x53, 0x0a, + 0x17, 0x48, 0x61, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x22, 0x30, 0x0a, 0x18, 0x48, 0x61, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, + 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x18, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, @@ -5644,602 +5905,654 @@ var file_repository_proto_rawDesc = []byte{ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x14, 0x0a, 0x12, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x8c, 0x02, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, - 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, - 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, - 0x6c, 0x12, 0x1f, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x48, 0x6f, - 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x68, 0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, - 0x0a, 0x06, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2a, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x76, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, - 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, - 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x22, 0x35, 0x0a, 0x1f, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x66, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x4c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, - 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, - 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x27, - 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x69, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, + 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, + 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, + 0x22, 0x33, 0x0a, 0x19, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, + 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x47, 0x0a, 0x0b, 0x46, 0x73, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, - 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x22, 0x65, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, - 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x54, 0x0a, 0x18, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, - 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x24, + 0x0a, 0x0c, 0x46, 0x73, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x22, 0xb8, 0x01, 0x0a, 0x0f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x03, 0x72, 0x65, 0x66, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, + 0x18, 0x0a, 0x10, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x6e, 0x0a, 0x14, 0x46, 0x69, 0x6e, + 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, + 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2b, 0x0a, 0x15, 0x46, 0x69, 0x6e, + 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3f, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x51, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x02, + 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, - 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2f, 0x0a, 0x19, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x0a, 0x16, 0x47, - 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x71, 0x0a, 0x21, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, - 0x6d, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x09, + 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x3a, 0x0a, + 0x19, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x17, 0x68, 0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6d, 0x69, 0x72, 0x72, 0x6f, + 0x72, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x21, 0x0a, 0x1f, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x4f, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, + 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, + 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x22, 0x2a, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x76, 0x0a, 0x1e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x72, 0x6f, 0x6d, + 0x52, 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x24, 0x0a, 0x22, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x53, - 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, - 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, - 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, - 0x29, 0x0a, 0x10, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x6e, 0x69, 0x63, 0x6b, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x18, 0x47, 0x65, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x73, 0x22, 0x35, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4c, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x27, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x69, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x65, 0x0a, + 0x15, 0x53, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x22, 0x3b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0x54, 0x0a, - 0x18, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, - 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, + 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x0a, 0x18, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x22, 0x51, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, + 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2f, 0x0a, 0x19, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x71, 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x22, 0x37, 0x0a, 0x19, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x4e, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, - 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe3, 0x01, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x74, 0x74, - 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x74, 0x74, - 0x70, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x61, 0x75, 0x74, - 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x41, 0x75, 0x74, - 0x68, 0x12, 0x1f, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x48, 0x6f, - 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x26, 0x0a, - 0x24, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, - 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x72, 0x6f, 0x6d, - 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, - 0x0b, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9f, - 0x04, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x61, 0x77, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x73, 0x1a, 0xbb, 0x03, 0x0a, 0x09, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x12, 0x17, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x4f, 0x0a, - 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x31, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, - 0x0a, 0x0d, 0x72, 0x61, 0x77, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x61, 0x77, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x6c, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x19, - 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x77, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, - 0x24, 0x0a, 0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x6f, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, - 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, - 0x09, 0x0a, 0x05, 0x41, 0x44, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, - 0x50, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, - 0x44, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x10, 0x05, 0x12, 0x10, - 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x06, - 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x08, 0x6e, 0x65, - 0x77, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x22, 0xc2, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, + 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x24, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, + 0x12, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, + 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xd5, 0x01, + 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x69, 0x63, 0x65, 0x6e, + 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, + 0x73, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x4e, 0x69, 0x63, + 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, + 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x3b, 0x0a, 0x19, 0x47, + 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0x54, 0x0a, 0x18, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, + 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x37, + 0x0a, 0x19, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x73, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x4e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x72, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, - 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x31, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0c, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0xe3, 0x01, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x55, 0x72, 0x6c, 0x12, + 0x1b, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x09, + 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x29, 0x0a, + 0x10, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x26, 0x0a, 0x24, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x96, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, + 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x5f, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, + 0x6f, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x04, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0xbb, 0x03, + 0x0a, 0x09, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x62, + 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x6c, + 0x6f, 0x62, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x61, 0x77, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x61, 0x77, + 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x72, 0x61, 0x77, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, + 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x6f, 0x6c, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x65, 0x77, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x6e, 0x65, + 0x77, 0x50, 0x61, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6f, 0x6c, + 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0c, 0x6f, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, + 0x22, 0x69, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, + 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x44, + 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x50, 0x49, 0x45, 0x44, 0x10, + 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0c, + 0x0a, 0x08, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, + 0x52, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x03, 0x10, + 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22, 0xc2, 0x01, 0x0a, 0x18, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x68, - 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, - 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, - 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x22, 0xd5, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x3a, 0x0a, - 0x19, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x17, 0x68, 0x74, 0x74, 0x70, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x69, 0x72, - 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x66, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0d, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x66, 0x6d, 0x61, 0x70, 0x73, - 0x12, 0x1f, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x48, 0x6f, 0x73, - 0x74, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4a, 0x04, 0x08, 0x02, - 0x10, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, - 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x22, 0x34, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x53, 0x0a, 0x17, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, + 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x22, 0x31, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x05, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, + 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, + 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x79, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, + 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0c, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x6e, 0x64, + 0x5f, 0x6f, 0x66, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0a, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xd5, 0x01, 0x0a, 0x06, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x3a, 0x0a, 0x19, 0x68, 0x74, 0x74, 0x70, + 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x68, 0x74, 0x74, + 0x70, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, + 0x65, 0x66, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x69, + 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x66, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x09, 0x68, + 0x74, 0x74, 0x70, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, + 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, - 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x1a, - 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x0a, 0x17, 0x52, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, - 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, - 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, - 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x50, 0x61, 0x74, 0x68, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x82, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x34, + 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x22, 0x53, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, - 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x19, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, - 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, - 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x08, - 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, - 0x74, 0x65, 0x67, 0x79, 0x22, 0x52, 0x0a, 0x08, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, - 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, - 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x48, 0x45, 0x55, 0x52, 0x49, 0x53, 0x54, 0x49, 0x43, - 0x41, 0x4c, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, - 0x5f, 0x45, 0x41, 0x47, 0x45, 0x52, 0x10, 0x02, 0x22, 0x1c, 0x0a, 0x1a, 0x4f, 0x70, 0x74, 0x69, - 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0x0a, 0x1e, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, - 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x22, 0x21, 0x0a, 0x1f, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, - 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, - 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x4b, 0x0a, 0x0f, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x0a, 0x17, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, + 0x1a, 0x0a, 0x18, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x1a, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xf1, 0x01, 0x0a, 0x19, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, + 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, + 0x52, 0x0a, 0x08, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, + 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, + 0x59, 0x5f, 0x48, 0x45, 0x55, 0x52, 0x49, 0x53, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, + 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x45, 0x41, 0x47, 0x45, + 0x52, 0x10, 0x02, 0x22, 0x1c, 0x0a, 0x1a, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x5a, 0x0a, 0x1e, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, - 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x26, 0x0a, - 0x10, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x35, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x13, 0x0a, 0x11, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x32, 0xc0, 0x21, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x67, 0x69, - 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x45, - 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, - 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x63, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x61, 0x63, 0x6b, - 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x12, 0x20, 0x2e, 0x67, 0x69, - 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x63, 0x72, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x63, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x03, 0x88, 0x02, 0x01, 0x12, 0x4e, 0x0a, 0x0a, 0x52, - 0x65, 0x70, 0x61, 0x63, 0x6b, 0x46, 0x75, 0x6c, 0x6c, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, - 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x61, 0x63, 0x6b, 0x46, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, - 0x70, 0x61, 0x63, 0x6b, 0x46, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x03, 0x88, 0x02, 0x01, 0x12, 0x4e, 0x0a, 0x0a, 0x4d, - 0x69, 0x64, 0x78, 0x52, 0x65, 0x70, 0x61, 0x63, 0x6b, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, - 0x6c, 0x79, 0x2e, 0x4d, 0x69, 0x64, 0x78, 0x52, 0x65, 0x70, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4d, 0x69, - 0x64, 0x78, 0x52, 0x65, 0x70, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5a, 0x0a, 0x0e, 0x47, - 0x61, 0x72, 0x62, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x61, 0x72, 0x62, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x61, 0x72, 0x62, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, - 0x28, 0x02, 0x08, 0x03, 0x88, 0x02, 0x01, 0x12, 0x60, 0x0a, 0x10, 0x57, 0x72, 0x69, 0x74, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x1f, 0x2e, 0x67, 0x69, - 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, - 0xfa, 0x97, 0x28, 0x02, 0x08, 0x03, 0x88, 0x02, 0x01, 0x12, 0x57, 0x0a, 0x0e, 0x52, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x69, - 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, - 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, - 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, - 0x08, 0x02, 0x12, 0x51, 0x0a, 0x0c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x12, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, - 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x63, 0x0a, 0x12, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x69, - 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x67, 0x69, - 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x69, 0x74, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x69, 0x74, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x4e, 0x0a, 0x0b, 0x46, 0x65, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x21, 0x0a, + 0x1f, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x62, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, + 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, + 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x50, + 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x0f, 0x46, + 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, + 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x26, 0x0a, 0x10, 0x46, 0x75, 0x6c, 0x6c, + 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x22, 0x35, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x99, 0x22, 0x0a, + 0x11, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, + 0x02, 0x12, 0x63, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x63, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x52, 0x65, 0x70, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x52, 0x65, 0x70, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, + 0x02, 0x08, 0x03, 0x88, 0x02, 0x01, 0x12, 0x4e, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x61, 0x63, 0x6b, + 0x46, 0x75, 0x6c, 0x6c, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, + 0x70, 0x61, 0x63, 0x6b, 0x46, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x61, 0x63, 0x6b, 0x46, + 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, + 0x02, 0x08, 0x03, 0x88, 0x02, 0x01, 0x12, 0x4e, 0x0a, 0x0a, 0x4d, 0x69, 0x64, 0x78, 0x52, 0x65, + 0x70, 0x61, 0x63, 0x6b, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4d, 0x69, + 0x64, 0x78, 0x52, 0x65, 0x70, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4d, 0x69, 0x64, 0x78, 0x52, 0x65, 0x70, + 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, + 0x02, 0x08, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5a, 0x0a, 0x0e, 0x47, 0x61, 0x72, 0x62, 0x61, 0x67, + 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x47, 0x61, 0x72, 0x62, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x47, 0x61, 0x72, 0x62, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x03, 0x88, + 0x02, 0x01, 0x12, 0x60, 0x0a, 0x10, 0x57, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x47, 0x72, 0x61, 0x70, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, + 0x03, 0x88, 0x02, 0x01, 0x12, 0x57, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x57, 0x0a, + 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, + 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x51, 0x0a, 0x0c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x63, 0x0a, 0x12, 0x41, 0x70, 0x70, + 0x6c, 0x79, 0x47, 0x69, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, + 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x69, + 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x6c, + 0x79, 0x47, 0x69, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x4e, + 0x0a, 0x0b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x1a, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, - 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x5d, 0x0a, 0x10, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, - 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x5d, 0x0a, 0x10, 0x48, 0x61, 0x73, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x48, 0x61, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, - 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x48, 0x61, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, - 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x60, 0x0a, 0x11, 0x46, 0x65, 0x74, 0x63, 0x68, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x39, 0x0a, 0x04, 0x46, 0x73, 0x63, - 0x6b, 0x12, 0x13, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x73, 0x63, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, - 0x46, 0x73, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, - 0x28, 0x02, 0x08, 0x02, 0x12, 0x45, 0x0a, 0x08, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x66, - 0x12, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, - 0x65, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, - 0x6c, 0x79, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x54, 0x0a, 0x0d, 0x46, - 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x12, 0x1c, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, - 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, - 0x02, 0x12, 0x4b, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x12, - 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, - 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x72, - 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, - 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x55, - 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, - 0x08, 0x01, 0x12, 0x53, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, - 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x76, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x28, 0x01, 0x30, 0x01, 0x12, - 0x50, 0x0a, 0x0b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1a, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x5d, + 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x4d, 0x0a, + 0x0a, 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x19, 0x2e, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x5d, 0x0a, 0x10, + 0x48, 0x61, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, + 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x48, 0x61, 0x73, 0x4c, 0x6f, 0x63, + 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x48, 0x61, 0x73, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x60, 0x0a, 0x11, 0x46, + 0x65, 0x74, 0x63, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, + 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, + 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x39, 0x0a, + 0x04, 0x46, 0x73, 0x63, 0x6b, 0x12, 0x13, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, + 0x73, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x69, 0x74, + 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x73, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x45, 0x0a, 0x08, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x66, 0x12, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x52, 0x65, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x66, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, + 0x54, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, + 0x12, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, + 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x72, 0x67, + 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, + 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x4b, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, + 0x6f, 0x72, 0x6b, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, + 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, + 0x08, 0x01, 0x12, 0x72, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x12, 0x26, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, + 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, + 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x53, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x76, 0x0a, 0x17, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, + 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x72, 0x6f, 0x6d, + 0x52, 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x28, + 0x01, 0x30, 0x01, 0x12, 0x50, 0x0a, 0x0b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, + 0x68, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x28, - 0x01, 0x12, 0x7d, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, - 0x29, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, + 0x02, 0x08, 0x01, 0x28, 0x01, 0x12, 0x7d, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x28, 0x01, - 0x12, 0x4a, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x4e, 0x0a, 0x0b, - 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x2e, 0x67, 0x69, - 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x62, 0x0a, 0x11, - 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, + 0x64, 0x6c, 0x65, 0x12, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, + 0x6d, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, + 0x08, 0x01, 0x28, 0x01, 0x12, 0x4a, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, - 0x12, 0x60, 0x0a, 0x11, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x12, 0x4e, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, + 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, + 0x12, 0x62, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, + 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, - 0x75, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, - 0x08, 0x02, 0x12, 0x45, 0x0a, 0x07, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x12, 0x16, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, - 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, - 0xfa, 0x97, 0x28, 0x02, 0x08, 0x03, 0x88, 0x02, 0x01, 0x12, 0x50, 0x0a, 0x0b, 0x47, 0x65, 0x74, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, - 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x81, 0x01, 0x0a, 0x1c, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x2b, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x61, - 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, - 0x56, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x12, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, - 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x6b, 0x0a, 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, - 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, - 0x08, 0x02, 0x30, 0x01, 0x12, 0x62, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, - 0x6c, 0x65, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, - 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, - 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, - 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x68, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x21, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x88, 0x02, 0x01, - 0x28, 0x01, 0x12, 0x59, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, - 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, - 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x28, 0x01, 0x12, 0x65, 0x0a, - 0x11, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, - 0x6b, 0x73, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x88, - 0x02, 0x01, 0x30, 0x01, 0x12, 0x59, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, - 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, + 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, + 0x08, 0x02, 0x30, 0x01, 0x12, 0x60, 0x0a, 0x11, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, + 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x45, 0x0a, 0x07, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, + 0x70, 0x12, 0x16, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x03, 0x88, 0x02, 0x01, 0x12, 0x50, 0x0a, + 0x0b, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x1a, 0x2e, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, - 0x6f, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x61, - 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, - 0x12, 0x5d, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, - 0x5d, 0x0a, 0x10, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x66, - 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x81, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x12, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, + 0x02, 0x08, 0x01, 0x12, 0x56, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, + 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, + 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x6b, 0x0a, 0x14, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, + 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x62, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, + 0x65, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, + 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x68, 0x0a, 0x12, + 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, + 0x6b, 0x73, 0x12, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, + 0x01, 0x88, 0x02, 0x01, 0x28, 0x01, 0x12, 0x59, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x28, + 0x01, 0x12, 0x65, 0x0a, 0x11, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, + 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, + 0x02, 0x08, 0x02, 0x88, 0x02, 0x01, 0x30, 0x01, 0x12, 0x59, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, + 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, + 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, + 0x02, 0x30, 0x01, 0x12, 0x6f, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x25, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, + 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, + 0x28, 0x02, 0x08, 0x02, 0x12, 0x5d, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, + 0x02, 0x08, 0x01, 0x12, 0x5d, 0x0a, 0x10, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, + 0x08, 0x01, 0x12, 0x66, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, - 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x63, 0x0a, 0x12, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, - 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x21, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, - 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x03, 0x12, 0x72, 0x0a, 0x17, 0x50, - 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, - 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, - 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x63, 0x0a, 0x12, 0x4f, 0x70, + 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x12, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, + 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x70, 0x74, + 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x03, 0x12, - 0x51, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, + 0x72, 0x0a, 0x17, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, + 0x61, 0x6c, 0x79, 0x2e, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x50, 0x72, 0x75, 0x6e, + 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, + 0x02, 0x08, 0x03, 0x12, 0x51, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x46, + 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x50, - 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x88, - 0x02, 0x01, 0x12, 0x48, 0x0a, 0x08, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x17, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x88, 0x02, 0x01, 0x12, 0x46, 0x0a, 0x09, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, - 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x04, - 0x80, 0x98, 0x28, 0x01, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2d, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x69, - 0x74, 0x61, 0x6c, 0x79, 0x2f, 0x76, 0x31, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, - 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, + 0x02, 0x08, 0x01, 0x88, 0x02, 0x01, 0x12, 0x48, 0x0a, 0x08, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x75, 0x6c, 0x6c, + 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x88, 0x02, 0x01, + 0x12, 0x46, 0x0a, 0x09, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x18, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x04, 0x80, 0x98, 0x28, 0x01, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x6c, + 0x61, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2d, 0x6f, 0x72, + 0x67, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2f, 0x76, 0x31, 0x35, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -6255,7 +6568,7 @@ func file_repository_proto_rawDescGZIP() []byte { } var file_repository_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_repository_proto_msgTypes = make([]protoimpl.MessageInfo, 94) +var file_repository_proto_msgTypes = make([]protoimpl.MessageInfo, 98) var file_repository_proto_goTypes = []interface{}{ (WriteCommitGraphRequest_SplitStrategy)(0), // 0: gitaly.WriteCommitGraphRequest.SplitStrategy (GetArchiveRequest_Format)(0), // 1: gitaly.GetArchiveRequest.Format @@ -6277,241 +6590,250 @@ var file_repository_proto_goTypes = []interface{}{ (*CleanupResponse)(nil), // 17: gitaly.CleanupResponse (*RepositorySizeRequest)(nil), // 18: gitaly.RepositorySizeRequest (*RepositorySizeResponse)(nil), // 19: gitaly.RepositorySizeResponse - (*ObjectFormatRequest)(nil), // 20: gitaly.ObjectFormatRequest - (*ObjectFormatResponse)(nil), // 21: gitaly.ObjectFormatResponse - (*ApplyGitattributesRequest)(nil), // 22: gitaly.ApplyGitattributesRequest - (*ApplyGitattributesResponse)(nil), // 23: gitaly.ApplyGitattributesResponse - (*FetchBundleRequest)(nil), // 24: gitaly.FetchBundleRequest - (*FetchBundleResponse)(nil), // 25: gitaly.FetchBundleResponse - (*FetchRemoteRequest)(nil), // 26: gitaly.FetchRemoteRequest - (*FetchRemoteResponse)(nil), // 27: gitaly.FetchRemoteResponse - (*CreateRepositoryRequest)(nil), // 28: gitaly.CreateRepositoryRequest - (*CreateRepositoryResponse)(nil), // 29: gitaly.CreateRepositoryResponse - (*GetArchiveRequest)(nil), // 30: gitaly.GetArchiveRequest - (*GetArchiveResponse)(nil), // 31: gitaly.GetArchiveResponse - (*HasLocalBranchesRequest)(nil), // 32: gitaly.HasLocalBranchesRequest - (*HasLocalBranchesResponse)(nil), // 33: gitaly.HasLocalBranchesResponse - (*FetchSourceBranchRequest)(nil), // 34: gitaly.FetchSourceBranchRequest - (*FetchSourceBranchResponse)(nil), // 35: gitaly.FetchSourceBranchResponse - (*FsckRequest)(nil), // 36: gitaly.FsckRequest - (*FsckResponse)(nil), // 37: gitaly.FsckResponse - (*WriteRefRequest)(nil), // 38: gitaly.WriteRefRequest - (*WriteRefResponse)(nil), // 39: gitaly.WriteRefResponse - (*FindMergeBaseRequest)(nil), // 40: gitaly.FindMergeBaseRequest - (*FindMergeBaseResponse)(nil), // 41: gitaly.FindMergeBaseResponse - (*CreateForkRequest)(nil), // 42: gitaly.CreateForkRequest - (*CreateForkResponse)(nil), // 43: gitaly.CreateForkResponse - (*CreateRepositoryFromURLRequest)(nil), // 44: gitaly.CreateRepositoryFromURLRequest - (*CreateRepositoryFromURLResponse)(nil), // 45: gitaly.CreateRepositoryFromURLResponse - (*CreateBundleRequest)(nil), // 46: gitaly.CreateBundleRequest - (*CreateBundleResponse)(nil), // 47: gitaly.CreateBundleResponse - (*CreateBundleFromRefListRequest)(nil), // 48: gitaly.CreateBundleFromRefListRequest - (*CreateBundleFromRefListResponse)(nil), // 49: gitaly.CreateBundleFromRefListResponse - (*GetConfigRequest)(nil), // 50: gitaly.GetConfigRequest - (*GetConfigResponse)(nil), // 51: gitaly.GetConfigResponse - (*RestoreCustomHooksRequest)(nil), // 52: gitaly.RestoreCustomHooksRequest - (*SetCustomHooksRequest)(nil), // 53: gitaly.SetCustomHooksRequest - (*RestoreCustomHooksResponse)(nil), // 54: gitaly.RestoreCustomHooksResponse - (*SetCustomHooksResponse)(nil), // 55: gitaly.SetCustomHooksResponse - (*BackupCustomHooksRequest)(nil), // 56: gitaly.BackupCustomHooksRequest - (*GetCustomHooksRequest)(nil), // 57: gitaly.GetCustomHooksRequest - (*BackupCustomHooksResponse)(nil), // 58: gitaly.BackupCustomHooksResponse - (*GetCustomHooksResponse)(nil), // 59: gitaly.GetCustomHooksResponse - (*CreateRepositoryFromBundleRequest)(nil), // 60: gitaly.CreateRepositoryFromBundleRequest - (*CreateRepositoryFromBundleResponse)(nil), // 61: gitaly.CreateRepositoryFromBundleResponse - (*FindLicenseRequest)(nil), // 62: gitaly.FindLicenseRequest - (*FindLicenseResponse)(nil), // 63: gitaly.FindLicenseResponse - (*GetInfoAttributesRequest)(nil), // 64: gitaly.GetInfoAttributesRequest - (*GetInfoAttributesResponse)(nil), // 65: gitaly.GetInfoAttributesResponse - (*CalculateChecksumRequest)(nil), // 66: gitaly.CalculateChecksumRequest - (*CalculateChecksumResponse)(nil), // 67: gitaly.CalculateChecksumResponse - (*GetSnapshotRequest)(nil), // 68: gitaly.GetSnapshotRequest - (*GetSnapshotResponse)(nil), // 69: gitaly.GetSnapshotResponse - (*CreateRepositoryFromSnapshotRequest)(nil), // 70: gitaly.CreateRepositoryFromSnapshotRequest - (*CreateRepositoryFromSnapshotResponse)(nil), // 71: gitaly.CreateRepositoryFromSnapshotResponse - (*GetRawChangesRequest)(nil), // 72: gitaly.GetRawChangesRequest - (*GetRawChangesResponse)(nil), // 73: gitaly.GetRawChangesResponse - (*SearchFilesByNameRequest)(nil), // 74: gitaly.SearchFilesByNameRequest - (*SearchFilesByNameResponse)(nil), // 75: gitaly.SearchFilesByNameResponse - (*SearchFilesByContentRequest)(nil), // 76: gitaly.SearchFilesByContentRequest - (*SearchFilesByContentResponse)(nil), // 77: gitaly.SearchFilesByContentResponse - (*Remote)(nil), // 78: gitaly.Remote - (*GetObjectDirectorySizeRequest)(nil), // 79: gitaly.GetObjectDirectorySizeRequest - (*GetObjectDirectorySizeResponse)(nil), // 80: gitaly.GetObjectDirectorySizeResponse - (*RemoveRepositoryRequest)(nil), // 81: gitaly.RemoveRepositoryRequest - (*RemoveRepositoryResponse)(nil), // 82: gitaly.RemoveRepositoryResponse - (*RenameRepositoryRequest)(nil), // 83: gitaly.RenameRepositoryRequest - (*RenameRepositoryResponse)(nil), // 84: gitaly.RenameRepositoryResponse - (*ReplicateRepositoryRequest)(nil), // 85: gitaly.ReplicateRepositoryRequest - (*ReplicateRepositoryResponse)(nil), // 86: gitaly.ReplicateRepositoryResponse - (*OptimizeRepositoryRequest)(nil), // 87: gitaly.OptimizeRepositoryRequest - (*OptimizeRepositoryResponse)(nil), // 88: gitaly.OptimizeRepositoryResponse - (*PruneUnreachableObjectsRequest)(nil), // 89: gitaly.PruneUnreachableObjectsRequest - (*PruneUnreachableObjectsResponse)(nil), // 90: gitaly.PruneUnreachableObjectsResponse - (*SetFullPathRequest)(nil), // 91: gitaly.SetFullPathRequest - (*SetFullPathResponse)(nil), // 92: gitaly.SetFullPathResponse - (*FullPathRequest)(nil), // 93: gitaly.FullPathRequest - (*FullPathResponse)(nil), // 94: gitaly.FullPathResponse - (*RemoveAllRequest)(nil), // 95: gitaly.RemoveAllRequest - (*RemoveAllResponse)(nil), // 96: gitaly.RemoveAllResponse - (*GetRawChangesResponse_RawChange)(nil), // 97: gitaly.GetRawChangesResponse.RawChange - (*Repository)(nil), // 98: gitaly.Repository - (ObjectFormat)(0), // 99: gitaly.ObjectFormat + (*RepositoryInfoRequest)(nil), // 20: gitaly.RepositoryInfoRequest + (*RepositoryInfoResponse)(nil), // 21: gitaly.RepositoryInfoResponse + (*ObjectFormatRequest)(nil), // 22: gitaly.ObjectFormatRequest + (*ObjectFormatResponse)(nil), // 23: gitaly.ObjectFormatResponse + (*ApplyGitattributesRequest)(nil), // 24: gitaly.ApplyGitattributesRequest + (*ApplyGitattributesResponse)(nil), // 25: gitaly.ApplyGitattributesResponse + (*FetchBundleRequest)(nil), // 26: gitaly.FetchBundleRequest + (*FetchBundleResponse)(nil), // 27: gitaly.FetchBundleResponse + (*FetchRemoteRequest)(nil), // 28: gitaly.FetchRemoteRequest + (*FetchRemoteResponse)(nil), // 29: gitaly.FetchRemoteResponse + (*CreateRepositoryRequest)(nil), // 30: gitaly.CreateRepositoryRequest + (*CreateRepositoryResponse)(nil), // 31: gitaly.CreateRepositoryResponse + (*GetArchiveRequest)(nil), // 32: gitaly.GetArchiveRequest + (*GetArchiveResponse)(nil), // 33: gitaly.GetArchiveResponse + (*HasLocalBranchesRequest)(nil), // 34: gitaly.HasLocalBranchesRequest + (*HasLocalBranchesResponse)(nil), // 35: gitaly.HasLocalBranchesResponse + (*FetchSourceBranchRequest)(nil), // 36: gitaly.FetchSourceBranchRequest + (*FetchSourceBranchResponse)(nil), // 37: gitaly.FetchSourceBranchResponse + (*FsckRequest)(nil), // 38: gitaly.FsckRequest + (*FsckResponse)(nil), // 39: gitaly.FsckResponse + (*WriteRefRequest)(nil), // 40: gitaly.WriteRefRequest + (*WriteRefResponse)(nil), // 41: gitaly.WriteRefResponse + (*FindMergeBaseRequest)(nil), // 42: gitaly.FindMergeBaseRequest + (*FindMergeBaseResponse)(nil), // 43: gitaly.FindMergeBaseResponse + (*CreateForkRequest)(nil), // 44: gitaly.CreateForkRequest + (*CreateForkResponse)(nil), // 45: gitaly.CreateForkResponse + (*CreateRepositoryFromURLRequest)(nil), // 46: gitaly.CreateRepositoryFromURLRequest + (*CreateRepositoryFromURLResponse)(nil), // 47: gitaly.CreateRepositoryFromURLResponse + (*CreateBundleRequest)(nil), // 48: gitaly.CreateBundleRequest + (*CreateBundleResponse)(nil), // 49: gitaly.CreateBundleResponse + (*CreateBundleFromRefListRequest)(nil), // 50: gitaly.CreateBundleFromRefListRequest + (*CreateBundleFromRefListResponse)(nil), // 51: gitaly.CreateBundleFromRefListResponse + (*GetConfigRequest)(nil), // 52: gitaly.GetConfigRequest + (*GetConfigResponse)(nil), // 53: gitaly.GetConfigResponse + (*RestoreCustomHooksRequest)(nil), // 54: gitaly.RestoreCustomHooksRequest + (*SetCustomHooksRequest)(nil), // 55: gitaly.SetCustomHooksRequest + (*RestoreCustomHooksResponse)(nil), // 56: gitaly.RestoreCustomHooksResponse + (*SetCustomHooksResponse)(nil), // 57: gitaly.SetCustomHooksResponse + (*BackupCustomHooksRequest)(nil), // 58: gitaly.BackupCustomHooksRequest + (*GetCustomHooksRequest)(nil), // 59: gitaly.GetCustomHooksRequest + (*BackupCustomHooksResponse)(nil), // 60: gitaly.BackupCustomHooksResponse + (*GetCustomHooksResponse)(nil), // 61: gitaly.GetCustomHooksResponse + (*CreateRepositoryFromBundleRequest)(nil), // 62: gitaly.CreateRepositoryFromBundleRequest + (*CreateRepositoryFromBundleResponse)(nil), // 63: gitaly.CreateRepositoryFromBundleResponse + (*FindLicenseRequest)(nil), // 64: gitaly.FindLicenseRequest + (*FindLicenseResponse)(nil), // 65: gitaly.FindLicenseResponse + (*GetInfoAttributesRequest)(nil), // 66: gitaly.GetInfoAttributesRequest + (*GetInfoAttributesResponse)(nil), // 67: gitaly.GetInfoAttributesResponse + (*CalculateChecksumRequest)(nil), // 68: gitaly.CalculateChecksumRequest + (*CalculateChecksumResponse)(nil), // 69: gitaly.CalculateChecksumResponse + (*GetSnapshotRequest)(nil), // 70: gitaly.GetSnapshotRequest + (*GetSnapshotResponse)(nil), // 71: gitaly.GetSnapshotResponse + (*CreateRepositoryFromSnapshotRequest)(nil), // 72: gitaly.CreateRepositoryFromSnapshotRequest + (*CreateRepositoryFromSnapshotResponse)(nil), // 73: gitaly.CreateRepositoryFromSnapshotResponse + (*GetRawChangesRequest)(nil), // 74: gitaly.GetRawChangesRequest + (*GetRawChangesResponse)(nil), // 75: gitaly.GetRawChangesResponse + (*SearchFilesByNameRequest)(nil), // 76: gitaly.SearchFilesByNameRequest + (*SearchFilesByNameResponse)(nil), // 77: gitaly.SearchFilesByNameResponse + (*SearchFilesByContentRequest)(nil), // 78: gitaly.SearchFilesByContentRequest + (*SearchFilesByContentResponse)(nil), // 79: gitaly.SearchFilesByContentResponse + (*Remote)(nil), // 80: gitaly.Remote + (*GetObjectDirectorySizeRequest)(nil), // 81: gitaly.GetObjectDirectorySizeRequest + (*GetObjectDirectorySizeResponse)(nil), // 82: gitaly.GetObjectDirectorySizeResponse + (*RemoveRepositoryRequest)(nil), // 83: gitaly.RemoveRepositoryRequest + (*RemoveRepositoryResponse)(nil), // 84: gitaly.RemoveRepositoryResponse + (*RenameRepositoryRequest)(nil), // 85: gitaly.RenameRepositoryRequest + (*RenameRepositoryResponse)(nil), // 86: gitaly.RenameRepositoryResponse + (*ReplicateRepositoryRequest)(nil), // 87: gitaly.ReplicateRepositoryRequest + (*ReplicateRepositoryResponse)(nil), // 88: gitaly.ReplicateRepositoryResponse + (*OptimizeRepositoryRequest)(nil), // 89: gitaly.OptimizeRepositoryRequest + (*OptimizeRepositoryResponse)(nil), // 90: gitaly.OptimizeRepositoryResponse + (*PruneUnreachableObjectsRequest)(nil), // 91: gitaly.PruneUnreachableObjectsRequest + (*PruneUnreachableObjectsResponse)(nil), // 92: gitaly.PruneUnreachableObjectsResponse + (*SetFullPathRequest)(nil), // 93: gitaly.SetFullPathRequest + (*SetFullPathResponse)(nil), // 94: gitaly.SetFullPathResponse + (*FullPathRequest)(nil), // 95: gitaly.FullPathRequest + (*FullPathResponse)(nil), // 96: gitaly.FullPathResponse + (*RemoveAllRequest)(nil), // 97: gitaly.RemoveAllRequest + (*RemoveAllResponse)(nil), // 98: gitaly.RemoveAllResponse + (*RepositoryInfoResponse_ReferencesInfo)(nil), // 99: gitaly.RepositoryInfoResponse.ReferencesInfo + (*RepositoryInfoResponse_ObjectsInfo)(nil), // 100: gitaly.RepositoryInfoResponse.ObjectsInfo + (*GetRawChangesResponse_RawChange)(nil), // 101: gitaly.GetRawChangesResponse.RawChange + (*Repository)(nil), // 102: gitaly.Repository + (ObjectFormat)(0), // 103: gitaly.ObjectFormat } var file_repository_proto_depIdxs = []int32{ - 98, // 0: gitaly.RepositoryExistsRequest.repository:type_name -> gitaly.Repository - 98, // 1: gitaly.RepackIncrementalRequest.repository:type_name -> gitaly.Repository - 98, // 2: gitaly.RepackFullRequest.repository:type_name -> gitaly.Repository - 98, // 3: gitaly.MidxRepackRequest.repository:type_name -> gitaly.Repository - 98, // 4: gitaly.GarbageCollectRequest.repository:type_name -> gitaly.Repository - 98, // 5: gitaly.WriteCommitGraphRequest.repository:type_name -> gitaly.Repository + 102, // 0: gitaly.RepositoryExistsRequest.repository:type_name -> gitaly.Repository + 102, // 1: gitaly.RepackIncrementalRequest.repository:type_name -> gitaly.Repository + 102, // 2: gitaly.RepackFullRequest.repository:type_name -> gitaly.Repository + 102, // 3: gitaly.MidxRepackRequest.repository:type_name -> gitaly.Repository + 102, // 4: gitaly.GarbageCollectRequest.repository:type_name -> gitaly.Repository + 102, // 5: gitaly.WriteCommitGraphRequest.repository:type_name -> gitaly.Repository 0, // 6: gitaly.WriteCommitGraphRequest.splitStrategy:type_name -> gitaly.WriteCommitGraphRequest.SplitStrategy - 98, // 7: gitaly.CleanupRequest.repository:type_name -> gitaly.Repository - 98, // 8: gitaly.RepositorySizeRequest.repository:type_name -> gitaly.Repository - 98, // 9: gitaly.ObjectFormatRequest.repository:type_name -> gitaly.Repository - 99, // 10: gitaly.ObjectFormatResponse.format:type_name -> gitaly.ObjectFormat - 98, // 11: gitaly.ApplyGitattributesRequest.repository:type_name -> gitaly.Repository - 98, // 12: gitaly.FetchBundleRequest.repository:type_name -> gitaly.Repository - 98, // 13: gitaly.FetchRemoteRequest.repository:type_name -> gitaly.Repository - 78, // 14: gitaly.FetchRemoteRequest.remote_params:type_name -> gitaly.Remote - 98, // 15: gitaly.CreateRepositoryRequest.repository:type_name -> gitaly.Repository - 99, // 16: gitaly.CreateRepositoryRequest.object_format:type_name -> gitaly.ObjectFormat - 98, // 17: gitaly.GetArchiveRequest.repository:type_name -> gitaly.Repository - 1, // 18: gitaly.GetArchiveRequest.format:type_name -> gitaly.GetArchiveRequest.Format - 98, // 19: gitaly.HasLocalBranchesRequest.repository:type_name -> gitaly.Repository - 98, // 20: gitaly.FetchSourceBranchRequest.repository:type_name -> gitaly.Repository - 98, // 21: gitaly.FetchSourceBranchRequest.source_repository:type_name -> gitaly.Repository - 98, // 22: gitaly.FsckRequest.repository:type_name -> gitaly.Repository - 98, // 23: gitaly.WriteRefRequest.repository:type_name -> gitaly.Repository - 98, // 24: gitaly.FindMergeBaseRequest.repository:type_name -> gitaly.Repository - 98, // 25: gitaly.CreateForkRequest.repository:type_name -> gitaly.Repository - 98, // 26: gitaly.CreateForkRequest.source_repository:type_name -> gitaly.Repository - 98, // 27: gitaly.CreateRepositoryFromURLRequest.repository:type_name -> gitaly.Repository - 98, // 28: gitaly.CreateBundleRequest.repository:type_name -> gitaly.Repository - 98, // 29: gitaly.CreateBundleFromRefListRequest.repository:type_name -> gitaly.Repository - 98, // 30: gitaly.GetConfigRequest.repository:type_name -> gitaly.Repository - 98, // 31: gitaly.RestoreCustomHooksRequest.repository:type_name -> gitaly.Repository - 98, // 32: gitaly.SetCustomHooksRequest.repository:type_name -> gitaly.Repository - 98, // 33: gitaly.BackupCustomHooksRequest.repository:type_name -> gitaly.Repository - 98, // 34: gitaly.GetCustomHooksRequest.repository:type_name -> gitaly.Repository - 98, // 35: gitaly.CreateRepositoryFromBundleRequest.repository:type_name -> gitaly.Repository - 98, // 36: gitaly.FindLicenseRequest.repository:type_name -> gitaly.Repository - 98, // 37: gitaly.GetInfoAttributesRequest.repository:type_name -> gitaly.Repository - 98, // 38: gitaly.CalculateChecksumRequest.repository:type_name -> gitaly.Repository - 98, // 39: gitaly.GetSnapshotRequest.repository:type_name -> gitaly.Repository - 98, // 40: gitaly.CreateRepositoryFromSnapshotRequest.repository:type_name -> gitaly.Repository - 98, // 41: gitaly.GetRawChangesRequest.repository:type_name -> gitaly.Repository - 97, // 42: gitaly.GetRawChangesResponse.raw_changes:type_name -> gitaly.GetRawChangesResponse.RawChange - 98, // 43: gitaly.SearchFilesByNameRequest.repository:type_name -> gitaly.Repository - 98, // 44: gitaly.SearchFilesByContentRequest.repository:type_name -> gitaly.Repository - 98, // 45: gitaly.GetObjectDirectorySizeRequest.repository:type_name -> gitaly.Repository - 98, // 46: gitaly.RemoveRepositoryRequest.repository:type_name -> gitaly.Repository - 98, // 47: gitaly.RenameRepositoryRequest.repository:type_name -> gitaly.Repository - 98, // 48: gitaly.ReplicateRepositoryRequest.repository:type_name -> gitaly.Repository - 98, // 49: gitaly.ReplicateRepositoryRequest.source:type_name -> gitaly.Repository - 98, // 50: gitaly.OptimizeRepositoryRequest.repository:type_name -> gitaly.Repository - 3, // 51: gitaly.OptimizeRepositoryRequest.strategy:type_name -> gitaly.OptimizeRepositoryRequest.Strategy - 98, // 52: gitaly.PruneUnreachableObjectsRequest.repository:type_name -> gitaly.Repository - 98, // 53: gitaly.SetFullPathRequest.repository:type_name -> gitaly.Repository - 98, // 54: gitaly.FullPathRequest.repository:type_name -> gitaly.Repository - 2, // 55: gitaly.GetRawChangesResponse.RawChange.operation:type_name -> gitaly.GetRawChangesResponse.RawChange.Operation - 4, // 56: gitaly.RepositoryService.RepositoryExists:input_type -> gitaly.RepositoryExistsRequest - 6, // 57: gitaly.RepositoryService.RepackIncremental:input_type -> gitaly.RepackIncrementalRequest - 8, // 58: gitaly.RepositoryService.RepackFull:input_type -> gitaly.RepackFullRequest - 10, // 59: gitaly.RepositoryService.MidxRepack:input_type -> gitaly.MidxRepackRequest - 12, // 60: gitaly.RepositoryService.GarbageCollect:input_type -> gitaly.GarbageCollectRequest - 14, // 61: gitaly.RepositoryService.WriteCommitGraph:input_type -> gitaly.WriteCommitGraphRequest - 18, // 62: gitaly.RepositoryService.RepositorySize:input_type -> gitaly.RepositorySizeRequest - 20, // 63: gitaly.RepositoryService.ObjectFormat:input_type -> gitaly.ObjectFormatRequest - 22, // 64: gitaly.RepositoryService.ApplyGitattributes:input_type -> gitaly.ApplyGitattributesRequest - 26, // 65: gitaly.RepositoryService.FetchRemote:input_type -> gitaly.FetchRemoteRequest - 28, // 66: gitaly.RepositoryService.CreateRepository:input_type -> gitaly.CreateRepositoryRequest - 30, // 67: gitaly.RepositoryService.GetArchive:input_type -> gitaly.GetArchiveRequest - 32, // 68: gitaly.RepositoryService.HasLocalBranches:input_type -> gitaly.HasLocalBranchesRequest - 34, // 69: gitaly.RepositoryService.FetchSourceBranch:input_type -> gitaly.FetchSourceBranchRequest - 36, // 70: gitaly.RepositoryService.Fsck:input_type -> gitaly.FsckRequest - 38, // 71: gitaly.RepositoryService.WriteRef:input_type -> gitaly.WriteRefRequest - 40, // 72: gitaly.RepositoryService.FindMergeBase:input_type -> gitaly.FindMergeBaseRequest - 42, // 73: gitaly.RepositoryService.CreateFork:input_type -> gitaly.CreateForkRequest - 44, // 74: gitaly.RepositoryService.CreateRepositoryFromURL:input_type -> gitaly.CreateRepositoryFromURLRequest - 46, // 75: gitaly.RepositoryService.CreateBundle:input_type -> gitaly.CreateBundleRequest - 48, // 76: gitaly.RepositoryService.CreateBundleFromRefList:input_type -> gitaly.CreateBundleFromRefListRequest - 24, // 77: gitaly.RepositoryService.FetchBundle:input_type -> gitaly.FetchBundleRequest - 60, // 78: gitaly.RepositoryService.CreateRepositoryFromBundle:input_type -> gitaly.CreateRepositoryFromBundleRequest - 50, // 79: gitaly.RepositoryService.GetConfig:input_type -> gitaly.GetConfigRequest - 62, // 80: gitaly.RepositoryService.FindLicense:input_type -> gitaly.FindLicenseRequest - 64, // 81: gitaly.RepositoryService.GetInfoAttributes:input_type -> gitaly.GetInfoAttributesRequest - 66, // 82: gitaly.RepositoryService.CalculateChecksum:input_type -> gitaly.CalculateChecksumRequest - 16, // 83: gitaly.RepositoryService.Cleanup:input_type -> gitaly.CleanupRequest - 68, // 84: gitaly.RepositoryService.GetSnapshot:input_type -> gitaly.GetSnapshotRequest - 70, // 85: gitaly.RepositoryService.CreateRepositoryFromSnapshot:input_type -> gitaly.CreateRepositoryFromSnapshotRequest - 72, // 86: gitaly.RepositoryService.GetRawChanges:input_type -> gitaly.GetRawChangesRequest - 76, // 87: gitaly.RepositoryService.SearchFilesByContent:input_type -> gitaly.SearchFilesByContentRequest - 74, // 88: gitaly.RepositoryService.SearchFilesByName:input_type -> gitaly.SearchFilesByNameRequest - 52, // 89: gitaly.RepositoryService.RestoreCustomHooks:input_type -> gitaly.RestoreCustomHooksRequest - 53, // 90: gitaly.RepositoryService.SetCustomHooks:input_type -> gitaly.SetCustomHooksRequest - 56, // 91: gitaly.RepositoryService.BackupCustomHooks:input_type -> gitaly.BackupCustomHooksRequest - 57, // 92: gitaly.RepositoryService.GetCustomHooks:input_type -> gitaly.GetCustomHooksRequest - 79, // 93: gitaly.RepositoryService.GetObjectDirectorySize:input_type -> gitaly.GetObjectDirectorySizeRequest - 81, // 94: gitaly.RepositoryService.RemoveRepository:input_type -> gitaly.RemoveRepositoryRequest - 83, // 95: gitaly.RepositoryService.RenameRepository:input_type -> gitaly.RenameRepositoryRequest - 85, // 96: gitaly.RepositoryService.ReplicateRepository:input_type -> gitaly.ReplicateRepositoryRequest - 87, // 97: gitaly.RepositoryService.OptimizeRepository:input_type -> gitaly.OptimizeRepositoryRequest - 89, // 98: gitaly.RepositoryService.PruneUnreachableObjects:input_type -> gitaly.PruneUnreachableObjectsRequest - 91, // 99: gitaly.RepositoryService.SetFullPath:input_type -> gitaly.SetFullPathRequest - 93, // 100: gitaly.RepositoryService.FullPath:input_type -> gitaly.FullPathRequest - 95, // 101: gitaly.RepositoryService.RemoveAll:input_type -> gitaly.RemoveAllRequest - 5, // 102: gitaly.RepositoryService.RepositoryExists:output_type -> gitaly.RepositoryExistsResponse - 7, // 103: gitaly.RepositoryService.RepackIncremental:output_type -> gitaly.RepackIncrementalResponse - 9, // 104: gitaly.RepositoryService.RepackFull:output_type -> gitaly.RepackFullResponse - 11, // 105: gitaly.RepositoryService.MidxRepack:output_type -> gitaly.MidxRepackResponse - 13, // 106: gitaly.RepositoryService.GarbageCollect:output_type -> gitaly.GarbageCollectResponse - 15, // 107: gitaly.RepositoryService.WriteCommitGraph:output_type -> gitaly.WriteCommitGraphResponse - 19, // 108: gitaly.RepositoryService.RepositorySize:output_type -> gitaly.RepositorySizeResponse - 21, // 109: gitaly.RepositoryService.ObjectFormat:output_type -> gitaly.ObjectFormatResponse - 23, // 110: gitaly.RepositoryService.ApplyGitattributes:output_type -> gitaly.ApplyGitattributesResponse - 27, // 111: gitaly.RepositoryService.FetchRemote:output_type -> gitaly.FetchRemoteResponse - 29, // 112: gitaly.RepositoryService.CreateRepository:output_type -> gitaly.CreateRepositoryResponse - 31, // 113: gitaly.RepositoryService.GetArchive:output_type -> gitaly.GetArchiveResponse - 33, // 114: gitaly.RepositoryService.HasLocalBranches:output_type -> gitaly.HasLocalBranchesResponse - 35, // 115: gitaly.RepositoryService.FetchSourceBranch:output_type -> gitaly.FetchSourceBranchResponse - 37, // 116: gitaly.RepositoryService.Fsck:output_type -> gitaly.FsckResponse - 39, // 117: gitaly.RepositoryService.WriteRef:output_type -> gitaly.WriteRefResponse - 41, // 118: gitaly.RepositoryService.FindMergeBase:output_type -> gitaly.FindMergeBaseResponse - 43, // 119: gitaly.RepositoryService.CreateFork:output_type -> gitaly.CreateForkResponse - 45, // 120: gitaly.RepositoryService.CreateRepositoryFromURL:output_type -> gitaly.CreateRepositoryFromURLResponse - 47, // 121: gitaly.RepositoryService.CreateBundle:output_type -> gitaly.CreateBundleResponse - 49, // 122: gitaly.RepositoryService.CreateBundleFromRefList:output_type -> gitaly.CreateBundleFromRefListResponse - 25, // 123: gitaly.RepositoryService.FetchBundle:output_type -> gitaly.FetchBundleResponse - 61, // 124: gitaly.RepositoryService.CreateRepositoryFromBundle:output_type -> gitaly.CreateRepositoryFromBundleResponse - 51, // 125: gitaly.RepositoryService.GetConfig:output_type -> gitaly.GetConfigResponse - 63, // 126: gitaly.RepositoryService.FindLicense:output_type -> gitaly.FindLicenseResponse - 65, // 127: gitaly.RepositoryService.GetInfoAttributes:output_type -> gitaly.GetInfoAttributesResponse - 67, // 128: gitaly.RepositoryService.CalculateChecksum:output_type -> gitaly.CalculateChecksumResponse - 17, // 129: gitaly.RepositoryService.Cleanup:output_type -> gitaly.CleanupResponse - 69, // 130: gitaly.RepositoryService.GetSnapshot:output_type -> gitaly.GetSnapshotResponse - 71, // 131: gitaly.RepositoryService.CreateRepositoryFromSnapshot:output_type -> gitaly.CreateRepositoryFromSnapshotResponse - 73, // 132: gitaly.RepositoryService.GetRawChanges:output_type -> gitaly.GetRawChangesResponse - 77, // 133: gitaly.RepositoryService.SearchFilesByContent:output_type -> gitaly.SearchFilesByContentResponse - 75, // 134: gitaly.RepositoryService.SearchFilesByName:output_type -> gitaly.SearchFilesByNameResponse - 54, // 135: gitaly.RepositoryService.RestoreCustomHooks:output_type -> gitaly.RestoreCustomHooksResponse - 55, // 136: gitaly.RepositoryService.SetCustomHooks:output_type -> gitaly.SetCustomHooksResponse - 58, // 137: gitaly.RepositoryService.BackupCustomHooks:output_type -> gitaly.BackupCustomHooksResponse - 59, // 138: gitaly.RepositoryService.GetCustomHooks:output_type -> gitaly.GetCustomHooksResponse - 80, // 139: gitaly.RepositoryService.GetObjectDirectorySize:output_type -> gitaly.GetObjectDirectorySizeResponse - 82, // 140: gitaly.RepositoryService.RemoveRepository:output_type -> gitaly.RemoveRepositoryResponse - 84, // 141: gitaly.RepositoryService.RenameRepository:output_type -> gitaly.RenameRepositoryResponse - 86, // 142: gitaly.RepositoryService.ReplicateRepository:output_type -> gitaly.ReplicateRepositoryResponse - 88, // 143: gitaly.RepositoryService.OptimizeRepository:output_type -> gitaly.OptimizeRepositoryResponse - 90, // 144: gitaly.RepositoryService.PruneUnreachableObjects:output_type -> gitaly.PruneUnreachableObjectsResponse - 92, // 145: gitaly.RepositoryService.SetFullPath:output_type -> gitaly.SetFullPathResponse - 94, // 146: gitaly.RepositoryService.FullPath:output_type -> gitaly.FullPathResponse - 96, // 147: gitaly.RepositoryService.RemoveAll:output_type -> gitaly.RemoveAllResponse - 102, // [102:148] is the sub-list for method output_type - 56, // [56:102] is the sub-list for method input_type - 56, // [56:56] is the sub-list for extension type_name - 56, // [56:56] is the sub-list for extension extendee - 0, // [0:56] is the sub-list for field type_name + 102, // 7: gitaly.CleanupRequest.repository:type_name -> gitaly.Repository + 102, // 8: gitaly.RepositorySizeRequest.repository:type_name -> gitaly.Repository + 102, // 9: gitaly.RepositoryInfoRequest.repository:type_name -> gitaly.Repository + 99, // 10: gitaly.RepositoryInfoResponse.references:type_name -> gitaly.RepositoryInfoResponse.ReferencesInfo + 100, // 11: gitaly.RepositoryInfoResponse.objects:type_name -> gitaly.RepositoryInfoResponse.ObjectsInfo + 102, // 12: gitaly.ObjectFormatRequest.repository:type_name -> gitaly.Repository + 103, // 13: gitaly.ObjectFormatResponse.format:type_name -> gitaly.ObjectFormat + 102, // 14: gitaly.ApplyGitattributesRequest.repository:type_name -> gitaly.Repository + 102, // 15: gitaly.FetchBundleRequest.repository:type_name -> gitaly.Repository + 102, // 16: gitaly.FetchRemoteRequest.repository:type_name -> gitaly.Repository + 80, // 17: gitaly.FetchRemoteRequest.remote_params:type_name -> gitaly.Remote + 102, // 18: gitaly.CreateRepositoryRequest.repository:type_name -> gitaly.Repository + 103, // 19: gitaly.CreateRepositoryRequest.object_format:type_name -> gitaly.ObjectFormat + 102, // 20: gitaly.GetArchiveRequest.repository:type_name -> gitaly.Repository + 1, // 21: gitaly.GetArchiveRequest.format:type_name -> gitaly.GetArchiveRequest.Format + 102, // 22: gitaly.HasLocalBranchesRequest.repository:type_name -> gitaly.Repository + 102, // 23: gitaly.FetchSourceBranchRequest.repository:type_name -> gitaly.Repository + 102, // 24: gitaly.FetchSourceBranchRequest.source_repository:type_name -> gitaly.Repository + 102, // 25: gitaly.FsckRequest.repository:type_name -> gitaly.Repository + 102, // 26: gitaly.WriteRefRequest.repository:type_name -> gitaly.Repository + 102, // 27: gitaly.FindMergeBaseRequest.repository:type_name -> gitaly.Repository + 102, // 28: gitaly.CreateForkRequest.repository:type_name -> gitaly.Repository + 102, // 29: gitaly.CreateForkRequest.source_repository:type_name -> gitaly.Repository + 102, // 30: gitaly.CreateRepositoryFromURLRequest.repository:type_name -> gitaly.Repository + 102, // 31: gitaly.CreateBundleRequest.repository:type_name -> gitaly.Repository + 102, // 32: gitaly.CreateBundleFromRefListRequest.repository:type_name -> gitaly.Repository + 102, // 33: gitaly.GetConfigRequest.repository:type_name -> gitaly.Repository + 102, // 34: gitaly.RestoreCustomHooksRequest.repository:type_name -> gitaly.Repository + 102, // 35: gitaly.SetCustomHooksRequest.repository:type_name -> gitaly.Repository + 102, // 36: gitaly.BackupCustomHooksRequest.repository:type_name -> gitaly.Repository + 102, // 37: gitaly.GetCustomHooksRequest.repository:type_name -> gitaly.Repository + 102, // 38: gitaly.CreateRepositoryFromBundleRequest.repository:type_name -> gitaly.Repository + 102, // 39: gitaly.FindLicenseRequest.repository:type_name -> gitaly.Repository + 102, // 40: gitaly.GetInfoAttributesRequest.repository:type_name -> gitaly.Repository + 102, // 41: gitaly.CalculateChecksumRequest.repository:type_name -> gitaly.Repository + 102, // 42: gitaly.GetSnapshotRequest.repository:type_name -> gitaly.Repository + 102, // 43: gitaly.CreateRepositoryFromSnapshotRequest.repository:type_name -> gitaly.Repository + 102, // 44: gitaly.GetRawChangesRequest.repository:type_name -> gitaly.Repository + 101, // 45: gitaly.GetRawChangesResponse.raw_changes:type_name -> gitaly.GetRawChangesResponse.RawChange + 102, // 46: gitaly.SearchFilesByNameRequest.repository:type_name -> gitaly.Repository + 102, // 47: gitaly.SearchFilesByContentRequest.repository:type_name -> gitaly.Repository + 102, // 48: gitaly.GetObjectDirectorySizeRequest.repository:type_name -> gitaly.Repository + 102, // 49: gitaly.RemoveRepositoryRequest.repository:type_name -> gitaly.Repository + 102, // 50: gitaly.RenameRepositoryRequest.repository:type_name -> gitaly.Repository + 102, // 51: gitaly.ReplicateRepositoryRequest.repository:type_name -> gitaly.Repository + 102, // 52: gitaly.ReplicateRepositoryRequest.source:type_name -> gitaly.Repository + 102, // 53: gitaly.OptimizeRepositoryRequest.repository:type_name -> gitaly.Repository + 3, // 54: gitaly.OptimizeRepositoryRequest.strategy:type_name -> gitaly.OptimizeRepositoryRequest.Strategy + 102, // 55: gitaly.PruneUnreachableObjectsRequest.repository:type_name -> gitaly.Repository + 102, // 56: gitaly.SetFullPathRequest.repository:type_name -> gitaly.Repository + 102, // 57: gitaly.FullPathRequest.repository:type_name -> gitaly.Repository + 2, // 58: gitaly.GetRawChangesResponse.RawChange.operation:type_name -> gitaly.GetRawChangesResponse.RawChange.Operation + 4, // 59: gitaly.RepositoryService.RepositoryExists:input_type -> gitaly.RepositoryExistsRequest + 6, // 60: gitaly.RepositoryService.RepackIncremental:input_type -> gitaly.RepackIncrementalRequest + 8, // 61: gitaly.RepositoryService.RepackFull:input_type -> gitaly.RepackFullRequest + 10, // 62: gitaly.RepositoryService.MidxRepack:input_type -> gitaly.MidxRepackRequest + 12, // 63: gitaly.RepositoryService.GarbageCollect:input_type -> gitaly.GarbageCollectRequest + 14, // 64: gitaly.RepositoryService.WriteCommitGraph:input_type -> gitaly.WriteCommitGraphRequest + 18, // 65: gitaly.RepositoryService.RepositorySize:input_type -> gitaly.RepositorySizeRequest + 20, // 66: gitaly.RepositoryService.RepositoryInfo:input_type -> gitaly.RepositoryInfoRequest + 22, // 67: gitaly.RepositoryService.ObjectFormat:input_type -> gitaly.ObjectFormatRequest + 24, // 68: gitaly.RepositoryService.ApplyGitattributes:input_type -> gitaly.ApplyGitattributesRequest + 28, // 69: gitaly.RepositoryService.FetchRemote:input_type -> gitaly.FetchRemoteRequest + 30, // 70: gitaly.RepositoryService.CreateRepository:input_type -> gitaly.CreateRepositoryRequest + 32, // 71: gitaly.RepositoryService.GetArchive:input_type -> gitaly.GetArchiveRequest + 34, // 72: gitaly.RepositoryService.HasLocalBranches:input_type -> gitaly.HasLocalBranchesRequest + 36, // 73: gitaly.RepositoryService.FetchSourceBranch:input_type -> gitaly.FetchSourceBranchRequest + 38, // 74: gitaly.RepositoryService.Fsck:input_type -> gitaly.FsckRequest + 40, // 75: gitaly.RepositoryService.WriteRef:input_type -> gitaly.WriteRefRequest + 42, // 76: gitaly.RepositoryService.FindMergeBase:input_type -> gitaly.FindMergeBaseRequest + 44, // 77: gitaly.RepositoryService.CreateFork:input_type -> gitaly.CreateForkRequest + 46, // 78: gitaly.RepositoryService.CreateRepositoryFromURL:input_type -> gitaly.CreateRepositoryFromURLRequest + 48, // 79: gitaly.RepositoryService.CreateBundle:input_type -> gitaly.CreateBundleRequest + 50, // 80: gitaly.RepositoryService.CreateBundleFromRefList:input_type -> gitaly.CreateBundleFromRefListRequest + 26, // 81: gitaly.RepositoryService.FetchBundle:input_type -> gitaly.FetchBundleRequest + 62, // 82: gitaly.RepositoryService.CreateRepositoryFromBundle:input_type -> gitaly.CreateRepositoryFromBundleRequest + 52, // 83: gitaly.RepositoryService.GetConfig:input_type -> gitaly.GetConfigRequest + 64, // 84: gitaly.RepositoryService.FindLicense:input_type -> gitaly.FindLicenseRequest + 66, // 85: gitaly.RepositoryService.GetInfoAttributes:input_type -> gitaly.GetInfoAttributesRequest + 68, // 86: gitaly.RepositoryService.CalculateChecksum:input_type -> gitaly.CalculateChecksumRequest + 16, // 87: gitaly.RepositoryService.Cleanup:input_type -> gitaly.CleanupRequest + 70, // 88: gitaly.RepositoryService.GetSnapshot:input_type -> gitaly.GetSnapshotRequest + 72, // 89: gitaly.RepositoryService.CreateRepositoryFromSnapshot:input_type -> gitaly.CreateRepositoryFromSnapshotRequest + 74, // 90: gitaly.RepositoryService.GetRawChanges:input_type -> gitaly.GetRawChangesRequest + 78, // 91: gitaly.RepositoryService.SearchFilesByContent:input_type -> gitaly.SearchFilesByContentRequest + 76, // 92: gitaly.RepositoryService.SearchFilesByName:input_type -> gitaly.SearchFilesByNameRequest + 54, // 93: gitaly.RepositoryService.RestoreCustomHooks:input_type -> gitaly.RestoreCustomHooksRequest + 55, // 94: gitaly.RepositoryService.SetCustomHooks:input_type -> gitaly.SetCustomHooksRequest + 58, // 95: gitaly.RepositoryService.BackupCustomHooks:input_type -> gitaly.BackupCustomHooksRequest + 59, // 96: gitaly.RepositoryService.GetCustomHooks:input_type -> gitaly.GetCustomHooksRequest + 81, // 97: gitaly.RepositoryService.GetObjectDirectorySize:input_type -> gitaly.GetObjectDirectorySizeRequest + 83, // 98: gitaly.RepositoryService.RemoveRepository:input_type -> gitaly.RemoveRepositoryRequest + 85, // 99: gitaly.RepositoryService.RenameRepository:input_type -> gitaly.RenameRepositoryRequest + 87, // 100: gitaly.RepositoryService.ReplicateRepository:input_type -> gitaly.ReplicateRepositoryRequest + 89, // 101: gitaly.RepositoryService.OptimizeRepository:input_type -> gitaly.OptimizeRepositoryRequest + 91, // 102: gitaly.RepositoryService.PruneUnreachableObjects:input_type -> gitaly.PruneUnreachableObjectsRequest + 93, // 103: gitaly.RepositoryService.SetFullPath:input_type -> gitaly.SetFullPathRequest + 95, // 104: gitaly.RepositoryService.FullPath:input_type -> gitaly.FullPathRequest + 97, // 105: gitaly.RepositoryService.RemoveAll:input_type -> gitaly.RemoveAllRequest + 5, // 106: gitaly.RepositoryService.RepositoryExists:output_type -> gitaly.RepositoryExistsResponse + 7, // 107: gitaly.RepositoryService.RepackIncremental:output_type -> gitaly.RepackIncrementalResponse + 9, // 108: gitaly.RepositoryService.RepackFull:output_type -> gitaly.RepackFullResponse + 11, // 109: gitaly.RepositoryService.MidxRepack:output_type -> gitaly.MidxRepackResponse + 13, // 110: gitaly.RepositoryService.GarbageCollect:output_type -> gitaly.GarbageCollectResponse + 15, // 111: gitaly.RepositoryService.WriteCommitGraph:output_type -> gitaly.WriteCommitGraphResponse + 19, // 112: gitaly.RepositoryService.RepositorySize:output_type -> gitaly.RepositorySizeResponse + 21, // 113: gitaly.RepositoryService.RepositoryInfo:output_type -> gitaly.RepositoryInfoResponse + 23, // 114: gitaly.RepositoryService.ObjectFormat:output_type -> gitaly.ObjectFormatResponse + 25, // 115: gitaly.RepositoryService.ApplyGitattributes:output_type -> gitaly.ApplyGitattributesResponse + 29, // 116: gitaly.RepositoryService.FetchRemote:output_type -> gitaly.FetchRemoteResponse + 31, // 117: gitaly.RepositoryService.CreateRepository:output_type -> gitaly.CreateRepositoryResponse + 33, // 118: gitaly.RepositoryService.GetArchive:output_type -> gitaly.GetArchiveResponse + 35, // 119: gitaly.RepositoryService.HasLocalBranches:output_type -> gitaly.HasLocalBranchesResponse + 37, // 120: gitaly.RepositoryService.FetchSourceBranch:output_type -> gitaly.FetchSourceBranchResponse + 39, // 121: gitaly.RepositoryService.Fsck:output_type -> gitaly.FsckResponse + 41, // 122: gitaly.RepositoryService.WriteRef:output_type -> gitaly.WriteRefResponse + 43, // 123: gitaly.RepositoryService.FindMergeBase:output_type -> gitaly.FindMergeBaseResponse + 45, // 124: gitaly.RepositoryService.CreateFork:output_type -> gitaly.CreateForkResponse + 47, // 125: gitaly.RepositoryService.CreateRepositoryFromURL:output_type -> gitaly.CreateRepositoryFromURLResponse + 49, // 126: gitaly.RepositoryService.CreateBundle:output_type -> gitaly.CreateBundleResponse + 51, // 127: gitaly.RepositoryService.CreateBundleFromRefList:output_type -> gitaly.CreateBundleFromRefListResponse + 27, // 128: gitaly.RepositoryService.FetchBundle:output_type -> gitaly.FetchBundleResponse + 63, // 129: gitaly.RepositoryService.CreateRepositoryFromBundle:output_type -> gitaly.CreateRepositoryFromBundleResponse + 53, // 130: gitaly.RepositoryService.GetConfig:output_type -> gitaly.GetConfigResponse + 65, // 131: gitaly.RepositoryService.FindLicense:output_type -> gitaly.FindLicenseResponse + 67, // 132: gitaly.RepositoryService.GetInfoAttributes:output_type -> gitaly.GetInfoAttributesResponse + 69, // 133: gitaly.RepositoryService.CalculateChecksum:output_type -> gitaly.CalculateChecksumResponse + 17, // 134: gitaly.RepositoryService.Cleanup:output_type -> gitaly.CleanupResponse + 71, // 135: gitaly.RepositoryService.GetSnapshot:output_type -> gitaly.GetSnapshotResponse + 73, // 136: gitaly.RepositoryService.CreateRepositoryFromSnapshot:output_type -> gitaly.CreateRepositoryFromSnapshotResponse + 75, // 137: gitaly.RepositoryService.GetRawChanges:output_type -> gitaly.GetRawChangesResponse + 79, // 138: gitaly.RepositoryService.SearchFilesByContent:output_type -> gitaly.SearchFilesByContentResponse + 77, // 139: gitaly.RepositoryService.SearchFilesByName:output_type -> gitaly.SearchFilesByNameResponse + 56, // 140: gitaly.RepositoryService.RestoreCustomHooks:output_type -> gitaly.RestoreCustomHooksResponse + 57, // 141: gitaly.RepositoryService.SetCustomHooks:output_type -> gitaly.SetCustomHooksResponse + 60, // 142: gitaly.RepositoryService.BackupCustomHooks:output_type -> gitaly.BackupCustomHooksResponse + 61, // 143: gitaly.RepositoryService.GetCustomHooks:output_type -> gitaly.GetCustomHooksResponse + 82, // 144: gitaly.RepositoryService.GetObjectDirectorySize:output_type -> gitaly.GetObjectDirectorySizeResponse + 84, // 145: gitaly.RepositoryService.RemoveRepository:output_type -> gitaly.RemoveRepositoryResponse + 86, // 146: gitaly.RepositoryService.RenameRepository:output_type -> gitaly.RenameRepositoryResponse + 88, // 147: gitaly.RepositoryService.ReplicateRepository:output_type -> gitaly.ReplicateRepositoryResponse + 90, // 148: gitaly.RepositoryService.OptimizeRepository:output_type -> gitaly.OptimizeRepositoryResponse + 92, // 149: gitaly.RepositoryService.PruneUnreachableObjects:output_type -> gitaly.PruneUnreachableObjectsResponse + 94, // 150: gitaly.RepositoryService.SetFullPath:output_type -> gitaly.SetFullPathResponse + 96, // 151: gitaly.RepositoryService.FullPath:output_type -> gitaly.FullPathResponse + 98, // 152: gitaly.RepositoryService.RemoveAll:output_type -> gitaly.RemoveAllResponse + 106, // [106:153] is the sub-list for method output_type + 59, // [59:106] is the sub-list for method input_type + 59, // [59:59] is the sub-list for extension type_name + 59, // [59:59] is the sub-list for extension extendee + 0, // [0:59] is the sub-list for field type_name } func init() { file_repository_proto_init() } @@ -6715,7 +7037,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ObjectFormatRequest); i { + switch v := v.(*RepositoryInfoRequest); i { case 0: return &v.state case 1: @@ -6727,7 +7049,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ObjectFormatResponse); i { + switch v := v.(*RepositoryInfoResponse); i { case 0: return &v.state case 1: @@ -6739,7 +7061,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplyGitattributesRequest); i { + switch v := v.(*ObjectFormatRequest); i { case 0: return &v.state case 1: @@ -6751,7 +7073,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplyGitattributesResponse); i { + switch v := v.(*ObjectFormatResponse); i { case 0: return &v.state case 1: @@ -6763,7 +7085,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FetchBundleRequest); i { + switch v := v.(*ApplyGitattributesRequest); i { case 0: return &v.state case 1: @@ -6775,7 +7097,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FetchBundleResponse); i { + switch v := v.(*ApplyGitattributesResponse); i { case 0: return &v.state case 1: @@ -6787,7 +7109,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FetchRemoteRequest); i { + switch v := v.(*FetchBundleRequest); i { case 0: return &v.state case 1: @@ -6799,7 +7121,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FetchRemoteResponse); i { + switch v := v.(*FetchBundleResponse); i { case 0: return &v.state case 1: @@ -6811,7 +7133,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateRepositoryRequest); i { + switch v := v.(*FetchRemoteRequest); i { case 0: return &v.state case 1: @@ -6823,7 +7145,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateRepositoryResponse); i { + switch v := v.(*FetchRemoteResponse); i { case 0: return &v.state case 1: @@ -6835,7 +7157,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetArchiveRequest); i { + switch v := v.(*CreateRepositoryRequest); i { case 0: return &v.state case 1: @@ -6847,7 +7169,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetArchiveResponse); i { + switch v := v.(*CreateRepositoryResponse); i { case 0: return &v.state case 1: @@ -6859,7 +7181,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HasLocalBranchesRequest); i { + switch v := v.(*GetArchiveRequest); i { case 0: return &v.state case 1: @@ -6871,7 +7193,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HasLocalBranchesResponse); i { + switch v := v.(*GetArchiveResponse); i { case 0: return &v.state case 1: @@ -6883,7 +7205,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FetchSourceBranchRequest); i { + switch v := v.(*HasLocalBranchesRequest); i { case 0: return &v.state case 1: @@ -6895,7 +7217,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FetchSourceBranchResponse); i { + switch v := v.(*HasLocalBranchesResponse); i { case 0: return &v.state case 1: @@ -6907,7 +7229,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FsckRequest); i { + switch v := v.(*FetchSourceBranchRequest); i { case 0: return &v.state case 1: @@ -6919,7 +7241,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FsckResponse); i { + switch v := v.(*FetchSourceBranchResponse); i { case 0: return &v.state case 1: @@ -6931,7 +7253,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WriteRefRequest); i { + switch v := v.(*FsckRequest); i { case 0: return &v.state case 1: @@ -6943,7 +7265,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WriteRefResponse); i { + switch v := v.(*FsckResponse); i { case 0: return &v.state case 1: @@ -6955,7 +7277,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindMergeBaseRequest); i { + switch v := v.(*WriteRefRequest); i { case 0: return &v.state case 1: @@ -6967,7 +7289,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindMergeBaseResponse); i { + switch v := v.(*WriteRefResponse); i { case 0: return &v.state case 1: @@ -6979,7 +7301,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateForkRequest); i { + switch v := v.(*FindMergeBaseRequest); i { case 0: return &v.state case 1: @@ -6991,7 +7313,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateForkResponse); i { + switch v := v.(*FindMergeBaseResponse); i { case 0: return &v.state case 1: @@ -7003,7 +7325,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateRepositoryFromURLRequest); i { + switch v := v.(*CreateForkRequest); i { case 0: return &v.state case 1: @@ -7015,7 +7337,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateRepositoryFromURLResponse); i { + switch v := v.(*CreateForkResponse); i { case 0: return &v.state case 1: @@ -7027,7 +7349,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateBundleRequest); i { + switch v := v.(*CreateRepositoryFromURLRequest); i { case 0: return &v.state case 1: @@ -7039,7 +7361,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateBundleResponse); i { + switch v := v.(*CreateRepositoryFromURLResponse); i { case 0: return &v.state case 1: @@ -7051,7 +7373,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateBundleFromRefListRequest); i { + switch v := v.(*CreateBundleRequest); i { case 0: return &v.state case 1: @@ -7063,7 +7385,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateBundleFromRefListResponse); i { + switch v := v.(*CreateBundleResponse); i { case 0: return &v.state case 1: @@ -7075,7 +7397,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConfigRequest); i { + switch v := v.(*CreateBundleFromRefListRequest); i { case 0: return &v.state case 1: @@ -7087,7 +7409,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConfigResponse); i { + switch v := v.(*CreateBundleFromRefListResponse); i { case 0: return &v.state case 1: @@ -7099,7 +7421,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RestoreCustomHooksRequest); i { + switch v := v.(*GetConfigRequest); i { case 0: return &v.state case 1: @@ -7111,7 +7433,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetCustomHooksRequest); i { + switch v := v.(*GetConfigResponse); i { case 0: return &v.state case 1: @@ -7123,7 +7445,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RestoreCustomHooksResponse); i { + switch v := v.(*RestoreCustomHooksRequest); i { case 0: return &v.state case 1: @@ -7135,7 +7457,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetCustomHooksResponse); i { + switch v := v.(*SetCustomHooksRequest); i { case 0: return &v.state case 1: @@ -7147,7 +7469,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackupCustomHooksRequest); i { + switch v := v.(*RestoreCustomHooksResponse); i { case 0: return &v.state case 1: @@ -7159,7 +7481,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCustomHooksRequest); i { + switch v := v.(*SetCustomHooksResponse); i { case 0: return &v.state case 1: @@ -7171,7 +7493,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackupCustomHooksResponse); i { + switch v := v.(*BackupCustomHooksRequest); i { case 0: return &v.state case 1: @@ -7183,7 +7505,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCustomHooksResponse); i { + switch v := v.(*GetCustomHooksRequest); i { case 0: return &v.state case 1: @@ -7195,7 +7517,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateRepositoryFromBundleRequest); i { + switch v := v.(*BackupCustomHooksResponse); i { case 0: return &v.state case 1: @@ -7207,7 +7529,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateRepositoryFromBundleResponse); i { + switch v := v.(*GetCustomHooksResponse); i { case 0: return &v.state case 1: @@ -7219,7 +7541,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindLicenseRequest); i { + switch v := v.(*CreateRepositoryFromBundleRequest); i { case 0: return &v.state case 1: @@ -7231,7 +7553,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindLicenseResponse); i { + switch v := v.(*CreateRepositoryFromBundleResponse); i { case 0: return &v.state case 1: @@ -7243,7 +7565,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInfoAttributesRequest); i { + switch v := v.(*FindLicenseRequest); i { case 0: return &v.state case 1: @@ -7255,7 +7577,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInfoAttributesResponse); i { + switch v := v.(*FindLicenseResponse); i { case 0: return &v.state case 1: @@ -7267,7 +7589,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CalculateChecksumRequest); i { + switch v := v.(*GetInfoAttributesRequest); i { case 0: return &v.state case 1: @@ -7279,7 +7601,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CalculateChecksumResponse); i { + switch v := v.(*GetInfoAttributesResponse); i { case 0: return &v.state case 1: @@ -7291,7 +7613,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSnapshotRequest); i { + switch v := v.(*CalculateChecksumRequest); i { case 0: return &v.state case 1: @@ -7303,7 +7625,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSnapshotResponse); i { + switch v := v.(*CalculateChecksumResponse); i { case 0: return &v.state case 1: @@ -7315,7 +7637,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateRepositoryFromSnapshotRequest); i { + switch v := v.(*GetSnapshotRequest); i { case 0: return &v.state case 1: @@ -7327,7 +7649,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateRepositoryFromSnapshotResponse); i { + switch v := v.(*GetSnapshotResponse); i { case 0: return &v.state case 1: @@ -7339,7 +7661,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRawChangesRequest); i { + switch v := v.(*CreateRepositoryFromSnapshotRequest); i { case 0: return &v.state case 1: @@ -7351,7 +7673,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRawChangesResponse); i { + switch v := v.(*CreateRepositoryFromSnapshotResponse); i { case 0: return &v.state case 1: @@ -7363,7 +7685,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchFilesByNameRequest); i { + switch v := v.(*GetRawChangesRequest); i { case 0: return &v.state case 1: @@ -7375,7 +7697,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchFilesByNameResponse); i { + switch v := v.(*GetRawChangesResponse); i { case 0: return &v.state case 1: @@ -7387,7 +7709,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchFilesByContentRequest); i { + switch v := v.(*SearchFilesByNameRequest); i { case 0: return &v.state case 1: @@ -7399,7 +7721,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchFilesByContentResponse); i { + switch v := v.(*SearchFilesByNameResponse); i { case 0: return &v.state case 1: @@ -7411,7 +7733,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Remote); i { + switch v := v.(*SearchFilesByContentRequest); i { case 0: return &v.state case 1: @@ -7423,7 +7745,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetObjectDirectorySizeRequest); i { + switch v := v.(*SearchFilesByContentResponse); i { case 0: return &v.state case 1: @@ -7435,7 +7757,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetObjectDirectorySizeResponse); i { + switch v := v.(*Remote); i { case 0: return &v.state case 1: @@ -7447,7 +7769,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveRepositoryRequest); i { + switch v := v.(*GetObjectDirectorySizeRequest); i { case 0: return &v.state case 1: @@ -7459,7 +7781,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveRepositoryResponse); i { + switch v := v.(*GetObjectDirectorySizeResponse); i { case 0: return &v.state case 1: @@ -7471,7 +7793,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RenameRepositoryRequest); i { + switch v := v.(*RemoveRepositoryRequest); i { case 0: return &v.state case 1: @@ -7483,7 +7805,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RenameRepositoryResponse); i { + switch v := v.(*RemoveRepositoryResponse); i { case 0: return &v.state case 1: @@ -7495,7 +7817,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReplicateRepositoryRequest); i { + switch v := v.(*RenameRepositoryRequest); i { case 0: return &v.state case 1: @@ -7507,7 +7829,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReplicateRepositoryResponse); i { + switch v := v.(*RenameRepositoryResponse); i { case 0: return &v.state case 1: @@ -7519,7 +7841,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptimizeRepositoryRequest); i { + switch v := v.(*ReplicateRepositoryRequest); i { case 0: return &v.state case 1: @@ -7531,7 +7853,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptimizeRepositoryResponse); i { + switch v := v.(*ReplicateRepositoryResponse); i { case 0: return &v.state case 1: @@ -7543,7 +7865,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PruneUnreachableObjectsRequest); i { + switch v := v.(*OptimizeRepositoryRequest); i { case 0: return &v.state case 1: @@ -7555,7 +7877,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PruneUnreachableObjectsResponse); i { + switch v := v.(*OptimizeRepositoryResponse); i { case 0: return &v.state case 1: @@ -7567,7 +7889,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetFullPathRequest); i { + switch v := v.(*PruneUnreachableObjectsRequest); i { case 0: return &v.state case 1: @@ -7579,7 +7901,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetFullPathResponse); i { + switch v := v.(*PruneUnreachableObjectsResponse); i { case 0: return &v.state case 1: @@ -7591,7 +7913,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FullPathRequest); i { + switch v := v.(*SetFullPathRequest); i { case 0: return &v.state case 1: @@ -7603,7 +7925,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FullPathResponse); i { + switch v := v.(*SetFullPathResponse); i { case 0: return &v.state case 1: @@ -7615,7 +7937,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveAllRequest); i { + switch v := v.(*FullPathRequest); i { case 0: return &v.state case 1: @@ -7627,7 +7949,7 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveAllResponse); i { + switch v := v.(*FullPathResponse); i { case 0: return &v.state case 1: @@ -7639,6 +7961,54 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveAllRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repository_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveAllResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repository_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RepositoryInfoResponse_ReferencesInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repository_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RepositoryInfoResponse_ObjectsInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_repository_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRawChangesResponse_RawChange); i { case 0: return &v.state @@ -7657,7 +8027,7 @@ func file_repository_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_repository_proto_rawDesc, NumEnums: 4, - NumMessages: 94, + NumMessages: 98, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/go/gitalypb/repository_grpc.pb.go b/proto/go/gitalypb/repository_grpc.pb.go index 8f35372bc..6189a0e2f 100644 --- a/proto/go/gitalypb/repository_grpc.pb.go +++ b/proto/go/gitalypb/repository_grpc.pb.go @@ -41,6 +41,8 @@ type RepositoryServiceClient interface { WriteCommitGraph(ctx context.Context, in *WriteCommitGraphRequest, opts ...grpc.CallOption) (*WriteCommitGraphResponse, error) // This comment is left unintentionally blank. RepositorySize(ctx context.Context, in *RepositorySizeRequest, opts ...grpc.CallOption) (*RepositorySizeResponse, error) + // RepositoryInfo returns detailed information about a repository and its data structures. + RepositoryInfo(ctx context.Context, in *RepositoryInfoRequest, opts ...grpc.CallOption) (*RepositoryInfoResponse, error) // ObjectFormat determines the object format that is being used by the repository. ObjectFormat(ctx context.Context, in *ObjectFormatRequest, opts ...grpc.CallOption) (*ObjectFormatResponse, error) // This comment is left unintentionally blank. @@ -239,6 +241,15 @@ func (c *repositoryServiceClient) RepositorySize(ctx context.Context, in *Reposi return out, nil } +func (c *repositoryServiceClient) RepositoryInfo(ctx context.Context, in *RepositoryInfoRequest, opts ...grpc.CallOption) (*RepositoryInfoResponse, error) { + out := new(RepositoryInfoResponse) + err := c.cc.Invoke(ctx, "/gitaly.RepositoryService/RepositoryInfo", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *repositoryServiceClient) ObjectFormat(ctx context.Context, in *ObjectFormatRequest, opts ...grpc.CallOption) (*ObjectFormatResponse, error) { out := new(ObjectFormatResponse) err := c.cc.Invoke(ctx, "/gitaly.RepositoryService/ObjectFormat", in, out, opts...) @@ -970,6 +981,8 @@ type RepositoryServiceServer interface { WriteCommitGraph(context.Context, *WriteCommitGraphRequest) (*WriteCommitGraphResponse, error) // This comment is left unintentionally blank. RepositorySize(context.Context, *RepositorySizeRequest) (*RepositorySizeResponse, error) + // RepositoryInfo returns detailed information about a repository and its data structures. + RepositoryInfo(context.Context, *RepositoryInfoRequest) (*RepositoryInfoResponse, error) // ObjectFormat determines the object format that is being used by the repository. ObjectFormat(context.Context, *ObjectFormatRequest) (*ObjectFormatResponse, error) // This comment is left unintentionally blank. @@ -1118,6 +1131,9 @@ func (UnimplementedRepositoryServiceServer) WriteCommitGraph(context.Context, *W func (UnimplementedRepositoryServiceServer) RepositorySize(context.Context, *RepositorySizeRequest) (*RepositorySizeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RepositorySize not implemented") } +func (UnimplementedRepositoryServiceServer) RepositoryInfo(context.Context, *RepositoryInfoRequest) (*RepositoryInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RepositoryInfo not implemented") +} func (UnimplementedRepositoryServiceServer) ObjectFormat(context.Context, *ObjectFormatRequest) (*ObjectFormatResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ObjectFormat not implemented") } @@ -1374,6 +1390,24 @@ func _RepositoryService_RepositorySize_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } +func _RepositoryService_RepositoryInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RepositoryInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RepositoryServiceServer).RepositoryInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitaly.RepositoryService/RepositoryInfo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RepositoryServiceServer).RepositoryInfo(ctx, req.(*RepositoryInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _RepositoryService_ObjectFormat_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ObjectFormatRequest) if err := dec(in); err != nil { @@ -2182,6 +2216,10 @@ var RepositoryService_ServiceDesc = grpc.ServiceDesc{ Handler: _RepositoryService_RepositorySize_Handler, }, { + MethodName: "RepositoryInfo", + Handler: _RepositoryService_RepositoryInfo_Handler, + }, + { MethodName: "ObjectFormat", Handler: _RepositoryService_ObjectFormat_Handler, }, diff --git a/proto/repository.proto b/proto/repository.proto index 37ddd0206..5b344a227 100644 --- a/proto/repository.proto +++ b/proto/repository.proto @@ -64,6 +64,13 @@ service RepositoryService { }; } + // RepositoryInfo returns detailed information about a repository and its data structures. + rpc RepositoryInfo(RepositoryInfoRequest) returns (RepositoryInfoResponse) { + option (op_type) = { + op: ACCESSOR + }; + } + // ObjectFormat determines the object format that is being used by the repository. rpc ObjectFormat(ObjectFormatRequest) returns (ObjectFormatResponse) { option (op_type) = { @@ -266,7 +273,7 @@ service RepositoryService { } // SetCustomHooks sets the git hooks for a repository. The hooks are sent in a - // tar archive containing a `custom_hooks` directory. This directory is + // tar archive containing a `custom_hooks` directory. This directory is // ultimately extracted to the repository. rpc SetCustomHooks(stream SetCustomHooksRequest) returns (SetCustomHooksResponse) { option (op_type) = { @@ -482,6 +489,69 @@ message RepositorySizeResponse { int64 size = 1; } +// RepositoryInfoRequest is a request for the RepositoryInfo RPC. +message RepositoryInfoRequest { + // Repository is the repository to query for information. + Repository repository = 1 [(target_repository)=true]; +} + +// RepositoryInfoResponse is a response for the RepositoryInfo RPC. +message RepositoryInfoResponse { + // ReferencesInfo hosts information about references. + message ReferencesInfo { + // LooseCount is the number of loose references that exist in the repository. These references + // are written whenever any reference either gets updated or created. Loose references have not + // yet been compressed into a packed format, which is an action that Gitaly performs regularly + // during repository maintenance. + // + // We do not provide the total size of loose references as it is a constant factor of the count + // anyway: `$count * $object_hash_length`. + uint64 loose_count = 1; + // PackedSize is the size of packed references in bytes. Packed references are a more efficient + // way to store loose references. Given that determining the exact amount of references stored + // in packed format would require us to process the complete contents we don't provide the size + // here. A very rough estimate would be: `$size / 100`. + uint64 packed_size = 2; + } + + // ObjectsInfo hosts info about objects contained in a repository. It tries to bridge the gap + // between the actual on-disk state that is changing over time as Git introduces new ways to + // perform repository housekeeping and specific classifications of objects. + // + // One of the distinctions is between "recent" and "stale" objects. The set of recent objects + // contains these objects that have either been recently written/accessed or those which are + // reachable via any of the references. Stale objects on the other hand are those that are older + // than a certain grace period and which are not reachable via any reference. The exact details + // when the set of stale and recent objects is updated is an internal implementation detail of + // Gitaly and subject to change. It is safe to assume though that unreachable objects will + // eventually be marked stale when repository housekeeping runs on a repository. + message ObjectsInfo { + // Size is the total size of all objects in the repository in bytes. It makes no distinction + // between the way they are stored or whether they are pending deletion. + uint64 size = 1; + // RecentSize is the total size of all objects in bytes that are considered to be recent. Recent + // objects are likely reachable and will not be considered for deletion. + uint64 recent_size = 2; + // StaleSize is the total size of all objects in bytes that are considered to be stale. Stale + // objects are likely unreachable and will eventually be deleted after a grace period. Objects + // which are part of cruft packs are always considered to be stale. + uint64 stale_size = 3; + // KeepSize is the total size of all kept packfiles. Kept packfiles are packfiles that have a + // `.keep` file accompanying them. Packfiles marked with such a file will never be deleted by + // Git and will thus stay around forever, even if their objects are part of + // other packfiles already. + uint64 keep_size = 4; + } + + // Size is the total size of all files part of the repository. It does not include the size of + // directories. + uint64 size = 1; + // References contains information about references. + ReferencesInfo references = 2; + // ObjectsInfo contains information about objects. + ObjectsInfo objects = 3; +} + // ObjectFormatRequest is a request for the ObjectFormat RPC. message ObjectFormatRequest { // Repository is the repository for which to determine the object format. |