...

Source file src/google.golang.org/genproto/googleapis/bigtable/v2/bigtable.pb.go

Documentation: google.golang.org/genproto/googleapis/bigtable/v2

     1  // Copyright 2024 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.26.0
    18  // 	protoc        v4.24.4
    19  // source: google/bigtable/v2/bigtable.proto
    20  
    21  package bigtable
    22  
    23  import (
    24  	context "context"
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	_ "google.golang.org/genproto/googleapis/api/annotations"
    29  	status "google.golang.org/genproto/googleapis/rpc/status"
    30  	grpc "google.golang.org/grpc"
    31  	codes "google.golang.org/grpc/codes"
    32  	status1 "google.golang.org/grpc/status"
    33  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    34  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    35  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    36  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    37  	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
    38  )
    39  
    40  const (
    41  	// Verify that this generated code is sufficiently up-to-date.
    42  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    43  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    44  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    45  )
    46  
    47  // The desired view into RequestStats that should be returned in the response.
    48  //
    49  // See also: RequestStats message.
    50  type ReadRowsRequest_RequestStatsView int32
    51  
    52  const (
    53  	// The default / unset value. The API will default to the NONE option below.
    54  	ReadRowsRequest_REQUEST_STATS_VIEW_UNSPECIFIED ReadRowsRequest_RequestStatsView = 0
    55  	// Do not include any RequestStats in the response. This will leave the
    56  	// RequestStats embedded message unset in the response.
    57  	ReadRowsRequest_REQUEST_STATS_NONE ReadRowsRequest_RequestStatsView = 1
    58  	// Include the full set of available RequestStats in the response,
    59  	// applicable to this read.
    60  	ReadRowsRequest_REQUEST_STATS_FULL ReadRowsRequest_RequestStatsView = 2
    61  )
    62  
    63  // Enum value maps for ReadRowsRequest_RequestStatsView.
    64  var (
    65  	ReadRowsRequest_RequestStatsView_name = map[int32]string{
    66  		0: "REQUEST_STATS_VIEW_UNSPECIFIED",
    67  		1: "REQUEST_STATS_NONE",
    68  		2: "REQUEST_STATS_FULL",
    69  	}
    70  	ReadRowsRequest_RequestStatsView_value = map[string]int32{
    71  		"REQUEST_STATS_VIEW_UNSPECIFIED": 0,
    72  		"REQUEST_STATS_NONE":             1,
    73  		"REQUEST_STATS_FULL":             2,
    74  	}
    75  )
    76  
    77  func (x ReadRowsRequest_RequestStatsView) Enum() *ReadRowsRequest_RequestStatsView {
    78  	p := new(ReadRowsRequest_RequestStatsView)
    79  	*p = x
    80  	return p
    81  }
    82  
    83  func (x ReadRowsRequest_RequestStatsView) String() string {
    84  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    85  }
    86  
    87  func (ReadRowsRequest_RequestStatsView) Descriptor() protoreflect.EnumDescriptor {
    88  	return file_google_bigtable_v2_bigtable_proto_enumTypes[0].Descriptor()
    89  }
    90  
    91  func (ReadRowsRequest_RequestStatsView) Type() protoreflect.EnumType {
    92  	return &file_google_bigtable_v2_bigtable_proto_enumTypes[0]
    93  }
    94  
    95  func (x ReadRowsRequest_RequestStatsView) Number() protoreflect.EnumNumber {
    96  	return protoreflect.EnumNumber(x)
    97  }
    98  
    99  // Deprecated: Use ReadRowsRequest_RequestStatsView.Descriptor instead.
   100  func (ReadRowsRequest_RequestStatsView) EnumDescriptor() ([]byte, []int) {
   101  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{0, 0}
   102  }
   103  
   104  // The type of mutation.
   105  type ReadChangeStreamResponse_DataChange_Type int32
   106  
   107  const (
   108  	// The type is unspecified.
   109  	ReadChangeStreamResponse_DataChange_TYPE_UNSPECIFIED ReadChangeStreamResponse_DataChange_Type = 0
   110  	// A user-initiated mutation.
   111  	ReadChangeStreamResponse_DataChange_USER ReadChangeStreamResponse_DataChange_Type = 1
   112  	// A system-initiated mutation as part of garbage collection.
   113  	// https://cloud.google.com/bigtable/docs/garbage-collection
   114  	ReadChangeStreamResponse_DataChange_GARBAGE_COLLECTION ReadChangeStreamResponse_DataChange_Type = 2
   115  	// This is a continuation of a multi-message change.
   116  	ReadChangeStreamResponse_DataChange_CONTINUATION ReadChangeStreamResponse_DataChange_Type = 3
   117  )
   118  
   119  // Enum value maps for ReadChangeStreamResponse_DataChange_Type.
   120  var (
   121  	ReadChangeStreamResponse_DataChange_Type_name = map[int32]string{
   122  		0: "TYPE_UNSPECIFIED",
   123  		1: "USER",
   124  		2: "GARBAGE_COLLECTION",
   125  		3: "CONTINUATION",
   126  	}
   127  	ReadChangeStreamResponse_DataChange_Type_value = map[string]int32{
   128  		"TYPE_UNSPECIFIED":   0,
   129  		"USER":               1,
   130  		"GARBAGE_COLLECTION": 2,
   131  		"CONTINUATION":       3,
   132  	}
   133  )
   134  
   135  func (x ReadChangeStreamResponse_DataChange_Type) Enum() *ReadChangeStreamResponse_DataChange_Type {
   136  	p := new(ReadChangeStreamResponse_DataChange_Type)
   137  	*p = x
   138  	return p
   139  }
   140  
   141  func (x ReadChangeStreamResponse_DataChange_Type) String() string {
   142  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   143  }
   144  
   145  func (ReadChangeStreamResponse_DataChange_Type) Descriptor() protoreflect.EnumDescriptor {
   146  	return file_google_bigtable_v2_bigtable_proto_enumTypes[1].Descriptor()
   147  }
   148  
   149  func (ReadChangeStreamResponse_DataChange_Type) Type() protoreflect.EnumType {
   150  	return &file_google_bigtable_v2_bigtable_proto_enumTypes[1]
   151  }
   152  
   153  func (x ReadChangeStreamResponse_DataChange_Type) Number() protoreflect.EnumNumber {
   154  	return protoreflect.EnumNumber(x)
   155  }
   156  
   157  // Deprecated: Use ReadChangeStreamResponse_DataChange_Type.Descriptor instead.
   158  func (ReadChangeStreamResponse_DataChange_Type) EnumDescriptor() ([]byte, []int) {
   159  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{18, 1, 0}
   160  }
   161  
   162  // Request message for Bigtable.ReadRows.
   163  type ReadRowsRequest struct {
   164  	state         protoimpl.MessageState
   165  	sizeCache     protoimpl.SizeCache
   166  	unknownFields protoimpl.UnknownFields
   167  
   168  	// Optional. The unique name of the table from which to read.
   169  	//
   170  	// Values are of the form
   171  	// `projects/<project>/instances/<instance>/tables/<table>`.
   172  	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
   173  	// Optional. The unique name of the AuthorizedView from which to read.
   174  	//
   175  	// Values are of the form
   176  	// `projects/<project>/instances/<instance>/tables/<table>/authorizedViews/<authorized_view>`.
   177  	AuthorizedViewName string `protobuf:"bytes,9,opt,name=authorized_view_name,json=authorizedViewName,proto3" json:"authorized_view_name,omitempty"`
   178  	// This value specifies routing for replication. If not specified, the
   179  	// "default" application profile will be used.
   180  	AppProfileId string `protobuf:"bytes,5,opt,name=app_profile_id,json=appProfileId,proto3" json:"app_profile_id,omitempty"`
   181  	// The row keys and/or ranges to read sequentially. If not specified, reads
   182  	// from all rows.
   183  	Rows *RowSet `protobuf:"bytes,2,opt,name=rows,proto3" json:"rows,omitempty"`
   184  	// The filter to apply to the contents of the specified row(s). If unset,
   185  	// reads the entirety of each row.
   186  	Filter *RowFilter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
   187  	// The read will stop after committing to N rows' worth of results. The
   188  	// default (zero) is to return all results.
   189  	RowsLimit int64 `protobuf:"varint,4,opt,name=rows_limit,json=rowsLimit,proto3" json:"rows_limit,omitempty"`
   190  	// The view into RequestStats, as described above.
   191  	RequestStatsView ReadRowsRequest_RequestStatsView `protobuf:"varint,6,opt,name=request_stats_view,json=requestStatsView,proto3,enum=google.bigtable.v2.ReadRowsRequest_RequestStatsView" json:"request_stats_view,omitempty"`
   192  	// Experimental API - Please note that this API is currently experimental
   193  	// and can change in the future.
   194  	//
   195  	// Return rows in lexiographical descending order of the row keys. The row
   196  	// contents will not be affected by this flag.
   197  	//
   198  	// Example result set:
   199  	//
   200  	//	[
   201  	//	  {key: "k2", "f:col1": "v1", "f:col2": "v1"},
   202  	//	  {key: "k1", "f:col1": "v2", "f:col2": "v2"}
   203  	//	]
   204  	Reversed bool `protobuf:"varint,7,opt,name=reversed,proto3" json:"reversed,omitempty"`
   205  }
   206  
   207  func (x *ReadRowsRequest) Reset() {
   208  	*x = ReadRowsRequest{}
   209  	if protoimpl.UnsafeEnabled {
   210  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[0]
   211  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   212  		ms.StoreMessageInfo(mi)
   213  	}
   214  }
   215  
   216  func (x *ReadRowsRequest) String() string {
   217  	return protoimpl.X.MessageStringOf(x)
   218  }
   219  
   220  func (*ReadRowsRequest) ProtoMessage() {}
   221  
   222  func (x *ReadRowsRequest) ProtoReflect() protoreflect.Message {
   223  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[0]
   224  	if protoimpl.UnsafeEnabled && x != nil {
   225  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   226  		if ms.LoadMessageInfo() == nil {
   227  			ms.StoreMessageInfo(mi)
   228  		}
   229  		return ms
   230  	}
   231  	return mi.MessageOf(x)
   232  }
   233  
   234  // Deprecated: Use ReadRowsRequest.ProtoReflect.Descriptor instead.
   235  func (*ReadRowsRequest) Descriptor() ([]byte, []int) {
   236  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{0}
   237  }
   238  
   239  func (x *ReadRowsRequest) GetTableName() string {
   240  	if x != nil {
   241  		return x.TableName
   242  	}
   243  	return ""
   244  }
   245  
   246  func (x *ReadRowsRequest) GetAuthorizedViewName() string {
   247  	if x != nil {
   248  		return x.AuthorizedViewName
   249  	}
   250  	return ""
   251  }
   252  
   253  func (x *ReadRowsRequest) GetAppProfileId() string {
   254  	if x != nil {
   255  		return x.AppProfileId
   256  	}
   257  	return ""
   258  }
   259  
   260  func (x *ReadRowsRequest) GetRows() *RowSet {
   261  	if x != nil {
   262  		return x.Rows
   263  	}
   264  	return nil
   265  }
   266  
   267  func (x *ReadRowsRequest) GetFilter() *RowFilter {
   268  	if x != nil {
   269  		return x.Filter
   270  	}
   271  	return nil
   272  }
   273  
   274  func (x *ReadRowsRequest) GetRowsLimit() int64 {
   275  	if x != nil {
   276  		return x.RowsLimit
   277  	}
   278  	return 0
   279  }
   280  
   281  func (x *ReadRowsRequest) GetRequestStatsView() ReadRowsRequest_RequestStatsView {
   282  	if x != nil {
   283  		return x.RequestStatsView
   284  	}
   285  	return ReadRowsRequest_REQUEST_STATS_VIEW_UNSPECIFIED
   286  }
   287  
   288  func (x *ReadRowsRequest) GetReversed() bool {
   289  	if x != nil {
   290  		return x.Reversed
   291  	}
   292  	return false
   293  }
   294  
   295  // Response message for Bigtable.ReadRows.
   296  type ReadRowsResponse struct {
   297  	state         protoimpl.MessageState
   298  	sizeCache     protoimpl.SizeCache
   299  	unknownFields protoimpl.UnknownFields
   300  
   301  	// A collection of a row's contents as part of the read request.
   302  	Chunks []*ReadRowsResponse_CellChunk `protobuf:"bytes,1,rep,name=chunks,proto3" json:"chunks,omitempty"`
   303  	// Optionally the server might return the row key of the last row it
   304  	// has scanned.  The client can use this to construct a more
   305  	// efficient retry request if needed: any row keys or portions of
   306  	// ranges less than this row key can be dropped from the request.
   307  	// This is primarily useful for cases where the server has read a
   308  	// lot of data that was filtered out since the last committed row
   309  	// key, allowing the client to skip that work on a retry.
   310  	LastScannedRowKey []byte `protobuf:"bytes,2,opt,name=last_scanned_row_key,json=lastScannedRowKey,proto3" json:"last_scanned_row_key,omitempty"`
   311  	// If requested, provide enhanced query performance statistics. The semantics
   312  	// dictate:
   313  	//   - request_stats is empty on every (streamed) response, except
   314  	//   - request_stats has non-empty information after all chunks have been
   315  	//     streamed, where the ReadRowsResponse message only contains
   316  	//     request_stats.
   317  	//   - For example, if a read request would have returned an empty
   318  	//     response instead a single ReadRowsResponse is streamed with empty
   319  	//     chunks and request_stats filled.
   320  	//
   321  	// Visually, response messages will stream as follows:
   322  	//
   323  	//	 ... -> {chunks: [...]} -> {chunks: [], request_stats: {...}}
   324  	//	\______________________/  \________________________________/
   325  	//	    Primary response         Trailer of RequestStats info
   326  	//
   327  	// Or if the read did not return any values:
   328  	//
   329  	//	{chunks: [], request_stats: {...}}
   330  	//	\________________________________/
   331  	//	   Trailer of RequestStats info
   332  	RequestStats *RequestStats `protobuf:"bytes,3,opt,name=request_stats,json=requestStats,proto3" json:"request_stats,omitempty"`
   333  }
   334  
   335  func (x *ReadRowsResponse) Reset() {
   336  	*x = ReadRowsResponse{}
   337  	if protoimpl.UnsafeEnabled {
   338  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[1]
   339  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   340  		ms.StoreMessageInfo(mi)
   341  	}
   342  }
   343  
   344  func (x *ReadRowsResponse) String() string {
   345  	return protoimpl.X.MessageStringOf(x)
   346  }
   347  
   348  func (*ReadRowsResponse) ProtoMessage() {}
   349  
   350  func (x *ReadRowsResponse) ProtoReflect() protoreflect.Message {
   351  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[1]
   352  	if protoimpl.UnsafeEnabled && x != nil {
   353  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   354  		if ms.LoadMessageInfo() == nil {
   355  			ms.StoreMessageInfo(mi)
   356  		}
   357  		return ms
   358  	}
   359  	return mi.MessageOf(x)
   360  }
   361  
   362  // Deprecated: Use ReadRowsResponse.ProtoReflect.Descriptor instead.
   363  func (*ReadRowsResponse) Descriptor() ([]byte, []int) {
   364  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{1}
   365  }
   366  
   367  func (x *ReadRowsResponse) GetChunks() []*ReadRowsResponse_CellChunk {
   368  	if x != nil {
   369  		return x.Chunks
   370  	}
   371  	return nil
   372  }
   373  
   374  func (x *ReadRowsResponse) GetLastScannedRowKey() []byte {
   375  	if x != nil {
   376  		return x.LastScannedRowKey
   377  	}
   378  	return nil
   379  }
   380  
   381  func (x *ReadRowsResponse) GetRequestStats() *RequestStats {
   382  	if x != nil {
   383  		return x.RequestStats
   384  	}
   385  	return nil
   386  }
   387  
   388  // Request message for Bigtable.SampleRowKeys.
   389  type SampleRowKeysRequest struct {
   390  	state         protoimpl.MessageState
   391  	sizeCache     protoimpl.SizeCache
   392  	unknownFields protoimpl.UnknownFields
   393  
   394  	// Optional. The unique name of the table from which to sample row keys.
   395  	//
   396  	// Values are of the form
   397  	// `projects/<project>/instances/<instance>/tables/<table>`.
   398  	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
   399  	// Optional. The unique name of the AuthorizedView from which to sample row
   400  	// keys.
   401  	//
   402  	// Values are of the form
   403  	// `projects/<project>/instances/<instance>/tables/<table>/authorizedViews/<authorized_view>`.
   404  	AuthorizedViewName string `protobuf:"bytes,4,opt,name=authorized_view_name,json=authorizedViewName,proto3" json:"authorized_view_name,omitempty"`
   405  	// This value specifies routing for replication. If not specified, the
   406  	// "default" application profile will be used.
   407  	AppProfileId string `protobuf:"bytes,2,opt,name=app_profile_id,json=appProfileId,proto3" json:"app_profile_id,omitempty"`
   408  }
   409  
   410  func (x *SampleRowKeysRequest) Reset() {
   411  	*x = SampleRowKeysRequest{}
   412  	if protoimpl.UnsafeEnabled {
   413  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[2]
   414  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   415  		ms.StoreMessageInfo(mi)
   416  	}
   417  }
   418  
   419  func (x *SampleRowKeysRequest) String() string {
   420  	return protoimpl.X.MessageStringOf(x)
   421  }
   422  
   423  func (*SampleRowKeysRequest) ProtoMessage() {}
   424  
   425  func (x *SampleRowKeysRequest) ProtoReflect() protoreflect.Message {
   426  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[2]
   427  	if protoimpl.UnsafeEnabled && x != nil {
   428  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   429  		if ms.LoadMessageInfo() == nil {
   430  			ms.StoreMessageInfo(mi)
   431  		}
   432  		return ms
   433  	}
   434  	return mi.MessageOf(x)
   435  }
   436  
   437  // Deprecated: Use SampleRowKeysRequest.ProtoReflect.Descriptor instead.
   438  func (*SampleRowKeysRequest) Descriptor() ([]byte, []int) {
   439  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{2}
   440  }
   441  
   442  func (x *SampleRowKeysRequest) GetTableName() string {
   443  	if x != nil {
   444  		return x.TableName
   445  	}
   446  	return ""
   447  }
   448  
   449  func (x *SampleRowKeysRequest) GetAuthorizedViewName() string {
   450  	if x != nil {
   451  		return x.AuthorizedViewName
   452  	}
   453  	return ""
   454  }
   455  
   456  func (x *SampleRowKeysRequest) GetAppProfileId() string {
   457  	if x != nil {
   458  		return x.AppProfileId
   459  	}
   460  	return ""
   461  }
   462  
   463  // Response message for Bigtable.SampleRowKeys.
   464  type SampleRowKeysResponse struct {
   465  	state         protoimpl.MessageState
   466  	sizeCache     protoimpl.SizeCache
   467  	unknownFields protoimpl.UnknownFields
   468  
   469  	// Sorted streamed sequence of sample row keys in the table. The table might
   470  	// have contents before the first row key in the list and after the last one,
   471  	// but a key containing the empty string indicates "end of table" and will be
   472  	// the last response given, if present.
   473  	// Note that row keys in this list may not have ever been written to or read
   474  	// from, and users should therefore not make any assumptions about the row key
   475  	// structure that are specific to their use case.
   476  	RowKey []byte `protobuf:"bytes,1,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
   477  	// Approximate total storage space used by all rows in the table which precede
   478  	// `row_key`. Buffering the contents of all rows between two subsequent
   479  	// samples would require space roughly equal to the difference in their
   480  	// `offset_bytes` fields.
   481  	OffsetBytes int64 `protobuf:"varint,2,opt,name=offset_bytes,json=offsetBytes,proto3" json:"offset_bytes,omitempty"`
   482  }
   483  
   484  func (x *SampleRowKeysResponse) Reset() {
   485  	*x = SampleRowKeysResponse{}
   486  	if protoimpl.UnsafeEnabled {
   487  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[3]
   488  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   489  		ms.StoreMessageInfo(mi)
   490  	}
   491  }
   492  
   493  func (x *SampleRowKeysResponse) String() string {
   494  	return protoimpl.X.MessageStringOf(x)
   495  }
   496  
   497  func (*SampleRowKeysResponse) ProtoMessage() {}
   498  
   499  func (x *SampleRowKeysResponse) ProtoReflect() protoreflect.Message {
   500  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[3]
   501  	if protoimpl.UnsafeEnabled && x != nil {
   502  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   503  		if ms.LoadMessageInfo() == nil {
   504  			ms.StoreMessageInfo(mi)
   505  		}
   506  		return ms
   507  	}
   508  	return mi.MessageOf(x)
   509  }
   510  
   511  // Deprecated: Use SampleRowKeysResponse.ProtoReflect.Descriptor instead.
   512  func (*SampleRowKeysResponse) Descriptor() ([]byte, []int) {
   513  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{3}
   514  }
   515  
   516  func (x *SampleRowKeysResponse) GetRowKey() []byte {
   517  	if x != nil {
   518  		return x.RowKey
   519  	}
   520  	return nil
   521  }
   522  
   523  func (x *SampleRowKeysResponse) GetOffsetBytes() int64 {
   524  	if x != nil {
   525  		return x.OffsetBytes
   526  	}
   527  	return 0
   528  }
   529  
   530  // Request message for Bigtable.MutateRow.
   531  type MutateRowRequest struct {
   532  	state         protoimpl.MessageState
   533  	sizeCache     protoimpl.SizeCache
   534  	unknownFields protoimpl.UnknownFields
   535  
   536  	// Optional. The unique name of the table to which the mutation should be
   537  	// applied.
   538  	//
   539  	// Values are of the form
   540  	// `projects/<project>/instances/<instance>/tables/<table>`.
   541  	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
   542  	// Optional. The unique name of the AuthorizedView to which the mutation
   543  	// should be applied.
   544  	//
   545  	// Values are of the form
   546  	// `projects/<project>/instances/<instance>/tables/<table>/authorizedViews/<authorized_view>`.
   547  	AuthorizedViewName string `protobuf:"bytes,6,opt,name=authorized_view_name,json=authorizedViewName,proto3" json:"authorized_view_name,omitempty"`
   548  	// This value specifies routing for replication. If not specified, the
   549  	// "default" application profile will be used.
   550  	AppProfileId string `protobuf:"bytes,4,opt,name=app_profile_id,json=appProfileId,proto3" json:"app_profile_id,omitempty"`
   551  	// Required. The key of the row to which the mutation should be applied.
   552  	RowKey []byte `protobuf:"bytes,2,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
   553  	// Required. Changes to be atomically applied to the specified row. Entries
   554  	// are applied in order, meaning that earlier mutations can be masked by later
   555  	// ones. Must contain at least one entry and at most 100000.
   556  	Mutations []*Mutation `protobuf:"bytes,3,rep,name=mutations,proto3" json:"mutations,omitempty"`
   557  }
   558  
   559  func (x *MutateRowRequest) Reset() {
   560  	*x = MutateRowRequest{}
   561  	if protoimpl.UnsafeEnabled {
   562  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[4]
   563  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   564  		ms.StoreMessageInfo(mi)
   565  	}
   566  }
   567  
   568  func (x *MutateRowRequest) String() string {
   569  	return protoimpl.X.MessageStringOf(x)
   570  }
   571  
   572  func (*MutateRowRequest) ProtoMessage() {}
   573  
   574  func (x *MutateRowRequest) ProtoReflect() protoreflect.Message {
   575  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[4]
   576  	if protoimpl.UnsafeEnabled && x != nil {
   577  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   578  		if ms.LoadMessageInfo() == nil {
   579  			ms.StoreMessageInfo(mi)
   580  		}
   581  		return ms
   582  	}
   583  	return mi.MessageOf(x)
   584  }
   585  
   586  // Deprecated: Use MutateRowRequest.ProtoReflect.Descriptor instead.
   587  func (*MutateRowRequest) Descriptor() ([]byte, []int) {
   588  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{4}
   589  }
   590  
   591  func (x *MutateRowRequest) GetTableName() string {
   592  	if x != nil {
   593  		return x.TableName
   594  	}
   595  	return ""
   596  }
   597  
   598  func (x *MutateRowRequest) GetAuthorizedViewName() string {
   599  	if x != nil {
   600  		return x.AuthorizedViewName
   601  	}
   602  	return ""
   603  }
   604  
   605  func (x *MutateRowRequest) GetAppProfileId() string {
   606  	if x != nil {
   607  		return x.AppProfileId
   608  	}
   609  	return ""
   610  }
   611  
   612  func (x *MutateRowRequest) GetRowKey() []byte {
   613  	if x != nil {
   614  		return x.RowKey
   615  	}
   616  	return nil
   617  }
   618  
   619  func (x *MutateRowRequest) GetMutations() []*Mutation {
   620  	if x != nil {
   621  		return x.Mutations
   622  	}
   623  	return nil
   624  }
   625  
   626  // Response message for Bigtable.MutateRow.
   627  type MutateRowResponse struct {
   628  	state         protoimpl.MessageState
   629  	sizeCache     protoimpl.SizeCache
   630  	unknownFields protoimpl.UnknownFields
   631  }
   632  
   633  func (x *MutateRowResponse) Reset() {
   634  	*x = MutateRowResponse{}
   635  	if protoimpl.UnsafeEnabled {
   636  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[5]
   637  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   638  		ms.StoreMessageInfo(mi)
   639  	}
   640  }
   641  
   642  func (x *MutateRowResponse) String() string {
   643  	return protoimpl.X.MessageStringOf(x)
   644  }
   645  
   646  func (*MutateRowResponse) ProtoMessage() {}
   647  
   648  func (x *MutateRowResponse) ProtoReflect() protoreflect.Message {
   649  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[5]
   650  	if protoimpl.UnsafeEnabled && x != nil {
   651  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   652  		if ms.LoadMessageInfo() == nil {
   653  			ms.StoreMessageInfo(mi)
   654  		}
   655  		return ms
   656  	}
   657  	return mi.MessageOf(x)
   658  }
   659  
   660  // Deprecated: Use MutateRowResponse.ProtoReflect.Descriptor instead.
   661  func (*MutateRowResponse) Descriptor() ([]byte, []int) {
   662  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{5}
   663  }
   664  
   665  // Request message for BigtableService.MutateRows.
   666  type MutateRowsRequest struct {
   667  	state         protoimpl.MessageState
   668  	sizeCache     protoimpl.SizeCache
   669  	unknownFields protoimpl.UnknownFields
   670  
   671  	// Optional. The unique name of the table to which the mutations should be
   672  	// applied.
   673  	//
   674  	// Values are of the form
   675  	// `projects/<project>/instances/<instance>/tables/<table>`.
   676  	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
   677  	// Optional. The unique name of the AuthorizedView to which the mutations
   678  	// should be applied.
   679  	//
   680  	// Values are of the form
   681  	// `projects/<project>/instances/<instance>/tables/<table>/authorizedViews/<authorized_view>`.
   682  	AuthorizedViewName string `protobuf:"bytes,5,opt,name=authorized_view_name,json=authorizedViewName,proto3" json:"authorized_view_name,omitempty"`
   683  	// This value specifies routing for replication. If not specified, the
   684  	// "default" application profile will be used.
   685  	AppProfileId string `protobuf:"bytes,3,opt,name=app_profile_id,json=appProfileId,proto3" json:"app_profile_id,omitempty"`
   686  	// Required. The row keys and corresponding mutations to be applied in bulk.
   687  	// Each entry is applied as an atomic mutation, but the entries may be
   688  	// applied in arbitrary order (even between entries for the same row).
   689  	// At least one entry must be specified, and in total the entries can
   690  	// contain at most 100000 mutations.
   691  	Entries []*MutateRowsRequest_Entry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"`
   692  }
   693  
   694  func (x *MutateRowsRequest) Reset() {
   695  	*x = MutateRowsRequest{}
   696  	if protoimpl.UnsafeEnabled {
   697  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[6]
   698  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   699  		ms.StoreMessageInfo(mi)
   700  	}
   701  }
   702  
   703  func (x *MutateRowsRequest) String() string {
   704  	return protoimpl.X.MessageStringOf(x)
   705  }
   706  
   707  func (*MutateRowsRequest) ProtoMessage() {}
   708  
   709  func (x *MutateRowsRequest) ProtoReflect() protoreflect.Message {
   710  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[6]
   711  	if protoimpl.UnsafeEnabled && x != nil {
   712  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   713  		if ms.LoadMessageInfo() == nil {
   714  			ms.StoreMessageInfo(mi)
   715  		}
   716  		return ms
   717  	}
   718  	return mi.MessageOf(x)
   719  }
   720  
   721  // Deprecated: Use MutateRowsRequest.ProtoReflect.Descriptor instead.
   722  func (*MutateRowsRequest) Descriptor() ([]byte, []int) {
   723  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{6}
   724  }
   725  
   726  func (x *MutateRowsRequest) GetTableName() string {
   727  	if x != nil {
   728  		return x.TableName
   729  	}
   730  	return ""
   731  }
   732  
   733  func (x *MutateRowsRequest) GetAuthorizedViewName() string {
   734  	if x != nil {
   735  		return x.AuthorizedViewName
   736  	}
   737  	return ""
   738  }
   739  
   740  func (x *MutateRowsRequest) GetAppProfileId() string {
   741  	if x != nil {
   742  		return x.AppProfileId
   743  	}
   744  	return ""
   745  }
   746  
   747  func (x *MutateRowsRequest) GetEntries() []*MutateRowsRequest_Entry {
   748  	if x != nil {
   749  		return x.Entries
   750  	}
   751  	return nil
   752  }
   753  
   754  // Response message for BigtableService.MutateRows.
   755  type MutateRowsResponse struct {
   756  	state         protoimpl.MessageState
   757  	sizeCache     protoimpl.SizeCache
   758  	unknownFields protoimpl.UnknownFields
   759  
   760  	// One or more results for Entries from the batch request.
   761  	Entries []*MutateRowsResponse_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
   762  	// Information about how client should limit the rate (QPS). Primirily used by
   763  	// supported official Cloud Bigtable clients. If unset, the rate limit info is
   764  	// not provided by the server.
   765  	RateLimitInfo *RateLimitInfo `protobuf:"bytes,3,opt,name=rate_limit_info,json=rateLimitInfo,proto3,oneof" json:"rate_limit_info,omitempty"`
   766  }
   767  
   768  func (x *MutateRowsResponse) Reset() {
   769  	*x = MutateRowsResponse{}
   770  	if protoimpl.UnsafeEnabled {
   771  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[7]
   772  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   773  		ms.StoreMessageInfo(mi)
   774  	}
   775  }
   776  
   777  func (x *MutateRowsResponse) String() string {
   778  	return protoimpl.X.MessageStringOf(x)
   779  }
   780  
   781  func (*MutateRowsResponse) ProtoMessage() {}
   782  
   783  func (x *MutateRowsResponse) ProtoReflect() protoreflect.Message {
   784  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[7]
   785  	if protoimpl.UnsafeEnabled && x != nil {
   786  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   787  		if ms.LoadMessageInfo() == nil {
   788  			ms.StoreMessageInfo(mi)
   789  		}
   790  		return ms
   791  	}
   792  	return mi.MessageOf(x)
   793  }
   794  
   795  // Deprecated: Use MutateRowsResponse.ProtoReflect.Descriptor instead.
   796  func (*MutateRowsResponse) Descriptor() ([]byte, []int) {
   797  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{7}
   798  }
   799  
   800  func (x *MutateRowsResponse) GetEntries() []*MutateRowsResponse_Entry {
   801  	if x != nil {
   802  		return x.Entries
   803  	}
   804  	return nil
   805  }
   806  
   807  func (x *MutateRowsResponse) GetRateLimitInfo() *RateLimitInfo {
   808  	if x != nil {
   809  		return x.RateLimitInfo
   810  	}
   811  	return nil
   812  }
   813  
   814  // Information about how client should adjust the load to Bigtable.
   815  type RateLimitInfo struct {
   816  	state         protoimpl.MessageState
   817  	sizeCache     protoimpl.SizeCache
   818  	unknownFields protoimpl.UnknownFields
   819  
   820  	// Time that clients should wait before adjusting the target rate again.
   821  	// If clients adjust rate too frequently, the impact of the previous
   822  	// adjustment may not have been taken into account and may
   823  	// over-throttle or under-throttle. If clients adjust rate too slowly, they
   824  	// will not be responsive to load changes on server side, and may
   825  	// over-throttle or under-throttle.
   826  	Period *durationpb.Duration `protobuf:"bytes,1,opt,name=period,proto3" json:"period,omitempty"`
   827  	// If it has been at least one `period` since the last load adjustment, the
   828  	// client should multiply the current load by this value to get the new target
   829  	// load. For example, if the current load is 100 and `factor` is 0.8, the new
   830  	// target load should be 80. After adjusting, the client should ignore
   831  	// `factor` until another `period` has passed.
   832  	//
   833  	// The client can measure its load using any unit that's comparable over time
   834  	// For example, QPS can be used as long as each request involves a similar
   835  	// amount of work.
   836  	Factor float64 `protobuf:"fixed64,2,opt,name=factor,proto3" json:"factor,omitempty"`
   837  }
   838  
   839  func (x *RateLimitInfo) Reset() {
   840  	*x = RateLimitInfo{}
   841  	if protoimpl.UnsafeEnabled {
   842  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[8]
   843  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   844  		ms.StoreMessageInfo(mi)
   845  	}
   846  }
   847  
   848  func (x *RateLimitInfo) String() string {
   849  	return protoimpl.X.MessageStringOf(x)
   850  }
   851  
   852  func (*RateLimitInfo) ProtoMessage() {}
   853  
   854  func (x *RateLimitInfo) ProtoReflect() protoreflect.Message {
   855  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[8]
   856  	if protoimpl.UnsafeEnabled && x != nil {
   857  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   858  		if ms.LoadMessageInfo() == nil {
   859  			ms.StoreMessageInfo(mi)
   860  		}
   861  		return ms
   862  	}
   863  	return mi.MessageOf(x)
   864  }
   865  
   866  // Deprecated: Use RateLimitInfo.ProtoReflect.Descriptor instead.
   867  func (*RateLimitInfo) Descriptor() ([]byte, []int) {
   868  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{8}
   869  }
   870  
   871  func (x *RateLimitInfo) GetPeriod() *durationpb.Duration {
   872  	if x != nil {
   873  		return x.Period
   874  	}
   875  	return nil
   876  }
   877  
   878  func (x *RateLimitInfo) GetFactor() float64 {
   879  	if x != nil {
   880  		return x.Factor
   881  	}
   882  	return 0
   883  }
   884  
   885  // Request message for Bigtable.CheckAndMutateRow.
   886  type CheckAndMutateRowRequest struct {
   887  	state         protoimpl.MessageState
   888  	sizeCache     protoimpl.SizeCache
   889  	unknownFields protoimpl.UnknownFields
   890  
   891  	// Optional. The unique name of the table to which the conditional mutation
   892  	// should be applied.
   893  	//
   894  	// Values are of the form
   895  	// `projects/<project>/instances/<instance>/tables/<table>`.
   896  	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
   897  	// Optional. The unique name of the AuthorizedView to which the conditional
   898  	// mutation should be applied.
   899  	//
   900  	// Values are of the form
   901  	// `projects/<project>/instances/<instance>/tables/<table>/authorizedViews/<authorized_view>`.
   902  	AuthorizedViewName string `protobuf:"bytes,9,opt,name=authorized_view_name,json=authorizedViewName,proto3" json:"authorized_view_name,omitempty"`
   903  	// This value specifies routing for replication. If not specified, the
   904  	// "default" application profile will be used.
   905  	AppProfileId string `protobuf:"bytes,7,opt,name=app_profile_id,json=appProfileId,proto3" json:"app_profile_id,omitempty"`
   906  	// Required. The key of the row to which the conditional mutation should be
   907  	// applied.
   908  	RowKey []byte `protobuf:"bytes,2,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
   909  	// The filter to be applied to the contents of the specified row. Depending
   910  	// on whether or not any results are yielded, either `true_mutations` or
   911  	// `false_mutations` will be executed. If unset, checks that the row contains
   912  	// any values at all.
   913  	PredicateFilter *RowFilter `protobuf:"bytes,6,opt,name=predicate_filter,json=predicateFilter,proto3" json:"predicate_filter,omitempty"`
   914  	// Changes to be atomically applied to the specified row if `predicate_filter`
   915  	// yields at least one cell when applied to `row_key`. Entries are applied in
   916  	// order, meaning that earlier mutations can be masked by later ones.
   917  	// Must contain at least one entry if `false_mutations` is empty, and at most
   918  	// 100000.
   919  	TrueMutations []*Mutation `protobuf:"bytes,4,rep,name=true_mutations,json=trueMutations,proto3" json:"true_mutations,omitempty"`
   920  	// Changes to be atomically applied to the specified row if `predicate_filter`
   921  	// does not yield any cells when applied to `row_key`. Entries are applied in
   922  	// order, meaning that earlier mutations can be masked by later ones.
   923  	// Must contain at least one entry if `true_mutations` is empty, and at most
   924  	// 100000.
   925  	FalseMutations []*Mutation `protobuf:"bytes,5,rep,name=false_mutations,json=falseMutations,proto3" json:"false_mutations,omitempty"`
   926  }
   927  
   928  func (x *CheckAndMutateRowRequest) Reset() {
   929  	*x = CheckAndMutateRowRequest{}
   930  	if protoimpl.UnsafeEnabled {
   931  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[9]
   932  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   933  		ms.StoreMessageInfo(mi)
   934  	}
   935  }
   936  
   937  func (x *CheckAndMutateRowRequest) String() string {
   938  	return protoimpl.X.MessageStringOf(x)
   939  }
   940  
   941  func (*CheckAndMutateRowRequest) ProtoMessage() {}
   942  
   943  func (x *CheckAndMutateRowRequest) ProtoReflect() protoreflect.Message {
   944  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[9]
   945  	if protoimpl.UnsafeEnabled && x != nil {
   946  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   947  		if ms.LoadMessageInfo() == nil {
   948  			ms.StoreMessageInfo(mi)
   949  		}
   950  		return ms
   951  	}
   952  	return mi.MessageOf(x)
   953  }
   954  
   955  // Deprecated: Use CheckAndMutateRowRequest.ProtoReflect.Descriptor instead.
   956  func (*CheckAndMutateRowRequest) Descriptor() ([]byte, []int) {
   957  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{9}
   958  }
   959  
   960  func (x *CheckAndMutateRowRequest) GetTableName() string {
   961  	if x != nil {
   962  		return x.TableName
   963  	}
   964  	return ""
   965  }
   966  
   967  func (x *CheckAndMutateRowRequest) GetAuthorizedViewName() string {
   968  	if x != nil {
   969  		return x.AuthorizedViewName
   970  	}
   971  	return ""
   972  }
   973  
   974  func (x *CheckAndMutateRowRequest) GetAppProfileId() string {
   975  	if x != nil {
   976  		return x.AppProfileId
   977  	}
   978  	return ""
   979  }
   980  
   981  func (x *CheckAndMutateRowRequest) GetRowKey() []byte {
   982  	if x != nil {
   983  		return x.RowKey
   984  	}
   985  	return nil
   986  }
   987  
   988  func (x *CheckAndMutateRowRequest) GetPredicateFilter() *RowFilter {
   989  	if x != nil {
   990  		return x.PredicateFilter
   991  	}
   992  	return nil
   993  }
   994  
   995  func (x *CheckAndMutateRowRequest) GetTrueMutations() []*Mutation {
   996  	if x != nil {
   997  		return x.TrueMutations
   998  	}
   999  	return nil
  1000  }
  1001  
  1002  func (x *CheckAndMutateRowRequest) GetFalseMutations() []*Mutation {
  1003  	if x != nil {
  1004  		return x.FalseMutations
  1005  	}
  1006  	return nil
  1007  }
  1008  
  1009  // Response message for Bigtable.CheckAndMutateRow.
  1010  type CheckAndMutateRowResponse struct {
  1011  	state         protoimpl.MessageState
  1012  	sizeCache     protoimpl.SizeCache
  1013  	unknownFields protoimpl.UnknownFields
  1014  
  1015  	// Whether or not the request's `predicate_filter` yielded any results for
  1016  	// the specified row.
  1017  	PredicateMatched bool `protobuf:"varint,1,opt,name=predicate_matched,json=predicateMatched,proto3" json:"predicate_matched,omitempty"`
  1018  }
  1019  
  1020  func (x *CheckAndMutateRowResponse) Reset() {
  1021  	*x = CheckAndMutateRowResponse{}
  1022  	if protoimpl.UnsafeEnabled {
  1023  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[10]
  1024  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1025  		ms.StoreMessageInfo(mi)
  1026  	}
  1027  }
  1028  
  1029  func (x *CheckAndMutateRowResponse) String() string {
  1030  	return protoimpl.X.MessageStringOf(x)
  1031  }
  1032  
  1033  func (*CheckAndMutateRowResponse) ProtoMessage() {}
  1034  
  1035  func (x *CheckAndMutateRowResponse) ProtoReflect() protoreflect.Message {
  1036  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[10]
  1037  	if protoimpl.UnsafeEnabled && x != nil {
  1038  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1039  		if ms.LoadMessageInfo() == nil {
  1040  			ms.StoreMessageInfo(mi)
  1041  		}
  1042  		return ms
  1043  	}
  1044  	return mi.MessageOf(x)
  1045  }
  1046  
  1047  // Deprecated: Use CheckAndMutateRowResponse.ProtoReflect.Descriptor instead.
  1048  func (*CheckAndMutateRowResponse) Descriptor() ([]byte, []int) {
  1049  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{10}
  1050  }
  1051  
  1052  func (x *CheckAndMutateRowResponse) GetPredicateMatched() bool {
  1053  	if x != nil {
  1054  		return x.PredicateMatched
  1055  	}
  1056  	return false
  1057  }
  1058  
  1059  // Request message for client connection keep-alive and warming.
  1060  type PingAndWarmRequest struct {
  1061  	state         protoimpl.MessageState
  1062  	sizeCache     protoimpl.SizeCache
  1063  	unknownFields protoimpl.UnknownFields
  1064  
  1065  	// Required. The unique name of the instance to check permissions for as well
  1066  	// as respond. Values are of the form
  1067  	// `projects/<project>/instances/<instance>`.
  1068  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1069  	// This value specifies routing for replication. If not specified, the
  1070  	// "default" application profile will be used.
  1071  	AppProfileId string `protobuf:"bytes,2,opt,name=app_profile_id,json=appProfileId,proto3" json:"app_profile_id,omitempty"`
  1072  }
  1073  
  1074  func (x *PingAndWarmRequest) Reset() {
  1075  	*x = PingAndWarmRequest{}
  1076  	if protoimpl.UnsafeEnabled {
  1077  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[11]
  1078  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1079  		ms.StoreMessageInfo(mi)
  1080  	}
  1081  }
  1082  
  1083  func (x *PingAndWarmRequest) String() string {
  1084  	return protoimpl.X.MessageStringOf(x)
  1085  }
  1086  
  1087  func (*PingAndWarmRequest) ProtoMessage() {}
  1088  
  1089  func (x *PingAndWarmRequest) ProtoReflect() protoreflect.Message {
  1090  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[11]
  1091  	if protoimpl.UnsafeEnabled && x != nil {
  1092  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1093  		if ms.LoadMessageInfo() == nil {
  1094  			ms.StoreMessageInfo(mi)
  1095  		}
  1096  		return ms
  1097  	}
  1098  	return mi.MessageOf(x)
  1099  }
  1100  
  1101  // Deprecated: Use PingAndWarmRequest.ProtoReflect.Descriptor instead.
  1102  func (*PingAndWarmRequest) Descriptor() ([]byte, []int) {
  1103  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{11}
  1104  }
  1105  
  1106  func (x *PingAndWarmRequest) GetName() string {
  1107  	if x != nil {
  1108  		return x.Name
  1109  	}
  1110  	return ""
  1111  }
  1112  
  1113  func (x *PingAndWarmRequest) GetAppProfileId() string {
  1114  	if x != nil {
  1115  		return x.AppProfileId
  1116  	}
  1117  	return ""
  1118  }
  1119  
  1120  // Response message for Bigtable.PingAndWarm connection keepalive and warming.
  1121  type PingAndWarmResponse struct {
  1122  	state         protoimpl.MessageState
  1123  	sizeCache     protoimpl.SizeCache
  1124  	unknownFields protoimpl.UnknownFields
  1125  }
  1126  
  1127  func (x *PingAndWarmResponse) Reset() {
  1128  	*x = PingAndWarmResponse{}
  1129  	if protoimpl.UnsafeEnabled {
  1130  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[12]
  1131  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1132  		ms.StoreMessageInfo(mi)
  1133  	}
  1134  }
  1135  
  1136  func (x *PingAndWarmResponse) String() string {
  1137  	return protoimpl.X.MessageStringOf(x)
  1138  }
  1139  
  1140  func (*PingAndWarmResponse) ProtoMessage() {}
  1141  
  1142  func (x *PingAndWarmResponse) ProtoReflect() protoreflect.Message {
  1143  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[12]
  1144  	if protoimpl.UnsafeEnabled && x != nil {
  1145  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1146  		if ms.LoadMessageInfo() == nil {
  1147  			ms.StoreMessageInfo(mi)
  1148  		}
  1149  		return ms
  1150  	}
  1151  	return mi.MessageOf(x)
  1152  }
  1153  
  1154  // Deprecated: Use PingAndWarmResponse.ProtoReflect.Descriptor instead.
  1155  func (*PingAndWarmResponse) Descriptor() ([]byte, []int) {
  1156  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{12}
  1157  }
  1158  
  1159  // Request message for Bigtable.ReadModifyWriteRow.
  1160  type ReadModifyWriteRowRequest struct {
  1161  	state         protoimpl.MessageState
  1162  	sizeCache     protoimpl.SizeCache
  1163  	unknownFields protoimpl.UnknownFields
  1164  
  1165  	// Optional. The unique name of the table to which the read/modify/write rules
  1166  	// should be applied.
  1167  	//
  1168  	// Values are of the form
  1169  	// `projects/<project>/instances/<instance>/tables/<table>`.
  1170  	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
  1171  	// Optional. The unique name of the AuthorizedView to which the
  1172  	// read/modify/write rules should be applied.
  1173  	//
  1174  	// Values are of the form
  1175  	// `projects/<project>/instances/<instance>/tables/<table>/authorizedViews/<authorized_view>`.
  1176  	AuthorizedViewName string `protobuf:"bytes,6,opt,name=authorized_view_name,json=authorizedViewName,proto3" json:"authorized_view_name,omitempty"`
  1177  	// This value specifies routing for replication. If not specified, the
  1178  	// "default" application profile will be used.
  1179  	AppProfileId string `protobuf:"bytes,4,opt,name=app_profile_id,json=appProfileId,proto3" json:"app_profile_id,omitempty"`
  1180  	// Required. The key of the row to which the read/modify/write rules should be
  1181  	// applied.
  1182  	RowKey []byte `protobuf:"bytes,2,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
  1183  	// Required. Rules specifying how the specified row's contents are to be
  1184  	// transformed into writes. Entries are applied in order, meaning that earlier
  1185  	// rules will affect the results of later ones.
  1186  	Rules []*ReadModifyWriteRule `protobuf:"bytes,3,rep,name=rules,proto3" json:"rules,omitempty"`
  1187  }
  1188  
  1189  func (x *ReadModifyWriteRowRequest) Reset() {
  1190  	*x = ReadModifyWriteRowRequest{}
  1191  	if protoimpl.UnsafeEnabled {
  1192  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[13]
  1193  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1194  		ms.StoreMessageInfo(mi)
  1195  	}
  1196  }
  1197  
  1198  func (x *ReadModifyWriteRowRequest) String() string {
  1199  	return protoimpl.X.MessageStringOf(x)
  1200  }
  1201  
  1202  func (*ReadModifyWriteRowRequest) ProtoMessage() {}
  1203  
  1204  func (x *ReadModifyWriteRowRequest) ProtoReflect() protoreflect.Message {
  1205  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[13]
  1206  	if protoimpl.UnsafeEnabled && x != nil {
  1207  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1208  		if ms.LoadMessageInfo() == nil {
  1209  			ms.StoreMessageInfo(mi)
  1210  		}
  1211  		return ms
  1212  	}
  1213  	return mi.MessageOf(x)
  1214  }
  1215  
  1216  // Deprecated: Use ReadModifyWriteRowRequest.ProtoReflect.Descriptor instead.
  1217  func (*ReadModifyWriteRowRequest) Descriptor() ([]byte, []int) {
  1218  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{13}
  1219  }
  1220  
  1221  func (x *ReadModifyWriteRowRequest) GetTableName() string {
  1222  	if x != nil {
  1223  		return x.TableName
  1224  	}
  1225  	return ""
  1226  }
  1227  
  1228  func (x *ReadModifyWriteRowRequest) GetAuthorizedViewName() string {
  1229  	if x != nil {
  1230  		return x.AuthorizedViewName
  1231  	}
  1232  	return ""
  1233  }
  1234  
  1235  func (x *ReadModifyWriteRowRequest) GetAppProfileId() string {
  1236  	if x != nil {
  1237  		return x.AppProfileId
  1238  	}
  1239  	return ""
  1240  }
  1241  
  1242  func (x *ReadModifyWriteRowRequest) GetRowKey() []byte {
  1243  	if x != nil {
  1244  		return x.RowKey
  1245  	}
  1246  	return nil
  1247  }
  1248  
  1249  func (x *ReadModifyWriteRowRequest) GetRules() []*ReadModifyWriteRule {
  1250  	if x != nil {
  1251  		return x.Rules
  1252  	}
  1253  	return nil
  1254  }
  1255  
  1256  // Response message for Bigtable.ReadModifyWriteRow.
  1257  type ReadModifyWriteRowResponse struct {
  1258  	state         protoimpl.MessageState
  1259  	sizeCache     protoimpl.SizeCache
  1260  	unknownFields protoimpl.UnknownFields
  1261  
  1262  	// A Row containing the new contents of all cells modified by the request.
  1263  	Row *Row `protobuf:"bytes,1,opt,name=row,proto3" json:"row,omitempty"`
  1264  }
  1265  
  1266  func (x *ReadModifyWriteRowResponse) Reset() {
  1267  	*x = ReadModifyWriteRowResponse{}
  1268  	if protoimpl.UnsafeEnabled {
  1269  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[14]
  1270  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1271  		ms.StoreMessageInfo(mi)
  1272  	}
  1273  }
  1274  
  1275  func (x *ReadModifyWriteRowResponse) String() string {
  1276  	return protoimpl.X.MessageStringOf(x)
  1277  }
  1278  
  1279  func (*ReadModifyWriteRowResponse) ProtoMessage() {}
  1280  
  1281  func (x *ReadModifyWriteRowResponse) ProtoReflect() protoreflect.Message {
  1282  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[14]
  1283  	if protoimpl.UnsafeEnabled && x != nil {
  1284  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1285  		if ms.LoadMessageInfo() == nil {
  1286  			ms.StoreMessageInfo(mi)
  1287  		}
  1288  		return ms
  1289  	}
  1290  	return mi.MessageOf(x)
  1291  }
  1292  
  1293  // Deprecated: Use ReadModifyWriteRowResponse.ProtoReflect.Descriptor instead.
  1294  func (*ReadModifyWriteRowResponse) Descriptor() ([]byte, []int) {
  1295  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{14}
  1296  }
  1297  
  1298  func (x *ReadModifyWriteRowResponse) GetRow() *Row {
  1299  	if x != nil {
  1300  		return x.Row
  1301  	}
  1302  	return nil
  1303  }
  1304  
  1305  // NOTE: This API is intended to be used by Apache Beam BigtableIO.
  1306  // Request message for Bigtable.GenerateInitialChangeStreamPartitions.
  1307  type GenerateInitialChangeStreamPartitionsRequest struct {
  1308  	state         protoimpl.MessageState
  1309  	sizeCache     protoimpl.SizeCache
  1310  	unknownFields protoimpl.UnknownFields
  1311  
  1312  	// Required. The unique name of the table from which to get change stream
  1313  	// partitions. Values are of the form
  1314  	// `projects/<project>/instances/<instance>/tables/<table>`.
  1315  	// Change streaming must be enabled on the table.
  1316  	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
  1317  	// This value specifies routing for replication. If not specified, the
  1318  	// "default" application profile will be used.
  1319  	// Single cluster routing must be configured on the profile.
  1320  	AppProfileId string `protobuf:"bytes,2,opt,name=app_profile_id,json=appProfileId,proto3" json:"app_profile_id,omitempty"`
  1321  }
  1322  
  1323  func (x *GenerateInitialChangeStreamPartitionsRequest) Reset() {
  1324  	*x = GenerateInitialChangeStreamPartitionsRequest{}
  1325  	if protoimpl.UnsafeEnabled {
  1326  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[15]
  1327  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1328  		ms.StoreMessageInfo(mi)
  1329  	}
  1330  }
  1331  
  1332  func (x *GenerateInitialChangeStreamPartitionsRequest) String() string {
  1333  	return protoimpl.X.MessageStringOf(x)
  1334  }
  1335  
  1336  func (*GenerateInitialChangeStreamPartitionsRequest) ProtoMessage() {}
  1337  
  1338  func (x *GenerateInitialChangeStreamPartitionsRequest) ProtoReflect() protoreflect.Message {
  1339  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[15]
  1340  	if protoimpl.UnsafeEnabled && x != nil {
  1341  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1342  		if ms.LoadMessageInfo() == nil {
  1343  			ms.StoreMessageInfo(mi)
  1344  		}
  1345  		return ms
  1346  	}
  1347  	return mi.MessageOf(x)
  1348  }
  1349  
  1350  // Deprecated: Use GenerateInitialChangeStreamPartitionsRequest.ProtoReflect.Descriptor instead.
  1351  func (*GenerateInitialChangeStreamPartitionsRequest) Descriptor() ([]byte, []int) {
  1352  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{15}
  1353  }
  1354  
  1355  func (x *GenerateInitialChangeStreamPartitionsRequest) GetTableName() string {
  1356  	if x != nil {
  1357  		return x.TableName
  1358  	}
  1359  	return ""
  1360  }
  1361  
  1362  func (x *GenerateInitialChangeStreamPartitionsRequest) GetAppProfileId() string {
  1363  	if x != nil {
  1364  		return x.AppProfileId
  1365  	}
  1366  	return ""
  1367  }
  1368  
  1369  // NOTE: This API is intended to be used by Apache Beam BigtableIO.
  1370  // Response message for Bigtable.GenerateInitialChangeStreamPartitions.
  1371  type GenerateInitialChangeStreamPartitionsResponse struct {
  1372  	state         protoimpl.MessageState
  1373  	sizeCache     protoimpl.SizeCache
  1374  	unknownFields protoimpl.UnknownFields
  1375  
  1376  	// A partition of the change stream.
  1377  	Partition *StreamPartition `protobuf:"bytes,1,opt,name=partition,proto3" json:"partition,omitempty"`
  1378  }
  1379  
  1380  func (x *GenerateInitialChangeStreamPartitionsResponse) Reset() {
  1381  	*x = GenerateInitialChangeStreamPartitionsResponse{}
  1382  	if protoimpl.UnsafeEnabled {
  1383  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[16]
  1384  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1385  		ms.StoreMessageInfo(mi)
  1386  	}
  1387  }
  1388  
  1389  func (x *GenerateInitialChangeStreamPartitionsResponse) String() string {
  1390  	return protoimpl.X.MessageStringOf(x)
  1391  }
  1392  
  1393  func (*GenerateInitialChangeStreamPartitionsResponse) ProtoMessage() {}
  1394  
  1395  func (x *GenerateInitialChangeStreamPartitionsResponse) ProtoReflect() protoreflect.Message {
  1396  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[16]
  1397  	if protoimpl.UnsafeEnabled && x != nil {
  1398  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1399  		if ms.LoadMessageInfo() == nil {
  1400  			ms.StoreMessageInfo(mi)
  1401  		}
  1402  		return ms
  1403  	}
  1404  	return mi.MessageOf(x)
  1405  }
  1406  
  1407  // Deprecated: Use GenerateInitialChangeStreamPartitionsResponse.ProtoReflect.Descriptor instead.
  1408  func (*GenerateInitialChangeStreamPartitionsResponse) Descriptor() ([]byte, []int) {
  1409  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{16}
  1410  }
  1411  
  1412  func (x *GenerateInitialChangeStreamPartitionsResponse) GetPartition() *StreamPartition {
  1413  	if x != nil {
  1414  		return x.Partition
  1415  	}
  1416  	return nil
  1417  }
  1418  
  1419  // NOTE: This API is intended to be used by Apache Beam BigtableIO.
  1420  // Request message for Bigtable.ReadChangeStream.
  1421  type ReadChangeStreamRequest struct {
  1422  	state         protoimpl.MessageState
  1423  	sizeCache     protoimpl.SizeCache
  1424  	unknownFields protoimpl.UnknownFields
  1425  
  1426  	// Required. The unique name of the table from which to read a change stream.
  1427  	// Values are of the form
  1428  	// `projects/<project>/instances/<instance>/tables/<table>`.
  1429  	// Change streaming must be enabled on the table.
  1430  	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
  1431  	// This value specifies routing for replication. If not specified, the
  1432  	// "default" application profile will be used.
  1433  	// Single cluster routing must be configured on the profile.
  1434  	AppProfileId string `protobuf:"bytes,2,opt,name=app_profile_id,json=appProfileId,proto3" json:"app_profile_id,omitempty"`
  1435  	// The partition to read changes from.
  1436  	Partition *StreamPartition `protobuf:"bytes,3,opt,name=partition,proto3" json:"partition,omitempty"`
  1437  	// Options for describing where we want to start reading from the stream.
  1438  	//
  1439  	// Types that are assignable to StartFrom:
  1440  	//
  1441  	//	*ReadChangeStreamRequest_StartTime
  1442  	//	*ReadChangeStreamRequest_ContinuationTokens
  1443  	StartFrom isReadChangeStreamRequest_StartFrom `protobuf_oneof:"start_from"`
  1444  	// If specified, OK will be returned when the stream advances beyond
  1445  	// this time. Otherwise, changes will be continuously delivered on the stream.
  1446  	// This value is inclusive and will be truncated to microsecond granularity.
  1447  	EndTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  1448  	// If specified, the duration between `Heartbeat` messages on the stream.
  1449  	// Otherwise, defaults to 5 seconds.
  1450  	HeartbeatDuration *durationpb.Duration `protobuf:"bytes,7,opt,name=heartbeat_duration,json=heartbeatDuration,proto3" json:"heartbeat_duration,omitempty"`
  1451  }
  1452  
  1453  func (x *ReadChangeStreamRequest) Reset() {
  1454  	*x = ReadChangeStreamRequest{}
  1455  	if protoimpl.UnsafeEnabled {
  1456  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[17]
  1457  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1458  		ms.StoreMessageInfo(mi)
  1459  	}
  1460  }
  1461  
  1462  func (x *ReadChangeStreamRequest) String() string {
  1463  	return protoimpl.X.MessageStringOf(x)
  1464  }
  1465  
  1466  func (*ReadChangeStreamRequest) ProtoMessage() {}
  1467  
  1468  func (x *ReadChangeStreamRequest) ProtoReflect() protoreflect.Message {
  1469  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[17]
  1470  	if protoimpl.UnsafeEnabled && x != nil {
  1471  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1472  		if ms.LoadMessageInfo() == nil {
  1473  			ms.StoreMessageInfo(mi)
  1474  		}
  1475  		return ms
  1476  	}
  1477  	return mi.MessageOf(x)
  1478  }
  1479  
  1480  // Deprecated: Use ReadChangeStreamRequest.ProtoReflect.Descriptor instead.
  1481  func (*ReadChangeStreamRequest) Descriptor() ([]byte, []int) {
  1482  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{17}
  1483  }
  1484  
  1485  func (x *ReadChangeStreamRequest) GetTableName() string {
  1486  	if x != nil {
  1487  		return x.TableName
  1488  	}
  1489  	return ""
  1490  }
  1491  
  1492  func (x *ReadChangeStreamRequest) GetAppProfileId() string {
  1493  	if x != nil {
  1494  		return x.AppProfileId
  1495  	}
  1496  	return ""
  1497  }
  1498  
  1499  func (x *ReadChangeStreamRequest) GetPartition() *StreamPartition {
  1500  	if x != nil {
  1501  		return x.Partition
  1502  	}
  1503  	return nil
  1504  }
  1505  
  1506  func (m *ReadChangeStreamRequest) GetStartFrom() isReadChangeStreamRequest_StartFrom {
  1507  	if m != nil {
  1508  		return m.StartFrom
  1509  	}
  1510  	return nil
  1511  }
  1512  
  1513  func (x *ReadChangeStreamRequest) GetStartTime() *timestamppb.Timestamp {
  1514  	if x, ok := x.GetStartFrom().(*ReadChangeStreamRequest_StartTime); ok {
  1515  		return x.StartTime
  1516  	}
  1517  	return nil
  1518  }
  1519  
  1520  func (x *ReadChangeStreamRequest) GetContinuationTokens() *StreamContinuationTokens {
  1521  	if x, ok := x.GetStartFrom().(*ReadChangeStreamRequest_ContinuationTokens); ok {
  1522  		return x.ContinuationTokens
  1523  	}
  1524  	return nil
  1525  }
  1526  
  1527  func (x *ReadChangeStreamRequest) GetEndTime() *timestamppb.Timestamp {
  1528  	if x != nil {
  1529  		return x.EndTime
  1530  	}
  1531  	return nil
  1532  }
  1533  
  1534  func (x *ReadChangeStreamRequest) GetHeartbeatDuration() *durationpb.Duration {
  1535  	if x != nil {
  1536  		return x.HeartbeatDuration
  1537  	}
  1538  	return nil
  1539  }
  1540  
  1541  type isReadChangeStreamRequest_StartFrom interface {
  1542  	isReadChangeStreamRequest_StartFrom()
  1543  }
  1544  
  1545  type ReadChangeStreamRequest_StartTime struct {
  1546  	// Start reading the stream at the specified timestamp. This timestamp must
  1547  	// be within the change stream retention period, less than or equal to the
  1548  	// current time, and after change stream creation, whichever is greater.
  1549  	// This value is inclusive and will be truncated to microsecond granularity.
  1550  	StartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3,oneof"`
  1551  }
  1552  
  1553  type ReadChangeStreamRequest_ContinuationTokens struct {
  1554  	// Tokens that describe how to resume reading a stream where reading
  1555  	// previously left off. If specified, changes will be read starting at the
  1556  	// the position. Tokens are delivered on the stream as part of `Heartbeat`
  1557  	// and `CloseStream` messages.
  1558  	//
  1559  	// If a single token is provided, the token’s partition must exactly match
  1560  	// the request’s partition. If multiple tokens are provided, as in the case
  1561  	// of a partition merge, the union of the token partitions must exactly
  1562  	// cover the request’s partition. Otherwise, INVALID_ARGUMENT will be
  1563  	// returned.
  1564  	ContinuationTokens *StreamContinuationTokens `protobuf:"bytes,6,opt,name=continuation_tokens,json=continuationTokens,proto3,oneof"`
  1565  }
  1566  
  1567  func (*ReadChangeStreamRequest_StartTime) isReadChangeStreamRequest_StartFrom() {}
  1568  
  1569  func (*ReadChangeStreamRequest_ContinuationTokens) isReadChangeStreamRequest_StartFrom() {}
  1570  
  1571  // NOTE: This API is intended to be used by Apache Beam BigtableIO.
  1572  // Response message for Bigtable.ReadChangeStream.
  1573  type ReadChangeStreamResponse struct {
  1574  	state         protoimpl.MessageState
  1575  	sizeCache     protoimpl.SizeCache
  1576  	unknownFields protoimpl.UnknownFields
  1577  
  1578  	// The data or control message on the stream.
  1579  	//
  1580  	// Types that are assignable to StreamRecord:
  1581  	//
  1582  	//	*ReadChangeStreamResponse_DataChange_
  1583  	//	*ReadChangeStreamResponse_Heartbeat_
  1584  	//	*ReadChangeStreamResponse_CloseStream_
  1585  	StreamRecord isReadChangeStreamResponse_StreamRecord `protobuf_oneof:"stream_record"`
  1586  }
  1587  
  1588  func (x *ReadChangeStreamResponse) Reset() {
  1589  	*x = ReadChangeStreamResponse{}
  1590  	if protoimpl.UnsafeEnabled {
  1591  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[18]
  1592  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1593  		ms.StoreMessageInfo(mi)
  1594  	}
  1595  }
  1596  
  1597  func (x *ReadChangeStreamResponse) String() string {
  1598  	return protoimpl.X.MessageStringOf(x)
  1599  }
  1600  
  1601  func (*ReadChangeStreamResponse) ProtoMessage() {}
  1602  
  1603  func (x *ReadChangeStreamResponse) ProtoReflect() protoreflect.Message {
  1604  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[18]
  1605  	if protoimpl.UnsafeEnabled && x != nil {
  1606  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1607  		if ms.LoadMessageInfo() == nil {
  1608  			ms.StoreMessageInfo(mi)
  1609  		}
  1610  		return ms
  1611  	}
  1612  	return mi.MessageOf(x)
  1613  }
  1614  
  1615  // Deprecated: Use ReadChangeStreamResponse.ProtoReflect.Descriptor instead.
  1616  func (*ReadChangeStreamResponse) Descriptor() ([]byte, []int) {
  1617  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{18}
  1618  }
  1619  
  1620  func (m *ReadChangeStreamResponse) GetStreamRecord() isReadChangeStreamResponse_StreamRecord {
  1621  	if m != nil {
  1622  		return m.StreamRecord
  1623  	}
  1624  	return nil
  1625  }
  1626  
  1627  func (x *ReadChangeStreamResponse) GetDataChange() *ReadChangeStreamResponse_DataChange {
  1628  	if x, ok := x.GetStreamRecord().(*ReadChangeStreamResponse_DataChange_); ok {
  1629  		return x.DataChange
  1630  	}
  1631  	return nil
  1632  }
  1633  
  1634  func (x *ReadChangeStreamResponse) GetHeartbeat() *ReadChangeStreamResponse_Heartbeat {
  1635  	if x, ok := x.GetStreamRecord().(*ReadChangeStreamResponse_Heartbeat_); ok {
  1636  		return x.Heartbeat
  1637  	}
  1638  	return nil
  1639  }
  1640  
  1641  func (x *ReadChangeStreamResponse) GetCloseStream() *ReadChangeStreamResponse_CloseStream {
  1642  	if x, ok := x.GetStreamRecord().(*ReadChangeStreamResponse_CloseStream_); ok {
  1643  		return x.CloseStream
  1644  	}
  1645  	return nil
  1646  }
  1647  
  1648  type isReadChangeStreamResponse_StreamRecord interface {
  1649  	isReadChangeStreamResponse_StreamRecord()
  1650  }
  1651  
  1652  type ReadChangeStreamResponse_DataChange_ struct {
  1653  	// A mutation to the partition.
  1654  	DataChange *ReadChangeStreamResponse_DataChange `protobuf:"bytes,1,opt,name=data_change,json=dataChange,proto3,oneof"`
  1655  }
  1656  
  1657  type ReadChangeStreamResponse_Heartbeat_ struct {
  1658  	// A periodic heartbeat message.
  1659  	Heartbeat *ReadChangeStreamResponse_Heartbeat `protobuf:"bytes,2,opt,name=heartbeat,proto3,oneof"`
  1660  }
  1661  
  1662  type ReadChangeStreamResponse_CloseStream_ struct {
  1663  	// An indication that the stream should be closed.
  1664  	CloseStream *ReadChangeStreamResponse_CloseStream `protobuf:"bytes,3,opt,name=close_stream,json=closeStream,proto3,oneof"`
  1665  }
  1666  
  1667  func (*ReadChangeStreamResponse_DataChange_) isReadChangeStreamResponse_StreamRecord() {}
  1668  
  1669  func (*ReadChangeStreamResponse_Heartbeat_) isReadChangeStreamResponse_StreamRecord() {}
  1670  
  1671  func (*ReadChangeStreamResponse_CloseStream_) isReadChangeStreamResponse_StreamRecord() {}
  1672  
  1673  // Specifies a piece of a row's contents returned as part of the read
  1674  // response stream.
  1675  type ReadRowsResponse_CellChunk struct {
  1676  	state         protoimpl.MessageState
  1677  	sizeCache     protoimpl.SizeCache
  1678  	unknownFields protoimpl.UnknownFields
  1679  
  1680  	// The row key for this chunk of data.  If the row key is empty,
  1681  	// this CellChunk is a continuation of the same row as the previous
  1682  	// CellChunk in the response stream, even if that CellChunk was in a
  1683  	// previous ReadRowsResponse message.
  1684  	RowKey []byte `protobuf:"bytes,1,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
  1685  	// The column family name for this chunk of data.  If this message
  1686  	// is not present this CellChunk is a continuation of the same column
  1687  	// family as the previous CellChunk.  The empty string can occur as a
  1688  	// column family name in a response so clients must check
  1689  	// explicitly for the presence of this message, not just for
  1690  	// `family_name.value` being non-empty.
  1691  	FamilyName *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=family_name,json=familyName,proto3" json:"family_name,omitempty"`
  1692  	// The column qualifier for this chunk of data.  If this message
  1693  	// is not present, this CellChunk is a continuation of the same column
  1694  	// as the previous CellChunk.  Column qualifiers may be empty so
  1695  	// clients must check for the presence of this message, not just
  1696  	// for `qualifier.value` being non-empty.
  1697  	Qualifier *wrapperspb.BytesValue `protobuf:"bytes,3,opt,name=qualifier,proto3" json:"qualifier,omitempty"`
  1698  	// The cell's stored timestamp, which also uniquely identifies it
  1699  	// within its column.  Values are always expressed in
  1700  	// microseconds, but individual tables may set a coarser
  1701  	// granularity to further restrict the allowed values. For
  1702  	// example, a table which specifies millisecond granularity will
  1703  	// only allow values of `timestamp_micros` which are multiples of
  1704  	// 1000.  Timestamps are only set in the first CellChunk per cell
  1705  	// (for cells split into multiple chunks).
  1706  	TimestampMicros int64 `protobuf:"varint,4,opt,name=timestamp_micros,json=timestampMicros,proto3" json:"timestamp_micros,omitempty"`
  1707  	// Labels applied to the cell by a
  1708  	// [RowFilter][google.bigtable.v2.RowFilter].  Labels are only set
  1709  	// on the first CellChunk per cell.
  1710  	Labels []string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty"`
  1711  	// The value stored in the cell.  Cell values can be split across
  1712  	// multiple CellChunks.  In that case only the value field will be
  1713  	// set in CellChunks after the first: the timestamp and labels
  1714  	// will only be present in the first CellChunk, even if the first
  1715  	// CellChunk came in a previous ReadRowsResponse.
  1716  	Value []byte `protobuf:"bytes,6,opt,name=value,proto3" json:"value,omitempty"`
  1717  	// If this CellChunk is part of a chunked cell value and this is
  1718  	// not the final chunk of that cell, value_size will be set to the
  1719  	// total length of the cell value.  The client can use this size
  1720  	// to pre-allocate memory to hold the full cell value.
  1721  	ValueSize int32 `protobuf:"varint,7,opt,name=value_size,json=valueSize,proto3" json:"value_size,omitempty"`
  1722  	// Signals to the client concerning previous CellChunks received.
  1723  	//
  1724  	// Types that are assignable to RowStatus:
  1725  	//
  1726  	//	*ReadRowsResponse_CellChunk_ResetRow
  1727  	//	*ReadRowsResponse_CellChunk_CommitRow
  1728  	RowStatus isReadRowsResponse_CellChunk_RowStatus `protobuf_oneof:"row_status"`
  1729  }
  1730  
  1731  func (x *ReadRowsResponse_CellChunk) Reset() {
  1732  	*x = ReadRowsResponse_CellChunk{}
  1733  	if protoimpl.UnsafeEnabled {
  1734  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[19]
  1735  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1736  		ms.StoreMessageInfo(mi)
  1737  	}
  1738  }
  1739  
  1740  func (x *ReadRowsResponse_CellChunk) String() string {
  1741  	return protoimpl.X.MessageStringOf(x)
  1742  }
  1743  
  1744  func (*ReadRowsResponse_CellChunk) ProtoMessage() {}
  1745  
  1746  func (x *ReadRowsResponse_CellChunk) ProtoReflect() protoreflect.Message {
  1747  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[19]
  1748  	if protoimpl.UnsafeEnabled && x != nil {
  1749  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1750  		if ms.LoadMessageInfo() == nil {
  1751  			ms.StoreMessageInfo(mi)
  1752  		}
  1753  		return ms
  1754  	}
  1755  	return mi.MessageOf(x)
  1756  }
  1757  
  1758  // Deprecated: Use ReadRowsResponse_CellChunk.ProtoReflect.Descriptor instead.
  1759  func (*ReadRowsResponse_CellChunk) Descriptor() ([]byte, []int) {
  1760  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{1, 0}
  1761  }
  1762  
  1763  func (x *ReadRowsResponse_CellChunk) GetRowKey() []byte {
  1764  	if x != nil {
  1765  		return x.RowKey
  1766  	}
  1767  	return nil
  1768  }
  1769  
  1770  func (x *ReadRowsResponse_CellChunk) GetFamilyName() *wrapperspb.StringValue {
  1771  	if x != nil {
  1772  		return x.FamilyName
  1773  	}
  1774  	return nil
  1775  }
  1776  
  1777  func (x *ReadRowsResponse_CellChunk) GetQualifier() *wrapperspb.BytesValue {
  1778  	if x != nil {
  1779  		return x.Qualifier
  1780  	}
  1781  	return nil
  1782  }
  1783  
  1784  func (x *ReadRowsResponse_CellChunk) GetTimestampMicros() int64 {
  1785  	if x != nil {
  1786  		return x.TimestampMicros
  1787  	}
  1788  	return 0
  1789  }
  1790  
  1791  func (x *ReadRowsResponse_CellChunk) GetLabels() []string {
  1792  	if x != nil {
  1793  		return x.Labels
  1794  	}
  1795  	return nil
  1796  }
  1797  
  1798  func (x *ReadRowsResponse_CellChunk) GetValue() []byte {
  1799  	if x != nil {
  1800  		return x.Value
  1801  	}
  1802  	return nil
  1803  }
  1804  
  1805  func (x *ReadRowsResponse_CellChunk) GetValueSize() int32 {
  1806  	if x != nil {
  1807  		return x.ValueSize
  1808  	}
  1809  	return 0
  1810  }
  1811  
  1812  func (m *ReadRowsResponse_CellChunk) GetRowStatus() isReadRowsResponse_CellChunk_RowStatus {
  1813  	if m != nil {
  1814  		return m.RowStatus
  1815  	}
  1816  	return nil
  1817  }
  1818  
  1819  func (x *ReadRowsResponse_CellChunk) GetResetRow() bool {
  1820  	if x, ok := x.GetRowStatus().(*ReadRowsResponse_CellChunk_ResetRow); ok {
  1821  		return x.ResetRow
  1822  	}
  1823  	return false
  1824  }
  1825  
  1826  func (x *ReadRowsResponse_CellChunk) GetCommitRow() bool {
  1827  	if x, ok := x.GetRowStatus().(*ReadRowsResponse_CellChunk_CommitRow); ok {
  1828  		return x.CommitRow
  1829  	}
  1830  	return false
  1831  }
  1832  
  1833  type isReadRowsResponse_CellChunk_RowStatus interface {
  1834  	isReadRowsResponse_CellChunk_RowStatus()
  1835  }
  1836  
  1837  type ReadRowsResponse_CellChunk_ResetRow struct {
  1838  	// Indicates that the client should drop all previous chunks for
  1839  	// `row_key`, as it will be re-read from the beginning.
  1840  	ResetRow bool `protobuf:"varint,8,opt,name=reset_row,json=resetRow,proto3,oneof"`
  1841  }
  1842  
  1843  type ReadRowsResponse_CellChunk_CommitRow struct {
  1844  	// Indicates that the client can safely process all previous chunks for
  1845  	// `row_key`, as its data has been fully read.
  1846  	CommitRow bool `protobuf:"varint,9,opt,name=commit_row,json=commitRow,proto3,oneof"`
  1847  }
  1848  
  1849  func (*ReadRowsResponse_CellChunk_ResetRow) isReadRowsResponse_CellChunk_RowStatus() {}
  1850  
  1851  func (*ReadRowsResponse_CellChunk_CommitRow) isReadRowsResponse_CellChunk_RowStatus() {}
  1852  
  1853  // A mutation for a given row.
  1854  type MutateRowsRequest_Entry struct {
  1855  	state         protoimpl.MessageState
  1856  	sizeCache     protoimpl.SizeCache
  1857  	unknownFields protoimpl.UnknownFields
  1858  
  1859  	// The key of the row to which the `mutations` should be applied.
  1860  	RowKey []byte `protobuf:"bytes,1,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
  1861  	// Required. Changes to be atomically applied to the specified row.
  1862  	// Mutations are applied in order, meaning that earlier mutations can be
  1863  	// masked by later ones. You must specify at least one mutation.
  1864  	Mutations []*Mutation `protobuf:"bytes,2,rep,name=mutations,proto3" json:"mutations,omitempty"`
  1865  }
  1866  
  1867  func (x *MutateRowsRequest_Entry) Reset() {
  1868  	*x = MutateRowsRequest_Entry{}
  1869  	if protoimpl.UnsafeEnabled {
  1870  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[20]
  1871  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1872  		ms.StoreMessageInfo(mi)
  1873  	}
  1874  }
  1875  
  1876  func (x *MutateRowsRequest_Entry) String() string {
  1877  	return protoimpl.X.MessageStringOf(x)
  1878  }
  1879  
  1880  func (*MutateRowsRequest_Entry) ProtoMessage() {}
  1881  
  1882  func (x *MutateRowsRequest_Entry) ProtoReflect() protoreflect.Message {
  1883  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[20]
  1884  	if protoimpl.UnsafeEnabled && x != nil {
  1885  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1886  		if ms.LoadMessageInfo() == nil {
  1887  			ms.StoreMessageInfo(mi)
  1888  		}
  1889  		return ms
  1890  	}
  1891  	return mi.MessageOf(x)
  1892  }
  1893  
  1894  // Deprecated: Use MutateRowsRequest_Entry.ProtoReflect.Descriptor instead.
  1895  func (*MutateRowsRequest_Entry) Descriptor() ([]byte, []int) {
  1896  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{6, 0}
  1897  }
  1898  
  1899  func (x *MutateRowsRequest_Entry) GetRowKey() []byte {
  1900  	if x != nil {
  1901  		return x.RowKey
  1902  	}
  1903  	return nil
  1904  }
  1905  
  1906  func (x *MutateRowsRequest_Entry) GetMutations() []*Mutation {
  1907  	if x != nil {
  1908  		return x.Mutations
  1909  	}
  1910  	return nil
  1911  }
  1912  
  1913  // The result of applying a passed mutation in the original request.
  1914  type MutateRowsResponse_Entry struct {
  1915  	state         protoimpl.MessageState
  1916  	sizeCache     protoimpl.SizeCache
  1917  	unknownFields protoimpl.UnknownFields
  1918  
  1919  	// The index into the original request's `entries` list of the Entry
  1920  	// for which a result is being reported.
  1921  	Index int64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
  1922  	// The result of the request Entry identified by `index`.
  1923  	// Depending on how requests are batched during execution, it is possible
  1924  	// for one Entry to fail due to an error with another Entry. In the event
  1925  	// that this occurs, the same error will be reported for both entries.
  1926  	Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
  1927  }
  1928  
  1929  func (x *MutateRowsResponse_Entry) Reset() {
  1930  	*x = MutateRowsResponse_Entry{}
  1931  	if protoimpl.UnsafeEnabled {
  1932  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[21]
  1933  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1934  		ms.StoreMessageInfo(mi)
  1935  	}
  1936  }
  1937  
  1938  func (x *MutateRowsResponse_Entry) String() string {
  1939  	return protoimpl.X.MessageStringOf(x)
  1940  }
  1941  
  1942  func (*MutateRowsResponse_Entry) ProtoMessage() {}
  1943  
  1944  func (x *MutateRowsResponse_Entry) ProtoReflect() protoreflect.Message {
  1945  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[21]
  1946  	if protoimpl.UnsafeEnabled && x != nil {
  1947  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1948  		if ms.LoadMessageInfo() == nil {
  1949  			ms.StoreMessageInfo(mi)
  1950  		}
  1951  		return ms
  1952  	}
  1953  	return mi.MessageOf(x)
  1954  }
  1955  
  1956  // Deprecated: Use MutateRowsResponse_Entry.ProtoReflect.Descriptor instead.
  1957  func (*MutateRowsResponse_Entry) Descriptor() ([]byte, []int) {
  1958  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{7, 0}
  1959  }
  1960  
  1961  func (x *MutateRowsResponse_Entry) GetIndex() int64 {
  1962  	if x != nil {
  1963  		return x.Index
  1964  	}
  1965  	return 0
  1966  }
  1967  
  1968  func (x *MutateRowsResponse_Entry) GetStatus() *status.Status {
  1969  	if x != nil {
  1970  		return x.Status
  1971  	}
  1972  	return nil
  1973  }
  1974  
  1975  // A partial or complete mutation.
  1976  type ReadChangeStreamResponse_MutationChunk struct {
  1977  	state         protoimpl.MessageState
  1978  	sizeCache     protoimpl.SizeCache
  1979  	unknownFields protoimpl.UnknownFields
  1980  
  1981  	// If set, then the mutation is a `SetCell` with a chunked value across
  1982  	// multiple messages.
  1983  	ChunkInfo *ReadChangeStreamResponse_MutationChunk_ChunkInfo `protobuf:"bytes,1,opt,name=chunk_info,json=chunkInfo,proto3" json:"chunk_info,omitempty"`
  1984  	// If this is a continuation of a chunked message (`chunked_value_offset` >
  1985  	// 0), ignore all fields except the `SetCell`'s value and merge it with
  1986  	// the previous message by concatenating the value fields.
  1987  	Mutation *Mutation `protobuf:"bytes,2,opt,name=mutation,proto3" json:"mutation,omitempty"`
  1988  }
  1989  
  1990  func (x *ReadChangeStreamResponse_MutationChunk) Reset() {
  1991  	*x = ReadChangeStreamResponse_MutationChunk{}
  1992  	if protoimpl.UnsafeEnabled {
  1993  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[22]
  1994  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1995  		ms.StoreMessageInfo(mi)
  1996  	}
  1997  }
  1998  
  1999  func (x *ReadChangeStreamResponse_MutationChunk) String() string {
  2000  	return protoimpl.X.MessageStringOf(x)
  2001  }
  2002  
  2003  func (*ReadChangeStreamResponse_MutationChunk) ProtoMessage() {}
  2004  
  2005  func (x *ReadChangeStreamResponse_MutationChunk) ProtoReflect() protoreflect.Message {
  2006  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[22]
  2007  	if protoimpl.UnsafeEnabled && x != nil {
  2008  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2009  		if ms.LoadMessageInfo() == nil {
  2010  			ms.StoreMessageInfo(mi)
  2011  		}
  2012  		return ms
  2013  	}
  2014  	return mi.MessageOf(x)
  2015  }
  2016  
  2017  // Deprecated: Use ReadChangeStreamResponse_MutationChunk.ProtoReflect.Descriptor instead.
  2018  func (*ReadChangeStreamResponse_MutationChunk) Descriptor() ([]byte, []int) {
  2019  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{18, 0}
  2020  }
  2021  
  2022  func (x *ReadChangeStreamResponse_MutationChunk) GetChunkInfo() *ReadChangeStreamResponse_MutationChunk_ChunkInfo {
  2023  	if x != nil {
  2024  		return x.ChunkInfo
  2025  	}
  2026  	return nil
  2027  }
  2028  
  2029  func (x *ReadChangeStreamResponse_MutationChunk) GetMutation() *Mutation {
  2030  	if x != nil {
  2031  		return x.Mutation
  2032  	}
  2033  	return nil
  2034  }
  2035  
  2036  // A message corresponding to one or more mutations to the partition
  2037  // being streamed. A single logical `DataChange` message may also be split
  2038  // across a sequence of multiple individual messages. Messages other than
  2039  // the first in a sequence will only have the `type` and `chunks` fields
  2040  // populated, with the final message in the sequence also containing `done`
  2041  // set to true.
  2042  type ReadChangeStreamResponse_DataChange struct {
  2043  	state         protoimpl.MessageState
  2044  	sizeCache     protoimpl.SizeCache
  2045  	unknownFields protoimpl.UnknownFields
  2046  
  2047  	// The type of the mutation.
  2048  	Type ReadChangeStreamResponse_DataChange_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.bigtable.v2.ReadChangeStreamResponse_DataChange_Type" json:"type,omitempty"`
  2049  	// The cluster where the mutation was applied.
  2050  	// Not set when `type` is `GARBAGE_COLLECTION`.
  2051  	SourceClusterId string `protobuf:"bytes,2,opt,name=source_cluster_id,json=sourceClusterId,proto3" json:"source_cluster_id,omitempty"`
  2052  	// The row key for all mutations that are part of this `DataChange`.
  2053  	// If the `DataChange` is chunked across multiple messages, then this field
  2054  	// will only be set for the first message.
  2055  	RowKey []byte `protobuf:"bytes,3,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
  2056  	// The timestamp at which the mutation was applied on the Bigtable server.
  2057  	CommitTimestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=commit_timestamp,json=commitTimestamp,proto3" json:"commit_timestamp,omitempty"`
  2058  	// A value that lets stream consumers reconstruct Bigtable's
  2059  	// conflict resolution semantics.
  2060  	// https://cloud.google.com/bigtable/docs/writes#conflict-resolution
  2061  	// In the event that the same row key, column family, column qualifier,
  2062  	// timestamp are modified on different clusters at the same
  2063  	// `commit_timestamp`, the mutation with the larger `tiebreaker` will be the
  2064  	// one chosen for the eventually consistent state of the system.
  2065  	Tiebreaker int32 `protobuf:"varint,5,opt,name=tiebreaker,proto3" json:"tiebreaker,omitempty"`
  2066  	// The mutations associated with this change to the partition.
  2067  	// May contain complete mutations or chunks of a multi-message chunked
  2068  	// `DataChange` record.
  2069  	Chunks []*ReadChangeStreamResponse_MutationChunk `protobuf:"bytes,6,rep,name=chunks,proto3" json:"chunks,omitempty"`
  2070  	// When true, indicates that the entire `DataChange` has been read
  2071  	// and the client can safely process the message.
  2072  	Done bool `protobuf:"varint,8,opt,name=done,proto3" json:"done,omitempty"`
  2073  	// An encoded position for this stream's partition to restart reading from.
  2074  	// This token is for the StreamPartition from the request.
  2075  	Token string `protobuf:"bytes,9,opt,name=token,proto3" json:"token,omitempty"`
  2076  	// An estimate of the commit timestamp that is usually lower than or equal
  2077  	// to any timestamp for a record that will be delivered in the future on the
  2078  	// stream. It is possible that, under particular circumstances that a future
  2079  	// record has a timestamp is is lower than a previously seen timestamp. For
  2080  	// an example usage see
  2081  	// https://beam.apache.org/documentation/basics/#watermarks
  2082  	EstimatedLowWatermark *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=estimated_low_watermark,json=estimatedLowWatermark,proto3" json:"estimated_low_watermark,omitempty"`
  2083  }
  2084  
  2085  func (x *ReadChangeStreamResponse_DataChange) Reset() {
  2086  	*x = ReadChangeStreamResponse_DataChange{}
  2087  	if protoimpl.UnsafeEnabled {
  2088  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[23]
  2089  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2090  		ms.StoreMessageInfo(mi)
  2091  	}
  2092  }
  2093  
  2094  func (x *ReadChangeStreamResponse_DataChange) String() string {
  2095  	return protoimpl.X.MessageStringOf(x)
  2096  }
  2097  
  2098  func (*ReadChangeStreamResponse_DataChange) ProtoMessage() {}
  2099  
  2100  func (x *ReadChangeStreamResponse_DataChange) ProtoReflect() protoreflect.Message {
  2101  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[23]
  2102  	if protoimpl.UnsafeEnabled && x != nil {
  2103  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2104  		if ms.LoadMessageInfo() == nil {
  2105  			ms.StoreMessageInfo(mi)
  2106  		}
  2107  		return ms
  2108  	}
  2109  	return mi.MessageOf(x)
  2110  }
  2111  
  2112  // Deprecated: Use ReadChangeStreamResponse_DataChange.ProtoReflect.Descriptor instead.
  2113  func (*ReadChangeStreamResponse_DataChange) Descriptor() ([]byte, []int) {
  2114  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{18, 1}
  2115  }
  2116  
  2117  func (x *ReadChangeStreamResponse_DataChange) GetType() ReadChangeStreamResponse_DataChange_Type {
  2118  	if x != nil {
  2119  		return x.Type
  2120  	}
  2121  	return ReadChangeStreamResponse_DataChange_TYPE_UNSPECIFIED
  2122  }
  2123  
  2124  func (x *ReadChangeStreamResponse_DataChange) GetSourceClusterId() string {
  2125  	if x != nil {
  2126  		return x.SourceClusterId
  2127  	}
  2128  	return ""
  2129  }
  2130  
  2131  func (x *ReadChangeStreamResponse_DataChange) GetRowKey() []byte {
  2132  	if x != nil {
  2133  		return x.RowKey
  2134  	}
  2135  	return nil
  2136  }
  2137  
  2138  func (x *ReadChangeStreamResponse_DataChange) GetCommitTimestamp() *timestamppb.Timestamp {
  2139  	if x != nil {
  2140  		return x.CommitTimestamp
  2141  	}
  2142  	return nil
  2143  }
  2144  
  2145  func (x *ReadChangeStreamResponse_DataChange) GetTiebreaker() int32 {
  2146  	if x != nil {
  2147  		return x.Tiebreaker
  2148  	}
  2149  	return 0
  2150  }
  2151  
  2152  func (x *ReadChangeStreamResponse_DataChange) GetChunks() []*ReadChangeStreamResponse_MutationChunk {
  2153  	if x != nil {
  2154  		return x.Chunks
  2155  	}
  2156  	return nil
  2157  }
  2158  
  2159  func (x *ReadChangeStreamResponse_DataChange) GetDone() bool {
  2160  	if x != nil {
  2161  		return x.Done
  2162  	}
  2163  	return false
  2164  }
  2165  
  2166  func (x *ReadChangeStreamResponse_DataChange) GetToken() string {
  2167  	if x != nil {
  2168  		return x.Token
  2169  	}
  2170  	return ""
  2171  }
  2172  
  2173  func (x *ReadChangeStreamResponse_DataChange) GetEstimatedLowWatermark() *timestamppb.Timestamp {
  2174  	if x != nil {
  2175  		return x.EstimatedLowWatermark
  2176  	}
  2177  	return nil
  2178  }
  2179  
  2180  // A periodic message with information that can be used to checkpoint
  2181  // the state of a stream.
  2182  type ReadChangeStreamResponse_Heartbeat struct {
  2183  	state         protoimpl.MessageState
  2184  	sizeCache     protoimpl.SizeCache
  2185  	unknownFields protoimpl.UnknownFields
  2186  
  2187  	// A token that can be provided to a subsequent `ReadChangeStream` call
  2188  	// to pick up reading at the current stream position.
  2189  	ContinuationToken *StreamContinuationToken `protobuf:"bytes,1,opt,name=continuation_token,json=continuationToken,proto3" json:"continuation_token,omitempty"`
  2190  	// An estimate of the commit timestamp that is usually lower than or equal
  2191  	// to any timestamp for a record that will be delivered in the future on the
  2192  	// stream. It is possible that, under particular circumstances that a future
  2193  	// record has a timestamp is is lower than a previously seen timestamp. For
  2194  	// an example usage see
  2195  	// https://beam.apache.org/documentation/basics/#watermarks
  2196  	EstimatedLowWatermark *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=estimated_low_watermark,json=estimatedLowWatermark,proto3" json:"estimated_low_watermark,omitempty"`
  2197  }
  2198  
  2199  func (x *ReadChangeStreamResponse_Heartbeat) Reset() {
  2200  	*x = ReadChangeStreamResponse_Heartbeat{}
  2201  	if protoimpl.UnsafeEnabled {
  2202  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[24]
  2203  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2204  		ms.StoreMessageInfo(mi)
  2205  	}
  2206  }
  2207  
  2208  func (x *ReadChangeStreamResponse_Heartbeat) String() string {
  2209  	return protoimpl.X.MessageStringOf(x)
  2210  }
  2211  
  2212  func (*ReadChangeStreamResponse_Heartbeat) ProtoMessage() {}
  2213  
  2214  func (x *ReadChangeStreamResponse_Heartbeat) ProtoReflect() protoreflect.Message {
  2215  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[24]
  2216  	if protoimpl.UnsafeEnabled && x != nil {
  2217  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2218  		if ms.LoadMessageInfo() == nil {
  2219  			ms.StoreMessageInfo(mi)
  2220  		}
  2221  		return ms
  2222  	}
  2223  	return mi.MessageOf(x)
  2224  }
  2225  
  2226  // Deprecated: Use ReadChangeStreamResponse_Heartbeat.ProtoReflect.Descriptor instead.
  2227  func (*ReadChangeStreamResponse_Heartbeat) Descriptor() ([]byte, []int) {
  2228  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{18, 2}
  2229  }
  2230  
  2231  func (x *ReadChangeStreamResponse_Heartbeat) GetContinuationToken() *StreamContinuationToken {
  2232  	if x != nil {
  2233  		return x.ContinuationToken
  2234  	}
  2235  	return nil
  2236  }
  2237  
  2238  func (x *ReadChangeStreamResponse_Heartbeat) GetEstimatedLowWatermark() *timestamppb.Timestamp {
  2239  	if x != nil {
  2240  		return x.EstimatedLowWatermark
  2241  	}
  2242  	return nil
  2243  }
  2244  
  2245  // A message indicating that the client should stop reading from the stream.
  2246  // If status is OK and `continuation_tokens` & `new_partitions` are empty, the
  2247  // stream has finished (for example if there was an `end_time` specified).
  2248  // If `continuation_tokens` & `new_partitions` are present, then a change in
  2249  // partitioning requires the client to open a new stream for each token to
  2250  // resume reading. Example:
  2251  //
  2252  //	                   [B,      D) ends
  2253  //	                        |
  2254  //	                        v
  2255  //	new_partitions:  [A,  C) [C,  E)
  2256  //
  2257  // continuation_tokens.partitions:  [B,C) [C,D)
  2258  //
  2259  //	^---^ ^---^
  2260  //	^     ^
  2261  //	|     |
  2262  //	|     StreamContinuationToken 2
  2263  //	|
  2264  //	StreamContinuationToken 1
  2265  //
  2266  // To read the new partition [A,C), supply the continuation tokens whose
  2267  // ranges cover the new partition, for example ContinuationToken[A,B) &
  2268  // ContinuationToken[B,C).
  2269  type ReadChangeStreamResponse_CloseStream struct {
  2270  	state         protoimpl.MessageState
  2271  	sizeCache     protoimpl.SizeCache
  2272  	unknownFields protoimpl.UnknownFields
  2273  
  2274  	// The status of the stream.
  2275  	Status *status.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
  2276  	// If non-empty, contains the information needed to resume reading their
  2277  	// associated partitions.
  2278  	ContinuationTokens []*StreamContinuationToken `protobuf:"bytes,2,rep,name=continuation_tokens,json=continuationTokens,proto3" json:"continuation_tokens,omitempty"`
  2279  	// If non-empty, contains the new partitions to start reading from, which
  2280  	// are related to but not necessarily identical to the partitions for the
  2281  	// above `continuation_tokens`.
  2282  	NewPartitions []*StreamPartition `protobuf:"bytes,3,rep,name=new_partitions,json=newPartitions,proto3" json:"new_partitions,omitempty"`
  2283  }
  2284  
  2285  func (x *ReadChangeStreamResponse_CloseStream) Reset() {
  2286  	*x = ReadChangeStreamResponse_CloseStream{}
  2287  	if protoimpl.UnsafeEnabled {
  2288  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[25]
  2289  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2290  		ms.StoreMessageInfo(mi)
  2291  	}
  2292  }
  2293  
  2294  func (x *ReadChangeStreamResponse_CloseStream) String() string {
  2295  	return protoimpl.X.MessageStringOf(x)
  2296  }
  2297  
  2298  func (*ReadChangeStreamResponse_CloseStream) ProtoMessage() {}
  2299  
  2300  func (x *ReadChangeStreamResponse_CloseStream) ProtoReflect() protoreflect.Message {
  2301  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[25]
  2302  	if protoimpl.UnsafeEnabled && x != nil {
  2303  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2304  		if ms.LoadMessageInfo() == nil {
  2305  			ms.StoreMessageInfo(mi)
  2306  		}
  2307  		return ms
  2308  	}
  2309  	return mi.MessageOf(x)
  2310  }
  2311  
  2312  // Deprecated: Use ReadChangeStreamResponse_CloseStream.ProtoReflect.Descriptor instead.
  2313  func (*ReadChangeStreamResponse_CloseStream) Descriptor() ([]byte, []int) {
  2314  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{18, 3}
  2315  }
  2316  
  2317  func (x *ReadChangeStreamResponse_CloseStream) GetStatus() *status.Status {
  2318  	if x != nil {
  2319  		return x.Status
  2320  	}
  2321  	return nil
  2322  }
  2323  
  2324  func (x *ReadChangeStreamResponse_CloseStream) GetContinuationTokens() []*StreamContinuationToken {
  2325  	if x != nil {
  2326  		return x.ContinuationTokens
  2327  	}
  2328  	return nil
  2329  }
  2330  
  2331  func (x *ReadChangeStreamResponse_CloseStream) GetNewPartitions() []*StreamPartition {
  2332  	if x != nil {
  2333  		return x.NewPartitions
  2334  	}
  2335  	return nil
  2336  }
  2337  
  2338  // Information about the chunking of this mutation.
  2339  // Only `SetCell` mutations can be chunked, and all chunks for a `SetCell`
  2340  // will be delivered contiguously with no other mutation types interleaved.
  2341  type ReadChangeStreamResponse_MutationChunk_ChunkInfo struct {
  2342  	state         protoimpl.MessageState
  2343  	sizeCache     protoimpl.SizeCache
  2344  	unknownFields protoimpl.UnknownFields
  2345  
  2346  	// The total value size of all the chunks that make up the `SetCell`.
  2347  	ChunkedValueSize int32 `protobuf:"varint,1,opt,name=chunked_value_size,json=chunkedValueSize,proto3" json:"chunked_value_size,omitempty"`
  2348  	// The byte offset of this chunk into the total value size of the
  2349  	// mutation.
  2350  	ChunkedValueOffset int32 `protobuf:"varint,2,opt,name=chunked_value_offset,json=chunkedValueOffset,proto3" json:"chunked_value_offset,omitempty"`
  2351  	// When true, this is the last chunk of a chunked `SetCell`.
  2352  	LastChunk bool `protobuf:"varint,3,opt,name=last_chunk,json=lastChunk,proto3" json:"last_chunk,omitempty"`
  2353  }
  2354  
  2355  func (x *ReadChangeStreamResponse_MutationChunk_ChunkInfo) Reset() {
  2356  	*x = ReadChangeStreamResponse_MutationChunk_ChunkInfo{}
  2357  	if protoimpl.UnsafeEnabled {
  2358  		mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[26]
  2359  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2360  		ms.StoreMessageInfo(mi)
  2361  	}
  2362  }
  2363  
  2364  func (x *ReadChangeStreamResponse_MutationChunk_ChunkInfo) String() string {
  2365  	return protoimpl.X.MessageStringOf(x)
  2366  }
  2367  
  2368  func (*ReadChangeStreamResponse_MutationChunk_ChunkInfo) ProtoMessage() {}
  2369  
  2370  func (x *ReadChangeStreamResponse_MutationChunk_ChunkInfo) ProtoReflect() protoreflect.Message {
  2371  	mi := &file_google_bigtable_v2_bigtable_proto_msgTypes[26]
  2372  	if protoimpl.UnsafeEnabled && x != nil {
  2373  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2374  		if ms.LoadMessageInfo() == nil {
  2375  			ms.StoreMessageInfo(mi)
  2376  		}
  2377  		return ms
  2378  	}
  2379  	return mi.MessageOf(x)
  2380  }
  2381  
  2382  // Deprecated: Use ReadChangeStreamResponse_MutationChunk_ChunkInfo.ProtoReflect.Descriptor instead.
  2383  func (*ReadChangeStreamResponse_MutationChunk_ChunkInfo) Descriptor() ([]byte, []int) {
  2384  	return file_google_bigtable_v2_bigtable_proto_rawDescGZIP(), []int{18, 0, 0}
  2385  }
  2386  
  2387  func (x *ReadChangeStreamResponse_MutationChunk_ChunkInfo) GetChunkedValueSize() int32 {
  2388  	if x != nil {
  2389  		return x.ChunkedValueSize
  2390  	}
  2391  	return 0
  2392  }
  2393  
  2394  func (x *ReadChangeStreamResponse_MutationChunk_ChunkInfo) GetChunkedValueOffset() int32 {
  2395  	if x != nil {
  2396  		return x.ChunkedValueOffset
  2397  	}
  2398  	return 0
  2399  }
  2400  
  2401  func (x *ReadChangeStreamResponse_MutationChunk_ChunkInfo) GetLastChunk() bool {
  2402  	if x != nil {
  2403  		return x.LastChunk
  2404  	}
  2405  	return false
  2406  }
  2407  
  2408  var File_google_bigtable_v2_bigtable_proto protoreflect.FileDescriptor
  2409  
  2410  var file_google_bigtable_v2_bigtable_proto_rawDesc = []byte{
  2411  	0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c,
  2412  	0x65, 0x2f, 0x76, 0x32, 0x2f, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2413  	0x6f, 0x74, 0x6f, 0x12, 0x12, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74,
  2414  	0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
  2415  	0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
  2416  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
  2417  	0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
  2418  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,
  2419  	0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  2420  	0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f,
  2421  	0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67,
  2422  	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70,
  2423  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x62, 0x69, 0x67,
  2424  	0x74, 0x61, 0x62, 0x6c, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
  2425  	0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x62, 0x69, 0x67, 0x74,
  2426  	0x61, 0x62, 0x6c, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
  2427  	0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f,
  2428  	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72,
  2429  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
  2430  	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d,
  2431  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f,
  2432  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72,
  2433  	0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f,
  2434  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e,
  2435  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd7, 0x04, 0x0a, 0x0f, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f,
  2436  	0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x74, 0x61, 0x62,
  2437  	0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0,
  2438  	0x41, 0x01, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61,
  2439  	0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  2440  	0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65,
  2441  	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a,
  2442  	0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01,
  2443  	0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x62, 0x69, 0x67, 0x74,
  2444  	0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2445  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
  2446  	0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
  2447  	0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61,
  2448  	0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
  2449  	0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49,
  2450  	0x64, 0x12, 0x2e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2451  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c,
  2452  	0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x77, 0x53, 0x65, 0x74, 0x52, 0x04, 0x72, 0x6f, 0x77,
  2453  	0x73, 0x12, 0x35, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
  2454  	0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61,
  2455  	0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
  2456  	0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x73,
  2457  	0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x6f,
  2458  	0x77, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x62, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65,
  2459  	0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x06, 0x20,
  2460  	0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67,
  2461  	0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77,
  2462  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  2463  	0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65,
  2464  	0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x72,
  2465  	0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72,
  2466  	0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x22, 0x66, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x75, 0x65,
  2467  	0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x69, 0x65, 0x77, 0x12, 0x22, 0x0a, 0x1e, 0x52,
  2468  	0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x5f, 0x56, 0x49, 0x45,
  2469  	0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
  2470  	0x16, 0x0a, 0x12, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53,
  2471  	0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x51, 0x55, 0x45,
  2472  	0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x22,
  2473  	0xb9, 0x04, 0x0a, 0x10, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70,
  2474  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x18, 0x01,
  2475  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69,
  2476  	0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f,
  2477  	0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x43,
  2478  	0x68, 0x75, 0x6e, 0x6b, 0x52, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x12, 0x2f, 0x0a, 0x14,
  2479  	0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77,
  2480  	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74,
  2481  	0x53, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x45, 0x0a,
  2482  	0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03,
  2483  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69,
  2484  	0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  2485  	0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53,
  2486  	0x74, 0x61, 0x74, 0x73, 0x1a, 0xe4, 0x02, 0x0a, 0x09, 0x43, 0x65, 0x6c, 0x6c, 0x43, 0x68, 0x75,
  2487  	0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
  2488  	0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x66,
  2489  	0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  2490  	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2491  	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a,
  2492  	0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x71, 0x75,
  2493  	0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
  2494  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2495  	0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x71, 0x75, 0x61, 0x6c,
  2496  	0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  2497  	0x6d, 0x70, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
  2498  	0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73,
  2499  	0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09,
  2500  	0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
  2501  	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d,
  2502  	0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01,
  2503  	0x28, 0x05, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a,
  2504  	0x09, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08,
  2505  	0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x6f, 0x77, 0x12, 0x1f, 0x0a, 0x0a,
  2506  	0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08,
  2507  	0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x6f, 0x77, 0x42, 0x0c, 0x0a,
  2508  	0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xee, 0x01, 0x0a, 0x14,
  2509  	0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71,
  2510  	0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61,
  2511  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x24,
  2512  	0x0a, 0x22, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
  2513  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54,
  2514  	0x61, 0x62, 0x6c, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
  2515  	0x65, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69,
  2516  	0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0,
  2517  	0x41, 0x01, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61,
  2518  	0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  2519  	0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69,
  2520  	0x65, 0x77, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69,
  2521  	0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72,
  2522  	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
  2523  	0x61, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x15,
  2524  	0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73,
  2525  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79,
  2526  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x21,
  2527  	0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02,
  2528  	0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65,
  2529  	0x73, 0x22, 0xc9, 0x02, 0x0a, 0x10, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x52,
  2530  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f,
  2531  	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x01, 0xfa,
  2532  	0x41, 0x24, 0x0a, 0x22, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6d, 0x69,
  2533  	0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  2534  	0x2f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d,
  2535  	0x65, 0x12, 0x65, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f,
  2536  	0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42,
  2537  	0x33, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c,
  2538  	0x65, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
  2539  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64,
  2540  	0x56, 0x69, 0x65, 0x77, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64,
  2541  	0x56, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f,
  2542  	0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
  2543  	0x52, 0x0c, 0x61, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1c,
  2544  	0x0a, 0x07, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42,
  2545  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x09,
  2546  	0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
  2547  	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c,
  2548  	0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0,
  2549  	0x41, 0x02, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x13, 0x0a,
  2550  	0x11, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  2551  	0x73, 0x65, 0x22, 0x9a, 0x03, 0x0a, 0x11, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77,
  2552  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c,
  2553  	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41,
  2554  	0x01, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64,
  2555  	0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
  2556  	0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e,
  2557  	0x61, 0x6d, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65,
  2558  	0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
  2559  	0x09, 0x42, 0x33, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x62, 0x69, 0x67, 0x74, 0x61,
  2560  	0x62, 0x6c, 0x65, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
  2561  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a,
  2562  	0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a,
  2563  	0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x70,
  2564  	0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
  2565  	0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64,
  2566  	0x12, 0x4a, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
  2567  	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61,
  2568  	0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77,
  2569  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03,
  2570  	0xe0, 0x41, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x61, 0x0a, 0x05,
  2571  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79,
  2572  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x3f,
  2573  	0x0a, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
  2574  	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61,
  2575  	0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
  2576  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22,
  2577  	0x8b, 0x02, 0x0a, 0x12, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65,
  2578  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65,
  2579  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2580  	0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x75, 0x74,
  2581  	0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
  2582  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x4e,
  2583  	0x0a, 0x0f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66,
  2584  	0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2585  	0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74,
  2586  	0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x61,
  2587  	0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x1a, 0x49,
  2588  	0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
  2589  	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2a, 0x0a,
  2590  	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
  2591  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
  2592  	0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x61,
  2593  	0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x5a, 0x0a,
  2594  	0x0d, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31,
  2595  	0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
  2596  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2597  	0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f,
  2598  	0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
  2599  	0x01, 0x52, 0x06, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xe6, 0x03, 0x0a, 0x18, 0x43, 0x68,
  2600  	0x65, 0x63, 0x6b, 0x41, 0x6e, 0x64, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x52,
  2601  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f,
  2602  	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x01, 0xfa,
  2603  	0x41, 0x24, 0x0a, 0x22, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6d, 0x69,
  2604  	0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  2605  	0x2f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d,
  2606  	0x65, 0x12, 0x65, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f,
  2607  	0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42,
  2608  	0x33, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c,
  2609  	0x65, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
  2610  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64,
  2611  	0x56, 0x69, 0x65, 0x77, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64,
  2612  	0x56, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f,
  2613  	0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
  2614  	0x52, 0x0c, 0x61, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1c,
  2615  	0x0a, 0x07, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42,
  2616  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x10,
  2617  	0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
  2618  	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2619  	0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x77, 0x46,
  2620  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65,
  2621  	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0e, 0x74, 0x72, 0x75, 0x65, 0x5f, 0x6d,
  2622  	0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
  2623  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65,
  2624  	0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x74, 0x72,
  2625  	0x75, 0x65, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x66,
  2626  	0x61, 0x6c, 0x73, 0x65, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05,
  2627  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69,
  2628  	0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69,
  2629  	0x6f, 0x6e, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f,
  2630  	0x6e, 0x73, 0x22, 0x48, 0x0a, 0x19, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x6e, 0x64, 0x4d, 0x75,
  2631  	0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
  2632  	0x2b, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x74,
  2633  	0x63, 0x68, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x72, 0x65, 0x64,
  2634  	0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x22, 0x7d, 0x0a, 0x12,
  2635  	0x50, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x64, 0x57, 0x61, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65,
  2636  	0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  2637  	0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62,
  2638  	0x6c, 0x65, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  2639  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52,
  2640  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f,
  2641  	0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61,
  2642  	0x70, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x50,
  2643  	0x69, 0x6e, 0x67, 0x41, 0x6e, 0x64, 0x57, 0x61, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  2644  	0x73, 0x65, 0x22, 0xd5, 0x02, 0x0a, 0x19, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66,
  2645  	0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  2646  	0x12, 0x49, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
  2647  	0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x62, 0x69,
  2648  	0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2649  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x62, 0x6c, 0x65,
  2650  	0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x61,
  2651  	0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e,
  2652  	0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x01, 0xfa, 0x41,
  2653  	0x2d, 0x0a, 0x2b, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6d, 0x69, 0x6e,
  2654  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  2655  	0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x52, 0x12,
  2656  	0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x4e, 0x61,
  2657  	0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c,
  2658  	0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x50,
  2659  	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x5f,
  2660  	0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06,
  2661  	0x72, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18,
  2662  	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62,
  2663  	0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4d,
  2664  	0x6f, 0x64, 0x69, 0x66, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03,
  2665  	0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x1a, 0x52, 0x65,
  2666  	0x61, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x6f, 0x77,
  2667  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x03, 0x72, 0x6f, 0x77, 0x18,
  2668  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62,
  2669  	0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x03,
  2670  	0x72, 0x6f, 0x77, 0x22, 0x9f, 0x01, 0x0a, 0x2c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65,
  2671  	0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x72,
  2672  	0x65, 0x61, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71,
  2673  	0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61,
  2674  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24,
  2675  	0x0a, 0x22, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
  2676  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54,
  2677  	0x61, 0x62, 0x6c, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
  2678  	0x24, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69,
  2679  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x66,
  2680  	0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x72, 0x0a, 0x2d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  2681  	0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74,
  2682  	0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
  2683  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74,
  2684  	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2685  	0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53,
  2686  	0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09,
  2687  	0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfa, 0x03, 0x0a, 0x17, 0x52, 0x65,
  2688  	0x61, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65,
  2689  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e,
  2690  	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41,
  2691  	0x24, 0x0a, 0x22, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6d, 0x69, 0x6e,
  2692  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  2693  	0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65,
  2694  	0x12, 0x24, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
  2695  	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x50, 0x72, 0x6f,
  2696  	0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74,
  2697  	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2698  	0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53,
  2699  	0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09,
  2700  	0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x61,
  2701  	0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  2702  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2703  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x61,
  2704  	0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
  2705  	0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x06, 0x20,
  2706  	0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67,
  2707  	0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43,
  2708  	0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
  2709  	0x73, 0x48, 0x00, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f,
  2710  	0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74,
  2711  	0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2712  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
  2713  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48,
  2714  	0x0a, 0x12, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61,
  2715  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
  2716  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
  2717  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74,
  2718  	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72,
  2719  	0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x22, 0xd1, 0x0c, 0x0a, 0x18, 0x52, 0x65, 0x61, 0x64, 0x43,
  2720  	0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f,
  2721  	0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6e,
  2722  	0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2723  	0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65,
  2724  	0x61, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65,
  2725  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67,
  2726  	0x65, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12,
  2727  	0x56, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01,
  2728  	0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74,
  2729  	0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x43, 0x68, 0x61, 0x6e,
  2730  	0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  2731  	0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x48, 0x00, 0x52, 0x09, 0x68, 0x65,
  2732  	0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x5d, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x65,
  2733  	0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e,
  2734  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e,
  2735  	0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x72,
  2736  	0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x73,
  2737  	0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x65,
  2738  	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0xbb, 0x02, 0x0a, 0x0d, 0x4d, 0x75, 0x74, 0x61, 0x74,
  2739  	0x69, 0x6f, 0x6e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x63, 0x0a, 0x0a, 0x63, 0x68, 0x75, 0x6e,
  2740  	0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67,
  2741  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76,
  2742  	0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65,
  2743  	0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74,
  2744  	0x69, 0x6f, 0x6e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x2e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x49, 0x6e,
  2745  	0x66, 0x6f, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a,
  2746  	0x08, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2747  	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c,
  2748  	0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6d,
  2749  	0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x8a, 0x01, 0x0a, 0x09, 0x43, 0x68, 0x75, 0x6e,
  2750  	0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64,
  2751  	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  2752  	0x05, 0x52, 0x10, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53,
  2753  	0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x76,
  2754  	0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
  2755  	0x05, 0x52, 0x12, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f,
  2756  	0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x68,
  2757  	0x75, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x43,
  2758  	0x68, 0x75, 0x6e, 0x6b, 0x1a, 0xae, 0x04, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61,
  2759  	0x6e, 0x67, 0x65, 0x12, 0x50, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  2760  	0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61,
  2761  	0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67,
  2762  	0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
  2763  	0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52,
  2764  	0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
  2765  	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  2766  	0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
  2767  	0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01,
  2768  	0x28, 0x0c, 0x52, 0x06, 0x72, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x6f,
  2769  	0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04,
  2770  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2771  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  2772  	0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
  2773  	0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x65, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x18,
  2774  	0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x65, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65,
  2775  	0x72, 0x12, 0x52, 0x0a, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
  2776  	0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61,
  2777  	0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67,
  2778  	0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
  2779  	0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x06, 0x63,
  2780  	0x68, 0x75, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x08, 0x20,
  2781  	0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b,
  2782  	0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
  2783  	0x52, 0x0a, 0x17, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x77,
  2784  	0x5f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
  2785  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2786  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x15, 0x65, 0x73,
  2787  	0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x6f, 0x77, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d,
  2788  	0x61, 0x72, 0x6b, 0x22, 0x50, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54,
  2789  	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
  2790  	0x00, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x47,
  2791  	0x41, 0x52, 0x42, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f,
  2792  	0x4e, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x41, 0x54,
  2793  	0x49, 0x4f, 0x4e, 0x10, 0x03, 0x1a, 0xbb, 0x01, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62,
  2794  	0x65, 0x61, 0x74, 0x12, 0x5a, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74,
  2795  	0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2796  	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c,
  2797  	0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x69,
  2798  	0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x11, 0x63, 0x6f,
  2799  	0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
  2800  	0x52, 0x0a, 0x17, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x77,
  2801  	0x5f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  2802  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2803  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x15, 0x65, 0x73,
  2804  	0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x6f, 0x77, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d,
  2805  	0x61, 0x72, 0x6b, 0x1a, 0xe3, 0x01, 0x0a, 0x0b, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x74, 0x72,
  2806  	0x65, 0x61, 0x6d, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20,
  2807  	0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63,
  2808  	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
  2809  	0x5c, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  2810  	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
  2811  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76,
  2812  	0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61,
  2813  	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x69,
  2814  	0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x4a, 0x0a,
  2815  	0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
  2816  	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62,
  2817  	0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61,
  2818  	0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x50,
  2819  	0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x73, 0x74, 0x72,
  2820  	0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x32, 0xef, 0x21, 0x0a, 0x08, 0x42,
  2821  	0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0xdb, 0x03, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x64,
  2822  	0x52, 0x6f, 0x77, 0x73, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69,
  2823  	0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f,
  2824  	0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2825  	0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52,
  2826  	0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
  2827  	0x81, 0x03, 0xda, 0x41, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xda,
  2828  	0x41, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x61, 0x70, 0x70,
  2829  	0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02,
  2830  	0x9a, 0x01, 0x22, 0x39, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e,
  2831  	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69,
  2832  	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65,
  2833  	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x3a, 0x01, 0x2a,
  2834  	0x5a, 0x5a, 0x22, 0x55, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
  2835  	0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
  2836  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
  2837  	0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75,
  2838  	0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d,
  2839  	0x3a, 0x72, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93,
  2840  	0x02, 0xb0, 0x01, 0x12, 0x3a, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
  2841  	0x65, 0x12, 0x2c, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
  2842  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
  2843  	0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12,
  2844  	0x10, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69,
  2845  	0x64, 0x12, 0x60, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f,
  2846  	0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x7b, 0x61, 0x75, 0x74, 0x68,
  2847  	0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
  2848  	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74,
  2849  	0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a,
  2850  	0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x73,
  2851  	0x2f, 0x2a, 0x7d, 0x30, 0x01, 0x12, 0xee, 0x03, 0x0a, 0x0d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65,
  2852  	0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2853  	0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x61, 0x6d,
  2854  	0x70, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  2855  	0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61,
  2856  	0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x77,
  2857  	0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85, 0x03, 0xda,
  2858  	0x41, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xda, 0x41, 0x19, 0x74,
  2859  	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72,
  2860  	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9e, 0x01, 0x12,
  2861  	0x3e, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
  2862  	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74,
  2863  	0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a,
  2864  	0x7d, 0x3a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x73, 0x5a,
  2865  	0x5c, 0x12, 0x5a, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a,
  2866  	0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
  2867  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
  2868  	0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75, 0x74,
  2869  	0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x3a,
  2870  	0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x4b, 0x65, 0x79, 0x73, 0x8a, 0xd3, 0xe4,
  2871  	0x93, 0x02, 0xb0, 0x01, 0x12, 0x3a, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61,
  2872  	0x6d, 0x65, 0x12, 0x2c, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
  2873  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61,
  2874  	0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d,
  2875  	0x12, 0x10, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
  2876  	0x69, 0x64, 0x12, 0x60, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64,
  2877  	0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x7b, 0x61, 0x75, 0x74,
  2878  	0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d,
  2879  	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73,
  2880  	0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f,
  2881  	0x2a, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77,
  2882  	0x73, 0x2f, 0x2a, 0x7d, 0x30, 0x01, 0x12, 0x82, 0x04, 0x0a, 0x09, 0x4d, 0x75, 0x74, 0x61, 0x74,
  2883  	0x65, 0x52, 0x6f, 0x77, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69,
  2884  	0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65,
  2885  	0x52, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
  2886  	0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  2887  	0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  2888  	0x65, 0x22, 0xa7, 0x03, 0xda, 0x41, 0x1c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
  2889  	0x65, 0x2c, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69,
  2890  	0x6f, 0x6e, 0x73, 0xda, 0x41, 0x2b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
  2891  	0x2c, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f,
  2892  	0x6e, 0x73, 0x2c, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69,
  2893  	0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9c, 0x01, 0x22, 0x3a, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x74,
  2894  	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  2895  	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a,
  2896  	0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x75, 0x74, 0x61, 0x74,
  2897  	0x65, 0x52, 0x6f, 0x77, 0x3a, 0x01, 0x2a, 0x5a, 0x5b, 0x22, 0x56, 0x2f, 0x76, 0x32, 0x2f, 0x7b,
  2898  	0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f,
  2899  	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
  2900  	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c,
  2901  	0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56,
  2902  	0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f,
  2903  	0x77, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0xb0, 0x01, 0x12, 0x3a, 0x0a, 0x0a, 0x74,
  2904  	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x7b, 0x74, 0x61, 0x62, 0x6c,
  2905  	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  2906  	0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61,
  2907  	0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x10, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f, 0x70,
  2908  	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x60, 0x0a, 0x14, 0x61, 0x75, 0x74,
  2909  	0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d,
  2910  	0x65, 0x12, 0x48, 0x7b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76,
  2911  	0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
  2912  	0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f,
  2913  	0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
  2914  	0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf5, 0x03, 0x0a, 0x0a,
  2915  	0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
  2916  	0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  2917  	0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  2918  	0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61,
  2919  	0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77,
  2920  	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x95, 0x03, 0xda, 0x41, 0x12, 0x74,
  2921  	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65,
  2922  	0x73, 0xda, 0x41, 0x21, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x65,
  2923  	0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x2c, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69,
  2924  	0x6c, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9e, 0x01, 0x22, 0x3b, 0x2f, 0x76,
  2925  	0x32, 0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
  2926  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
  2927  	0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d,
  2928  	0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x5c, 0x22, 0x57,
  2929  	0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f,
  2930  	0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  2931  	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a,
  2932  	0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
  2933  	0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x75, 0x74,
  2934  	0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x73, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0xb0,
  2935  	0x01, 0x12, 0x3a, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12,
  2936  	0x2c, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
  2937  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
  2938  	0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x10, 0x0a,
  2939  	0x0e, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x12,
  2940  	0x60, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69,
  2941  	0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x7b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
  2942  	0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
  2943  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
  2944  	0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61,
  2945  	0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a,
  2946  	0x7d, 0x30, 0x01, 0x12, 0xf6, 0x04, 0x0a, 0x11, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x6e, 0x64,
  2947  	0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2948  	0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43,
  2949  	0x68, 0x65, 0x63, 0x6b, 0x41, 0x6e, 0x64, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77,
  2950  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2951  	0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65,
  2952  	0x63, 0x6b, 0x41, 0x6e, 0x64, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x52, 0x65,
  2953  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x04, 0xda, 0x41, 0x42, 0x74, 0x61, 0x62, 0x6c,
  2954  	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x70,
  2955  	0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2c,
  2956  	0x74, 0x72, 0x75, 0x65, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x66,
  2957  	0x61, 0x6c, 0x73, 0x65, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41,
  2958  	0x51, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x72, 0x6f, 0x77, 0x5f,
  2959  	0x6b, 0x65, 0x79, 0x2c, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69,
  2960  	0x6c, 0x74, 0x65, 0x72, 0x2c, 0x74, 0x72, 0x75, 0x65, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69,
  2961  	0x6f, 0x6e, 0x73, 0x2c, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69,
  2962  	0x6f, 0x6e, 0x73, 0x2c, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
  2963  	0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xac, 0x01, 0x22, 0x42, 0x2f, 0x76, 0x32, 0x2f, 0x7b,
  2964  	0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  2965  	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f,
  2966  	0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x68, 0x65, 0x63,
  2967  	0x6b, 0x41, 0x6e, 0x64, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x3a, 0x01, 0x2a,
  2968  	0x5a, 0x63, 0x22, 0x5e, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
  2969  	0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
  2970  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
  2971  	0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75,
  2972  	0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d,
  2973  	0x3a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x6e, 0x64, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x52,
  2974  	0x6f, 0x77, 0x3a, 0x01, 0x2a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0xb0, 0x01, 0x12, 0x3a, 0x0a, 0x0a,
  2975  	0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x7b, 0x74, 0x61, 0x62,
  2976  	0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  2977  	0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74,
  2978  	0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x10, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f,
  2979  	0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x60, 0x0a, 0x14, 0x61, 0x75,
  2980  	0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61,
  2981  	0x6d, 0x65, 0x12, 0x48, 0x7b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f,
  2982  	0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  2983  	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a,
  2984  	0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
  2985  	0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xee, 0x01, 0x0a,
  2986  	0x0b, 0x50, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x64, 0x57, 0x61, 0x72, 0x6d, 0x12, 0x26, 0x2e, 0x67,
  2987  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76,
  2988  	0x32, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x64, 0x57, 0x61, 0x72, 0x6d, 0x52, 0x65, 0x71,
  2989  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69,
  2990  	0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x41, 0x6e,
  2991  	0x64, 0x57, 0x61, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01,
  2992  	0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xda, 0x41, 0x13, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x61,
  2993  	0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4,
  2994  	0x93, 0x02, 0x2b, 0x22, 0x26, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
  2995  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
  2996  	0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x8a, 0xd3,
  2997  	0xe4, 0x93, 0x02, 0x39, 0x12, 0x25, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x7b, 0x6e,
  2998  	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69,
  2999  	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x10, 0x0a, 0x0e, 0x61,
  3000  	0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x12, 0xa7, 0x04,
  3001  	0x0a, 0x12, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x57, 0x72, 0x69, 0x74,
  3002  	0x65, 0x52, 0x6f, 0x77, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69,
  3003  	0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x6f,
  3004  	0x64, 0x69, 0x66, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75,
  3005  	0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67,
  3006  	0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x6f, 0x64,
  3007  	0x69, 0x66, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f,
  3008  	0x6e, 0x73, 0x65, 0x22, 0xb1, 0x03, 0xda, 0x41, 0x18, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e,
  3009  	0x61, 0x6d, 0x65, 0x2c, 0x72, 0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x72, 0x75, 0x6c, 0x65,
  3010  	0x73, 0xda, 0x41, 0x27, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x72,
  3011  	0x6f, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x61, 0x70, 0x70,
  3012  	0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02,
  3013  	0xae, 0x01, 0x22, 0x43, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e,
  3014  	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69,
  3015  	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65,
  3016  	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x57,
  3017  	0x72, 0x69, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x3a, 0x01, 0x2a, 0x5a, 0x64, 0x22, 0x5f, 0x2f, 0x76,
  3018  	0x32, 0x2f, 0x7b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69,
  3019  	0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  3020  	0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74,
  3021  	0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a,
  3022  	0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x61, 0x64, 0x4d,
  3023  	0x6f, 0x64, 0x69, 0x66, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x6f, 0x77, 0x3a, 0x01, 0x2a,
  3024  	0x8a, 0xd3, 0xe4, 0x93, 0x02, 0xb0, 0x01, 0x12, 0x3a, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65,
  3025  	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61,
  3026  	0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e,
  3027  	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73,
  3028  	0x2f, 0x2a, 0x7d, 0x12, 0x10, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69,
  3029  	0x6c, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x60, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
  3030  	0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x7b,
  3031  	0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f,
  3032  	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
  3033  	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c,
  3034  	0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56,
  3035  	0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbb, 0x02, 0x0a, 0x25, 0x47, 0x65, 0x6e, 0x65,
  3036  	0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67,
  3037  	0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e,
  3038  	0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61,
  3039  	0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49,
  3040  	0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65,
  3041  	0x61, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75,
  3042  	0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67,
  3043  	0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
  3044  	0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74,
  3045  	0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
  3046  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8a, 0x01, 0xda, 0x41, 0x0a, 0x74, 0x61, 0x62, 0x6c,
  3047  	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xda, 0x41, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e,
  3048  	0x61, 0x6d, 0x65, 0x2c, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
  3049  	0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x22, 0x56, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x74,
  3050  	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  3051  	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a,
  3052  	0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72,
  3053  	0x61, 0x74, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
  3054  	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  3055  	0x3a, 0x01, 0x2a, 0x30, 0x01, 0x12, 0xe6, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x61, 0x64, 0x43, 0x68,
  3056  	0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
  3057  	0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e,
  3058  	0x52, 0x65, 0x61, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
  3059  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  3060  	0x2e, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61,
  3061  	0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73,
  3062  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x75, 0xda, 0x41, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f,
  3063  	0x6e, 0x61, 0x6d, 0x65, 0xda, 0x41, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
  3064  	0x65, 0x2c, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64,
  3065  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x22, 0x41, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x74, 0x61, 0x62,
  3066  	0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  3067  	0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x74,
  3068  	0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x61, 0x64, 0x43, 0x68, 0x61,
  3069  	0x6e, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x3a, 0x01, 0x2a, 0x30, 0x01, 0x1a, 0xdb,
  3070  	0x02, 0xca, 0x41, 0x17, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6f,
  3071  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0xbd, 0x02, 0x68,
  3072  	0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3073  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x62,
  3074  	0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x68, 0x74, 0x74,
  3075  	0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
  3076  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x62, 0x69, 0x67,
  3077  	0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f,
  3078  	0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
  3079  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61,
  3080  	0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62,
  3081  	0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f,
  3082  	0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
  3083  	0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x69,
  3084  	0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x64,
  3085  	0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
  3086  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  3087  	0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66,
  3088  	0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
  3089  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61,
  3090  	0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  3091  	0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0xf6, 0x03, 0x0a,
  3092  	0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x67, 0x74,
  3093  	0x61, 0x62, 0x6c, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0d, 0x42, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c,
  3094  	0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  3095  	0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70,
  3096  	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f,
  3097  	0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x62, 0x69, 0x67, 0x74,
  3098  	0x61, 0x62, 0x6c, 0x65, 0xaa, 0x02, 0x18, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c,
  3099  	0x6f, 0x75, 0x64, 0x2e, 0x42, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x56, 0x32, 0xca,
  3100  	0x02, 0x18, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x42,
  3101  	0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x1b, 0x47, 0x6f, 0x6f,
  3102  	0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x42, 0x69, 0x67, 0x74,
  3103  	0x61, 0x62, 0x6c, 0x65, 0x3a, 0x3a, 0x56, 0x32, 0xea, 0x41, 0x50, 0x0a, 0x25, 0x62, 0x69, 0x67,
  3104  	0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3105  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
  3106  	0x63, 0x65, 0x12, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
  3107  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73,
  3108  	0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0xea, 0x41, 0x5c, 0x0a, 0x22,
  3109  	0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f,
  3110  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x62,
  3111  	0x6c, 0x65, 0x12, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
  3112  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73,
  3113  	0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x61, 0x62, 0x6c,
  3114  	0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x7d, 0xea, 0x41, 0x87, 0x01, 0x0a, 0x2b,
  3115  	0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f,
  3116  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x74,
  3117  	0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x12, 0x58, 0x70, 0x72, 0x6f,
  3118  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f,
  3119  	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61,
  3120  	0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x62,
  3121  	0x6c, 0x65, 0x7d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69,
  3122  	0x65, 0x77, 0x73, 0x2f, 0x7b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f,
  3123  	0x76, 0x69, 0x65, 0x77, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  3124  }
  3125  
  3126  var (
  3127  	file_google_bigtable_v2_bigtable_proto_rawDescOnce sync.Once
  3128  	file_google_bigtable_v2_bigtable_proto_rawDescData = file_google_bigtable_v2_bigtable_proto_rawDesc
  3129  )
  3130  
  3131  func file_google_bigtable_v2_bigtable_proto_rawDescGZIP() []byte {
  3132  	file_google_bigtable_v2_bigtable_proto_rawDescOnce.Do(func() {
  3133  		file_google_bigtable_v2_bigtable_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_bigtable_v2_bigtable_proto_rawDescData)
  3134  	})
  3135  	return file_google_bigtable_v2_bigtable_proto_rawDescData
  3136  }
  3137  
  3138  var file_google_bigtable_v2_bigtable_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  3139  var file_google_bigtable_v2_bigtable_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
  3140  var file_google_bigtable_v2_bigtable_proto_goTypes = []interface{}{
  3141  	(ReadRowsRequest_RequestStatsView)(0),                    // 0: google.bigtable.v2.ReadRowsRequest.RequestStatsView
  3142  	(ReadChangeStreamResponse_DataChange_Type)(0),            // 1: google.bigtable.v2.ReadChangeStreamResponse.DataChange.Type
  3143  	(*ReadRowsRequest)(nil),                                  // 2: google.bigtable.v2.ReadRowsRequest
  3144  	(*ReadRowsResponse)(nil),                                 // 3: google.bigtable.v2.ReadRowsResponse
  3145  	(*SampleRowKeysRequest)(nil),                             // 4: google.bigtable.v2.SampleRowKeysRequest
  3146  	(*SampleRowKeysResponse)(nil),                            // 5: google.bigtable.v2.SampleRowKeysResponse
  3147  	(*MutateRowRequest)(nil),                                 // 6: google.bigtable.v2.MutateRowRequest
  3148  	(*MutateRowResponse)(nil),                                // 7: google.bigtable.v2.MutateRowResponse
  3149  	(*MutateRowsRequest)(nil),                                // 8: google.bigtable.v2.MutateRowsRequest
  3150  	(*MutateRowsResponse)(nil),                               // 9: google.bigtable.v2.MutateRowsResponse
  3151  	(*RateLimitInfo)(nil),                                    // 10: google.bigtable.v2.RateLimitInfo
  3152  	(*CheckAndMutateRowRequest)(nil),                         // 11: google.bigtable.v2.CheckAndMutateRowRequest
  3153  	(*CheckAndMutateRowResponse)(nil),                        // 12: google.bigtable.v2.CheckAndMutateRowResponse
  3154  	(*PingAndWarmRequest)(nil),                               // 13: google.bigtable.v2.PingAndWarmRequest
  3155  	(*PingAndWarmResponse)(nil),                              // 14: google.bigtable.v2.PingAndWarmResponse
  3156  	(*ReadModifyWriteRowRequest)(nil),                        // 15: google.bigtable.v2.ReadModifyWriteRowRequest
  3157  	(*ReadModifyWriteRowResponse)(nil),                       // 16: google.bigtable.v2.ReadModifyWriteRowResponse
  3158  	(*GenerateInitialChangeStreamPartitionsRequest)(nil),     // 17: google.bigtable.v2.GenerateInitialChangeStreamPartitionsRequest
  3159  	(*GenerateInitialChangeStreamPartitionsResponse)(nil),    // 18: google.bigtable.v2.GenerateInitialChangeStreamPartitionsResponse
  3160  	(*ReadChangeStreamRequest)(nil),                          // 19: google.bigtable.v2.ReadChangeStreamRequest
  3161  	(*ReadChangeStreamResponse)(nil),                         // 20: google.bigtable.v2.ReadChangeStreamResponse
  3162  	(*ReadRowsResponse_CellChunk)(nil),                       // 21: google.bigtable.v2.ReadRowsResponse.CellChunk
  3163  	(*MutateRowsRequest_Entry)(nil),                          // 22: google.bigtable.v2.MutateRowsRequest.Entry
  3164  	(*MutateRowsResponse_Entry)(nil),                         // 23: google.bigtable.v2.MutateRowsResponse.Entry
  3165  	(*ReadChangeStreamResponse_MutationChunk)(nil),           // 24: google.bigtable.v2.ReadChangeStreamResponse.MutationChunk
  3166  	(*ReadChangeStreamResponse_DataChange)(nil),              // 25: google.bigtable.v2.ReadChangeStreamResponse.DataChange
  3167  	(*ReadChangeStreamResponse_Heartbeat)(nil),               // 26: google.bigtable.v2.ReadChangeStreamResponse.Heartbeat
  3168  	(*ReadChangeStreamResponse_CloseStream)(nil),             // 27: google.bigtable.v2.ReadChangeStreamResponse.CloseStream
  3169  	(*ReadChangeStreamResponse_MutationChunk_ChunkInfo)(nil), // 28: google.bigtable.v2.ReadChangeStreamResponse.MutationChunk.ChunkInfo
  3170  	(*RowSet)(nil),                                           // 29: google.bigtable.v2.RowSet
  3171  	(*RowFilter)(nil),                                        // 30: google.bigtable.v2.RowFilter
  3172  	(*RequestStats)(nil),                                     // 31: google.bigtable.v2.RequestStats
  3173  	(*Mutation)(nil),                                         // 32: google.bigtable.v2.Mutation
  3174  	(*durationpb.Duration)(nil),                              // 33: google.protobuf.Duration
  3175  	(*ReadModifyWriteRule)(nil),                              // 34: google.bigtable.v2.ReadModifyWriteRule
  3176  	(*Row)(nil),                                              // 35: google.bigtable.v2.Row
  3177  	(*StreamPartition)(nil),                                  // 36: google.bigtable.v2.StreamPartition
  3178  	(*timestamppb.Timestamp)(nil),                            // 37: google.protobuf.Timestamp
  3179  	(*StreamContinuationTokens)(nil),                         // 38: google.bigtable.v2.StreamContinuationTokens
  3180  	(*wrapperspb.StringValue)(nil),                           // 39: google.protobuf.StringValue
  3181  	(*wrapperspb.BytesValue)(nil),                            // 40: google.protobuf.BytesValue
  3182  	(*status.Status)(nil),                                    // 41: google.rpc.Status
  3183  	(*StreamContinuationToken)(nil),                          // 42: google.bigtable.v2.StreamContinuationToken
  3184  }
  3185  var file_google_bigtable_v2_bigtable_proto_depIdxs = []int32{
  3186  	29, // 0: google.bigtable.v2.ReadRowsRequest.rows:type_name -> google.bigtable.v2.RowSet
  3187  	30, // 1: google.bigtable.v2.ReadRowsRequest.filter:type_name -> google.bigtable.v2.RowFilter
  3188  	0,  // 2: google.bigtable.v2.ReadRowsRequest.request_stats_view:type_name -> google.bigtable.v2.ReadRowsRequest.RequestStatsView
  3189  	21, // 3: google.bigtable.v2.ReadRowsResponse.chunks:type_name -> google.bigtable.v2.ReadRowsResponse.CellChunk
  3190  	31, // 4: google.bigtable.v2.ReadRowsResponse.request_stats:type_name -> google.bigtable.v2.RequestStats
  3191  	32, // 5: google.bigtable.v2.MutateRowRequest.mutations:type_name -> google.bigtable.v2.Mutation
  3192  	22, // 6: google.bigtable.v2.MutateRowsRequest.entries:type_name -> google.bigtable.v2.MutateRowsRequest.Entry
  3193  	23, // 7: google.bigtable.v2.MutateRowsResponse.entries:type_name -> google.bigtable.v2.MutateRowsResponse.Entry
  3194  	10, // 8: google.bigtable.v2.MutateRowsResponse.rate_limit_info:type_name -> google.bigtable.v2.RateLimitInfo
  3195  	33, // 9: google.bigtable.v2.RateLimitInfo.period:type_name -> google.protobuf.Duration
  3196  	30, // 10: google.bigtable.v2.CheckAndMutateRowRequest.predicate_filter:type_name -> google.bigtable.v2.RowFilter
  3197  	32, // 11: google.bigtable.v2.CheckAndMutateRowRequest.true_mutations:type_name -> google.bigtable.v2.Mutation
  3198  	32, // 12: google.bigtable.v2.CheckAndMutateRowRequest.false_mutations:type_name -> google.bigtable.v2.Mutation
  3199  	34, // 13: google.bigtable.v2.ReadModifyWriteRowRequest.rules:type_name -> google.bigtable.v2.ReadModifyWriteRule
  3200  	35, // 14: google.bigtable.v2.ReadModifyWriteRowResponse.row:type_name -> google.bigtable.v2.Row
  3201  	36, // 15: google.bigtable.v2.GenerateInitialChangeStreamPartitionsResponse.partition:type_name -> google.bigtable.v2.StreamPartition
  3202  	36, // 16: google.bigtable.v2.ReadChangeStreamRequest.partition:type_name -> google.bigtable.v2.StreamPartition
  3203  	37, // 17: google.bigtable.v2.ReadChangeStreamRequest.start_time:type_name -> google.protobuf.Timestamp
  3204  	38, // 18: google.bigtable.v2.ReadChangeStreamRequest.continuation_tokens:type_name -> google.bigtable.v2.StreamContinuationTokens
  3205  	37, // 19: google.bigtable.v2.ReadChangeStreamRequest.end_time:type_name -> google.protobuf.Timestamp
  3206  	33, // 20: google.bigtable.v2.ReadChangeStreamRequest.heartbeat_duration:type_name -> google.protobuf.Duration
  3207  	25, // 21: google.bigtable.v2.ReadChangeStreamResponse.data_change:type_name -> google.bigtable.v2.ReadChangeStreamResponse.DataChange
  3208  	26, // 22: google.bigtable.v2.ReadChangeStreamResponse.heartbeat:type_name -> google.bigtable.v2.ReadChangeStreamResponse.Heartbeat
  3209  	27, // 23: google.bigtable.v2.ReadChangeStreamResponse.close_stream:type_name -> google.bigtable.v2.ReadChangeStreamResponse.CloseStream
  3210  	39, // 24: google.bigtable.v2.ReadRowsResponse.CellChunk.family_name:type_name -> google.protobuf.StringValue
  3211  	40, // 25: google.bigtable.v2.ReadRowsResponse.CellChunk.qualifier:type_name -> google.protobuf.BytesValue
  3212  	32, // 26: google.bigtable.v2.MutateRowsRequest.Entry.mutations:type_name -> google.bigtable.v2.Mutation
  3213  	41, // 27: google.bigtable.v2.MutateRowsResponse.Entry.status:type_name -> google.rpc.Status
  3214  	28, // 28: google.bigtable.v2.ReadChangeStreamResponse.MutationChunk.chunk_info:type_name -> google.bigtable.v2.ReadChangeStreamResponse.MutationChunk.ChunkInfo
  3215  	32, // 29: google.bigtable.v2.ReadChangeStreamResponse.MutationChunk.mutation:type_name -> google.bigtable.v2.Mutation
  3216  	1,  // 30: google.bigtable.v2.ReadChangeStreamResponse.DataChange.type:type_name -> google.bigtable.v2.ReadChangeStreamResponse.DataChange.Type
  3217  	37, // 31: google.bigtable.v2.ReadChangeStreamResponse.DataChange.commit_timestamp:type_name -> google.protobuf.Timestamp
  3218  	24, // 32: google.bigtable.v2.ReadChangeStreamResponse.DataChange.chunks:type_name -> google.bigtable.v2.ReadChangeStreamResponse.MutationChunk
  3219  	37, // 33: google.bigtable.v2.ReadChangeStreamResponse.DataChange.estimated_low_watermark:type_name -> google.protobuf.Timestamp
  3220  	42, // 34: google.bigtable.v2.ReadChangeStreamResponse.Heartbeat.continuation_token:type_name -> google.bigtable.v2.StreamContinuationToken
  3221  	37, // 35: google.bigtable.v2.ReadChangeStreamResponse.Heartbeat.estimated_low_watermark:type_name -> google.protobuf.Timestamp
  3222  	41, // 36: google.bigtable.v2.ReadChangeStreamResponse.CloseStream.status:type_name -> google.rpc.Status
  3223  	42, // 37: google.bigtable.v2.ReadChangeStreamResponse.CloseStream.continuation_tokens:type_name -> google.bigtable.v2.StreamContinuationToken
  3224  	36, // 38: google.bigtable.v2.ReadChangeStreamResponse.CloseStream.new_partitions:type_name -> google.bigtable.v2.StreamPartition
  3225  	2,  // 39: google.bigtable.v2.Bigtable.ReadRows:input_type -> google.bigtable.v2.ReadRowsRequest
  3226  	4,  // 40: google.bigtable.v2.Bigtable.SampleRowKeys:input_type -> google.bigtable.v2.SampleRowKeysRequest
  3227  	6,  // 41: google.bigtable.v2.Bigtable.MutateRow:input_type -> google.bigtable.v2.MutateRowRequest
  3228  	8,  // 42: google.bigtable.v2.Bigtable.MutateRows:input_type -> google.bigtable.v2.MutateRowsRequest
  3229  	11, // 43: google.bigtable.v2.Bigtable.CheckAndMutateRow:input_type -> google.bigtable.v2.CheckAndMutateRowRequest
  3230  	13, // 44: google.bigtable.v2.Bigtable.PingAndWarm:input_type -> google.bigtable.v2.PingAndWarmRequest
  3231  	15, // 45: google.bigtable.v2.Bigtable.ReadModifyWriteRow:input_type -> google.bigtable.v2.ReadModifyWriteRowRequest
  3232  	17, // 46: google.bigtable.v2.Bigtable.GenerateInitialChangeStreamPartitions:input_type -> google.bigtable.v2.GenerateInitialChangeStreamPartitionsRequest
  3233  	19, // 47: google.bigtable.v2.Bigtable.ReadChangeStream:input_type -> google.bigtable.v2.ReadChangeStreamRequest
  3234  	3,  // 48: google.bigtable.v2.Bigtable.ReadRows:output_type -> google.bigtable.v2.ReadRowsResponse
  3235  	5,  // 49: google.bigtable.v2.Bigtable.SampleRowKeys:output_type -> google.bigtable.v2.SampleRowKeysResponse
  3236  	7,  // 50: google.bigtable.v2.Bigtable.MutateRow:output_type -> google.bigtable.v2.MutateRowResponse
  3237  	9,  // 51: google.bigtable.v2.Bigtable.MutateRows:output_type -> google.bigtable.v2.MutateRowsResponse
  3238  	12, // 52: google.bigtable.v2.Bigtable.CheckAndMutateRow:output_type -> google.bigtable.v2.CheckAndMutateRowResponse
  3239  	14, // 53: google.bigtable.v2.Bigtable.PingAndWarm:output_type -> google.bigtable.v2.PingAndWarmResponse
  3240  	16, // 54: google.bigtable.v2.Bigtable.ReadModifyWriteRow:output_type -> google.bigtable.v2.ReadModifyWriteRowResponse
  3241  	18, // 55: google.bigtable.v2.Bigtable.GenerateInitialChangeStreamPartitions:output_type -> google.bigtable.v2.GenerateInitialChangeStreamPartitionsResponse
  3242  	20, // 56: google.bigtable.v2.Bigtable.ReadChangeStream:output_type -> google.bigtable.v2.ReadChangeStreamResponse
  3243  	48, // [48:57] is the sub-list for method output_type
  3244  	39, // [39:48] is the sub-list for method input_type
  3245  	39, // [39:39] is the sub-list for extension type_name
  3246  	39, // [39:39] is the sub-list for extension extendee
  3247  	0,  // [0:39] is the sub-list for field type_name
  3248  }
  3249  
  3250  func init() { file_google_bigtable_v2_bigtable_proto_init() }
  3251  func file_google_bigtable_v2_bigtable_proto_init() {
  3252  	if File_google_bigtable_v2_bigtable_proto != nil {
  3253  		return
  3254  	}
  3255  	file_google_bigtable_v2_data_proto_init()
  3256  	file_google_bigtable_v2_request_stats_proto_init()
  3257  	if !protoimpl.UnsafeEnabled {
  3258  		file_google_bigtable_v2_bigtable_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  3259  			switch v := v.(*ReadRowsRequest); i {
  3260  			case 0:
  3261  				return &v.state
  3262  			case 1:
  3263  				return &v.sizeCache
  3264  			case 2:
  3265  				return &v.unknownFields
  3266  			default:
  3267  				return nil
  3268  			}
  3269  		}
  3270  		file_google_bigtable_v2_bigtable_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  3271  			switch v := v.(*ReadRowsResponse); i {
  3272  			case 0:
  3273  				return &v.state
  3274  			case 1:
  3275  				return &v.sizeCache
  3276  			case 2:
  3277  				return &v.unknownFields
  3278  			default:
  3279  				return nil
  3280  			}
  3281  		}
  3282  		file_google_bigtable_v2_bigtable_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  3283  			switch v := v.(*SampleRowKeysRequest); i {
  3284  			case 0:
  3285  				return &v.state
  3286  			case 1:
  3287  				return &v.sizeCache
  3288  			case 2:
  3289  				return &v.unknownFields
  3290  			default:
  3291  				return nil
  3292  			}
  3293  		}
  3294  		file_google_bigtable_v2_bigtable_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  3295  			switch v := v.(*SampleRowKeysResponse); i {
  3296  			case 0:
  3297  				return &v.state
  3298  			case 1:
  3299  				return &v.sizeCache
  3300  			case 2:
  3301  				return &v.unknownFields
  3302  			default:
  3303  				return nil
  3304  			}
  3305  		}
  3306  		file_google_bigtable_v2_bigtable_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  3307  			switch v := v.(*MutateRowRequest); i {
  3308  			case 0:
  3309  				return &v.state
  3310  			case 1:
  3311  				return &v.sizeCache
  3312  			case 2:
  3313  				return &v.unknownFields
  3314  			default:
  3315  				return nil
  3316  			}
  3317  		}
  3318  		file_google_bigtable_v2_bigtable_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  3319  			switch v := v.(*MutateRowResponse); i {
  3320  			case 0:
  3321  				return &v.state
  3322  			case 1:
  3323  				return &v.sizeCache
  3324  			case 2:
  3325  				return &v.unknownFields
  3326  			default:
  3327  				return nil
  3328  			}
  3329  		}
  3330  		file_google_bigtable_v2_bigtable_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  3331  			switch v := v.(*MutateRowsRequest); i {
  3332  			case 0:
  3333  				return &v.state
  3334  			case 1:
  3335  				return &v.sizeCache
  3336  			case 2:
  3337  				return &v.unknownFields
  3338  			default:
  3339  				return nil
  3340  			}
  3341  		}
  3342  		file_google_bigtable_v2_bigtable_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  3343  			switch v := v.(*MutateRowsResponse); i {
  3344  			case 0:
  3345  				return &v.state
  3346  			case 1:
  3347  				return &v.sizeCache
  3348  			case 2:
  3349  				return &v.unknownFields
  3350  			default:
  3351  				return nil
  3352  			}
  3353  		}
  3354  		file_google_bigtable_v2_bigtable_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  3355  			switch v := v.(*RateLimitInfo); i {
  3356  			case 0:
  3357  				return &v.state
  3358  			case 1:
  3359  				return &v.sizeCache
  3360  			case 2:
  3361  				return &v.unknownFields
  3362  			default:
  3363  				return nil
  3364  			}
  3365  		}
  3366  		file_google_bigtable_v2_bigtable_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  3367  			switch v := v.(*CheckAndMutateRowRequest); i {
  3368  			case 0:
  3369  				return &v.state
  3370  			case 1:
  3371  				return &v.sizeCache
  3372  			case 2:
  3373  				return &v.unknownFields
  3374  			default:
  3375  				return nil
  3376  			}
  3377  		}
  3378  		file_google_bigtable_v2_bigtable_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  3379  			switch v := v.(*CheckAndMutateRowResponse); i {
  3380  			case 0:
  3381  				return &v.state
  3382  			case 1:
  3383  				return &v.sizeCache
  3384  			case 2:
  3385  				return &v.unknownFields
  3386  			default:
  3387  				return nil
  3388  			}
  3389  		}
  3390  		file_google_bigtable_v2_bigtable_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  3391  			switch v := v.(*PingAndWarmRequest); i {
  3392  			case 0:
  3393  				return &v.state
  3394  			case 1:
  3395  				return &v.sizeCache
  3396  			case 2:
  3397  				return &v.unknownFields
  3398  			default:
  3399  				return nil
  3400  			}
  3401  		}
  3402  		file_google_bigtable_v2_bigtable_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  3403  			switch v := v.(*PingAndWarmResponse); i {
  3404  			case 0:
  3405  				return &v.state
  3406  			case 1:
  3407  				return &v.sizeCache
  3408  			case 2:
  3409  				return &v.unknownFields
  3410  			default:
  3411  				return nil
  3412  			}
  3413  		}
  3414  		file_google_bigtable_v2_bigtable_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  3415  			switch v := v.(*ReadModifyWriteRowRequest); i {
  3416  			case 0:
  3417  				return &v.state
  3418  			case 1:
  3419  				return &v.sizeCache
  3420  			case 2:
  3421  				return &v.unknownFields
  3422  			default:
  3423  				return nil
  3424  			}
  3425  		}
  3426  		file_google_bigtable_v2_bigtable_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  3427  			switch v := v.(*ReadModifyWriteRowResponse); i {
  3428  			case 0:
  3429  				return &v.state
  3430  			case 1:
  3431  				return &v.sizeCache
  3432  			case 2:
  3433  				return &v.unknownFields
  3434  			default:
  3435  				return nil
  3436  			}
  3437  		}
  3438  		file_google_bigtable_v2_bigtable_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  3439  			switch v := v.(*GenerateInitialChangeStreamPartitionsRequest); i {
  3440  			case 0:
  3441  				return &v.state
  3442  			case 1:
  3443  				return &v.sizeCache
  3444  			case 2:
  3445  				return &v.unknownFields
  3446  			default:
  3447  				return nil
  3448  			}
  3449  		}
  3450  		file_google_bigtable_v2_bigtable_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  3451  			switch v := v.(*GenerateInitialChangeStreamPartitionsResponse); i {
  3452  			case 0:
  3453  				return &v.state
  3454  			case 1:
  3455  				return &v.sizeCache
  3456  			case 2:
  3457  				return &v.unknownFields
  3458  			default:
  3459  				return nil
  3460  			}
  3461  		}
  3462  		file_google_bigtable_v2_bigtable_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  3463  			switch v := v.(*ReadChangeStreamRequest); i {
  3464  			case 0:
  3465  				return &v.state
  3466  			case 1:
  3467  				return &v.sizeCache
  3468  			case 2:
  3469  				return &v.unknownFields
  3470  			default:
  3471  				return nil
  3472  			}
  3473  		}
  3474  		file_google_bigtable_v2_bigtable_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  3475  			switch v := v.(*ReadChangeStreamResponse); i {
  3476  			case 0:
  3477  				return &v.state
  3478  			case 1:
  3479  				return &v.sizeCache
  3480  			case 2:
  3481  				return &v.unknownFields
  3482  			default:
  3483  				return nil
  3484  			}
  3485  		}
  3486  		file_google_bigtable_v2_bigtable_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  3487  			switch v := v.(*ReadRowsResponse_CellChunk); i {
  3488  			case 0:
  3489  				return &v.state
  3490  			case 1:
  3491  				return &v.sizeCache
  3492  			case 2:
  3493  				return &v.unknownFields
  3494  			default:
  3495  				return nil
  3496  			}
  3497  		}
  3498  		file_google_bigtable_v2_bigtable_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  3499  			switch v := v.(*MutateRowsRequest_Entry); i {
  3500  			case 0:
  3501  				return &v.state
  3502  			case 1:
  3503  				return &v.sizeCache
  3504  			case 2:
  3505  				return &v.unknownFields
  3506  			default:
  3507  				return nil
  3508  			}
  3509  		}
  3510  		file_google_bigtable_v2_bigtable_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  3511  			switch v := v.(*MutateRowsResponse_Entry); i {
  3512  			case 0:
  3513  				return &v.state
  3514  			case 1:
  3515  				return &v.sizeCache
  3516  			case 2:
  3517  				return &v.unknownFields
  3518  			default:
  3519  				return nil
  3520  			}
  3521  		}
  3522  		file_google_bigtable_v2_bigtable_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  3523  			switch v := v.(*ReadChangeStreamResponse_MutationChunk); i {
  3524  			case 0:
  3525  				return &v.state
  3526  			case 1:
  3527  				return &v.sizeCache
  3528  			case 2:
  3529  				return &v.unknownFields
  3530  			default:
  3531  				return nil
  3532  			}
  3533  		}
  3534  		file_google_bigtable_v2_bigtable_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  3535  			switch v := v.(*ReadChangeStreamResponse_DataChange); i {
  3536  			case 0:
  3537  				return &v.state
  3538  			case 1:
  3539  				return &v.sizeCache
  3540  			case 2:
  3541  				return &v.unknownFields
  3542  			default:
  3543  				return nil
  3544  			}
  3545  		}
  3546  		file_google_bigtable_v2_bigtable_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  3547  			switch v := v.(*ReadChangeStreamResponse_Heartbeat); i {
  3548  			case 0:
  3549  				return &v.state
  3550  			case 1:
  3551  				return &v.sizeCache
  3552  			case 2:
  3553  				return &v.unknownFields
  3554  			default:
  3555  				return nil
  3556  			}
  3557  		}
  3558  		file_google_bigtable_v2_bigtable_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  3559  			switch v := v.(*ReadChangeStreamResponse_CloseStream); i {
  3560  			case 0:
  3561  				return &v.state
  3562  			case 1:
  3563  				return &v.sizeCache
  3564  			case 2:
  3565  				return &v.unknownFields
  3566  			default:
  3567  				return nil
  3568  			}
  3569  		}
  3570  		file_google_bigtable_v2_bigtable_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  3571  			switch v := v.(*ReadChangeStreamResponse_MutationChunk_ChunkInfo); i {
  3572  			case 0:
  3573  				return &v.state
  3574  			case 1:
  3575  				return &v.sizeCache
  3576  			case 2:
  3577  				return &v.unknownFields
  3578  			default:
  3579  				return nil
  3580  			}
  3581  		}
  3582  	}
  3583  	file_google_bigtable_v2_bigtable_proto_msgTypes[7].OneofWrappers = []interface{}{}
  3584  	file_google_bigtable_v2_bigtable_proto_msgTypes[17].OneofWrappers = []interface{}{
  3585  		(*ReadChangeStreamRequest_StartTime)(nil),
  3586  		(*ReadChangeStreamRequest_ContinuationTokens)(nil),
  3587  	}
  3588  	file_google_bigtable_v2_bigtable_proto_msgTypes[18].OneofWrappers = []interface{}{
  3589  		(*ReadChangeStreamResponse_DataChange_)(nil),
  3590  		(*ReadChangeStreamResponse_Heartbeat_)(nil),
  3591  		(*ReadChangeStreamResponse_CloseStream_)(nil),
  3592  	}
  3593  	file_google_bigtable_v2_bigtable_proto_msgTypes[19].OneofWrappers = []interface{}{
  3594  		(*ReadRowsResponse_CellChunk_ResetRow)(nil),
  3595  		(*ReadRowsResponse_CellChunk_CommitRow)(nil),
  3596  	}
  3597  	type x struct{}
  3598  	out := protoimpl.TypeBuilder{
  3599  		File: protoimpl.DescBuilder{
  3600  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  3601  			RawDescriptor: file_google_bigtable_v2_bigtable_proto_rawDesc,
  3602  			NumEnums:      2,
  3603  			NumMessages:   27,
  3604  			NumExtensions: 0,
  3605  			NumServices:   1,
  3606  		},
  3607  		GoTypes:           file_google_bigtable_v2_bigtable_proto_goTypes,
  3608  		DependencyIndexes: file_google_bigtable_v2_bigtable_proto_depIdxs,
  3609  		EnumInfos:         file_google_bigtable_v2_bigtable_proto_enumTypes,
  3610  		MessageInfos:      file_google_bigtable_v2_bigtable_proto_msgTypes,
  3611  	}.Build()
  3612  	File_google_bigtable_v2_bigtable_proto = out.File
  3613  	file_google_bigtable_v2_bigtable_proto_rawDesc = nil
  3614  	file_google_bigtable_v2_bigtable_proto_goTypes = nil
  3615  	file_google_bigtable_v2_bigtable_proto_depIdxs = nil
  3616  }
  3617  
  3618  // Reference imports to suppress errors if they are not otherwise used.
  3619  var _ context.Context
  3620  var _ grpc.ClientConnInterface
  3621  
  3622  // This is a compile-time assertion to ensure that this generated file
  3623  // is compatible with the grpc package it is being compiled against.
  3624  const _ = grpc.SupportPackageIsVersion6
  3625  
  3626  // BigtableClient is the client API for Bigtable service.
  3627  //
  3628  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  3629  type BigtableClient interface {
  3630  	// Streams back the contents of all requested rows in key order, optionally
  3631  	// applying the same Reader filter to each. Depending on their size,
  3632  	// rows and cells may be broken up across multiple responses, but
  3633  	// atomicity of each row will still be preserved. See the
  3634  	// ReadRowsResponse documentation for details.
  3635  	ReadRows(ctx context.Context, in *ReadRowsRequest, opts ...grpc.CallOption) (Bigtable_ReadRowsClient, error)
  3636  	// Returns a sample of row keys in the table. The returned row keys will
  3637  	// delimit contiguous sections of the table of approximately equal size,
  3638  	// which can be used to break up the data for distributed tasks like
  3639  	// mapreduces.
  3640  	SampleRowKeys(ctx context.Context, in *SampleRowKeysRequest, opts ...grpc.CallOption) (Bigtable_SampleRowKeysClient, error)
  3641  	// Mutates a row atomically. Cells already present in the row are left
  3642  	// unchanged unless explicitly changed by `mutation`.
  3643  	MutateRow(ctx context.Context, in *MutateRowRequest, opts ...grpc.CallOption) (*MutateRowResponse, error)
  3644  	// Mutates multiple rows in a batch. Each individual row is mutated
  3645  	// atomically as in MutateRow, but the entire batch is not executed
  3646  	// atomically.
  3647  	MutateRows(ctx context.Context, in *MutateRowsRequest, opts ...grpc.CallOption) (Bigtable_MutateRowsClient, error)
  3648  	// Mutates a row atomically based on the output of a predicate Reader filter.
  3649  	CheckAndMutateRow(ctx context.Context, in *CheckAndMutateRowRequest, opts ...grpc.CallOption) (*CheckAndMutateRowResponse, error)
  3650  	// Warm up associated instance metadata for this connection.
  3651  	// This call is not required but may be useful for connection keep-alive.
  3652  	PingAndWarm(ctx context.Context, in *PingAndWarmRequest, opts ...grpc.CallOption) (*PingAndWarmResponse, error)
  3653  	// Modifies a row atomically on the server. The method reads the latest
  3654  	// existing timestamp and value from the specified columns and writes a new
  3655  	// entry based on pre-defined read/modify/write rules. The new value for the
  3656  	// timestamp is the greater of the existing timestamp or the current server
  3657  	// time. The method returns the new contents of all modified cells.
  3658  	ReadModifyWriteRow(ctx context.Context, in *ReadModifyWriteRowRequest, opts ...grpc.CallOption) (*ReadModifyWriteRowResponse, error)
  3659  	// NOTE: This API is intended to be used by Apache Beam BigtableIO.
  3660  	// Returns the current list of partitions that make up the table's
  3661  	// change stream. The union of partitions will cover the entire keyspace.
  3662  	// Partitions can be read with `ReadChangeStream`.
  3663  	GenerateInitialChangeStreamPartitions(ctx context.Context, in *GenerateInitialChangeStreamPartitionsRequest, opts ...grpc.CallOption) (Bigtable_GenerateInitialChangeStreamPartitionsClient, error)
  3664  	// NOTE: This API is intended to be used by Apache Beam BigtableIO.
  3665  	// Reads changes from a table's change stream. Changes will
  3666  	// reflect both user-initiated mutations and mutations that are caused by
  3667  	// garbage collection.
  3668  	ReadChangeStream(ctx context.Context, in *ReadChangeStreamRequest, opts ...grpc.CallOption) (Bigtable_ReadChangeStreamClient, error)
  3669  }
  3670  
  3671  type bigtableClient struct {
  3672  	cc grpc.ClientConnInterface
  3673  }
  3674  
  3675  func NewBigtableClient(cc grpc.ClientConnInterface) BigtableClient {
  3676  	return &bigtableClient{cc}
  3677  }
  3678  
  3679  func (c *bigtableClient) ReadRows(ctx context.Context, in *ReadRowsRequest, opts ...grpc.CallOption) (Bigtable_ReadRowsClient, error) {
  3680  	stream, err := c.cc.NewStream(ctx, &_Bigtable_serviceDesc.Streams[0], "/google.bigtable.v2.Bigtable/ReadRows", opts...)
  3681  	if err != nil {
  3682  		return nil, err
  3683  	}
  3684  	x := &bigtableReadRowsClient{stream}
  3685  	if err := x.ClientStream.SendMsg(in); err != nil {
  3686  		return nil, err
  3687  	}
  3688  	if err := x.ClientStream.CloseSend(); err != nil {
  3689  		return nil, err
  3690  	}
  3691  	return x, nil
  3692  }
  3693  
  3694  type Bigtable_ReadRowsClient interface {
  3695  	Recv() (*ReadRowsResponse, error)
  3696  	grpc.ClientStream
  3697  }
  3698  
  3699  type bigtableReadRowsClient struct {
  3700  	grpc.ClientStream
  3701  }
  3702  
  3703  func (x *bigtableReadRowsClient) Recv() (*ReadRowsResponse, error) {
  3704  	m := new(ReadRowsResponse)
  3705  	if err := x.ClientStream.RecvMsg(m); err != nil {
  3706  		return nil, err
  3707  	}
  3708  	return m, nil
  3709  }
  3710  
  3711  func (c *bigtableClient) SampleRowKeys(ctx context.Context, in *SampleRowKeysRequest, opts ...grpc.CallOption) (Bigtable_SampleRowKeysClient, error) {
  3712  	stream, err := c.cc.NewStream(ctx, &_Bigtable_serviceDesc.Streams[1], "/google.bigtable.v2.Bigtable/SampleRowKeys", opts...)
  3713  	if err != nil {
  3714  		return nil, err
  3715  	}
  3716  	x := &bigtableSampleRowKeysClient{stream}
  3717  	if err := x.ClientStream.SendMsg(in); err != nil {
  3718  		return nil, err
  3719  	}
  3720  	if err := x.ClientStream.CloseSend(); err != nil {
  3721  		return nil, err
  3722  	}
  3723  	return x, nil
  3724  }
  3725  
  3726  type Bigtable_SampleRowKeysClient interface {
  3727  	Recv() (*SampleRowKeysResponse, error)
  3728  	grpc.ClientStream
  3729  }
  3730  
  3731  type bigtableSampleRowKeysClient struct {
  3732  	grpc.ClientStream
  3733  }
  3734  
  3735  func (x *bigtableSampleRowKeysClient) Recv() (*SampleRowKeysResponse, error) {
  3736  	m := new(SampleRowKeysResponse)
  3737  	if err := x.ClientStream.RecvMsg(m); err != nil {
  3738  		return nil, err
  3739  	}
  3740  	return m, nil
  3741  }
  3742  
  3743  func (c *bigtableClient) MutateRow(ctx context.Context, in *MutateRowRequest, opts ...grpc.CallOption) (*MutateRowResponse, error) {
  3744  	out := new(MutateRowResponse)
  3745  	err := c.cc.Invoke(ctx, "/google.bigtable.v2.Bigtable/MutateRow", in, out, opts...)
  3746  	if err != nil {
  3747  		return nil, err
  3748  	}
  3749  	return out, nil
  3750  }
  3751  
  3752  func (c *bigtableClient) MutateRows(ctx context.Context, in *MutateRowsRequest, opts ...grpc.CallOption) (Bigtable_MutateRowsClient, error) {
  3753  	stream, err := c.cc.NewStream(ctx, &_Bigtable_serviceDesc.Streams[2], "/google.bigtable.v2.Bigtable/MutateRows", opts...)
  3754  	if err != nil {
  3755  		return nil, err
  3756  	}
  3757  	x := &bigtableMutateRowsClient{stream}
  3758  	if err := x.ClientStream.SendMsg(in); err != nil {
  3759  		return nil, err
  3760  	}
  3761  	if err := x.ClientStream.CloseSend(); err != nil {
  3762  		return nil, err
  3763  	}
  3764  	return x, nil
  3765  }
  3766  
  3767  type Bigtable_MutateRowsClient interface {
  3768  	Recv() (*MutateRowsResponse, error)
  3769  	grpc.ClientStream
  3770  }
  3771  
  3772  type bigtableMutateRowsClient struct {
  3773  	grpc.ClientStream
  3774  }
  3775  
  3776  func (x *bigtableMutateRowsClient) Recv() (*MutateRowsResponse, error) {
  3777  	m := new(MutateRowsResponse)
  3778  	if err := x.ClientStream.RecvMsg(m); err != nil {
  3779  		return nil, err
  3780  	}
  3781  	return m, nil
  3782  }
  3783  
  3784  func (c *bigtableClient) CheckAndMutateRow(ctx context.Context, in *CheckAndMutateRowRequest, opts ...grpc.CallOption) (*CheckAndMutateRowResponse, error) {
  3785  	out := new(CheckAndMutateRowResponse)
  3786  	err := c.cc.Invoke(ctx, "/google.bigtable.v2.Bigtable/CheckAndMutateRow", in, out, opts...)
  3787  	if err != nil {
  3788  		return nil, err
  3789  	}
  3790  	return out, nil
  3791  }
  3792  
  3793  func (c *bigtableClient) PingAndWarm(ctx context.Context, in *PingAndWarmRequest, opts ...grpc.CallOption) (*PingAndWarmResponse, error) {
  3794  	out := new(PingAndWarmResponse)
  3795  	err := c.cc.Invoke(ctx, "/google.bigtable.v2.Bigtable/PingAndWarm", in, out, opts...)
  3796  	if err != nil {
  3797  		return nil, err
  3798  	}
  3799  	return out, nil
  3800  }
  3801  
  3802  func (c *bigtableClient) ReadModifyWriteRow(ctx context.Context, in *ReadModifyWriteRowRequest, opts ...grpc.CallOption) (*ReadModifyWriteRowResponse, error) {
  3803  	out := new(ReadModifyWriteRowResponse)
  3804  	err := c.cc.Invoke(ctx, "/google.bigtable.v2.Bigtable/ReadModifyWriteRow", in, out, opts...)
  3805  	if err != nil {
  3806  		return nil, err
  3807  	}
  3808  	return out, nil
  3809  }
  3810  
  3811  func (c *bigtableClient) GenerateInitialChangeStreamPartitions(ctx context.Context, in *GenerateInitialChangeStreamPartitionsRequest, opts ...grpc.CallOption) (Bigtable_GenerateInitialChangeStreamPartitionsClient, error) {
  3812  	stream, err := c.cc.NewStream(ctx, &_Bigtable_serviceDesc.Streams[3], "/google.bigtable.v2.Bigtable/GenerateInitialChangeStreamPartitions", opts...)
  3813  	if err != nil {
  3814  		return nil, err
  3815  	}
  3816  	x := &bigtableGenerateInitialChangeStreamPartitionsClient{stream}
  3817  	if err := x.ClientStream.SendMsg(in); err != nil {
  3818  		return nil, err
  3819  	}
  3820  	if err := x.ClientStream.CloseSend(); err != nil {
  3821  		return nil, err
  3822  	}
  3823  	return x, nil
  3824  }
  3825  
  3826  type Bigtable_GenerateInitialChangeStreamPartitionsClient interface {
  3827  	Recv() (*GenerateInitialChangeStreamPartitionsResponse, error)
  3828  	grpc.ClientStream
  3829  }
  3830  
  3831  type bigtableGenerateInitialChangeStreamPartitionsClient struct {
  3832  	grpc.ClientStream
  3833  }
  3834  
  3835  func (x *bigtableGenerateInitialChangeStreamPartitionsClient) Recv() (*GenerateInitialChangeStreamPartitionsResponse, error) {
  3836  	m := new(GenerateInitialChangeStreamPartitionsResponse)
  3837  	if err := x.ClientStream.RecvMsg(m); err != nil {
  3838  		return nil, err
  3839  	}
  3840  	return m, nil
  3841  }
  3842  
  3843  func (c *bigtableClient) ReadChangeStream(ctx context.Context, in *ReadChangeStreamRequest, opts ...grpc.CallOption) (Bigtable_ReadChangeStreamClient, error) {
  3844  	stream, err := c.cc.NewStream(ctx, &_Bigtable_serviceDesc.Streams[4], "/google.bigtable.v2.Bigtable/ReadChangeStream", opts...)
  3845  	if err != nil {
  3846  		return nil, err
  3847  	}
  3848  	x := &bigtableReadChangeStreamClient{stream}
  3849  	if err := x.ClientStream.SendMsg(in); err != nil {
  3850  		return nil, err
  3851  	}
  3852  	if err := x.ClientStream.CloseSend(); err != nil {
  3853  		return nil, err
  3854  	}
  3855  	return x, nil
  3856  }
  3857  
  3858  type Bigtable_ReadChangeStreamClient interface {
  3859  	Recv() (*ReadChangeStreamResponse, error)
  3860  	grpc.ClientStream
  3861  }
  3862  
  3863  type bigtableReadChangeStreamClient struct {
  3864  	grpc.ClientStream
  3865  }
  3866  
  3867  func (x *bigtableReadChangeStreamClient) Recv() (*ReadChangeStreamResponse, error) {
  3868  	m := new(ReadChangeStreamResponse)
  3869  	if err := x.ClientStream.RecvMsg(m); err != nil {
  3870  		return nil, err
  3871  	}
  3872  	return m, nil
  3873  }
  3874  
  3875  // BigtableServer is the server API for Bigtable service.
  3876  type BigtableServer interface {
  3877  	// Streams back the contents of all requested rows in key order, optionally
  3878  	// applying the same Reader filter to each. Depending on their size,
  3879  	// rows and cells may be broken up across multiple responses, but
  3880  	// atomicity of each row will still be preserved. See the
  3881  	// ReadRowsResponse documentation for details.
  3882  	ReadRows(*ReadRowsRequest, Bigtable_ReadRowsServer) error
  3883  	// Returns a sample of row keys in the table. The returned row keys will
  3884  	// delimit contiguous sections of the table of approximately equal size,
  3885  	// which can be used to break up the data for distributed tasks like
  3886  	// mapreduces.
  3887  	SampleRowKeys(*SampleRowKeysRequest, Bigtable_SampleRowKeysServer) error
  3888  	// Mutates a row atomically. Cells already present in the row are left
  3889  	// unchanged unless explicitly changed by `mutation`.
  3890  	MutateRow(context.Context, *MutateRowRequest) (*MutateRowResponse, error)
  3891  	// Mutates multiple rows in a batch. Each individual row is mutated
  3892  	// atomically as in MutateRow, but the entire batch is not executed
  3893  	// atomically.
  3894  	MutateRows(*MutateRowsRequest, Bigtable_MutateRowsServer) error
  3895  	// Mutates a row atomically based on the output of a predicate Reader filter.
  3896  	CheckAndMutateRow(context.Context, *CheckAndMutateRowRequest) (*CheckAndMutateRowResponse, error)
  3897  	// Warm up associated instance metadata for this connection.
  3898  	// This call is not required but may be useful for connection keep-alive.
  3899  	PingAndWarm(context.Context, *PingAndWarmRequest) (*PingAndWarmResponse, error)
  3900  	// Modifies a row atomically on the server. The method reads the latest
  3901  	// existing timestamp and value from the specified columns and writes a new
  3902  	// entry based on pre-defined read/modify/write rules. The new value for the
  3903  	// timestamp is the greater of the existing timestamp or the current server
  3904  	// time. The method returns the new contents of all modified cells.
  3905  	ReadModifyWriteRow(context.Context, *ReadModifyWriteRowRequest) (*ReadModifyWriteRowResponse, error)
  3906  	// NOTE: This API is intended to be used by Apache Beam BigtableIO.
  3907  	// Returns the current list of partitions that make up the table's
  3908  	// change stream. The union of partitions will cover the entire keyspace.
  3909  	// Partitions can be read with `ReadChangeStream`.
  3910  	GenerateInitialChangeStreamPartitions(*GenerateInitialChangeStreamPartitionsRequest, Bigtable_GenerateInitialChangeStreamPartitionsServer) error
  3911  	// NOTE: This API is intended to be used by Apache Beam BigtableIO.
  3912  	// Reads changes from a table's change stream. Changes will
  3913  	// reflect both user-initiated mutations and mutations that are caused by
  3914  	// garbage collection.
  3915  	ReadChangeStream(*ReadChangeStreamRequest, Bigtable_ReadChangeStreamServer) error
  3916  }
  3917  
  3918  // UnimplementedBigtableServer can be embedded to have forward compatible implementations.
  3919  type UnimplementedBigtableServer struct {
  3920  }
  3921  
  3922  func (*UnimplementedBigtableServer) ReadRows(*ReadRowsRequest, Bigtable_ReadRowsServer) error {
  3923  	return status1.Errorf(codes.Unimplemented, "method ReadRows not implemented")
  3924  }
  3925  func (*UnimplementedBigtableServer) SampleRowKeys(*SampleRowKeysRequest, Bigtable_SampleRowKeysServer) error {
  3926  	return status1.Errorf(codes.Unimplemented, "method SampleRowKeys not implemented")
  3927  }
  3928  func (*UnimplementedBigtableServer) MutateRow(context.Context, *MutateRowRequest) (*MutateRowResponse, error) {
  3929  	return nil, status1.Errorf(codes.Unimplemented, "method MutateRow not implemented")
  3930  }
  3931  func (*UnimplementedBigtableServer) MutateRows(*MutateRowsRequest, Bigtable_MutateRowsServer) error {
  3932  	return status1.Errorf(codes.Unimplemented, "method MutateRows not implemented")
  3933  }
  3934  func (*UnimplementedBigtableServer) CheckAndMutateRow(context.Context, *CheckAndMutateRowRequest) (*CheckAndMutateRowResponse, error) {
  3935  	return nil, status1.Errorf(codes.Unimplemented, "method CheckAndMutateRow not implemented")
  3936  }
  3937  func (*UnimplementedBigtableServer) PingAndWarm(context.Context, *PingAndWarmRequest) (*PingAndWarmResponse, error) {
  3938  	return nil, status1.Errorf(codes.Unimplemented, "method PingAndWarm not implemented")
  3939  }
  3940  func (*UnimplementedBigtableServer) ReadModifyWriteRow(context.Context, *ReadModifyWriteRowRequest) (*ReadModifyWriteRowResponse, error) {
  3941  	return nil, status1.Errorf(codes.Unimplemented, "method ReadModifyWriteRow not implemented")
  3942  }
  3943  func (*UnimplementedBigtableServer) GenerateInitialChangeStreamPartitions(*GenerateInitialChangeStreamPartitionsRequest, Bigtable_GenerateInitialChangeStreamPartitionsServer) error {
  3944  	return status1.Errorf(codes.Unimplemented, "method GenerateInitialChangeStreamPartitions not implemented")
  3945  }
  3946  func (*UnimplementedBigtableServer) ReadChangeStream(*ReadChangeStreamRequest, Bigtable_ReadChangeStreamServer) error {
  3947  	return status1.Errorf(codes.Unimplemented, "method ReadChangeStream not implemented")
  3948  }
  3949  
  3950  func RegisterBigtableServer(s *grpc.Server, srv BigtableServer) {
  3951  	s.RegisterService(&_Bigtable_serviceDesc, srv)
  3952  }
  3953  
  3954  func _Bigtable_ReadRows_Handler(srv interface{}, stream grpc.ServerStream) error {
  3955  	m := new(ReadRowsRequest)
  3956  	if err := stream.RecvMsg(m); err != nil {
  3957  		return err
  3958  	}
  3959  	return srv.(BigtableServer).ReadRows(m, &bigtableReadRowsServer{stream})
  3960  }
  3961  
  3962  type Bigtable_ReadRowsServer interface {
  3963  	Send(*ReadRowsResponse) error
  3964  	grpc.ServerStream
  3965  }
  3966  
  3967  type bigtableReadRowsServer struct {
  3968  	grpc.ServerStream
  3969  }
  3970  
  3971  func (x *bigtableReadRowsServer) Send(m *ReadRowsResponse) error {
  3972  	return x.ServerStream.SendMsg(m)
  3973  }
  3974  
  3975  func _Bigtable_SampleRowKeys_Handler(srv interface{}, stream grpc.ServerStream) error {
  3976  	m := new(SampleRowKeysRequest)
  3977  	if err := stream.RecvMsg(m); err != nil {
  3978  		return err
  3979  	}
  3980  	return srv.(BigtableServer).SampleRowKeys(m, &bigtableSampleRowKeysServer{stream})
  3981  }
  3982  
  3983  type Bigtable_SampleRowKeysServer interface {
  3984  	Send(*SampleRowKeysResponse) error
  3985  	grpc.ServerStream
  3986  }
  3987  
  3988  type bigtableSampleRowKeysServer struct {
  3989  	grpc.ServerStream
  3990  }
  3991  
  3992  func (x *bigtableSampleRowKeysServer) Send(m *SampleRowKeysResponse) error {
  3993  	return x.ServerStream.SendMsg(m)
  3994  }
  3995  
  3996  func _Bigtable_MutateRow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3997  	in := new(MutateRowRequest)
  3998  	if err := dec(in); err != nil {
  3999  		return nil, err
  4000  	}
  4001  	if interceptor == nil {
  4002  		return srv.(BigtableServer).MutateRow(ctx, in)
  4003  	}
  4004  	info := &grpc.UnaryServerInfo{
  4005  		Server:     srv,
  4006  		FullMethod: "/google.bigtable.v2.Bigtable/MutateRow",
  4007  	}
  4008  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4009  		return srv.(BigtableServer).MutateRow(ctx, req.(*MutateRowRequest))
  4010  	}
  4011  	return interceptor(ctx, in, info, handler)
  4012  }
  4013  
  4014  func _Bigtable_MutateRows_Handler(srv interface{}, stream grpc.ServerStream) error {
  4015  	m := new(MutateRowsRequest)
  4016  	if err := stream.RecvMsg(m); err != nil {
  4017  		return err
  4018  	}
  4019  	return srv.(BigtableServer).MutateRows(m, &bigtableMutateRowsServer{stream})
  4020  }
  4021  
  4022  type Bigtable_MutateRowsServer interface {
  4023  	Send(*MutateRowsResponse) error
  4024  	grpc.ServerStream
  4025  }
  4026  
  4027  type bigtableMutateRowsServer struct {
  4028  	grpc.ServerStream
  4029  }
  4030  
  4031  func (x *bigtableMutateRowsServer) Send(m *MutateRowsResponse) error {
  4032  	return x.ServerStream.SendMsg(m)
  4033  }
  4034  
  4035  func _Bigtable_CheckAndMutateRow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4036  	in := new(CheckAndMutateRowRequest)
  4037  	if err := dec(in); err != nil {
  4038  		return nil, err
  4039  	}
  4040  	if interceptor == nil {
  4041  		return srv.(BigtableServer).CheckAndMutateRow(ctx, in)
  4042  	}
  4043  	info := &grpc.UnaryServerInfo{
  4044  		Server:     srv,
  4045  		FullMethod: "/google.bigtable.v2.Bigtable/CheckAndMutateRow",
  4046  	}
  4047  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4048  		return srv.(BigtableServer).CheckAndMutateRow(ctx, req.(*CheckAndMutateRowRequest))
  4049  	}
  4050  	return interceptor(ctx, in, info, handler)
  4051  }
  4052  
  4053  func _Bigtable_PingAndWarm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4054  	in := new(PingAndWarmRequest)
  4055  	if err := dec(in); err != nil {
  4056  		return nil, err
  4057  	}
  4058  	if interceptor == nil {
  4059  		return srv.(BigtableServer).PingAndWarm(ctx, in)
  4060  	}
  4061  	info := &grpc.UnaryServerInfo{
  4062  		Server:     srv,
  4063  		FullMethod: "/google.bigtable.v2.Bigtable/PingAndWarm",
  4064  	}
  4065  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4066  		return srv.(BigtableServer).PingAndWarm(ctx, req.(*PingAndWarmRequest))
  4067  	}
  4068  	return interceptor(ctx, in, info, handler)
  4069  }
  4070  
  4071  func _Bigtable_ReadModifyWriteRow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  4072  	in := new(ReadModifyWriteRowRequest)
  4073  	if err := dec(in); err != nil {
  4074  		return nil, err
  4075  	}
  4076  	if interceptor == nil {
  4077  		return srv.(BigtableServer).ReadModifyWriteRow(ctx, in)
  4078  	}
  4079  	info := &grpc.UnaryServerInfo{
  4080  		Server:     srv,
  4081  		FullMethod: "/google.bigtable.v2.Bigtable/ReadModifyWriteRow",
  4082  	}
  4083  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  4084  		return srv.(BigtableServer).ReadModifyWriteRow(ctx, req.(*ReadModifyWriteRowRequest))
  4085  	}
  4086  	return interceptor(ctx, in, info, handler)
  4087  }
  4088  
  4089  func _Bigtable_GenerateInitialChangeStreamPartitions_Handler(srv interface{}, stream grpc.ServerStream) error {
  4090  	m := new(GenerateInitialChangeStreamPartitionsRequest)
  4091  	if err := stream.RecvMsg(m); err != nil {
  4092  		return err
  4093  	}
  4094  	return srv.(BigtableServer).GenerateInitialChangeStreamPartitions(m, &bigtableGenerateInitialChangeStreamPartitionsServer{stream})
  4095  }
  4096  
  4097  type Bigtable_GenerateInitialChangeStreamPartitionsServer interface {
  4098  	Send(*GenerateInitialChangeStreamPartitionsResponse) error
  4099  	grpc.ServerStream
  4100  }
  4101  
  4102  type bigtableGenerateInitialChangeStreamPartitionsServer struct {
  4103  	grpc.ServerStream
  4104  }
  4105  
  4106  func (x *bigtableGenerateInitialChangeStreamPartitionsServer) Send(m *GenerateInitialChangeStreamPartitionsResponse) error {
  4107  	return x.ServerStream.SendMsg(m)
  4108  }
  4109  
  4110  func _Bigtable_ReadChangeStream_Handler(srv interface{}, stream grpc.ServerStream) error {
  4111  	m := new(ReadChangeStreamRequest)
  4112  	if err := stream.RecvMsg(m); err != nil {
  4113  		return err
  4114  	}
  4115  	return srv.(BigtableServer).ReadChangeStream(m, &bigtableReadChangeStreamServer{stream})
  4116  }
  4117  
  4118  type Bigtable_ReadChangeStreamServer interface {
  4119  	Send(*ReadChangeStreamResponse) error
  4120  	grpc.ServerStream
  4121  }
  4122  
  4123  type bigtableReadChangeStreamServer struct {
  4124  	grpc.ServerStream
  4125  }
  4126  
  4127  func (x *bigtableReadChangeStreamServer) Send(m *ReadChangeStreamResponse) error {
  4128  	return x.ServerStream.SendMsg(m)
  4129  }
  4130  
  4131  var _Bigtable_serviceDesc = grpc.ServiceDesc{
  4132  	ServiceName: "google.bigtable.v2.Bigtable",
  4133  	HandlerType: (*BigtableServer)(nil),
  4134  	Methods: []grpc.MethodDesc{
  4135  		{
  4136  			MethodName: "MutateRow",
  4137  			Handler:    _Bigtable_MutateRow_Handler,
  4138  		},
  4139  		{
  4140  			MethodName: "CheckAndMutateRow",
  4141  			Handler:    _Bigtable_CheckAndMutateRow_Handler,
  4142  		},
  4143  		{
  4144  			MethodName: "PingAndWarm",
  4145  			Handler:    _Bigtable_PingAndWarm_Handler,
  4146  		},
  4147  		{
  4148  			MethodName: "ReadModifyWriteRow",
  4149  			Handler:    _Bigtable_ReadModifyWriteRow_Handler,
  4150  		},
  4151  	},
  4152  	Streams: []grpc.StreamDesc{
  4153  		{
  4154  			StreamName:    "ReadRows",
  4155  			Handler:       _Bigtable_ReadRows_Handler,
  4156  			ServerStreams: true,
  4157  		},
  4158  		{
  4159  			StreamName:    "SampleRowKeys",
  4160  			Handler:       _Bigtable_SampleRowKeys_Handler,
  4161  			ServerStreams: true,
  4162  		},
  4163  		{
  4164  			StreamName:    "MutateRows",
  4165  			Handler:       _Bigtable_MutateRows_Handler,
  4166  			ServerStreams: true,
  4167  		},
  4168  		{
  4169  			StreamName:    "GenerateInitialChangeStreamPartitions",
  4170  			Handler:       _Bigtable_GenerateInitialChangeStreamPartitions_Handler,
  4171  			ServerStreams: true,
  4172  		},
  4173  		{
  4174  			StreamName:    "ReadChangeStream",
  4175  			Handler:       _Bigtable_ReadChangeStream_Handler,
  4176  			ServerStreams: true,
  4177  		},
  4178  	},
  4179  	Metadata: "google/bigtable/v2/bigtable.proto",
  4180  }
  4181  

View as plain text