proto/go/gitalypb/diff.pb.go (2,691 lines of code) (raw):

// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.5 // protoc v6.30.2 // source: diff.proto package gitalypb import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" unsafe "unsafe" ) 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) ) // DiffMode determines the type of diff that will be returned. type CommitDiffRequest_DiffMode int32 const ( // DEFAULT is the standard diff mode and results in a linewise diff for textfiles. CommitDiffRequest_DEFAULT CommitDiffRequest_DiffMode = 0 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH // WORDDIFF is a word diff and computes the diff for whitespace separated words instead of for whole lines. CommitDiffRequest_WORDDIFF CommitDiffRequest_DiffMode = 1 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX ) // Enum value maps for CommitDiffRequest_DiffMode. var ( CommitDiffRequest_DiffMode_name = map[int32]string{ 0: "DEFAULT", 1: "WORDDIFF", } CommitDiffRequest_DiffMode_value = map[string]int32{ "DEFAULT": 0, "WORDDIFF": 1, } ) func (x CommitDiffRequest_DiffMode) Enum() *CommitDiffRequest_DiffMode { p := new(CommitDiffRequest_DiffMode) *p = x return p } func (x CommitDiffRequest_DiffMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CommitDiffRequest_DiffMode) Descriptor() protoreflect.EnumDescriptor { return file_diff_proto_enumTypes[0].Descriptor() } func (CommitDiffRequest_DiffMode) Type() protoreflect.EnumType { return &file_diff_proto_enumTypes[0] } func (x CommitDiffRequest_DiffMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CommitDiffRequest_DiffMode.Descriptor instead. func (CommitDiffRequest_DiffMode) EnumDescriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{0, 0} } // WhitespaceChanges states which whitespace changes we should ignore. These options correlate to // the ones present in git-diff(1). type CommitDiffRequest_WhitespaceChanges int32 const ( // WHITESPACE_CHANGES_UNSPECIFIED is used to not ignore any whitespace changes. CommitDiffRequest_WHITESPACE_CHANGES_UNSPECIFIED CommitDiffRequest_WhitespaceChanges = 0 // WHITESPACE_CHANGES_IGNORE specifies to use the `--ignore-space-change` flag of git-diff(1). // Only changes in amount of whitespace are ignored. CommitDiffRequest_WHITESPACE_CHANGES_IGNORE CommitDiffRequest_WhitespaceChanges = 1 // WHITESPACE_CHANGES_IGNORE_ALL specifies to use the `--ignore-all-space` flag of git-diff(1). // all whitespace characters are ignored when comparing lines. CommitDiffRequest_WHITESPACE_CHANGES_IGNORE_ALL CommitDiffRequest_WhitespaceChanges = 2 ) // Enum value maps for CommitDiffRequest_WhitespaceChanges. var ( CommitDiffRequest_WhitespaceChanges_name = map[int32]string{ 0: "WHITESPACE_CHANGES_UNSPECIFIED", 1: "WHITESPACE_CHANGES_IGNORE", 2: "WHITESPACE_CHANGES_IGNORE_ALL", } CommitDiffRequest_WhitespaceChanges_value = map[string]int32{ "WHITESPACE_CHANGES_UNSPECIFIED": 0, "WHITESPACE_CHANGES_IGNORE": 1, "WHITESPACE_CHANGES_IGNORE_ALL": 2, } ) func (x CommitDiffRequest_WhitespaceChanges) Enum() *CommitDiffRequest_WhitespaceChanges { p := new(CommitDiffRequest_WhitespaceChanges) *p = x return p } func (x CommitDiffRequest_WhitespaceChanges) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CommitDiffRequest_WhitespaceChanges) Descriptor() protoreflect.EnumDescriptor { return file_diff_proto_enumTypes[1].Descriptor() } func (CommitDiffRequest_WhitespaceChanges) Type() protoreflect.EnumType { return &file_diff_proto_enumTypes[1] } func (x CommitDiffRequest_WhitespaceChanges) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CommitDiffRequest_WhitespaceChanges.Descriptor instead. func (CommitDiffRequest_WhitespaceChanges) EnumDescriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{0, 1} } // MergeCommitDiffMode controls which mode to use to produce diff output for merge commits type FindChangedPathsRequest_MergeCommitDiffMode int32 const ( // MERGE_COMMIT_DIFF_MODE_UNSPECIFIED is the default value. // It is equivalent to DIFF_MODE_INCLUDE_MERGES. FindChangedPathsRequest_MERGE_COMMIT_DIFF_MODE_UNSPECIFIED FindChangedPathsRequest_MergeCommitDiffMode = 0 // MERGE_COMMIT_DIFF_MODE_INCLUDE_MERGES tells git to also show differences for merge commits. // Please refer to the documentation of the `-m` flag of git-diff-tree(1). FindChangedPathsRequest_MERGE_COMMIT_DIFF_MODE_INCLUDE_MERGES FindChangedPathsRequest_MergeCommitDiffMode = 1 // MERGE_COMMIT_DIFF_MODE_ALL_PARENTS tells git to only show differences for // files which were modified from all parents. // Please refer to the documentation of the `-c` flag of git-diff-tree(1). FindChangedPathsRequest_MERGE_COMMIT_DIFF_MODE_ALL_PARENTS FindChangedPathsRequest_MergeCommitDiffMode = 2 ) // Enum value maps for FindChangedPathsRequest_MergeCommitDiffMode. var ( FindChangedPathsRequest_MergeCommitDiffMode_name = map[int32]string{ 0: "MERGE_COMMIT_DIFF_MODE_UNSPECIFIED", 1: "MERGE_COMMIT_DIFF_MODE_INCLUDE_MERGES", 2: "MERGE_COMMIT_DIFF_MODE_ALL_PARENTS", } FindChangedPathsRequest_MergeCommitDiffMode_value = map[string]int32{ "MERGE_COMMIT_DIFF_MODE_UNSPECIFIED": 0, "MERGE_COMMIT_DIFF_MODE_INCLUDE_MERGES": 1, "MERGE_COMMIT_DIFF_MODE_ALL_PARENTS": 2, } ) func (x FindChangedPathsRequest_MergeCommitDiffMode) Enum() *FindChangedPathsRequest_MergeCommitDiffMode { p := new(FindChangedPathsRequest_MergeCommitDiffMode) *p = x return p } func (x FindChangedPathsRequest_MergeCommitDiffMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (FindChangedPathsRequest_MergeCommitDiffMode) Descriptor() protoreflect.EnumDescriptor { return file_diff_proto_enumTypes[2].Descriptor() } func (FindChangedPathsRequest_MergeCommitDiffMode) Type() protoreflect.EnumType { return &file_diff_proto_enumTypes[2] } func (x FindChangedPathsRequest_MergeCommitDiffMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use FindChangedPathsRequest_MergeCommitDiffMode.Descriptor instead. func (FindChangedPathsRequest_MergeCommitDiffMode) EnumDescriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{12, 0} } // Status is an enum representing the type of change. type ChangedPaths_Status int32 const ( // ADDED indicates a file was added. ChangedPaths_ADDED ChangedPaths_Status = 0 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH // MODIFIED indicates a file was modified. ChangedPaths_MODIFIED ChangedPaths_Status = 1 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX // DELETED indicates a file was deleted. ChangedPaths_DELETED ChangedPaths_Status = 2 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX // TYPE_CHANGE indicates change in the type of the file (regular file, symbolic link or submodule). ChangedPaths_TYPE_CHANGE ChangedPaths_Status = 3 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX // COPIED indicates Git determined the file was copied. ChangedPaths_COPIED ChangedPaths_Status = 4 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX // RENAMED indicates Git determined the file was renamed. ChangedPaths_RENAMED ChangedPaths_Status = 5 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX ) // Enum value maps for ChangedPaths_Status. var ( ChangedPaths_Status_name = map[int32]string{ 0: "ADDED", 1: "MODIFIED", 2: "DELETED", 3: "TYPE_CHANGE", 4: "COPIED", 5: "RENAMED", } ChangedPaths_Status_value = map[string]int32{ "ADDED": 0, "MODIFIED": 1, "DELETED": 2, "TYPE_CHANGE": 3, "COPIED": 4, "RENAMED": 5, } ) func (x ChangedPaths_Status) Enum() *ChangedPaths_Status { p := new(ChangedPaths_Status) *p = x return p } func (x ChangedPaths_Status) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ChangedPaths_Status) Descriptor() protoreflect.EnumDescriptor { return file_diff_proto_enumTypes[3].Descriptor() } func (ChangedPaths_Status) Type() protoreflect.EnumType { return &file_diff_proto_enumTypes[3] } func (x ChangedPaths_Status) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ChangedPaths_Status.Descriptor instead. func (ChangedPaths_Status) EnumDescriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{14, 0} } // Comparator is the comparison state of the two commits (= , > , < , !). type RangeDiffResponse_Comparator int32 const ( // COMPARATOR_EQUAL_UNSPECIFIED specifies =. RangeDiffResponse_COMPARATOR_EQUAL_UNSPECIFIED RangeDiffResponse_Comparator = 0 // COMPARATOR_GREATER_THAN specifies >. RangeDiffResponse_COMPARATOR_GREATER_THAN RangeDiffResponse_Comparator = 1 // COMPARATOR_LESS_THAN specifies <. RangeDiffResponse_COMPARATOR_LESS_THAN RangeDiffResponse_Comparator = 2 // COMPARATOR_NOT_EQUAL specifies !. RangeDiffResponse_COMPARATOR_NOT_EQUAL RangeDiffResponse_Comparator = 3 ) // Enum value maps for RangeDiffResponse_Comparator. var ( RangeDiffResponse_Comparator_name = map[int32]string{ 0: "COMPARATOR_EQUAL_UNSPECIFIED", 1: "COMPARATOR_GREATER_THAN", 2: "COMPARATOR_LESS_THAN", 3: "COMPARATOR_NOT_EQUAL", } RangeDiffResponse_Comparator_value = map[string]int32{ "COMPARATOR_EQUAL_UNSPECIFIED": 0, "COMPARATOR_GREATER_THAN": 1, "COMPARATOR_LESS_THAN": 2, "COMPARATOR_NOT_EQUAL": 3, } ) func (x RangeDiffResponse_Comparator) Enum() *RangeDiffResponse_Comparator { p := new(RangeDiffResponse_Comparator) *p = x return p } func (x RangeDiffResponse_Comparator) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RangeDiffResponse_Comparator) Descriptor() protoreflect.EnumDescriptor { return file_diff_proto_enumTypes[4].Descriptor() } func (RangeDiffResponse_Comparator) Type() protoreflect.EnumType { return &file_diff_proto_enumTypes[4] } func (x RangeDiffResponse_Comparator) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RangeDiffResponse_Comparator.Descriptor instead. func (RangeDiffResponse_Comparator) EnumDescriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{23, 0} } // DiffMode determines the type of diff that will be returned. type DiffBlobsRequest_DiffMode int32 const ( // DIFF_MODE_UNSPECIFIED is the standard diff mode and results in a line diff for text files. DiffBlobsRequest_DIFF_MODE_UNSPECIFIED DiffBlobsRequest_DiffMode = 0 // DIFF_MODE_WORD is a word diff and computes the diff for whitespace separated words instead of // for whole lines by using the `--word-diff=porcelain` option. DiffBlobsRequest_DIFF_MODE_WORD DiffBlobsRequest_DiffMode = 1 ) // Enum value maps for DiffBlobsRequest_DiffMode. var ( DiffBlobsRequest_DiffMode_name = map[int32]string{ 0: "DIFF_MODE_UNSPECIFIED", 1: "DIFF_MODE_WORD", } DiffBlobsRequest_DiffMode_value = map[string]int32{ "DIFF_MODE_UNSPECIFIED": 0, "DIFF_MODE_WORD": 1, } ) func (x DiffBlobsRequest_DiffMode) Enum() *DiffBlobsRequest_DiffMode { p := new(DiffBlobsRequest_DiffMode) *p = x return p } func (x DiffBlobsRequest_DiffMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (DiffBlobsRequest_DiffMode) Descriptor() protoreflect.EnumDescriptor { return file_diff_proto_enumTypes[5].Descriptor() } func (DiffBlobsRequest_DiffMode) Type() protoreflect.EnumType { return &file_diff_proto_enumTypes[5] } func (x DiffBlobsRequest_DiffMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use DiffBlobsRequest_DiffMode.Descriptor instead. func (DiffBlobsRequest_DiffMode) EnumDescriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{24, 0} } // WhitespaceChanges states which whitespace changes we should ignore. These options correlate to // the ones present in git-diff(1). type DiffBlobsRequest_WhitespaceChanges int32 const ( // WHITESPACE_CHANGES_UNSPECIFIED is used to not ignore any whitespace changes. DiffBlobsRequest_WHITESPACE_CHANGES_UNSPECIFIED DiffBlobsRequest_WhitespaceChanges = 0 // WHITESPACE_CHANGES_IGNORE specifies to use the `--ignore-space-change` flag of git-diff(1). // Only changes in amount of whitespace are ignored. DiffBlobsRequest_WHITESPACE_CHANGES_IGNORE DiffBlobsRequest_WhitespaceChanges = 1 // WHITESPACE_CHANGES_IGNORE_ALL specifies to use the `--ignore-all-space` flag of git-diff(1). // all whitespace characters are ignored when comparing lines. DiffBlobsRequest_WHITESPACE_CHANGES_IGNORE_ALL DiffBlobsRequest_WhitespaceChanges = 2 ) // Enum value maps for DiffBlobsRequest_WhitespaceChanges. var ( DiffBlobsRequest_WhitespaceChanges_name = map[int32]string{ 0: "WHITESPACE_CHANGES_UNSPECIFIED", 1: "WHITESPACE_CHANGES_IGNORE", 2: "WHITESPACE_CHANGES_IGNORE_ALL", } DiffBlobsRequest_WhitespaceChanges_value = map[string]int32{ "WHITESPACE_CHANGES_UNSPECIFIED": 0, "WHITESPACE_CHANGES_IGNORE": 1, "WHITESPACE_CHANGES_IGNORE_ALL": 2, } ) func (x DiffBlobsRequest_WhitespaceChanges) Enum() *DiffBlobsRequest_WhitespaceChanges { p := new(DiffBlobsRequest_WhitespaceChanges) *p = x return p } func (x DiffBlobsRequest_WhitespaceChanges) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (DiffBlobsRequest_WhitespaceChanges) Descriptor() protoreflect.EnumDescriptor { return file_diff_proto_enumTypes[6].Descriptor() } func (DiffBlobsRequest_WhitespaceChanges) Type() protoreflect.EnumType { return &file_diff_proto_enumTypes[6] } func (x DiffBlobsRequest_WhitespaceChanges) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use DiffBlobsRequest_WhitespaceChanges.Descriptor instead. func (DiffBlobsRequest_WhitespaceChanges) EnumDescriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{24, 1} } // Status defines the state of a patch at a given response message. type DiffBlobsResponse_Status int32 const ( // STATUS_INCOMPLETE indicates the patch has not been completely transmitted. Subsequent // response messages contain the remaining content of the patch. DiffBlobsResponse_STATUS_INCOMPLETE DiffBlobsResponse_Status = 0 // protolint:disable:this ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH // STATUS_END_OF_PATCH indicates the patch was completely parsed and sent. Subsequent response // messages contain the content of the next patch in the diff. DiffBlobsResponse_STATUS_END_OF_PATCH DiffBlobsResponse_Status = 1 ) // Enum value maps for DiffBlobsResponse_Status. var ( DiffBlobsResponse_Status_name = map[int32]string{ 0: "STATUS_INCOMPLETE", 1: "STATUS_END_OF_PATCH", } DiffBlobsResponse_Status_value = map[string]int32{ "STATUS_INCOMPLETE": 0, "STATUS_END_OF_PATCH": 1, } ) func (x DiffBlobsResponse_Status) Enum() *DiffBlobsResponse_Status { p := new(DiffBlobsResponse_Status) *p = x return p } func (x DiffBlobsResponse_Status) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (DiffBlobsResponse_Status) Descriptor() protoreflect.EnumDescriptor { return file_diff_proto_enumTypes[7].Descriptor() } func (DiffBlobsResponse_Status) Type() protoreflect.EnumType { return &file_diff_proto_enumTypes[7] } func (x DiffBlobsResponse_Status) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use DiffBlobsResponse_Status.Descriptor instead. func (DiffBlobsResponse_Status) EnumDescriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{25, 0} } // CommitDiffRequest is a request for the CommitDiff RPC. type CommitDiffRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // repository is the one from which to get the diff. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // left_commit_id is the left commit ID in <left commit>..<right commit>. LeftCommitId string `protobuf:"bytes,2,opt,name=left_commit_id,json=leftCommitId,proto3" json:"left_commit_id,omitempty"` // right_commit_id is the right commit ID in <left commit>..<right commit>. RightCommitId string `protobuf:"bytes,3,opt,name=right_commit_id,json=rightCommitId,proto3" json:"right_commit_id,omitempty"` // paths is a list of paths that limits the diff to those specific paths. Paths [][]byte `protobuf:"bytes,5,rep,name=paths,proto3" json:"paths,omitempty"` // collapse_diffs causes patches to be emptied after safe_max_files, // safe_max_files, or safe_max_lines is reached. CollapseDiffs bool `protobuf:"varint,6,opt,name=collapse_diffs,json=collapseDiffs,proto3" json:"collapse_diffs,omitempty"` // enforce_limits causes parsing of diffs to stop if max_files, max_lines, // or max_bytes is reached. EnforceLimits bool `protobuf:"varint,7,opt,name=enforce_limits,json=enforceLimits,proto3" json:"enforce_limits,omitempty"` // max_files is the maximum number of files in a diff. Once reached, parsing is stopped // if enforce_limits is true. MaxFiles int32 `protobuf:"varint,8,opt,name=max_files,json=maxFiles,proto3" json:"max_files,omitempty"` // max_lines is the maximum number of lines in a diff. Once reached, parsing is stopped // if enforce_limits is true. MaxLines int32 `protobuf:"varint,9,opt,name=max_lines,json=maxLines,proto3" json:"max_lines,omitempty"` // max_bytes is the maximum number of bytes in a diff. Once reached, parsing is stopped // if enforce_limits is true. MaxBytes int32 `protobuf:"varint,10,opt,name=max_bytes,json=maxBytes,proto3" json:"max_bytes,omitempty"` // max_patch_bytes is the limitation of a single diff patch, // patches surpassing this limit are pruned by default. // If this is 0 you will get back empty patches. MaxPatchBytes int32 `protobuf:"varint,14,opt,name=max_patch_bytes,json=maxPatchBytes,proto3" json:"max_patch_bytes,omitempty"` // safe_max_files is the maximum number of files in a diff. Once reached, patches are emptied if // collapse_diffs is true. SafeMaxFiles int32 `protobuf:"varint,11,opt,name=safe_max_files,json=safeMaxFiles,proto3" json:"safe_max_files,omitempty"` // safe_max_lines is the maximum number of lines in a diff. Once reached, patches are emptied if // collapse_diffs is true. SafeMaxLines int32 `protobuf:"varint,12,opt,name=safe_max_lines,json=safeMaxLines,proto3" json:"safe_max_lines,omitempty"` // safe_max_bytes is the maximum number of bytes in a diff. Once reached, patches are emptied if // collapse_diffs is true. SafeMaxBytes int32 `protobuf:"varint,13,opt,name=safe_max_bytes,json=safeMaxBytes,proto3" json:"safe_max_bytes,omitempty"` // diff_mode is the mode used for generating the diff. Please refer to the enum declaration for supported modes. DiffMode CommitDiffRequest_DiffMode `protobuf:"varint,15,opt,name=diff_mode,json=diffMode,proto3,enum=gitaly.CommitDiffRequest_DiffMode" json:"diff_mode,omitempty"` // max_patch_bytes_for_file_extension is a map of file extension to max patch bytes for // that extension. It overrides max patch bytes for file extension. If the file does not // have an extension (eg Dockerfile), then the file name is used for matching. // For files with more than on extension (eg file.html.tmpl) only the last extension is matched. MaxPatchBytesForFileExtension map[string]int32 `protobuf:"bytes,16,rep,name=max_patch_bytes_for_file_extension,json=maxPatchBytesForFileExtension,proto3" json:"max_patch_bytes_for_file_extension,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // whitespace_changes states which whitespace changes should be included in the diff. // Please refer to the enum declaration for supported modes. WhitespaceChanges CommitDiffRequest_WhitespaceChanges `protobuf:"varint,17,opt,name=whitespace_changes,json=whitespaceChanges,proto3,enum=gitaly.CommitDiffRequest_WhitespaceChanges" json:"whitespace_changes,omitempty"` // collect_all_paths can be set when you want to get back all files, // even when the enforced limits are hit. Responses sent when the limits // were hit will have the path filled in, have the `overflow_marker` set, // but have no patch data. CollectAllPaths bool `protobuf:"varint,18,opt,name=collect_all_paths,json=collectAllPaths,proto3" json:"collect_all_paths,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CommitDiffRequest) Reset() { *x = CommitDiffRequest{} mi := &file_diff_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CommitDiffRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommitDiffRequest) ProtoMessage() {} func (x *CommitDiffRequest) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommitDiffRequest.ProtoReflect.Descriptor instead. func (*CommitDiffRequest) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{0} } func (x *CommitDiffRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *CommitDiffRequest) GetLeftCommitId() string { if x != nil { return x.LeftCommitId } return "" } func (x *CommitDiffRequest) GetRightCommitId() string { if x != nil { return x.RightCommitId } return "" } func (x *CommitDiffRequest) GetPaths() [][]byte { if x != nil { return x.Paths } return nil } func (x *CommitDiffRequest) GetCollapseDiffs() bool { if x != nil { return x.CollapseDiffs } return false } func (x *CommitDiffRequest) GetEnforceLimits() bool { if x != nil { return x.EnforceLimits } return false } func (x *CommitDiffRequest) GetMaxFiles() int32 { if x != nil { return x.MaxFiles } return 0 } func (x *CommitDiffRequest) GetMaxLines() int32 { if x != nil { return x.MaxLines } return 0 } func (x *CommitDiffRequest) GetMaxBytes() int32 { if x != nil { return x.MaxBytes } return 0 } func (x *CommitDiffRequest) GetMaxPatchBytes() int32 { if x != nil { return x.MaxPatchBytes } return 0 } func (x *CommitDiffRequest) GetSafeMaxFiles() int32 { if x != nil { return x.SafeMaxFiles } return 0 } func (x *CommitDiffRequest) GetSafeMaxLines() int32 { if x != nil { return x.SafeMaxLines } return 0 } func (x *CommitDiffRequest) GetSafeMaxBytes() int32 { if x != nil { return x.SafeMaxBytes } return 0 } func (x *CommitDiffRequest) GetDiffMode() CommitDiffRequest_DiffMode { if x != nil { return x.DiffMode } return CommitDiffRequest_DEFAULT } func (x *CommitDiffRequest) GetMaxPatchBytesForFileExtension() map[string]int32 { if x != nil { return x.MaxPatchBytesForFileExtension } return nil } func (x *CommitDiffRequest) GetWhitespaceChanges() CommitDiffRequest_WhitespaceChanges { if x != nil { return x.WhitespaceChanges } return CommitDiffRequest_WHITESPACE_CHANGES_UNSPECIFIED } func (x *CommitDiffRequest) GetCollectAllPaths() bool { if x != nil { return x.CollectAllPaths } return false } // CommitDiffResponse corresponds to a single changed file in a commit. type CommitDiffResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // from_path is the path that to_path is getting compared to. FromPath []byte `protobuf:"bytes,1,opt,name=from_path,json=fromPath,proto3" json:"from_path,omitempty"` // to_path is the path that from_path is getting compared against. ToPath []byte `protobuf:"bytes,2,opt,name=to_path,json=toPath,proto3" json:"to_path,omitempty"` // from_id is the id of the blob that is getting compared against. FromId string `protobuf:"bytes,3,opt,name=from_id,json=fromId,proto3" json:"from_id,omitempty"` // to_id is the id of the blob that is getting compared to. ToId string `protobuf:"bytes,4,opt,name=to_id,json=toId,proto3" json:"to_id,omitempty"` // old_mode is the mode of the file getting compared against. OldMode int32 `protobuf:"varint,5,opt,name=old_mode,json=oldMode,proto3" json:"old_mode,omitempty"` // new_mode is the mode of the file getting compared to. NewMode int32 `protobuf:"varint,6,opt,name=new_mode,json=newMode,proto3" json:"new_mode,omitempty"` // binary indicates whether or not binary data is getting compared. Binary bool `protobuf:"varint,7,opt,name=binary,proto3" json:"binary,omitempty"` // raw_patch_data is the unparsed data of the diff. RawPatchData []byte `protobuf:"bytes,9,opt,name=raw_patch_data,json=rawPatchData,proto3" json:"raw_patch_data,omitempty"` // end_of_patch indicates if this message represents the end of the diff. EndOfPatch bool `protobuf:"varint,10,opt,name=end_of_patch,json=endOfPatch,proto3" json:"end_of_patch,omitempty"` // overflow_marker Indicates if the diff file exceeded limitations, in which case // there will be no patch data sent, only information about the patch. OverflowMarker bool `protobuf:"varint,11,opt,name=overflow_marker,json=overflowMarker,proto3" json:"overflow_marker,omitempty"` // collapsed indicates the patch surpassed a "safe" limit and was therefore pruned, but // the client may still request the full patch on a separate request. Collapsed bool `protobuf:"varint,12,opt,name=collapsed,proto3" json:"collapsed,omitempty"` // too_large indicates the patch was pruned since it surpassed a hard limit, and can // therefore not be expanded. TooLarge bool `protobuf:"varint,13,opt,name=too_large,json=tooLarge,proto3" json:"too_large,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CommitDiffResponse) Reset() { *x = CommitDiffResponse{} mi := &file_diff_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CommitDiffResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommitDiffResponse) ProtoMessage() {} func (x *CommitDiffResponse) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommitDiffResponse.ProtoReflect.Descriptor instead. func (*CommitDiffResponse) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{1} } func (x *CommitDiffResponse) GetFromPath() []byte { if x != nil { return x.FromPath } return nil } func (x *CommitDiffResponse) GetToPath() []byte { if x != nil { return x.ToPath } return nil } func (x *CommitDiffResponse) GetFromId() string { if x != nil { return x.FromId } return "" } func (x *CommitDiffResponse) GetToId() string { if x != nil { return x.ToId } return "" } func (x *CommitDiffResponse) GetOldMode() int32 { if x != nil { return x.OldMode } return 0 } func (x *CommitDiffResponse) GetNewMode() int32 { if x != nil { return x.NewMode } return 0 } func (x *CommitDiffResponse) GetBinary() bool { if x != nil { return x.Binary } return false } func (x *CommitDiffResponse) GetRawPatchData() []byte { if x != nil { return x.RawPatchData } return nil } func (x *CommitDiffResponse) GetEndOfPatch() bool { if x != nil { return x.EndOfPatch } return false } func (x *CommitDiffResponse) GetOverflowMarker() bool { if x != nil { return x.OverflowMarker } return false } func (x *CommitDiffResponse) GetCollapsed() bool { if x != nil { return x.Collapsed } return false } func (x *CommitDiffResponse) GetTooLarge() bool { if x != nil { return x.TooLarge } return false } // CommitDeltaRequest is a request for the CommitDelta RPC. type CommitDeltaRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // repository is the one to get the commit deltas from. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // left_commit_id is the left commit ID in <left commit>..<right commit>. LeftCommitId string `protobuf:"bytes,2,opt,name=left_commit_id,json=leftCommitId,proto3" json:"left_commit_id,omitempty"` // right_commit_id is the right commit ID in <left commit>..<right commit>. RightCommitId string `protobuf:"bytes,3,opt,name=right_commit_id,json=rightCommitId,proto3" json:"right_commit_id,omitempty"` // paths is a list of paths that limits the diff to those specific paths. Paths [][]byte `protobuf:"bytes,4,rep,name=paths,proto3" json:"paths,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CommitDeltaRequest) Reset() { *x = CommitDeltaRequest{} mi := &file_diff_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CommitDeltaRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommitDeltaRequest) ProtoMessage() {} func (x *CommitDeltaRequest) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommitDeltaRequest.ProtoReflect.Descriptor instead. func (*CommitDeltaRequest) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{2} } func (x *CommitDeltaRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *CommitDeltaRequest) GetLeftCommitId() string { if x != nil { return x.LeftCommitId } return "" } func (x *CommitDeltaRequest) GetRightCommitId() string { if x != nil { return x.RightCommitId } return "" } func (x *CommitDeltaRequest) GetPaths() [][]byte { if x != nil { return x.Paths } return nil } // CommitDelta represents the metadata of a diff between two commits without the actual // patch data. type CommitDelta struct { state protoimpl.MessageState `protogen:"open.v1"` // from_path is the path that to_path is getting compared to. FromPath []byte `protobuf:"bytes,1,opt,name=from_path,json=fromPath,proto3" json:"from_path,omitempty"` // to_path is the path that from_path is getting compared against. ToPath []byte `protobuf:"bytes,2,opt,name=to_path,json=toPath,proto3" json:"to_path,omitempty"` // from_id is the id of the blob that is getting compared to. FromId string `protobuf:"bytes,3,opt,name=from_id,json=fromId,proto3" json:"from_id,omitempty"` // to_id is the id of the blob that is getting compared against. ToId string `protobuf:"bytes,4,opt,name=to_id,json=toId,proto3" json:"to_id,omitempty"` // old_mode is the mode of the blob getting compared against. OldMode int32 `protobuf:"varint,5,opt,name=old_mode,json=oldMode,proto3" json:"old_mode,omitempty"` // new_mode is the mode of the blob getting compared to. NewMode int32 `protobuf:"varint,6,opt,name=new_mode,json=newMode,proto3" json:"new_mode,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CommitDelta) Reset() { *x = CommitDelta{} mi := &file_diff_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CommitDelta) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommitDelta) ProtoMessage() {} func (x *CommitDelta) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommitDelta.ProtoReflect.Descriptor instead. func (*CommitDelta) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{3} } func (x *CommitDelta) GetFromPath() []byte { if x != nil { return x.FromPath } return nil } func (x *CommitDelta) GetToPath() []byte { if x != nil { return x.ToPath } return nil } func (x *CommitDelta) GetFromId() string { if x != nil { return x.FromId } return "" } func (x *CommitDelta) GetToId() string { if x != nil { return x.ToId } return "" } func (x *CommitDelta) GetOldMode() int32 { if x != nil { return x.OldMode } return 0 } func (x *CommitDelta) GetNewMode() int32 { if x != nil { return x.NewMode } return 0 } // CommitDeltaResponse is the response from a CommitDelta RPC call. type CommitDeltaResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // deltas is a list of CommitDeltas Deltas []*CommitDelta `protobuf:"bytes,1,rep,name=deltas,proto3" json:"deltas,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CommitDeltaResponse) Reset() { *x = CommitDeltaResponse{} mi := &file_diff_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CommitDeltaResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommitDeltaResponse) ProtoMessage() {} func (x *CommitDeltaResponse) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommitDeltaResponse.ProtoReflect.Descriptor instead. func (*CommitDeltaResponse) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{4} } func (x *CommitDeltaResponse) GetDeltas() []*CommitDelta { if x != nil { return x.Deltas } return nil } // RawDiffRequest is a request for the RawDiff RPC. type RawDiffRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // repository is the one to get the diff from. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // left_commit_id is the left commit ID in <left commit>..<right commit>. LeftCommitId string `protobuf:"bytes,2,opt,name=left_commit_id,json=leftCommitId,proto3" json:"left_commit_id,omitempty"` // right_commit_id is the right commit ID in <left commit>..<right commit>. RightCommitId string `protobuf:"bytes,3,opt,name=right_commit_id,json=rightCommitId,proto3" json:"right_commit_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RawDiffRequest) Reset() { *x = RawDiffRequest{} mi := &file_diff_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RawDiffRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RawDiffRequest) ProtoMessage() {} func (x *RawDiffRequest) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RawDiffRequest.ProtoReflect.Descriptor instead. func (*RawDiffRequest) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{5} } func (x *RawDiffRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *RawDiffRequest) GetLeftCommitId() string { if x != nil { return x.LeftCommitId } return "" } func (x *RawDiffRequest) GetRightCommitId() string { if x != nil { return x.RightCommitId } return "" } // RawDiffResponse is a response for the RawDiff RPC. type RawDiffResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // data is a sequence of bytes representing the unmodified diff patch data // returned from git-diff(1). Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RawDiffResponse) Reset() { *x = RawDiffResponse{} mi := &file_diff_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RawDiffResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RawDiffResponse) ProtoMessage() {} func (x *RawDiffResponse) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RawDiffResponse.ProtoReflect.Descriptor instead. func (*RawDiffResponse) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{6} } func (x *RawDiffResponse) GetData() []byte { if x != nil { return x.Data } return nil } // RawPatchRequest is a request for the RawPatch RPC. type RawPatchRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // repository is the one to get the patch from. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // left_commit_id is the left commit ID in <left commit>..<right commit>. LeftCommitId string `protobuf:"bytes,2,opt,name=left_commit_id,json=leftCommitId,proto3" json:"left_commit_id,omitempty"` // right_commit_id is the right commit ID in <left commit>..<right commit> RightCommitId string `protobuf:"bytes,3,opt,name=right_commit_id,json=rightCommitId,proto3" json:"right_commit_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RawPatchRequest) Reset() { *x = RawPatchRequest{} mi := &file_diff_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RawPatchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RawPatchRequest) ProtoMessage() {} func (x *RawPatchRequest) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RawPatchRequest.ProtoReflect.Descriptor instead. func (*RawPatchRequest) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{7} } func (x *RawPatchRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *RawPatchRequest) GetLeftCommitId() string { if x != nil { return x.LeftCommitId } return "" } func (x *RawPatchRequest) GetRightCommitId() string { if x != nil { return x.RightCommitId } return "" } // RawPatchResponse is a response for the RawPatch RPC. type RawPatchResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // data is a sequence of bytes representing the unmodified diff patch data // returned from git-format-patch(1). Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RawPatchResponse) Reset() { *x = RawPatchResponse{} mi := &file_diff_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RawPatchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RawPatchResponse) ProtoMessage() {} func (x *RawPatchResponse) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RawPatchResponse.ProtoReflect.Descriptor instead. func (*RawPatchResponse) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{8} } func (x *RawPatchResponse) GetData() []byte { if x != nil { return x.Data } return nil } // DiffStatsRequest is a request for the DiffStats RPC. type DiffStatsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // repository is the one to get diff stats from. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // left_commit_id is the left commit ID in <left commit>..<right commit> LeftCommitId string `protobuf:"bytes,2,opt,name=left_commit_id,json=leftCommitId,proto3" json:"left_commit_id,omitempty"` // right_commit_id is the right commit ID in <left commit>..<right commit> RightCommitId string `protobuf:"bytes,3,opt,name=right_commit_id,json=rightCommitId,proto3" json:"right_commit_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DiffStatsRequest) Reset() { *x = DiffStatsRequest{} mi := &file_diff_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DiffStatsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiffStatsRequest) ProtoMessage() {} func (x *DiffStatsRequest) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiffStatsRequest.ProtoReflect.Descriptor instead. func (*DiffStatsRequest) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{9} } func (x *DiffStatsRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *DiffStatsRequest) GetLeftCommitId() string { if x != nil { return x.LeftCommitId } return "" } func (x *DiffStatsRequest) GetRightCommitId() string { if x != nil { return x.RightCommitId } return "" } // DiffStats represents diff statistics for a path. type DiffStats struct { state protoimpl.MessageState `protogen:"open.v1"` // path is the path of the change. Path []byte `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // additions is the number of additions in a diff. Additions int32 `protobuf:"varint,2,opt,name=additions,proto3" json:"additions,omitempty"` // deletions is the number of deletions in a diff. Deletions int32 `protobuf:"varint,3,opt,name=deletions,proto3" json:"deletions,omitempty"` // old_path is the original path in the event of a rename. OldPath []byte `protobuf:"bytes,4,opt,name=old_path,json=oldPath,proto3" json:"old_path,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DiffStats) Reset() { *x = DiffStats{} mi := &file_diff_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DiffStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiffStats) ProtoMessage() {} func (x *DiffStats) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiffStats.ProtoReflect.Descriptor instead. func (*DiffStats) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{10} } func (x *DiffStats) GetPath() []byte { if x != nil { return x.Path } return nil } func (x *DiffStats) GetAdditions() int32 { if x != nil { return x.Additions } return 0 } func (x *DiffStats) GetDeletions() int32 { if x != nil { return x.Deletions } return 0 } func (x *DiffStats) GetOldPath() []byte { if x != nil { return x.OldPath } return nil } // DiffStatsResponse is a response for the DiffStats RPC. type DiffStatsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // stats is a list of DiffStats. Stats []*DiffStats `protobuf:"bytes,1,rep,name=stats,proto3" json:"stats,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DiffStatsResponse) Reset() { *x = DiffStatsResponse{} mi := &file_diff_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DiffStatsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiffStatsResponse) ProtoMessage() {} func (x *DiffStatsResponse) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiffStatsResponse.ProtoReflect.Descriptor instead. func (*DiffStatsResponse) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{11} } func (x *DiffStatsResponse) GetStats() []*DiffStats { if x != nil { return x.Stats } return nil } // FindChangedPathsRequest is the request for the FindChangedPaths RPC. // Given a list of commits, return the files changed. Each commit is compared // to its parent. Merge commits will show files which are different to all of // its parents. type FindChangedPathsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // repository is the repository the changed paths are computed in. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // commits is the list of commits to compare to their parents. This field is deprecated. To adapt to the new calling // convention you can create one `CommitRequest` per commit, where each `CommitRequest` has only the `commit_revision` // field. // // Deprecated: Marked as deprecated in diff.proto. Commits []string `protobuf:"bytes,2,rep,name=commits,proto3" json:"commits,omitempty"` // requests specifies the requests of what to compare. Requests []*FindChangedPathsRequest_Request `protobuf:"bytes,3,rep,name=requests,proto3" json:"requests,omitempty"` // merge_commit_diff_mode controls how merge commits are treated. MergeCommitDiffMode FindChangedPathsRequest_MergeCommitDiffMode `protobuf:"varint,4,opt,name=merge_commit_diff_mode,json=mergeCommitDiffMode,proto3,enum=gitaly.FindChangedPathsRequest_MergeCommitDiffMode" json:"merge_commit_diff_mode,omitempty"` // find_renames toggles rename detection on the files in the diff. FindRenames bool `protobuf:"varint,5,opt,name=find_renames,json=findRenames,proto3" json:"find_renames,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *FindChangedPathsRequest) Reset() { *x = FindChangedPathsRequest{} mi := &file_diff_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *FindChangedPathsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindChangedPathsRequest) ProtoMessage() {} func (x *FindChangedPathsRequest) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindChangedPathsRequest.ProtoReflect.Descriptor instead. func (*FindChangedPathsRequest) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{12} } func (x *FindChangedPathsRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } // Deprecated: Marked as deprecated in diff.proto. func (x *FindChangedPathsRequest) GetCommits() []string { if x != nil { return x.Commits } return nil } func (x *FindChangedPathsRequest) GetRequests() []*FindChangedPathsRequest_Request { if x != nil { return x.Requests } return nil } func (x *FindChangedPathsRequest) GetMergeCommitDiffMode() FindChangedPathsRequest_MergeCommitDiffMode { if x != nil { return x.MergeCommitDiffMode } return FindChangedPathsRequest_MERGE_COMMIT_DIFF_MODE_UNSPECIFIED } func (x *FindChangedPathsRequest) GetFindRenames() bool { if x != nil { return x.FindRenames } return false } // FindChangedPathsResponse is the response for the FindChangedPaths RPC. // Returns a list of files that have been changed in the commits given. type FindChangedPathsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // paths contains the attributes for one changed file. In case of merge // commits, or when comparing three or more commits, a file might be included // more than once if it was changed between multiple commits. Paths []*ChangedPaths `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *FindChangedPathsResponse) Reset() { *x = FindChangedPathsResponse{} mi := &file_diff_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *FindChangedPathsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindChangedPathsResponse) ProtoMessage() {} func (x *FindChangedPathsResponse) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindChangedPathsResponse.ProtoReflect.Descriptor instead. func (*FindChangedPathsResponse) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{13} } func (x *FindChangedPathsResponse) GetPaths() []*ChangedPaths { if x != nil { return x.Paths } return nil } // ChangedPaths contains information about a changed file. It includes the path // of the file, and the status of the change. type ChangedPaths struct { state protoimpl.MessageState `protogen:"open.v1"` // path is the path of the change in question. Path []byte `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // status is the type of change. Status ChangedPaths_Status `protobuf:"varint,2,opt,name=status,proto3,enum=gitaly.ChangedPaths_Status" json:"status,omitempty"` // old_mode is the mode of the changed path previous to the change. May be one of the following values: // // - 0o000000 if the path does not exist. // - 0o100644 if the path refers to a normal file. // - 0o100755 if the path refers to an executable file. // - 0o040000 if the path refers to a tree entry. // - 0o160000 if the path refers to a submodule. OldMode int32 `protobuf:"varint,3,opt,name=old_mode,json=oldMode,proto3" json:"old_mode,omitempty"` // new_mode is the mode of the changed path after the change. Please refer to `old_mode` for a list of potential values. NewMode int32 `protobuf:"varint,4,opt,name=new_mode,json=newMode,proto3" json:"new_mode,omitempty"` // old_blob_id is the blob oid of the changed path previous to the change. OldBlobId string `protobuf:"bytes,5,opt,name=old_blob_id,json=oldBlobId,proto3" json:"old_blob_id,omitempty"` // new_blob_id is the blob oid of the changed path after the changed. NewBlobId string `protobuf:"bytes,6,opt,name=new_blob_id,json=newBlobId,proto3" json:"new_blob_id,omitempty"` // old_path is the pre-image path of a renamed or copied object. This field is empty for all other // change types. OldPath []byte `protobuf:"bytes,7,opt,name=old_path,json=oldPath,proto3" json:"old_path,omitempty"` // score denotes the similarity between the source and target. Only present for renames and copies. Score int32 `protobuf:"varint,8,opt,name=score,proto3" json:"score,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ChangedPaths) Reset() { *x = ChangedPaths{} mi := &file_diff_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ChangedPaths) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChangedPaths) ProtoMessage() {} func (x *ChangedPaths) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChangedPaths.ProtoReflect.Descriptor instead. func (*ChangedPaths) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{14} } func (x *ChangedPaths) GetPath() []byte { if x != nil { return x.Path } return nil } func (x *ChangedPaths) GetStatus() ChangedPaths_Status { if x != nil { return x.Status } return ChangedPaths_ADDED } func (x *ChangedPaths) GetOldMode() int32 { if x != nil { return x.OldMode } return 0 } func (x *ChangedPaths) GetNewMode() int32 { if x != nil { return x.NewMode } return 0 } func (x *ChangedPaths) GetOldBlobId() string { if x != nil { return x.OldBlobId } return "" } func (x *ChangedPaths) GetNewBlobId() string { if x != nil { return x.NewBlobId } return "" } func (x *ChangedPaths) GetOldPath() []byte { if x != nil { return x.OldPath } return nil } func (x *ChangedPaths) GetScore() int32 { if x != nil { return x.Score } return 0 } // GetPatchIDRequest is a request for the GetPatchID RPC. type GetPatchIDRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // repository is the repository the patch ID shall be computed in. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // old_revision is the old revision that shall be used to compute the patch // from that will then be passed to git-patch-id(1). Accepts revisions as // specified in gitrevisions(5). OldRevision []byte `protobuf:"bytes,2,opt,name=old_revision,json=oldRevision,proto3" json:"old_revision,omitempty"` // new_revision is the new revision that shall be used to compute the patch // from that will then be passed to git-patch-id(1). Accepts revisions as // specified in gitrevisions(5). NewRevision []byte `protobuf:"bytes,3,opt,name=new_revision,json=newRevision,proto3" json:"new_revision,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetPatchIDRequest) Reset() { *x = GetPatchIDRequest{} mi := &file_diff_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetPatchIDRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetPatchIDRequest) ProtoMessage() {} func (x *GetPatchIDRequest) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetPatchIDRequest.ProtoReflect.Descriptor instead. func (*GetPatchIDRequest) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{15} } func (x *GetPatchIDRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *GetPatchIDRequest) GetOldRevision() []byte { if x != nil { return x.OldRevision } return nil } func (x *GetPatchIDRequest) GetNewRevision() []byte { if x != nil { return x.NewRevision } return nil } // GetPatchIDResponse is a response for the GetPatchID RPC. type GetPatchIDResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // patch_id is the patch ID that was generated by hashing the diff of the // given old and new revision. PatchId string `protobuf:"bytes,1,opt,name=patch_id,json=patchId,proto3" json:"patch_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetPatchIDResponse) Reset() { *x = GetPatchIDResponse{} mi := &file_diff_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetPatchIDResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetPatchIDResponse) ProtoMessage() {} func (x *GetPatchIDResponse) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetPatchIDResponse.ProtoReflect.Descriptor instead. func (*GetPatchIDResponse) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{16} } func (x *GetPatchIDResponse) GetPatchId() string { if x != nil { return x.PatchId } return "" } // RangePair is a pair of commit ranges. type RangePair struct { state protoimpl.MessageState `protogen:"open.v1"` // range1 is the first range, e.g. <base>..<rev>, <rev>^! Range1 string `protobuf:"bytes,1,opt,name=range1,proto3" json:"range1,omitempty"` // range2 is the second range.e.g. <base>..<rev>, <rev>^! Range2 string `protobuf:"bytes,2,opt,name=range2,proto3" json:"range2,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RangePair) Reset() { *x = RangePair{} mi := &file_diff_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RangePair) String() string { return protoimpl.X.MessageStringOf(x) } func (*RangePair) ProtoMessage() {} func (x *RangePair) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RangePair.ProtoReflect.Descriptor instead. func (*RangePair) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{17} } func (x *RangePair) GetRange1() string { if x != nil { return x.Range1 } return "" } func (x *RangePair) GetRange2() string { if x != nil { return x.Range2 } return "" } // RevisionRange is a specification of revisions using the '...' notation. type RevisionRange struct { state protoimpl.MessageState `protogen:"open.v1"` // rev1 is the first revision. Rev1 string `protobuf:"bytes,1,opt,name=rev1,proto3" json:"rev1,omitempty"` // rev2 is the the second revision. Rev2 string `protobuf:"bytes,2,opt,name=rev2,proto3" json:"rev2,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RevisionRange) Reset() { *x = RevisionRange{} mi := &file_diff_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RevisionRange) String() string { return protoimpl.X.MessageStringOf(x) } func (*RevisionRange) ProtoMessage() {} func (x *RevisionRange) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RevisionRange.ProtoReflect.Descriptor instead. func (*RevisionRange) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{18} } func (x *RevisionRange) GetRev1() string { if x != nil { return x.Rev1 } return "" } func (x *RevisionRange) GetRev2() string { if x != nil { return x.Rev2 } return "" } // BaseWithRevisions is a specification with a base and two revisions. type BaseWithRevisions struct { state protoimpl.MessageState `protogen:"open.v1"` // base is the merge base revision. Base string `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` // rev1 is the first revision. Rev1 string `protobuf:"bytes,2,opt,name=rev1,proto3" json:"rev1,omitempty"` // rev2 is the the second revision. Rev2 string `protobuf:"bytes,3,opt,name=rev2,proto3" json:"rev2,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *BaseWithRevisions) Reset() { *x = BaseWithRevisions{} mi := &file_diff_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *BaseWithRevisions) String() string { return protoimpl.X.MessageStringOf(x) } func (*BaseWithRevisions) ProtoMessage() {} func (x *BaseWithRevisions) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BaseWithRevisions.ProtoReflect.Descriptor instead. func (*BaseWithRevisions) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{19} } func (x *BaseWithRevisions) GetBase() string { if x != nil { return x.Base } return "" } func (x *BaseWithRevisions) GetRev1() string { if x != nil { return x.Rev1 } return "" } func (x *BaseWithRevisions) GetRev2() string { if x != nil { return x.Rev2 } return "" } // RawRangeDiffRequest is the raw range diff request. type RawRangeDiffRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // repository is the one to get range diff output from. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // Types that are valid to be assigned to RangeSpec: // // *RawRangeDiffRequest_RangePair // *RawRangeDiffRequest_RevisionRange // *RawRangeDiffRequest_BaseWithRevisions RangeSpec isRawRangeDiffRequest_RangeSpec `protobuf_oneof:"range_spec"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RawRangeDiffRequest) Reset() { *x = RawRangeDiffRequest{} mi := &file_diff_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RawRangeDiffRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RawRangeDiffRequest) ProtoMessage() {} func (x *RawRangeDiffRequest) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RawRangeDiffRequest.ProtoReflect.Descriptor instead. func (*RawRangeDiffRequest) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{20} } func (x *RawRangeDiffRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *RawRangeDiffRequest) GetRangeSpec() isRawRangeDiffRequest_RangeSpec { if x != nil { return x.RangeSpec } return nil } func (x *RawRangeDiffRequest) GetRangePair() *RangePair { if x != nil { if x, ok := x.RangeSpec.(*RawRangeDiffRequest_RangePair); ok { return x.RangePair } } return nil } func (x *RawRangeDiffRequest) GetRevisionRange() *RevisionRange { if x != nil { if x, ok := x.RangeSpec.(*RawRangeDiffRequest_RevisionRange); ok { return x.RevisionRange } } return nil } func (x *RawRangeDiffRequest) GetBaseWithRevisions() *BaseWithRevisions { if x != nil { if x, ok := x.RangeSpec.(*RawRangeDiffRequest_BaseWithRevisions); ok { return x.BaseWithRevisions } } return nil } type isRawRangeDiffRequest_RangeSpec interface { isRawRangeDiffRequest_RangeSpec() } type RawRangeDiffRequest_RangePair struct { // range_pair specifies format: <range1> <range2>. RangePair *RangePair `protobuf:"bytes,2,opt,name=range_pair,json=rangePair,proto3,oneof"` } type RawRangeDiffRequest_RevisionRange struct { // revision_range specifies format: <rev1>...<rev2>. RevisionRange *RevisionRange `protobuf:"bytes,3,opt,name=revision_range,json=revisionRange,proto3,oneof"` } type RawRangeDiffRequest_BaseWithRevisions struct { // base_with_revisions specifies format: <base> <rev1> <rev2>. BaseWithRevisions *BaseWithRevisions `protobuf:"bytes,4,opt,name=base_with_revisions,json=baseWithRevisions,proto3,oneof"` } func (*RawRangeDiffRequest_RangePair) isRawRangeDiffRequest_RangeSpec() {} func (*RawRangeDiffRequest_RevisionRange) isRawRangeDiffRequest_RangeSpec() {} func (*RawRangeDiffRequest_BaseWithRevisions) isRawRangeDiffRequest_RangeSpec() {} // RawRangeDiffResponse is the the raw range diff response. type RawRangeDiffResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // data is the raw range diff data. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RawRangeDiffResponse) Reset() { *x = RawRangeDiffResponse{} mi := &file_diff_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RawRangeDiffResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RawRangeDiffResponse) ProtoMessage() {} func (x *RawRangeDiffResponse) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RawRangeDiffResponse.ProtoReflect.Descriptor instead. func (*RawRangeDiffResponse) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{21} } func (x *RawRangeDiffResponse) GetData() []byte { if x != nil { return x.Data } return nil } // RangeDiffRequest is the range diff request. type RangeDiffRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // repository is the one to get range diff output from. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // range_spec specifies the range-diff commit ranges. // // Types that are valid to be assigned to RangeSpec: // // *RangeDiffRequest_RangePair // *RangeDiffRequest_RevisionRange // *RangeDiffRequest_BaseWithRevisions RangeSpec isRangeDiffRequest_RangeSpec `protobuf_oneof:"range_spec"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RangeDiffRequest) Reset() { *x = RangeDiffRequest{} mi := &file_diff_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RangeDiffRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RangeDiffRequest) ProtoMessage() {} func (x *RangeDiffRequest) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RangeDiffRequest.ProtoReflect.Descriptor instead. func (*RangeDiffRequest) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{22} } func (x *RangeDiffRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *RangeDiffRequest) GetRangeSpec() isRangeDiffRequest_RangeSpec { if x != nil { return x.RangeSpec } return nil } func (x *RangeDiffRequest) GetRangePair() *RangePair { if x != nil { if x, ok := x.RangeSpec.(*RangeDiffRequest_RangePair); ok { return x.RangePair } } return nil } func (x *RangeDiffRequest) GetRevisionRange() *RevisionRange { if x != nil { if x, ok := x.RangeSpec.(*RangeDiffRequest_RevisionRange); ok { return x.RevisionRange } } return nil } func (x *RangeDiffRequest) GetBaseWithRevisions() *BaseWithRevisions { if x != nil { if x, ok := x.RangeSpec.(*RangeDiffRequest_BaseWithRevisions); ok { return x.BaseWithRevisions } } return nil } type isRangeDiffRequest_RangeSpec interface { isRangeDiffRequest_RangeSpec() } type RangeDiffRequest_RangePair struct { // range_pair specifies format: <range1> <range2>. RangePair *RangePair `protobuf:"bytes,2,opt,name=range_pair,json=rangePair,proto3,oneof"` } type RangeDiffRequest_RevisionRange struct { // revision_range specifies format: <rev1>...<rev2>. RevisionRange *RevisionRange `protobuf:"bytes,3,opt,name=revision_range,json=revisionRange,proto3,oneof"` } type RangeDiffRequest_BaseWithRevisions struct { // base_with_revisions specifies format: <base> <rev1> <rev2>. BaseWithRevisions *BaseWithRevisions `protobuf:"bytes,4,opt,name=base_with_revisions,json=baseWithRevisions,proto3,oneof"` } func (*RangeDiffRequest_RangePair) isRangeDiffRequest_RangeSpec() {} func (*RangeDiffRequest_RevisionRange) isRangeDiffRequest_RangeSpec() {} func (*RangeDiffRequest_BaseWithRevisions) isRangeDiffRequest_RangeSpec() {} // RangeDiffResponse contains the data from a commit pair line and its following patch if any. type RangeDiffResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // from_commit_id is the left side commit id in the commit pair line. FromCommitId string `protobuf:"bytes,1,opt,name=from_commit_id,json=fromCommitId,proto3" json:"from_commit_id,omitempty"` // to_commit_id is the right side commit id in the commit pair line. ToCommitId string `protobuf:"bytes,2,opt,name=to_commit_id,json=toCommitId,proto3" json:"to_commit_id,omitempty"` // comparison is the comparison result of the two commits. Comparison RangeDiffResponse_Comparator `protobuf:"varint,3,opt,name=comparison,proto3,enum=gitaly.RangeDiffResponse_Comparator" json:"comparison,omitempty"` // commit_message_title is the commit message title of the commit. CommitMessageTitle string `protobuf:"bytes,7,opt,name=commit_message_title,json=commitMessageTitle,proto3" json:"commit_message_title,omitempty"` // patch_data is the range diff patch data if two commits are not equal. PatchData []byte `protobuf:"bytes,8,opt,name=patch_data,json=patchData,proto3" json:"patch_data,omitempty"` // end_of_patch check if the patch data is the last one response of this commit pair. EndOfPatch bool `protobuf:"varint,9,opt,name=end_of_patch,json=endOfPatch,proto3" json:"end_of_patch,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RangeDiffResponse) Reset() { *x = RangeDiffResponse{} mi := &file_diff_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RangeDiffResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RangeDiffResponse) ProtoMessage() {} func (x *RangeDiffResponse) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RangeDiffResponse.ProtoReflect.Descriptor instead. func (*RangeDiffResponse) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{23} } func (x *RangeDiffResponse) GetFromCommitId() string { if x != nil { return x.FromCommitId } return "" } func (x *RangeDiffResponse) GetToCommitId() string { if x != nil { return x.ToCommitId } return "" } func (x *RangeDiffResponse) GetComparison() RangeDiffResponse_Comparator { if x != nil { return x.Comparison } return RangeDiffResponse_COMPARATOR_EQUAL_UNSPECIFIED } func (x *RangeDiffResponse) GetCommitMessageTitle() string { if x != nil { return x.CommitMessageTitle } return "" } func (x *RangeDiffResponse) GetPatchData() []byte { if x != nil { return x.PatchData } return nil } func (x *RangeDiffResponse) GetEndOfPatch() bool { if x != nil { return x.EndOfPatch } return false } // DiffBlobsRequest is a request for the DiffBlobs RPC. type DiffBlobsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // repository is the repository the blob diff is generated for. Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // blob_pairs defines the set of blob pairs to generate diffs for. BlobPairs []*DiffBlobsRequest_BlobPair `protobuf:"bytes,2,rep,name=blob_pairs,json=blobPairs,proto3" json:"blob_pairs,omitempty"` // diff_mode is the mode used for generating the diff. Refer to the enum declaration above for // supported modes. DiffMode DiffBlobsRequest_DiffMode `protobuf:"varint,3,opt,name=diff_mode,json=diffMode,proto3,enum=gitaly.DiffBlobsRequest_DiffMode" json:"diff_mode,omitempty"` // whitespace_changes states which whitespace changes should be included in the diff. Refer to the // enum declaration above for supported modes. WhitespaceChanges DiffBlobsRequest_WhitespaceChanges `protobuf:"varint,4,opt,name=whitespace_changes,json=whitespaceChanges,proto3,enum=gitaly.DiffBlobsRequest_WhitespaceChanges" json:"whitespace_changes,omitempty"` // patch_bytes_limit is the max size in bytes of a single patch generated from a pair of blobs. // Patches surpassing this limit are pruned. If set to zero, no limit is enforced. PatchBytesLimit int32 `protobuf:"varint,5,opt,name=patch_bytes_limit,json=patchBytesLimit,proto3" json:"patch_bytes_limit,omitempty"` // raw_info is the set of file pairs in raw format used to compute diffs for. RawInfo []*ChangedPaths `protobuf:"bytes,6,rep,name=raw_info,json=rawInfo,proto3" json:"raw_info,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DiffBlobsRequest) Reset() { *x = DiffBlobsRequest{} mi := &file_diff_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DiffBlobsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiffBlobsRequest) ProtoMessage() {} func (x *DiffBlobsRequest) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiffBlobsRequest.ProtoReflect.Descriptor instead. func (*DiffBlobsRequest) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{24} } func (x *DiffBlobsRequest) GetRepository() *Repository { if x != nil { return x.Repository } return nil } func (x *DiffBlobsRequest) GetBlobPairs() []*DiffBlobsRequest_BlobPair { if x != nil { return x.BlobPairs } return nil } func (x *DiffBlobsRequest) GetDiffMode() DiffBlobsRequest_DiffMode { if x != nil { return x.DiffMode } return DiffBlobsRequest_DIFF_MODE_UNSPECIFIED } func (x *DiffBlobsRequest) GetWhitespaceChanges() DiffBlobsRequest_WhitespaceChanges { if x != nil { return x.WhitespaceChanges } return DiffBlobsRequest_WHITESPACE_CHANGES_UNSPECIFIED } func (x *DiffBlobsRequest) GetPatchBytesLimit() int32 { if x != nil { return x.PatchBytesLimit } return 0 } func (x *DiffBlobsRequest) GetRawInfo() []*ChangedPaths { if x != nil { return x.RawInfo } return nil } // DiffBlobsResponse is a response for the DiffBlobs RPC. type DiffBlobsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // left_blob_id is the left blob ID in in <left blob>..<right blob> of the diffed blob. LeftBlobId string `protobuf:"bytes,1,opt,name=left_blob_id,json=leftBlobId,proto3" json:"left_blob_id,omitempty"` // right_blob_id is the right blob ID in in <left blob>..<right blob> of the diffed blob. RightBlobId string `protobuf:"bytes,2,opt,name=right_blob_id,json=rightBlobId,proto3" json:"right_blob_id,omitempty"` // patch is the raw generated diff output. Patch []byte `protobuf:"bytes,3,opt,name=patch,proto3" json:"patch,omitempty"` // status is the current state of the patch being transmitted. Status DiffBlobsResponse_Status `protobuf:"varint,4,opt,name=status,proto3,enum=gitaly.DiffBlobsResponse_Status" json:"status,omitempty"` // binary indicates whether or not the diff compares binary data. If Git considers either blob to // be binary, Git only reports whether the files differ. Binary bool `protobuf:"varint,5,opt,name=binary,proto3" json:"binary,omitempty"` // over_patch_bytes_limit indicates the patch was pruned since it surpassed the set limit. OverPatchBytesLimit bool `protobuf:"varint,6,opt,name=over_patch_bytes_limit,json=overPatchBytesLimit,proto3" json:"over_patch_bytes_limit,omitempty"` // patch_size is the size of the patch in bytes and is always returned even if a patch is pruned. // To improve performance, a client may make an initial DiffBlobs request with a lower "soft" // patch_bytes_limit to avoid receiving large patches. If a patch exceeds this byte limit and gets // pruned, the patch size can be used by the client to determine whether it is sensible to make a // follow-up DiffBlobs request by increasing the patch_bytes_limit to a "hard" limit. PatchSize int32 `protobuf:"varint,7,opt,name=patch_size,json=patchSize,proto3" json:"patch_size,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DiffBlobsResponse) Reset() { *x = DiffBlobsResponse{} mi := &file_diff_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DiffBlobsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiffBlobsResponse) ProtoMessage() {} func (x *DiffBlobsResponse) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiffBlobsResponse.ProtoReflect.Descriptor instead. func (*DiffBlobsResponse) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{25} } func (x *DiffBlobsResponse) GetLeftBlobId() string { if x != nil { return x.LeftBlobId } return "" } func (x *DiffBlobsResponse) GetRightBlobId() string { if x != nil { return x.RightBlobId } return "" } func (x *DiffBlobsResponse) GetPatch() []byte { if x != nil { return x.Patch } return nil } func (x *DiffBlobsResponse) GetStatus() DiffBlobsResponse_Status { if x != nil { return x.Status } return DiffBlobsResponse_STATUS_INCOMPLETE } func (x *DiffBlobsResponse) GetBinary() bool { if x != nil { return x.Binary } return false } func (x *DiffBlobsResponse) GetOverPatchBytesLimit() bool { if x != nil { return x.OverPatchBytesLimit } return false } func (x *DiffBlobsResponse) GetPatchSize() int32 { if x != nil { return x.PatchSize } return 0 } // Request is a single request to pass to git diff-tree. type FindChangedPathsRequest_Request struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Type: // // *FindChangedPathsRequest_Request_TreeRequest_ // *FindChangedPathsRequest_Request_CommitRequest_ Type isFindChangedPathsRequest_Request_Type `protobuf_oneof:"type"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *FindChangedPathsRequest_Request) Reset() { *x = FindChangedPathsRequest_Request{} mi := &file_diff_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *FindChangedPathsRequest_Request) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindChangedPathsRequest_Request) ProtoMessage() {} func (x *FindChangedPathsRequest_Request) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindChangedPathsRequest_Request.ProtoReflect.Descriptor instead. func (*FindChangedPathsRequest_Request) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{12, 0} } func (x *FindChangedPathsRequest_Request) GetType() isFindChangedPathsRequest_Request_Type { if x != nil { return x.Type } return nil } func (x *FindChangedPathsRequest_Request) GetTreeRequest() *FindChangedPathsRequest_Request_TreeRequest { if x != nil { if x, ok := x.Type.(*FindChangedPathsRequest_Request_TreeRequest_); ok { return x.TreeRequest } } return nil } func (x *FindChangedPathsRequest_Request) GetCommitRequest() *FindChangedPathsRequest_Request_CommitRequest { if x != nil { if x, ok := x.Type.(*FindChangedPathsRequest_Request_CommitRequest_); ok { return x.CommitRequest } } return nil } type isFindChangedPathsRequest_Request_Type interface { isFindChangedPathsRequest_Request_Type() } type FindChangedPathsRequest_Request_TreeRequest_ struct { // tree_request is a request comparing two trees with each other. TreeRequest *FindChangedPathsRequest_Request_TreeRequest `protobuf:"bytes,1,opt,name=tree_request,json=treeRequest,proto3,oneof"` } type FindChangedPathsRequest_Request_CommitRequest_ struct { // commit_request is a request comparing one or more commits with each other. CommitRequest *FindChangedPathsRequest_Request_CommitRequest `protobuf:"bytes,2,opt,name=commit_request,json=commitRequest,proto3,oneof"` } func (*FindChangedPathsRequest_Request_TreeRequest_) isFindChangedPathsRequest_Request_Type() {} func (*FindChangedPathsRequest_Request_CommitRequest_) isFindChangedPathsRequest_Request_Type() {} // TreeRequest compares two trees. type FindChangedPathsRequest_Request_TreeRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // left_tree_revision is the revision of the left tree to compare. Accepts any revision that // peels to a tree object. LeftTreeRevision string `protobuf:"bytes,1,opt,name=left_tree_revision,json=leftTreeRevision,proto3" json:"left_tree_revision,omitempty"` // right_tree_revision is the revision of the right tree to compare. Accepts any revision that // peels to a tree object. RightTreeRevision string `protobuf:"bytes,2,opt,name=right_tree_revision,json=rightTreeRevision,proto3" json:"right_tree_revision,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *FindChangedPathsRequest_Request_TreeRequest) Reset() { *x = FindChangedPathsRequest_Request_TreeRequest{} mi := &file_diff_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *FindChangedPathsRequest_Request_TreeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindChangedPathsRequest_Request_TreeRequest) ProtoMessage() {} func (x *FindChangedPathsRequest_Request_TreeRequest) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindChangedPathsRequest_Request_TreeRequest.ProtoReflect.Descriptor instead. func (*FindChangedPathsRequest_Request_TreeRequest) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{12, 0, 0} } func (x *FindChangedPathsRequest_Request_TreeRequest) GetLeftTreeRevision() string { if x != nil { return x.LeftTreeRevision } return "" } func (x *FindChangedPathsRequest_Request_TreeRequest) GetRightTreeRevision() string { if x != nil { return x.RightTreeRevision } return "" } // CommitRequest compares a commit to its parents (or some other commits.) type FindChangedPathsRequest_Request_CommitRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // commit_revision is the revision of the commit that should be compared. If no `parent_commit_revisions` // are given, then the commit will be compared against its parents. The revision needs to peel to a // commit object. CommitRevision string `protobuf:"bytes,1,opt,name=commit_revision,json=commitRevision,proto3" json:"commit_revision,omitempty"` // parent_commit_revisions are the revisions of commits to treat as the commit's parents. This is an // optional field: if not specified, the actual parents of the commit referred to by `commit_revision` // are used. ParentCommitRevisions []string `protobuf:"bytes,2,rep,name=parent_commit_revisions,json=parentCommitRevisions,proto3" json:"parent_commit_revisions,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *FindChangedPathsRequest_Request_CommitRequest) Reset() { *x = FindChangedPathsRequest_Request_CommitRequest{} mi := &file_diff_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *FindChangedPathsRequest_Request_CommitRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindChangedPathsRequest_Request_CommitRequest) ProtoMessage() {} func (x *FindChangedPathsRequest_Request_CommitRequest) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindChangedPathsRequest_Request_CommitRequest.ProtoReflect.Descriptor instead. func (*FindChangedPathsRequest_Request_CommitRequest) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{12, 0, 1} } func (x *FindChangedPathsRequest_Request_CommitRequest) GetCommitRevision() string { if x != nil { return x.CommitRevision } return "" } func (x *FindChangedPathsRequest_Request_CommitRequest) GetParentCommitRevisions() []string { if x != nil { return x.ParentCommitRevisions } return nil } // BlobPair defines a pair of blobs a patch is generated for. type DiffBlobsRequest_BlobPair struct { state protoimpl.MessageState `protogen:"open.v1"` // left_blob is the left blob in <left blob>..<right blob>. Can be either a path-scoped // revision or blob ID. LeftBlob []byte `protobuf:"bytes,1,opt,name=left_blob,json=leftBlob,proto3" json:"left_blob,omitempty"` // right_blob is the right blob in <left blob>..<right blob>. Can be either a path-scoped // revision or blob ID. RightBlob []byte `protobuf:"bytes,2,opt,name=right_blob,json=rightBlob,proto3" json:"right_blob,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DiffBlobsRequest_BlobPair) Reset() { *x = DiffBlobsRequest_BlobPair{} mi := &file_diff_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DiffBlobsRequest_BlobPair) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiffBlobsRequest_BlobPair) ProtoMessage() {} func (x *DiffBlobsRequest_BlobPair) ProtoReflect() protoreflect.Message { mi := &file_diff_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiffBlobsRequest_BlobPair.ProtoReflect.Descriptor instead. func (*DiffBlobsRequest_BlobPair) Descriptor() ([]byte, []int) { return file_diff_proto_rawDescGZIP(), []int{24, 0} } func (x *DiffBlobsRequest_BlobPair) GetLeftBlob() []byte { if x != nil { return x.LeftBlob } return nil } func (x *DiffBlobsRequest_BlobPair) GetRightBlob() []byte { if x != nil { return x.RightBlob } return nil } var File_diff_proto protoreflect.FileDescriptor var file_diff_proto_rawDesc = string([]byte{ 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 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, 0xd7, 0x08, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x69, 0x66, 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, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x65, 0x66, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x44, 0x69, 0x66, 0x66, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x61, 0x66, 0x65, 0x4d, 0x61, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x61, 0x66, 0x65, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x61, 0x66, 0x65, 0x4d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x09, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x69, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x22, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1d, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x12, 0x77, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x11, 0x77, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x73, 0x1a, 0x50, 0x0a, 0x22, 0x4d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x25, 0x0a, 0x08, 0x44, 0x69, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x57, 0x4f, 0x52, 0x44, 0x44, 0x49, 0x46, 0x46, 0x10, 0x01, 0x22, 0x79, 0x0a, 0x11, 0x57, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x48, 0x49, 0x54, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x57, 0x48, 0x49, 0x54, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x57, 0x48, 0x49, 0x54, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x18, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xf8, 0x02, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6f, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x61, 0x77, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x72, 0x61, 0x77, 0x50, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x6f, 0x5f, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x74, 0x6f, 0x6f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x22, 0xb2, 0x01, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x6c, 0x74, 0x61, 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, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x65, 0x66, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6f, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x42, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0e, 0x52, 0x61, 0x77, 0x44, 0x69, 0x66, 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, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x65, 0x66, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x0f, 0x52, 0x61, 0x77, 0x44, 0x69, 0x66, 0x66, 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, 0x99, 0x01, 0x0a, 0x0f, 0x52, 0x61, 0x77, 0x50, 0x61, 0x74, 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, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x65, 0x66, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x10, 0x52, 0x61, 0x77, 0x50, 0x61, 0x74, 0x63, 0x68, 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, 0x9a, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x61, 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, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x65, 0x66, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x22, 0x76, 0x0a, 0x09, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6f, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x22, 0x3c, 0x0a, 0x11, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0x83, 0x07, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 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, 0x1c, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x68, 0x0a, 0x16, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x69, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x13, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x69, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0xaa, 0x03, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x0c, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5e, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x6b, 0x0a, 0x0b, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x70, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x13, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x69, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x22, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x53, 0x10, 0x01, 0x12, 0x26, 0x0a, 0x22, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, 0x22, 0x46, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x22, 0xd8, 0x02, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x6c, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6f, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x58, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x44, 0x44, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x50, 0x49, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x10, 0x05, 0x22, 0x93, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x44, 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, 0x21, 0x0a, 0x0c, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x32, 0x22, 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x76, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x76, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x76, 0x32, 0x22, 0x4f, 0x0a, 0x11, 0x42, 0x61, 0x73, 0x65, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x76, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x76, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x76, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x76, 0x32, 0x22, 0x9e, 0x02, 0x0a, 0x13, 0x52, 0x61, 0x77, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x69, 0x66, 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, 0x32, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x69, 0x72, 0x48, 0x00, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x3e, 0x0a, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4b, 0x0a, 0x13, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x11, 0x62, 0x61, 0x73, 0x65, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x22, 0x2a, 0x0a, 0x14, 0x52, 0x61, 0x77, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x69, 0x66, 0x66, 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, 0x9b, 0x02, 0x0a, 0x10, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x69, 0x66, 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, 0x32, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x69, 0x72, 0x48, 0x00, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x3e, 0x0a, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4b, 0x0a, 0x13, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x11, 0x62, 0x61, 0x73, 0x65, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x22, 0x95, 0x03, 0x0a, 0x11, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x50, 0x61, 0x74, 0x63, 0x68, 0x22, 0x7f, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x03, 0x22, 0x84, 0x05, 0x0a, 0x10, 0x44, 0x69, 0x66, 0x66, 0x42, 0x6c, 0x6f, 0x62, 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, 0x40, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x50, 0x61, 0x69, 0x72, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x62, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x09, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x69, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x59, 0x0a, 0x12, 0x77, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x11, 0x77, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x07, 0x72, 0x61, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x46, 0x0a, 0x08, 0x42, 0x6c, 0x6f, 0x62, 0x50, 0x61, 0x69, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x69, 0x67, 0x68, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x22, 0x39, 0x0a, 0x08, 0x44, 0x69, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x01, 0x22, 0x79, 0x0a, 0x11, 0x57, 0x68, 0x69, 0x74, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x48, 0x49, 0x54, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x57, 0x48, 0x49, 0x54, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x57, 0x48, 0x49, 0x54, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x22, 0xcf, 0x02, 0x0a, 0x11, 0x44, 0x69, 0x66, 0x66, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x69, 0x67, 0x68, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x33, 0x0a, 0x16, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x38, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x4f, 0x46, 0x5f, 0x50, 0x41, 0x54, 0x43, 0x48, 0x10, 0x01, 0x32, 0xa4, 0x06, 0x0a, 0x0b, 0x44, 0x69, 0x66, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x69, 0x66, 0x66, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x50, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x44, 0x0a, 0x07, 0x52, 0x61, 0x77, 0x44, 0x69, 0x66, 0x66, 0x12, 0x16, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x77, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x77, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x47, 0x0a, 0x08, 0x52, 0x61, 0x77, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x77, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x77, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x4a, 0x0a, 0x09, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x5f, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x44, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x53, 0x0a, 0x0c, 0x52, 0x61, 0x77, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x69, 0x66, 0x66, 0x12, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x77, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x77, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x4a, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x69, 0x66, 0x66, 0x12, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x4a, 0x0a, 0x09, 0x44, 0x69, 0x66, 0x66, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x12, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2d, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2f, 0x76, 0x31, 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_diff_proto_rawDescOnce sync.Once file_diff_proto_rawDescData []byte ) func file_diff_proto_rawDescGZIP() []byte { file_diff_proto_rawDescOnce.Do(func() { file_diff_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_diff_proto_rawDesc), len(file_diff_proto_rawDesc))) }) return file_diff_proto_rawDescData } var file_diff_proto_enumTypes = make([]protoimpl.EnumInfo, 8) var file_diff_proto_msgTypes = make([]protoimpl.MessageInfo, 31) var file_diff_proto_goTypes = []any{ (CommitDiffRequest_DiffMode)(0), // 0: gitaly.CommitDiffRequest.DiffMode (CommitDiffRequest_WhitespaceChanges)(0), // 1: gitaly.CommitDiffRequest.WhitespaceChanges (FindChangedPathsRequest_MergeCommitDiffMode)(0), // 2: gitaly.FindChangedPathsRequest.MergeCommitDiffMode (ChangedPaths_Status)(0), // 3: gitaly.ChangedPaths.Status (RangeDiffResponse_Comparator)(0), // 4: gitaly.RangeDiffResponse.Comparator (DiffBlobsRequest_DiffMode)(0), // 5: gitaly.DiffBlobsRequest.DiffMode (DiffBlobsRequest_WhitespaceChanges)(0), // 6: gitaly.DiffBlobsRequest.WhitespaceChanges (DiffBlobsResponse_Status)(0), // 7: gitaly.DiffBlobsResponse.Status (*CommitDiffRequest)(nil), // 8: gitaly.CommitDiffRequest (*CommitDiffResponse)(nil), // 9: gitaly.CommitDiffResponse (*CommitDeltaRequest)(nil), // 10: gitaly.CommitDeltaRequest (*CommitDelta)(nil), // 11: gitaly.CommitDelta (*CommitDeltaResponse)(nil), // 12: gitaly.CommitDeltaResponse (*RawDiffRequest)(nil), // 13: gitaly.RawDiffRequest (*RawDiffResponse)(nil), // 14: gitaly.RawDiffResponse (*RawPatchRequest)(nil), // 15: gitaly.RawPatchRequest (*RawPatchResponse)(nil), // 16: gitaly.RawPatchResponse (*DiffStatsRequest)(nil), // 17: gitaly.DiffStatsRequest (*DiffStats)(nil), // 18: gitaly.DiffStats (*DiffStatsResponse)(nil), // 19: gitaly.DiffStatsResponse (*FindChangedPathsRequest)(nil), // 20: gitaly.FindChangedPathsRequest (*FindChangedPathsResponse)(nil), // 21: gitaly.FindChangedPathsResponse (*ChangedPaths)(nil), // 22: gitaly.ChangedPaths (*GetPatchIDRequest)(nil), // 23: gitaly.GetPatchIDRequest (*GetPatchIDResponse)(nil), // 24: gitaly.GetPatchIDResponse (*RangePair)(nil), // 25: gitaly.RangePair (*RevisionRange)(nil), // 26: gitaly.RevisionRange (*BaseWithRevisions)(nil), // 27: gitaly.BaseWithRevisions (*RawRangeDiffRequest)(nil), // 28: gitaly.RawRangeDiffRequest (*RawRangeDiffResponse)(nil), // 29: gitaly.RawRangeDiffResponse (*RangeDiffRequest)(nil), // 30: gitaly.RangeDiffRequest (*RangeDiffResponse)(nil), // 31: gitaly.RangeDiffResponse (*DiffBlobsRequest)(nil), // 32: gitaly.DiffBlobsRequest (*DiffBlobsResponse)(nil), // 33: gitaly.DiffBlobsResponse nil, // 34: gitaly.CommitDiffRequest.MaxPatchBytesForFileExtensionEntry (*FindChangedPathsRequest_Request)(nil), // 35: gitaly.FindChangedPathsRequest.Request (*FindChangedPathsRequest_Request_TreeRequest)(nil), // 36: gitaly.FindChangedPathsRequest.Request.TreeRequest (*FindChangedPathsRequest_Request_CommitRequest)(nil), // 37: gitaly.FindChangedPathsRequest.Request.CommitRequest (*DiffBlobsRequest_BlobPair)(nil), // 38: gitaly.DiffBlobsRequest.BlobPair (*Repository)(nil), // 39: gitaly.Repository } var file_diff_proto_depIdxs = []int32{ 39, // 0: gitaly.CommitDiffRequest.repository:type_name -> gitaly.Repository 0, // 1: gitaly.CommitDiffRequest.diff_mode:type_name -> gitaly.CommitDiffRequest.DiffMode 34, // 2: gitaly.CommitDiffRequest.max_patch_bytes_for_file_extension:type_name -> gitaly.CommitDiffRequest.MaxPatchBytesForFileExtensionEntry 1, // 3: gitaly.CommitDiffRequest.whitespace_changes:type_name -> gitaly.CommitDiffRequest.WhitespaceChanges 39, // 4: gitaly.CommitDeltaRequest.repository:type_name -> gitaly.Repository 11, // 5: gitaly.CommitDeltaResponse.deltas:type_name -> gitaly.CommitDelta 39, // 6: gitaly.RawDiffRequest.repository:type_name -> gitaly.Repository 39, // 7: gitaly.RawPatchRequest.repository:type_name -> gitaly.Repository 39, // 8: gitaly.DiffStatsRequest.repository:type_name -> gitaly.Repository 18, // 9: gitaly.DiffStatsResponse.stats:type_name -> gitaly.DiffStats 39, // 10: gitaly.FindChangedPathsRequest.repository:type_name -> gitaly.Repository 35, // 11: gitaly.FindChangedPathsRequest.requests:type_name -> gitaly.FindChangedPathsRequest.Request 2, // 12: gitaly.FindChangedPathsRequest.merge_commit_diff_mode:type_name -> gitaly.FindChangedPathsRequest.MergeCommitDiffMode 22, // 13: gitaly.FindChangedPathsResponse.paths:type_name -> gitaly.ChangedPaths 3, // 14: gitaly.ChangedPaths.status:type_name -> gitaly.ChangedPaths.Status 39, // 15: gitaly.GetPatchIDRequest.repository:type_name -> gitaly.Repository 39, // 16: gitaly.RawRangeDiffRequest.repository:type_name -> gitaly.Repository 25, // 17: gitaly.RawRangeDiffRequest.range_pair:type_name -> gitaly.RangePair 26, // 18: gitaly.RawRangeDiffRequest.revision_range:type_name -> gitaly.RevisionRange 27, // 19: gitaly.RawRangeDiffRequest.base_with_revisions:type_name -> gitaly.BaseWithRevisions 39, // 20: gitaly.RangeDiffRequest.repository:type_name -> gitaly.Repository 25, // 21: gitaly.RangeDiffRequest.range_pair:type_name -> gitaly.RangePair 26, // 22: gitaly.RangeDiffRequest.revision_range:type_name -> gitaly.RevisionRange 27, // 23: gitaly.RangeDiffRequest.base_with_revisions:type_name -> gitaly.BaseWithRevisions 4, // 24: gitaly.RangeDiffResponse.comparison:type_name -> gitaly.RangeDiffResponse.Comparator 39, // 25: gitaly.DiffBlobsRequest.repository:type_name -> gitaly.Repository 38, // 26: gitaly.DiffBlobsRequest.blob_pairs:type_name -> gitaly.DiffBlobsRequest.BlobPair 5, // 27: gitaly.DiffBlobsRequest.diff_mode:type_name -> gitaly.DiffBlobsRequest.DiffMode 6, // 28: gitaly.DiffBlobsRequest.whitespace_changes:type_name -> gitaly.DiffBlobsRequest.WhitespaceChanges 22, // 29: gitaly.DiffBlobsRequest.raw_info:type_name -> gitaly.ChangedPaths 7, // 30: gitaly.DiffBlobsResponse.status:type_name -> gitaly.DiffBlobsResponse.Status 36, // 31: gitaly.FindChangedPathsRequest.Request.tree_request:type_name -> gitaly.FindChangedPathsRequest.Request.TreeRequest 37, // 32: gitaly.FindChangedPathsRequest.Request.commit_request:type_name -> gitaly.FindChangedPathsRequest.Request.CommitRequest 8, // 33: gitaly.DiffService.CommitDiff:input_type -> gitaly.CommitDiffRequest 10, // 34: gitaly.DiffService.CommitDelta:input_type -> gitaly.CommitDeltaRequest 13, // 35: gitaly.DiffService.RawDiff:input_type -> gitaly.RawDiffRequest 15, // 36: gitaly.DiffService.RawPatch:input_type -> gitaly.RawPatchRequest 17, // 37: gitaly.DiffService.DiffStats:input_type -> gitaly.DiffStatsRequest 20, // 38: gitaly.DiffService.FindChangedPaths:input_type -> gitaly.FindChangedPathsRequest 23, // 39: gitaly.DiffService.GetPatchID:input_type -> gitaly.GetPatchIDRequest 28, // 40: gitaly.DiffService.RawRangeDiff:input_type -> gitaly.RawRangeDiffRequest 30, // 41: gitaly.DiffService.RangeDiff:input_type -> gitaly.RangeDiffRequest 32, // 42: gitaly.DiffService.DiffBlobs:input_type -> gitaly.DiffBlobsRequest 9, // 43: gitaly.DiffService.CommitDiff:output_type -> gitaly.CommitDiffResponse 12, // 44: gitaly.DiffService.CommitDelta:output_type -> gitaly.CommitDeltaResponse 14, // 45: gitaly.DiffService.RawDiff:output_type -> gitaly.RawDiffResponse 16, // 46: gitaly.DiffService.RawPatch:output_type -> gitaly.RawPatchResponse 19, // 47: gitaly.DiffService.DiffStats:output_type -> gitaly.DiffStatsResponse 21, // 48: gitaly.DiffService.FindChangedPaths:output_type -> gitaly.FindChangedPathsResponse 24, // 49: gitaly.DiffService.GetPatchID:output_type -> gitaly.GetPatchIDResponse 29, // 50: gitaly.DiffService.RawRangeDiff:output_type -> gitaly.RawRangeDiffResponse 31, // 51: gitaly.DiffService.RangeDiff:output_type -> gitaly.RangeDiffResponse 33, // 52: gitaly.DiffService.DiffBlobs:output_type -> gitaly.DiffBlobsResponse 43, // [43:53] is the sub-list for method output_type 33, // [33:43] is the sub-list for method input_type 33, // [33:33] is the sub-list for extension type_name 33, // [33:33] is the sub-list for extension extendee 0, // [0:33] is the sub-list for field type_name } func init() { file_diff_proto_init() } func file_diff_proto_init() { if File_diff_proto != nil { return } file_lint_proto_init() file_shared_proto_init() file_diff_proto_msgTypes[20].OneofWrappers = []any{ (*RawRangeDiffRequest_RangePair)(nil), (*RawRangeDiffRequest_RevisionRange)(nil), (*RawRangeDiffRequest_BaseWithRevisions)(nil), } file_diff_proto_msgTypes[22].OneofWrappers = []any{ (*RangeDiffRequest_RangePair)(nil), (*RangeDiffRequest_RevisionRange)(nil), (*RangeDiffRequest_BaseWithRevisions)(nil), } file_diff_proto_msgTypes[27].OneofWrappers = []any{ (*FindChangedPathsRequest_Request_TreeRequest_)(nil), (*FindChangedPathsRequest_Request_CommitRequest_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_diff_proto_rawDesc), len(file_diff_proto_rawDesc)), NumEnums: 8, NumMessages: 31, NumExtensions: 0, NumServices: 1, }, GoTypes: file_diff_proto_goTypes, DependencyIndexes: file_diff_proto_depIdxs, EnumInfos: file_diff_proto_enumTypes, MessageInfos: file_diff_proto_msgTypes, }.Build() File_diff_proto = out.File file_diff_proto_goTypes = nil file_diff_proto_depIdxs = nil }