You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							4410 lines
						
					
					
						
							154 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							4410 lines
						
					
					
						
							154 KiB
						
					
					
				
								// Code generated by protoc-gen-go. DO NOT EDIT.
							 | 
						|
								// versions:
							 | 
						|
								// 	protoc-gen-go v1.24.0
							 | 
						|
								// 	protoc        v3.12.3
							 | 
						|
								// source: filer.proto
							 | 
						|
								
							 | 
						|
								package filer_pb
							 | 
						|
								
							 | 
						|
								import (
							 | 
						|
									context "context"
							 | 
						|
									proto "github.com/golang/protobuf/proto"
							 | 
						|
									grpc "google.golang.org/grpc"
							 | 
						|
									codes "google.golang.org/grpc/codes"
							 | 
						|
									status "google.golang.org/grpc/status"
							 | 
						|
									protoreflect "google.golang.org/protobuf/reflect/protoreflect"
							 | 
						|
									protoimpl "google.golang.org/protobuf/runtime/protoimpl"
							 | 
						|
									reflect "reflect"
							 | 
						|
									sync "sync"
							 | 
						|
								)
							 | 
						|
								
							 | 
						|
								const (
							 | 
						|
									// Verify that this generated code is sufficiently up-to-date.
							 | 
						|
									_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
							 | 
						|
									// Verify that runtime/protoimpl is sufficiently up-to-date.
							 | 
						|
									_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
							 | 
						|
								)
							 | 
						|
								
							 | 
						|
								// This is a compile-time assertion that a sufficiently up-to-date version
							 | 
						|
								// of the legacy proto package is being used.
							 | 
						|
								const _ = proto.ProtoPackageIsVersion4
							 | 
						|
								
							 | 
						|
								type LookupDirectoryEntryRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
							 | 
						|
									Name      string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LookupDirectoryEntryRequest) Reset() {
							 | 
						|
									*x = LookupDirectoryEntryRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[0]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LookupDirectoryEntryRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*LookupDirectoryEntryRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *LookupDirectoryEntryRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[0]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use LookupDirectoryEntryRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*LookupDirectoryEntryRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{0}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LookupDirectoryEntryRequest) GetDirectory() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Directory
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LookupDirectoryEntryRequest) GetName() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Name
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type LookupDirectoryEntryResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Entry *Entry `protobuf:"bytes,1,opt,name=entry,proto3" json:"entry,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LookupDirectoryEntryResponse) Reset() {
							 | 
						|
									*x = LookupDirectoryEntryResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[1]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LookupDirectoryEntryResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*LookupDirectoryEntryResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *LookupDirectoryEntryResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[1]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use LookupDirectoryEntryResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*LookupDirectoryEntryResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{1}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LookupDirectoryEntryResponse) GetEntry() *Entry {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Entry
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type ListEntriesRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Directory          string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
							 | 
						|
									Prefix             string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"`
							 | 
						|
									StartFromFileName  string `protobuf:"bytes,3,opt,name=startFromFileName,proto3" json:"startFromFileName,omitempty"`
							 | 
						|
									InclusiveStartFrom bool   `protobuf:"varint,4,opt,name=inclusiveStartFrom,proto3" json:"inclusiveStartFrom,omitempty"`
							 | 
						|
									Limit              uint32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *ListEntriesRequest) Reset() {
							 | 
						|
									*x = ListEntriesRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[2]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *ListEntriesRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*ListEntriesRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *ListEntriesRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[2]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use ListEntriesRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*ListEntriesRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{2}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *ListEntriesRequest) GetDirectory() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Directory
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *ListEntriesRequest) GetPrefix() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Prefix
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *ListEntriesRequest) GetStartFromFileName() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.StartFromFileName
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *ListEntriesRequest) GetInclusiveStartFrom() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.InclusiveStartFrom
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *ListEntriesRequest) GetLimit() uint32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Limit
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type ListEntriesResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Entry *Entry `protobuf:"bytes,1,opt,name=entry,proto3" json:"entry,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *ListEntriesResponse) Reset() {
							 | 
						|
									*x = ListEntriesResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[3]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *ListEntriesResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*ListEntriesResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *ListEntriesResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[3]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use ListEntriesResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*ListEntriesResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{3}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *ListEntriesResponse) GetEntry() *Entry {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Entry
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type Entry struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Name        string            `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
							 | 
						|
									IsDirectory bool              `protobuf:"varint,2,opt,name=is_directory,json=isDirectory,proto3" json:"is_directory,omitempty"`
							 | 
						|
									Chunks      []*FileChunk      `protobuf:"bytes,3,rep,name=chunks,proto3" json:"chunks,omitempty"`
							 | 
						|
									Attributes  *FuseAttributes   `protobuf:"bytes,4,opt,name=attributes,proto3" json:"attributes,omitempty"`
							 | 
						|
									Extended    map[string][]byte `protobuf:"bytes,5,rep,name=extended,proto3" json:"extended,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Entry) Reset() {
							 | 
						|
									*x = Entry{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[4]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Entry) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*Entry) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *Entry) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[4]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use Entry.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*Entry) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{4}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Entry) GetName() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Name
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Entry) GetIsDirectory() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.IsDirectory
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Entry) GetChunks() []*FileChunk {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Chunks
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Entry) GetAttributes() *FuseAttributes {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Attributes
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Entry) GetExtended() map[string][]byte {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Extended
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type FullEntry struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Dir   string `protobuf:"bytes,1,opt,name=dir,proto3" json:"dir,omitempty"`
							 | 
						|
									Entry *Entry `protobuf:"bytes,2,opt,name=entry,proto3" json:"entry,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FullEntry) Reset() {
							 | 
						|
									*x = FullEntry{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[5]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FullEntry) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*FullEntry) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *FullEntry) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[5]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use FullEntry.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*FullEntry) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{5}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FullEntry) GetDir() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Dir
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FullEntry) GetEntry() *Entry {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Entry
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type EventNotification struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									OldEntry           *Entry `protobuf:"bytes,1,opt,name=old_entry,json=oldEntry,proto3" json:"old_entry,omitempty"`
							 | 
						|
									NewEntry           *Entry `protobuf:"bytes,2,opt,name=new_entry,json=newEntry,proto3" json:"new_entry,omitempty"`
							 | 
						|
									DeleteChunks       bool   `protobuf:"varint,3,opt,name=delete_chunks,json=deleteChunks,proto3" json:"delete_chunks,omitempty"`
							 | 
						|
									NewParentPath      string `protobuf:"bytes,4,opt,name=new_parent_path,json=newParentPath,proto3" json:"new_parent_path,omitempty"`
							 | 
						|
									IsFromOtherCluster bool   `protobuf:"varint,5,opt,name=is_from_other_cluster,json=isFromOtherCluster,proto3" json:"is_from_other_cluster,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *EventNotification) Reset() {
							 | 
						|
									*x = EventNotification{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[6]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *EventNotification) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*EventNotification) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *EventNotification) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[6]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use EventNotification.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*EventNotification) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{6}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *EventNotification) GetOldEntry() *Entry {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.OldEntry
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *EventNotification) GetNewEntry() *Entry {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.NewEntry
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *EventNotification) GetDeleteChunks() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.DeleteChunks
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *EventNotification) GetNewParentPath() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.NewParentPath
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *EventNotification) GetIsFromOtherCluster() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.IsFromOtherCluster
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type FileChunk struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									FileId          string  `protobuf:"bytes,1,opt,name=file_id,json=fileId,proto3" json:"file_id,omitempty"` // to be deprecated
							 | 
						|
									Offset          int64   `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
							 | 
						|
									Size            uint64  `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
							 | 
						|
									Mtime           int64   `protobuf:"varint,4,opt,name=mtime,proto3" json:"mtime,omitempty"`
							 | 
						|
									ETag            string  `protobuf:"bytes,5,opt,name=e_tag,json=eTag,proto3" json:"e_tag,omitempty"`
							 | 
						|
									SourceFileId    string  `protobuf:"bytes,6,opt,name=source_file_id,json=sourceFileId,proto3" json:"source_file_id,omitempty"` // to be deprecated
							 | 
						|
									Fid             *FileId `protobuf:"bytes,7,opt,name=fid,proto3" json:"fid,omitempty"`
							 | 
						|
									SourceFid       *FileId `protobuf:"bytes,8,opt,name=source_fid,json=sourceFid,proto3" json:"source_fid,omitempty"`
							 | 
						|
									CipherKey       []byte  `protobuf:"bytes,9,opt,name=cipher_key,json=cipherKey,proto3" json:"cipher_key,omitempty"`
							 | 
						|
									IsCompressed    bool    `protobuf:"varint,10,opt,name=is_compressed,json=isCompressed,proto3" json:"is_compressed,omitempty"`
							 | 
						|
									IsChunkManifest bool    `protobuf:"varint,11,opt,name=is_chunk_manifest,json=isChunkManifest,proto3" json:"is_chunk_manifest,omitempty"` // content is a list of FileChunks
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) Reset() {
							 | 
						|
									*x = FileChunk{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[7]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*FileChunk) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[7]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use FileChunk.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*FileChunk) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{7}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) GetFileId() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.FileId
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) GetOffset() int64 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Offset
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) GetSize() uint64 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Size
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) GetMtime() int64 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Mtime
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) GetETag() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.ETag
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) GetSourceFileId() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.SourceFileId
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) GetFid() *FileId {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Fid
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) GetSourceFid() *FileId {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.SourceFid
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) GetCipherKey() []byte {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.CipherKey
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) GetIsCompressed() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.IsCompressed
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunk) GetIsChunkManifest() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.IsChunkManifest
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type FileChunkManifest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Chunks []*FileChunk `protobuf:"bytes,1,rep,name=chunks,proto3" json:"chunks,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunkManifest) Reset() {
							 | 
						|
									*x = FileChunkManifest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[8]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunkManifest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*FileChunkManifest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *FileChunkManifest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[8]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use FileChunkManifest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*FileChunkManifest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{8}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileChunkManifest) GetChunks() []*FileChunk {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Chunks
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type FileId struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
							 | 
						|
									FileKey  uint64 `protobuf:"varint,2,opt,name=file_key,json=fileKey,proto3" json:"file_key,omitempty"`
							 | 
						|
									Cookie   uint32 `protobuf:"fixed32,3,opt,name=cookie,proto3" json:"cookie,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileId) Reset() {
							 | 
						|
									*x = FileId{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[9]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileId) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*FileId) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *FileId) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[9]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use FileId.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*FileId) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{9}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileId) GetVolumeId() uint32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.VolumeId
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileId) GetFileKey() uint64 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.FileKey
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FileId) GetCookie() uint32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Cookie
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type FuseAttributes struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									FileSize      uint64   `protobuf:"varint,1,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
							 | 
						|
									Mtime         int64    `protobuf:"varint,2,opt,name=mtime,proto3" json:"mtime,omitempty"` // unix time in seconds
							 | 
						|
									FileMode      uint32   `protobuf:"varint,3,opt,name=file_mode,json=fileMode,proto3" json:"file_mode,omitempty"`
							 | 
						|
									Uid           uint32   `protobuf:"varint,4,opt,name=uid,proto3" json:"uid,omitempty"`
							 | 
						|
									Gid           uint32   `protobuf:"varint,5,opt,name=gid,proto3" json:"gid,omitempty"`
							 | 
						|
									Crtime        int64    `protobuf:"varint,6,opt,name=crtime,proto3" json:"crtime,omitempty"` // unix time in seconds
							 | 
						|
									Mime          string   `protobuf:"bytes,7,opt,name=mime,proto3" json:"mime,omitempty"`
							 | 
						|
									Replication   string   `protobuf:"bytes,8,opt,name=replication,proto3" json:"replication,omitempty"`
							 | 
						|
									Collection    string   `protobuf:"bytes,9,opt,name=collection,proto3" json:"collection,omitempty"`
							 | 
						|
									TtlSec        int32    `protobuf:"varint,10,opt,name=ttl_sec,json=ttlSec,proto3" json:"ttl_sec,omitempty"`
							 | 
						|
									UserName      string   `protobuf:"bytes,11,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"`    // for hdfs
							 | 
						|
									GroupName     []string `protobuf:"bytes,12,rep,name=group_name,json=groupName,proto3" json:"group_name,omitempty"` // for hdfs
							 | 
						|
									SymlinkTarget string   `protobuf:"bytes,13,opt,name=symlink_target,json=symlinkTarget,proto3" json:"symlink_target,omitempty"`
							 | 
						|
									Md5           []byte   `protobuf:"bytes,14,opt,name=md5,proto3" json:"md5,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) Reset() {
							 | 
						|
									*x = FuseAttributes{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[10]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*FuseAttributes) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[10]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use FuseAttributes.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*FuseAttributes) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{10}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetFileSize() uint64 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.FileSize
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetMtime() int64 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Mtime
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetFileMode() uint32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.FileMode
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetUid() uint32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Uid
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetGid() uint32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Gid
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetCrtime() int64 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Crtime
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetMime() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Mime
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetReplication() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Replication
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetCollection() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Collection
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetTtlSec() int32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.TtlSec
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetUserName() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.UserName
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetGroupName() []string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.GroupName
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetSymlinkTarget() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.SymlinkTarget
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *FuseAttributes) GetMd5() []byte {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Md5
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type CreateEntryRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Directory          string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
							 | 
						|
									Entry              *Entry `protobuf:"bytes,2,opt,name=entry,proto3" json:"entry,omitempty"`
							 | 
						|
									OExcl              bool   `protobuf:"varint,3,opt,name=o_excl,json=oExcl,proto3" json:"o_excl,omitempty"`
							 | 
						|
									IsFromOtherCluster bool   `protobuf:"varint,4,opt,name=is_from_other_cluster,json=isFromOtherCluster,proto3" json:"is_from_other_cluster,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *CreateEntryRequest) Reset() {
							 | 
						|
									*x = CreateEntryRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[11]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *CreateEntryRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*CreateEntryRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *CreateEntryRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[11]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use CreateEntryRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*CreateEntryRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{11}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *CreateEntryRequest) GetDirectory() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Directory
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *CreateEntryRequest) GetEntry() *Entry {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Entry
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *CreateEntryRequest) GetOExcl() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.OExcl
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *CreateEntryRequest) GetIsFromOtherCluster() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.IsFromOtherCluster
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type CreateEntryResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *CreateEntryResponse) Reset() {
							 | 
						|
									*x = CreateEntryResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[12]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *CreateEntryResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*CreateEntryResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *CreateEntryResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[12]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use CreateEntryResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*CreateEntryResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{12}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *CreateEntryResponse) GetError() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Error
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type UpdateEntryRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Directory          string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
							 | 
						|
									Entry              *Entry `protobuf:"bytes,2,opt,name=entry,proto3" json:"entry,omitempty"`
							 | 
						|
									IsFromOtherCluster bool   `protobuf:"varint,3,opt,name=is_from_other_cluster,json=isFromOtherCluster,proto3" json:"is_from_other_cluster,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *UpdateEntryRequest) Reset() {
							 | 
						|
									*x = UpdateEntryRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[13]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *UpdateEntryRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*UpdateEntryRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *UpdateEntryRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[13]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use UpdateEntryRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*UpdateEntryRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{13}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *UpdateEntryRequest) GetDirectory() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Directory
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *UpdateEntryRequest) GetEntry() *Entry {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Entry
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *UpdateEntryRequest) GetIsFromOtherCluster() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.IsFromOtherCluster
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type UpdateEntryResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *UpdateEntryResponse) Reset() {
							 | 
						|
									*x = UpdateEntryResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[14]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *UpdateEntryResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*UpdateEntryResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *UpdateEntryResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[14]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use UpdateEntryResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*UpdateEntryResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{14}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type AppendToEntryRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Directory string       `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
							 | 
						|
									EntryName string       `protobuf:"bytes,2,opt,name=entry_name,json=entryName,proto3" json:"entry_name,omitempty"`
							 | 
						|
									Chunks    []*FileChunk `protobuf:"bytes,3,rep,name=chunks,proto3" json:"chunks,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AppendToEntryRequest) Reset() {
							 | 
						|
									*x = AppendToEntryRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[15]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AppendToEntryRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*AppendToEntryRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *AppendToEntryRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[15]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use AppendToEntryRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*AppendToEntryRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{15}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AppendToEntryRequest) GetDirectory() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Directory
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AppendToEntryRequest) GetEntryName() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.EntryName
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AppendToEntryRequest) GetChunks() []*FileChunk {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Chunks
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type AppendToEntryResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AppendToEntryResponse) Reset() {
							 | 
						|
									*x = AppendToEntryResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[16]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AppendToEntryResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*AppendToEntryResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *AppendToEntryResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[16]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use AppendToEntryResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*AppendToEntryResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{16}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type DeleteEntryRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
							 | 
						|
									Name      string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
							 | 
						|
									// bool is_directory = 3;
							 | 
						|
									IsDeleteData         bool `protobuf:"varint,4,opt,name=is_delete_data,json=isDeleteData,proto3" json:"is_delete_data,omitempty"`
							 | 
						|
									IsRecursive          bool `protobuf:"varint,5,opt,name=is_recursive,json=isRecursive,proto3" json:"is_recursive,omitempty"`
							 | 
						|
									IgnoreRecursiveError bool `protobuf:"varint,6,opt,name=ignore_recursive_error,json=ignoreRecursiveError,proto3" json:"ignore_recursive_error,omitempty"`
							 | 
						|
									IsFromOtherCluster   bool `protobuf:"varint,7,opt,name=is_from_other_cluster,json=isFromOtherCluster,proto3" json:"is_from_other_cluster,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteEntryRequest) Reset() {
							 | 
						|
									*x = DeleteEntryRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[17]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteEntryRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*DeleteEntryRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *DeleteEntryRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[17]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use DeleteEntryRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*DeleteEntryRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{17}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteEntryRequest) GetDirectory() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Directory
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteEntryRequest) GetName() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Name
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteEntryRequest) GetIsDeleteData() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.IsDeleteData
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteEntryRequest) GetIsRecursive() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.IsRecursive
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteEntryRequest) GetIgnoreRecursiveError() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.IgnoreRecursiveError
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteEntryRequest) GetIsFromOtherCluster() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.IsFromOtherCluster
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type DeleteEntryResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteEntryResponse) Reset() {
							 | 
						|
									*x = DeleteEntryResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[18]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteEntryResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*DeleteEntryResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *DeleteEntryResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[18]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use DeleteEntryResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*DeleteEntryResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{18}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteEntryResponse) GetError() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Error
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type AtomicRenameEntryRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									OldDirectory string `protobuf:"bytes,1,opt,name=old_directory,json=oldDirectory,proto3" json:"old_directory,omitempty"`
							 | 
						|
									OldName      string `protobuf:"bytes,2,opt,name=old_name,json=oldName,proto3" json:"old_name,omitempty"`
							 | 
						|
									NewDirectory string `protobuf:"bytes,3,opt,name=new_directory,json=newDirectory,proto3" json:"new_directory,omitempty"`
							 | 
						|
									NewName      string `protobuf:"bytes,4,opt,name=new_name,json=newName,proto3" json:"new_name,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AtomicRenameEntryRequest) Reset() {
							 | 
						|
									*x = AtomicRenameEntryRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[19]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AtomicRenameEntryRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*AtomicRenameEntryRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *AtomicRenameEntryRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[19]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use AtomicRenameEntryRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*AtomicRenameEntryRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{19}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AtomicRenameEntryRequest) GetOldDirectory() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.OldDirectory
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AtomicRenameEntryRequest) GetOldName() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.OldName
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AtomicRenameEntryRequest) GetNewDirectory() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.NewDirectory
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AtomicRenameEntryRequest) GetNewName() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.NewName
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type AtomicRenameEntryResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AtomicRenameEntryResponse) Reset() {
							 | 
						|
									*x = AtomicRenameEntryResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[20]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AtomicRenameEntryResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*AtomicRenameEntryResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *AtomicRenameEntryResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[20]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use AtomicRenameEntryResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*AtomicRenameEntryResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{20}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type AssignVolumeRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Count       int32  `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
							 | 
						|
									Collection  string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
							 | 
						|
									Replication string `protobuf:"bytes,3,opt,name=replication,proto3" json:"replication,omitempty"`
							 | 
						|
									TtlSec      int32  `protobuf:"varint,4,opt,name=ttl_sec,json=ttlSec,proto3" json:"ttl_sec,omitempty"`
							 | 
						|
									DataCenter  string `protobuf:"bytes,5,opt,name=data_center,json=dataCenter,proto3" json:"data_center,omitempty"`
							 | 
						|
									ParentPath  string `protobuf:"bytes,6,opt,name=parent_path,json=parentPath,proto3" json:"parent_path,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeRequest) Reset() {
							 | 
						|
									*x = AssignVolumeRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[21]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*AssignVolumeRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[21]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use AssignVolumeRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*AssignVolumeRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{21}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeRequest) GetCount() int32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Count
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeRequest) GetCollection() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Collection
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeRequest) GetReplication() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Replication
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeRequest) GetTtlSec() int32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.TtlSec
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeRequest) GetDataCenter() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.DataCenter
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeRequest) GetParentPath() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.ParentPath
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type AssignVolumeResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									FileId      string `protobuf:"bytes,1,opt,name=file_id,json=fileId,proto3" json:"file_id,omitempty"`
							 | 
						|
									Url         string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
							 | 
						|
									PublicUrl   string `protobuf:"bytes,3,opt,name=public_url,json=publicUrl,proto3" json:"public_url,omitempty"`
							 | 
						|
									Count       int32  `protobuf:"varint,4,opt,name=count,proto3" json:"count,omitempty"`
							 | 
						|
									Auth        string `protobuf:"bytes,5,opt,name=auth,proto3" json:"auth,omitempty"`
							 | 
						|
									Collection  string `protobuf:"bytes,6,opt,name=collection,proto3" json:"collection,omitempty"`
							 | 
						|
									Replication string `protobuf:"bytes,7,opt,name=replication,proto3" json:"replication,omitempty"`
							 | 
						|
									Error       string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeResponse) Reset() {
							 | 
						|
									*x = AssignVolumeResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[22]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*AssignVolumeResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[22]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use AssignVolumeResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*AssignVolumeResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{22}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeResponse) GetFileId() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.FileId
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeResponse) GetUrl() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Url
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeResponse) GetPublicUrl() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.PublicUrl
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeResponse) GetCount() int32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Count
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeResponse) GetAuth() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Auth
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeResponse) GetCollection() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Collection
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeResponse) GetReplication() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Replication
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *AssignVolumeResponse) GetError() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Error
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type LookupVolumeRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									VolumeIds []string `protobuf:"bytes,1,rep,name=volume_ids,json=volumeIds,proto3" json:"volume_ids,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LookupVolumeRequest) Reset() {
							 | 
						|
									*x = LookupVolumeRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[23]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LookupVolumeRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*LookupVolumeRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *LookupVolumeRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[23]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use LookupVolumeRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*LookupVolumeRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{23}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LookupVolumeRequest) GetVolumeIds() []string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.VolumeIds
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type Locations struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Locations []*Location `protobuf:"bytes,1,rep,name=locations,proto3" json:"locations,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Locations) Reset() {
							 | 
						|
									*x = Locations{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[24]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Locations) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*Locations) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *Locations) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[24]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use Locations.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*Locations) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{24}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Locations) GetLocations() []*Location {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Locations
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type Location struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Url       string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
							 | 
						|
									PublicUrl string `protobuf:"bytes,2,opt,name=public_url,json=publicUrl,proto3" json:"public_url,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Location) Reset() {
							 | 
						|
									*x = Location{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[25]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Location) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*Location) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *Location) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[25]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use Location.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*Location) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{25}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Location) GetUrl() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Url
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *Location) GetPublicUrl() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.PublicUrl
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type LookupVolumeResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									LocationsMap map[string]*Locations `protobuf:"bytes,1,rep,name=locations_map,json=locationsMap,proto3" json:"locations_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LookupVolumeResponse) Reset() {
							 | 
						|
									*x = LookupVolumeResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[26]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LookupVolumeResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*LookupVolumeResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *LookupVolumeResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[26]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use LookupVolumeResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*LookupVolumeResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{26}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LookupVolumeResponse) GetLocationsMap() map[string]*Locations {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.LocationsMap
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type DeleteCollectionRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteCollectionRequest) Reset() {
							 | 
						|
									*x = DeleteCollectionRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[27]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteCollectionRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*DeleteCollectionRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *DeleteCollectionRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[27]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use DeleteCollectionRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*DeleteCollectionRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{27}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteCollectionRequest) GetCollection() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Collection
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type DeleteCollectionResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteCollectionResponse) Reset() {
							 | 
						|
									*x = DeleteCollectionResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[28]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *DeleteCollectionResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*DeleteCollectionResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *DeleteCollectionResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[28]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use DeleteCollectionResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*DeleteCollectionResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{28}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type StatisticsRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Replication string `protobuf:"bytes,1,opt,name=replication,proto3" json:"replication,omitempty"`
							 | 
						|
									Collection  string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
							 | 
						|
									Ttl         string `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsRequest) Reset() {
							 | 
						|
									*x = StatisticsRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[29]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*StatisticsRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[29]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use StatisticsRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*StatisticsRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{29}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsRequest) GetReplication() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Replication
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsRequest) GetCollection() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Collection
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsRequest) GetTtl() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Ttl
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type StatisticsResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Replication string `protobuf:"bytes,1,opt,name=replication,proto3" json:"replication,omitempty"`
							 | 
						|
									Collection  string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
							 | 
						|
									Ttl         string `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
							 | 
						|
									TotalSize   uint64 `protobuf:"varint,4,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
							 | 
						|
									UsedSize    uint64 `protobuf:"varint,5,opt,name=used_size,json=usedSize,proto3" json:"used_size,omitempty"`
							 | 
						|
									FileCount   uint64 `protobuf:"varint,6,opt,name=file_count,json=fileCount,proto3" json:"file_count,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsResponse) Reset() {
							 | 
						|
									*x = StatisticsResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[30]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*StatisticsResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[30]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use StatisticsResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*StatisticsResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{30}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsResponse) GetReplication() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Replication
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsResponse) GetCollection() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Collection
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsResponse) GetTtl() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Ttl
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsResponse) GetTotalSize() uint64 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.TotalSize
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsResponse) GetUsedSize() uint64 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.UsedSize
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *StatisticsResponse) GetFileCount() uint64 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.FileCount
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type GetFilerConfigurationRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *GetFilerConfigurationRequest) Reset() {
							 | 
						|
									*x = GetFilerConfigurationRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[31]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *GetFilerConfigurationRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*GetFilerConfigurationRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *GetFilerConfigurationRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[31]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use GetFilerConfigurationRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*GetFilerConfigurationRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{31}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type GetFilerConfigurationResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Masters     []string `protobuf:"bytes,1,rep,name=masters,proto3" json:"masters,omitempty"`
							 | 
						|
									Replication string   `protobuf:"bytes,2,opt,name=replication,proto3" json:"replication,omitempty"`
							 | 
						|
									Collection  string   `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"`
							 | 
						|
									MaxMb       uint32   `protobuf:"varint,4,opt,name=max_mb,json=maxMb,proto3" json:"max_mb,omitempty"`
							 | 
						|
									DirBuckets  string   `protobuf:"bytes,5,opt,name=dir_buckets,json=dirBuckets,proto3" json:"dir_buckets,omitempty"`
							 | 
						|
									Cipher      bool     `protobuf:"varint,7,opt,name=cipher,proto3" json:"cipher,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *GetFilerConfigurationResponse) Reset() {
							 | 
						|
									*x = GetFilerConfigurationResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[32]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *GetFilerConfigurationResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*GetFilerConfigurationResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *GetFilerConfigurationResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[32]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use GetFilerConfigurationResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*GetFilerConfigurationResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{32}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *GetFilerConfigurationResponse) GetMasters() []string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Masters
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *GetFilerConfigurationResponse) GetReplication() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Replication
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *GetFilerConfigurationResponse) GetCollection() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Collection
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *GetFilerConfigurationResponse) GetMaxMb() uint32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.MaxMb
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *GetFilerConfigurationResponse) GetDirBuckets() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.DirBuckets
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *GetFilerConfigurationResponse) GetCipher() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Cipher
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type SubscribeMetadataRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									ClientName string `protobuf:"bytes,1,opt,name=client_name,json=clientName,proto3" json:"client_name,omitempty"`
							 | 
						|
									PathPrefix string `protobuf:"bytes,2,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"`
							 | 
						|
									SinceNs    int64  `protobuf:"varint,3,opt,name=since_ns,json=sinceNs,proto3" json:"since_ns,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *SubscribeMetadataRequest) Reset() {
							 | 
						|
									*x = SubscribeMetadataRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[33]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *SubscribeMetadataRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*SubscribeMetadataRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *SubscribeMetadataRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[33]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use SubscribeMetadataRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*SubscribeMetadataRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{33}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *SubscribeMetadataRequest) GetClientName() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.ClientName
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *SubscribeMetadataRequest) GetPathPrefix() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.PathPrefix
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *SubscribeMetadataRequest) GetSinceNs() int64 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.SinceNs
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type SubscribeMetadataResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Directory         string             `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
							 | 
						|
									EventNotification *EventNotification `protobuf:"bytes,2,opt,name=event_notification,json=eventNotification,proto3" json:"event_notification,omitempty"`
							 | 
						|
									TsNs              int64              `protobuf:"varint,3,opt,name=ts_ns,json=tsNs,proto3" json:"ts_ns,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *SubscribeMetadataResponse) Reset() {
							 | 
						|
									*x = SubscribeMetadataResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[34]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *SubscribeMetadataResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*SubscribeMetadataResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *SubscribeMetadataResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[34]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use SubscribeMetadataResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*SubscribeMetadataResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{34}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *SubscribeMetadataResponse) GetDirectory() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Directory
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *SubscribeMetadataResponse) GetEventNotification() *EventNotification {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.EventNotification
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *SubscribeMetadataResponse) GetTsNs() int64 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.TsNs
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type LogEntry struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									TsNs             int64  `protobuf:"varint,1,opt,name=ts_ns,json=tsNs,proto3" json:"ts_ns,omitempty"`
							 | 
						|
									PartitionKeyHash int32  `protobuf:"varint,2,opt,name=partition_key_hash,json=partitionKeyHash,proto3" json:"partition_key_hash,omitempty"`
							 | 
						|
									Data             []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LogEntry) Reset() {
							 | 
						|
									*x = LogEntry{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[35]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LogEntry) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*LogEntry) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *LogEntry) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[35]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use LogEntry.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*LogEntry) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{35}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LogEntry) GetTsNs() int64 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.TsNs
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LogEntry) GetPartitionKeyHash() int32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.PartitionKeyHash
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LogEntry) GetData() []byte {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Data
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type KeepConnectedRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Name      string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
							 | 
						|
									GrpcPort  uint32   `protobuf:"varint,2,opt,name=grpc_port,json=grpcPort,proto3" json:"grpc_port,omitempty"`
							 | 
						|
									Resources []string `protobuf:"bytes,3,rep,name=resources,proto3" json:"resources,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *KeepConnectedRequest) Reset() {
							 | 
						|
									*x = KeepConnectedRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[36]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *KeepConnectedRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*KeepConnectedRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *KeepConnectedRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[36]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use KeepConnectedRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*KeepConnectedRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{36}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *KeepConnectedRequest) GetName() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Name
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *KeepConnectedRequest) GetGrpcPort() uint32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.GrpcPort
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *KeepConnectedRequest) GetResources() []string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Resources
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type KeepConnectedResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *KeepConnectedResponse) Reset() {
							 | 
						|
									*x = KeepConnectedResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[37]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *KeepConnectedResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*KeepConnectedResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *KeepConnectedResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[37]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use KeepConnectedResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*KeepConnectedResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{37}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type LocateBrokerRequest struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Resource string `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerRequest) Reset() {
							 | 
						|
									*x = LocateBrokerRequest{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[38]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerRequest) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*LocateBrokerRequest) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerRequest) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[38]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use LocateBrokerRequest.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*LocateBrokerRequest) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{38}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerRequest) GetResource() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Resource
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type LocateBrokerResponse struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									Found     bool                             `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"`
							 | 
						|
									Resources []*LocateBrokerResponse_Resource `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerResponse) Reset() {
							 | 
						|
									*x = LocateBrokerResponse{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[39]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerResponse) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*LocateBrokerResponse) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerResponse) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[39]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use LocateBrokerResponse.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*LocateBrokerResponse) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{39}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerResponse) GetFound() bool {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Found
							 | 
						|
									}
							 | 
						|
									return false
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerResponse) GetResources() []*LocateBrokerResponse_Resource {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.Resources
							 | 
						|
									}
							 | 
						|
									return nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// if found, send the exact address
							 | 
						|
								// if not found, send the full list of existing brokers
							 | 
						|
								type LocateBrokerResponse_Resource struct {
							 | 
						|
									state         protoimpl.MessageState
							 | 
						|
									sizeCache     protoimpl.SizeCache
							 | 
						|
									unknownFields protoimpl.UnknownFields
							 | 
						|
								
							 | 
						|
									GrpcAddresses string `protobuf:"bytes,1,opt,name=grpc_addresses,json=grpcAddresses,proto3" json:"grpc_addresses,omitempty"`
							 | 
						|
									ResourceCount int32  `protobuf:"varint,2,opt,name=resource_count,json=resourceCount,proto3" json:"resource_count,omitempty"`
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerResponse_Resource) Reset() {
							 | 
						|
									*x = LocateBrokerResponse_Resource{}
							 | 
						|
									if protoimpl.UnsafeEnabled {
							 | 
						|
										mi := &file_filer_proto_msgTypes[42]
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										ms.StoreMessageInfo(mi)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerResponse_Resource) String() string {
							 | 
						|
									return protoimpl.X.MessageStringOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*LocateBrokerResponse_Resource) ProtoMessage() {}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerResponse_Resource) ProtoReflect() protoreflect.Message {
							 | 
						|
									mi := &file_filer_proto_msgTypes[42]
							 | 
						|
									if protoimpl.UnsafeEnabled && x != nil {
							 | 
						|
										ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
							 | 
						|
										if ms.LoadMessageInfo() == nil {
							 | 
						|
											ms.StoreMessageInfo(mi)
							 | 
						|
										}
							 | 
						|
										return ms
							 | 
						|
									}
							 | 
						|
									return mi.MessageOf(x)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Deprecated: Use LocateBrokerResponse_Resource.ProtoReflect.Descriptor instead.
							 | 
						|
								func (*LocateBrokerResponse_Resource) Descriptor() ([]byte, []int) {
							 | 
						|
									return file_filer_proto_rawDescGZIP(), []int{39, 0}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerResponse_Resource) GetGrpcAddresses() string {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.GrpcAddresses
							 | 
						|
									}
							 | 
						|
									return ""
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *LocateBrokerResponse_Resource) GetResourceCount() int32 {
							 | 
						|
									if x != nil {
							 | 
						|
										return x.ResourceCount
							 | 
						|
									}
							 | 
						|
									return 0
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								var File_filer_proto protoreflect.FileDescriptor
							 | 
						|
								
							 | 
						|
								var file_filer_proto_rawDesc = []byte{
							 | 
						|
									0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x66,
							 | 
						|
									0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x22, 0x4f, 0x0a, 0x1b, 0x4c, 0x6f, 0x6f, 0x6b, 0x75,
							 | 
						|
									0x70, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
							 | 
						|
									0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
							 | 
						|
									0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63,
							 | 
						|
									0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
							 | 
						|
									0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x1c, 0x4c, 0x6f, 0x6f, 0x6b,
							 | 
						|
									0x75, 0x70, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79,
							 | 
						|
									0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72,
							 | 
						|
									0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f,
							 | 
						|
									0x70, 0x62, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22,
							 | 
						|
									0xbe, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52,
							 | 
						|
									0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
							 | 
						|
									0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63,
							 | 
						|
									0x74, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02,
							 | 
						|
									0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2c, 0x0a, 0x11,
							 | 
						|
									0x73, 0x74, 0x61, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d,
							 | 
						|
									0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x46, 0x72,
							 | 
						|
									0x6f, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6e,
							 | 
						|
									0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d,
							 | 
						|
									0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76,
							 | 
						|
									0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69,
							 | 
						|
									0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74,
							 | 
						|
									0x22, 0x3c, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52,
							 | 
						|
									0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79,
							 | 
						|
									0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70,
							 | 
						|
									0x62, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x9d,
							 | 
						|
									0x02, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
							 | 
						|
									0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c,
							 | 
						|
									0x69, 0x73, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01,
							 | 
						|
									0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12,
							 | 
						|
									0x2b, 0x0a, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
							 | 
						|
									0x13, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43,
							 | 
						|
									0x68, 0x75, 0x6e, 0x6b, 0x52, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x12, 0x38, 0x0a, 0x0a,
							 | 
						|
									0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
							 | 
						|
									0x32, 0x18, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x46, 0x75, 0x73, 0x65,
							 | 
						|
									0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72,
							 | 
						|
									0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64,
							 | 
						|
									0x65, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72,
							 | 
						|
									0x5f, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64,
							 | 
						|
									0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65,
							 | 
						|
									0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 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, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x44,
							 | 
						|
									0x0a, 0x09, 0x46, 0x75, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x64,
							 | 
						|
									0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x72, 0x12, 0x25, 0x0a,
							 | 
						|
									0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x66,
							 | 
						|
									0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x65,
							 | 
						|
									0x6e, 0x74, 0x72, 0x79, 0x22, 0xef, 0x01, 0x0a, 0x11, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f,
							 | 
						|
									0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x09, 0x6f, 0x6c,
							 | 
						|
									0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
							 | 
						|
									0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08,
							 | 
						|
									0x6f, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f,
							 | 
						|
									0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x66, 0x69,
							 | 
						|
									0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6e, 0x65,
							 | 
						|
									0x77, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
							 | 
						|
									0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64,
							 | 
						|
									0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e,
							 | 
						|
									0x65, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04,
							 | 
						|
									0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x50,
							 | 
						|
									0x61, 0x74, 0x68, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6f,
							 | 
						|
									0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01,
							 | 
						|
									0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43,
							 | 
						|
									0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0xe6, 0x02, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x43,
							 | 
						|
									0x68, 0x75, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18,
							 | 
						|
									0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a,
							 | 
						|
									0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f,
							 | 
						|
									0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20,
							 | 
						|
									0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69,
							 | 
						|
									0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12,
							 | 
						|
									0x13, 0x0a, 0x05, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
							 | 
						|
									0x65, 0x54, 0x61, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66,
							 | 
						|
									0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f,
							 | 
						|
									0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x03, 0x66, 0x69,
							 | 
						|
									0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f,
							 | 
						|
									0x70, 0x62, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x03, 0x66, 0x69, 0x64, 0x12, 0x2f,
							 | 
						|
									0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
							 | 
						|
									0x28, 0x0b, 0x32, 0x10, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x46, 0x69,
							 | 
						|
									0x6c, 0x65, 0x49, 0x64, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x64, 0x12,
							 | 
						|
									0x1d, 0x0a, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x09, 0x20,
							 | 
						|
									0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x23,
							 | 
						|
									0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18,
							 | 
						|
									0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73,
							 | 
						|
									0x73, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f,
							 | 
						|
									0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
							 | 
						|
									0x69, 0x73, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x22,
							 | 
						|
									0x40, 0x0a, 0x11, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x61, 0x6e, 0x69,
							 | 
						|
									0x66, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x18, 0x01,
							 | 
						|
									0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e,
							 | 
						|
									0x46, 0x69, 0x6c, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b,
							 | 
						|
									0x73, 0x22, 0x58, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x76,
							 | 
						|
									0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
							 | 
						|
									0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65,
							 | 
						|
									0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65,
							 | 
						|
									0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x03, 0x20,
							 | 
						|
									0x01, 0x28, 0x07, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x22, 0x80, 0x03, 0x0a, 0x0e,
							 | 
						|
									0x46, 0x75, 0x73, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1b,
							 | 
						|
									0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
							 | 
						|
									0x04, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d,
							 | 
						|
									0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d,
							 | 
						|
									0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03,
							 | 
						|
									0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x10,
							 | 
						|
									0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64,
							 | 
						|
									0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67,
							 | 
						|
									0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01,
							 | 
						|
									0x28, 0x03, 0x52, 0x06, 0x63, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x69,
							 | 
						|
									0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x69, 0x6d, 0x65, 0x12, 0x20,
							 | 
						|
									0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20,
							 | 
						|
									0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
							 | 
						|
									0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09,
							 | 
						|
									0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
							 | 
						|
									0x12, 0x17, 0x0a, 0x07, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28,
							 | 
						|
									0x05, 0x52, 0x06, 0x74, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65,
							 | 
						|
									0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73,
							 | 
						|
									0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
							 | 
						|
									0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75,
							 | 
						|
									0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b,
							 | 
						|
									0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73,
							 | 
						|
									0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03,
							 | 
						|
									0x6d, 0x64, 0x35, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x64, 0x35, 0x22, 0xa3,
							 | 
						|
									0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65,
							 | 
						|
									0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f,
							 | 
						|
									0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
							 | 
						|
									0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01,
							 | 
						|
									0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x45, 0x6e,
							 | 
						|
									0x74, 0x72, 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x5f,
							 | 
						|
									0x65, 0x78, 0x63, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6f, 0x45, 0x78, 0x63,
							 | 
						|
									0x6c, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6f, 0x74, 0x68,
							 | 
						|
									0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
							 | 
						|
									0x52, 0x12, 0x69, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6c, 0x75,
							 | 
						|
									0x73, 0x74, 0x65, 0x72, 0x22, 0x2b, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e,
							 | 
						|
									0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65,
							 | 
						|
									0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
							 | 
						|
									0x72, 0x22, 0x8c, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72,
							 | 
						|
									0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65,
							 | 
						|
									0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72,
							 | 
						|
									0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18,
							 | 
						|
									0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62,
							 | 
						|
									0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x31, 0x0a,
							 | 
						|
									0x15, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63,
							 | 
						|
									0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73,
							 | 
						|
									0x46, 0x72, 0x6f, 0x6d, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
							 | 
						|
									0x22, 0x15, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
							 | 
						|
									0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x65,
							 | 
						|
									0x6e, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
							 | 
						|
									0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20,
							 | 
						|
									0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d,
							 | 
						|
									0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
							 | 
						|
									0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a,
							 | 
						|
									0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
							 | 
						|
									0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x68, 0x75,
							 | 
						|
									0x6e, 0x6b, 0x52, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x22, 0x17, 0x0a, 0x15, 0x41, 0x70,
							 | 
						|
									0x70, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
							 | 
						|
									0x6e, 0x73, 0x65, 0x22, 0xf8, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e,
							 | 
						|
									0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69,
							 | 
						|
									0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64,
							 | 
						|
									0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
							 | 
						|
									0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e,
							 | 
						|
									0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04,
							 | 
						|
									0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61,
							 | 
						|
									0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69,
							 | 
						|
									0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x52, 0x65, 0x63, 0x75,
							 | 
						|
									0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f,
							 | 
						|
									0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
							 | 
						|
									0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x63,
							 | 
						|
									0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x15, 0x69,
							 | 
						|
									0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75,
							 | 
						|
									0x73, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x46, 0x72,
							 | 
						|
									0x6f, 0x6d, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x2b,
							 | 
						|
									0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73,
							 | 
						|
									0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01,
							 | 
						|
									0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x9a, 0x01, 0x0a, 0x18,
							 | 
						|
									0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72,
							 | 
						|
									0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x6c, 0x64, 0x5f,
							 | 
						|
									0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
							 | 
						|
									0x0c, 0x6f, 0x6c, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a,
							 | 
						|
									0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
							 | 
						|
									0x07, 0x6f, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x5f,
							 | 
						|
									0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
							 | 
						|
									0x0c, 0x6e, 0x65, 0x77, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a,
							 | 
						|
									0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
							 | 
						|
									0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x41, 0x74, 0x6f, 0x6d,
							 | 
						|
									0x69, 0x63, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73,
							 | 
						|
									0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x13, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e,
							 | 
						|
									0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a,
							 | 
						|
									0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f,
							 | 
						|
									0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
							 | 
						|
									0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
							 | 
						|
									0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
							 | 
						|
									0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
							 | 
						|
									0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63,
							 | 
						|
									0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x12, 0x1f,
							 | 
						|
									0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20,
							 | 
						|
									0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12,
							 | 
						|
									0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06,
							 | 
						|
									0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68,
							 | 
						|
									0x22, 0xe2, 0x01, 0x0a, 0x14, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x6f, 0x6c, 0x75, 0x6d,
							 | 
						|
									0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x69, 0x6c,
							 | 
						|
									0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65,
							 | 
						|
									0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
							 | 
						|
									0x03, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x75,
							 | 
						|
									0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
							 | 
						|
									0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01,
							 | 
						|
									0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x75, 0x74,
							 | 
						|
									0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x1e, 0x0a,
							 | 
						|
									0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
							 | 
						|
									0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a,
							 | 
						|
									0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01,
							 | 
						|
									0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
							 | 
						|
									0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
							 | 
						|
									0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x34, 0x0a, 0x13, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56,
							 | 
						|
									0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
							 | 
						|
									0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
							 | 
						|
									0x52, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x73, 0x22, 0x3d, 0x0a, 0x09, 0x4c,
							 | 
						|
									0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61,
							 | 
						|
									0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x66, 0x69,
							 | 
						|
									0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
							 | 
						|
									0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3b, 0x0a, 0x08, 0x4c, 0x6f,
							 | 
						|
									0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20,
							 | 
						|
									0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c,
							 | 
						|
									0x69, 0x63, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75,
							 | 
						|
									0x62, 0x6c, 0x69, 0x63, 0x55, 0x72, 0x6c, 0x22, 0xc3, 0x01, 0x0a, 0x14, 0x4c, 0x6f, 0x6f, 0x6b,
							 | 
						|
									0x75, 0x70, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
							 | 
						|
									0x12, 0x55, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6d, 0x61,
							 | 
						|
									0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f,
							 | 
						|
									0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52,
							 | 
						|
									0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
							 | 
						|
									0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74,
							 | 
						|
									0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x70, 0x1a, 0x54, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 0x61, 0x74,
							 | 
						|
									0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
							 | 
						|
									0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29,
							 | 
						|
									0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
							 | 
						|
									0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
							 | 
						|
									0x6e, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a,
							 | 
						|
									0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
							 | 
						|
									0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c,
							 | 
						|
									0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f,
							 | 
						|
									0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65,
							 | 
						|
									0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
							 | 
						|
									0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69,
							 | 
						|
									0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x70,
							 | 
						|
									0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
							 | 
						|
									0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63,
							 | 
						|
									0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
							 | 
						|
									0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x74,
							 | 
						|
									0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x22, 0xc3, 0x01,
							 | 
						|
									0x0a, 0x12, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70,
							 | 
						|
									0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
							 | 
						|
									0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69,
							 | 
						|
									0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
							 | 
						|
									0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c,
							 | 
						|
									0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20,
							 | 
						|
									0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61,
							 | 
						|
									0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x6f,
							 | 
						|
									0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x5f,
							 | 
						|
									0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x75, 0x73, 0x65, 0x64,
							 | 
						|
									0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75,
							 | 
						|
									0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f,
							 | 
						|
									0x75, 0x6e, 0x74, 0x22, 0x1e, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x72, 0x43,
							 | 
						|
									0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
							 | 
						|
									0x65, 0x73, 0x74, 0x22, 0xcb, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x72,
							 | 
						|
									0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
							 | 
						|
									0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x73,
							 | 
						|
									0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12,
							 | 
						|
									0x20, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
							 | 
						|
									0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
							 | 
						|
									0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
							 | 
						|
									0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
							 | 
						|
									0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28,
							 | 
						|
									0x0d, 0x52, 0x05, 0x6d, 0x61, 0x78, 0x4d, 0x62, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x72, 0x5f,
							 | 
						|
									0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64,
							 | 
						|
									0x69, 0x72, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x69, 0x70,
							 | 
						|
									0x68, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x69, 0x70, 0x68, 0x65,
							 | 
						|
									0x72, 0x22, 0x77, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65,
							 | 
						|
									0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a,
							 | 
						|
									0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
							 | 
						|
									0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f,
							 | 
						|
									0x0a, 0x0b, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20,
							 | 
						|
									0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12,
							 | 
						|
									0x19, 0x0a, 0x08, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
							 | 
						|
									0x03, 0x52, 0x07, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x19, 0x53,
							 | 
						|
									0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
							 | 
						|
									0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65,
							 | 
						|
									0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72,
							 | 
						|
									0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x4a, 0x0a, 0x12, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f,
							 | 
						|
									0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
							 | 
						|
									0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x45, 0x76,
							 | 
						|
									0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
							 | 
						|
									0x11, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
							 | 
						|
									0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x73, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
							 | 
						|
									0x03, 0x52, 0x04, 0x74, 0x73, 0x4e, 0x73, 0x22, 0x61, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x45, 0x6e,
							 | 
						|
									0x74, 0x72, 0x79, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x73, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01,
							 | 
						|
									0x28, 0x03, 0x52, 0x04, 0x74, 0x73, 0x4e, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74,
							 | 
						|
									0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02,
							 | 
						|
									0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b,
							 | 
						|
									0x65, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03,
							 | 
						|
									0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x65, 0x0a, 0x14, 0x4b, 0x65,
							 | 
						|
									0x65, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
							 | 
						|
									0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
							 | 
						|
									0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70,
							 | 
						|
									0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x72, 0x70, 0x63, 0x50,
							 | 
						|
									0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
							 | 
						|
									0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
							 | 
						|
									0x73, 0x22, 0x17, 0x0a, 0x15, 0x4b, 0x65, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
							 | 
						|
									0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x0a, 0x13, 0x4c, 0x6f,
							 | 
						|
									0x63, 0x61, 0x74, 0x65, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
							 | 
						|
									0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20,
							 | 
						|
									0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xcd, 0x01,
							 | 
						|
									0x0a, 0x14, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x52, 0x65,
							 | 
						|
									0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18,
							 | 
						|
									0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x45, 0x0a, 0x09,
							 | 
						|
									0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
							 | 
						|
									0x27, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74,
							 | 
						|
									0x65, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
							 | 
						|
									0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
							 | 
						|
									0x63, 0x65, 0x73, 0x1a, 0x58, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
							 | 
						|
									0x25, 0x0a, 0x0e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65,
							 | 
						|
									0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x41, 0x64, 0x64,
							 | 
						|
									0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
							 | 
						|
									0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d,
							 | 
						|
									0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x8d, 0x0b,
							 | 
						|
									0x0a, 0x0c, 0x53, 0x65, 0x61, 0x77, 0x65, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x67,
							 | 
						|
									0x0a, 0x14, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72,
							 | 
						|
									0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x25, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70,
							 | 
						|
									0x62, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72,
							 | 
						|
									0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
							 | 
						|
									0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x44,
							 | 
						|
									0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73,
							 | 
						|
									0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x45,
							 | 
						|
									0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70,
							 | 
						|
									0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71,
							 | 
						|
									0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e,
							 | 
						|
									0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
							 | 
						|
									0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x4c, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74,
							 | 
						|
									0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1c, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70,
							 | 
						|
									0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71,
							 | 
						|
									0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e,
							 | 
						|
									0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
							 | 
						|
									0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45,
							 | 
						|
									0x6e, 0x74, 0x72, 0x79, 0x12, 0x1c, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e,
							 | 
						|
									0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
							 | 
						|
									0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x55, 0x70,
							 | 
						|
									0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
							 | 
						|
									0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0d, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x45,
							 | 
						|
									0x6e, 0x74, 0x72, 0x79, 0x12, 0x1e, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e,
							 | 
						|
									0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71,
							 | 
						|
									0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e,
							 | 
						|
									0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73,
							 | 
						|
									0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74,
							 | 
						|
									0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1c, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70,
							 | 
						|
									0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71,
							 | 
						|
									0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e,
							 | 
						|
									0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
							 | 
						|
									0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x11, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x52,
							 | 
						|
									0x65, 0x6e, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x22, 0x2e, 0x66, 0x69, 0x6c,
							 | 
						|
									0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x6e, 0x61,
							 | 
						|
									0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23,
							 | 
						|
									0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63,
							 | 
						|
									0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
							 | 
						|
									0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56,
							 | 
						|
									0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62,
							 | 
						|
									0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71,
							 | 
						|
									0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e,
							 | 
						|
									0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70,
							 | 
						|
									0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70,
							 | 
						|
									0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70,
							 | 
						|
									0x62, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65,
							 | 
						|
									0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62,
							 | 
						|
									0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73,
							 | 
						|
									0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74,
							 | 
						|
									0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x66, 0x69,
							 | 
						|
									0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c,
							 | 
						|
									0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
							 | 
						|
									0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
							 | 
						|
									0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
							 | 
						|
									0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69,
							 | 
						|
									0x63, 0x73, 0x12, 0x1b, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x74,
							 | 
						|
									0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
							 | 
						|
									0x1c, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69,
							 | 
						|
									0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
							 | 
						|
									0x6a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69,
							 | 
						|
									0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72,
							 | 
						|
									0x5f, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
							 | 
						|
									0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
							 | 
						|
									0x1a, 0x27, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x46,
							 | 
						|
									0x69, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
							 | 
						|
									0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x53,
							 | 
						|
									0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
							 | 
						|
									0x12, 0x22, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x73,
							 | 
						|
									0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71,
							 | 
						|
									0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e,
							 | 
						|
									0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
							 | 
						|
									0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x65, 0x0a,
							 | 
						|
									0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4d,
							 | 
						|
									0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f,
							 | 
						|
									0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x74, 0x61,
							 | 
						|
									0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x66, 0x69,
							 | 
						|
									0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
							 | 
						|
									0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
							 | 
						|
									0x22, 0x00, 0x30, 0x01, 0x12, 0x56, 0x0a, 0x0d, 0x4b, 0x65, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x6e,
							 | 
						|
									0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62,
							 | 
						|
									0x2e, 0x4b, 0x65, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65,
							 | 
						|
									0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62,
							 | 
						|
									0x2e, 0x4b, 0x65, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65,
							 | 
						|
									0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x4f, 0x0a, 0x0c,
							 | 
						|
									0x4c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x66,
							 | 
						|
									0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x42, 0x72,
							 | 
						|
									0x6f, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x66, 0x69,
							 | 
						|
									0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x42, 0x72, 0x6f,
							 | 
						|
									0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x4f, 0x0a,
							 | 
						|
									0x10, 0x73, 0x65, 0x61, 0x77, 0x65, 0x65, 0x64, 0x66, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e,
							 | 
						|
									0x74, 0x42, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x2f, 0x67,
							 | 
						|
									0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x72, 0x69, 0x73, 0x6c,
							 | 
						|
									0x75, 0x73, 0x66, 0x2f, 0x73, 0x65, 0x61, 0x77, 0x65, 0x65, 0x64, 0x66, 0x73, 0x2f, 0x77, 0x65,
							 | 
						|
									0x65, 0x64, 0x2f, 0x70, 0x62, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x62, 0x06,
							 | 
						|
									0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								var (
							 | 
						|
									file_filer_proto_rawDescOnce sync.Once
							 | 
						|
									file_filer_proto_rawDescData = file_filer_proto_rawDesc
							 | 
						|
								)
							 | 
						|
								
							 | 
						|
								func file_filer_proto_rawDescGZIP() []byte {
							 | 
						|
									file_filer_proto_rawDescOnce.Do(func() {
							 | 
						|
										file_filer_proto_rawDescData = protoimpl.X.CompressGZIP(file_filer_proto_rawDescData)
							 | 
						|
									})
							 | 
						|
									return file_filer_proto_rawDescData
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								var file_filer_proto_msgTypes = make([]protoimpl.MessageInfo, 43)
							 | 
						|
								var file_filer_proto_goTypes = []interface{}{
							 | 
						|
									(*LookupDirectoryEntryRequest)(nil),   // 0: filer_pb.LookupDirectoryEntryRequest
							 | 
						|
									(*LookupDirectoryEntryResponse)(nil),  // 1: filer_pb.LookupDirectoryEntryResponse
							 | 
						|
									(*ListEntriesRequest)(nil),            // 2: filer_pb.ListEntriesRequest
							 | 
						|
									(*ListEntriesResponse)(nil),           // 3: filer_pb.ListEntriesResponse
							 | 
						|
									(*Entry)(nil),                         // 4: filer_pb.Entry
							 | 
						|
									(*FullEntry)(nil),                     // 5: filer_pb.FullEntry
							 | 
						|
									(*EventNotification)(nil),             // 6: filer_pb.EventNotification
							 | 
						|
									(*FileChunk)(nil),                     // 7: filer_pb.FileChunk
							 | 
						|
									(*FileChunkManifest)(nil),             // 8: filer_pb.FileChunkManifest
							 | 
						|
									(*FileId)(nil),                        // 9: filer_pb.FileId
							 | 
						|
									(*FuseAttributes)(nil),                // 10: filer_pb.FuseAttributes
							 | 
						|
									(*CreateEntryRequest)(nil),            // 11: filer_pb.CreateEntryRequest
							 | 
						|
									(*CreateEntryResponse)(nil),           // 12: filer_pb.CreateEntryResponse
							 | 
						|
									(*UpdateEntryRequest)(nil),            // 13: filer_pb.UpdateEntryRequest
							 | 
						|
									(*UpdateEntryResponse)(nil),           // 14: filer_pb.UpdateEntryResponse
							 | 
						|
									(*AppendToEntryRequest)(nil),          // 15: filer_pb.AppendToEntryRequest
							 | 
						|
									(*AppendToEntryResponse)(nil),         // 16: filer_pb.AppendToEntryResponse
							 | 
						|
									(*DeleteEntryRequest)(nil),            // 17: filer_pb.DeleteEntryRequest
							 | 
						|
									(*DeleteEntryResponse)(nil),           // 18: filer_pb.DeleteEntryResponse
							 | 
						|
									(*AtomicRenameEntryRequest)(nil),      // 19: filer_pb.AtomicRenameEntryRequest
							 | 
						|
									(*AtomicRenameEntryResponse)(nil),     // 20: filer_pb.AtomicRenameEntryResponse
							 | 
						|
									(*AssignVolumeRequest)(nil),           // 21: filer_pb.AssignVolumeRequest
							 | 
						|
									(*AssignVolumeResponse)(nil),          // 22: filer_pb.AssignVolumeResponse
							 | 
						|
									(*LookupVolumeRequest)(nil),           // 23: filer_pb.LookupVolumeRequest
							 | 
						|
									(*Locations)(nil),                     // 24: filer_pb.Locations
							 | 
						|
									(*Location)(nil),                      // 25: filer_pb.Location
							 | 
						|
									(*LookupVolumeResponse)(nil),          // 26: filer_pb.LookupVolumeResponse
							 | 
						|
									(*DeleteCollectionRequest)(nil),       // 27: filer_pb.DeleteCollectionRequest
							 | 
						|
									(*DeleteCollectionResponse)(nil),      // 28: filer_pb.DeleteCollectionResponse
							 | 
						|
									(*StatisticsRequest)(nil),             // 29: filer_pb.StatisticsRequest
							 | 
						|
									(*StatisticsResponse)(nil),            // 30: filer_pb.StatisticsResponse
							 | 
						|
									(*GetFilerConfigurationRequest)(nil),  // 31: filer_pb.GetFilerConfigurationRequest
							 | 
						|
									(*GetFilerConfigurationResponse)(nil), // 32: filer_pb.GetFilerConfigurationResponse
							 | 
						|
									(*SubscribeMetadataRequest)(nil),      // 33: filer_pb.SubscribeMetadataRequest
							 | 
						|
									(*SubscribeMetadataResponse)(nil),     // 34: filer_pb.SubscribeMetadataResponse
							 | 
						|
									(*LogEntry)(nil),                      // 35: filer_pb.LogEntry
							 | 
						|
									(*KeepConnectedRequest)(nil),          // 36: filer_pb.KeepConnectedRequest
							 | 
						|
									(*KeepConnectedResponse)(nil),         // 37: filer_pb.KeepConnectedResponse
							 | 
						|
									(*LocateBrokerRequest)(nil),           // 38: filer_pb.LocateBrokerRequest
							 | 
						|
									(*LocateBrokerResponse)(nil),          // 39: filer_pb.LocateBrokerResponse
							 | 
						|
									nil,                                   // 40: filer_pb.Entry.ExtendedEntry
							 | 
						|
									nil,                                   // 41: filer_pb.LookupVolumeResponse.LocationsMapEntry
							 | 
						|
									(*LocateBrokerResponse_Resource)(nil), // 42: filer_pb.LocateBrokerResponse.Resource
							 | 
						|
								}
							 | 
						|
								var file_filer_proto_depIdxs = []int32{
							 | 
						|
									4,  // 0: filer_pb.LookupDirectoryEntryResponse.entry:type_name -> filer_pb.Entry
							 | 
						|
									4,  // 1: filer_pb.ListEntriesResponse.entry:type_name -> filer_pb.Entry
							 | 
						|
									7,  // 2: filer_pb.Entry.chunks:type_name -> filer_pb.FileChunk
							 | 
						|
									10, // 3: filer_pb.Entry.attributes:type_name -> filer_pb.FuseAttributes
							 | 
						|
									40, // 4: filer_pb.Entry.extended:type_name -> filer_pb.Entry.ExtendedEntry
							 | 
						|
									4,  // 5: filer_pb.FullEntry.entry:type_name -> filer_pb.Entry
							 | 
						|
									4,  // 6: filer_pb.EventNotification.old_entry:type_name -> filer_pb.Entry
							 | 
						|
									4,  // 7: filer_pb.EventNotification.new_entry:type_name -> filer_pb.Entry
							 | 
						|
									9,  // 8: filer_pb.FileChunk.fid:type_name -> filer_pb.FileId
							 | 
						|
									9,  // 9: filer_pb.FileChunk.source_fid:type_name -> filer_pb.FileId
							 | 
						|
									7,  // 10: filer_pb.FileChunkManifest.chunks:type_name -> filer_pb.FileChunk
							 | 
						|
									4,  // 11: filer_pb.CreateEntryRequest.entry:type_name -> filer_pb.Entry
							 | 
						|
									4,  // 12: filer_pb.UpdateEntryRequest.entry:type_name -> filer_pb.Entry
							 | 
						|
									7,  // 13: filer_pb.AppendToEntryRequest.chunks:type_name -> filer_pb.FileChunk
							 | 
						|
									25, // 14: filer_pb.Locations.locations:type_name -> filer_pb.Location
							 | 
						|
									41, // 15: filer_pb.LookupVolumeResponse.locations_map:type_name -> filer_pb.LookupVolumeResponse.LocationsMapEntry
							 | 
						|
									6,  // 16: filer_pb.SubscribeMetadataResponse.event_notification:type_name -> filer_pb.EventNotification
							 | 
						|
									42, // 17: filer_pb.LocateBrokerResponse.resources:type_name -> filer_pb.LocateBrokerResponse.Resource
							 | 
						|
									24, // 18: filer_pb.LookupVolumeResponse.LocationsMapEntry.value:type_name -> filer_pb.Locations
							 | 
						|
									0,  // 19: filer_pb.SeaweedFiler.LookupDirectoryEntry:input_type -> filer_pb.LookupDirectoryEntryRequest
							 | 
						|
									2,  // 20: filer_pb.SeaweedFiler.ListEntries:input_type -> filer_pb.ListEntriesRequest
							 | 
						|
									11, // 21: filer_pb.SeaweedFiler.CreateEntry:input_type -> filer_pb.CreateEntryRequest
							 | 
						|
									13, // 22: filer_pb.SeaweedFiler.UpdateEntry:input_type -> filer_pb.UpdateEntryRequest
							 | 
						|
									15, // 23: filer_pb.SeaweedFiler.AppendToEntry:input_type -> filer_pb.AppendToEntryRequest
							 | 
						|
									17, // 24: filer_pb.SeaweedFiler.DeleteEntry:input_type -> filer_pb.DeleteEntryRequest
							 | 
						|
									19, // 25: filer_pb.SeaweedFiler.AtomicRenameEntry:input_type -> filer_pb.AtomicRenameEntryRequest
							 | 
						|
									21, // 26: filer_pb.SeaweedFiler.AssignVolume:input_type -> filer_pb.AssignVolumeRequest
							 | 
						|
									23, // 27: filer_pb.SeaweedFiler.LookupVolume:input_type -> filer_pb.LookupVolumeRequest
							 | 
						|
									27, // 28: filer_pb.SeaweedFiler.DeleteCollection:input_type -> filer_pb.DeleteCollectionRequest
							 | 
						|
									29, // 29: filer_pb.SeaweedFiler.Statistics:input_type -> filer_pb.StatisticsRequest
							 | 
						|
									31, // 30: filer_pb.SeaweedFiler.GetFilerConfiguration:input_type -> filer_pb.GetFilerConfigurationRequest
							 | 
						|
									33, // 31: filer_pb.SeaweedFiler.SubscribeMetadata:input_type -> filer_pb.SubscribeMetadataRequest
							 | 
						|
									33, // 32: filer_pb.SeaweedFiler.SubscribeLocalMetadata:input_type -> filer_pb.SubscribeMetadataRequest
							 | 
						|
									36, // 33: filer_pb.SeaweedFiler.KeepConnected:input_type -> filer_pb.KeepConnectedRequest
							 | 
						|
									38, // 34: filer_pb.SeaweedFiler.LocateBroker:input_type -> filer_pb.LocateBrokerRequest
							 | 
						|
									1,  // 35: filer_pb.SeaweedFiler.LookupDirectoryEntry:output_type -> filer_pb.LookupDirectoryEntryResponse
							 | 
						|
									3,  // 36: filer_pb.SeaweedFiler.ListEntries:output_type -> filer_pb.ListEntriesResponse
							 | 
						|
									12, // 37: filer_pb.SeaweedFiler.CreateEntry:output_type -> filer_pb.CreateEntryResponse
							 | 
						|
									14, // 38: filer_pb.SeaweedFiler.UpdateEntry:output_type -> filer_pb.UpdateEntryResponse
							 | 
						|
									16, // 39: filer_pb.SeaweedFiler.AppendToEntry:output_type -> filer_pb.AppendToEntryResponse
							 | 
						|
									18, // 40: filer_pb.SeaweedFiler.DeleteEntry:output_type -> filer_pb.DeleteEntryResponse
							 | 
						|
									20, // 41: filer_pb.SeaweedFiler.AtomicRenameEntry:output_type -> filer_pb.AtomicRenameEntryResponse
							 | 
						|
									22, // 42: filer_pb.SeaweedFiler.AssignVolume:output_type -> filer_pb.AssignVolumeResponse
							 | 
						|
									26, // 43: filer_pb.SeaweedFiler.LookupVolume:output_type -> filer_pb.LookupVolumeResponse
							 | 
						|
									28, // 44: filer_pb.SeaweedFiler.DeleteCollection:output_type -> filer_pb.DeleteCollectionResponse
							 | 
						|
									30, // 45: filer_pb.SeaweedFiler.Statistics:output_type -> filer_pb.StatisticsResponse
							 | 
						|
									32, // 46: filer_pb.SeaweedFiler.GetFilerConfiguration:output_type -> filer_pb.GetFilerConfigurationResponse
							 | 
						|
									34, // 47: filer_pb.SeaweedFiler.SubscribeMetadata:output_type -> filer_pb.SubscribeMetadataResponse
							 | 
						|
									34, // 48: filer_pb.SeaweedFiler.SubscribeLocalMetadata:output_type -> filer_pb.SubscribeMetadataResponse
							 | 
						|
									37, // 49: filer_pb.SeaweedFiler.KeepConnected:output_type -> filer_pb.KeepConnectedResponse
							 | 
						|
									39, // 50: filer_pb.SeaweedFiler.LocateBroker:output_type -> filer_pb.LocateBrokerResponse
							 | 
						|
									35, // [35:51] is the sub-list for method output_type
							 | 
						|
									19, // [19:35] is the sub-list for method input_type
							 | 
						|
									19, // [19:19] is the sub-list for extension type_name
							 | 
						|
									19, // [19:19] is the sub-list for extension extendee
							 | 
						|
									0,  // [0:19] is the sub-list for field type_name
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func init() { file_filer_proto_init() }
							 | 
						|
								func file_filer_proto_init() {
							 | 
						|
									if File_filer_proto != nil {
							 | 
						|
										return
							 | 
						|
									}
							 | 
						|
									if !protoimpl.UnsafeEnabled {
							 | 
						|
										file_filer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*LookupDirectoryEntryRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*LookupDirectoryEntryResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*ListEntriesRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*ListEntriesResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*Entry); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*FullEntry); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*EventNotification); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*FileChunk); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*FileChunkManifest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*FileId); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*FuseAttributes); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*CreateEntryRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*CreateEntryResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*UpdateEntryRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*UpdateEntryResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*AppendToEntryRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*AppendToEntryResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*DeleteEntryRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*DeleteEntryResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*AtomicRenameEntryRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*AtomicRenameEntryResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*AssignVolumeRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*AssignVolumeResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*LookupVolumeRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*Locations); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*Location); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*LookupVolumeResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*DeleteCollectionRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*DeleteCollectionResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*StatisticsRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*StatisticsResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*GetFilerConfigurationRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*GetFilerConfigurationResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*SubscribeMetadataRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*SubscribeMetadataResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*LogEntry); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*KeepConnectedRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*KeepConnectedResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*LocateBrokerRequest); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*LocateBrokerResponse); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
										file_filer_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
							 | 
						|
											switch v := v.(*LocateBrokerResponse_Resource); i {
							 | 
						|
											case 0:
							 | 
						|
												return &v.state
							 | 
						|
											case 1:
							 | 
						|
												return &v.sizeCache
							 | 
						|
											case 2:
							 | 
						|
												return &v.unknownFields
							 | 
						|
											default:
							 | 
						|
												return nil
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
									}
							 | 
						|
									type x struct{}
							 | 
						|
									out := protoimpl.TypeBuilder{
							 | 
						|
										File: protoimpl.DescBuilder{
							 | 
						|
											GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
							 | 
						|
											RawDescriptor: file_filer_proto_rawDesc,
							 | 
						|
											NumEnums:      0,
							 | 
						|
											NumMessages:   43,
							 | 
						|
											NumExtensions: 0,
							 | 
						|
											NumServices:   1,
							 | 
						|
										},
							 | 
						|
										GoTypes:           file_filer_proto_goTypes,
							 | 
						|
										DependencyIndexes: file_filer_proto_depIdxs,
							 | 
						|
										MessageInfos:      file_filer_proto_msgTypes,
							 | 
						|
									}.Build()
							 | 
						|
									File_filer_proto = out.File
							 | 
						|
									file_filer_proto_rawDesc = nil
							 | 
						|
									file_filer_proto_goTypes = nil
							 | 
						|
									file_filer_proto_depIdxs = nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// Reference imports to suppress errors if they are not otherwise used.
							 | 
						|
								var _ context.Context
							 | 
						|
								var _ grpc.ClientConnInterface
							 | 
						|
								
							 | 
						|
								// This is a compile-time assertion to ensure that this generated file
							 | 
						|
								// is compatible with the grpc package it is being compiled against.
							 | 
						|
								const _ = grpc.SupportPackageIsVersion6
							 | 
						|
								
							 | 
						|
								// SeaweedFilerClient is the client API for SeaweedFiler service.
							 | 
						|
								//
							 | 
						|
								// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
							 | 
						|
								type SeaweedFilerClient interface {
							 | 
						|
									LookupDirectoryEntry(ctx context.Context, in *LookupDirectoryEntryRequest, opts ...grpc.CallOption) (*LookupDirectoryEntryResponse, error)
							 | 
						|
									ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (SeaweedFiler_ListEntriesClient, error)
							 | 
						|
									CreateEntry(ctx context.Context, in *CreateEntryRequest, opts ...grpc.CallOption) (*CreateEntryResponse, error)
							 | 
						|
									UpdateEntry(ctx context.Context, in *UpdateEntryRequest, opts ...grpc.CallOption) (*UpdateEntryResponse, error)
							 | 
						|
									AppendToEntry(ctx context.Context, in *AppendToEntryRequest, opts ...grpc.CallOption) (*AppendToEntryResponse, error)
							 | 
						|
									DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*DeleteEntryResponse, error)
							 | 
						|
									AtomicRenameEntry(ctx context.Context, in *AtomicRenameEntryRequest, opts ...grpc.CallOption) (*AtomicRenameEntryResponse, error)
							 | 
						|
									AssignVolume(ctx context.Context, in *AssignVolumeRequest, opts ...grpc.CallOption) (*AssignVolumeResponse, error)
							 | 
						|
									LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error)
							 | 
						|
									DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error)
							 | 
						|
									Statistics(ctx context.Context, in *StatisticsRequest, opts ...grpc.CallOption) (*StatisticsResponse, error)
							 | 
						|
									GetFilerConfiguration(ctx context.Context, in *GetFilerConfigurationRequest, opts ...grpc.CallOption) (*GetFilerConfigurationResponse, error)
							 | 
						|
									SubscribeMetadata(ctx context.Context, in *SubscribeMetadataRequest, opts ...grpc.CallOption) (SeaweedFiler_SubscribeMetadataClient, error)
							 | 
						|
									SubscribeLocalMetadata(ctx context.Context, in *SubscribeMetadataRequest, opts ...grpc.CallOption) (SeaweedFiler_SubscribeLocalMetadataClient, error)
							 | 
						|
									KeepConnected(ctx context.Context, opts ...grpc.CallOption) (SeaweedFiler_KeepConnectedClient, error)
							 | 
						|
									LocateBroker(ctx context.Context, in *LocateBrokerRequest, opts ...grpc.CallOption) (*LocateBrokerResponse, error)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type seaweedFilerClient struct {
							 | 
						|
									cc grpc.ClientConnInterface
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func NewSeaweedFilerClient(cc grpc.ClientConnInterface) SeaweedFilerClient {
							 | 
						|
									return &seaweedFilerClient{cc}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) LookupDirectoryEntry(ctx context.Context, in *LookupDirectoryEntryRequest, opts ...grpc.CallOption) (*LookupDirectoryEntryResponse, error) {
							 | 
						|
									out := new(LookupDirectoryEntryResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/filer_pb.SeaweedFiler/LookupDirectoryEntry", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (SeaweedFiler_ListEntriesClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &_SeaweedFiler_serviceDesc.Streams[0], "/filer_pb.SeaweedFiler/ListEntries", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &seaweedFilerListEntriesClient{stream}
							 | 
						|
									if err := x.ClientStream.SendMsg(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if err := x.ClientStream.CloseSend(); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return x, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type SeaweedFiler_ListEntriesClient interface {
							 | 
						|
									Recv() (*ListEntriesResponse, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type seaweedFilerListEntriesClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *seaweedFilerListEntriesClient) Recv() (*ListEntriesResponse, error) {
							 | 
						|
									m := new(ListEntriesResponse)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) CreateEntry(ctx context.Context, in *CreateEntryRequest, opts ...grpc.CallOption) (*CreateEntryResponse, error) {
							 | 
						|
									out := new(CreateEntryResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/filer_pb.SeaweedFiler/CreateEntry", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) UpdateEntry(ctx context.Context, in *UpdateEntryRequest, opts ...grpc.CallOption) (*UpdateEntryResponse, error) {
							 | 
						|
									out := new(UpdateEntryResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/filer_pb.SeaweedFiler/UpdateEntry", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) AppendToEntry(ctx context.Context, in *AppendToEntryRequest, opts ...grpc.CallOption) (*AppendToEntryResponse, error) {
							 | 
						|
									out := new(AppendToEntryResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/filer_pb.SeaweedFiler/AppendToEntry", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*DeleteEntryResponse, error) {
							 | 
						|
									out := new(DeleteEntryResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/filer_pb.SeaweedFiler/DeleteEntry", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) AtomicRenameEntry(ctx context.Context, in *AtomicRenameEntryRequest, opts ...grpc.CallOption) (*AtomicRenameEntryResponse, error) {
							 | 
						|
									out := new(AtomicRenameEntryResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/filer_pb.SeaweedFiler/AtomicRenameEntry", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) AssignVolume(ctx context.Context, in *AssignVolumeRequest, opts ...grpc.CallOption) (*AssignVolumeResponse, error) {
							 | 
						|
									out := new(AssignVolumeResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/filer_pb.SeaweedFiler/AssignVolume", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error) {
							 | 
						|
									out := new(LookupVolumeResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/filer_pb.SeaweedFiler/LookupVolume", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error) {
							 | 
						|
									out := new(DeleteCollectionResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/filer_pb.SeaweedFiler/DeleteCollection", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) Statistics(ctx context.Context, in *StatisticsRequest, opts ...grpc.CallOption) (*StatisticsResponse, error) {
							 | 
						|
									out := new(StatisticsResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/filer_pb.SeaweedFiler/Statistics", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) GetFilerConfiguration(ctx context.Context, in *GetFilerConfigurationRequest, opts ...grpc.CallOption) (*GetFilerConfigurationResponse, error) {
							 | 
						|
									out := new(GetFilerConfigurationResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/filer_pb.SeaweedFiler/GetFilerConfiguration", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) SubscribeMetadata(ctx context.Context, in *SubscribeMetadataRequest, opts ...grpc.CallOption) (SeaweedFiler_SubscribeMetadataClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &_SeaweedFiler_serviceDesc.Streams[1], "/filer_pb.SeaweedFiler/SubscribeMetadata", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &seaweedFilerSubscribeMetadataClient{stream}
							 | 
						|
									if err := x.ClientStream.SendMsg(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if err := x.ClientStream.CloseSend(); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return x, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type SeaweedFiler_SubscribeMetadataClient interface {
							 | 
						|
									Recv() (*SubscribeMetadataResponse, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type seaweedFilerSubscribeMetadataClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *seaweedFilerSubscribeMetadataClient) Recv() (*SubscribeMetadataResponse, error) {
							 | 
						|
									m := new(SubscribeMetadataResponse)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) SubscribeLocalMetadata(ctx context.Context, in *SubscribeMetadataRequest, opts ...grpc.CallOption) (SeaweedFiler_SubscribeLocalMetadataClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &_SeaweedFiler_serviceDesc.Streams[2], "/filer_pb.SeaweedFiler/SubscribeLocalMetadata", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &seaweedFilerSubscribeLocalMetadataClient{stream}
							 | 
						|
									if err := x.ClientStream.SendMsg(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if err := x.ClientStream.CloseSend(); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return x, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type SeaweedFiler_SubscribeLocalMetadataClient interface {
							 | 
						|
									Recv() (*SubscribeMetadataResponse, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type seaweedFilerSubscribeLocalMetadataClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *seaweedFilerSubscribeLocalMetadataClient) Recv() (*SubscribeMetadataResponse, error) {
							 | 
						|
									m := new(SubscribeMetadataResponse)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) KeepConnected(ctx context.Context, opts ...grpc.CallOption) (SeaweedFiler_KeepConnectedClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &_SeaweedFiler_serviceDesc.Streams[3], "/filer_pb.SeaweedFiler/KeepConnected", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &seaweedFilerKeepConnectedClient{stream}
							 | 
						|
									return x, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type SeaweedFiler_KeepConnectedClient interface {
							 | 
						|
									Send(*KeepConnectedRequest) error
							 | 
						|
									Recv() (*KeepConnectedResponse, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type seaweedFilerKeepConnectedClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *seaweedFilerKeepConnectedClient) Send(m *KeepConnectedRequest) error {
							 | 
						|
									return x.ClientStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *seaweedFilerKeepConnectedClient) Recv() (*KeepConnectedResponse, error) {
							 | 
						|
									m := new(KeepConnectedResponse)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *seaweedFilerClient) LocateBroker(ctx context.Context, in *LocateBrokerRequest, opts ...grpc.CallOption) (*LocateBrokerResponse, error) {
							 | 
						|
									out := new(LocateBrokerResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/filer_pb.SeaweedFiler/LocateBroker", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// SeaweedFilerServer is the server API for SeaweedFiler service.
							 | 
						|
								type SeaweedFilerServer interface {
							 | 
						|
									LookupDirectoryEntry(context.Context, *LookupDirectoryEntryRequest) (*LookupDirectoryEntryResponse, error)
							 | 
						|
									ListEntries(*ListEntriesRequest, SeaweedFiler_ListEntriesServer) error
							 | 
						|
									CreateEntry(context.Context, *CreateEntryRequest) (*CreateEntryResponse, error)
							 | 
						|
									UpdateEntry(context.Context, *UpdateEntryRequest) (*UpdateEntryResponse, error)
							 | 
						|
									AppendToEntry(context.Context, *AppendToEntryRequest) (*AppendToEntryResponse, error)
							 | 
						|
									DeleteEntry(context.Context, *DeleteEntryRequest) (*DeleteEntryResponse, error)
							 | 
						|
									AtomicRenameEntry(context.Context, *AtomicRenameEntryRequest) (*AtomicRenameEntryResponse, error)
							 | 
						|
									AssignVolume(context.Context, *AssignVolumeRequest) (*AssignVolumeResponse, error)
							 | 
						|
									LookupVolume(context.Context, *LookupVolumeRequest) (*LookupVolumeResponse, error)
							 | 
						|
									DeleteCollection(context.Context, *DeleteCollectionRequest) (*DeleteCollectionResponse, error)
							 | 
						|
									Statistics(context.Context, *StatisticsRequest) (*StatisticsResponse, error)
							 | 
						|
									GetFilerConfiguration(context.Context, *GetFilerConfigurationRequest) (*GetFilerConfigurationResponse, error)
							 | 
						|
									SubscribeMetadata(*SubscribeMetadataRequest, SeaweedFiler_SubscribeMetadataServer) error
							 | 
						|
									SubscribeLocalMetadata(*SubscribeMetadataRequest, SeaweedFiler_SubscribeLocalMetadataServer) error
							 | 
						|
									KeepConnected(SeaweedFiler_KeepConnectedServer) error
							 | 
						|
									LocateBroker(context.Context, *LocateBrokerRequest) (*LocateBrokerResponse, error)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// UnimplementedSeaweedFilerServer can be embedded to have forward compatible implementations.
							 | 
						|
								type UnimplementedSeaweedFilerServer struct {
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) LookupDirectoryEntry(context.Context, *LookupDirectoryEntryRequest) (*LookupDirectoryEntryResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method LookupDirectoryEntry not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) ListEntries(*ListEntriesRequest, SeaweedFiler_ListEntriesServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method ListEntries not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) CreateEntry(context.Context, *CreateEntryRequest) (*CreateEntryResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method CreateEntry not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) UpdateEntry(context.Context, *UpdateEntryRequest) (*UpdateEntryResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method UpdateEntry not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) AppendToEntry(context.Context, *AppendToEntryRequest) (*AppendToEntryResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method AppendToEntry not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) DeleteEntry(context.Context, *DeleteEntryRequest) (*DeleteEntryResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method DeleteEntry not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) AtomicRenameEntry(context.Context, *AtomicRenameEntryRequest) (*AtomicRenameEntryResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method AtomicRenameEntry not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) AssignVolume(context.Context, *AssignVolumeRequest) (*AssignVolumeResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method AssignVolume not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) LookupVolume(context.Context, *LookupVolumeRequest) (*LookupVolumeResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method LookupVolume not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) DeleteCollection(context.Context, *DeleteCollectionRequest) (*DeleteCollectionResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method DeleteCollection not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) Statistics(context.Context, *StatisticsRequest) (*StatisticsResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method Statistics not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) GetFilerConfiguration(context.Context, *GetFilerConfigurationRequest) (*GetFilerConfigurationResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method GetFilerConfiguration not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) SubscribeMetadata(*SubscribeMetadataRequest, SeaweedFiler_SubscribeMetadataServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method SubscribeMetadata not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) SubscribeLocalMetadata(*SubscribeMetadataRequest, SeaweedFiler_SubscribeLocalMetadataServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method SubscribeLocalMetadata not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) KeepConnected(SeaweedFiler_KeepConnectedServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method KeepConnected not implemented")
							 | 
						|
								}
							 | 
						|
								func (*UnimplementedSeaweedFilerServer) LocateBroker(context.Context, *LocateBrokerRequest) (*LocateBrokerResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method LocateBroker not implemented")
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func RegisterSeaweedFilerServer(s *grpc.Server, srv SeaweedFilerServer) {
							 | 
						|
									s.RegisterService(&_SeaweedFiler_serviceDesc, srv)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_LookupDirectoryEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(LookupDirectoryEntryRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(SeaweedFilerServer).LookupDirectoryEntry(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/filer_pb.SeaweedFiler/LookupDirectoryEntry",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(SeaweedFilerServer).LookupDirectoryEntry(ctx, req.(*LookupDirectoryEntryRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_ListEntries_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									m := new(ListEntriesRequest)
							 | 
						|
									if err := stream.RecvMsg(m); err != nil {
							 | 
						|
										return err
							 | 
						|
									}
							 | 
						|
									return srv.(SeaweedFilerServer).ListEntries(m, &seaweedFilerListEntriesServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type SeaweedFiler_ListEntriesServer interface {
							 | 
						|
									Send(*ListEntriesResponse) error
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type seaweedFilerListEntriesServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *seaweedFilerListEntriesServer) Send(m *ListEntriesResponse) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_CreateEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(CreateEntryRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(SeaweedFilerServer).CreateEntry(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/filer_pb.SeaweedFiler/CreateEntry",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(SeaweedFilerServer).CreateEntry(ctx, req.(*CreateEntryRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_UpdateEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(UpdateEntryRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(SeaweedFilerServer).UpdateEntry(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/filer_pb.SeaweedFiler/UpdateEntry",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(SeaweedFilerServer).UpdateEntry(ctx, req.(*UpdateEntryRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_AppendToEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(AppendToEntryRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(SeaweedFilerServer).AppendToEntry(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/filer_pb.SeaweedFiler/AppendToEntry",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(SeaweedFilerServer).AppendToEntry(ctx, req.(*AppendToEntryRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_DeleteEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(DeleteEntryRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(SeaweedFilerServer).DeleteEntry(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/filer_pb.SeaweedFiler/DeleteEntry",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(SeaweedFilerServer).DeleteEntry(ctx, req.(*DeleteEntryRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_AtomicRenameEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(AtomicRenameEntryRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(SeaweedFilerServer).AtomicRenameEntry(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/filer_pb.SeaweedFiler/AtomicRenameEntry",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(SeaweedFilerServer).AtomicRenameEntry(ctx, req.(*AtomicRenameEntryRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_AssignVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(AssignVolumeRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(SeaweedFilerServer).AssignVolume(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/filer_pb.SeaweedFiler/AssignVolume",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(SeaweedFilerServer).AssignVolume(ctx, req.(*AssignVolumeRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_LookupVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(LookupVolumeRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(SeaweedFilerServer).LookupVolume(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/filer_pb.SeaweedFiler/LookupVolume",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(SeaweedFilerServer).LookupVolume(ctx, req.(*LookupVolumeRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_DeleteCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(DeleteCollectionRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(SeaweedFilerServer).DeleteCollection(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/filer_pb.SeaweedFiler/DeleteCollection",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(SeaweedFilerServer).DeleteCollection(ctx, req.(*DeleteCollectionRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_Statistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(StatisticsRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(SeaweedFilerServer).Statistics(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/filer_pb.SeaweedFiler/Statistics",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(SeaweedFilerServer).Statistics(ctx, req.(*StatisticsRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_GetFilerConfiguration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(GetFilerConfigurationRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(SeaweedFilerServer).GetFilerConfiguration(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/filer_pb.SeaweedFiler/GetFilerConfiguration",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(SeaweedFilerServer).GetFilerConfiguration(ctx, req.(*GetFilerConfigurationRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_SubscribeMetadata_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									m := new(SubscribeMetadataRequest)
							 | 
						|
									if err := stream.RecvMsg(m); err != nil {
							 | 
						|
										return err
							 | 
						|
									}
							 | 
						|
									return srv.(SeaweedFilerServer).SubscribeMetadata(m, &seaweedFilerSubscribeMetadataServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type SeaweedFiler_SubscribeMetadataServer interface {
							 | 
						|
									Send(*SubscribeMetadataResponse) error
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type seaweedFilerSubscribeMetadataServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *seaweedFilerSubscribeMetadataServer) Send(m *SubscribeMetadataResponse) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_SubscribeLocalMetadata_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									m := new(SubscribeMetadataRequest)
							 | 
						|
									if err := stream.RecvMsg(m); err != nil {
							 | 
						|
										return err
							 | 
						|
									}
							 | 
						|
									return srv.(SeaweedFilerServer).SubscribeLocalMetadata(m, &seaweedFilerSubscribeLocalMetadataServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type SeaweedFiler_SubscribeLocalMetadataServer interface {
							 | 
						|
									Send(*SubscribeMetadataResponse) error
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type seaweedFilerSubscribeLocalMetadataServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *seaweedFilerSubscribeLocalMetadataServer) Send(m *SubscribeMetadataResponse) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_KeepConnected_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									return srv.(SeaweedFilerServer).KeepConnected(&seaweedFilerKeepConnectedServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type SeaweedFiler_KeepConnectedServer interface {
							 | 
						|
									Send(*KeepConnectedResponse) error
							 | 
						|
									Recv() (*KeepConnectedRequest, error)
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type seaweedFilerKeepConnectedServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *seaweedFilerKeepConnectedServer) Send(m *KeepConnectedResponse) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *seaweedFilerKeepConnectedServer) Recv() (*KeepConnectedRequest, error) {
							 | 
						|
									m := new(KeepConnectedRequest)
							 | 
						|
									if err := x.ServerStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _SeaweedFiler_LocateBroker_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(LocateBrokerRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(SeaweedFilerServer).LocateBroker(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/filer_pb.SeaweedFiler/LocateBroker",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(SeaweedFilerServer).LocateBroker(ctx, req.(*LocateBrokerRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								var _SeaweedFiler_serviceDesc = grpc.ServiceDesc{
							 | 
						|
									ServiceName: "filer_pb.SeaweedFiler",
							 | 
						|
									HandlerType: (*SeaweedFilerServer)(nil),
							 | 
						|
									Methods: []grpc.MethodDesc{
							 | 
						|
										{
							 | 
						|
											MethodName: "LookupDirectoryEntry",
							 | 
						|
											Handler:    _SeaweedFiler_LookupDirectoryEntry_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "CreateEntry",
							 | 
						|
											Handler:    _SeaweedFiler_CreateEntry_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "UpdateEntry",
							 | 
						|
											Handler:    _SeaweedFiler_UpdateEntry_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "AppendToEntry",
							 | 
						|
											Handler:    _SeaweedFiler_AppendToEntry_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "DeleteEntry",
							 | 
						|
											Handler:    _SeaweedFiler_DeleteEntry_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "AtomicRenameEntry",
							 | 
						|
											Handler:    _SeaweedFiler_AtomicRenameEntry_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "AssignVolume",
							 | 
						|
											Handler:    _SeaweedFiler_AssignVolume_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "LookupVolume",
							 | 
						|
											Handler:    _SeaweedFiler_LookupVolume_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "DeleteCollection",
							 | 
						|
											Handler:    _SeaweedFiler_DeleteCollection_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "Statistics",
							 | 
						|
											Handler:    _SeaweedFiler_Statistics_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "GetFilerConfiguration",
							 | 
						|
											Handler:    _SeaweedFiler_GetFilerConfiguration_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "LocateBroker",
							 | 
						|
											Handler:    _SeaweedFiler_LocateBroker_Handler,
							 | 
						|
										},
							 | 
						|
									},
							 | 
						|
									Streams: []grpc.StreamDesc{
							 | 
						|
										{
							 | 
						|
											StreamName:    "ListEntries",
							 | 
						|
											Handler:       _SeaweedFiler_ListEntries_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											StreamName:    "SubscribeMetadata",
							 | 
						|
											Handler:       _SeaweedFiler_SubscribeMetadata_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											StreamName:    "SubscribeLocalMetadata",
							 | 
						|
											Handler:       _SeaweedFiler_SubscribeLocalMetadata_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											StreamName:    "KeepConnected",
							 | 
						|
											Handler:       _SeaweedFiler_KeepConnected_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
											ClientStreams: true,
							 | 
						|
										},
							 | 
						|
									},
							 | 
						|
									Metadata: "filer.proto",
							 | 
						|
								}
							 |