// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 // protoc v4.23.1 // source: repository.proto package gitalypb import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // Format is the format which the archive should be packaged in. type GetArchiveRequest_Format int32 const ( // ZIP GetArchiveRequest_ZIP GetArchiveRequest_Format = 0 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH // TAR GetArchiveRequest_TAR GetArchiveRequest_Format = 1 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX // TAR_GZ GetArchiveRequest_TAR_GZ GetArchiveRequest_Format = 2 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX // TAR_BZ2 GetArchiveRequest_TAR_BZ2 GetArchiveRequest_Format = 3 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX ) // Enum value maps for GetArchiveRequest_Format. var ( GetArchiveRequest_Format_name = map[int32]string{ 0: "ZIP", 1: "TAR", 2: "TAR_GZ", 3: "TAR_BZ2", } GetArchiveRequest_Format_value = map[string]int32{ "ZIP": 0, "TAR": 1, "TAR_GZ": 2, "TAR_BZ2": 3, } ) func (x GetArchiveRequest_Format) Enum() *GetArchiveRequest_Format { p := new(GetArchiveRequest_Format) *p = x return p } func (x GetArchiveRequest_Format) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (GetArchiveRequest_Format) Descriptor() protoreflect.EnumDescriptor { return file_repository_proto_enumTypes[0].Descriptor() } func (GetArchiveRequest_Format) Type() protoreflect.EnumType { return &file_repository_proto_enumTypes[0] } func (x GetArchiveRequest_Format) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use GetArchiveRequest_Format.Descriptor instead. func (GetArchiveRequest_Format) EnumDescriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{18, 0} } // Operation is the change that occurred on the file. Consult the man pages // for git-diff(1) for additional detail on the semantics of each operation. type GetRawChangesResponse_RawChange_Operation int32 const ( // UNKNOWN GetRawChangesResponse_RawChange_UNKNOWN GetRawChangesResponse_RawChange_Operation = 0 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH // ADDED GetRawChangesResponse_RawChange_ADDED GetRawChangesResponse_RawChange_Operation = 1 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX // COPIED GetRawChangesResponse_RawChange_COPIED GetRawChangesResponse_RawChange_Operation = 2 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX // DELETED GetRawChangesResponse_RawChange_DELETED GetRawChangesResponse_RawChange_Operation = 3 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX // MODIFIED GetRawChangesResponse_RawChange_MODIFIED GetRawChangesResponse_RawChange_Operation = 4 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX // RENAMED GetRawChangesResponse_RawChange_RENAMED GetRawChangesResponse_RawChange_Operation = 5 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX // TYPE_CHANGED GetRawChangesResponse_RawChange_TYPE_CHANGED GetRawChangesResponse_RawChange_Operation = 6 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX ) // Enum value maps for GetRawChangesResponse_RawChange_Operation. var ( GetRawChangesResponse_RawChange_Operation_name = map[int32]string{ 0: "UNKNOWN", 1: "ADDED", 2: "COPIED", 3: "DELETED", 4: "MODIFIED", 5: "RENAMED", 6: "TYPE_CHANGED", } GetRawChangesResponse_RawChange_Operation_value = map[string]int32{ "UNKNOWN": 0, "ADDED": 1, "COPIED": 2, "DELETED": 3, "MODIFIED": 4, "RENAMED": 5, "TYPE_CHANGED": 6, } ) func (x GetRawChangesResponse_RawChange_Operation) Enum() *GetRawChangesResponse_RawChange_Operation { p := new(GetRawChangesResponse_RawChange_Operation) *p = x return p } func (x GetRawChangesResponse_RawChange_Operation) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (GetRawChangesResponse_RawChange_Operation) Descriptor() protoreflect.EnumDescriptor { return file_repository_proto_enumTypes[1].Descriptor() } func (GetRawChangesResponse_RawChange_Operation) Type() protoreflect.EnumType { return &file_repository_proto_enumTypes[1] } func (x GetRawChangesResponse_RawChange_Operation) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use GetRawChangesResponse_RawChange_Operation.Descriptor instead. func (GetRawChangesResponse_RawChange_Operation) EnumDescriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{61, 0, 0} } // Strategy determines how the repository shall be optimized. type OptimizeRepositoryRequest_Strategy int32 const ( // STRATEGY_UNSPECIFIED indicates that the strategy has not been explicitly set by the // caller. The default will be STRATEGY_HEURISTICAL in that case. OptimizeRepositoryRequest_STRATEGY_UNSPECIFIED OptimizeRepositoryRequest_Strategy = 0 // STRATEGY_HEURISTICAL performs heuristical optimizations in the repository. The server will // decide on a set of heuristics which parts need optimization and which ones don't to avoid // performing unnecessary optimization tasks. OptimizeRepositoryRequest_STRATEGY_HEURISTICAL OptimizeRepositoryRequest_Strategy = 1 // STRATEGY_EAGER performs eager optimizations in the repository. The server will optimize all // data structures regardless of whether they are well-optimized already. OptimizeRepositoryRequest_STRATEGY_EAGER OptimizeRepositoryRequest_Strategy = 2 ) // Enum value maps for OptimizeRepositoryRequest_Strategy. var ( OptimizeRepositoryRequest_Strategy_name = map[int32]string{ 0: "STRATEGY_UNSPECIFIED", 1: "STRATEGY_HEURISTICAL", 2: "STRATEGY_EAGER", } OptimizeRepositoryRequest_Strategy_value = map[string]int32{ "STRATEGY_UNSPECIFIED": 0, "STRATEGY_HEURISTICAL": 1, "STRATEGY_EAGER": 2, } ) func (x OptimizeRepositoryRequest_Strategy) Enum() *OptimizeRepositoryRequest_Strategy { p := new(OptimizeRepositoryRequest_Strategy) *p = x return p } func (x OptimizeRepositoryRequest_Strategy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OptimizeRepositoryRequest_Strategy) Descriptor() protoreflect.EnumDescriptor { return file_repository_proto_enumTypes[2].Descriptor() } func (OptimizeRepositoryRequest_Strategy) Type() protoreflect.EnumType { return &file_repository_proto_enumTypes[2] } func (x OptimizeRepositoryRequest_Strategy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OptimizeRepositoryRequest_Strategy.Descriptor instead. func (OptimizeRepositoryRequest_Strategy) EnumDescriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{73, 0} } // RepositoryExistsRequest is a request for the RepositoryExists RPC. type RepositoryExistsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repo to check. The storage_name and relative_path attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *RepositoryExistsRequest) Reset() { *x = RepositoryExistsRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RepositoryExistsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RepositoryExistsRequest) ProtoMessage() {} func (x *RepositoryExistsRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RepositoryExistsRequest.ProtoReflect.Descriptor instead. func (*RepositoryExistsRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{0} } func (x *RepositoryExistsRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // RepositoryExistsResponse is a response for the RepositoryExists RPC. type RepositoryExistsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // exists indicates whether the repo exists. Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"` } func (x *RepositoryExistsResponse) Reset() { *x = RepositoryExistsResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RepositoryExistsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RepositoryExistsResponse) ProtoMessage() {} func (x *RepositoryExistsResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RepositoryExistsResponse.ProtoReflect.Descriptor instead. func (*RepositoryExistsResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{1} } func (x *RepositoryExistsResponse) GetExists() bool { if x != nil { return x.Exists } return false } // RepositorySizeRequest is a request for the RepositorySize RPC. type RepositorySizeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository for which to determine the repository size. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *RepositorySizeRequest) Reset() { *x = RepositorySizeRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RepositorySizeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RepositorySizeRequest) ProtoMessage() {} func (x *RepositorySizeRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RepositorySizeRequest.ProtoReflect.Descriptor instead. func (*RepositorySizeRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{2} } func (x *RepositorySizeRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // RepositorySizeResponse is a response for the RepositorySize RPC. type RepositorySizeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // size is the complete size of the on-disk repository in kilobytes. This will include all data // structures and is similar to `du --summarize --bytes $REPO_PATH`. Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` } func (x *RepositorySizeResponse) Reset() { *x = RepositorySizeResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RepositorySizeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RepositorySizeResponse) ProtoMessage() {} func (x *RepositorySizeResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RepositorySizeResponse.ProtoReflect.Descriptor instead. func (*RepositorySizeResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{3} } func (x *RepositorySizeResponse) GetSize() int64 { if x != nil { return x.Size } 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[4] 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[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RepositoryInfoRequest.ProtoReflect.Descriptor instead. func (*RepositoryInfoRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{4} } 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"` // objects 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[5] 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[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RepositoryInfoResponse.ProtoReflect.Descriptor instead. func (*RepositoryInfoResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{5} } 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 } // ObjectsSizeRequest is a request for the ObjectsSize RPC. The RPC is defined as a streaming RPC given that a client // may theoretically specify an unbounded number of revisions. Only the first request may have fields other than the // revisions set. type ObjectsSizeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository for which to determine the object size. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // revisions is the set of revisions that shall be used to compute the object size for. Supports normal revisions as // well as pseudo-revisions like `--not`, `--all`, `--branches[=pattern]`, `--tags[=pattern]` and `--glob=pattern`. // Please refer to the man pages gitrevisions(7) as well as git-rev-list(1) for more information. Revisions [][]byte `protobuf:"bytes,2,rep,name=revisions,proto3" json:"revisions,omitempty"` } func (x *ObjectsSizeRequest) Reset() { *x = ObjectsSizeRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ObjectsSizeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ObjectsSizeRequest) ProtoMessage() {} func (x *ObjectsSizeRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ObjectsSizeRequest.ProtoReflect.Descriptor instead. func (*ObjectsSizeRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{6} } func (x *ObjectsSizeRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *ObjectsSizeRequest) GetRevisions() [][]byte { if x != nil { return x.Revisions } return nil } // ObjectsSizeResponse is a response for the ObjectsSize RPC. type ObjectsSizeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // size is the total size of all objects reachable via the given set of revisions. The size is // specified in bytes. Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` } func (x *ObjectsSizeResponse) Reset() { *x = ObjectsSizeResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ObjectsSizeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ObjectsSizeResponse) ProtoMessage() {} func (x *ObjectsSizeResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ObjectsSizeResponse.ProtoReflect.Descriptor instead. func (*ObjectsSizeResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{7} } func (x *ObjectsSizeResponse) GetSize() uint64 { if x != nil { return x.Size } return 0 } // ObjectFormatRequest is a request for the ObjectFormat RPC. type ObjectFormatRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository for which to determine the object format. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *ObjectFormatRequest) Reset() { *x = ObjectFormatRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ObjectFormatRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ObjectFormatRequest) ProtoMessage() {} func (x *ObjectFormatRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ObjectFormatRequest.ProtoReflect.Descriptor instead. func (*ObjectFormatRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{8} } func (x *ObjectFormatRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // ObjectFormatResponse is a response for the ObjectFormat RPC. type ObjectFormatResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // format is the object format that the repository uses. Format ObjectFormat `protobuf:"varint,1,opt,name=format,proto3,enum=gitaly.ObjectFormat" json:"format,omitempty"` } func (x *ObjectFormatResponse) Reset() { *x = ObjectFormatResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ObjectFormatResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ObjectFormatResponse) ProtoMessage() {} func (x *ObjectFormatResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ObjectFormatResponse.ProtoReflect.Descriptor instead. func (*ObjectFormatResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{9} } func (x *ObjectFormatResponse) GetFormat() ObjectFormat { if x != nil { return x.Format } return ObjectFormat_OBJECT_FORMAT_UNSPECIFIED } // ApplyGitattributesRequest ... type ApplyGitattributesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository ... Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // revision ... Revision []byte `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"` } func (x *ApplyGitattributesRequest) Reset() { *x = ApplyGitattributesRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApplyGitattributesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApplyGitattributesRequest) ProtoMessage() {} func (x *ApplyGitattributesRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ApplyGitattributesRequest.ProtoReflect.Descriptor instead. func (*ApplyGitattributesRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{10} } func (x *ApplyGitattributesRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *ApplyGitattributesRequest) GetRevision() []byte { if x != nil { return x.Revision } return nil } // ApplyGitattributesResponse ... type ApplyGitattributesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ApplyGitattributesResponse) Reset() { *x = ApplyGitattributesResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApplyGitattributesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApplyGitattributesResponse) ProtoMessage() {} func (x *ApplyGitattributesResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ApplyGitattributesResponse.ProtoReflect.Descriptor instead. func (*ApplyGitattributesResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{11} } // FetchBundleRequest is a request for the FetchBundle RPC. type FetchBundleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository into which the reference shall be fetched. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // data is the bundle file stream. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` // update_head will update HEAD if there is a HEAD reference listed in the bundle UpdateHead bool `protobuf:"varint,3,opt,name=update_head,json=updateHead,proto3" json:"update_head,omitempty"` } func (x *FetchBundleRequest) Reset() { *x = FetchBundleRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FetchBundleRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FetchBundleRequest) ProtoMessage() {} func (x *FetchBundleRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FetchBundleRequest.ProtoReflect.Descriptor instead. func (*FetchBundleRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{12} } func (x *FetchBundleRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *FetchBundleRequest) GetData() []byte { if x != nil { return x.Data } return nil } func (x *FetchBundleRequest) GetUpdateHead() bool { if x != nil { return x.UpdateHead } return false } // FetchBundleResponse is a response for the FetchBundle RPC. type FetchBundleResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *FetchBundleResponse) Reset() { *x = FetchBundleResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FetchBundleResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FetchBundleResponse) ProtoMessage() {} func (x *FetchBundleResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FetchBundleResponse.ProtoReflect.Descriptor instead. func (*FetchBundleResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{13} } // FetchRemoteRequest is a request for the FetchRemote RPC. type FetchRemoteRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository to fetch the remote into. The storage_name // and relative_path attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // force determines if references should be force-updated in case they have // diverged. Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` // no_tags determines whether tags should be fetched. NoTags bool `protobuf:"varint,4,opt,name=no_tags,json=noTags,proto3" json:"no_tags,omitempty"` // timeout specifies a timeout for the fetch. Timeout int32 `protobuf:"varint,5,opt,name=timeout,proto3" json:"timeout,omitempty"` // ssh_key is an optional SSH key to use for fetching the remote. SshKey string `protobuf:"bytes,6,opt,name=ssh_key,json=sshKey,proto3" json:"ssh_key,omitempty"` // known_hosts is the optional content of an SSH known-hosts file to use // for the SSH session. KnownHosts string `protobuf:"bytes,7,opt,name=known_hosts,json=knownHosts,proto3" json:"known_hosts,omitempty"` // no_prune will the fetch to not prune remote references which do not exist // in the remote repository anymore. NoPrune bool `protobuf:"varint,9,opt,name=no_prune,json=noPrune,proto3" json:"no_prune,omitempty"` // remote_params specifies the remote repository which should be fetched // from. RemoteParams *Remote `protobuf:"bytes,10,opt,name=remote_params,json=remoteParams,proto3" json:"remote_params,omitempty"` // check_tags_changed defined whether to check if any tags were modified, // returning the result in the tags_changed field of FetchRemoteResponse. CheckTagsChanged bool `protobuf:"varint,11,opt,name=check_tags_changed,json=checkTagsChanged,proto3" json:"check_tags_changed,omitempty"` } func (x *FetchRemoteRequest) Reset() { *x = FetchRemoteRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FetchRemoteRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FetchRemoteRequest) ProtoMessage() {} func (x *FetchRemoteRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FetchRemoteRequest.ProtoReflect.Descriptor instead. func (*FetchRemoteRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{14} } func (x *FetchRemoteRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *FetchRemoteRequest) GetForce() bool { if x != nil { return x.Force } return false } func (x *FetchRemoteRequest) GetNoTags() bool { if x != nil { return x.NoTags } return false } func (x *FetchRemoteRequest) GetTimeout() int32 { if x != nil { return x.Timeout } return 0 } func (x *FetchRemoteRequest) GetSshKey() string { if x != nil { return x.SshKey } return "" } func (x *FetchRemoteRequest) GetKnownHosts() string { if x != nil { return x.KnownHosts } return "" } func (x *FetchRemoteRequest) GetNoPrune() bool { if x != nil { return x.NoPrune } return false } func (x *FetchRemoteRequest) GetRemoteParams() *Remote { if x != nil { return x.RemoteParams } return nil } func (x *FetchRemoteRequest) GetCheckTagsChanged() bool { if x != nil { return x.CheckTagsChanged } return false } // FetchRemoteResponse is a response for the FetchRemote RPC. type FetchRemoteResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // tags_changed is set based to true if tags were changed or cannot be determined // and false when no tags were change. It is only calculated when check_tags_changed // was set in the FetchRemoteRequest. TagsChanged bool `protobuf:"varint,1,opt,name=tags_changed,json=tagsChanged,proto3" json:"tags_changed,omitempty"` } func (x *FetchRemoteResponse) Reset() { *x = FetchRemoteResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FetchRemoteResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FetchRemoteResponse) ProtoMessage() {} func (x *FetchRemoteResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FetchRemoteResponse.ProtoReflect.Descriptor instead. func (*FetchRemoteResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{15} } func (x *FetchRemoteResponse) GetTagsChanged() bool { if x != nil { return x.TagsChanged } return false } // CreateRepositoryRequest is a request for the CreateRepository RPC. type CreateRepositoryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository represents the repo to create. The storage_name and relative_path attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // default_branch is the branch name to set as the default branch of the newly created // repository. Note, this will be treated as the branch name and not a // fully qualified reference. DefaultBranch []byte `protobuf:"bytes,2,opt,name=default_branch,json=defaultBranch,proto3" json:"default_branch,omitempty"` // object_format is the object format the repository should be created with. Note that this is // experimental and should not be used by callers yet. It is mostly intended for internal testing // purposes in Gitaly right now. ObjectFormat ObjectFormat `protobuf:"varint,3,opt,name=object_format,json=objectFormat,proto3,enum=gitaly.ObjectFormat" json:"object_format,omitempty"` } func (x *CreateRepositoryRequest) Reset() { *x = CreateRepositoryRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateRepositoryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateRepositoryRequest) ProtoMessage() {} func (x *CreateRepositoryRequest) 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 CreateRepositoryRequest.ProtoReflect.Descriptor instead. func (*CreateRepositoryRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{16} } func (x *CreateRepositoryRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *CreateRepositoryRequest) GetDefaultBranch() []byte { if x != nil { return x.DefaultBranch } return nil } func (x *CreateRepositoryRequest) GetObjectFormat() ObjectFormat { if x != nil { return x.ObjectFormat } return ObjectFormat_OBJECT_FORMAT_UNSPECIFIED } // CreateRepositoryResponse is a response for the CreateRepository RPC. An empty // response denotes a successful request. type CreateRepositoryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CreateRepositoryResponse) Reset() { *x = CreateRepositoryResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateRepositoryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateRepositoryResponse) ProtoMessage() {} func (x *CreateRepositoryResponse) 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 CreateRepositoryResponse.ProtoReflect.Descriptor instead. func (*CreateRepositoryResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{17} } // GetArchiveRequest is a request for the GetArchive RPC. type GetArchiveRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repo to archive. The storage_name and relative_path attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // commit_id is the commit at which to perform the archive. CommitId string `protobuf:"bytes,2,opt,name=commit_id,json=commitId,proto3" json:"commit_id,omitempty"` // prefix is an optional prefix to add to paths in the archive. Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` // format is the archive format to stream in the response. Format GetArchiveRequest_Format `protobuf:"varint,4,opt,name=format,proto3,enum=gitaly.GetArchiveRequest_Format" json:"format,omitempty"` // path is the subdirectory of the repo to archive. Provide "." for the entire repo. Path []byte `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"` // exclude is a set of paths to exclude from the archive. The paths must exist in the // tree of the provided commit_id. Exclude [][]byte `protobuf:"bytes,6,rep,name=exclude,proto3" json:"exclude,omitempty"` // protolint:disable:this REPEATED_FIELD_NAMES_PLURALIZED // elide_path whether to elide subdirectories. If it is true and `path` refers // to a subdirectory, that subdirectory will be elided from archive entries. // For example, if `dir` contains `README.md`, with `elide_path = false` the // corresponding entry will be `dir/README.md`; with `elide_path = true`, the // entry will be `README.md`. `elide_path` has no effect if `path` refers to the // repository root. `elide_path = true` is not supported if `path` refers to a file. ElidePath bool `protobuf:"varint,7,opt,name=elide_path,json=elidePath,proto3" json:"elide_path,omitempty"` // include_lfs_blobs controls whether Git LFS Objects are included in the archive. IncludeLfsBlobs bool `protobuf:"varint,8,opt,name=include_lfs_blobs,json=includeLfsBlobs,proto3" json:"include_lfs_blobs,omitempty"` } func (x *GetArchiveRequest) Reset() { *x = GetArchiveRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetArchiveRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetArchiveRequest) ProtoMessage() {} func (x *GetArchiveRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetArchiveRequest.ProtoReflect.Descriptor instead. func (*GetArchiveRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{18} } func (x *GetArchiveRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *GetArchiveRequest) GetCommitId() string { if x != nil { return x.CommitId } return "" } func (x *GetArchiveRequest) GetPrefix() string { if x != nil { return x.Prefix } return "" } func (x *GetArchiveRequest) GetFormat() GetArchiveRequest_Format { if x != nil { return x.Format } return GetArchiveRequest_ZIP } func (x *GetArchiveRequest) GetPath() []byte { if x != nil { return x.Path } return nil } func (x *GetArchiveRequest) GetExclude() [][]byte { if x != nil { return x.Exclude } return nil } func (x *GetArchiveRequest) GetElidePath() bool { if x != nil { return x.ElidePath } return false } func (x *GetArchiveRequest) GetIncludeLfsBlobs() bool { if x != nil { return x.IncludeLfsBlobs } return false } // GetArchiveResponse is a response for the GetArchive RPC. type GetArchiveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // data contains the archive in the requested format. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *GetArchiveResponse) Reset() { *x = GetArchiveResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetArchiveResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetArchiveResponse) ProtoMessage() {} func (x *GetArchiveResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetArchiveResponse.ProtoReflect.Descriptor instead. func (*GetArchiveResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{19} } func (x *GetArchiveResponse) GetData() []byte { if x != nil { return x.Data } return nil } // HasLocalBranchesRequest is a request for the HasLocalBranches RPC. type HasLocalBranchesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repo to check. The storage_name and relative_path attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *HasLocalBranchesRequest) Reset() { *x = HasLocalBranchesRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HasLocalBranchesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*HasLocalBranchesRequest) ProtoMessage() {} func (x *HasLocalBranchesRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HasLocalBranchesRequest.ProtoReflect.Descriptor instead. func (*HasLocalBranchesRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{20} } func (x *HasLocalBranchesRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // HasLocalBranchesResponse is a response for the HasLocalBranches RPC. type HasLocalBranchesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // value indicates whether branches exist in the repo. Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` } func (x *HasLocalBranchesResponse) Reset() { *x = HasLocalBranchesResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HasLocalBranchesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*HasLocalBranchesResponse) ProtoMessage() {} func (x *HasLocalBranchesResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HasLocalBranchesResponse.ProtoReflect.Descriptor instead. func (*HasLocalBranchesResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{21} } func (x *HasLocalBranchesResponse) GetValue() bool { if x != nil { return x.Value } return false } // FetchSourceBranchRequest is a request for the FetchSourceBranch RPC. type FetchSourceBranchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository into which the reference shall be fetched. After a successful // call, it should contain the target reference which points to the same // commit as the source repository's source branch. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // source_repository is the repository from which to fetch the source branch from. SourceRepository *Repository `protobuf:"bytes,2,opt,name=source_repository,json=sourceRepository,proto3" json:"source_repository,omitempty"` // source_branch is the name of the branch in the source repository which should be fetched. SourceBranch []byte `protobuf:"bytes,3,opt,name=source_branch,json=sourceBranch,proto3" json:"source_branch,omitempty"` // target_ref is the name of the reference which shall be newly created in the target // repository. TargetRef []byte `protobuf:"bytes,4,opt,name=target_ref,json=targetRef,proto3" json:"target_ref,omitempty"` } func (x *FetchSourceBranchRequest) Reset() { *x = FetchSourceBranchRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FetchSourceBranchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FetchSourceBranchRequest) ProtoMessage() {} func (x *FetchSourceBranchRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FetchSourceBranchRequest.ProtoReflect.Descriptor instead. func (*FetchSourceBranchRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{22} } func (x *FetchSourceBranchRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *FetchSourceBranchRequest) GetSourceRepository() *Repository { if x != nil { return x.SourceRepository } return nil } func (x *FetchSourceBranchRequest) GetSourceBranch() []byte { if x != nil { return x.SourceBranch } return nil } func (x *FetchSourceBranchRequest) GetTargetRef() []byte { if x != nil { return x.TargetRef } return nil } // FetchSourceBranchResponse is a response for the FetchSourceBranch RPC. type FetchSourceBranchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // result denotes if the source branch was successfully fetched into the target // repository. It is false if resolving the remote reference or fetching it failed. Result bool `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"` } func (x *FetchSourceBranchResponse) Reset() { *x = FetchSourceBranchResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FetchSourceBranchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FetchSourceBranchResponse) ProtoMessage() {} func (x *FetchSourceBranchResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FetchSourceBranchResponse.ProtoReflect.Descriptor instead. func (*FetchSourceBranchResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{23} } func (x *FetchSourceBranchResponse) GetResult() bool { if x != nil { return x.Result } return false } // FsckRequest is a request for the Fsck RPC. type FsckRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository that shall be checked for consistency. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *FsckRequest) Reset() { *x = FsckRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FsckRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FsckRequest) ProtoMessage() {} func (x *FsckRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FsckRequest.ProtoReflect.Descriptor instead. func (*FsckRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{24} } func (x *FsckRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // FsckResponse is a response for the Fsck RPC. type FsckResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // error contains both stdout and stderr of git-fsck(1) in case it returned an error. Error []byte `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` } func (x *FsckResponse) Reset() { *x = FsckResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FsckResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FsckResponse) ProtoMessage() {} func (x *FsckResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FsckResponse.ProtoReflect.Descriptor instead. func (*FsckResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{25} } func (x *FsckResponse) GetError() []byte { if x != nil { return x.Error } return nil } // WriteRefRequest is a request for the WriteRef RPC. type WriteRefRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repo in which to write a ref. The storage_name and relative_path // attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // ref is the ref to create or update. It should be a fully-resolved value like refs/heads/main. Ref []byte `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` // revision is the new value that the ref should point to. Revision []byte `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"` // old_revision is the previous value of the ref, used to prevent race conditions. // If an all-zero object ID is provided, the ref will only be updated if it did not // previously exist. OldRevision []byte `protobuf:"bytes,4,opt,name=old_revision,json=oldRevision,proto3" json:"old_revision,omitempty"` } func (x *WriteRefRequest) Reset() { *x = WriteRefRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WriteRefRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WriteRefRequest) ProtoMessage() {} func (x *WriteRefRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WriteRefRequest.ProtoReflect.Descriptor instead. func (*WriteRefRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{26} } func (x *WriteRefRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *WriteRefRequest) GetRef() []byte { if x != nil { return x.Ref } return nil } func (x *WriteRefRequest) GetRevision() []byte { if x != nil { return x.Revision } return nil } func (x *WriteRefRequest) GetOldRevision() []byte { if x != nil { return x.OldRevision } return nil } // WriteRefResponse is a response for the WriteRef RPC. type WriteRefResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *WriteRefResponse) Reset() { *x = WriteRefResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WriteRefResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*WriteRefResponse) ProtoMessage() {} func (x *WriteRefResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WriteRefResponse.ProtoReflect.Descriptor instead. func (*WriteRefResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{27} } // FindMergeBaseRequest is a request for the FindMergeBase RPC. type FindMergeBaseRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repo to find the merge base in. The storage_name and // relative_path attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // revisions is the revisions to find the merge base for. // We use a repeated field because rugged supports finding a base // for more than 2 revisions, so if we needed that in the future we don't // need to change the protocol. Revisions [][]byte `protobuf:"bytes,2,rep,name=revisions,proto3" json:"revisions,omitempty"` } func (x *FindMergeBaseRequest) Reset() { *x = FindMergeBaseRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindMergeBaseRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindMergeBaseRequest) ProtoMessage() {} func (x *FindMergeBaseRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindMergeBaseRequest.ProtoReflect.Descriptor instead. func (*FindMergeBaseRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{28} } func (x *FindMergeBaseRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *FindMergeBaseRequest) GetRevisions() [][]byte { if x != nil { return x.Revisions } return nil } // FindMergeBaseResponse is a response for the FindMergeBase RPC. type FindMergeBaseResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // base is the commit ID of the best ancestor between the provided revisions. Base string `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` } func (x *FindMergeBaseResponse) Reset() { *x = FindMergeBaseResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindMergeBaseResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindMergeBaseResponse) ProtoMessage() {} func (x *FindMergeBaseResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindMergeBaseResponse.ProtoReflect.Descriptor instead. func (*FindMergeBaseResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{29} } func (x *FindMergeBaseResponse) GetBase() string { if x != nil { return x.Base } return "" } // CreateForkRequest is a request for the CreateFork RPC. type CreateForkRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository that shall be created. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // source_repository is the repository that shall be forked. // // Note that the source repository is intentionally not marked as an additional repository that is // to be rewritten by Praefect. This is because Gitaly will use the source repository to perform a // gRPC call, which must use the original non-rewritten repository. SourceRepository *Repository `protobuf:"bytes,2,opt,name=source_repository,json=sourceRepository,proto3" json:"source_repository,omitempty"` // revision to create the fork from. If set, the resulting fork will only have a single branch // that matches the upstream revision. This revision will be the default branch of the repository. // This field should be set to the unqualified revision, not the full reference name. Revision []byte `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"` } func (x *CreateForkRequest) Reset() { *x = CreateForkRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateForkRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateForkRequest) ProtoMessage() {} func (x *CreateForkRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[30] 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 CreateForkRequest.ProtoReflect.Descriptor instead. func (*CreateForkRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{30} } func (x *CreateForkRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *CreateForkRequest) GetSourceRepository() *Repository { if x != nil { return x.SourceRepository } return nil } func (x *CreateForkRequest) GetRevision() []byte { if x != nil { return x.Revision } return nil } // CreateForkResponse is a response for the CreateFork RPC. type CreateForkResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CreateForkResponse) Reset() { *x = CreateForkResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateForkResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateForkResponse) ProtoMessage() {} func (x *CreateForkResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[31] 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 CreateForkResponse.ProtoReflect.Descriptor instead. func (*CreateForkResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{31} } // CreateRepositoryFromURLRequest is a request for the CreateRepositoryFromURL RPC. type CreateRepositoryFromURLRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository represents where the repo should be created. The storage_name and // relative_path attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // url is the URL of the existing Git repository. Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` // http_authorization_header is the HTTP header which can be added to // the request in order to authenticate against the repository. HttpAuthorizationHeader string `protobuf:"bytes,4,opt,name=http_authorization_header,json=httpAuthorizationHeader,proto3" json:"http_authorization_header,omitempty"` // mirror defines whether to clone with `--mirror` flag or `--bare`. The default // value `false` will cause us to use `--bare`, which results in a clone that // contains only branches (`refs/heads/`) and tags (`refs/tags/`) of the remote // repository. If set to `true`, create a complete mirror-clone which maps all // remote references into the local repository. Mirror bool `protobuf:"varint,5,opt,name=mirror,proto3" json:"mirror,omitempty"` // resolved_address holds the resolved IP address of the remote_url. This is // used to avoid DNS rebinding by mapping the url to the resolved address. // Only IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped // IPv6 ("::ffff:192.0.2.1") forms are supported. // Works with HTTP/HTTPS/Git/SSH protocols. // Optional. ResolvedAddress string `protobuf:"bytes,6,opt,name=resolved_address,json=resolvedAddress,proto3" json:"resolved_address,omitempty"` } func (x *CreateRepositoryFromURLRequest) Reset() { *x = CreateRepositoryFromURLRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateRepositoryFromURLRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateRepositoryFromURLRequest) ProtoMessage() {} func (x *CreateRepositoryFromURLRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[32] 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 CreateRepositoryFromURLRequest.ProtoReflect.Descriptor instead. func (*CreateRepositoryFromURLRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{32} } func (x *CreateRepositoryFromURLRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *CreateRepositoryFromURLRequest) GetUrl() string { if x != nil { return x.Url } return "" } func (x *CreateRepositoryFromURLRequest) GetHttpAuthorizationHeader() string { if x != nil { return x.HttpAuthorizationHeader } return "" } func (x *CreateRepositoryFromURLRequest) GetMirror() bool { if x != nil { return x.Mirror } return false } func (x *CreateRepositoryFromURLRequest) GetResolvedAddress() string { if x != nil { return x.ResolvedAddress } return "" } // CreateRepositoryFromURLResponse is a response for the CreateRepositoryFromURL RPC. type CreateRepositoryFromURLResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CreateRepositoryFromURLResponse) Reset() { *x = CreateRepositoryFromURLResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateRepositoryFromURLResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateRepositoryFromURLResponse) ProtoMessage() {} func (x *CreateRepositoryFromURLResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[33] 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 CreateRepositoryFromURLResponse.ProtoReflect.Descriptor instead. func (*CreateRepositoryFromURLResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{33} } // CreateBundleRequest is a request for the CreateBundle RPC. type CreateBundleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository to create a bundle from. The storage_name and // relative_path attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *CreateBundleRequest) Reset() { *x = CreateBundleRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateBundleRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateBundleRequest) ProtoMessage() {} func (x *CreateBundleRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[34] 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 CreateBundleRequest.ProtoReflect.Descriptor instead. func (*CreateBundleRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{34} } func (x *CreateBundleRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // CreateBundleResponse is a response for the CreateBundle RPC. type CreateBundleResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // data contains the content of the created bundle. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *CreateBundleResponse) Reset() { *x = CreateBundleResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateBundleResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateBundleResponse) ProtoMessage() {} func (x *CreateBundleResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[35] 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 CreateBundleResponse.ProtoReflect.Descriptor instead. func (*CreateBundleResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{35} } func (x *CreateBundleResponse) GetData() []byte { if x != nil { return x.Data } return nil } // CreateBundleFromRefListRequest is a request for the CreateBundleFromRefList RPC. type CreateBundleFromRefListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository that the bundle is created from. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // patterns contains all patterns which shall be bundled. Patterns should be // in the format accepted by git-rev-list(1). Patterns which don't match any // reference will be silently ignored. Patterns [][]byte `protobuf:"bytes,2,rep,name=patterns,proto3" json:"patterns,omitempty"` } func (x *CreateBundleFromRefListRequest) Reset() { *x = CreateBundleFromRefListRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateBundleFromRefListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateBundleFromRefListRequest) ProtoMessage() {} func (x *CreateBundleFromRefListRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[36] 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 CreateBundleFromRefListRequest.ProtoReflect.Descriptor instead. func (*CreateBundleFromRefListRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{36} } func (x *CreateBundleFromRefListRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *CreateBundleFromRefListRequest) GetPatterns() [][]byte { if x != nil { return x.Patterns } return nil } // CreateBundleFromRefListResponse is a response for the CreateBundleFromRefList RPC. type CreateBundleFromRefListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // data contains the content of the created bundle. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *CreateBundleFromRefListResponse) Reset() { *x = CreateBundleFromRefListResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateBundleFromRefListResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateBundleFromRefListResponse) ProtoMessage() {} func (x *CreateBundleFromRefListResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[37] 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 CreateBundleFromRefListResponse.ProtoReflect.Descriptor instead. func (*CreateBundleFromRefListResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{37} } func (x *CreateBundleFromRefListResponse) GetData() []byte { if x != nil { return x.Data } return nil } // GetConfigRequest is a request for the GetConfig RPC. type GetConfigRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository from which the configuration should be read // from. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *GetConfigRequest) Reset() { *x = GetConfigRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetConfigRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetConfigRequest) ProtoMessage() {} func (x *GetConfigRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[38] 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 GetConfigRequest.ProtoReflect.Descriptor instead. func (*GetConfigRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{38} } func (x *GetConfigRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // GetConfigResponse is a response for the GetConfig RPC. type GetConfigResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // data contains contents of the gitconfig. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *GetConfigResponse) Reset() { *x = GetConfigResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetConfigResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetConfigResponse) ProtoMessage() {} func (x *GetConfigResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[39] 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 GetConfigResponse.ProtoReflect.Descriptor instead. func (*GetConfigResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{39} } func (x *GetConfigResponse) GetData() []byte { if x != nil { return x.Data } return nil } // RestoreCustomHooksRequest ... type RestoreCustomHooksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository ... Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // data ... Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } func (x *RestoreCustomHooksRequest) Reset() { *x = RestoreCustomHooksRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RestoreCustomHooksRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RestoreCustomHooksRequest) ProtoMessage() {} func (x *RestoreCustomHooksRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[40] 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 RestoreCustomHooksRequest.ProtoReflect.Descriptor instead. func (*RestoreCustomHooksRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{40} } func (x *RestoreCustomHooksRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *RestoreCustomHooksRequest) GetData() []byte { if x != nil { return x.Data } return nil } // SetCustomHooksRequest is a request for the SetCustomHooks RPC. type SetCustomHooksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repo to set the custom hooks in. The storage_name and relative_path // attributes must be provided. The repository can be omitted in subsequent requests. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // data is a tarball containing a `custom_hooks` directory. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } func (x *SetCustomHooksRequest) Reset() { *x = SetCustomHooksRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetCustomHooksRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetCustomHooksRequest) ProtoMessage() {} func (x *SetCustomHooksRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[41] 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 SetCustomHooksRequest.ProtoReflect.Descriptor instead. func (*SetCustomHooksRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{41} } func (x *SetCustomHooksRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *SetCustomHooksRequest) GetData() []byte { if x != nil { return x.Data } return nil } // RestoreCustomHooksResponse ... type RestoreCustomHooksResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RestoreCustomHooksResponse) Reset() { *x = RestoreCustomHooksResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RestoreCustomHooksResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RestoreCustomHooksResponse) ProtoMessage() {} func (x *RestoreCustomHooksResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[42] 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 RestoreCustomHooksResponse.ProtoReflect.Descriptor instead. func (*RestoreCustomHooksResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{42} } // SetCustomHooksResponse is a response for the SetCustomHooks RPC. type SetCustomHooksResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SetCustomHooksResponse) Reset() { *x = SetCustomHooksResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetCustomHooksResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetCustomHooksResponse) ProtoMessage() {} func (x *SetCustomHooksResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[43] 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 SetCustomHooksResponse.ProtoReflect.Descriptor instead. func (*SetCustomHooksResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{43} } // BackupCustomHooksRequest ... type BackupCustomHooksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository ... Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *BackupCustomHooksRequest) Reset() { *x = BackupCustomHooksRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BackupCustomHooksRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*BackupCustomHooksRequest) ProtoMessage() {} func (x *BackupCustomHooksRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[44] 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 BackupCustomHooksRequest.ProtoReflect.Descriptor instead. func (*BackupCustomHooksRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{44} } func (x *BackupCustomHooksRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // GetCustomHooksRequest is a request for the GetCustomHooks RPC. type GetCustomHooksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repo to retrieve custom hooks from. The storage_name and relative_path // attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *GetCustomHooksRequest) Reset() { *x = GetCustomHooksRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetCustomHooksRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetCustomHooksRequest) ProtoMessage() {} func (x *GetCustomHooksRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[45] 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 GetCustomHooksRequest.ProtoReflect.Descriptor instead. func (*GetCustomHooksRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{45} } func (x *GetCustomHooksRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // BackupCustomHooksResponse ... type BackupCustomHooksResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // data ... Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *BackupCustomHooksResponse) Reset() { *x = BackupCustomHooksResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BackupCustomHooksResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*BackupCustomHooksResponse) ProtoMessage() {} func (x *BackupCustomHooksResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[46] 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 BackupCustomHooksResponse.ProtoReflect.Descriptor instead. func (*BackupCustomHooksResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{46} } func (x *BackupCustomHooksResponse) GetData() []byte { if x != nil { return x.Data } return nil } // GetCustomHooksResponse is a response for the GetCustomHooks RPC. type GetCustomHooksResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // data is the tarball containing the `custom_hooks` directory. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *GetCustomHooksResponse) Reset() { *x = GetCustomHooksResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetCustomHooksResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetCustomHooksResponse) ProtoMessage() {} func (x *GetCustomHooksResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[47] 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 GetCustomHooksResponse.ProtoReflect.Descriptor instead. func (*GetCustomHooksResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{47} } func (x *GetCustomHooksResponse) GetData() []byte { if x != nil { return x.Data } return nil } // CreateRepositoryFromBundleRequest is a request for the CreateRepositoryFromBundle RPC. type CreateRepositoryFromBundleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository to be created from the Git bundle. Repository should only be // present in the first message of the stream. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // data contains bytes of the Git bundle file being streamed. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } func (x *CreateRepositoryFromBundleRequest) Reset() { *x = CreateRepositoryFromBundleRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateRepositoryFromBundleRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateRepositoryFromBundleRequest) ProtoMessage() {} func (x *CreateRepositoryFromBundleRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[48] 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 CreateRepositoryFromBundleRequest.ProtoReflect.Descriptor instead. func (*CreateRepositoryFromBundleRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{48} } func (x *CreateRepositoryFromBundleRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *CreateRepositoryFromBundleRequest) GetData() []byte { if x != nil { return x.Data } return nil } // CreateRepositoryFromBundleResponse is a response for the CreateRepositoryFromBundle RPC. type CreateRepositoryFromBundleResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CreateRepositoryFromBundleResponse) Reset() { *x = CreateRepositoryFromBundleResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateRepositoryFromBundleResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateRepositoryFromBundleResponse) ProtoMessage() {} func (x *CreateRepositoryFromBundleResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[49] 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 CreateRepositoryFromBundleResponse.ProtoReflect.Descriptor instead. func (*CreateRepositoryFromBundleResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{49} } // FindLicenseRequest asks to detect the license for the given repository. type FindLicenseRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is repository where to detect the license. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *FindLicenseRequest) Reset() { *x = FindLicenseRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindLicenseRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindLicenseRequest) ProtoMessage() {} func (x *FindLicenseRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[50] 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 FindLicenseRequest.ProtoReflect.Descriptor instead. func (*FindLicenseRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{50} } func (x *FindLicenseRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // FindLicenseResponse contains the result of detecting the license used in the repository. // If there is nothing that looks like a license file, the empty response is returned. // If there is something that looks like a license, but that license can't be found in the // list of known licenses, we return a pre-defined response with "Other" license. type FindLicenseResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // license_short_name is the license unique SPDX identifier or a short name. // It is always returned lower-cased. LicenseShortName string `protobuf:"bytes,1,opt,name=license_short_name,json=licenseShortName,proto3" json:"license_short_name,omitempty"` // license_name is the license full name. LicenseName string `protobuf:"bytes,2,opt,name=license_name,json=licenseName,proto3" json:"license_name,omitempty"` // license_url is a URL to the license on the internet. LicenseUrl string `protobuf:"bytes,3,opt,name=license_url,json=licenseUrl,proto3" json:"license_url,omitempty"` // license_path is a path to the file that contains the text of the license. // When a LICENSE file is found containing the filename of another file, // that filename will be returned, for example "mit.txt". LicensePath string `protobuf:"bytes,4,opt,name=license_path,json=licensePath,proto3" json:"license_path,omitempty"` // license_nickname is a shortened full name for better readability. // It exists only for a small set of licenses and an empty value is returned in most cases. LicenseNickname string `protobuf:"bytes,5,opt,name=license_nickname,json=licenseNickname,proto3" json:"license_nickname,omitempty"` } func (x *FindLicenseResponse) Reset() { *x = FindLicenseResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindLicenseResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindLicenseResponse) ProtoMessage() {} func (x *FindLicenseResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[51] 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 FindLicenseResponse.ProtoReflect.Descriptor instead. func (*FindLicenseResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{51} } func (x *FindLicenseResponse) GetLicenseShortName() string { if x != nil { return x.LicenseShortName } return "" } func (x *FindLicenseResponse) GetLicenseName() string { if x != nil { return x.LicenseName } return "" } func (x *FindLicenseResponse) GetLicenseUrl() string { if x != nil { return x.LicenseUrl } return "" } func (x *FindLicenseResponse) GetLicensePath() string { if x != nil { return x.LicensePath } return "" } func (x *FindLicenseResponse) GetLicenseNickname() string { if x != nil { return x.LicenseNickname } return "" } // GetInfoAttributesRequest ... type GetInfoAttributesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository ... Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *GetInfoAttributesRequest) Reset() { *x = GetInfoAttributesRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetInfoAttributesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetInfoAttributesRequest) ProtoMessage() {} func (x *GetInfoAttributesRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[52] 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 GetInfoAttributesRequest.ProtoReflect.Descriptor instead. func (*GetInfoAttributesRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{52} } func (x *GetInfoAttributesRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // GetInfoAttributesResponse ... type GetInfoAttributesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // attributes ... Attributes []byte `protobuf:"bytes,1,opt,name=attributes,proto3" json:"attributes,omitempty"` } func (x *GetInfoAttributesResponse) Reset() { *x = GetInfoAttributesResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetInfoAttributesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetInfoAttributesResponse) ProtoMessage() {} func (x *GetInfoAttributesResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[53] 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 GetInfoAttributesResponse.ProtoReflect.Descriptor instead. func (*GetInfoAttributesResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{53} } func (x *GetInfoAttributesResponse) GetAttributes() []byte { if x != nil { return x.Attributes } return nil } // CalculateChecksumRequest is a request for the CalculateChecksum RPC. type CalculateChecksumRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repo to calculate the checksum for. The storage_name and relative_path // attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *CalculateChecksumRequest) Reset() { *x = CalculateChecksumRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CalculateChecksumRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CalculateChecksumRequest) ProtoMessage() {} func (x *CalculateChecksumRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[54] 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 CalculateChecksumRequest.ProtoReflect.Descriptor instead. func (*CalculateChecksumRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{54} } func (x *CalculateChecksumRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // CalculateChecksumResponse is a response for the CalculateChecksum RPC. type CalculateChecksumResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // checksum is the checksum of the repo's references. Checksum string `protobuf:"bytes,1,opt,name=checksum,proto3" json:"checksum,omitempty"` } func (x *CalculateChecksumResponse) Reset() { *x = CalculateChecksumResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CalculateChecksumResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CalculateChecksumResponse) ProtoMessage() {} func (x *CalculateChecksumResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[55] 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 CalculateChecksumResponse.ProtoReflect.Descriptor instead. func (*CalculateChecksumResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{55} } func (x *CalculateChecksumResponse) GetChecksum() string { if x != nil { return x.Checksum } return "" } // GetSnapshotRequest is a request for the GetSnapshot RPC. type GetSnapshotRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository to snapshot. The storage_name and relative_path // attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *GetSnapshotRequest) Reset() { *x = GetSnapshotRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetSnapshotRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetSnapshotRequest) ProtoMessage() {} func (x *GetSnapshotRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[56] 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 GetSnapshotRequest.ProtoReflect.Descriptor instead. func (*GetSnapshotRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{56} } func (x *GetSnapshotRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // GetSnapshotResponse is a response for the GetSnapshot RPC. type GetSnapshotResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // data is the snapshot of the repo compressed as a TAR archive. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *GetSnapshotResponse) Reset() { *x = GetSnapshotResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetSnapshotResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetSnapshotResponse) ProtoMessage() {} func (x *GetSnapshotResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[57] 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 GetSnapshotResponse.ProtoReflect.Descriptor instead. func (*GetSnapshotResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{57} } func (x *GetSnapshotResponse) GetData() []byte { if x != nil { return x.Data } return nil } // CreateRepositoryFromSnapshotRequest is a request for the CreateRepositoryFromSnapshot RPC. type CreateRepositoryFromSnapshotRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository indicates where the new repo should be created. The storage_name and // relative_path attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // http_url is the full URL of the location of the snapshot TAR. HttpUrl string `protobuf:"bytes,2,opt,name=http_url,json=httpUrl,proto3" json:"http_url,omitempty"` // http_auth is the value of the Authorization header to send to http_url. HttpAuth string `protobuf:"bytes,3,opt,name=http_auth,json=httpAuth,proto3" json:"http_auth,omitempty"` // resolved_address holds the resolved IP address of the remote_url. This is // used to avoid DNS rebinding by mapping the url to the resolved address. // Only IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped // IPv6 ("::ffff:192.0.2.1") forms are supported. // Works with HTTP/HTTPS protocols. // Optional. ResolvedAddress string `protobuf:"bytes,5,opt,name=resolved_address,json=resolvedAddress,proto3" json:"resolved_address,omitempty"` } func (x *CreateRepositoryFromSnapshotRequest) Reset() { *x = CreateRepositoryFromSnapshotRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateRepositoryFromSnapshotRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateRepositoryFromSnapshotRequest) ProtoMessage() {} func (x *CreateRepositoryFromSnapshotRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[58] 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 CreateRepositoryFromSnapshotRequest.ProtoReflect.Descriptor instead. func (*CreateRepositoryFromSnapshotRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{58} } func (x *CreateRepositoryFromSnapshotRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *CreateRepositoryFromSnapshotRequest) GetHttpUrl() string { if x != nil { return x.HttpUrl } return "" } func (x *CreateRepositoryFromSnapshotRequest) GetHttpAuth() string { if x != nil { return x.HttpAuth } return "" } func (x *CreateRepositoryFromSnapshotRequest) GetResolvedAddress() string { if x != nil { return x.ResolvedAddress } return "" } // CreateRepositoryFromSnapshotResponse is a response for the CreateRepositoryFromSnapshot RPC. type CreateRepositoryFromSnapshotResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CreateRepositoryFromSnapshotResponse) Reset() { *x = CreateRepositoryFromSnapshotResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateRepositoryFromSnapshotResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateRepositoryFromSnapshotResponse) ProtoMessage() {} func (x *CreateRepositoryFromSnapshotResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[59] 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 CreateRepositoryFromSnapshotResponse.ProtoReflect.Descriptor instead. func (*CreateRepositoryFromSnapshotResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{59} } // GetRawChangesRequest is a request for the GetRawChanges RPC. type GetRawChangesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository to run the diff in. The storage_name and // relative_path attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // from_revision is the Git revision to start the diff at. FromRevision string `protobuf:"bytes,2,opt,name=from_revision,json=fromRevision,proto3" json:"from_revision,omitempty"` // to_revision is the Git revision to end the diff at. ToRevision string `protobuf:"bytes,3,opt,name=to_revision,json=toRevision,proto3" json:"to_revision,omitempty"` } func (x *GetRawChangesRequest) Reset() { *x = GetRawChangesRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetRawChangesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRawChangesRequest) ProtoMessage() {} func (x *GetRawChangesRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[60] 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 GetRawChangesRequest.ProtoReflect.Descriptor instead. func (*GetRawChangesRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{60} } func (x *GetRawChangesRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *GetRawChangesRequest) GetFromRevision() string { if x != nil { return x.FromRevision } return "" } func (x *GetRawChangesRequest) GetToRevision() string { if x != nil { return x.ToRevision } return "" } // GetRawChangesResponse is a response for the GetRawChanges RPC. type GetRawChangesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // raw_changes is the set of changes between the two revisions. RawChanges []*GetRawChangesResponse_RawChange `protobuf:"bytes,1,rep,name=raw_changes,json=rawChanges,proto3" json:"raw_changes,omitempty"` } func (x *GetRawChangesResponse) Reset() { *x = GetRawChangesResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetRawChangesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRawChangesResponse) ProtoMessage() {} func (x *GetRawChangesResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[61] 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 GetRawChangesResponse.ProtoReflect.Descriptor instead. func (*GetRawChangesResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{61} } func (x *GetRawChangesResponse) GetRawChanges() []*GetRawChangesResponse_RawChange { if x != nil { return x.RawChanges } return nil } // SearchFilesByNameRequest is a request for the SearchFilesByName RPC. type SearchFilesByNameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repo to execute the search in. The storage_name and // relative_path attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // query is the search query. Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` // ref is the Git reference whose tree should be searched. Ref []byte `protobuf:"bytes,3,opt,name=ref,proto3" json:"ref,omitempty"` // filter is a regular expression used to filter the result set before it is // transmitted. It is parsed using Go's `regexp` package, which is closely related // to PCRE, excluding backreferences, atomic/possesive operators, and some other // features. It has a maximum length of 1000 bytes. Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` // limit the number of returned files. Gitaly does not enforce a limit by default. // Clients should always set a value for this field. limit = 0 means unlimited files. Limit uint32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` // offset says to skip that many files before beginning to return files. // offset = 0 means starting to return files from beginning. Offset uint32 `protobuf:"varint,6,opt,name=offset,proto3" json:"offset,omitempty"` } func (x *SearchFilesByNameRequest) Reset() { *x = SearchFilesByNameRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchFilesByNameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchFilesByNameRequest) ProtoMessage() {} func (x *SearchFilesByNameRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[62] 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 SearchFilesByNameRequest.ProtoReflect.Descriptor instead. func (*SearchFilesByNameRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{62} } func (x *SearchFilesByNameRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *SearchFilesByNameRequest) GetQuery() string { if x != nil { return x.Query } return "" } func (x *SearchFilesByNameRequest) GetRef() []byte { if x != nil { return x.Ref } return nil } func (x *SearchFilesByNameRequest) GetFilter() string { if x != nil { return x.Filter } return "" } func (x *SearchFilesByNameRequest) GetLimit() uint32 { if x != nil { return x.Limit } return 0 } func (x *SearchFilesByNameRequest) GetOffset() uint32 { if x != nil { return x.Offset } return 0 } // SearchFilesByNameResponse is a response for the SearchFilesByName RPC. type SearchFilesByNameResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // files contains the paths of files that have been found to match the query. Files [][]byte `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"` } func (x *SearchFilesByNameResponse) Reset() { *x = SearchFilesByNameResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchFilesByNameResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchFilesByNameResponse) ProtoMessage() {} func (x *SearchFilesByNameResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[63] 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 SearchFilesByNameResponse.ProtoReflect.Descriptor instead. func (*SearchFilesByNameResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{63} } func (x *SearchFilesByNameResponse) GetFiles() [][]byte { if x != nil { return x.Files } return nil } // SearchFilesByContentRequest is a request for the SearchFilesByContent RPC. type SearchFilesByContentRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repo to search. The storage_name and relative_path attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // query is the grep pattern to use. Queries are case-insensitive and are compatible // with Perl regexp syntax. Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` // ref is the reference to limit the search scope by, for example a commit or // branch name. Ref []byte `protobuf:"bytes,3,opt,name=ref,proto3" json:"ref,omitempty"` } func (x *SearchFilesByContentRequest) Reset() { *x = SearchFilesByContentRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchFilesByContentRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchFilesByContentRequest) ProtoMessage() {} func (x *SearchFilesByContentRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[64] 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 SearchFilesByContentRequest.ProtoReflect.Descriptor instead. func (*SearchFilesByContentRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{64} } func (x *SearchFilesByContentRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *SearchFilesByContentRequest) GetQuery() string { if x != nil { return x.Query } return "" } func (x *SearchFilesByContentRequest) GetRef() []byte { if x != nil { return x.Ref } return nil } // SearchFilesByContentResponse is a response for the SearchFilesByContent RPC. type SearchFilesByContentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // match_data contains the results of the search. Data is streamed in chunks, where // each chunk is an individual result. MatchData []byte `protobuf:"bytes,2,opt,name=match_data,json=matchData,proto3" json:"match_data,omitempty"` // end_of_match indicates the end of an individual match results. Additional results // may follow in subsequent gRPC messages. EndOfMatch bool `protobuf:"varint,3,opt,name=end_of_match,json=endOfMatch,proto3" json:"end_of_match,omitempty"` } func (x *SearchFilesByContentResponse) Reset() { *x = SearchFilesByContentResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchFilesByContentResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchFilesByContentResponse) ProtoMessage() {} func (x *SearchFilesByContentResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[65] 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 SearchFilesByContentResponse.ProtoReflect.Descriptor instead. func (*SearchFilesByContentResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{65} } func (x *SearchFilesByContentResponse) GetMatchData() []byte { if x != nil { return x.MatchData } return nil } func (x *SearchFilesByContentResponse) GetEndOfMatch() bool { if x != nil { return x.EndOfMatch } return false } // Remote represents a git remote repository. type Remote struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // url is the URL of the remote repository. Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` // http_authorization_header is the HTTP header which should be added to // the request in order to authenticate against the repository. HttpAuthorizationHeader string `protobuf:"bytes,3,opt,name=http_authorization_header,json=httpAuthorizationHeader,proto3" json:"http_authorization_header,omitempty"` // mirror_refmaps contains the refspecs which shall be fetched. Some special // refspecs are accepted: // // - "all_refs" gets translated to "+refs/*:refs/*", which mirrors all // references of the source repository. // - "heads" gets translated to "+refs/heads/*:refs/heads/*", which mirrors // all branches of the source repository. // - "tags" gets translated to "+refs/tags/*:refs/tags/*", which mirrors all // tags of the source repository. // // If no refspecs are given, this defaults to "all_refs". MirrorRefmaps []string `protobuf:"bytes,4,rep,name=mirror_refmaps,json=mirrorRefmaps,proto3" json:"mirror_refmaps,omitempty"` // resolved_address holds the resolved IP address of the remote_url. This is // used to avoid DNS rebinding by mapping the url to the resolved address. // Only IPv4 dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv4-mapped // IPv6 ("::ffff:192.0.2.1") forms are supported. // Works with HTTP/HTTPS/Git/SSH protocols. // Optional. ResolvedAddress string `protobuf:"bytes,6,opt,name=resolved_address,json=resolvedAddress,proto3" json:"resolved_address,omitempty"` } func (x *Remote) Reset() { *x = Remote{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Remote) String() string { return protoimpl.X.MessageStringOf(x) } func (*Remote) ProtoMessage() {} func (x *Remote) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[66] 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 Remote.ProtoReflect.Descriptor instead. func (*Remote) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{66} } func (x *Remote) GetUrl() string { if x != nil { return x.Url } return "" } func (x *Remote) GetHttpAuthorizationHeader() string { if x != nil { return x.HttpAuthorizationHeader } return "" } func (x *Remote) GetMirrorRefmaps() []string { if x != nil { return x.MirrorRefmaps } return nil } func (x *Remote) GetResolvedAddress() string { if x != nil { return x.ResolvedAddress } return "" } // GetObjectDirectorySizeRequest is a request for the GetObjectDirectorySize RPC. type GetObjectDirectorySizeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repo to query. The storage_name and relative_path attributes // must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *GetObjectDirectorySizeRequest) Reset() { *x = GetObjectDirectorySizeRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetObjectDirectorySizeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetObjectDirectorySizeRequest) ProtoMessage() {} func (x *GetObjectDirectorySizeRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[67] 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 GetObjectDirectorySizeRequest.ProtoReflect.Descriptor instead. func (*GetObjectDirectorySizeRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{67} } func (x *GetObjectDirectorySizeRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // GetObjectDirectorySizeResponse is a response for the GetObjectDirectorySize RPC. type GetObjectDirectorySizeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // size is the object directory size in kibibytes. Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` } func (x *GetObjectDirectorySizeResponse) Reset() { *x = GetObjectDirectorySizeResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetObjectDirectorySizeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetObjectDirectorySizeResponse) ProtoMessage() {} func (x *GetObjectDirectorySizeResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[68] 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 GetObjectDirectorySizeResponse.ProtoReflect.Descriptor instead. func (*GetObjectDirectorySizeResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{68} } func (x *GetObjectDirectorySizeResponse) GetSize() int64 { if x != nil { return x.Size } return 0 } // RemoveRepositoryRequest is a request for the RemoveRepository RPC. type RemoveRepositoryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repo to remove. The storage_name and relative_path attributes // must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *RemoveRepositoryRequest) Reset() { *x = RemoveRepositoryRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoveRepositoryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoveRepositoryRequest) ProtoMessage() {} func (x *RemoveRepositoryRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[69] 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 RemoveRepositoryRequest.ProtoReflect.Descriptor instead. func (*RemoveRepositoryRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{69} } func (x *RemoveRepositoryRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // RemoveRepositoryResponse is a response for the RemoveRepository RPC. type RemoveRepositoryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RemoveRepositoryResponse) Reset() { *x = RemoveRepositoryResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoveRepositoryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoveRepositoryResponse) ProtoMessage() {} func (x *RemoveRepositoryResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[70] 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 RemoveRepositoryResponse.ProtoReflect.Descriptor instead. func (*RemoveRepositoryResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{70} } // ReplicateRepositoryRequest is a request for the ReplicateRepository RPC. type ReplicateRepositoryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the target repository that the RPC replicates to. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // source is the source repository that the RPC replicates from. This repository can sit on a // different storage node. The information for how to connect to this storage node needs to be // injected into the gRPC context by the caller by setting the `gitaly-servers` metadata. Source *Repository `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` // replicate_object_deduplication_network_membership enables replication of the source repository's // object pool to the target repository's storage and recreates the Git `alternates` link. If the // source repository is not linked to an object pool, no linking or additional replication is // performed. In the event the target repository is linked to an object pool, but the source // repository is not part of an object deduplication network, the target repository is // disconnected from its object pool. ReplicateObjectDeduplicationNetworkMembership bool `protobuf:"varint,3,opt,name=replicate_object_deduplication_network_membership,json=replicateObjectDeduplicationNetworkMembership,proto3" json:"replicate_object_deduplication_network_membership,omitempty"` } func (x *ReplicateRepositoryRequest) Reset() { *x = ReplicateRepositoryRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReplicateRepositoryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReplicateRepositoryRequest) ProtoMessage() {} func (x *ReplicateRepositoryRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[71] 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 ReplicateRepositoryRequest.ProtoReflect.Descriptor instead. func (*ReplicateRepositoryRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{71} } func (x *ReplicateRepositoryRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *ReplicateRepositoryRequest) GetSource() *Repository { if x != nil { return x.Source } return nil } func (x *ReplicateRepositoryRequest) GetReplicateObjectDeduplicationNetworkMembership() bool { if x != nil { return x.ReplicateObjectDeduplicationNetworkMembership } return false } // ReplicateRepositoryResponse is a response for the ReplicateRepository RPC. type ReplicateRepositoryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ReplicateRepositoryResponse) Reset() { *x = ReplicateRepositoryResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReplicateRepositoryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReplicateRepositoryResponse) ProtoMessage() {} func (x *ReplicateRepositoryResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[72] 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 ReplicateRepositoryResponse.ProtoReflect.Descriptor instead. func (*ReplicateRepositoryResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{72} } // OptimizeRepositoryRequest is a request for the OptimizeRepository RPC. type OptimizeRepositoryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository that should be optimized. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // strategy is the strategy that determines which parts of the repository shall be optimized. Strategy OptimizeRepositoryRequest_Strategy `protobuf:"varint,2,opt,name=strategy,proto3,enum=gitaly.OptimizeRepositoryRequest_Strategy" json:"strategy,omitempty"` } func (x *OptimizeRepositoryRequest) Reset() { *x = OptimizeRepositoryRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OptimizeRepositoryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*OptimizeRepositoryRequest) ProtoMessage() {} func (x *OptimizeRepositoryRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[73] 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 OptimizeRepositoryRequest.ProtoReflect.Descriptor instead. func (*OptimizeRepositoryRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{73} } func (x *OptimizeRepositoryRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *OptimizeRepositoryRequest) GetStrategy() OptimizeRepositoryRequest_Strategy { if x != nil { return x.Strategy } return OptimizeRepositoryRequest_STRATEGY_UNSPECIFIED } // OptimizeRepositoryResponse is a response for the OptimizeRepository RPC. type OptimizeRepositoryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *OptimizeRepositoryResponse) Reset() { *x = OptimizeRepositoryResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OptimizeRepositoryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*OptimizeRepositoryResponse) ProtoMessage() {} func (x *OptimizeRepositoryResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[74] 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 OptimizeRepositoryResponse.ProtoReflect.Descriptor instead. func (*OptimizeRepositoryResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{74} } // PruneUnreachableObjectsRequest is a request for the PruneUnreachableObjects // RPC call. type PruneUnreachableObjectsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repo to prune. The storage_name and relative_path // attributes must be provided. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *PruneUnreachableObjectsRequest) Reset() { *x = PruneUnreachableObjectsRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PruneUnreachableObjectsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PruneUnreachableObjectsRequest) ProtoMessage() {} func (x *PruneUnreachableObjectsRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[75] 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 PruneUnreachableObjectsRequest.ProtoReflect.Descriptor instead. func (*PruneUnreachableObjectsRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{75} } func (x *PruneUnreachableObjectsRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // PruneUnreachableObjectsResponse is a response for the // PruneUnreachableObjects RPC call. type PruneUnreachableObjectsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *PruneUnreachableObjectsResponse) Reset() { *x = PruneUnreachableObjectsResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PruneUnreachableObjectsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PruneUnreachableObjectsResponse) ProtoMessage() {} func (x *PruneUnreachableObjectsResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[76] 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 PruneUnreachableObjectsResponse.ProtoReflect.Descriptor instead. func (*PruneUnreachableObjectsResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{76} } // SetFullPathRequest is a request for the SetFullPath RPC. type SetFullPathRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository whose gitconfig should be written to. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // path is the path that shall be written into the "gitlab.fullpath" config key. Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` } func (x *SetFullPathRequest) Reset() { *x = SetFullPathRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetFullPathRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetFullPathRequest) ProtoMessage() {} func (x *SetFullPathRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[77] 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 SetFullPathRequest.ProtoReflect.Descriptor instead. func (*SetFullPathRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{77} } func (x *SetFullPathRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *SetFullPathRequest) GetPath() string { if x != nil { return x.Path } return "" } // SetFullPathResponse is a response fqor the SetFullPath RPC. type SetFullPathResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SetFullPathResponse) Reset() { *x = SetFullPathResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetFullPathResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetFullPathResponse) ProtoMessage() {} func (x *SetFullPathResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[78] 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 SetFullPathResponse.ProtoReflect.Descriptor instead. func (*SetFullPathResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{78} } // FullPathRequest is a request for the FullPath RPC. type FullPathRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository whose gitconfig should be read. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` } func (x *FullPathRequest) Reset() { *x = FullPathRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FullPathRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FullPathRequest) ProtoMessage() {} func (x *FullPathRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[79] 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 FullPathRequest.ProtoReflect.Descriptor instead. func (*FullPathRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{79} } func (x *FullPathRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // FullPathResponse is a response for the SetFullPath RPC. type FullPathResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // path read from the "gitlab.fullpath" config key. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` } func (x *FullPathResponse) Reset() { *x = FullPathResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FullPathResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FullPathResponse) ProtoMessage() {} func (x *FullPathResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[80] 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 FullPathResponse.ProtoReflect.Descriptor instead. func (*FullPathResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{80} } func (x *FullPathResponse) GetPath() string { if x != nil { return x.Path } return "" } // RemoveAllRequest is a request for the RemoveAll RPC. type RemoveAllRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // storage_name of the storage to have all repositories removed from. StorageName string `protobuf:"bytes,1,opt,name=storage_name,json=storageName,proto3" json:"storage_name,omitempty"` } func (x *RemoveAllRequest) Reset() { *x = RemoveAllRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoveAllRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoveAllRequest) ProtoMessage() {} func (x *RemoveAllRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[81] 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 RemoveAllRequest.ProtoReflect.Descriptor instead. func (*RemoveAllRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{81} } func (x *RemoveAllRequest) GetStorageName() string { if x != nil { return x.StorageName } return "" } // RemoveAllResponse is a response for the RemoveAll RPC. type RemoveAllResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RemoveAllResponse) Reset() { *x = RemoveAllResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoveAllResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoveAllResponse) ProtoMessage() {} func (x *RemoveAllResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[82] 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 RemoveAllResponse.ProtoReflect.Descriptor instead. func (*RemoveAllResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{82} } // BackupRepositoryRequest is a request for the BackupRepository RPC. type BackupRepositoryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository to be backed up. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // vanity_repository is used to determine the backup path. VanityRepository *Repository `protobuf:"bytes,2,opt,name=vanity_repository,json=vanityRepository,proto3" json:"vanity_repository,omitempty"` // backup_id is the label used to identify this backup when restoring. BackupId string `protobuf:"bytes,3,opt,name=backup_id,json=backupId,proto3" json:"backup_id,omitempty"` // incremental controls whether an incremental backup should be performed. An incremental // backup will attempt to locate a previous backup of this repository to base itself off. Incremental bool `protobuf:"varint,4,opt,name=incremental,proto3" json:"incremental,omitempty"` } func (x *BackupRepositoryRequest) Reset() { *x = BackupRepositoryRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BackupRepositoryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*BackupRepositoryRequest) ProtoMessage() {} func (x *BackupRepositoryRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[83] 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 BackupRepositoryRequest.ProtoReflect.Descriptor instead. func (*BackupRepositoryRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{83} } func (x *BackupRepositoryRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *BackupRepositoryRequest) GetVanityRepository() *Repository { if x != nil { return x.VanityRepository } return nil } func (x *BackupRepositoryRequest) GetBackupId() string { if x != nil { return x.BackupId } return "" } func (x *BackupRepositoryRequest) GetIncremental() bool { if x != nil { return x.Incremental } return false } // BackupRepositoryResponse is a response for the BackupRepository RPC. type BackupRepositoryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *BackupRepositoryResponse) Reset() { *x = BackupRepositoryResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BackupRepositoryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*BackupRepositoryResponse) ProtoMessage() {} func (x *BackupRepositoryResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[84] 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 BackupRepositoryResponse.ProtoReflect.Descriptor instead. func (*BackupRepositoryResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{84} } // RestoreRepositoryRequest is a request for the RestoreRepository RPC. type RestoreRepositoryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository to be restored. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // vanity_repository is used to determine the backup path. VanityRepository *Repository `protobuf:"bytes,2,opt,name=vanity_repository,json=vanityRepository,proto3" json:"vanity_repository,omitempty"` // backup_id is the label used to identify the backup to restore from. If // empty, the latest available backup is used. BackupId string `protobuf:"bytes,3,opt,name=backup_id,json=backupId,proto3" json:"backup_id,omitempty"` // always_create will force the repository to exist even if no bundle is // found. See https://gitlab.com/gitlab-org/gitlab/-/issues/357044 AlwaysCreate bool `protobuf:"varint,4,opt,name=always_create,json=alwaysCreate,proto3" json:"always_create,omitempty"` } func (x *RestoreRepositoryRequest) Reset() { *x = RestoreRepositoryRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RestoreRepositoryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RestoreRepositoryRequest) ProtoMessage() {} func (x *RestoreRepositoryRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[85] 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 RestoreRepositoryRequest.ProtoReflect.Descriptor instead. func (*RestoreRepositoryRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{85} } func (x *RestoreRepositoryRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *RestoreRepositoryRequest) GetVanityRepository() *Repository { if x != nil { return x.VanityRepository } return nil } func (x *RestoreRepositoryRequest) GetBackupId() string { if x != nil { return x.BackupId } return "" } func (x *RestoreRepositoryRequest) GetAlwaysCreate() bool { if x != nil { return x.AlwaysCreate } return false } // RestoreRepositoryResponse is a response for the RestoreRepository RPC. type RestoreRepositoryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RestoreRepositoryResponse) Reset() { *x = RestoreRepositoryResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RestoreRepositoryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RestoreRepositoryResponse) ProtoMessage() {} func (x *RestoreRepositoryResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[86] 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 RestoreRepositoryResponse.ProtoReflect.Descriptor instead. func (*RestoreRepositoryResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{86} } // GetFileAttributesRequest is a request for the GetFileAttributes RPC. type GetFileAttributesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // repository is the repository the file attributes shall be computed in. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // revision is the revision where the file attributes shall be computed in. Revision []byte `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"` // attributes are the attributes that will be queried for. Attributes []string `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty"` // paths are the file paths that will be queried for. Paths []string `protobuf:"bytes,4,rep,name=paths,proto3" json:"paths,omitempty"` } func (x *GetFileAttributesRequest) Reset() { *x = GetFileAttributesRequest{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetFileAttributesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetFileAttributesRequest) ProtoMessage() {} func (x *GetFileAttributesRequest) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[87] 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 GetFileAttributesRequest.ProtoReflect.Descriptor instead. func (*GetFileAttributesRequest) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{87} } func (x *GetFileAttributesRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *GetFileAttributesRequest) GetRevision() []byte { if x != nil { return x.Revision } return nil } func (x *GetFileAttributesRequest) GetAttributes() []string { if x != nil { return x.Attributes } return nil } func (x *GetFileAttributesRequest) GetPaths() []string { if x != nil { return x.Paths } return nil } // GetFileAttributesResponse is a response for the GetFileAttributes RPC. type GetFileAttributesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // attribute_infos is the list of attributes that matches the given GetFileAttributesRequest AttributeInfos []*GetFileAttributesResponse_AttributeInfo `protobuf:"bytes,1,rep,name=attribute_infos,json=attributeInfos,proto3" json:"attribute_infos,omitempty"` } func (x *GetFileAttributesResponse) Reset() { *x = GetFileAttributesResponse{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetFileAttributesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetFileAttributesResponse) ProtoMessage() {} func (x *GetFileAttributesResponse) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[88] 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 GetFileAttributesResponse.ProtoReflect.Descriptor instead. func (*GetFileAttributesResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{88} } func (x *GetFileAttributesResponse) GetAttributeInfos() []*GetFileAttributesResponse_AttributeInfo { if x != nil { return x.AttributeInfos } return nil } // ReferencesInfo hosts information about references. type RepositoryInfoResponse_ReferencesInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // loose_count 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"` // packed_size 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[89] 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[89] 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{5, 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"` // recent_size 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"` // stale_size 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"` // keep_size 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[90] 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[90] 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{5, 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 } // RawChange represents the metadata for a single change between the two // revisions. type GetRawChangesResponse_RawChange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // blob_id is the OID of the file that was changed. BlobId string `protobuf:"bytes,1,opt,name=blob_id,json=blobId,proto3" json:"blob_id,omitempty"` // size is the blob size in bytes. Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` // operation is the change that occurred on the file. Operation GetRawChangesResponse_RawChange_Operation `protobuf:"varint,5,opt,name=operation,proto3,enum=gitaly.GetRawChangesResponse_RawChange_Operation" json:"operation,omitempty"` // old_mode is the previous mode of the file. This may be equal to new_mode. OldMode int32 `protobuf:"varint,7,opt,name=old_mode,json=oldMode,proto3" json:"old_mode,omitempty"` // new_mode is the current mode of the file. This may be equal to old_mode. NewMode int32 `protobuf:"varint,8,opt,name=new_mode,json=newMode,proto3" json:"new_mode,omitempty"` // new_path_bytes is the new file path. This may be equal to old_path_bytes. NewPathBytes []byte `protobuf:"bytes,9,opt,name=new_path_bytes,json=newPathBytes,proto3" json:"new_path_bytes,omitempty"` // old_path_bytes is the old file path. This may be equal to new_path_bytes. OldPathBytes []byte `protobuf:"bytes,10,opt,name=old_path_bytes,json=oldPathBytes,proto3" json:"old_path_bytes,omitempty"` } func (x *GetRawChangesResponse_RawChange) Reset() { *x = GetRawChangesResponse_RawChange{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetRawChangesResponse_RawChange) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRawChangesResponse_RawChange) ProtoMessage() {} func (x *GetRawChangesResponse_RawChange) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[91] 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 GetRawChangesResponse_RawChange.ProtoReflect.Descriptor instead. func (*GetRawChangesResponse_RawChange) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{61, 0} } func (x *GetRawChangesResponse_RawChange) GetBlobId() string { if x != nil { return x.BlobId } return "" } func (x *GetRawChangesResponse_RawChange) GetSize() int64 { if x != nil { return x.Size } return 0 } func (x *GetRawChangesResponse_RawChange) GetOperation() GetRawChangesResponse_RawChange_Operation { if x != nil { return x.Operation } return GetRawChangesResponse_RawChange_UNKNOWN } func (x *GetRawChangesResponse_RawChange) GetOldMode() int32 { if x != nil { return x.OldMode } return 0 } func (x *GetRawChangesResponse_RawChange) GetNewMode() int32 { if x != nil { return x.NewMode } return 0 } func (x *GetRawChangesResponse_RawChange) GetNewPathBytes() []byte { if x != nil { return x.NewPathBytes } return nil } func (x *GetRawChangesResponse_RawChange) GetOldPathBytes() []byte { if x != nil { return x.OldPathBytes } return nil } // SkippedError is returned when the repository backup has been skipped. type BackupRepositoryResponse_SkippedError struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *BackupRepositoryResponse_SkippedError) Reset() { *x = BackupRepositoryResponse_SkippedError{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BackupRepositoryResponse_SkippedError) String() string { return protoimpl.X.MessageStringOf(x) } func (*BackupRepositoryResponse_SkippedError) ProtoMessage() {} func (x *BackupRepositoryResponse_SkippedError) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[92] 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 BackupRepositoryResponse_SkippedError.ProtoReflect.Descriptor instead. func (*BackupRepositoryResponse_SkippedError) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{84, 0} } // SkippedError is returned when the repository restore has been skipped. type RestoreRepositoryResponse_SkippedError struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RestoreRepositoryResponse_SkippedError) Reset() { *x = RestoreRepositoryResponse_SkippedError{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RestoreRepositoryResponse_SkippedError) String() string { return protoimpl.X.MessageStringOf(x) } func (*RestoreRepositoryResponse_SkippedError) ProtoMessage() {} func (x *RestoreRepositoryResponse_SkippedError) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[93] 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 RestoreRepositoryResponse_SkippedError.ProtoReflect.Descriptor instead. func (*RestoreRepositoryResponse_SkippedError) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{86, 0} } // AttributeInfo is a specified git attribute for a given path. type GetFileAttributesResponse_AttributeInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // path is the file path for the current attribute value. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // attribute is the name of the attribute. Attribute string `protobuf:"bytes,2,opt,name=attribute,proto3" json:"attribute,omitempty"` // value is the current value of the attribute. // "set" is used when the attribute is true, and "unset" when it's false. // See gitattributes(5) and git-check-attr(1) for more info. Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *GetFileAttributesResponse_AttributeInfo) Reset() { *x = GetFileAttributesResponse_AttributeInfo{} if protoimpl.UnsafeEnabled { mi := &file_repository_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetFileAttributesResponse_AttributeInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetFileAttributesResponse_AttributeInfo) ProtoMessage() {} func (x *GetFileAttributesResponse_AttributeInfo) ProtoReflect() protoreflect.Message { mi := &file_repository_proto_msgTypes[94] 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 GetFileAttributesResponse_AttributeInfo.ProtoReflect.Descriptor instead. func (*GetFileAttributesResponse_AttributeInfo) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{88, 0} } func (x *GetFileAttributesResponse_AttributeInfo) GetPath() string { if x != nil { return x.Path } return "" } func (x *GetFileAttributesResponse_AttributeInfo) GetAttribute() string { if x != nil { return x.Attribute } return "" } func (x *GetFileAttributesResponse_AttributeInfo) GetValue() string { if x != nil { return x.Value } return "" } var File_repository_proto protoreflect.FileDescriptor var file_repository_proto_rawDesc = []byte{ 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x1a, 0x0a, 0x6c, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x17, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x78, 0x69, 0x73, 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, 0x32, 0x0a, 0x18, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 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, 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, 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, 0x6c, 0x0a, 0x12, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 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, 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, 0x29, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 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, 0x04, 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, 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, 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, 0xaf, 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, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 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, 0xaa, 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, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 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, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfc, 0x01, 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, 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, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x6f, 0x73, 0x74, 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, 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, 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, 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, 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, 0xd3, 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, 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, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x6f, 0x73, 0x74, 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, 0x8f, 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, 0xab, 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, 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, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x52, 0x0d, 0x72, 0x61, 0x77, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x97, 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, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x10, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 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, 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, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x22, 0xc5, 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, 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, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x6f, 0x73, 0x74, 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, 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, 0xec, 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, 0x12, 0x68, 0x0a, 0x31, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 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, 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, 0x3b, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0x88, 0xc6, 0x2c, 0x01, 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, 0x22, 0xd3, 0x01, 0x0a, 0x17, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 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, 0x3f, 0x0a, 0x11, 0x76, 0x61, 0x6e, 0x69, 0x74, 0x79, 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, 0x76, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x22, 0x2a, 0x0a, 0x18, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x0e, 0x0a, 0x0c, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xd7, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 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, 0x3f, 0x0a, 0x11, 0x76, 0x61, 0x6e, 0x69, 0x74, 0x79, 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, 0x76, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x22, 0x2b, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x0e, 0x0a, 0x0c, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa6, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 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, 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, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x1a, 0x57, 0x0a, 0x0d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, 0xaf, 0x20, 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, 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, 0x50, 0x0a, 0x0b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x28, 0x01, 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, 0x66, 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, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x88, 0x02, 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, 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, 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, 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, 0x65, 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, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x88, 0x02, 0x01, 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, 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, 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, 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, 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, 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, 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, 0x4a, 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, 0x08, 0xfa, 0x97, 0x28, 0x04, 0x08, 0x01, 0x10, 0x02, 0x12, 0x5d, 0x0a, 0x10, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 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, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 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, 0x02, 0x12, 0x60, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 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, 0x60, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 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, 0x46, 0x69, 0x6c, 0x65, 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, 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, 0x36, 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 ( file_repository_proto_rawDescOnce sync.Once file_repository_proto_rawDescData = file_repository_proto_rawDesc ) func file_repository_proto_rawDescGZIP() []byte { file_repository_proto_rawDescOnce.Do(func() { file_repository_proto_rawDescData = protoimpl.X.CompressGZIP(file_repository_proto_rawDescData) }) return file_repository_proto_rawDescData } var file_repository_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_repository_proto_msgTypes = make([]protoimpl.MessageInfo, 95) var file_repository_proto_goTypes = []interface{}{ (GetArchiveRequest_Format)(0), // 0: gitaly.GetArchiveRequest.Format (GetRawChangesResponse_RawChange_Operation)(0), // 1: gitaly.GetRawChangesResponse.RawChange.Operation (OptimizeRepositoryRequest_Strategy)(0), // 2: gitaly.OptimizeRepositoryRequest.Strategy (*RepositoryExistsRequest)(nil), // 3: gitaly.RepositoryExistsRequest (*RepositoryExistsResponse)(nil), // 4: gitaly.RepositoryExistsResponse (*RepositorySizeRequest)(nil), // 5: gitaly.RepositorySizeRequest (*RepositorySizeResponse)(nil), // 6: gitaly.RepositorySizeResponse (*RepositoryInfoRequest)(nil), // 7: gitaly.RepositoryInfoRequest (*RepositoryInfoResponse)(nil), // 8: gitaly.RepositoryInfoResponse (*ObjectsSizeRequest)(nil), // 9: gitaly.ObjectsSizeRequest (*ObjectsSizeResponse)(nil), // 10: gitaly.ObjectsSizeResponse (*ObjectFormatRequest)(nil), // 11: gitaly.ObjectFormatRequest (*ObjectFormatResponse)(nil), // 12: gitaly.ObjectFormatResponse (*ApplyGitattributesRequest)(nil), // 13: gitaly.ApplyGitattributesRequest (*ApplyGitattributesResponse)(nil), // 14: gitaly.ApplyGitattributesResponse (*FetchBundleRequest)(nil), // 15: gitaly.FetchBundleRequest (*FetchBundleResponse)(nil), // 16: gitaly.FetchBundleResponse (*FetchRemoteRequest)(nil), // 17: gitaly.FetchRemoteRequest (*FetchRemoteResponse)(nil), // 18: gitaly.FetchRemoteResponse (*CreateRepositoryRequest)(nil), // 19: gitaly.CreateRepositoryRequest (*CreateRepositoryResponse)(nil), // 20: gitaly.CreateRepositoryResponse (*GetArchiveRequest)(nil), // 21: gitaly.GetArchiveRequest (*GetArchiveResponse)(nil), // 22: gitaly.GetArchiveResponse (*HasLocalBranchesRequest)(nil), // 23: gitaly.HasLocalBranchesRequest (*HasLocalBranchesResponse)(nil), // 24: gitaly.HasLocalBranchesResponse (*FetchSourceBranchRequest)(nil), // 25: gitaly.FetchSourceBranchRequest (*FetchSourceBranchResponse)(nil), // 26: gitaly.FetchSourceBranchResponse (*FsckRequest)(nil), // 27: gitaly.FsckRequest (*FsckResponse)(nil), // 28: gitaly.FsckResponse (*WriteRefRequest)(nil), // 29: gitaly.WriteRefRequest (*WriteRefResponse)(nil), // 30: gitaly.WriteRefResponse (*FindMergeBaseRequest)(nil), // 31: gitaly.FindMergeBaseRequest (*FindMergeBaseResponse)(nil), // 32: gitaly.FindMergeBaseResponse (*CreateForkRequest)(nil), // 33: gitaly.CreateForkRequest (*CreateForkResponse)(nil), // 34: gitaly.CreateForkResponse (*CreateRepositoryFromURLRequest)(nil), // 35: gitaly.CreateRepositoryFromURLRequest (*CreateRepositoryFromURLResponse)(nil), // 36: gitaly.CreateRepositoryFromURLResponse (*CreateBundleRequest)(nil), // 37: gitaly.CreateBundleRequest (*CreateBundleResponse)(nil), // 38: gitaly.CreateBundleResponse (*CreateBundleFromRefListRequest)(nil), // 39: gitaly.CreateBundleFromRefListRequest (*CreateBundleFromRefListResponse)(nil), // 40: gitaly.CreateBundleFromRefListResponse (*GetConfigRequest)(nil), // 41: gitaly.GetConfigRequest (*GetConfigResponse)(nil), // 42: gitaly.GetConfigResponse (*RestoreCustomHooksRequest)(nil), // 43: gitaly.RestoreCustomHooksRequest (*SetCustomHooksRequest)(nil), // 44: gitaly.SetCustomHooksRequest (*RestoreCustomHooksResponse)(nil), // 45: gitaly.RestoreCustomHooksResponse (*SetCustomHooksResponse)(nil), // 46: gitaly.SetCustomHooksResponse (*BackupCustomHooksRequest)(nil), // 47: gitaly.BackupCustomHooksRequest (*GetCustomHooksRequest)(nil), // 48: gitaly.GetCustomHooksRequest (*BackupCustomHooksResponse)(nil), // 49: gitaly.BackupCustomHooksResponse (*GetCustomHooksResponse)(nil), // 50: gitaly.GetCustomHooksResponse (*CreateRepositoryFromBundleRequest)(nil), // 51: gitaly.CreateRepositoryFromBundleRequest (*CreateRepositoryFromBundleResponse)(nil), // 52: gitaly.CreateRepositoryFromBundleResponse (*FindLicenseRequest)(nil), // 53: gitaly.FindLicenseRequest (*FindLicenseResponse)(nil), // 54: gitaly.FindLicenseResponse (*GetInfoAttributesRequest)(nil), // 55: gitaly.GetInfoAttributesRequest (*GetInfoAttributesResponse)(nil), // 56: gitaly.GetInfoAttributesResponse (*CalculateChecksumRequest)(nil), // 57: gitaly.CalculateChecksumRequest (*CalculateChecksumResponse)(nil), // 58: gitaly.CalculateChecksumResponse (*GetSnapshotRequest)(nil), // 59: gitaly.GetSnapshotRequest (*GetSnapshotResponse)(nil), // 60: gitaly.GetSnapshotResponse (*CreateRepositoryFromSnapshotRequest)(nil), // 61: gitaly.CreateRepositoryFromSnapshotRequest (*CreateRepositoryFromSnapshotResponse)(nil), // 62: gitaly.CreateRepositoryFromSnapshotResponse (*GetRawChangesRequest)(nil), // 63: gitaly.GetRawChangesRequest (*GetRawChangesResponse)(nil), // 64: gitaly.GetRawChangesResponse (*SearchFilesByNameRequest)(nil), // 65: gitaly.SearchFilesByNameRequest (*SearchFilesByNameResponse)(nil), // 66: gitaly.SearchFilesByNameResponse (*SearchFilesByContentRequest)(nil), // 67: gitaly.SearchFilesByContentRequest (*SearchFilesByContentResponse)(nil), // 68: gitaly.SearchFilesByContentResponse (*Remote)(nil), // 69: gitaly.Remote (*GetObjectDirectorySizeRequest)(nil), // 70: gitaly.GetObjectDirectorySizeRequest (*GetObjectDirectorySizeResponse)(nil), // 71: gitaly.GetObjectDirectorySizeResponse (*RemoveRepositoryRequest)(nil), // 72: gitaly.RemoveRepositoryRequest (*RemoveRepositoryResponse)(nil), // 73: gitaly.RemoveRepositoryResponse (*ReplicateRepositoryRequest)(nil), // 74: gitaly.ReplicateRepositoryRequest (*ReplicateRepositoryResponse)(nil), // 75: gitaly.ReplicateRepositoryResponse (*OptimizeRepositoryRequest)(nil), // 76: gitaly.OptimizeRepositoryRequest (*OptimizeRepositoryResponse)(nil), // 77: gitaly.OptimizeRepositoryResponse (*PruneUnreachableObjectsRequest)(nil), // 78: gitaly.PruneUnreachableObjectsRequest (*PruneUnreachableObjectsResponse)(nil), // 79: gitaly.PruneUnreachableObjectsResponse (*SetFullPathRequest)(nil), // 80: gitaly.SetFullPathRequest (*SetFullPathResponse)(nil), // 81: gitaly.SetFullPathResponse (*FullPathRequest)(nil), // 82: gitaly.FullPathRequest (*FullPathResponse)(nil), // 83: gitaly.FullPathResponse (*RemoveAllRequest)(nil), // 84: gitaly.RemoveAllRequest (*RemoveAllResponse)(nil), // 85: gitaly.RemoveAllResponse (*BackupRepositoryRequest)(nil), // 86: gitaly.BackupRepositoryRequest (*BackupRepositoryResponse)(nil), // 87: gitaly.BackupRepositoryResponse (*RestoreRepositoryRequest)(nil), // 88: gitaly.RestoreRepositoryRequest (*RestoreRepositoryResponse)(nil), // 89: gitaly.RestoreRepositoryResponse (*GetFileAttributesRequest)(nil), // 90: gitaly.GetFileAttributesRequest (*GetFileAttributesResponse)(nil), // 91: gitaly.GetFileAttributesResponse (*RepositoryInfoResponse_ReferencesInfo)(nil), // 92: gitaly.RepositoryInfoResponse.ReferencesInfo (*RepositoryInfoResponse_ObjectsInfo)(nil), // 93: gitaly.RepositoryInfoResponse.ObjectsInfo (*GetRawChangesResponse_RawChange)(nil), // 94: gitaly.GetRawChangesResponse.RawChange (*BackupRepositoryResponse_SkippedError)(nil), // 95: gitaly.BackupRepositoryResponse.SkippedError (*RestoreRepositoryResponse_SkippedError)(nil), // 96: gitaly.RestoreRepositoryResponse.SkippedError (*GetFileAttributesResponse_AttributeInfo)(nil), // 97: gitaly.GetFileAttributesResponse.AttributeInfo (*Repository)(nil), // 98: gitaly.Repository (ObjectFormat)(0), // 99: gitaly.ObjectFormat } var file_repository_proto_depIdxs = []int32{ 98, // 0: gitaly.RepositoryExistsRequest.repository:type_name -> gitaly.Repository 98, // 1: gitaly.RepositorySizeRequest.repository:type_name -> gitaly.Repository 98, // 2: gitaly.RepositoryInfoRequest.repository:type_name -> gitaly.Repository 92, // 3: gitaly.RepositoryInfoResponse.references:type_name -> gitaly.RepositoryInfoResponse.ReferencesInfo 93, // 4: gitaly.RepositoryInfoResponse.objects:type_name -> gitaly.RepositoryInfoResponse.ObjectsInfo 98, // 5: gitaly.ObjectsSizeRequest.repository:type_name -> gitaly.Repository 98, // 6: gitaly.ObjectFormatRequest.repository:type_name -> gitaly.Repository 99, // 7: gitaly.ObjectFormatResponse.format:type_name -> gitaly.ObjectFormat 98, // 8: gitaly.ApplyGitattributesRequest.repository:type_name -> gitaly.Repository 98, // 9: gitaly.FetchBundleRequest.repository:type_name -> gitaly.Repository 98, // 10: gitaly.FetchRemoteRequest.repository:type_name -> gitaly.Repository 69, // 11: gitaly.FetchRemoteRequest.remote_params:type_name -> gitaly.Remote 98, // 12: gitaly.CreateRepositoryRequest.repository:type_name -> gitaly.Repository 99, // 13: gitaly.CreateRepositoryRequest.object_format:type_name -> gitaly.ObjectFormat 98, // 14: gitaly.GetArchiveRequest.repository:type_name -> gitaly.Repository 0, // 15: gitaly.GetArchiveRequest.format:type_name -> gitaly.GetArchiveRequest.Format 98, // 16: gitaly.HasLocalBranchesRequest.repository:type_name -> gitaly.Repository 98, // 17: gitaly.FetchSourceBranchRequest.repository:type_name -> gitaly.Repository 98, // 18: gitaly.FetchSourceBranchRequest.source_repository:type_name -> gitaly.Repository 98, // 19: gitaly.FsckRequest.repository:type_name -> gitaly.Repository 98, // 20: gitaly.WriteRefRequest.repository:type_name -> gitaly.Repository 98, // 21: gitaly.FindMergeBaseRequest.repository:type_name -> gitaly.Repository 98, // 22: gitaly.CreateForkRequest.repository:type_name -> gitaly.Repository 98, // 23: gitaly.CreateForkRequest.source_repository:type_name -> gitaly.Repository 98, // 24: gitaly.CreateRepositoryFromURLRequest.repository:type_name -> gitaly.Repository 98, // 25: gitaly.CreateBundleRequest.repository:type_name -> gitaly.Repository 98, // 26: gitaly.CreateBundleFromRefListRequest.repository:type_name -> gitaly.Repository 98, // 27: gitaly.GetConfigRequest.repository:type_name -> gitaly.Repository 98, // 28: gitaly.RestoreCustomHooksRequest.repository:type_name -> gitaly.Repository 98, // 29: gitaly.SetCustomHooksRequest.repository:type_name -> gitaly.Repository 98, // 30: gitaly.BackupCustomHooksRequest.repository:type_name -> gitaly.Repository 98, // 31: gitaly.GetCustomHooksRequest.repository:type_name -> gitaly.Repository 98, // 32: gitaly.CreateRepositoryFromBundleRequest.repository:type_name -> gitaly.Repository 98, // 33: gitaly.FindLicenseRequest.repository:type_name -> gitaly.Repository 98, // 34: gitaly.GetInfoAttributesRequest.repository:type_name -> gitaly.Repository 98, // 35: gitaly.CalculateChecksumRequest.repository:type_name -> gitaly.Repository 98, // 36: gitaly.GetSnapshotRequest.repository:type_name -> gitaly.Repository 98, // 37: gitaly.CreateRepositoryFromSnapshotRequest.repository:type_name -> gitaly.Repository 98, // 38: gitaly.GetRawChangesRequest.repository:type_name -> gitaly.Repository 94, // 39: gitaly.GetRawChangesResponse.raw_changes:type_name -> gitaly.GetRawChangesResponse.RawChange 98, // 40: gitaly.SearchFilesByNameRequest.repository:type_name -> gitaly.Repository 98, // 41: gitaly.SearchFilesByContentRequest.repository:type_name -> gitaly.Repository 98, // 42: gitaly.GetObjectDirectorySizeRequest.repository:type_name -> gitaly.Repository 98, // 43: gitaly.RemoveRepositoryRequest.repository:type_name -> gitaly.Repository 98, // 44: gitaly.ReplicateRepositoryRequest.repository:type_name -> gitaly.Repository 98, // 45: gitaly.ReplicateRepositoryRequest.source:type_name -> gitaly.Repository 98, // 46: gitaly.OptimizeRepositoryRequest.repository:type_name -> gitaly.Repository 2, // 47: gitaly.OptimizeRepositoryRequest.strategy:type_name -> gitaly.OptimizeRepositoryRequest.Strategy 98, // 48: gitaly.PruneUnreachableObjectsRequest.repository:type_name -> gitaly.Repository 98, // 49: gitaly.SetFullPathRequest.repository:type_name -> gitaly.Repository 98, // 50: gitaly.FullPathRequest.repository:type_name -> gitaly.Repository 98, // 51: gitaly.BackupRepositoryRequest.repository:type_name -> gitaly.Repository 98, // 52: gitaly.BackupRepositoryRequest.vanity_repository:type_name -> gitaly.Repository 98, // 53: gitaly.RestoreRepositoryRequest.repository:type_name -> gitaly.Repository 98, // 54: gitaly.RestoreRepositoryRequest.vanity_repository:type_name -> gitaly.Repository 98, // 55: gitaly.GetFileAttributesRequest.repository:type_name -> gitaly.Repository 97, // 56: gitaly.GetFileAttributesResponse.attribute_infos:type_name -> gitaly.GetFileAttributesResponse.AttributeInfo 1, // 57: gitaly.GetRawChangesResponse.RawChange.operation:type_name -> gitaly.GetRawChangesResponse.RawChange.Operation 3, // 58: gitaly.RepositoryService.RepositoryExists:input_type -> gitaly.RepositoryExistsRequest 5, // 59: gitaly.RepositoryService.RepositorySize:input_type -> gitaly.RepositorySizeRequest 7, // 60: gitaly.RepositoryService.RepositoryInfo:input_type -> gitaly.RepositoryInfoRequest 9, // 61: gitaly.RepositoryService.ObjectsSize:input_type -> gitaly.ObjectsSizeRequest 11, // 62: gitaly.RepositoryService.ObjectFormat:input_type -> gitaly.ObjectFormatRequest 13, // 63: gitaly.RepositoryService.ApplyGitattributes:input_type -> gitaly.ApplyGitattributesRequest 17, // 64: gitaly.RepositoryService.FetchRemote:input_type -> gitaly.FetchRemoteRequest 19, // 65: gitaly.RepositoryService.CreateRepository:input_type -> gitaly.CreateRepositoryRequest 21, // 66: gitaly.RepositoryService.GetArchive:input_type -> gitaly.GetArchiveRequest 23, // 67: gitaly.RepositoryService.HasLocalBranches:input_type -> gitaly.HasLocalBranchesRequest 25, // 68: gitaly.RepositoryService.FetchSourceBranch:input_type -> gitaly.FetchSourceBranchRequest 27, // 69: gitaly.RepositoryService.Fsck:input_type -> gitaly.FsckRequest 29, // 70: gitaly.RepositoryService.WriteRef:input_type -> gitaly.WriteRefRequest 31, // 71: gitaly.RepositoryService.FindMergeBase:input_type -> gitaly.FindMergeBaseRequest 33, // 72: gitaly.RepositoryService.CreateFork:input_type -> gitaly.CreateForkRequest 35, // 73: gitaly.RepositoryService.CreateRepositoryFromURL:input_type -> gitaly.CreateRepositoryFromURLRequest 37, // 74: gitaly.RepositoryService.CreateBundle:input_type -> gitaly.CreateBundleRequest 39, // 75: gitaly.RepositoryService.CreateBundleFromRefList:input_type -> gitaly.CreateBundleFromRefListRequest 15, // 76: gitaly.RepositoryService.FetchBundle:input_type -> gitaly.FetchBundleRequest 51, // 77: gitaly.RepositoryService.CreateRepositoryFromBundle:input_type -> gitaly.CreateRepositoryFromBundleRequest 41, // 78: gitaly.RepositoryService.GetConfig:input_type -> gitaly.GetConfigRequest 53, // 79: gitaly.RepositoryService.FindLicense:input_type -> gitaly.FindLicenseRequest 55, // 80: gitaly.RepositoryService.GetInfoAttributes:input_type -> gitaly.GetInfoAttributesRequest 57, // 81: gitaly.RepositoryService.CalculateChecksum:input_type -> gitaly.CalculateChecksumRequest 59, // 82: gitaly.RepositoryService.GetSnapshot:input_type -> gitaly.GetSnapshotRequest 61, // 83: gitaly.RepositoryService.CreateRepositoryFromSnapshot:input_type -> gitaly.CreateRepositoryFromSnapshotRequest 63, // 84: gitaly.RepositoryService.GetRawChanges:input_type -> gitaly.GetRawChangesRequest 67, // 85: gitaly.RepositoryService.SearchFilesByContent:input_type -> gitaly.SearchFilesByContentRequest 65, // 86: gitaly.RepositoryService.SearchFilesByName:input_type -> gitaly.SearchFilesByNameRequest 43, // 87: gitaly.RepositoryService.RestoreCustomHooks:input_type -> gitaly.RestoreCustomHooksRequest 44, // 88: gitaly.RepositoryService.SetCustomHooks:input_type -> gitaly.SetCustomHooksRequest 47, // 89: gitaly.RepositoryService.BackupCustomHooks:input_type -> gitaly.BackupCustomHooksRequest 48, // 90: gitaly.RepositoryService.GetCustomHooks:input_type -> gitaly.GetCustomHooksRequest 70, // 91: gitaly.RepositoryService.GetObjectDirectorySize:input_type -> gitaly.GetObjectDirectorySizeRequest 72, // 92: gitaly.RepositoryService.RemoveRepository:input_type -> gitaly.RemoveRepositoryRequest 74, // 93: gitaly.RepositoryService.ReplicateRepository:input_type -> gitaly.ReplicateRepositoryRequest 76, // 94: gitaly.RepositoryService.OptimizeRepository:input_type -> gitaly.OptimizeRepositoryRequest 78, // 95: gitaly.RepositoryService.PruneUnreachableObjects:input_type -> gitaly.PruneUnreachableObjectsRequest 80, // 96: gitaly.RepositoryService.SetFullPath:input_type -> gitaly.SetFullPathRequest 82, // 97: gitaly.RepositoryService.FullPath:input_type -> gitaly.FullPathRequest 84, // 98: gitaly.RepositoryService.RemoveAll:input_type -> gitaly.RemoveAllRequest 86, // 99: gitaly.RepositoryService.BackupRepository:input_type -> gitaly.BackupRepositoryRequest 88, // 100: gitaly.RepositoryService.RestoreRepository:input_type -> gitaly.RestoreRepositoryRequest 90, // 101: gitaly.RepositoryService.GetFileAttributes:input_type -> gitaly.GetFileAttributesRequest 4, // 102: gitaly.RepositoryService.RepositoryExists:output_type -> gitaly.RepositoryExistsResponse 6, // 103: gitaly.RepositoryService.RepositorySize:output_type -> gitaly.RepositorySizeResponse 8, // 104: gitaly.RepositoryService.RepositoryInfo:output_type -> gitaly.RepositoryInfoResponse 10, // 105: gitaly.RepositoryService.ObjectsSize:output_type -> gitaly.ObjectsSizeResponse 12, // 106: gitaly.RepositoryService.ObjectFormat:output_type -> gitaly.ObjectFormatResponse 14, // 107: gitaly.RepositoryService.ApplyGitattributes:output_type -> gitaly.ApplyGitattributesResponse 18, // 108: gitaly.RepositoryService.FetchRemote:output_type -> gitaly.FetchRemoteResponse 20, // 109: gitaly.RepositoryService.CreateRepository:output_type -> gitaly.CreateRepositoryResponse 22, // 110: gitaly.RepositoryService.GetArchive:output_type -> gitaly.GetArchiveResponse 24, // 111: gitaly.RepositoryService.HasLocalBranches:output_type -> gitaly.HasLocalBranchesResponse 26, // 112: gitaly.RepositoryService.FetchSourceBranch:output_type -> gitaly.FetchSourceBranchResponse 28, // 113: gitaly.RepositoryService.Fsck:output_type -> gitaly.FsckResponse 30, // 114: gitaly.RepositoryService.WriteRef:output_type -> gitaly.WriteRefResponse 32, // 115: gitaly.RepositoryService.FindMergeBase:output_type -> gitaly.FindMergeBaseResponse 34, // 116: gitaly.RepositoryService.CreateFork:output_type -> gitaly.CreateForkResponse 36, // 117: gitaly.RepositoryService.CreateRepositoryFromURL:output_type -> gitaly.CreateRepositoryFromURLResponse 38, // 118: gitaly.RepositoryService.CreateBundle:output_type -> gitaly.CreateBundleResponse 40, // 119: gitaly.RepositoryService.CreateBundleFromRefList:output_type -> gitaly.CreateBundleFromRefListResponse 16, // 120: gitaly.RepositoryService.FetchBundle:output_type -> gitaly.FetchBundleResponse 52, // 121: gitaly.RepositoryService.CreateRepositoryFromBundle:output_type -> gitaly.CreateRepositoryFromBundleResponse 42, // 122: gitaly.RepositoryService.GetConfig:output_type -> gitaly.GetConfigResponse 54, // 123: gitaly.RepositoryService.FindLicense:output_type -> gitaly.FindLicenseResponse 56, // 124: gitaly.RepositoryService.GetInfoAttributes:output_type -> gitaly.GetInfoAttributesResponse 58, // 125: gitaly.RepositoryService.CalculateChecksum:output_type -> gitaly.CalculateChecksumResponse 60, // 126: gitaly.RepositoryService.GetSnapshot:output_type -> gitaly.GetSnapshotResponse 62, // 127: gitaly.RepositoryService.CreateRepositoryFromSnapshot:output_type -> gitaly.CreateRepositoryFromSnapshotResponse 64, // 128: gitaly.RepositoryService.GetRawChanges:output_type -> gitaly.GetRawChangesResponse 68, // 129: gitaly.RepositoryService.SearchFilesByContent:output_type -> gitaly.SearchFilesByContentResponse 66, // 130: gitaly.RepositoryService.SearchFilesByName:output_type -> gitaly.SearchFilesByNameResponse 45, // 131: gitaly.RepositoryService.RestoreCustomHooks:output_type -> gitaly.RestoreCustomHooksResponse 46, // 132: gitaly.RepositoryService.SetCustomHooks:output_type -> gitaly.SetCustomHooksResponse 49, // 133: gitaly.RepositoryService.BackupCustomHooks:output_type -> gitaly.BackupCustomHooksResponse 50, // 134: gitaly.RepositoryService.GetCustomHooks:output_type -> gitaly.GetCustomHooksResponse 71, // 135: gitaly.RepositoryService.GetObjectDirectorySize:output_type -> gitaly.GetObjectDirectorySizeResponse 73, // 136: gitaly.RepositoryService.RemoveRepository:output_type -> gitaly.RemoveRepositoryResponse 75, // 137: gitaly.RepositoryService.ReplicateRepository:output_type -> gitaly.ReplicateRepositoryResponse 77, // 138: gitaly.RepositoryService.OptimizeRepository:output_type -> gitaly.OptimizeRepositoryResponse 79, // 139: gitaly.RepositoryService.PruneUnreachableObjects:output_type -> gitaly.PruneUnreachableObjectsResponse 81, // 140: gitaly.RepositoryService.SetFullPath:output_type -> gitaly.SetFullPathResponse 83, // 141: gitaly.RepositoryService.FullPath:output_type -> gitaly.FullPathResponse 85, // 142: gitaly.RepositoryService.RemoveAll:output_type -> gitaly.RemoveAllResponse 87, // 143: gitaly.RepositoryService.BackupRepository:output_type -> gitaly.BackupRepositoryResponse 89, // 144: gitaly.RepositoryService.RestoreRepository:output_type -> gitaly.RestoreRepositoryResponse 91, // 145: gitaly.RepositoryService.GetFileAttributes:output_type -> gitaly.GetFileAttributesResponse 102, // [102:146] is the sub-list for method output_type 58, // [58:102] is the sub-list for method input_type 58, // [58:58] is the sub-list for extension type_name 58, // [58:58] is the sub-list for extension extendee 0, // [0:58] is the sub-list for field type_name } func init() { file_repository_proto_init() } func file_repository_proto_init() { if File_repository_proto != nil { return } file_lint_proto_init() file_shared_proto_init() if !protoimpl.UnsafeEnabled { file_repository_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RepositoryExistsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RepositoryExistsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RepositorySizeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RepositorySizeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RepositoryInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RepositoryInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ObjectsSizeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ObjectsSizeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ObjectFormatRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ObjectFormatResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplyGitattributesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplyGitattributesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FetchBundleRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FetchBundleResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FetchRemoteRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FetchRemoteResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRepositoryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRepositoryResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetArchiveRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetArchiveResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HasLocalBranchesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HasLocalBranchesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FetchSourceBranchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FetchSourceBranchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FsckRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FsckResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WriteRefRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WriteRefResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindMergeBaseRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindMergeBaseResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateForkRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateForkResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRepositoryFromURLRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRepositoryFromURLResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateBundleRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateBundleResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateBundleFromRefListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateBundleFromRefListResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetConfigRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetConfigResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreCustomHooksRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetCustomHooksRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreCustomHooksResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetCustomHooksResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BackupCustomHooksRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetCustomHooksRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BackupCustomHooksResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetCustomHooksResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRepositoryFromBundleRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRepositoryFromBundleResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindLicenseRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindLicenseResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetInfoAttributesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetInfoAttributesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CalculateChecksumRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CalculateChecksumResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSnapshotRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSnapshotResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRepositoryFromSnapshotRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRepositoryFromSnapshotResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRawChangesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRawChangesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchFilesByNameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchFilesByNameResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchFilesByContentRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchFilesByContentResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Remote); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetObjectDirectorySizeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetObjectDirectorySizeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveRepositoryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveRepositoryResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReplicateRepositoryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReplicateRepositoryResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OptimizeRepositoryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OptimizeRepositoryResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PruneUnreachableObjectsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PruneUnreachableObjectsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetFullPathRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetFullPathResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FullPathRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FullPathResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[81].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[82].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[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BackupRepositoryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BackupRepositoryResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreRepositoryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreRepositoryResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFileAttributesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFileAttributesResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[89].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[90].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[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRawChangesResponse_RawChange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BackupRepositoryResponse_SkippedError); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_repository_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreRepositoryResponse_SkippedError); 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.(*GetFileAttributesResponse_AttributeInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_repository_proto_rawDesc, NumEnums: 3, NumMessages: 95, NumExtensions: 0, NumServices: 1, }, GoTypes: file_repository_proto_goTypes, DependencyIndexes: file_repository_proto_depIdxs, EnumInfos: file_repository_proto_enumTypes, MessageInfos: file_repository_proto_msgTypes, }.Build() File_repository_proto = out.File file_repository_proto_rawDesc = nil file_repository_proto_goTypes = nil file_repository_proto_depIdxs = nil }