vitess.io/vitess@v0.16.2/go/vt/proto/binlogdata/binlogdata.pb.go (about)

     1  //
     2  //Copyright 2019 The Vitess Authors.
     3  //
     4  //Licensed under the Apache License, Version 2.0 (the "License");
     5  //you may not use this file except in compliance with the License.
     6  //You may obtain a copy of the License at
     7  //
     8  //http://www.apache.org/licenses/LICENSE-2.0
     9  //
    10  //Unless required by applicable law or agreed to in writing, software
    11  //distributed under the License is distributed on an "AS IS" BASIS,
    12  //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  //See the License for the specific language governing permissions and
    14  //limitations under the License.
    15  
    16  // This file contains all the types and servers necessary to make
    17  // RPC calls to VtTablet for the binlog protocol, used by filtered
    18  // replication only.
    19  
    20  // Code generated by protoc-gen-go. DO NOT EDIT.
    21  // versions:
    22  // 	protoc-gen-go v1.28.1
    23  // 	protoc        v3.21.3
    24  // source: binlogdata.proto
    25  
    26  package binlogdata
    27  
    28  import (
    29  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    30  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    31  	reflect "reflect"
    32  	sync "sync"
    33  	query "vitess.io/vitess/go/vt/proto/query"
    34  	topodata "vitess.io/vitess/go/vt/proto/topodata"
    35  	vtrpc "vitess.io/vitess/go/vt/proto/vtrpc"
    36  )
    37  
    38  const (
    39  	// Verify that this generated code is sufficiently up-to-date.
    40  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    41  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    42  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    43  )
    44  
    45  // OnDDLAction lists the possible actions for DDLs.
    46  type OnDDLAction int32
    47  
    48  const (
    49  	OnDDLAction_IGNORE      OnDDLAction = 0
    50  	OnDDLAction_STOP        OnDDLAction = 1
    51  	OnDDLAction_EXEC        OnDDLAction = 2
    52  	OnDDLAction_EXEC_IGNORE OnDDLAction = 3
    53  )
    54  
    55  // Enum value maps for OnDDLAction.
    56  var (
    57  	OnDDLAction_name = map[int32]string{
    58  		0: "IGNORE",
    59  		1: "STOP",
    60  		2: "EXEC",
    61  		3: "EXEC_IGNORE",
    62  	}
    63  	OnDDLAction_value = map[string]int32{
    64  		"IGNORE":      0,
    65  		"STOP":        1,
    66  		"EXEC":        2,
    67  		"EXEC_IGNORE": 3,
    68  	}
    69  )
    70  
    71  func (x OnDDLAction) Enum() *OnDDLAction {
    72  	p := new(OnDDLAction)
    73  	*p = x
    74  	return p
    75  }
    76  
    77  func (x OnDDLAction) String() string {
    78  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    79  }
    80  
    81  func (OnDDLAction) Descriptor() protoreflect.EnumDescriptor {
    82  	return file_binlogdata_proto_enumTypes[0].Descriptor()
    83  }
    84  
    85  func (OnDDLAction) Type() protoreflect.EnumType {
    86  	return &file_binlogdata_proto_enumTypes[0]
    87  }
    88  
    89  func (x OnDDLAction) Number() protoreflect.EnumNumber {
    90  	return protoreflect.EnumNumber(x)
    91  }
    92  
    93  // Deprecated: Use OnDDLAction.Descriptor instead.
    94  func (OnDDLAction) EnumDescriptor() ([]byte, []int) {
    95  	return file_binlogdata_proto_rawDescGZIP(), []int{0}
    96  }
    97  
    98  // VReplicationWorkflowType define types of vreplication workflows.
    99  type VReplicationWorkflowType int32
   100  
   101  const (
   102  	VReplicationWorkflowType_Materialize       VReplicationWorkflowType = 0
   103  	VReplicationWorkflowType_MoveTables        VReplicationWorkflowType = 1
   104  	VReplicationWorkflowType_CreateLookupIndex VReplicationWorkflowType = 2
   105  	VReplicationWorkflowType_Migrate           VReplicationWorkflowType = 3
   106  	VReplicationWorkflowType_Reshard           VReplicationWorkflowType = 4
   107  	VReplicationWorkflowType_OnlineDDL         VReplicationWorkflowType = 5
   108  )
   109  
   110  // Enum value maps for VReplicationWorkflowType.
   111  var (
   112  	VReplicationWorkflowType_name = map[int32]string{
   113  		0: "Materialize",
   114  		1: "MoveTables",
   115  		2: "CreateLookupIndex",
   116  		3: "Migrate",
   117  		4: "Reshard",
   118  		5: "OnlineDDL",
   119  	}
   120  	VReplicationWorkflowType_value = map[string]int32{
   121  		"Materialize":       0,
   122  		"MoveTables":        1,
   123  		"CreateLookupIndex": 2,
   124  		"Migrate":           3,
   125  		"Reshard":           4,
   126  		"OnlineDDL":         5,
   127  	}
   128  )
   129  
   130  func (x VReplicationWorkflowType) Enum() *VReplicationWorkflowType {
   131  	p := new(VReplicationWorkflowType)
   132  	*p = x
   133  	return p
   134  }
   135  
   136  func (x VReplicationWorkflowType) String() string {
   137  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   138  }
   139  
   140  func (VReplicationWorkflowType) Descriptor() protoreflect.EnumDescriptor {
   141  	return file_binlogdata_proto_enumTypes[1].Descriptor()
   142  }
   143  
   144  func (VReplicationWorkflowType) Type() protoreflect.EnumType {
   145  	return &file_binlogdata_proto_enumTypes[1]
   146  }
   147  
   148  func (x VReplicationWorkflowType) Number() protoreflect.EnumNumber {
   149  	return protoreflect.EnumNumber(x)
   150  }
   151  
   152  // Deprecated: Use VReplicationWorkflowType.Descriptor instead.
   153  func (VReplicationWorkflowType) EnumDescriptor() ([]byte, []int) {
   154  	return file_binlogdata_proto_rawDescGZIP(), []int{1}
   155  }
   156  
   157  // VReplicationWorkflowSubType define types of vreplication workflows.
   158  type VReplicationWorkflowSubType int32
   159  
   160  const (
   161  	VReplicationWorkflowSubType_None    VReplicationWorkflowSubType = 0
   162  	VReplicationWorkflowSubType_Partial VReplicationWorkflowSubType = 1
   163  )
   164  
   165  // Enum value maps for VReplicationWorkflowSubType.
   166  var (
   167  	VReplicationWorkflowSubType_name = map[int32]string{
   168  		0: "None",
   169  		1: "Partial",
   170  	}
   171  	VReplicationWorkflowSubType_value = map[string]int32{
   172  		"None":    0,
   173  		"Partial": 1,
   174  	}
   175  )
   176  
   177  func (x VReplicationWorkflowSubType) Enum() *VReplicationWorkflowSubType {
   178  	p := new(VReplicationWorkflowSubType)
   179  	*p = x
   180  	return p
   181  }
   182  
   183  func (x VReplicationWorkflowSubType) String() string {
   184  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   185  }
   186  
   187  func (VReplicationWorkflowSubType) Descriptor() protoreflect.EnumDescriptor {
   188  	return file_binlogdata_proto_enumTypes[2].Descriptor()
   189  }
   190  
   191  func (VReplicationWorkflowSubType) Type() protoreflect.EnumType {
   192  	return &file_binlogdata_proto_enumTypes[2]
   193  }
   194  
   195  func (x VReplicationWorkflowSubType) Number() protoreflect.EnumNumber {
   196  	return protoreflect.EnumNumber(x)
   197  }
   198  
   199  // Deprecated: Use VReplicationWorkflowSubType.Descriptor instead.
   200  func (VReplicationWorkflowSubType) EnumDescriptor() ([]byte, []int) {
   201  	return file_binlogdata_proto_rawDescGZIP(), []int{2}
   202  }
   203  
   204  // VEventType enumerates the event types. Many of these types
   205  // will not be encountered in RBR mode.
   206  type VEventType int32
   207  
   208  const (
   209  	VEventType_UNKNOWN  VEventType = 0
   210  	VEventType_GTID     VEventType = 1
   211  	VEventType_BEGIN    VEventType = 2
   212  	VEventType_COMMIT   VEventType = 3
   213  	VEventType_ROLLBACK VEventType = 4
   214  	VEventType_DDL      VEventType = 5
   215  	// INSERT, REPLACE, UPDATE, DELETE and SET will not be seen in RBR mode.
   216  	VEventType_INSERT  VEventType = 6
   217  	VEventType_REPLACE VEventType = 7
   218  	VEventType_UPDATE  VEventType = 8
   219  	VEventType_DELETE  VEventType = 9
   220  	VEventType_SET     VEventType = 10
   221  	// OTHER is a dummy event. If encountered, the current GTID must be
   222  	// recorded by the client to be able to resume.
   223  	VEventType_OTHER VEventType = 11
   224  	VEventType_ROW   VEventType = 12
   225  	VEventType_FIELD VEventType = 13
   226  	// HEARTBEAT is sent if there is inactivity. If a client does not
   227  	// receive events beyond the hearbeat interval, it can assume that it's
   228  	// lost connection to the vstreamer.
   229  	VEventType_HEARTBEAT VEventType = 14
   230  	// VGTID is generated by VTGate's VStream that combines multiple
   231  	// GTIDs.
   232  	VEventType_VGTID     VEventType = 15
   233  	VEventType_JOURNAL   VEventType = 16
   234  	VEventType_VERSION   VEventType = 17
   235  	VEventType_LASTPK    VEventType = 18
   236  	VEventType_SAVEPOINT VEventType = 19
   237  	// COPY_COMPLETED is sent when VTGate's VStream copy operation is done.
   238  	// If a client experiences some disruptions before receiving the event,
   239  	// the client should restart the copy operation.
   240  	VEventType_COPY_COMPLETED VEventType = 20
   241  )
   242  
   243  // Enum value maps for VEventType.
   244  var (
   245  	VEventType_name = map[int32]string{
   246  		0:  "UNKNOWN",
   247  		1:  "GTID",
   248  		2:  "BEGIN",
   249  		3:  "COMMIT",
   250  		4:  "ROLLBACK",
   251  		5:  "DDL",
   252  		6:  "INSERT",
   253  		7:  "REPLACE",
   254  		8:  "UPDATE",
   255  		9:  "DELETE",
   256  		10: "SET",
   257  		11: "OTHER",
   258  		12: "ROW",
   259  		13: "FIELD",
   260  		14: "HEARTBEAT",
   261  		15: "VGTID",
   262  		16: "JOURNAL",
   263  		17: "VERSION",
   264  		18: "LASTPK",
   265  		19: "SAVEPOINT",
   266  		20: "COPY_COMPLETED",
   267  	}
   268  	VEventType_value = map[string]int32{
   269  		"UNKNOWN":        0,
   270  		"GTID":           1,
   271  		"BEGIN":          2,
   272  		"COMMIT":         3,
   273  		"ROLLBACK":       4,
   274  		"DDL":            5,
   275  		"INSERT":         6,
   276  		"REPLACE":        7,
   277  		"UPDATE":         8,
   278  		"DELETE":         9,
   279  		"SET":            10,
   280  		"OTHER":          11,
   281  		"ROW":            12,
   282  		"FIELD":          13,
   283  		"HEARTBEAT":      14,
   284  		"VGTID":          15,
   285  		"JOURNAL":        16,
   286  		"VERSION":        17,
   287  		"LASTPK":         18,
   288  		"SAVEPOINT":      19,
   289  		"COPY_COMPLETED": 20,
   290  	}
   291  )
   292  
   293  func (x VEventType) Enum() *VEventType {
   294  	p := new(VEventType)
   295  	*p = x
   296  	return p
   297  }
   298  
   299  func (x VEventType) String() string {
   300  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   301  }
   302  
   303  func (VEventType) Descriptor() protoreflect.EnumDescriptor {
   304  	return file_binlogdata_proto_enumTypes[3].Descriptor()
   305  }
   306  
   307  func (VEventType) Type() protoreflect.EnumType {
   308  	return &file_binlogdata_proto_enumTypes[3]
   309  }
   310  
   311  func (x VEventType) Number() protoreflect.EnumNumber {
   312  	return protoreflect.EnumNumber(x)
   313  }
   314  
   315  // Deprecated: Use VEventType.Descriptor instead.
   316  func (VEventType) EnumDescriptor() ([]byte, []int) {
   317  	return file_binlogdata_proto_rawDescGZIP(), []int{3}
   318  }
   319  
   320  // MigrationType specifies the type of migration for the Journal.
   321  type MigrationType int32
   322  
   323  const (
   324  	MigrationType_TABLES MigrationType = 0
   325  	MigrationType_SHARDS MigrationType = 1
   326  )
   327  
   328  // Enum value maps for MigrationType.
   329  var (
   330  	MigrationType_name = map[int32]string{
   331  		0: "TABLES",
   332  		1: "SHARDS",
   333  	}
   334  	MigrationType_value = map[string]int32{
   335  		"TABLES": 0,
   336  		"SHARDS": 1,
   337  	}
   338  )
   339  
   340  func (x MigrationType) Enum() *MigrationType {
   341  	p := new(MigrationType)
   342  	*p = x
   343  	return p
   344  }
   345  
   346  func (x MigrationType) String() string {
   347  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   348  }
   349  
   350  func (MigrationType) Descriptor() protoreflect.EnumDescriptor {
   351  	return file_binlogdata_proto_enumTypes[4].Descriptor()
   352  }
   353  
   354  func (MigrationType) Type() protoreflect.EnumType {
   355  	return &file_binlogdata_proto_enumTypes[4]
   356  }
   357  
   358  func (x MigrationType) Number() protoreflect.EnumNumber {
   359  	return protoreflect.EnumNumber(x)
   360  }
   361  
   362  // Deprecated: Use MigrationType.Descriptor instead.
   363  func (MigrationType) EnumDescriptor() ([]byte, []int) {
   364  	return file_binlogdata_proto_rawDescGZIP(), []int{4}
   365  }
   366  
   367  type BinlogTransaction_Statement_Category int32
   368  
   369  const (
   370  	BinlogTransaction_Statement_BL_UNRECOGNIZED BinlogTransaction_Statement_Category = 0
   371  	BinlogTransaction_Statement_BL_BEGIN        BinlogTransaction_Statement_Category = 1
   372  	BinlogTransaction_Statement_BL_COMMIT       BinlogTransaction_Statement_Category = 2
   373  	BinlogTransaction_Statement_BL_ROLLBACK     BinlogTransaction_Statement_Category = 3
   374  	// BL_DML is deprecated.
   375  	BinlogTransaction_Statement_BL_DML_DEPRECATED BinlogTransaction_Statement_Category = 4
   376  	BinlogTransaction_Statement_BL_DDL            BinlogTransaction_Statement_Category = 5
   377  	BinlogTransaction_Statement_BL_SET            BinlogTransaction_Statement_Category = 6
   378  	BinlogTransaction_Statement_BL_INSERT         BinlogTransaction_Statement_Category = 7
   379  	BinlogTransaction_Statement_BL_UPDATE         BinlogTransaction_Statement_Category = 8
   380  	BinlogTransaction_Statement_BL_DELETE         BinlogTransaction_Statement_Category = 9
   381  )
   382  
   383  // Enum value maps for BinlogTransaction_Statement_Category.
   384  var (
   385  	BinlogTransaction_Statement_Category_name = map[int32]string{
   386  		0: "BL_UNRECOGNIZED",
   387  		1: "BL_BEGIN",
   388  		2: "BL_COMMIT",
   389  		3: "BL_ROLLBACK",
   390  		4: "BL_DML_DEPRECATED",
   391  		5: "BL_DDL",
   392  		6: "BL_SET",
   393  		7: "BL_INSERT",
   394  		8: "BL_UPDATE",
   395  		9: "BL_DELETE",
   396  	}
   397  	BinlogTransaction_Statement_Category_value = map[string]int32{
   398  		"BL_UNRECOGNIZED":   0,
   399  		"BL_BEGIN":          1,
   400  		"BL_COMMIT":         2,
   401  		"BL_ROLLBACK":       3,
   402  		"BL_DML_DEPRECATED": 4,
   403  		"BL_DDL":            5,
   404  		"BL_SET":            6,
   405  		"BL_INSERT":         7,
   406  		"BL_UPDATE":         8,
   407  		"BL_DELETE":         9,
   408  	}
   409  )
   410  
   411  func (x BinlogTransaction_Statement_Category) Enum() *BinlogTransaction_Statement_Category {
   412  	p := new(BinlogTransaction_Statement_Category)
   413  	*p = x
   414  	return p
   415  }
   416  
   417  func (x BinlogTransaction_Statement_Category) String() string {
   418  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   419  }
   420  
   421  func (BinlogTransaction_Statement_Category) Descriptor() protoreflect.EnumDescriptor {
   422  	return file_binlogdata_proto_enumTypes[5].Descriptor()
   423  }
   424  
   425  func (BinlogTransaction_Statement_Category) Type() protoreflect.EnumType {
   426  	return &file_binlogdata_proto_enumTypes[5]
   427  }
   428  
   429  func (x BinlogTransaction_Statement_Category) Number() protoreflect.EnumNumber {
   430  	return protoreflect.EnumNumber(x)
   431  }
   432  
   433  // Deprecated: Use BinlogTransaction_Statement_Category.Descriptor instead.
   434  func (BinlogTransaction_Statement_Category) EnumDescriptor() ([]byte, []int) {
   435  	return file_binlogdata_proto_rawDescGZIP(), []int{1, 0, 0}
   436  }
   437  
   438  type Filter_FieldEventMode int32
   439  
   440  const (
   441  	Filter_ERR_ON_MISMATCH Filter_FieldEventMode = 0
   442  	Filter_BEST_EFFORT     Filter_FieldEventMode = 1
   443  )
   444  
   445  // Enum value maps for Filter_FieldEventMode.
   446  var (
   447  	Filter_FieldEventMode_name = map[int32]string{
   448  		0: "ERR_ON_MISMATCH",
   449  		1: "BEST_EFFORT",
   450  	}
   451  	Filter_FieldEventMode_value = map[string]int32{
   452  		"ERR_ON_MISMATCH": 0,
   453  		"BEST_EFFORT":     1,
   454  	}
   455  )
   456  
   457  func (x Filter_FieldEventMode) Enum() *Filter_FieldEventMode {
   458  	p := new(Filter_FieldEventMode)
   459  	*p = x
   460  	return p
   461  }
   462  
   463  func (x Filter_FieldEventMode) String() string {
   464  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   465  }
   466  
   467  func (Filter_FieldEventMode) Descriptor() protoreflect.EnumDescriptor {
   468  	return file_binlogdata_proto_enumTypes[6].Descriptor()
   469  }
   470  
   471  func (Filter_FieldEventMode) Type() protoreflect.EnumType {
   472  	return &file_binlogdata_proto_enumTypes[6]
   473  }
   474  
   475  func (x Filter_FieldEventMode) Number() protoreflect.EnumNumber {
   476  	return protoreflect.EnumNumber(x)
   477  }
   478  
   479  // Deprecated: Use Filter_FieldEventMode.Descriptor instead.
   480  func (Filter_FieldEventMode) EnumDescriptor() ([]byte, []int) {
   481  	return file_binlogdata_proto_rawDescGZIP(), []int{8, 0}
   482  }
   483  
   484  // Charset is the per-statement charset info from a QUERY_EVENT binlog entry.
   485  type Charset struct {
   486  	state         protoimpl.MessageState
   487  	sizeCache     protoimpl.SizeCache
   488  	unknownFields protoimpl.UnknownFields
   489  
   490  	// @@session.character_set_client
   491  	Client int32 `protobuf:"varint,1,opt,name=client,proto3" json:"client,omitempty"`
   492  	// @@session.collation_connection
   493  	Conn int32 `protobuf:"varint,2,opt,name=conn,proto3" json:"conn,omitempty"`
   494  	// @@session.collation_server
   495  	Server int32 `protobuf:"varint,3,opt,name=server,proto3" json:"server,omitempty"`
   496  }
   497  
   498  func (x *Charset) Reset() {
   499  	*x = Charset{}
   500  	if protoimpl.UnsafeEnabled {
   501  		mi := &file_binlogdata_proto_msgTypes[0]
   502  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   503  		ms.StoreMessageInfo(mi)
   504  	}
   505  }
   506  
   507  func (x *Charset) String() string {
   508  	return protoimpl.X.MessageStringOf(x)
   509  }
   510  
   511  func (*Charset) ProtoMessage() {}
   512  
   513  func (x *Charset) ProtoReflect() protoreflect.Message {
   514  	mi := &file_binlogdata_proto_msgTypes[0]
   515  	if protoimpl.UnsafeEnabled && x != nil {
   516  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   517  		if ms.LoadMessageInfo() == nil {
   518  			ms.StoreMessageInfo(mi)
   519  		}
   520  		return ms
   521  	}
   522  	return mi.MessageOf(x)
   523  }
   524  
   525  // Deprecated: Use Charset.ProtoReflect.Descriptor instead.
   526  func (*Charset) Descriptor() ([]byte, []int) {
   527  	return file_binlogdata_proto_rawDescGZIP(), []int{0}
   528  }
   529  
   530  func (x *Charset) GetClient() int32 {
   531  	if x != nil {
   532  		return x.Client
   533  	}
   534  	return 0
   535  }
   536  
   537  func (x *Charset) GetConn() int32 {
   538  	if x != nil {
   539  		return x.Conn
   540  	}
   541  	return 0
   542  }
   543  
   544  func (x *Charset) GetServer() int32 {
   545  	if x != nil {
   546  		return x.Server
   547  	}
   548  	return 0
   549  }
   550  
   551  // BinlogTransaction describes a transaction inside the binlogs.
   552  // It is streamed by vttablet for filtered replication, used during resharding.
   553  type BinlogTransaction struct {
   554  	state         protoimpl.MessageState
   555  	sizeCache     protoimpl.SizeCache
   556  	unknownFields protoimpl.UnknownFields
   557  
   558  	// the statements in this transaction
   559  	Statements []*BinlogTransaction_Statement `protobuf:"bytes,1,rep,name=statements,proto3" json:"statements,omitempty"`
   560  	// The Event Token for this event.
   561  	EventToken *query.EventToken `protobuf:"bytes,4,opt,name=event_token,json=eventToken,proto3" json:"event_token,omitempty"`
   562  }
   563  
   564  func (x *BinlogTransaction) Reset() {
   565  	*x = BinlogTransaction{}
   566  	if protoimpl.UnsafeEnabled {
   567  		mi := &file_binlogdata_proto_msgTypes[1]
   568  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   569  		ms.StoreMessageInfo(mi)
   570  	}
   571  }
   572  
   573  func (x *BinlogTransaction) String() string {
   574  	return protoimpl.X.MessageStringOf(x)
   575  }
   576  
   577  func (*BinlogTransaction) ProtoMessage() {}
   578  
   579  func (x *BinlogTransaction) ProtoReflect() protoreflect.Message {
   580  	mi := &file_binlogdata_proto_msgTypes[1]
   581  	if protoimpl.UnsafeEnabled && x != nil {
   582  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   583  		if ms.LoadMessageInfo() == nil {
   584  			ms.StoreMessageInfo(mi)
   585  		}
   586  		return ms
   587  	}
   588  	return mi.MessageOf(x)
   589  }
   590  
   591  // Deprecated: Use BinlogTransaction.ProtoReflect.Descriptor instead.
   592  func (*BinlogTransaction) Descriptor() ([]byte, []int) {
   593  	return file_binlogdata_proto_rawDescGZIP(), []int{1}
   594  }
   595  
   596  func (x *BinlogTransaction) GetStatements() []*BinlogTransaction_Statement {
   597  	if x != nil {
   598  		return x.Statements
   599  	}
   600  	return nil
   601  }
   602  
   603  func (x *BinlogTransaction) GetEventToken() *query.EventToken {
   604  	if x != nil {
   605  		return x.EventToken
   606  	}
   607  	return nil
   608  }
   609  
   610  // StreamKeyRangeRequest is the payload to StreamKeyRange
   611  type StreamKeyRangeRequest struct {
   612  	state         protoimpl.MessageState
   613  	sizeCache     protoimpl.SizeCache
   614  	unknownFields protoimpl.UnknownFields
   615  
   616  	// where to start
   617  	Position string `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"`
   618  	// what to get
   619  	KeyRange *topodata.KeyRange `protobuf:"bytes,2,opt,name=key_range,json=keyRange,proto3" json:"key_range,omitempty"`
   620  	// default charset on the player side
   621  	Charset *Charset `protobuf:"bytes,3,opt,name=charset,proto3" json:"charset,omitempty"`
   622  }
   623  
   624  func (x *StreamKeyRangeRequest) Reset() {
   625  	*x = StreamKeyRangeRequest{}
   626  	if protoimpl.UnsafeEnabled {
   627  		mi := &file_binlogdata_proto_msgTypes[2]
   628  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   629  		ms.StoreMessageInfo(mi)
   630  	}
   631  }
   632  
   633  func (x *StreamKeyRangeRequest) String() string {
   634  	return protoimpl.X.MessageStringOf(x)
   635  }
   636  
   637  func (*StreamKeyRangeRequest) ProtoMessage() {}
   638  
   639  func (x *StreamKeyRangeRequest) ProtoReflect() protoreflect.Message {
   640  	mi := &file_binlogdata_proto_msgTypes[2]
   641  	if protoimpl.UnsafeEnabled && x != nil {
   642  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   643  		if ms.LoadMessageInfo() == nil {
   644  			ms.StoreMessageInfo(mi)
   645  		}
   646  		return ms
   647  	}
   648  	return mi.MessageOf(x)
   649  }
   650  
   651  // Deprecated: Use StreamKeyRangeRequest.ProtoReflect.Descriptor instead.
   652  func (*StreamKeyRangeRequest) Descriptor() ([]byte, []int) {
   653  	return file_binlogdata_proto_rawDescGZIP(), []int{2}
   654  }
   655  
   656  func (x *StreamKeyRangeRequest) GetPosition() string {
   657  	if x != nil {
   658  		return x.Position
   659  	}
   660  	return ""
   661  }
   662  
   663  func (x *StreamKeyRangeRequest) GetKeyRange() *topodata.KeyRange {
   664  	if x != nil {
   665  		return x.KeyRange
   666  	}
   667  	return nil
   668  }
   669  
   670  func (x *StreamKeyRangeRequest) GetCharset() *Charset {
   671  	if x != nil {
   672  		return x.Charset
   673  	}
   674  	return nil
   675  }
   676  
   677  // StreamKeyRangeResponse is the response from StreamKeyRange
   678  type StreamKeyRangeResponse struct {
   679  	state         protoimpl.MessageState
   680  	sizeCache     protoimpl.SizeCache
   681  	unknownFields protoimpl.UnknownFields
   682  
   683  	BinlogTransaction *BinlogTransaction `protobuf:"bytes,1,opt,name=binlog_transaction,json=binlogTransaction,proto3" json:"binlog_transaction,omitempty"`
   684  }
   685  
   686  func (x *StreamKeyRangeResponse) Reset() {
   687  	*x = StreamKeyRangeResponse{}
   688  	if protoimpl.UnsafeEnabled {
   689  		mi := &file_binlogdata_proto_msgTypes[3]
   690  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   691  		ms.StoreMessageInfo(mi)
   692  	}
   693  }
   694  
   695  func (x *StreamKeyRangeResponse) String() string {
   696  	return protoimpl.X.MessageStringOf(x)
   697  }
   698  
   699  func (*StreamKeyRangeResponse) ProtoMessage() {}
   700  
   701  func (x *StreamKeyRangeResponse) ProtoReflect() protoreflect.Message {
   702  	mi := &file_binlogdata_proto_msgTypes[3]
   703  	if protoimpl.UnsafeEnabled && x != nil {
   704  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   705  		if ms.LoadMessageInfo() == nil {
   706  			ms.StoreMessageInfo(mi)
   707  		}
   708  		return ms
   709  	}
   710  	return mi.MessageOf(x)
   711  }
   712  
   713  // Deprecated: Use StreamKeyRangeResponse.ProtoReflect.Descriptor instead.
   714  func (*StreamKeyRangeResponse) Descriptor() ([]byte, []int) {
   715  	return file_binlogdata_proto_rawDescGZIP(), []int{3}
   716  }
   717  
   718  func (x *StreamKeyRangeResponse) GetBinlogTransaction() *BinlogTransaction {
   719  	if x != nil {
   720  		return x.BinlogTransaction
   721  	}
   722  	return nil
   723  }
   724  
   725  // StreamTablesRequest is the payload to StreamTables
   726  type StreamTablesRequest struct {
   727  	state         protoimpl.MessageState
   728  	sizeCache     protoimpl.SizeCache
   729  	unknownFields protoimpl.UnknownFields
   730  
   731  	// where to start
   732  	Position string `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"`
   733  	// what to get
   734  	Tables []string `protobuf:"bytes,2,rep,name=tables,proto3" json:"tables,omitempty"`
   735  	// default charset on the player side
   736  	Charset *Charset `protobuf:"bytes,3,opt,name=charset,proto3" json:"charset,omitempty"`
   737  }
   738  
   739  func (x *StreamTablesRequest) Reset() {
   740  	*x = StreamTablesRequest{}
   741  	if protoimpl.UnsafeEnabled {
   742  		mi := &file_binlogdata_proto_msgTypes[4]
   743  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   744  		ms.StoreMessageInfo(mi)
   745  	}
   746  }
   747  
   748  func (x *StreamTablesRequest) String() string {
   749  	return protoimpl.X.MessageStringOf(x)
   750  }
   751  
   752  func (*StreamTablesRequest) ProtoMessage() {}
   753  
   754  func (x *StreamTablesRequest) ProtoReflect() protoreflect.Message {
   755  	mi := &file_binlogdata_proto_msgTypes[4]
   756  	if protoimpl.UnsafeEnabled && x != nil {
   757  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   758  		if ms.LoadMessageInfo() == nil {
   759  			ms.StoreMessageInfo(mi)
   760  		}
   761  		return ms
   762  	}
   763  	return mi.MessageOf(x)
   764  }
   765  
   766  // Deprecated: Use StreamTablesRequest.ProtoReflect.Descriptor instead.
   767  func (*StreamTablesRequest) Descriptor() ([]byte, []int) {
   768  	return file_binlogdata_proto_rawDescGZIP(), []int{4}
   769  }
   770  
   771  func (x *StreamTablesRequest) GetPosition() string {
   772  	if x != nil {
   773  		return x.Position
   774  	}
   775  	return ""
   776  }
   777  
   778  func (x *StreamTablesRequest) GetTables() []string {
   779  	if x != nil {
   780  		return x.Tables
   781  	}
   782  	return nil
   783  }
   784  
   785  func (x *StreamTablesRequest) GetCharset() *Charset {
   786  	if x != nil {
   787  		return x.Charset
   788  	}
   789  	return nil
   790  }
   791  
   792  // StreamTablesResponse is the response from StreamTables
   793  type StreamTablesResponse struct {
   794  	state         protoimpl.MessageState
   795  	sizeCache     protoimpl.SizeCache
   796  	unknownFields protoimpl.UnknownFields
   797  
   798  	BinlogTransaction *BinlogTransaction `protobuf:"bytes,1,opt,name=binlog_transaction,json=binlogTransaction,proto3" json:"binlog_transaction,omitempty"`
   799  }
   800  
   801  func (x *StreamTablesResponse) Reset() {
   802  	*x = StreamTablesResponse{}
   803  	if protoimpl.UnsafeEnabled {
   804  		mi := &file_binlogdata_proto_msgTypes[5]
   805  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   806  		ms.StoreMessageInfo(mi)
   807  	}
   808  }
   809  
   810  func (x *StreamTablesResponse) String() string {
   811  	return protoimpl.X.MessageStringOf(x)
   812  }
   813  
   814  func (*StreamTablesResponse) ProtoMessage() {}
   815  
   816  func (x *StreamTablesResponse) ProtoReflect() protoreflect.Message {
   817  	mi := &file_binlogdata_proto_msgTypes[5]
   818  	if protoimpl.UnsafeEnabled && x != nil {
   819  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   820  		if ms.LoadMessageInfo() == nil {
   821  			ms.StoreMessageInfo(mi)
   822  		}
   823  		return ms
   824  	}
   825  	return mi.MessageOf(x)
   826  }
   827  
   828  // Deprecated: Use StreamTablesResponse.ProtoReflect.Descriptor instead.
   829  func (*StreamTablesResponse) Descriptor() ([]byte, []int) {
   830  	return file_binlogdata_proto_rawDescGZIP(), []int{5}
   831  }
   832  
   833  func (x *StreamTablesResponse) GetBinlogTransaction() *BinlogTransaction {
   834  	if x != nil {
   835  		return x.BinlogTransaction
   836  	}
   837  	return nil
   838  }
   839  
   840  // CharsetConversion represent a conversion of text from one charset to another
   841  type CharsetConversion struct {
   842  	state         protoimpl.MessageState
   843  	sizeCache     protoimpl.SizeCache
   844  	unknownFields protoimpl.UnknownFields
   845  
   846  	// FromCharset is the charset name from which we convert the text (e.g. latin1)
   847  	FromCharset string `protobuf:"bytes,1,opt,name=from_charset,json=fromCharset,proto3" json:"from_charset,omitempty"`
   848  	// ToCharset is the charset name to which we convert the text (e.g. utf8mb4)
   849  	ToCharset string `protobuf:"bytes,2,opt,name=to_charset,json=toCharset,proto3" json:"to_charset,omitempty"`
   850  }
   851  
   852  func (x *CharsetConversion) Reset() {
   853  	*x = CharsetConversion{}
   854  	if protoimpl.UnsafeEnabled {
   855  		mi := &file_binlogdata_proto_msgTypes[6]
   856  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   857  		ms.StoreMessageInfo(mi)
   858  	}
   859  }
   860  
   861  func (x *CharsetConversion) String() string {
   862  	return protoimpl.X.MessageStringOf(x)
   863  }
   864  
   865  func (*CharsetConversion) ProtoMessage() {}
   866  
   867  func (x *CharsetConversion) ProtoReflect() protoreflect.Message {
   868  	mi := &file_binlogdata_proto_msgTypes[6]
   869  	if protoimpl.UnsafeEnabled && x != nil {
   870  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   871  		if ms.LoadMessageInfo() == nil {
   872  			ms.StoreMessageInfo(mi)
   873  		}
   874  		return ms
   875  	}
   876  	return mi.MessageOf(x)
   877  }
   878  
   879  // Deprecated: Use CharsetConversion.ProtoReflect.Descriptor instead.
   880  func (*CharsetConversion) Descriptor() ([]byte, []int) {
   881  	return file_binlogdata_proto_rawDescGZIP(), []int{6}
   882  }
   883  
   884  func (x *CharsetConversion) GetFromCharset() string {
   885  	if x != nil {
   886  		return x.FromCharset
   887  	}
   888  	return ""
   889  }
   890  
   891  func (x *CharsetConversion) GetToCharset() string {
   892  	if x != nil {
   893  		return x.ToCharset
   894  	}
   895  	return ""
   896  }
   897  
   898  // Rule represents one rule in a Filter.
   899  type Rule struct {
   900  	state         protoimpl.MessageState
   901  	sizeCache     protoimpl.SizeCache
   902  	unknownFields protoimpl.UnknownFields
   903  
   904  	// Match can be a table name or a regular expression.
   905  	// If it starts with a '/', it's a regular expression.
   906  	// For example, "t" matches a table named "t", whereas
   907  	// "/t.*" matches all tables that begin with 't'.
   908  	Match string `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"`
   909  	// Filter: If empty, all columns and rows of the matching tables
   910  	// are sent. If it's a keyrange like "-80", only rows that
   911  	// match the keyrange are sent.
   912  	// If Match is a table name instead of a regular expression,
   913  	// the Filter can also be a select expression like this:
   914  	// "select * from t", same as an empty Filter, or
   915  	// "select * from t where in_keyrange('-80')", same as "-80", or
   916  	// "select col1, col2 from t where in_keyrange(col1, 'hash', '-80'), or
   917  	// What is allowed in a select expression depends on whether
   918  	// it's a vstreamer or vreplication request. For more details,
   919  	// please refer to the specific package documentation.
   920  	// On the vreplication side, Filter can also accept a special
   921  	// "exclude" value, which will cause the matched tables
   922  	// to be excluded.
   923  	// TODO(sougou): support this on vstreamer side also.
   924  	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
   925  	// Example: key="color", value="'red','green','blue'"
   926  	ConvertEnumToText map[string]string `protobuf:"bytes,3,rep,name=convert_enum_to_text,json=convertEnumToText,proto3" json:"convert_enum_to_text,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   927  	// ConvertCharset: optional mapping, between column name and a CharsetConversion.
   928  	// This hints to vreplication that columns are encoded from/to non-trivial charsets
   929  	// The map is only populated when either "from" or "to" charset of a column are non-trivial
   930  	// trivial charsets are utf8 and ascii variants.
   931  	ConvertCharset map[string]*CharsetConversion `protobuf:"bytes,4,rep,name=convert_charset,json=convertCharset,proto3" json:"convert_charset,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   932  	// SourceUniqueKeyColumns represents the ordered columns in the index used by rowstreamer to iterate the table
   933  	// It is comma delimited, as in col1,col2,col3 (tokens are escaped via net/url)
   934  	SourceUniqueKeyColumns string `protobuf:"bytes,5,opt,name=source_unique_key_columns,json=sourceUniqueKeyColumns,proto3" json:"source_unique_key_columns,omitempty"`
   935  	// TargetUniqueKeyColumns represents the ordered columns in that index used by vcopier and vplayer to apply rows
   936  	// It is comma delimited, as in col1,col2,col3 (tokens are escaped via net/url)
   937  	TargetUniqueKeyColumns string `protobuf:"bytes,6,opt,name=target_unique_key_columns,json=targetUniqueKeyColumns,proto3" json:"target_unique_key_columns,omitempty"`
   938  	// SourceUniqueKeyTargetColumns represents the names of columns in target table, mapped from the chosen unique
   939  	// key on source tables (some columns may be renamed from source to target)
   940  	SourceUniqueKeyTargetColumns string `protobuf:"bytes,7,opt,name=source_unique_key_target_columns,json=sourceUniqueKeyTargetColumns,proto3" json:"source_unique_key_target_columns,omitempty"`
   941  	// ConvertIntToEnum lists any columns that are converted from an integral value into an enum.
   942  	// such columns need to have special transofrmation of the data, from an integral format into a
   943  	// string format. e.g. the value 0 needs to be converted to '0'.
   944  	ConvertIntToEnum map[string]bool `protobuf:"bytes,8,rep,name=convert_int_to_enum,json=convertIntToEnum,proto3" json:"convert_int_to_enum,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   945  }
   946  
   947  func (x *Rule) Reset() {
   948  	*x = Rule{}
   949  	if protoimpl.UnsafeEnabled {
   950  		mi := &file_binlogdata_proto_msgTypes[7]
   951  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   952  		ms.StoreMessageInfo(mi)
   953  	}
   954  }
   955  
   956  func (x *Rule) String() string {
   957  	return protoimpl.X.MessageStringOf(x)
   958  }
   959  
   960  func (*Rule) ProtoMessage() {}
   961  
   962  func (x *Rule) ProtoReflect() protoreflect.Message {
   963  	mi := &file_binlogdata_proto_msgTypes[7]
   964  	if protoimpl.UnsafeEnabled && x != nil {
   965  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   966  		if ms.LoadMessageInfo() == nil {
   967  			ms.StoreMessageInfo(mi)
   968  		}
   969  		return ms
   970  	}
   971  	return mi.MessageOf(x)
   972  }
   973  
   974  // Deprecated: Use Rule.ProtoReflect.Descriptor instead.
   975  func (*Rule) Descriptor() ([]byte, []int) {
   976  	return file_binlogdata_proto_rawDescGZIP(), []int{7}
   977  }
   978  
   979  func (x *Rule) GetMatch() string {
   980  	if x != nil {
   981  		return x.Match
   982  	}
   983  	return ""
   984  }
   985  
   986  func (x *Rule) GetFilter() string {
   987  	if x != nil {
   988  		return x.Filter
   989  	}
   990  	return ""
   991  }
   992  
   993  func (x *Rule) GetConvertEnumToText() map[string]string {
   994  	if x != nil {
   995  		return x.ConvertEnumToText
   996  	}
   997  	return nil
   998  }
   999  
  1000  func (x *Rule) GetConvertCharset() map[string]*CharsetConversion {
  1001  	if x != nil {
  1002  		return x.ConvertCharset
  1003  	}
  1004  	return nil
  1005  }
  1006  
  1007  func (x *Rule) GetSourceUniqueKeyColumns() string {
  1008  	if x != nil {
  1009  		return x.SourceUniqueKeyColumns
  1010  	}
  1011  	return ""
  1012  }
  1013  
  1014  func (x *Rule) GetTargetUniqueKeyColumns() string {
  1015  	if x != nil {
  1016  		return x.TargetUniqueKeyColumns
  1017  	}
  1018  	return ""
  1019  }
  1020  
  1021  func (x *Rule) GetSourceUniqueKeyTargetColumns() string {
  1022  	if x != nil {
  1023  		return x.SourceUniqueKeyTargetColumns
  1024  	}
  1025  	return ""
  1026  }
  1027  
  1028  func (x *Rule) GetConvertIntToEnum() map[string]bool {
  1029  	if x != nil {
  1030  		return x.ConvertIntToEnum
  1031  	}
  1032  	return nil
  1033  }
  1034  
  1035  // Filter represents a list of ordered rules. The first
  1036  // match wins.
  1037  type Filter struct {
  1038  	state         protoimpl.MessageState
  1039  	sizeCache     protoimpl.SizeCache
  1040  	unknownFields protoimpl.UnknownFields
  1041  
  1042  	Rules []*Rule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
  1043  	// FieldEventMode specifies the behavior if there is a mismatch
  1044  	// between the current schema and the fields in the binlog. This
  1045  	// can happen if the binlog position is before a DDL that would
  1046  	// cause the fields to change. If vstreamer detects such
  1047  	// an inconsistency, the behavior depends on the FieldEventMode.
  1048  	// If the value is ERR_ON_MISMATCH (default), then it errors out.
  1049  	// If it's BEST_EFFORT, it sends a field event with fake column
  1050  	// names as "@1", "@2", etc.
  1051  	FieldEventMode Filter_FieldEventMode `protobuf:"varint,2,opt,name=field_event_mode,json=fieldEventMode,proto3,enum=binlogdata.Filter_FieldEventMode" json:"field_event_mode,omitempty"`
  1052  	WorkflowType   int64                 `protobuf:"varint,3,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"`
  1053  	WorkflowName   string                `protobuf:"bytes,4,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"`
  1054  }
  1055  
  1056  func (x *Filter) Reset() {
  1057  	*x = Filter{}
  1058  	if protoimpl.UnsafeEnabled {
  1059  		mi := &file_binlogdata_proto_msgTypes[8]
  1060  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1061  		ms.StoreMessageInfo(mi)
  1062  	}
  1063  }
  1064  
  1065  func (x *Filter) String() string {
  1066  	return protoimpl.X.MessageStringOf(x)
  1067  }
  1068  
  1069  func (*Filter) ProtoMessage() {}
  1070  
  1071  func (x *Filter) ProtoReflect() protoreflect.Message {
  1072  	mi := &file_binlogdata_proto_msgTypes[8]
  1073  	if protoimpl.UnsafeEnabled && x != nil {
  1074  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1075  		if ms.LoadMessageInfo() == nil {
  1076  			ms.StoreMessageInfo(mi)
  1077  		}
  1078  		return ms
  1079  	}
  1080  	return mi.MessageOf(x)
  1081  }
  1082  
  1083  // Deprecated: Use Filter.ProtoReflect.Descriptor instead.
  1084  func (*Filter) Descriptor() ([]byte, []int) {
  1085  	return file_binlogdata_proto_rawDescGZIP(), []int{8}
  1086  }
  1087  
  1088  func (x *Filter) GetRules() []*Rule {
  1089  	if x != nil {
  1090  		return x.Rules
  1091  	}
  1092  	return nil
  1093  }
  1094  
  1095  func (x *Filter) GetFieldEventMode() Filter_FieldEventMode {
  1096  	if x != nil {
  1097  		return x.FieldEventMode
  1098  	}
  1099  	return Filter_ERR_ON_MISMATCH
  1100  }
  1101  
  1102  func (x *Filter) GetWorkflowType() int64 {
  1103  	if x != nil {
  1104  		return x.WorkflowType
  1105  	}
  1106  	return 0
  1107  }
  1108  
  1109  func (x *Filter) GetWorkflowName() string {
  1110  	if x != nil {
  1111  		return x.WorkflowName
  1112  	}
  1113  	return ""
  1114  }
  1115  
  1116  // BinlogSource specifies the source  and filter parameters for
  1117  // Filtered Replication. KeyRange and Tables are legacy. Filter
  1118  // is the new way to specify the filtering rules.
  1119  type BinlogSource struct {
  1120  	state         protoimpl.MessageState
  1121  	sizeCache     protoimpl.SizeCache
  1122  	unknownFields protoimpl.UnknownFields
  1123  
  1124  	// the source keyspace
  1125  	Keyspace string `protobuf:"bytes,1,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
  1126  	// the source shard
  1127  	Shard string `protobuf:"bytes,2,opt,name=shard,proto3" json:"shard,omitempty"`
  1128  	// the source tablet type
  1129  	TabletType topodata.TabletType `protobuf:"varint,3,opt,name=tablet_type,json=tabletType,proto3,enum=topodata.TabletType" json:"tablet_type,omitempty"`
  1130  	// KeyRange is set if the request is for a keyrange
  1131  	KeyRange *topodata.KeyRange `protobuf:"bytes,4,opt,name=key_range,json=keyRange,proto3" json:"key_range,omitempty"`
  1132  	// Tables is set if the request is for a list of tables
  1133  	Tables []string `protobuf:"bytes,5,rep,name=tables,proto3" json:"tables,omitempty"`
  1134  	// Filter is set if we're using the generalized representation
  1135  	// for the filter.
  1136  	Filter *Filter `protobuf:"bytes,6,opt,name=filter,proto3" json:"filter,omitempty"`
  1137  	// OnDdl specifies the action to be taken when a DDL is encountered.
  1138  	OnDdl OnDDLAction `protobuf:"varint,7,opt,name=on_ddl,json=onDdl,proto3,enum=binlogdata.OnDDLAction" json:"on_ddl,omitempty"`
  1139  	// Source is an external mysql. This attribute should be set to the username
  1140  	// to use in the connection
  1141  	ExternalMysql string `protobuf:"bytes,8,opt,name=external_mysql,json=externalMysql,proto3" json:"external_mysql,omitempty"`
  1142  	// StopAfterCopy specifies if vreplication should be stopped
  1143  	// after copying is done.
  1144  	StopAfterCopy bool `protobuf:"varint,9,opt,name=stop_after_copy,json=stopAfterCopy,proto3" json:"stop_after_copy,omitempty"`
  1145  	// ExternalCluster is the name of the mounted cluster which has the source keyspace/db for this workflow
  1146  	// it is of the type <cluster_type.cluster_name>
  1147  	ExternalCluster string `protobuf:"bytes,10,opt,name=external_cluster,json=externalCluster,proto3" json:"external_cluster,omitempty"`
  1148  	// SourceTimeZone is the time zone in which datetimes on the source were stored, provided as an option in MoveTables
  1149  	SourceTimeZone string `protobuf:"bytes,11,opt,name=source_time_zone,json=sourceTimeZone,proto3" json:"source_time_zone,omitempty"`
  1150  	// TargetTimeZone is not currently specifiable by the user, defaults to UTC for the forward workflows
  1151  	// and to the SourceTimeZone in reverse workflows
  1152  	TargetTimeZone string `protobuf:"bytes,12,opt,name=target_time_zone,json=targetTimeZone,proto3" json:"target_time_zone,omitempty"`
  1153  }
  1154  
  1155  func (x *BinlogSource) Reset() {
  1156  	*x = BinlogSource{}
  1157  	if protoimpl.UnsafeEnabled {
  1158  		mi := &file_binlogdata_proto_msgTypes[9]
  1159  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1160  		ms.StoreMessageInfo(mi)
  1161  	}
  1162  }
  1163  
  1164  func (x *BinlogSource) String() string {
  1165  	return protoimpl.X.MessageStringOf(x)
  1166  }
  1167  
  1168  func (*BinlogSource) ProtoMessage() {}
  1169  
  1170  func (x *BinlogSource) ProtoReflect() protoreflect.Message {
  1171  	mi := &file_binlogdata_proto_msgTypes[9]
  1172  	if protoimpl.UnsafeEnabled && x != nil {
  1173  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1174  		if ms.LoadMessageInfo() == nil {
  1175  			ms.StoreMessageInfo(mi)
  1176  		}
  1177  		return ms
  1178  	}
  1179  	return mi.MessageOf(x)
  1180  }
  1181  
  1182  // Deprecated: Use BinlogSource.ProtoReflect.Descriptor instead.
  1183  func (*BinlogSource) Descriptor() ([]byte, []int) {
  1184  	return file_binlogdata_proto_rawDescGZIP(), []int{9}
  1185  }
  1186  
  1187  func (x *BinlogSource) GetKeyspace() string {
  1188  	if x != nil {
  1189  		return x.Keyspace
  1190  	}
  1191  	return ""
  1192  }
  1193  
  1194  func (x *BinlogSource) GetShard() string {
  1195  	if x != nil {
  1196  		return x.Shard
  1197  	}
  1198  	return ""
  1199  }
  1200  
  1201  func (x *BinlogSource) GetTabletType() topodata.TabletType {
  1202  	if x != nil {
  1203  		return x.TabletType
  1204  	}
  1205  	return topodata.TabletType(0)
  1206  }
  1207  
  1208  func (x *BinlogSource) GetKeyRange() *topodata.KeyRange {
  1209  	if x != nil {
  1210  		return x.KeyRange
  1211  	}
  1212  	return nil
  1213  }
  1214  
  1215  func (x *BinlogSource) GetTables() []string {
  1216  	if x != nil {
  1217  		return x.Tables
  1218  	}
  1219  	return nil
  1220  }
  1221  
  1222  func (x *BinlogSource) GetFilter() *Filter {
  1223  	if x != nil {
  1224  		return x.Filter
  1225  	}
  1226  	return nil
  1227  }
  1228  
  1229  func (x *BinlogSource) GetOnDdl() OnDDLAction {
  1230  	if x != nil {
  1231  		return x.OnDdl
  1232  	}
  1233  	return OnDDLAction_IGNORE
  1234  }
  1235  
  1236  func (x *BinlogSource) GetExternalMysql() string {
  1237  	if x != nil {
  1238  		return x.ExternalMysql
  1239  	}
  1240  	return ""
  1241  }
  1242  
  1243  func (x *BinlogSource) GetStopAfterCopy() bool {
  1244  	if x != nil {
  1245  		return x.StopAfterCopy
  1246  	}
  1247  	return false
  1248  }
  1249  
  1250  func (x *BinlogSource) GetExternalCluster() string {
  1251  	if x != nil {
  1252  		return x.ExternalCluster
  1253  	}
  1254  	return ""
  1255  }
  1256  
  1257  func (x *BinlogSource) GetSourceTimeZone() string {
  1258  	if x != nil {
  1259  		return x.SourceTimeZone
  1260  	}
  1261  	return ""
  1262  }
  1263  
  1264  func (x *BinlogSource) GetTargetTimeZone() string {
  1265  	if x != nil {
  1266  		return x.TargetTimeZone
  1267  	}
  1268  	return ""
  1269  }
  1270  
  1271  // RowChange represents one row change.
  1272  // If Before is set and not After, it's a delete.
  1273  // If After is set and not Before, it's an insert.
  1274  // If both are set, it's an update.
  1275  type RowChange struct {
  1276  	state         protoimpl.MessageState
  1277  	sizeCache     protoimpl.SizeCache
  1278  	unknownFields protoimpl.UnknownFields
  1279  
  1280  	Before *query.Row `protobuf:"bytes,1,opt,name=before,proto3" json:"before,omitempty"`
  1281  	After  *query.Row `protobuf:"bytes,2,opt,name=after,proto3" json:"after,omitempty"`
  1282  }
  1283  
  1284  func (x *RowChange) Reset() {
  1285  	*x = RowChange{}
  1286  	if protoimpl.UnsafeEnabled {
  1287  		mi := &file_binlogdata_proto_msgTypes[10]
  1288  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1289  		ms.StoreMessageInfo(mi)
  1290  	}
  1291  }
  1292  
  1293  func (x *RowChange) String() string {
  1294  	return protoimpl.X.MessageStringOf(x)
  1295  }
  1296  
  1297  func (*RowChange) ProtoMessage() {}
  1298  
  1299  func (x *RowChange) ProtoReflect() protoreflect.Message {
  1300  	mi := &file_binlogdata_proto_msgTypes[10]
  1301  	if protoimpl.UnsafeEnabled && x != nil {
  1302  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1303  		if ms.LoadMessageInfo() == nil {
  1304  			ms.StoreMessageInfo(mi)
  1305  		}
  1306  		return ms
  1307  	}
  1308  	return mi.MessageOf(x)
  1309  }
  1310  
  1311  // Deprecated: Use RowChange.ProtoReflect.Descriptor instead.
  1312  func (*RowChange) Descriptor() ([]byte, []int) {
  1313  	return file_binlogdata_proto_rawDescGZIP(), []int{10}
  1314  }
  1315  
  1316  func (x *RowChange) GetBefore() *query.Row {
  1317  	if x != nil {
  1318  		return x.Before
  1319  	}
  1320  	return nil
  1321  }
  1322  
  1323  func (x *RowChange) GetAfter() *query.Row {
  1324  	if x != nil {
  1325  		return x.After
  1326  	}
  1327  	return nil
  1328  }
  1329  
  1330  // RowEvent represent row events for one table.
  1331  type RowEvent struct {
  1332  	state         protoimpl.MessageState
  1333  	sizeCache     protoimpl.SizeCache
  1334  	unknownFields protoimpl.UnknownFields
  1335  
  1336  	TableName  string       `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
  1337  	RowChanges []*RowChange `protobuf:"bytes,2,rep,name=row_changes,json=rowChanges,proto3" json:"row_changes,omitempty"`
  1338  	Keyspace   string       `protobuf:"bytes,3,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
  1339  	Shard      string       `protobuf:"bytes,4,opt,name=shard,proto3" json:"shard,omitempty"`
  1340  }
  1341  
  1342  func (x *RowEvent) Reset() {
  1343  	*x = RowEvent{}
  1344  	if protoimpl.UnsafeEnabled {
  1345  		mi := &file_binlogdata_proto_msgTypes[11]
  1346  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1347  		ms.StoreMessageInfo(mi)
  1348  	}
  1349  }
  1350  
  1351  func (x *RowEvent) String() string {
  1352  	return protoimpl.X.MessageStringOf(x)
  1353  }
  1354  
  1355  func (*RowEvent) ProtoMessage() {}
  1356  
  1357  func (x *RowEvent) ProtoReflect() protoreflect.Message {
  1358  	mi := &file_binlogdata_proto_msgTypes[11]
  1359  	if protoimpl.UnsafeEnabled && x != nil {
  1360  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1361  		if ms.LoadMessageInfo() == nil {
  1362  			ms.StoreMessageInfo(mi)
  1363  		}
  1364  		return ms
  1365  	}
  1366  	return mi.MessageOf(x)
  1367  }
  1368  
  1369  // Deprecated: Use RowEvent.ProtoReflect.Descriptor instead.
  1370  func (*RowEvent) Descriptor() ([]byte, []int) {
  1371  	return file_binlogdata_proto_rawDescGZIP(), []int{11}
  1372  }
  1373  
  1374  func (x *RowEvent) GetTableName() string {
  1375  	if x != nil {
  1376  		return x.TableName
  1377  	}
  1378  	return ""
  1379  }
  1380  
  1381  func (x *RowEvent) GetRowChanges() []*RowChange {
  1382  	if x != nil {
  1383  		return x.RowChanges
  1384  	}
  1385  	return nil
  1386  }
  1387  
  1388  func (x *RowEvent) GetKeyspace() string {
  1389  	if x != nil {
  1390  		return x.Keyspace
  1391  	}
  1392  	return ""
  1393  }
  1394  
  1395  func (x *RowEvent) GetShard() string {
  1396  	if x != nil {
  1397  		return x.Shard
  1398  	}
  1399  	return ""
  1400  }
  1401  
  1402  // FieldEvent represents the field info for a table.
  1403  type FieldEvent struct {
  1404  	state         protoimpl.MessageState
  1405  	sizeCache     protoimpl.SizeCache
  1406  	unknownFields protoimpl.UnknownFields
  1407  
  1408  	TableName string         `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
  1409  	Fields    []*query.Field `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"`
  1410  	Keyspace  string         `protobuf:"bytes,3,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
  1411  	Shard     string         `protobuf:"bytes,4,opt,name=shard,proto3" json:"shard,omitempty"`
  1412  }
  1413  
  1414  func (x *FieldEvent) Reset() {
  1415  	*x = FieldEvent{}
  1416  	if protoimpl.UnsafeEnabled {
  1417  		mi := &file_binlogdata_proto_msgTypes[12]
  1418  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1419  		ms.StoreMessageInfo(mi)
  1420  	}
  1421  }
  1422  
  1423  func (x *FieldEvent) String() string {
  1424  	return protoimpl.X.MessageStringOf(x)
  1425  }
  1426  
  1427  func (*FieldEvent) ProtoMessage() {}
  1428  
  1429  func (x *FieldEvent) ProtoReflect() protoreflect.Message {
  1430  	mi := &file_binlogdata_proto_msgTypes[12]
  1431  	if protoimpl.UnsafeEnabled && x != nil {
  1432  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1433  		if ms.LoadMessageInfo() == nil {
  1434  			ms.StoreMessageInfo(mi)
  1435  		}
  1436  		return ms
  1437  	}
  1438  	return mi.MessageOf(x)
  1439  }
  1440  
  1441  // Deprecated: Use FieldEvent.ProtoReflect.Descriptor instead.
  1442  func (*FieldEvent) Descriptor() ([]byte, []int) {
  1443  	return file_binlogdata_proto_rawDescGZIP(), []int{12}
  1444  }
  1445  
  1446  func (x *FieldEvent) GetTableName() string {
  1447  	if x != nil {
  1448  		return x.TableName
  1449  	}
  1450  	return ""
  1451  }
  1452  
  1453  func (x *FieldEvent) GetFields() []*query.Field {
  1454  	if x != nil {
  1455  		return x.Fields
  1456  	}
  1457  	return nil
  1458  }
  1459  
  1460  func (x *FieldEvent) GetKeyspace() string {
  1461  	if x != nil {
  1462  		return x.Keyspace
  1463  	}
  1464  	return ""
  1465  }
  1466  
  1467  func (x *FieldEvent) GetShard() string {
  1468  	if x != nil {
  1469  		return x.Shard
  1470  	}
  1471  	return ""
  1472  }
  1473  
  1474  // ShardGtid contains the GTID position for one shard.
  1475  // It's used in a request for requesting a starting position.
  1476  // It's used in a response to transmit the current position
  1477  // of a shard. It's also used in a Journal to indicate the
  1478  // list of targets and shard positions to migrate to.
  1479  type ShardGtid struct {
  1480  	state         protoimpl.MessageState
  1481  	sizeCache     protoimpl.SizeCache
  1482  	unknownFields protoimpl.UnknownFields
  1483  
  1484  	Keyspace string         `protobuf:"bytes,1,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
  1485  	Shard    string         `protobuf:"bytes,2,opt,name=shard,proto3" json:"shard,omitempty"`
  1486  	Gtid     string         `protobuf:"bytes,3,opt,name=gtid,proto3" json:"gtid,omitempty"`
  1487  	TablePKs []*TableLastPK `protobuf:"bytes,4,rep,name=table_p_ks,json=tablePKs,proto3" json:"table_p_ks,omitempty"`
  1488  }
  1489  
  1490  func (x *ShardGtid) Reset() {
  1491  	*x = ShardGtid{}
  1492  	if protoimpl.UnsafeEnabled {
  1493  		mi := &file_binlogdata_proto_msgTypes[13]
  1494  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1495  		ms.StoreMessageInfo(mi)
  1496  	}
  1497  }
  1498  
  1499  func (x *ShardGtid) String() string {
  1500  	return protoimpl.X.MessageStringOf(x)
  1501  }
  1502  
  1503  func (*ShardGtid) ProtoMessage() {}
  1504  
  1505  func (x *ShardGtid) ProtoReflect() protoreflect.Message {
  1506  	mi := &file_binlogdata_proto_msgTypes[13]
  1507  	if protoimpl.UnsafeEnabled && x != nil {
  1508  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1509  		if ms.LoadMessageInfo() == nil {
  1510  			ms.StoreMessageInfo(mi)
  1511  		}
  1512  		return ms
  1513  	}
  1514  	return mi.MessageOf(x)
  1515  }
  1516  
  1517  // Deprecated: Use ShardGtid.ProtoReflect.Descriptor instead.
  1518  func (*ShardGtid) Descriptor() ([]byte, []int) {
  1519  	return file_binlogdata_proto_rawDescGZIP(), []int{13}
  1520  }
  1521  
  1522  func (x *ShardGtid) GetKeyspace() string {
  1523  	if x != nil {
  1524  		return x.Keyspace
  1525  	}
  1526  	return ""
  1527  }
  1528  
  1529  func (x *ShardGtid) GetShard() string {
  1530  	if x != nil {
  1531  		return x.Shard
  1532  	}
  1533  	return ""
  1534  }
  1535  
  1536  func (x *ShardGtid) GetGtid() string {
  1537  	if x != nil {
  1538  		return x.Gtid
  1539  	}
  1540  	return ""
  1541  }
  1542  
  1543  func (x *ShardGtid) GetTablePKs() []*TableLastPK {
  1544  	if x != nil {
  1545  		return x.TablePKs
  1546  	}
  1547  	return nil
  1548  }
  1549  
  1550  // A VGtid is a list of ShardGtids.
  1551  type VGtid struct {
  1552  	state         protoimpl.MessageState
  1553  	sizeCache     protoimpl.SizeCache
  1554  	unknownFields protoimpl.UnknownFields
  1555  
  1556  	ShardGtids []*ShardGtid `protobuf:"bytes,1,rep,name=shard_gtids,json=shardGtids,proto3" json:"shard_gtids,omitempty"`
  1557  }
  1558  
  1559  func (x *VGtid) Reset() {
  1560  	*x = VGtid{}
  1561  	if protoimpl.UnsafeEnabled {
  1562  		mi := &file_binlogdata_proto_msgTypes[14]
  1563  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1564  		ms.StoreMessageInfo(mi)
  1565  	}
  1566  }
  1567  
  1568  func (x *VGtid) String() string {
  1569  	return protoimpl.X.MessageStringOf(x)
  1570  }
  1571  
  1572  func (*VGtid) ProtoMessage() {}
  1573  
  1574  func (x *VGtid) ProtoReflect() protoreflect.Message {
  1575  	mi := &file_binlogdata_proto_msgTypes[14]
  1576  	if protoimpl.UnsafeEnabled && x != nil {
  1577  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1578  		if ms.LoadMessageInfo() == nil {
  1579  			ms.StoreMessageInfo(mi)
  1580  		}
  1581  		return ms
  1582  	}
  1583  	return mi.MessageOf(x)
  1584  }
  1585  
  1586  // Deprecated: Use VGtid.ProtoReflect.Descriptor instead.
  1587  func (*VGtid) Descriptor() ([]byte, []int) {
  1588  	return file_binlogdata_proto_rawDescGZIP(), []int{14}
  1589  }
  1590  
  1591  func (x *VGtid) GetShardGtids() []*ShardGtid {
  1592  	if x != nil {
  1593  		return x.ShardGtids
  1594  	}
  1595  	return nil
  1596  }
  1597  
  1598  // KeyspaceShard represents a keyspace and shard.
  1599  type KeyspaceShard struct {
  1600  	state         protoimpl.MessageState
  1601  	sizeCache     protoimpl.SizeCache
  1602  	unknownFields protoimpl.UnknownFields
  1603  
  1604  	Keyspace string `protobuf:"bytes,1,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
  1605  	Shard    string `protobuf:"bytes,2,opt,name=shard,proto3" json:"shard,omitempty"`
  1606  }
  1607  
  1608  func (x *KeyspaceShard) Reset() {
  1609  	*x = KeyspaceShard{}
  1610  	if protoimpl.UnsafeEnabled {
  1611  		mi := &file_binlogdata_proto_msgTypes[15]
  1612  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1613  		ms.StoreMessageInfo(mi)
  1614  	}
  1615  }
  1616  
  1617  func (x *KeyspaceShard) String() string {
  1618  	return protoimpl.X.MessageStringOf(x)
  1619  }
  1620  
  1621  func (*KeyspaceShard) ProtoMessage() {}
  1622  
  1623  func (x *KeyspaceShard) ProtoReflect() protoreflect.Message {
  1624  	mi := &file_binlogdata_proto_msgTypes[15]
  1625  	if protoimpl.UnsafeEnabled && x != nil {
  1626  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1627  		if ms.LoadMessageInfo() == nil {
  1628  			ms.StoreMessageInfo(mi)
  1629  		}
  1630  		return ms
  1631  	}
  1632  	return mi.MessageOf(x)
  1633  }
  1634  
  1635  // Deprecated: Use KeyspaceShard.ProtoReflect.Descriptor instead.
  1636  func (*KeyspaceShard) Descriptor() ([]byte, []int) {
  1637  	return file_binlogdata_proto_rawDescGZIP(), []int{15}
  1638  }
  1639  
  1640  func (x *KeyspaceShard) GetKeyspace() string {
  1641  	if x != nil {
  1642  		return x.Keyspace
  1643  	}
  1644  	return ""
  1645  }
  1646  
  1647  func (x *KeyspaceShard) GetShard() string {
  1648  	if x != nil {
  1649  		return x.Shard
  1650  	}
  1651  	return ""
  1652  }
  1653  
  1654  // Journal contains the metadata for a journal event.
  1655  // The commit of a journal event indicates the point of no return
  1656  // for a migration.
  1657  type Journal struct {
  1658  	state         protoimpl.MessageState
  1659  	sizeCache     protoimpl.SizeCache
  1660  	unknownFields protoimpl.UnknownFields
  1661  
  1662  	// Id represents a unique journal id.
  1663  	Id            int64         `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
  1664  	MigrationType MigrationType `protobuf:"varint,2,opt,name=migration_type,json=migrationType,proto3,enum=binlogdata.MigrationType" json:"migration_type,omitempty"`
  1665  	// Tables is set if the journal represents a TABLES migration.
  1666  	Tables []string `protobuf:"bytes,3,rep,name=tables,proto3" json:"tables,omitempty"`
  1667  	// LocalPosition is the source position at which the migration happened.
  1668  	LocalPosition string `protobuf:"bytes,4,opt,name=local_position,json=localPosition,proto3" json:"local_position,omitempty"`
  1669  	// ShardGtids is the list of targets to which the migration took place.
  1670  	ShardGtids []*ShardGtid `protobuf:"bytes,5,rep,name=shard_gtids,json=shardGtids,proto3" json:"shard_gtids,omitempty"`
  1671  	// Participants is the list of source participants for a migration.
  1672  	// Every participant is expected to have an identical journal entry.
  1673  	// While streaming, the client must wait for the journal entry to
  1674  	// be received from all pariticipants, and then replace them with new
  1675  	// streams specified by ShardGtid.
  1676  	// If a stream does not have all participants, a consistent migration
  1677  	// is not possible.
  1678  	Participants []*KeyspaceShard `protobuf:"bytes,6,rep,name=participants,proto3" json:"participants,omitempty"`
  1679  	// SourceWorkflows is the list of workflows in the source shard that
  1680  	// were migrated to the target. If a migration fails after a Journal
  1681  	// is committed, this information is used to start the target streams
  1682  	// that were created prior to the creation of the journal.
  1683  	SourceWorkflows []string `protobuf:"bytes,7,rep,name=source_workflows,json=sourceWorkflows,proto3" json:"source_workflows,omitempty"`
  1684  }
  1685  
  1686  func (x *Journal) Reset() {
  1687  	*x = Journal{}
  1688  	if protoimpl.UnsafeEnabled {
  1689  		mi := &file_binlogdata_proto_msgTypes[16]
  1690  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1691  		ms.StoreMessageInfo(mi)
  1692  	}
  1693  }
  1694  
  1695  func (x *Journal) String() string {
  1696  	return protoimpl.X.MessageStringOf(x)
  1697  }
  1698  
  1699  func (*Journal) ProtoMessage() {}
  1700  
  1701  func (x *Journal) ProtoReflect() protoreflect.Message {
  1702  	mi := &file_binlogdata_proto_msgTypes[16]
  1703  	if protoimpl.UnsafeEnabled && x != nil {
  1704  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1705  		if ms.LoadMessageInfo() == nil {
  1706  			ms.StoreMessageInfo(mi)
  1707  		}
  1708  		return ms
  1709  	}
  1710  	return mi.MessageOf(x)
  1711  }
  1712  
  1713  // Deprecated: Use Journal.ProtoReflect.Descriptor instead.
  1714  func (*Journal) Descriptor() ([]byte, []int) {
  1715  	return file_binlogdata_proto_rawDescGZIP(), []int{16}
  1716  }
  1717  
  1718  func (x *Journal) GetId() int64 {
  1719  	if x != nil {
  1720  		return x.Id
  1721  	}
  1722  	return 0
  1723  }
  1724  
  1725  func (x *Journal) GetMigrationType() MigrationType {
  1726  	if x != nil {
  1727  		return x.MigrationType
  1728  	}
  1729  	return MigrationType_TABLES
  1730  }
  1731  
  1732  func (x *Journal) GetTables() []string {
  1733  	if x != nil {
  1734  		return x.Tables
  1735  	}
  1736  	return nil
  1737  }
  1738  
  1739  func (x *Journal) GetLocalPosition() string {
  1740  	if x != nil {
  1741  		return x.LocalPosition
  1742  	}
  1743  	return ""
  1744  }
  1745  
  1746  func (x *Journal) GetShardGtids() []*ShardGtid {
  1747  	if x != nil {
  1748  		return x.ShardGtids
  1749  	}
  1750  	return nil
  1751  }
  1752  
  1753  func (x *Journal) GetParticipants() []*KeyspaceShard {
  1754  	if x != nil {
  1755  		return x.Participants
  1756  	}
  1757  	return nil
  1758  }
  1759  
  1760  func (x *Journal) GetSourceWorkflows() []string {
  1761  	if x != nil {
  1762  		return x.SourceWorkflows
  1763  	}
  1764  	return nil
  1765  }
  1766  
  1767  // VEvent represents a vstream event.
  1768  // A FieldEvent is sent once for every table, just before
  1769  // the first event for that table. The client is expected
  1770  // to cache this information and match it against the RowEvent
  1771  // which contains the table name.
  1772  // A GTID event always precedes a commitable event, which can be
  1773  // COMMIT, DDL or OTHER.
  1774  // OTHER events are non-material events that have no additional metadata.
  1775  type VEvent struct {
  1776  	state         protoimpl.MessageState
  1777  	sizeCache     protoimpl.SizeCache
  1778  	unknownFields protoimpl.UnknownFields
  1779  
  1780  	Type VEventType `protobuf:"varint,1,opt,name=type,proto3,enum=binlogdata.VEventType" json:"type,omitempty"`
  1781  	// Timestamp is the binlog timestamp in seconds.
  1782  	// The value should be ignored if 0.
  1783  	Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
  1784  	// Gtid is set if the event type is GTID.
  1785  	Gtid string `protobuf:"bytes,3,opt,name=gtid,proto3" json:"gtid,omitempty"`
  1786  	// Statement is set if the event type is DDL, DML or SAVEPOINT.
  1787  	Statement string `protobuf:"bytes,4,opt,name=statement,proto3" json:"statement,omitempty"`
  1788  	// RowEvent is set if the event type is ROW.
  1789  	RowEvent *RowEvent `protobuf:"bytes,5,opt,name=row_event,json=rowEvent,proto3" json:"row_event,omitempty"`
  1790  	// FieldEvent is set if the event type is FIELD.
  1791  	FieldEvent *FieldEvent `protobuf:"bytes,6,opt,name=field_event,json=fieldEvent,proto3" json:"field_event,omitempty"`
  1792  	// Vgtid is set if the event type is VGTID.
  1793  	// This event is only generated by VTGate's VStream function.
  1794  	Vgtid *VGtid `protobuf:"bytes,7,opt,name=vgtid,proto3" json:"vgtid,omitempty"`
  1795  	// Journal is set if the event type is JOURNAL.
  1796  	Journal *Journal `protobuf:"bytes,8,opt,name=journal,proto3" json:"journal,omitempty"`
  1797  	// Dml is set if the event type is INSERT, REPLACE, UPDATE or DELETE.
  1798  	Dml string `protobuf:"bytes,9,opt,name=dml,proto3" json:"dml,omitempty"`
  1799  	// CurrentTime specifies the current time when the message was sent.
  1800  	// This can be used to compenssate for clock skew.
  1801  	CurrentTime int64 `protobuf:"varint,20,opt,name=current_time,json=currentTime,proto3" json:"current_time,omitempty"`
  1802  	// LastPK is the last PK for a table
  1803  	LastPKEvent *LastPKEvent `protobuf:"bytes,21,opt,name=last_p_k_event,json=lastPKEvent,proto3" json:"last_p_k_event,omitempty"`
  1804  	// the source keyspace
  1805  	Keyspace string `protobuf:"bytes,22,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
  1806  	// the source shard
  1807  	Shard string `protobuf:"bytes,23,opt,name=shard,proto3" json:"shard,omitempty"`
  1808  	// indicate that we are being throttled right now
  1809  	Throttled bool `protobuf:"varint,24,opt,name=throttled,proto3" json:"throttled,omitempty"`
  1810  }
  1811  
  1812  func (x *VEvent) Reset() {
  1813  	*x = VEvent{}
  1814  	if protoimpl.UnsafeEnabled {
  1815  		mi := &file_binlogdata_proto_msgTypes[17]
  1816  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1817  		ms.StoreMessageInfo(mi)
  1818  	}
  1819  }
  1820  
  1821  func (x *VEvent) String() string {
  1822  	return protoimpl.X.MessageStringOf(x)
  1823  }
  1824  
  1825  func (*VEvent) ProtoMessage() {}
  1826  
  1827  func (x *VEvent) ProtoReflect() protoreflect.Message {
  1828  	mi := &file_binlogdata_proto_msgTypes[17]
  1829  	if protoimpl.UnsafeEnabled && x != nil {
  1830  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1831  		if ms.LoadMessageInfo() == nil {
  1832  			ms.StoreMessageInfo(mi)
  1833  		}
  1834  		return ms
  1835  	}
  1836  	return mi.MessageOf(x)
  1837  }
  1838  
  1839  // Deprecated: Use VEvent.ProtoReflect.Descriptor instead.
  1840  func (*VEvent) Descriptor() ([]byte, []int) {
  1841  	return file_binlogdata_proto_rawDescGZIP(), []int{17}
  1842  }
  1843  
  1844  func (x *VEvent) GetType() VEventType {
  1845  	if x != nil {
  1846  		return x.Type
  1847  	}
  1848  	return VEventType_UNKNOWN
  1849  }
  1850  
  1851  func (x *VEvent) GetTimestamp() int64 {
  1852  	if x != nil {
  1853  		return x.Timestamp
  1854  	}
  1855  	return 0
  1856  }
  1857  
  1858  func (x *VEvent) GetGtid() string {
  1859  	if x != nil {
  1860  		return x.Gtid
  1861  	}
  1862  	return ""
  1863  }
  1864  
  1865  func (x *VEvent) GetStatement() string {
  1866  	if x != nil {
  1867  		return x.Statement
  1868  	}
  1869  	return ""
  1870  }
  1871  
  1872  func (x *VEvent) GetRowEvent() *RowEvent {
  1873  	if x != nil {
  1874  		return x.RowEvent
  1875  	}
  1876  	return nil
  1877  }
  1878  
  1879  func (x *VEvent) GetFieldEvent() *FieldEvent {
  1880  	if x != nil {
  1881  		return x.FieldEvent
  1882  	}
  1883  	return nil
  1884  }
  1885  
  1886  func (x *VEvent) GetVgtid() *VGtid {
  1887  	if x != nil {
  1888  		return x.Vgtid
  1889  	}
  1890  	return nil
  1891  }
  1892  
  1893  func (x *VEvent) GetJournal() *Journal {
  1894  	if x != nil {
  1895  		return x.Journal
  1896  	}
  1897  	return nil
  1898  }
  1899  
  1900  func (x *VEvent) GetDml() string {
  1901  	if x != nil {
  1902  		return x.Dml
  1903  	}
  1904  	return ""
  1905  }
  1906  
  1907  func (x *VEvent) GetCurrentTime() int64 {
  1908  	if x != nil {
  1909  		return x.CurrentTime
  1910  	}
  1911  	return 0
  1912  }
  1913  
  1914  func (x *VEvent) GetLastPKEvent() *LastPKEvent {
  1915  	if x != nil {
  1916  		return x.LastPKEvent
  1917  	}
  1918  	return nil
  1919  }
  1920  
  1921  func (x *VEvent) GetKeyspace() string {
  1922  	if x != nil {
  1923  		return x.Keyspace
  1924  	}
  1925  	return ""
  1926  }
  1927  
  1928  func (x *VEvent) GetShard() string {
  1929  	if x != nil {
  1930  		return x.Shard
  1931  	}
  1932  	return ""
  1933  }
  1934  
  1935  func (x *VEvent) GetThrottled() bool {
  1936  	if x != nil {
  1937  		return x.Throttled
  1938  	}
  1939  	return false
  1940  }
  1941  
  1942  type MinimalTable struct {
  1943  	state         protoimpl.MessageState
  1944  	sizeCache     protoimpl.SizeCache
  1945  	unknownFields protoimpl.UnknownFields
  1946  
  1947  	Name      string         `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1948  	Fields    []*query.Field `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"`
  1949  	PKColumns []int64        `protobuf:"varint,3,rep,packed,name=p_k_columns,json=pKColumns,proto3" json:"p_k_columns,omitempty"`
  1950  }
  1951  
  1952  func (x *MinimalTable) Reset() {
  1953  	*x = MinimalTable{}
  1954  	if protoimpl.UnsafeEnabled {
  1955  		mi := &file_binlogdata_proto_msgTypes[18]
  1956  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1957  		ms.StoreMessageInfo(mi)
  1958  	}
  1959  }
  1960  
  1961  func (x *MinimalTable) String() string {
  1962  	return protoimpl.X.MessageStringOf(x)
  1963  }
  1964  
  1965  func (*MinimalTable) ProtoMessage() {}
  1966  
  1967  func (x *MinimalTable) ProtoReflect() protoreflect.Message {
  1968  	mi := &file_binlogdata_proto_msgTypes[18]
  1969  	if protoimpl.UnsafeEnabled && x != nil {
  1970  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1971  		if ms.LoadMessageInfo() == nil {
  1972  			ms.StoreMessageInfo(mi)
  1973  		}
  1974  		return ms
  1975  	}
  1976  	return mi.MessageOf(x)
  1977  }
  1978  
  1979  // Deprecated: Use MinimalTable.ProtoReflect.Descriptor instead.
  1980  func (*MinimalTable) Descriptor() ([]byte, []int) {
  1981  	return file_binlogdata_proto_rawDescGZIP(), []int{18}
  1982  }
  1983  
  1984  func (x *MinimalTable) GetName() string {
  1985  	if x != nil {
  1986  		return x.Name
  1987  	}
  1988  	return ""
  1989  }
  1990  
  1991  func (x *MinimalTable) GetFields() []*query.Field {
  1992  	if x != nil {
  1993  		return x.Fields
  1994  	}
  1995  	return nil
  1996  }
  1997  
  1998  func (x *MinimalTable) GetPKColumns() []int64 {
  1999  	if x != nil {
  2000  		return x.PKColumns
  2001  	}
  2002  	return nil
  2003  }
  2004  
  2005  type MinimalSchema struct {
  2006  	state         protoimpl.MessageState
  2007  	sizeCache     protoimpl.SizeCache
  2008  	unknownFields protoimpl.UnknownFields
  2009  
  2010  	Tables []*MinimalTable `protobuf:"bytes,1,rep,name=tables,proto3" json:"tables,omitempty"`
  2011  }
  2012  
  2013  func (x *MinimalSchema) Reset() {
  2014  	*x = MinimalSchema{}
  2015  	if protoimpl.UnsafeEnabled {
  2016  		mi := &file_binlogdata_proto_msgTypes[19]
  2017  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2018  		ms.StoreMessageInfo(mi)
  2019  	}
  2020  }
  2021  
  2022  func (x *MinimalSchema) String() string {
  2023  	return protoimpl.X.MessageStringOf(x)
  2024  }
  2025  
  2026  func (*MinimalSchema) ProtoMessage() {}
  2027  
  2028  func (x *MinimalSchema) ProtoReflect() protoreflect.Message {
  2029  	mi := &file_binlogdata_proto_msgTypes[19]
  2030  	if protoimpl.UnsafeEnabled && x != nil {
  2031  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2032  		if ms.LoadMessageInfo() == nil {
  2033  			ms.StoreMessageInfo(mi)
  2034  		}
  2035  		return ms
  2036  	}
  2037  	return mi.MessageOf(x)
  2038  }
  2039  
  2040  // Deprecated: Use MinimalSchema.ProtoReflect.Descriptor instead.
  2041  func (*MinimalSchema) Descriptor() ([]byte, []int) {
  2042  	return file_binlogdata_proto_rawDescGZIP(), []int{19}
  2043  }
  2044  
  2045  func (x *MinimalSchema) GetTables() []*MinimalTable {
  2046  	if x != nil {
  2047  		return x.Tables
  2048  	}
  2049  	return nil
  2050  }
  2051  
  2052  // VStreamRequest is the payload for VStreamer
  2053  type VStreamRequest struct {
  2054  	state         protoimpl.MessageState
  2055  	sizeCache     protoimpl.SizeCache
  2056  	unknownFields protoimpl.UnknownFields
  2057  
  2058  	EffectiveCallerId *vtrpc.CallerID       `protobuf:"bytes,1,opt,name=effective_caller_id,json=effectiveCallerId,proto3" json:"effective_caller_id,omitempty"`
  2059  	ImmediateCallerId *query.VTGateCallerID `protobuf:"bytes,2,opt,name=immediate_caller_id,json=immediateCallerId,proto3" json:"immediate_caller_id,omitempty"`
  2060  	Target            *query.Target         `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
  2061  	Position          string                `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
  2062  	Filter            *Filter               `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
  2063  	TableLastPKs      []*TableLastPK        `protobuf:"bytes,6,rep,name=table_last_p_ks,json=tableLastPKs,proto3" json:"table_last_p_ks,omitempty"`
  2064  }
  2065  
  2066  func (x *VStreamRequest) Reset() {
  2067  	*x = VStreamRequest{}
  2068  	if protoimpl.UnsafeEnabled {
  2069  		mi := &file_binlogdata_proto_msgTypes[20]
  2070  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2071  		ms.StoreMessageInfo(mi)
  2072  	}
  2073  }
  2074  
  2075  func (x *VStreamRequest) String() string {
  2076  	return protoimpl.X.MessageStringOf(x)
  2077  }
  2078  
  2079  func (*VStreamRequest) ProtoMessage() {}
  2080  
  2081  func (x *VStreamRequest) ProtoReflect() protoreflect.Message {
  2082  	mi := &file_binlogdata_proto_msgTypes[20]
  2083  	if protoimpl.UnsafeEnabled && x != nil {
  2084  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2085  		if ms.LoadMessageInfo() == nil {
  2086  			ms.StoreMessageInfo(mi)
  2087  		}
  2088  		return ms
  2089  	}
  2090  	return mi.MessageOf(x)
  2091  }
  2092  
  2093  // Deprecated: Use VStreamRequest.ProtoReflect.Descriptor instead.
  2094  func (*VStreamRequest) Descriptor() ([]byte, []int) {
  2095  	return file_binlogdata_proto_rawDescGZIP(), []int{20}
  2096  }
  2097  
  2098  func (x *VStreamRequest) GetEffectiveCallerId() *vtrpc.CallerID {
  2099  	if x != nil {
  2100  		return x.EffectiveCallerId
  2101  	}
  2102  	return nil
  2103  }
  2104  
  2105  func (x *VStreamRequest) GetImmediateCallerId() *query.VTGateCallerID {
  2106  	if x != nil {
  2107  		return x.ImmediateCallerId
  2108  	}
  2109  	return nil
  2110  }
  2111  
  2112  func (x *VStreamRequest) GetTarget() *query.Target {
  2113  	if x != nil {
  2114  		return x.Target
  2115  	}
  2116  	return nil
  2117  }
  2118  
  2119  func (x *VStreamRequest) GetPosition() string {
  2120  	if x != nil {
  2121  		return x.Position
  2122  	}
  2123  	return ""
  2124  }
  2125  
  2126  func (x *VStreamRequest) GetFilter() *Filter {
  2127  	if x != nil {
  2128  		return x.Filter
  2129  	}
  2130  	return nil
  2131  }
  2132  
  2133  func (x *VStreamRequest) GetTableLastPKs() []*TableLastPK {
  2134  	if x != nil {
  2135  		return x.TableLastPKs
  2136  	}
  2137  	return nil
  2138  }
  2139  
  2140  // VStreamResponse is the response from VStreamer
  2141  type VStreamResponse struct {
  2142  	state         protoimpl.MessageState
  2143  	sizeCache     protoimpl.SizeCache
  2144  	unknownFields protoimpl.UnknownFields
  2145  
  2146  	Events []*VEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
  2147  }
  2148  
  2149  func (x *VStreamResponse) Reset() {
  2150  	*x = VStreamResponse{}
  2151  	if protoimpl.UnsafeEnabled {
  2152  		mi := &file_binlogdata_proto_msgTypes[21]
  2153  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2154  		ms.StoreMessageInfo(mi)
  2155  	}
  2156  }
  2157  
  2158  func (x *VStreamResponse) String() string {
  2159  	return protoimpl.X.MessageStringOf(x)
  2160  }
  2161  
  2162  func (*VStreamResponse) ProtoMessage() {}
  2163  
  2164  func (x *VStreamResponse) ProtoReflect() protoreflect.Message {
  2165  	mi := &file_binlogdata_proto_msgTypes[21]
  2166  	if protoimpl.UnsafeEnabled && x != nil {
  2167  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2168  		if ms.LoadMessageInfo() == nil {
  2169  			ms.StoreMessageInfo(mi)
  2170  		}
  2171  		return ms
  2172  	}
  2173  	return mi.MessageOf(x)
  2174  }
  2175  
  2176  // Deprecated: Use VStreamResponse.ProtoReflect.Descriptor instead.
  2177  func (*VStreamResponse) Descriptor() ([]byte, []int) {
  2178  	return file_binlogdata_proto_rawDescGZIP(), []int{21}
  2179  }
  2180  
  2181  func (x *VStreamResponse) GetEvents() []*VEvent {
  2182  	if x != nil {
  2183  		return x.Events
  2184  	}
  2185  	return nil
  2186  }
  2187  
  2188  // VStreamRowsRequest is the payload for VStreamRows
  2189  type VStreamRowsRequest struct {
  2190  	state         protoimpl.MessageState
  2191  	sizeCache     protoimpl.SizeCache
  2192  	unknownFields protoimpl.UnknownFields
  2193  
  2194  	EffectiveCallerId *vtrpc.CallerID       `protobuf:"bytes,1,opt,name=effective_caller_id,json=effectiveCallerId,proto3" json:"effective_caller_id,omitempty"`
  2195  	ImmediateCallerId *query.VTGateCallerID `protobuf:"bytes,2,opt,name=immediate_caller_id,json=immediateCallerId,proto3" json:"immediate_caller_id,omitempty"`
  2196  	Target            *query.Target         `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
  2197  	Query             string                `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"`
  2198  	Lastpk            *query.QueryResult    `protobuf:"bytes,5,opt,name=lastpk,proto3" json:"lastpk,omitempty"`
  2199  }
  2200  
  2201  func (x *VStreamRowsRequest) Reset() {
  2202  	*x = VStreamRowsRequest{}
  2203  	if protoimpl.UnsafeEnabled {
  2204  		mi := &file_binlogdata_proto_msgTypes[22]
  2205  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2206  		ms.StoreMessageInfo(mi)
  2207  	}
  2208  }
  2209  
  2210  func (x *VStreamRowsRequest) String() string {
  2211  	return protoimpl.X.MessageStringOf(x)
  2212  }
  2213  
  2214  func (*VStreamRowsRequest) ProtoMessage() {}
  2215  
  2216  func (x *VStreamRowsRequest) ProtoReflect() protoreflect.Message {
  2217  	mi := &file_binlogdata_proto_msgTypes[22]
  2218  	if protoimpl.UnsafeEnabled && x != nil {
  2219  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2220  		if ms.LoadMessageInfo() == nil {
  2221  			ms.StoreMessageInfo(mi)
  2222  		}
  2223  		return ms
  2224  	}
  2225  	return mi.MessageOf(x)
  2226  }
  2227  
  2228  // Deprecated: Use VStreamRowsRequest.ProtoReflect.Descriptor instead.
  2229  func (*VStreamRowsRequest) Descriptor() ([]byte, []int) {
  2230  	return file_binlogdata_proto_rawDescGZIP(), []int{22}
  2231  }
  2232  
  2233  func (x *VStreamRowsRequest) GetEffectiveCallerId() *vtrpc.CallerID {
  2234  	if x != nil {
  2235  		return x.EffectiveCallerId
  2236  	}
  2237  	return nil
  2238  }
  2239  
  2240  func (x *VStreamRowsRequest) GetImmediateCallerId() *query.VTGateCallerID {
  2241  	if x != nil {
  2242  		return x.ImmediateCallerId
  2243  	}
  2244  	return nil
  2245  }
  2246  
  2247  func (x *VStreamRowsRequest) GetTarget() *query.Target {
  2248  	if x != nil {
  2249  		return x.Target
  2250  	}
  2251  	return nil
  2252  }
  2253  
  2254  func (x *VStreamRowsRequest) GetQuery() string {
  2255  	if x != nil {
  2256  		return x.Query
  2257  	}
  2258  	return ""
  2259  }
  2260  
  2261  func (x *VStreamRowsRequest) GetLastpk() *query.QueryResult {
  2262  	if x != nil {
  2263  		return x.Lastpk
  2264  	}
  2265  	return nil
  2266  }
  2267  
  2268  // VStreamRowsResponse is the response from VStreamRows
  2269  type VStreamRowsResponse struct {
  2270  	state         protoimpl.MessageState
  2271  	sizeCache     protoimpl.SizeCache
  2272  	unknownFields protoimpl.UnknownFields
  2273  
  2274  	Fields   []*query.Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"`
  2275  	Pkfields []*query.Field `protobuf:"bytes,2,rep,name=pkfields,proto3" json:"pkfields,omitempty"`
  2276  	Gtid     string         `protobuf:"bytes,3,opt,name=gtid,proto3" json:"gtid,omitempty"`
  2277  	Rows     []*query.Row   `protobuf:"bytes,4,rep,name=rows,proto3" json:"rows,omitempty"`
  2278  	Lastpk   *query.Row     `protobuf:"bytes,5,opt,name=lastpk,proto3" json:"lastpk,omitempty"`
  2279  	// Throttled indicates that rowstreamer is being throttled right now
  2280  	Throttled bool `protobuf:"varint,6,opt,name=throttled,proto3" json:"throttled,omitempty"`
  2281  	// Heartbeat indicates that this is a heartbeat message
  2282  	Heartbeat bool `protobuf:"varint,7,opt,name=heartbeat,proto3" json:"heartbeat,omitempty"`
  2283  }
  2284  
  2285  func (x *VStreamRowsResponse) Reset() {
  2286  	*x = VStreamRowsResponse{}
  2287  	if protoimpl.UnsafeEnabled {
  2288  		mi := &file_binlogdata_proto_msgTypes[23]
  2289  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2290  		ms.StoreMessageInfo(mi)
  2291  	}
  2292  }
  2293  
  2294  func (x *VStreamRowsResponse) String() string {
  2295  	return protoimpl.X.MessageStringOf(x)
  2296  }
  2297  
  2298  func (*VStreamRowsResponse) ProtoMessage() {}
  2299  
  2300  func (x *VStreamRowsResponse) ProtoReflect() protoreflect.Message {
  2301  	mi := &file_binlogdata_proto_msgTypes[23]
  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 VStreamRowsResponse.ProtoReflect.Descriptor instead.
  2313  func (*VStreamRowsResponse) Descriptor() ([]byte, []int) {
  2314  	return file_binlogdata_proto_rawDescGZIP(), []int{23}
  2315  }
  2316  
  2317  func (x *VStreamRowsResponse) GetFields() []*query.Field {
  2318  	if x != nil {
  2319  		return x.Fields
  2320  	}
  2321  	return nil
  2322  }
  2323  
  2324  func (x *VStreamRowsResponse) GetPkfields() []*query.Field {
  2325  	if x != nil {
  2326  		return x.Pkfields
  2327  	}
  2328  	return nil
  2329  }
  2330  
  2331  func (x *VStreamRowsResponse) GetGtid() string {
  2332  	if x != nil {
  2333  		return x.Gtid
  2334  	}
  2335  	return ""
  2336  }
  2337  
  2338  func (x *VStreamRowsResponse) GetRows() []*query.Row {
  2339  	if x != nil {
  2340  		return x.Rows
  2341  	}
  2342  	return nil
  2343  }
  2344  
  2345  func (x *VStreamRowsResponse) GetLastpk() *query.Row {
  2346  	if x != nil {
  2347  		return x.Lastpk
  2348  	}
  2349  	return nil
  2350  }
  2351  
  2352  func (x *VStreamRowsResponse) GetThrottled() bool {
  2353  	if x != nil {
  2354  		return x.Throttled
  2355  	}
  2356  	return false
  2357  }
  2358  
  2359  func (x *VStreamRowsResponse) GetHeartbeat() bool {
  2360  	if x != nil {
  2361  		return x.Heartbeat
  2362  	}
  2363  	return false
  2364  }
  2365  
  2366  type LastPKEvent struct {
  2367  	state         protoimpl.MessageState
  2368  	sizeCache     protoimpl.SizeCache
  2369  	unknownFields protoimpl.UnknownFields
  2370  
  2371  	TableLastPK *TableLastPK `protobuf:"bytes,1,opt,name=table_last_p_k,json=tableLastPK,proto3" json:"table_last_p_k,omitempty"`
  2372  	Completed   bool         `protobuf:"varint,2,opt,name=completed,proto3" json:"completed,omitempty"`
  2373  }
  2374  
  2375  func (x *LastPKEvent) Reset() {
  2376  	*x = LastPKEvent{}
  2377  	if protoimpl.UnsafeEnabled {
  2378  		mi := &file_binlogdata_proto_msgTypes[24]
  2379  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2380  		ms.StoreMessageInfo(mi)
  2381  	}
  2382  }
  2383  
  2384  func (x *LastPKEvent) String() string {
  2385  	return protoimpl.X.MessageStringOf(x)
  2386  }
  2387  
  2388  func (*LastPKEvent) ProtoMessage() {}
  2389  
  2390  func (x *LastPKEvent) ProtoReflect() protoreflect.Message {
  2391  	mi := &file_binlogdata_proto_msgTypes[24]
  2392  	if protoimpl.UnsafeEnabled && x != nil {
  2393  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2394  		if ms.LoadMessageInfo() == nil {
  2395  			ms.StoreMessageInfo(mi)
  2396  		}
  2397  		return ms
  2398  	}
  2399  	return mi.MessageOf(x)
  2400  }
  2401  
  2402  // Deprecated: Use LastPKEvent.ProtoReflect.Descriptor instead.
  2403  func (*LastPKEvent) Descriptor() ([]byte, []int) {
  2404  	return file_binlogdata_proto_rawDescGZIP(), []int{24}
  2405  }
  2406  
  2407  func (x *LastPKEvent) GetTableLastPK() *TableLastPK {
  2408  	if x != nil {
  2409  		return x.TableLastPK
  2410  	}
  2411  	return nil
  2412  }
  2413  
  2414  func (x *LastPKEvent) GetCompleted() bool {
  2415  	if x != nil {
  2416  		return x.Completed
  2417  	}
  2418  	return false
  2419  }
  2420  
  2421  type TableLastPK struct {
  2422  	state         protoimpl.MessageState
  2423  	sizeCache     protoimpl.SizeCache
  2424  	unknownFields protoimpl.UnknownFields
  2425  
  2426  	TableName string             `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
  2427  	Lastpk    *query.QueryResult `protobuf:"bytes,3,opt,name=lastpk,proto3" json:"lastpk,omitempty"`
  2428  }
  2429  
  2430  func (x *TableLastPK) Reset() {
  2431  	*x = TableLastPK{}
  2432  	if protoimpl.UnsafeEnabled {
  2433  		mi := &file_binlogdata_proto_msgTypes[25]
  2434  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2435  		ms.StoreMessageInfo(mi)
  2436  	}
  2437  }
  2438  
  2439  func (x *TableLastPK) String() string {
  2440  	return protoimpl.X.MessageStringOf(x)
  2441  }
  2442  
  2443  func (*TableLastPK) ProtoMessage() {}
  2444  
  2445  func (x *TableLastPK) ProtoReflect() protoreflect.Message {
  2446  	mi := &file_binlogdata_proto_msgTypes[25]
  2447  	if protoimpl.UnsafeEnabled && x != nil {
  2448  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2449  		if ms.LoadMessageInfo() == nil {
  2450  			ms.StoreMessageInfo(mi)
  2451  		}
  2452  		return ms
  2453  	}
  2454  	return mi.MessageOf(x)
  2455  }
  2456  
  2457  // Deprecated: Use TableLastPK.ProtoReflect.Descriptor instead.
  2458  func (*TableLastPK) Descriptor() ([]byte, []int) {
  2459  	return file_binlogdata_proto_rawDescGZIP(), []int{25}
  2460  }
  2461  
  2462  func (x *TableLastPK) GetTableName() string {
  2463  	if x != nil {
  2464  		return x.TableName
  2465  	}
  2466  	return ""
  2467  }
  2468  
  2469  func (x *TableLastPK) GetLastpk() *query.QueryResult {
  2470  	if x != nil {
  2471  		return x.Lastpk
  2472  	}
  2473  	return nil
  2474  }
  2475  
  2476  // VStreamResultsRequest is the payload for VStreamResults
  2477  // The ids match VStreamRows, in case we decide to merge the two.
  2478  // The ids match VStreamRows, in case we decide to merge the two.
  2479  type VStreamResultsRequest struct {
  2480  	state         protoimpl.MessageState
  2481  	sizeCache     protoimpl.SizeCache
  2482  	unknownFields protoimpl.UnknownFields
  2483  
  2484  	EffectiveCallerId *vtrpc.CallerID       `protobuf:"bytes,1,opt,name=effective_caller_id,json=effectiveCallerId,proto3" json:"effective_caller_id,omitempty"`
  2485  	ImmediateCallerId *query.VTGateCallerID `protobuf:"bytes,2,opt,name=immediate_caller_id,json=immediateCallerId,proto3" json:"immediate_caller_id,omitempty"`
  2486  	Target            *query.Target         `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
  2487  	Query             string                `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"`
  2488  }
  2489  
  2490  func (x *VStreamResultsRequest) Reset() {
  2491  	*x = VStreamResultsRequest{}
  2492  	if protoimpl.UnsafeEnabled {
  2493  		mi := &file_binlogdata_proto_msgTypes[26]
  2494  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2495  		ms.StoreMessageInfo(mi)
  2496  	}
  2497  }
  2498  
  2499  func (x *VStreamResultsRequest) String() string {
  2500  	return protoimpl.X.MessageStringOf(x)
  2501  }
  2502  
  2503  func (*VStreamResultsRequest) ProtoMessage() {}
  2504  
  2505  func (x *VStreamResultsRequest) ProtoReflect() protoreflect.Message {
  2506  	mi := &file_binlogdata_proto_msgTypes[26]
  2507  	if protoimpl.UnsafeEnabled && x != nil {
  2508  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2509  		if ms.LoadMessageInfo() == nil {
  2510  			ms.StoreMessageInfo(mi)
  2511  		}
  2512  		return ms
  2513  	}
  2514  	return mi.MessageOf(x)
  2515  }
  2516  
  2517  // Deprecated: Use VStreamResultsRequest.ProtoReflect.Descriptor instead.
  2518  func (*VStreamResultsRequest) Descriptor() ([]byte, []int) {
  2519  	return file_binlogdata_proto_rawDescGZIP(), []int{26}
  2520  }
  2521  
  2522  func (x *VStreamResultsRequest) GetEffectiveCallerId() *vtrpc.CallerID {
  2523  	if x != nil {
  2524  		return x.EffectiveCallerId
  2525  	}
  2526  	return nil
  2527  }
  2528  
  2529  func (x *VStreamResultsRequest) GetImmediateCallerId() *query.VTGateCallerID {
  2530  	if x != nil {
  2531  		return x.ImmediateCallerId
  2532  	}
  2533  	return nil
  2534  }
  2535  
  2536  func (x *VStreamResultsRequest) GetTarget() *query.Target {
  2537  	if x != nil {
  2538  		return x.Target
  2539  	}
  2540  	return nil
  2541  }
  2542  
  2543  func (x *VStreamResultsRequest) GetQuery() string {
  2544  	if x != nil {
  2545  		return x.Query
  2546  	}
  2547  	return ""
  2548  }
  2549  
  2550  // VStreamResultsResponse is the response from VStreamResults
  2551  // The ids match VStreamRows, in case we decide to merge the two.
  2552  type VStreamResultsResponse struct {
  2553  	state         protoimpl.MessageState
  2554  	sizeCache     protoimpl.SizeCache
  2555  	unknownFields protoimpl.UnknownFields
  2556  
  2557  	Fields []*query.Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"`
  2558  	Gtid   string         `protobuf:"bytes,3,opt,name=gtid,proto3" json:"gtid,omitempty"`
  2559  	Rows   []*query.Row   `protobuf:"bytes,4,rep,name=rows,proto3" json:"rows,omitempty"`
  2560  }
  2561  
  2562  func (x *VStreamResultsResponse) Reset() {
  2563  	*x = VStreamResultsResponse{}
  2564  	if protoimpl.UnsafeEnabled {
  2565  		mi := &file_binlogdata_proto_msgTypes[27]
  2566  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2567  		ms.StoreMessageInfo(mi)
  2568  	}
  2569  }
  2570  
  2571  func (x *VStreamResultsResponse) String() string {
  2572  	return protoimpl.X.MessageStringOf(x)
  2573  }
  2574  
  2575  func (*VStreamResultsResponse) ProtoMessage() {}
  2576  
  2577  func (x *VStreamResultsResponse) ProtoReflect() protoreflect.Message {
  2578  	mi := &file_binlogdata_proto_msgTypes[27]
  2579  	if protoimpl.UnsafeEnabled && x != nil {
  2580  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2581  		if ms.LoadMessageInfo() == nil {
  2582  			ms.StoreMessageInfo(mi)
  2583  		}
  2584  		return ms
  2585  	}
  2586  	return mi.MessageOf(x)
  2587  }
  2588  
  2589  // Deprecated: Use VStreamResultsResponse.ProtoReflect.Descriptor instead.
  2590  func (*VStreamResultsResponse) Descriptor() ([]byte, []int) {
  2591  	return file_binlogdata_proto_rawDescGZIP(), []int{27}
  2592  }
  2593  
  2594  func (x *VStreamResultsResponse) GetFields() []*query.Field {
  2595  	if x != nil {
  2596  		return x.Fields
  2597  	}
  2598  	return nil
  2599  }
  2600  
  2601  func (x *VStreamResultsResponse) GetGtid() string {
  2602  	if x != nil {
  2603  		return x.Gtid
  2604  	}
  2605  	return ""
  2606  }
  2607  
  2608  func (x *VStreamResultsResponse) GetRows() []*query.Row {
  2609  	if x != nil {
  2610  		return x.Rows
  2611  	}
  2612  	return nil
  2613  }
  2614  
  2615  type BinlogTransaction_Statement struct {
  2616  	state         protoimpl.MessageState
  2617  	sizeCache     protoimpl.SizeCache
  2618  	unknownFields protoimpl.UnknownFields
  2619  
  2620  	// what type of statement is this?
  2621  	Category BinlogTransaction_Statement_Category `protobuf:"varint,1,opt,name=category,proto3,enum=binlogdata.BinlogTransaction_Statement_Category" json:"category,omitempty"`
  2622  	// charset of this statement, if different from pre-negotiated default.
  2623  	Charset *Charset `protobuf:"bytes,2,opt,name=charset,proto3" json:"charset,omitempty"`
  2624  	// the sql
  2625  	Sql []byte `protobuf:"bytes,3,opt,name=sql,proto3" json:"sql,omitempty"`
  2626  }
  2627  
  2628  func (x *BinlogTransaction_Statement) Reset() {
  2629  	*x = BinlogTransaction_Statement{}
  2630  	if protoimpl.UnsafeEnabled {
  2631  		mi := &file_binlogdata_proto_msgTypes[28]
  2632  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2633  		ms.StoreMessageInfo(mi)
  2634  	}
  2635  }
  2636  
  2637  func (x *BinlogTransaction_Statement) String() string {
  2638  	return protoimpl.X.MessageStringOf(x)
  2639  }
  2640  
  2641  func (*BinlogTransaction_Statement) ProtoMessage() {}
  2642  
  2643  func (x *BinlogTransaction_Statement) ProtoReflect() protoreflect.Message {
  2644  	mi := &file_binlogdata_proto_msgTypes[28]
  2645  	if protoimpl.UnsafeEnabled && x != nil {
  2646  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2647  		if ms.LoadMessageInfo() == nil {
  2648  			ms.StoreMessageInfo(mi)
  2649  		}
  2650  		return ms
  2651  	}
  2652  	return mi.MessageOf(x)
  2653  }
  2654  
  2655  // Deprecated: Use BinlogTransaction_Statement.ProtoReflect.Descriptor instead.
  2656  func (*BinlogTransaction_Statement) Descriptor() ([]byte, []int) {
  2657  	return file_binlogdata_proto_rawDescGZIP(), []int{1, 0}
  2658  }
  2659  
  2660  func (x *BinlogTransaction_Statement) GetCategory() BinlogTransaction_Statement_Category {
  2661  	if x != nil {
  2662  		return x.Category
  2663  	}
  2664  	return BinlogTransaction_Statement_BL_UNRECOGNIZED
  2665  }
  2666  
  2667  func (x *BinlogTransaction_Statement) GetCharset() *Charset {
  2668  	if x != nil {
  2669  		return x.Charset
  2670  	}
  2671  	return nil
  2672  }
  2673  
  2674  func (x *BinlogTransaction_Statement) GetSql() []byte {
  2675  	if x != nil {
  2676  		return x.Sql
  2677  	}
  2678  	return nil
  2679  }
  2680  
  2681  var File_binlogdata_proto protoreflect.FileDescriptor
  2682  
  2683  var file_binlogdata_proto_rawDesc = []byte{
  2684  	0x0a, 0x10, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
  2685  	0x74, 0x6f, 0x12, 0x0a, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x0b,
  2686  	0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x71, 0x75, 0x65,
  2687  	0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
  2688  	0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x72,
  2689  	0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
  2690  	0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63,
  2691  	0x6f, 0x6e, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x6e, 0x12,
  2692  	0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
  2693  	0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0xe5, 0x03, 0x0a, 0x11, 0x42, 0x69, 0x6e, 0x6c,
  2694  	0x6f, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a,
  2695  	0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  2696  	0x0b, 0x32, 0x27, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42,
  2697  	0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  2698  	0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74,
  2699  	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f,
  2700  	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75,
  2701  	0x65, 0x72, 0x79, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0a,
  2702  	0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0xc6, 0x02, 0x0a, 0x09, 0x53,
  2703  	0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65,
  2704  	0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x62, 0x69, 0x6e,
  2705  	0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x54, 0x72,
  2706  	0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d,
  2707  	0x65, 0x6e, 0x74, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x63, 0x61,
  2708  	0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65,
  2709  	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
  2710  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x52, 0x07, 0x63, 0x68,
  2711  	0x61, 0x72, 0x73, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x03, 0x20, 0x01,
  2712  	0x28, 0x0c, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x22, 0xa9, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65,
  2713  	0x67, 0x6f, 0x72, 0x79, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x4c, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x43,
  2714  	0x4f, 0x47, 0x4e, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x4c, 0x5f,
  2715  	0x42, 0x45, 0x47, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x5f, 0x43, 0x4f,
  2716  	0x4d, 0x4d, 0x49, 0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x4c, 0x5f, 0x52, 0x4f, 0x4c,
  2717  	0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x4c, 0x5f, 0x44, 0x4d,
  2718  	0x4c, 0x5f, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0a,
  2719  	0x0a, 0x06, 0x42, 0x4c, 0x5f, 0x44, 0x44, 0x4c, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x4c,
  2720  	0x5f, 0x53, 0x45, 0x54, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x5f, 0x49, 0x4e, 0x53,
  2721  	0x45, 0x52, 0x54, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x5f, 0x55, 0x50, 0x44, 0x41,
  2722  	0x54, 0x45, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54,
  2723  	0x45, 0x10, 0x09, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22,
  2724  	0x93, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e,
  2725  	0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73,
  2726  	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73,
  2727  	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e,
  2728  	0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
  2729  	0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65,
  2730  	0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65,
  2731  	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
  2732  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x52, 0x07, 0x63, 0x68,
  2733  	0x61, 0x72, 0x73, 0x65, 0x74, 0x22, 0x66, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b,
  2734  	0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
  2735  	0x4c, 0x0a, 0x12, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
  2736  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x69,
  2737  	0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x54,
  2738  	0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x62, 0x69, 0x6e, 0x6c,
  2739  	0x6f, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x0a,
  2740  	0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71,
  2741  	0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
  2742  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
  2743  	0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
  2744  	0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72,
  2745  	0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x69, 0x6e, 0x6c,
  2746  	0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x52, 0x07,
  2747  	0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x22, 0x64, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61,
  2748  	0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
  2749  	0x4c, 0x0a, 0x12, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
  2750  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x69,
  2751  	0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x54,
  2752  	0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x62, 0x69, 0x6e, 0x6c,
  2753  	0x6f, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x0a,
  2754  	0x11, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69,
  2755  	0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x73,
  2756  	0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x68,
  2757  	0x61, 0x72, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x5f, 0x63, 0x68, 0x61, 0x72,
  2758  	0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x43, 0x68, 0x61,
  2759  	0x72, 0x73, 0x65, 0x74, 0x22, 0xdf, 0x05, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x14, 0x0a,
  2760  	0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61,
  2761  	0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20,
  2762  	0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x58, 0x0a, 0x14, 0x63,
  2763  	0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x5f, 0x74,
  2764  	0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x69, 0x6e, 0x6c,
  2765  	0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x76,
  2766  	0x65, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x6f, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74,
  2767  	0x72, 0x79, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x54,
  2768  	0x6f, 0x54, 0x65, 0x78, 0x74, 0x12, 0x4d, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74,
  2769  	0x5f, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
  2770  	0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6c, 0x65,
  2771  	0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x45,
  2772  	0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61,
  2773  	0x72, 0x73, 0x65, 0x74, 0x12, 0x39, 0x0a, 0x19, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75,
  2774  	0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
  2775  	0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55,
  2776  	0x6e, 0x69, 0x71, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12,
  2777  	0x39, 0x0a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65,
  2778  	0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01,
  2779  	0x28, 0x09, 0x52, 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65,
  2780  	0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x20, 0x73, 0x6f,
  2781  	0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
  2782  	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x07,
  2783  	0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x6e, 0x69, 0x71,
  2784  	0x75, 0x65, 0x4b, 0x65, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d,
  2785  	0x6e, 0x73, 0x12, 0x55, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e,
  2786  	0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32,
  2787  	0x26, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6c,
  2788  	0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x54, 0x6f, 0x45, 0x6e,
  2789  	0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74,
  2790  	0x49, 0x6e, 0x74, 0x54, 0x6f, 0x45, 0x6e, 0x75, 0x6d, 0x1a, 0x44, 0x0a, 0x16, 0x43, 0x6f, 0x6e,
  2791  	0x76, 0x65, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x6f, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e,
  2792  	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  2793  	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
  2794  	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
  2795  	0x60, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65,
  2796  	0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
  2797  	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
  2798  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
  2799  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76,
  2800  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
  2801  	0x01, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x54,
  2802  	0x6f, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
  2803  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
  2804  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c,
  2805  	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xff, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65,
  2806  	0x72, 0x12, 0x26, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
  2807  	0x32, 0x10, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75,
  2808  	0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x10, 0x66, 0x69, 0x65,
  2809  	0x6c, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
  2810  	0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61,
  2811  	0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65,
  2812  	0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65,
  2813  	0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
  2814  	0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x77,
  2815  	0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x77,
  2816  	0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
  2817  	0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65,
  2818  	0x22, 0x36, 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x6f,
  2819  	0x64, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x52, 0x52, 0x5f, 0x4f, 0x4e, 0x5f, 0x4d, 0x49, 0x53,
  2820  	0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x45, 0x53, 0x54, 0x5f,
  2821  	0x45, 0x46, 0x46, 0x4f, 0x52, 0x54, 0x10, 0x01, 0x22, 0xea, 0x03, 0x0a, 0x0c, 0x42, 0x69, 0x6e,
  2822  	0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
  2823  	0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
  2824  	0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02,
  2825  	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x0b, 0x74,
  2826  	0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
  2827  	0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
  2828  	0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79,
  2829  	0x70, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18,
  2830  	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
  2831  	0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61,
  2832  	0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20,
  2833  	0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x66,
  2834  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69,
  2835  	0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52,
  2836  	0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64,
  2837  	0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
  2838  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x6e, 0x44, 0x44, 0x4c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  2839  	0x52, 0x05, 0x6f, 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x72,
  2840  	0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
  2841  	0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x12, 0x26,
  2842  	0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70,
  2843  	0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74,
  2844  	0x65, 0x72, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e,
  2845  	0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
  2846  	0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
  2847  	0x72, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
  2848  	0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75,
  2849  	0x72, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74,
  2850  	0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18,
  2851  	0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d,
  2852  	0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x22, 0x51, 0x0a, 0x09, 0x52, 0x6f, 0x77, 0x43, 0x68, 0x61, 0x6e,
  2853  	0x67, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01,
  2854  	0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x06,
  2855  	0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18,
  2856  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f,
  2857  	0x77, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x22, 0x93, 0x01, 0x0a, 0x08, 0x52, 0x6f, 0x77,
  2858  	0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e,
  2859  	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65,
  2860  	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x61, 0x6e,
  2861  	0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x69, 0x6e, 0x6c,
  2862  	0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x6f, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
  2863  	0x52, 0x0a, 0x72, 0x6f, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08,
  2864  	0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
  2865  	0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
  2866  	0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x83,
  2867  	0x01, 0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a,
  2868  	0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  2869  	0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x06,
  2870  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71,
  2871  	0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c,
  2872  	0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03,
  2873  	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
  2874  	0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
  2875  	0x68, 0x61, 0x72, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x72, 0x64, 0x47, 0x74,
  2876  	0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
  2877  	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
  2878  	0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
  2879  	0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
  2880  	0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c,
  2881  	0x65, 0x5f, 0x70, 0x5f, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62,
  2882  	0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c,
  2883  	0x61, 0x73, 0x74, 0x50, 0x4b, 0x52, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x4b, 0x73, 0x22,
  2884  	0x3f, 0x0a, 0x05, 0x56, 0x47, 0x74, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72,
  2885  	0x64, 0x5f, 0x67, 0x74, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e,
  2886  	0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64,
  2887  	0x47, 0x74, 0x69, 0x64, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x47, 0x74, 0x69, 0x64, 0x73,
  2888  	0x22, 0x41, 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72,
  2889  	0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
  2890  	0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a,
  2891  	0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68,
  2892  	0x61, 0x72, 0x64, 0x22, 0xbc, 0x02, 0x0a, 0x07, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x12,
  2893  	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12,
  2894  	0x40, 0x0a, 0x0e, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70,
  2895  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
  2896  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79,
  2897  	0x70, 0x65, 0x52, 0x0d, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
  2898  	0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
  2899  	0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x63,
  2900  	0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
  2901  	0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
  2902  	0x12, 0x36, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x74, 0x69, 0x64, 0x73, 0x18,
  2903  	0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61,
  2904  	0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x47, 0x74, 0x69, 0x64, 0x52, 0x0a, 0x73, 0x68,
  2905  	0x61, 0x72, 0x64, 0x47, 0x74, 0x69, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74,
  2906  	0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
  2907  	0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73,
  2908  	0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69,
  2909  	0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63,
  2910  	0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
  2911  	0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
  2912  	0x77, 0x73, 0x22, 0x8b, 0x04, 0x0a, 0x06, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a,
  2913  	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x62, 0x69,
  2914  	0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54,
  2915  	0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d,
  2916  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69,
  2917  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18,
  2918  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73,
  2919  	0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
  2920  	0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x09, 0x72, 0x6f, 0x77,
  2921  	0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62,
  2922  	0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x6f, 0x77, 0x45, 0x76, 0x65,
  2923  	0x6e, 0x74, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0b,
  2924  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
  2925  	0x0b, 0x32, 0x16, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46,
  2926  	0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64,
  2927  	0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x67, 0x74, 0x69, 0x64, 0x18, 0x07,
  2928  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74,
  2929  	0x61, 0x2e, 0x56, 0x47, 0x74, 0x69, 0x64, 0x52, 0x05, 0x76, 0x67, 0x74, 0x69, 0x64, 0x12, 0x2d,
  2930  	0x0a, 0x07, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2931  	0x13, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4a, 0x6f, 0x75,
  2932  	0x72, 0x6e, 0x61, 0x6c, 0x52, 0x07, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x10, 0x0a,
  2933  	0x03, 0x64, 0x6d, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x6d, 0x6c, 0x12,
  2934  	0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
  2935  	0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69,
  2936  	0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x5f, 0x65,
  2937  	0x76, 0x65, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e,
  2938  	0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x45, 0x76,
  2939  	0x65, 0x6e, 0x74, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x45, 0x76, 0x65, 0x6e, 0x74,
  2940  	0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x16, 0x20, 0x01,
  2941  	0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
  2942  	0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61,
  2943  	0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18,
  2944  	0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64,
  2945  	0x22, 0x68, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65,
  2946  	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
  2947  	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02,
  2948  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65,
  2949  	0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x5f,
  2950  	0x6b, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52,
  2951  	0x09, 0x70, 0x4b, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x41, 0x0a, 0x0d, 0x4d, 0x69,
  2952  	0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x30, 0x0a, 0x06, 0x74,
  2953  	0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x69,
  2954  	0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c,
  2955  	0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0xc7, 0x02,
  2956  	0x0a, 0x0e, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  2957  	0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61,
  2958  	0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
  2959  	0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11,
  2960  	0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
  2961  	0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63,
  2962  	0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
  2963  	0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c,
  2964  	0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65,
  2965  	0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67,
  2966  	0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
  2967  	0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12,
  2968  	0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
  2969  	0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x66,
  2970  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69,
  2971  	0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52,
  2972  	0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65,
  2973  	0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
  2974  	0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
  2975  	0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x52, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
  2976  	0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x73, 0x22, 0x3d, 0x0a, 0x0f, 0x56, 0x53, 0x74, 0x72, 0x65,
  2977  	0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x65, 0x76,
  2978  	0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69, 0x6e,
  2979  	0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06,
  2980  	0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x56, 0x53, 0x74, 0x72, 0x65,
  2981  	0x61, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a,
  2982  	0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65,
  2983  	0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72,
  2984  	0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66,
  2985  	0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45,
  2986  	0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c,
  2987  	0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75,
  2988  	0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72,
  2989  	0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c,
  2990  	0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18,
  2991  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61,
  2992  	0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05,
  2993  	0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65,
  2994  	0x72, 0x79, 0x12, 0x2a, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x18, 0x05, 0x20, 0x01,
  2995  	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
  2996  	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x22, 0xf9,
  2997  	0x01, 0x0a, 0x13, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65,
  2998  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73,
  2999  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46,
  3000  	0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x08,
  3001  	0x70, 0x6b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c,
  3002  	0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x08, 0x70, 0x6b,
  3003  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03,
  3004  	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f,
  3005  	0x77, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
  3006  	0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x22, 0x0a, 0x06, 0x6c, 0x61,
  3007  	0x73, 0x74, 0x70, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65,
  3008  	0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x12, 0x1c,
  3009  	0x0a, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
  3010  	0x08, 0x52, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09,
  3011  	0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
  3012  	0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x22, 0x69, 0x0a, 0x0b, 0x4c, 0x61,
  3013  	0x73, 0x74, 0x50, 0x4b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0e, 0x74, 0x61, 0x62,
  3014  	0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28,
  3015  	0x0b, 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
  3016  	0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c,
  3017  	0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c,
  3018  	0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70,
  3019  	0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x58, 0x0a, 0x0b, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61,
  3020  	0x73, 0x74, 0x50, 0x4b, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61,
  3021  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e,
  3022  	0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x18, 0x03, 0x20,
  3023  	0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72,
  3024  	0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x22,
  3025  	0xdc, 0x01, 0x0a, 0x15, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c,
  3026  	0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66,
  3027  	0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64,
  3028  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43,
  3029  	0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
  3030  	0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d,
  3031  	0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69,
  3032  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
  3033  	0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11,
  3034  	0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
  3035  	0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
  3036  	0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
  3037  	0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72,
  3038  	0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x72,
  3039  	0x0a, 0x16, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
  3040  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c,
  3041  	0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
  3042  	0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12,
  3043  	0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74,
  3044  	0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
  3045  	0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f,
  3046  	0x77, 0x73, 0x2a, 0x3e, 0x0a, 0x0b, 0x4f, 0x6e, 0x44, 0x44, 0x4c, 0x41, 0x63, 0x74, 0x69, 0x6f,
  3047  	0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a,
  3048  	0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x58, 0x45, 0x43, 0x10,
  3049  	0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x58, 0x45, 0x43, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45,
  3050  	0x10, 0x03, 0x2a, 0x7b, 0x0a, 0x18, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
  3051  	0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f,
  3052  	0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x10, 0x00, 0x12,
  3053  	0x0e, 0x0a, 0x0a, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x01, 0x12,
  3054  	0x15, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x49,
  3055  	0x6e, 0x64, 0x65, 0x78, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
  3056  	0x65, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x10, 0x04,
  3057  	0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x44, 0x4c, 0x10, 0x05, 0x2a,
  3058  	0x34, 0x0a, 0x1b, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57,
  3059  	0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08,
  3060  	0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x61, 0x72, 0x74,
  3061  	0x69, 0x61, 0x6c, 0x10, 0x01, 0x2a, 0x8d, 0x02, 0x0a, 0x0a, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74,
  3062  	0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
  3063  	0x00, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x54, 0x49, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x42,
  3064  	0x45, 0x47, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54,
  3065  	0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04,
  3066  	0x12, 0x07, 0x0a, 0x03, 0x44, 0x44, 0x4c, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x53,
  3067  	0x45, 0x52, 0x54, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45,
  3068  	0x10, 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x08, 0x12, 0x0a,
  3069  	0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45,
  3070  	0x54, 0x10, 0x0a, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x0b, 0x12, 0x07,
  3071  	0x0a, 0x03, 0x52, 0x4f, 0x57, 0x10, 0x0c, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x45, 0x4c, 0x44,
  3072  	0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, 0x45, 0x41, 0x54, 0x10,
  3073  	0x0e, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x47, 0x54, 0x49, 0x44, 0x10, 0x0f, 0x12, 0x0b, 0x0a, 0x07,
  3074  	0x4a, 0x4f, 0x55, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x10, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x45, 0x52,
  3075  	0x53, 0x49, 0x4f, 0x4e, 0x10, 0x11, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x41, 0x53, 0x54, 0x50, 0x4b,
  3076  	0x10, 0x12, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x41, 0x56, 0x45, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10,
  3077  	0x13, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x50, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45,
  3078  	0x54, 0x45, 0x44, 0x10, 0x14, 0x2a, 0x27, 0x0a, 0x0d, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
  3079  	0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53,
  3080  	0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x48, 0x41, 0x52, 0x44, 0x53, 0x10, 0x01, 0x42, 0x29,
  3081  	0x5a, 0x27, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65,
  3082  	0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62,
  3083  	0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  3084  	0x33,
  3085  }
  3086  
  3087  var (
  3088  	file_binlogdata_proto_rawDescOnce sync.Once
  3089  	file_binlogdata_proto_rawDescData = file_binlogdata_proto_rawDesc
  3090  )
  3091  
  3092  func file_binlogdata_proto_rawDescGZIP() []byte {
  3093  	file_binlogdata_proto_rawDescOnce.Do(func() {
  3094  		file_binlogdata_proto_rawDescData = protoimpl.X.CompressGZIP(file_binlogdata_proto_rawDescData)
  3095  	})
  3096  	return file_binlogdata_proto_rawDescData
  3097  }
  3098  
  3099  var file_binlogdata_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
  3100  var file_binlogdata_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
  3101  var file_binlogdata_proto_goTypes = []interface{}{
  3102  	(OnDDLAction)(0),                          // 0: binlogdata.OnDDLAction
  3103  	(VReplicationWorkflowType)(0),             // 1: binlogdata.VReplicationWorkflowType
  3104  	(VReplicationWorkflowSubType)(0),          // 2: binlogdata.VReplicationWorkflowSubType
  3105  	(VEventType)(0),                           // 3: binlogdata.VEventType
  3106  	(MigrationType)(0),                        // 4: binlogdata.MigrationType
  3107  	(BinlogTransaction_Statement_Category)(0), // 5: binlogdata.BinlogTransaction.Statement.Category
  3108  	(Filter_FieldEventMode)(0),                // 6: binlogdata.Filter.FieldEventMode
  3109  	(*Charset)(nil),                           // 7: binlogdata.Charset
  3110  	(*BinlogTransaction)(nil),                 // 8: binlogdata.BinlogTransaction
  3111  	(*StreamKeyRangeRequest)(nil),             // 9: binlogdata.StreamKeyRangeRequest
  3112  	(*StreamKeyRangeResponse)(nil),            // 10: binlogdata.StreamKeyRangeResponse
  3113  	(*StreamTablesRequest)(nil),               // 11: binlogdata.StreamTablesRequest
  3114  	(*StreamTablesResponse)(nil),              // 12: binlogdata.StreamTablesResponse
  3115  	(*CharsetConversion)(nil),                 // 13: binlogdata.CharsetConversion
  3116  	(*Rule)(nil),                              // 14: binlogdata.Rule
  3117  	(*Filter)(nil),                            // 15: binlogdata.Filter
  3118  	(*BinlogSource)(nil),                      // 16: binlogdata.BinlogSource
  3119  	(*RowChange)(nil),                         // 17: binlogdata.RowChange
  3120  	(*RowEvent)(nil),                          // 18: binlogdata.RowEvent
  3121  	(*FieldEvent)(nil),                        // 19: binlogdata.FieldEvent
  3122  	(*ShardGtid)(nil),                         // 20: binlogdata.ShardGtid
  3123  	(*VGtid)(nil),                             // 21: binlogdata.VGtid
  3124  	(*KeyspaceShard)(nil),                     // 22: binlogdata.KeyspaceShard
  3125  	(*Journal)(nil),                           // 23: binlogdata.Journal
  3126  	(*VEvent)(nil),                            // 24: binlogdata.VEvent
  3127  	(*MinimalTable)(nil),                      // 25: binlogdata.MinimalTable
  3128  	(*MinimalSchema)(nil),                     // 26: binlogdata.MinimalSchema
  3129  	(*VStreamRequest)(nil),                    // 27: binlogdata.VStreamRequest
  3130  	(*VStreamResponse)(nil),                   // 28: binlogdata.VStreamResponse
  3131  	(*VStreamRowsRequest)(nil),                // 29: binlogdata.VStreamRowsRequest
  3132  	(*VStreamRowsResponse)(nil),               // 30: binlogdata.VStreamRowsResponse
  3133  	(*LastPKEvent)(nil),                       // 31: binlogdata.LastPKEvent
  3134  	(*TableLastPK)(nil),                       // 32: binlogdata.TableLastPK
  3135  	(*VStreamResultsRequest)(nil),             // 33: binlogdata.VStreamResultsRequest
  3136  	(*VStreamResultsResponse)(nil),            // 34: binlogdata.VStreamResultsResponse
  3137  	(*BinlogTransaction_Statement)(nil),       // 35: binlogdata.BinlogTransaction.Statement
  3138  	nil,                                       // 36: binlogdata.Rule.ConvertEnumToTextEntry
  3139  	nil,                                       // 37: binlogdata.Rule.ConvertCharsetEntry
  3140  	nil,                                       // 38: binlogdata.Rule.ConvertIntToEnumEntry
  3141  	(*query.EventToken)(nil),                  // 39: query.EventToken
  3142  	(*topodata.KeyRange)(nil),                 // 40: topodata.KeyRange
  3143  	(topodata.TabletType)(0),                  // 41: topodata.TabletType
  3144  	(*query.Row)(nil),                         // 42: query.Row
  3145  	(*query.Field)(nil),                       // 43: query.Field
  3146  	(*vtrpc.CallerID)(nil),                    // 44: vtrpc.CallerID
  3147  	(*query.VTGateCallerID)(nil),              // 45: query.VTGateCallerID
  3148  	(*query.Target)(nil),                      // 46: query.Target
  3149  	(*query.QueryResult)(nil),                 // 47: query.QueryResult
  3150  }
  3151  var file_binlogdata_proto_depIdxs = []int32{
  3152  	35, // 0: binlogdata.BinlogTransaction.statements:type_name -> binlogdata.BinlogTransaction.Statement
  3153  	39, // 1: binlogdata.BinlogTransaction.event_token:type_name -> query.EventToken
  3154  	40, // 2: binlogdata.StreamKeyRangeRequest.key_range:type_name -> topodata.KeyRange
  3155  	7,  // 3: binlogdata.StreamKeyRangeRequest.charset:type_name -> binlogdata.Charset
  3156  	8,  // 4: binlogdata.StreamKeyRangeResponse.binlog_transaction:type_name -> binlogdata.BinlogTransaction
  3157  	7,  // 5: binlogdata.StreamTablesRequest.charset:type_name -> binlogdata.Charset
  3158  	8,  // 6: binlogdata.StreamTablesResponse.binlog_transaction:type_name -> binlogdata.BinlogTransaction
  3159  	36, // 7: binlogdata.Rule.convert_enum_to_text:type_name -> binlogdata.Rule.ConvertEnumToTextEntry
  3160  	37, // 8: binlogdata.Rule.convert_charset:type_name -> binlogdata.Rule.ConvertCharsetEntry
  3161  	38, // 9: binlogdata.Rule.convert_int_to_enum:type_name -> binlogdata.Rule.ConvertIntToEnumEntry
  3162  	14, // 10: binlogdata.Filter.rules:type_name -> binlogdata.Rule
  3163  	6,  // 11: binlogdata.Filter.field_event_mode:type_name -> binlogdata.Filter.FieldEventMode
  3164  	41, // 12: binlogdata.BinlogSource.tablet_type:type_name -> topodata.TabletType
  3165  	40, // 13: binlogdata.BinlogSource.key_range:type_name -> topodata.KeyRange
  3166  	15, // 14: binlogdata.BinlogSource.filter:type_name -> binlogdata.Filter
  3167  	0,  // 15: binlogdata.BinlogSource.on_ddl:type_name -> binlogdata.OnDDLAction
  3168  	42, // 16: binlogdata.RowChange.before:type_name -> query.Row
  3169  	42, // 17: binlogdata.RowChange.after:type_name -> query.Row
  3170  	17, // 18: binlogdata.RowEvent.row_changes:type_name -> binlogdata.RowChange
  3171  	43, // 19: binlogdata.FieldEvent.fields:type_name -> query.Field
  3172  	32, // 20: binlogdata.ShardGtid.table_p_ks:type_name -> binlogdata.TableLastPK
  3173  	20, // 21: binlogdata.VGtid.shard_gtids:type_name -> binlogdata.ShardGtid
  3174  	4,  // 22: binlogdata.Journal.migration_type:type_name -> binlogdata.MigrationType
  3175  	20, // 23: binlogdata.Journal.shard_gtids:type_name -> binlogdata.ShardGtid
  3176  	22, // 24: binlogdata.Journal.participants:type_name -> binlogdata.KeyspaceShard
  3177  	3,  // 25: binlogdata.VEvent.type:type_name -> binlogdata.VEventType
  3178  	18, // 26: binlogdata.VEvent.row_event:type_name -> binlogdata.RowEvent
  3179  	19, // 27: binlogdata.VEvent.field_event:type_name -> binlogdata.FieldEvent
  3180  	21, // 28: binlogdata.VEvent.vgtid:type_name -> binlogdata.VGtid
  3181  	23, // 29: binlogdata.VEvent.journal:type_name -> binlogdata.Journal
  3182  	31, // 30: binlogdata.VEvent.last_p_k_event:type_name -> binlogdata.LastPKEvent
  3183  	43, // 31: binlogdata.MinimalTable.fields:type_name -> query.Field
  3184  	25, // 32: binlogdata.MinimalSchema.tables:type_name -> binlogdata.MinimalTable
  3185  	44, // 33: binlogdata.VStreamRequest.effective_caller_id:type_name -> vtrpc.CallerID
  3186  	45, // 34: binlogdata.VStreamRequest.immediate_caller_id:type_name -> query.VTGateCallerID
  3187  	46, // 35: binlogdata.VStreamRequest.target:type_name -> query.Target
  3188  	15, // 36: binlogdata.VStreamRequest.filter:type_name -> binlogdata.Filter
  3189  	32, // 37: binlogdata.VStreamRequest.table_last_p_ks:type_name -> binlogdata.TableLastPK
  3190  	24, // 38: binlogdata.VStreamResponse.events:type_name -> binlogdata.VEvent
  3191  	44, // 39: binlogdata.VStreamRowsRequest.effective_caller_id:type_name -> vtrpc.CallerID
  3192  	45, // 40: binlogdata.VStreamRowsRequest.immediate_caller_id:type_name -> query.VTGateCallerID
  3193  	46, // 41: binlogdata.VStreamRowsRequest.target:type_name -> query.Target
  3194  	47, // 42: binlogdata.VStreamRowsRequest.lastpk:type_name -> query.QueryResult
  3195  	43, // 43: binlogdata.VStreamRowsResponse.fields:type_name -> query.Field
  3196  	43, // 44: binlogdata.VStreamRowsResponse.pkfields:type_name -> query.Field
  3197  	42, // 45: binlogdata.VStreamRowsResponse.rows:type_name -> query.Row
  3198  	42, // 46: binlogdata.VStreamRowsResponse.lastpk:type_name -> query.Row
  3199  	32, // 47: binlogdata.LastPKEvent.table_last_p_k:type_name -> binlogdata.TableLastPK
  3200  	47, // 48: binlogdata.TableLastPK.lastpk:type_name -> query.QueryResult
  3201  	44, // 49: binlogdata.VStreamResultsRequest.effective_caller_id:type_name -> vtrpc.CallerID
  3202  	45, // 50: binlogdata.VStreamResultsRequest.immediate_caller_id:type_name -> query.VTGateCallerID
  3203  	46, // 51: binlogdata.VStreamResultsRequest.target:type_name -> query.Target
  3204  	43, // 52: binlogdata.VStreamResultsResponse.fields:type_name -> query.Field
  3205  	42, // 53: binlogdata.VStreamResultsResponse.rows:type_name -> query.Row
  3206  	5,  // 54: binlogdata.BinlogTransaction.Statement.category:type_name -> binlogdata.BinlogTransaction.Statement.Category
  3207  	7,  // 55: binlogdata.BinlogTransaction.Statement.charset:type_name -> binlogdata.Charset
  3208  	13, // 56: binlogdata.Rule.ConvertCharsetEntry.value:type_name -> binlogdata.CharsetConversion
  3209  	57, // [57:57] is the sub-list for method output_type
  3210  	57, // [57:57] is the sub-list for method input_type
  3211  	57, // [57:57] is the sub-list for extension type_name
  3212  	57, // [57:57] is the sub-list for extension extendee
  3213  	0,  // [0:57] is the sub-list for field type_name
  3214  }
  3215  
  3216  func init() { file_binlogdata_proto_init() }
  3217  func file_binlogdata_proto_init() {
  3218  	if File_binlogdata_proto != nil {
  3219  		return
  3220  	}
  3221  	if !protoimpl.UnsafeEnabled {
  3222  		file_binlogdata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  3223  			switch v := v.(*Charset); i {
  3224  			case 0:
  3225  				return &v.state
  3226  			case 1:
  3227  				return &v.sizeCache
  3228  			case 2:
  3229  				return &v.unknownFields
  3230  			default:
  3231  				return nil
  3232  			}
  3233  		}
  3234  		file_binlogdata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  3235  			switch v := v.(*BinlogTransaction); i {
  3236  			case 0:
  3237  				return &v.state
  3238  			case 1:
  3239  				return &v.sizeCache
  3240  			case 2:
  3241  				return &v.unknownFields
  3242  			default:
  3243  				return nil
  3244  			}
  3245  		}
  3246  		file_binlogdata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  3247  			switch v := v.(*StreamKeyRangeRequest); i {
  3248  			case 0:
  3249  				return &v.state
  3250  			case 1:
  3251  				return &v.sizeCache
  3252  			case 2:
  3253  				return &v.unknownFields
  3254  			default:
  3255  				return nil
  3256  			}
  3257  		}
  3258  		file_binlogdata_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  3259  			switch v := v.(*StreamKeyRangeResponse); 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_binlogdata_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  3271  			switch v := v.(*StreamTablesRequest); 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_binlogdata_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  3283  			switch v := v.(*StreamTablesResponse); 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_binlogdata_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  3295  			switch v := v.(*CharsetConversion); 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_binlogdata_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  3307  			switch v := v.(*Rule); 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_binlogdata_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  3319  			switch v := v.(*Filter); 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_binlogdata_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  3331  			switch v := v.(*BinlogSource); 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_binlogdata_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  3343  			switch v := v.(*RowChange); 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_binlogdata_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  3355  			switch v := v.(*RowEvent); 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_binlogdata_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  3367  			switch v := v.(*FieldEvent); 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_binlogdata_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  3379  			switch v := v.(*ShardGtid); 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_binlogdata_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  3391  			switch v := v.(*VGtid); 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_binlogdata_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  3403  			switch v := v.(*KeyspaceShard); 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_binlogdata_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  3415  			switch v := v.(*Journal); 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_binlogdata_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  3427  			switch v := v.(*VEvent); 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_binlogdata_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  3439  			switch v := v.(*MinimalTable); 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_binlogdata_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  3451  			switch v := v.(*MinimalSchema); 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_binlogdata_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  3463  			switch v := v.(*VStreamRequest); 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_binlogdata_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  3475  			switch v := v.(*VStreamResponse); 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_binlogdata_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  3487  			switch v := v.(*VStreamRowsRequest); 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_binlogdata_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  3499  			switch v := v.(*VStreamRowsResponse); 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_binlogdata_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  3511  			switch v := v.(*LastPKEvent); 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_binlogdata_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  3523  			switch v := v.(*TableLastPK); 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_binlogdata_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  3535  			switch v := v.(*VStreamResultsRequest); 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_binlogdata_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  3547  			switch v := v.(*VStreamResultsResponse); 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_binlogdata_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  3559  			switch v := v.(*BinlogTransaction_Statement); 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  	}
  3571  	type x struct{}
  3572  	out := protoimpl.TypeBuilder{
  3573  		File: protoimpl.DescBuilder{
  3574  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  3575  			RawDescriptor: file_binlogdata_proto_rawDesc,
  3576  			NumEnums:      7,
  3577  			NumMessages:   32,
  3578  			NumExtensions: 0,
  3579  			NumServices:   0,
  3580  		},
  3581  		GoTypes:           file_binlogdata_proto_goTypes,
  3582  		DependencyIndexes: file_binlogdata_proto_depIdxs,
  3583  		EnumInfos:         file_binlogdata_proto_enumTypes,
  3584  		MessageInfos:      file_binlogdata_proto_msgTypes,
  3585  	}.Build()
  3586  	File_binlogdata_proto = out.File
  3587  	file_binlogdata_proto_rawDesc = nil
  3588  	file_binlogdata_proto_goTypes = nil
  3589  	file_binlogdata_proto_depIdxs = nil
  3590  }