From bebddba7bbdf675d3f01badd59947a37f5cad5d4 Mon Sep 17 00:00:00 2001 From: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> Date: Wed, 13 Dec 2023 08:56:46 +0200 Subject: [PATCH] Online DDL: support migration cut-over backoff and forced cut-over (#14546) Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> Co-authored-by: Matt Lord --- go/cmd/vtctldclient/command/onlineddl.go | 33 + go/mysql/flavor.go | 1 + go/mysql/flavor_mysql.go | 2 + go/mysql/flavor_test.go | 10 + go/test/endtoend/cluster/vttablet_process.go | 21 +- .../scheduler/onlineddl_scheduler_test.go | 157 + go/test/endtoend/onlineddl/vtgate_util.go | 15 + go/vt/proto/vtctldata/vtctldata.pb.go | 5296 +++--- go/vt/proto/vtctldata/vtctldata_vtproto.pb.go | 454 + go/vt/proto/vtctlservice/vtctlservice.pb.go | 794 +- .../vtctlservice/vtctlservice_grpc.pb.go | 38 + go/vt/schema/ddl_strategy.go | 49 +- go/vt/schema/ddl_strategy_test.go | 25 +- .../schema/onlineddl/schema_migrations.sql | 2 + go/vt/sqlparser/ast_format.go | 4 + go/vt/sqlparser/ast_format_fast.go | 4 + go/vt/sqlparser/constants.go | 2 + go/vt/sqlparser/keywords.go | 1 + go/vt/sqlparser/parse_test.go | 7 + go/vt/sqlparser/sql.go | 14953 ++++++++-------- go/vt/sqlparser/sql.y | 15 +- go/vt/vtctl/grpcvtctldclient/client_gen.go | 9 + go/vt/vtctl/grpcvtctldserver/server.go | 31 + go/vt/vtctl/grpcvtctldserver/server_test.go | 202 + go/vt/vtctl/localvtctldclient/client_gen.go | 5 + go/vt/vttablet/onlineddl/executor.go | 348 +- go/vt/vttablet/onlineddl/executor_test.go | 107 + go/vt/vttablet/onlineddl/schema.go | 40 +- go/vt/vttablet/tabletserver/query_executor.go | 4 + proto/vtctldata.proto | 10 +- proto/vtctlservice.proto | 2 + web/vtadmin/src/proto/vtadmin.d.ts | 200 + web/vtadmin/src/proto/vtadmin.js | 475 + 33 files changed, 12832 insertions(+), 10484 deletions(-) diff --git a/go/cmd/vtctldclient/command/onlineddl.go b/go/cmd/vtctldclient/command/onlineddl.go index dbe927de2bf..6193de9b2af 100644 --- a/go/cmd/vtctldclient/command/onlineddl.go +++ b/go/cmd/vtctldclient/command/onlineddl.go @@ -102,6 +102,14 @@ var ( Args: cobra.ExactArgs(2), RunE: commandOnlineDDLUnthrottle, } + OnlineDDLForceCutOver = &cobra.Command{ + Use: "force-cutover ", + Short: "Mark a given schema migration, or all pending migrations, for forced cut over.", + Example: "OnlineDDL force-cutover test_keyspace 82fa54ac_e83e_11ea_96b7_f875a4d24e90", + DisableFlagsInUseLine: true, + Args: cobra.ExactArgs(2), + RunE: commandOnlineDDLForceCutOver, + } OnlineDDLShow = &cobra.Command{ Use: "show", Short: "Display information about online DDL operations.", @@ -184,6 +192,30 @@ func commandOnlineDDLCleanup(cmd *cobra.Command, args []string) error { return nil } +func commandOnlineDDLForceCutOver(cmd *cobra.Command, args []string) error { + keyspace, uuid, err := analyzeOnlineDDLCommandWithUuidOrAllArgument(cmd) + if err != nil { + return err + } + cli.FinishedParsing(cmd) + + resp, err := client.ForceCutOverSchemaMigration(commandCtx, &vtctldatapb.ForceCutOverSchemaMigrationRequest{ + Keyspace: keyspace, + Uuid: uuid, + }) + if err != nil { + return err + } + + data, err := cli.MarshalJSON(resp) + if err != nil { + return err + } + + fmt.Printf("%s\n", data) + return nil +} + func commandOnlineDDLComplete(cmd *cobra.Command, args []string) error { keyspace, uuid, err := analyzeOnlineDDLCommandWithUuidOrAllArgument(cmd) if err != nil { @@ -393,6 +425,7 @@ func init() { OnlineDDL.AddCommand(OnlineDDLRetry) OnlineDDL.AddCommand(OnlineDDLThrottle) OnlineDDL.AddCommand(OnlineDDLUnthrottle) + OnlineDDL.AddCommand(OnlineDDLForceCutOver) OnlineDDLShow.Flags().BoolVar(&onlineDDLShowArgs.JSON, "json", false, "Output JSON instead of human-readable table.") OnlineDDLShow.Flags().StringVar(&onlineDDLShowArgs.OrderStr, "order", "asc", "Sort the results by `id` property of the Schema migration.") diff --git a/go/mysql/flavor.go b/go/mysql/flavor.go index 2c6fb2b867f..245320f7fe3 100644 --- a/go/mysql/flavor.go +++ b/go/mysql/flavor.go @@ -56,6 +56,7 @@ const ( DynamicRedoLogCapacityFlavorCapability // supported in MySQL 8.0.30 and above: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html DisableRedoLogFlavorCapability // supported in MySQL 8.0.21 and above: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-21.html CheckConstraintsCapability // supported in MySQL 8.0.16 and above: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-16.html + PerformanceSchemaDataLocksTableCapability ) const ( diff --git a/go/mysql/flavor_mysql.go b/go/mysql/flavor_mysql.go index a3a449f5490..b9633c93416 100644 --- a/go/mysql/flavor_mysql.go +++ b/go/mysql/flavor_mysql.go @@ -423,6 +423,8 @@ func (mysqlFlavor80) supportsCapability(serverVersion string, capability FlavorC return ServerVersionAtLeast(serverVersion, 8, 0, 21) case CheckConstraintsCapability: return ServerVersionAtLeast(serverVersion, 8, 0, 16) + case PerformanceSchemaDataLocksTableCapability: + return true, nil default: return false, nil } diff --git a/go/mysql/flavor_test.go b/go/mysql/flavor_test.go index 925504722b7..4804593ff90 100644 --- a/go/mysql/flavor_test.go +++ b/go/mysql/flavor_test.go @@ -170,6 +170,16 @@ func TestGetFlavor(t *testing.T) { capability: CheckConstraintsCapability, isCapable: true, }, + { + version: "5.7.38", + capability: PerformanceSchemaDataLocksTableCapability, + isCapable: false, + }, + { + version: "8.0.20", + capability: PerformanceSchemaDataLocksTableCapability, + isCapable: true, + }, } for _, tc := range testcases { name := fmt.Sprintf("%s %v", tc.version, tc.capability) diff --git a/go/test/endtoend/cluster/vttablet_process.go b/go/test/endtoend/cluster/vttablet_process.go index 96bec7c624b..f92382d5f2d 100644 --- a/go/test/endtoend/cluster/vttablet_process.go +++ b/go/test/endtoend/cluster/vttablet_process.go @@ -449,11 +449,7 @@ func (vttablet *VttabletProcess) CreateDB(keyspace string) error { // QueryTablet lets you execute a query in this tablet and get the result func (vttablet *VttabletProcess) QueryTablet(query string, keyspace string, useDb bool) (*sqltypes.Result, error) { - if !useDb { - keyspace = "" - } - dbParams := NewConnParams(vttablet.DbPort, vttablet.DbPassword, path.Join(vttablet.Directory, "mysql.sock"), keyspace) - conn, err := vttablet.conn(&dbParams) + conn, err := vttablet.TabletConn(keyspace, useDb) if err != nil { return nil, err } @@ -464,11 +460,7 @@ func (vttablet *VttabletProcess) QueryTablet(query string, keyspace string, useD // QueryTabletMultiple lets you execute multiple queries -- without any // results -- against the tablet. func (vttablet *VttabletProcess) QueryTabletMultiple(queries []string, keyspace string, useDb bool) error { - if !useDb { - keyspace = "" - } - dbParams := NewConnParams(vttablet.DbPort, vttablet.DbPassword, path.Join(vttablet.Directory, "mysql.sock"), keyspace) - conn, err := vttablet.conn(&dbParams) + conn, err := vttablet.TabletConn(keyspace, useDb) if err != nil { return err } @@ -484,6 +476,15 @@ func (vttablet *VttabletProcess) QueryTabletMultiple(queries []string, keyspace return nil } +// TabletConn opens a MySQL connection on this tablet +func (vttablet *VttabletProcess) TabletConn(keyspace string, useDb bool) (*mysql.Conn, error) { + if !useDb { + keyspace = "" + } + dbParams := NewConnParams(vttablet.DbPort, vttablet.DbPassword, path.Join(vttablet.Directory, "mysql.sock"), keyspace) + return vttablet.conn(&dbParams) +} + func (vttablet *VttabletProcess) defaultConn(dbname string) (*mysql.Conn, error) { dbParams := mysql.ConnParams{ Uname: "vt_dba", diff --git a/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go b/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go index 575ecb91091..dd3cb1dbb4c 100644 --- a/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go +++ b/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go @@ -200,6 +200,29 @@ func waitForReadyToComplete(t *testing.T, uuid string, expected bool) { } } +func waitForMessage(t *testing.T, uuid string, messageSubstring string) { + ctx, cancel := context.WithTimeout(context.Background(), normalWaitTime) + defer cancel() + + ticker := time.NewTicker(time.Second) + defer ticker.Stop() + for { + rs := onlineddl.ReadMigrations(t, &vtParams, uuid) + require.NotNil(t, rs) + for _, row := range rs.Named().Rows { + message := row.AsString("message", "") + if strings.Contains(message, messageSubstring) { + return + } + } + select { + case <-ticker.C: + case <-ctx.Done(): + } + require.NoError(t, ctx.Err()) + } +} + func TestMain(m *testing.M) { defer cluster.PanicHandler(nil) flag.Parse() @@ -366,6 +389,9 @@ func testScheduler(t *testing.T) { alterNonexistent = ` ALTER TABLE nonexistent FORCE ` + populateT1Statement = ` + insert into t1_test values (1, 'new_row') + ` ) testReadTimestamp := func(t *testing.T, uuid string, timestampColumn string) (timestamp string) { @@ -490,6 +516,109 @@ func testScheduler(t *testing.T) { onlineddl.CheckMigrationStatus(t, &vtParams, shards, t1uuid, schema.OnlineDDLStatusComplete) }) }) + + t.Run("Postpone completion ALTER", func(t *testing.T) { + t1uuid = testOnlineDDLStatement(t, createParams(trivialAlterT1Statement, ddlStrategy+" --postpone-completion", "vtgate", "", "", true)) // skip wait + + t.Run("wait for t1 running", func(t *testing.T) { + status := onlineddl.WaitForMigrationStatus(t, &vtParams, shards, t1uuid, normalWaitTime, schema.OnlineDDLStatusRunning) + fmt.Printf("# Migration status (for debug purposes): <%s>\n", status) + }) + t.Run("check postpone_completion", func(t *testing.T) { + rs := onlineddl.ReadMigrations(t, &vtParams, t1uuid) + require.NotNil(t, rs) + for _, row := range rs.Named().Rows { + postponeCompletion := row.AsInt64("postpone_completion", 0) + assert.Equal(t, int64(1), postponeCompletion) + } + }) + t.Run("complete", func(t *testing.T) { + onlineddl.CheckCompleteMigration(t, &vtParams, shards, t1uuid, true) + status := onlineddl.WaitForMigrationStatus(t, &vtParams, shards, t1uuid, normalWaitTime, schema.OnlineDDLStatusComplete, schema.OnlineDDLStatusFailed) + fmt.Printf("# Migration status (for debug purposes): <%s>\n", status) + onlineddl.CheckMigrationStatus(t, &vtParams, shards, t1uuid, schema.OnlineDDLStatusComplete) + }) + t.Run("check no postpone_completion", func(t *testing.T) { + rs := onlineddl.ReadMigrations(t, &vtParams, t1uuid) + require.NotNil(t, rs) + for _, row := range rs.Named().Rows { + postponeCompletion := row.AsInt64("postpone_completion", 0) + assert.Equal(t, int64(0), postponeCompletion) + } + }) + }) + + forceCutoverCapable, err := capableOf(mysql.PerformanceSchemaDataLocksTableCapability) // 8.0 + require.NoError(t, err) + if forceCutoverCapable { + t.Run("force_cutover", func(t *testing.T) { + ctx, cancel := context.WithTimeout(context.Background(), extendedWaitTime*2) + defer cancel() + + t.Run("populate t1_test", func(t *testing.T) { + onlineddl.VtgateExecQuery(t, &vtParams, populateT1Statement, "") + }) + t1uuid = testOnlineDDLStatement(t, createParams(trivialAlterT1Statement, ddlStrategy+" --postpone-completion", "vtgate", "", "", true)) // skip wait + + t.Run("wait for t1 running", func(t *testing.T) { + status := onlineddl.WaitForMigrationStatus(t, &vtParams, shards, t1uuid, normalWaitTime, schema.OnlineDDLStatusRunning) + fmt.Printf("# Migration status (for debug purposes): <%s>\n", status) + }) + commitTransactionChan := make(chan any) + transactionErrorChan := make(chan error) + t.Run("locking table rows", func(t *testing.T) { + go runInTransaction(t, ctx, shards[0].Vttablets[0], "select * from t1_test for update", commitTransactionChan, transactionErrorChan) + }) + t.Run("check no force_cutover", func(t *testing.T) { + rs := onlineddl.ReadMigrations(t, &vtParams, t1uuid) + require.NotNil(t, rs) + for _, row := range rs.Named().Rows { + forceCutOver := row.AsInt64("force_cutover", 0) + assert.Equal(t, int64(0), forceCutOver) // disabled + } + }) + t.Run("attempt to complete", func(t *testing.T) { + onlineddl.CheckCompleteMigration(t, &vtParams, shards, t1uuid, true) + }) + t.Run("cut-over fail due to timeout", func(t *testing.T) { + waitForMessage(t, t1uuid, "due to context deadline exceeded") + status := onlineddl.WaitForMigrationStatus(t, &vtParams, shards, t1uuid, normalWaitTime, schema.OnlineDDLStatusComplete, schema.OnlineDDLStatusFailed, schema.OnlineDDLStatusRunning) + fmt.Printf("# Migration status (for debug purposes): <%s>\n", status) + onlineddl.CheckMigrationStatus(t, &vtParams, shards, t1uuid, schema.OnlineDDLStatusRunning) + }) + t.Run("force_cutover", func(t *testing.T) { + onlineddl.CheckForceMigrationCutOver(t, &vtParams, shards, t1uuid, true) + }) + t.Run("check force_cutover", func(t *testing.T) { + rs := onlineddl.ReadMigrations(t, &vtParams, t1uuid) + require.NotNil(t, rs) + for _, row := range rs.Named().Rows { + forceCutOver := row.AsInt64("force_cutover", 0) + assert.Equal(t, int64(1), forceCutOver) // enabled + } + }) + t.Run("expect completion", func(t *testing.T) { + status := onlineddl.WaitForMigrationStatus(t, &vtParams, shards, t1uuid, normalWaitTime, schema.OnlineDDLStatusComplete, schema.OnlineDDLStatusFailed) + fmt.Printf("# Migration status (for debug purposes): <%s>\n", status) + onlineddl.CheckMigrationStatus(t, &vtParams, shards, t1uuid, schema.OnlineDDLStatusComplete) + }) + t.Run("expect transaction failure", func(t *testing.T) { + select { + case commitTransactionChan <- true: //good + case <-ctx.Done(): + assert.Fail(t, ctx.Err().Error()) + } + // Transaction will now attempt to commit. But we expect our "force_cutover" to have terminated + // the transaction's connection. + select { + case err := <-transactionErrorChan: + assert.ErrorContains(t, err, "broken pipe") + case <-ctx.Done(): + assert.Fail(t, ctx.Err().Error()) + } + }) + }) + } t.Run("ALTER both tables non-concurrent", func(t *testing.T) { t1uuid = testOnlineDDLStatement(t, createParams(trivialAlterT1Statement, ddlStrategy, "vtgate", "", "", true)) // skip wait t2uuid = testOnlineDDLStatement(t, createParams(trivialAlterT2Statement, ddlStrategy, "vtgate", "", "", true)) // skip wait @@ -2400,3 +2529,31 @@ func getCreateTableStatement(t *testing.T, tablet *cluster.Vttablet, tableName s statement = queryResult.Rows[0][1].ToString() return statement } + +func runInTransaction(t *testing.T, ctx context.Context, tablet *cluster.Vttablet, query string, commitTransactionChan chan any, transactionErrorChan chan error) error { + conn, err := tablet.VttabletProcess.TabletConn(keyspaceName, true) + require.NoError(t, err) + defer conn.Close() + + _, err = conn.ExecuteFetch("begin", 0, false) + require.NoError(t, err) + + _, err = conn.ExecuteFetch(query, 10000, false) + require.NoError(t, err) + + if commitTransactionChan != nil { + // Wait for instruction to commit + select { + case <-commitTransactionChan: + // good + case <-ctx.Done(): + assert.Fail(t, ctx.Err().Error()) + } + } + + _, err = conn.ExecuteFetch("commit", 0, false) + if transactionErrorChan != nil { + transactionErrorChan <- err + } + return err +} diff --git a/go/test/endtoend/onlineddl/vtgate_util.go b/go/test/endtoend/onlineddl/vtgate_util.go index 693523cec48..7d51f3365ba 100644 --- a/go/test/endtoend/onlineddl/vtgate_util.go +++ b/go/test/endtoend/onlineddl/vtgate_util.go @@ -206,6 +206,21 @@ func CheckLaunchAllMigrations(t *testing.T, vtParams *mysql.ConnParams, expectCo } } +// CheckForceMigrationCutOver marks a migration for forced cut-over, and expects success by counting affected rows. +func CheckForceMigrationCutOver(t *testing.T, vtParams *mysql.ConnParams, shards []cluster.Shard, uuid string, expectPossible bool) { + query, err := sqlparser.ParseAndBind("alter vitess_migration %a force_cutover", + sqltypes.StringBindVariable(uuid), + ) + require.NoError(t, err) + r := VtgateExecQuery(t, vtParams, query, "") + + if expectPossible { + assert.Equal(t, len(shards), int(r.RowsAffected)) + } else { + assert.Equal(t, int(0), int(r.RowsAffected)) + } +} + // CheckMigrationStatus verifies that the migration indicated by given UUID has the given expected status func CheckMigrationStatus(t *testing.T, vtParams *mysql.ConnParams, shards []cluster.Shard, uuid string, expectStatuses ...schema.OnlineDDLStatus) bool { query, err := sqlparser.ParseAndBind("show vitess_migrations like %a", diff --git a/go/vt/proto/vtctldata/vtctldata.pb.go b/go/vt/proto/vtctldata/vtctldata.pb.go index 6e17040a13b..a74376b5313 100644 --- a/go/vt/proto/vtctldata/vtctldata.pb.go +++ b/go/vt/proto/vtctldata/vtctldata.pb.go @@ -4266,6 +4266,108 @@ func (x *FindAllShardsInKeyspaceResponse) GetShards() map[string]*Shard { return nil } +type ForceCutOverSchemaMigrationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Keyspace string `protobuf:"bytes,1,opt,name=keyspace,proto3" json:"keyspace,omitempty"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` +} + +func (x *ForceCutOverSchemaMigrationRequest) Reset() { + *x = ForceCutOverSchemaMigrationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_vtctldata_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ForceCutOverSchemaMigrationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ForceCutOverSchemaMigrationRequest) ProtoMessage() {} + +func (x *ForceCutOverSchemaMigrationRequest) ProtoReflect() protoreflect.Message { + mi := &file_vtctldata_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ForceCutOverSchemaMigrationRequest.ProtoReflect.Descriptor instead. +func (*ForceCutOverSchemaMigrationRequest) Descriptor() ([]byte, []int) { + return file_vtctldata_proto_rawDescGZIP(), []int{57} +} + +func (x *ForceCutOverSchemaMigrationRequest) GetKeyspace() string { + if x != nil { + return x.Keyspace + } + return "" +} + +func (x *ForceCutOverSchemaMigrationRequest) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type ForceCutOverSchemaMigrationResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RowsAffectedByShard map[string]uint64 `protobuf:"bytes,1,rep,name=rows_affected_by_shard,json=rowsAffectedByShard,proto3" json:"rows_affected_by_shard,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *ForceCutOverSchemaMigrationResponse) Reset() { + *x = ForceCutOverSchemaMigrationResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_vtctldata_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ForceCutOverSchemaMigrationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ForceCutOverSchemaMigrationResponse) ProtoMessage() {} + +func (x *ForceCutOverSchemaMigrationResponse) ProtoReflect() protoreflect.Message { + mi := &file_vtctldata_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ForceCutOverSchemaMigrationResponse.ProtoReflect.Descriptor instead. +func (*ForceCutOverSchemaMigrationResponse) Descriptor() ([]byte, []int) { + return file_vtctldata_proto_rawDescGZIP(), []int{58} +} + +func (x *ForceCutOverSchemaMigrationResponse) GetRowsAffectedByShard() map[string]uint64 { + if x != nil { + return x.RowsAffectedByShard + } + return nil +} + type GetBackupsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4292,7 +4394,7 @@ type GetBackupsRequest struct { func (x *GetBackupsRequest) Reset() { *x = GetBackupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[57] + mi := &file_vtctldata_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4305,7 +4407,7 @@ func (x *GetBackupsRequest) String() string { func (*GetBackupsRequest) ProtoMessage() {} func (x *GetBackupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[57] + mi := &file_vtctldata_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4318,7 +4420,7 @@ func (x *GetBackupsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBackupsRequest.ProtoReflect.Descriptor instead. func (*GetBackupsRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{57} + return file_vtctldata_proto_rawDescGZIP(), []int{59} } func (x *GetBackupsRequest) GetKeyspace() string { @@ -4367,7 +4469,7 @@ type GetBackupsResponse struct { func (x *GetBackupsResponse) Reset() { *x = GetBackupsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[58] + mi := &file_vtctldata_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4380,7 +4482,7 @@ func (x *GetBackupsResponse) String() string { func (*GetBackupsResponse) ProtoMessage() {} func (x *GetBackupsResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[58] + mi := &file_vtctldata_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4393,7 +4495,7 @@ func (x *GetBackupsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBackupsResponse.ProtoReflect.Descriptor instead. func (*GetBackupsResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{58} + return file_vtctldata_proto_rawDescGZIP(), []int{60} } func (x *GetBackupsResponse) GetBackups() []*mysqlctl.BackupInfo { @@ -4414,7 +4516,7 @@ type GetCellInfoRequest struct { func (x *GetCellInfoRequest) Reset() { *x = GetCellInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[59] + mi := &file_vtctldata_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4427,7 +4529,7 @@ func (x *GetCellInfoRequest) String() string { func (*GetCellInfoRequest) ProtoMessage() {} func (x *GetCellInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[59] + mi := &file_vtctldata_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4440,7 +4542,7 @@ func (x *GetCellInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCellInfoRequest.ProtoReflect.Descriptor instead. func (*GetCellInfoRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{59} + return file_vtctldata_proto_rawDescGZIP(), []int{61} } func (x *GetCellInfoRequest) GetCell() string { @@ -4461,7 +4563,7 @@ type GetCellInfoResponse struct { func (x *GetCellInfoResponse) Reset() { *x = GetCellInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[60] + mi := &file_vtctldata_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4474,7 +4576,7 @@ func (x *GetCellInfoResponse) String() string { func (*GetCellInfoResponse) ProtoMessage() {} func (x *GetCellInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[60] + mi := &file_vtctldata_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4487,7 +4589,7 @@ func (x *GetCellInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCellInfoResponse.ProtoReflect.Descriptor instead. func (*GetCellInfoResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{60} + return file_vtctldata_proto_rawDescGZIP(), []int{62} } func (x *GetCellInfoResponse) GetCellInfo() *topodata.CellInfo { @@ -4506,7 +4608,7 @@ type GetCellInfoNamesRequest struct { func (x *GetCellInfoNamesRequest) Reset() { *x = GetCellInfoNamesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[61] + mi := &file_vtctldata_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4519,7 +4621,7 @@ func (x *GetCellInfoNamesRequest) String() string { func (*GetCellInfoNamesRequest) ProtoMessage() {} func (x *GetCellInfoNamesRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[61] + mi := &file_vtctldata_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4532,7 +4634,7 @@ func (x *GetCellInfoNamesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCellInfoNamesRequest.ProtoReflect.Descriptor instead. func (*GetCellInfoNamesRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{61} + return file_vtctldata_proto_rawDescGZIP(), []int{63} } type GetCellInfoNamesResponse struct { @@ -4546,7 +4648,7 @@ type GetCellInfoNamesResponse struct { func (x *GetCellInfoNamesResponse) Reset() { *x = GetCellInfoNamesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[62] + mi := &file_vtctldata_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4559,7 +4661,7 @@ func (x *GetCellInfoNamesResponse) String() string { func (*GetCellInfoNamesResponse) ProtoMessage() {} func (x *GetCellInfoNamesResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[62] + mi := &file_vtctldata_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4572,7 +4674,7 @@ func (x *GetCellInfoNamesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCellInfoNamesResponse.ProtoReflect.Descriptor instead. func (*GetCellInfoNamesResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{62} + return file_vtctldata_proto_rawDescGZIP(), []int{64} } func (x *GetCellInfoNamesResponse) GetNames() []string { @@ -4591,7 +4693,7 @@ type GetCellsAliasesRequest struct { func (x *GetCellsAliasesRequest) Reset() { *x = GetCellsAliasesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[63] + mi := &file_vtctldata_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4604,7 +4706,7 @@ func (x *GetCellsAliasesRequest) String() string { func (*GetCellsAliasesRequest) ProtoMessage() {} func (x *GetCellsAliasesRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[63] + mi := &file_vtctldata_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4617,7 +4719,7 @@ func (x *GetCellsAliasesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCellsAliasesRequest.ProtoReflect.Descriptor instead. func (*GetCellsAliasesRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{63} + return file_vtctldata_proto_rawDescGZIP(), []int{65} } type GetCellsAliasesResponse struct { @@ -4631,7 +4733,7 @@ type GetCellsAliasesResponse struct { func (x *GetCellsAliasesResponse) Reset() { *x = GetCellsAliasesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[64] + mi := &file_vtctldata_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4644,7 +4746,7 @@ func (x *GetCellsAliasesResponse) String() string { func (*GetCellsAliasesResponse) ProtoMessage() {} func (x *GetCellsAliasesResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[64] + mi := &file_vtctldata_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4657,7 +4759,7 @@ func (x *GetCellsAliasesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCellsAliasesResponse.ProtoReflect.Descriptor instead. func (*GetCellsAliasesResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{64} + return file_vtctldata_proto_rawDescGZIP(), []int{66} } func (x *GetCellsAliasesResponse) GetAliases() map[string]*topodata.CellsAlias { @@ -4678,7 +4780,7 @@ type GetFullStatusRequest struct { func (x *GetFullStatusRequest) Reset() { *x = GetFullStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[65] + mi := &file_vtctldata_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4691,7 +4793,7 @@ func (x *GetFullStatusRequest) String() string { func (*GetFullStatusRequest) ProtoMessage() {} func (x *GetFullStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[65] + mi := &file_vtctldata_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4704,7 +4806,7 @@ func (x *GetFullStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFullStatusRequest.ProtoReflect.Descriptor instead. func (*GetFullStatusRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{65} + return file_vtctldata_proto_rawDescGZIP(), []int{67} } func (x *GetFullStatusRequest) GetTabletAlias() *topodata.TabletAlias { @@ -4725,7 +4827,7 @@ type GetFullStatusResponse struct { func (x *GetFullStatusResponse) Reset() { *x = GetFullStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[66] + mi := &file_vtctldata_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4738,7 +4840,7 @@ func (x *GetFullStatusResponse) String() string { func (*GetFullStatusResponse) ProtoMessage() {} func (x *GetFullStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[66] + mi := &file_vtctldata_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4751,7 +4853,7 @@ func (x *GetFullStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFullStatusResponse.ProtoReflect.Descriptor instead. func (*GetFullStatusResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{66} + return file_vtctldata_proto_rawDescGZIP(), []int{68} } func (x *GetFullStatusResponse) GetStatus() *replicationdata.FullStatus { @@ -4770,7 +4872,7 @@ type GetKeyspacesRequest struct { func (x *GetKeyspacesRequest) Reset() { *x = GetKeyspacesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[67] + mi := &file_vtctldata_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4783,7 +4885,7 @@ func (x *GetKeyspacesRequest) String() string { func (*GetKeyspacesRequest) ProtoMessage() {} func (x *GetKeyspacesRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[67] + mi := &file_vtctldata_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4796,7 +4898,7 @@ func (x *GetKeyspacesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetKeyspacesRequest.ProtoReflect.Descriptor instead. func (*GetKeyspacesRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{67} + return file_vtctldata_proto_rawDescGZIP(), []int{69} } type GetKeyspacesResponse struct { @@ -4810,7 +4912,7 @@ type GetKeyspacesResponse struct { func (x *GetKeyspacesResponse) Reset() { *x = GetKeyspacesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[68] + mi := &file_vtctldata_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4823,7 +4925,7 @@ func (x *GetKeyspacesResponse) String() string { func (*GetKeyspacesResponse) ProtoMessage() {} func (x *GetKeyspacesResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[68] + mi := &file_vtctldata_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4836,7 +4938,7 @@ func (x *GetKeyspacesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetKeyspacesResponse.ProtoReflect.Descriptor instead. func (*GetKeyspacesResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{68} + return file_vtctldata_proto_rawDescGZIP(), []int{70} } func (x *GetKeyspacesResponse) GetKeyspaces() []*Keyspace { @@ -4857,7 +4959,7 @@ type GetKeyspaceRequest struct { func (x *GetKeyspaceRequest) Reset() { *x = GetKeyspaceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[69] + mi := &file_vtctldata_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4870,7 +4972,7 @@ func (x *GetKeyspaceRequest) String() string { func (*GetKeyspaceRequest) ProtoMessage() {} func (x *GetKeyspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[69] + mi := &file_vtctldata_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4883,7 +4985,7 @@ func (x *GetKeyspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetKeyspaceRequest.ProtoReflect.Descriptor instead. func (*GetKeyspaceRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{69} + return file_vtctldata_proto_rawDescGZIP(), []int{71} } func (x *GetKeyspaceRequest) GetKeyspace() string { @@ -4904,7 +5006,7 @@ type GetKeyspaceResponse struct { func (x *GetKeyspaceResponse) Reset() { *x = GetKeyspaceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[70] + mi := &file_vtctldata_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4917,7 +5019,7 @@ func (x *GetKeyspaceResponse) String() string { func (*GetKeyspaceResponse) ProtoMessage() {} func (x *GetKeyspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[70] + mi := &file_vtctldata_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4930,7 +5032,7 @@ func (x *GetKeyspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetKeyspaceResponse.ProtoReflect.Descriptor instead. func (*GetKeyspaceResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{70} + return file_vtctldata_proto_rawDescGZIP(), []int{72} } func (x *GetKeyspaceResponse) GetKeyspace() *Keyspace { @@ -4951,7 +5053,7 @@ type GetPermissionsRequest struct { func (x *GetPermissionsRequest) Reset() { *x = GetPermissionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[71] + mi := &file_vtctldata_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4964,7 +5066,7 @@ func (x *GetPermissionsRequest) String() string { func (*GetPermissionsRequest) ProtoMessage() {} func (x *GetPermissionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[71] + mi := &file_vtctldata_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4977,7 +5079,7 @@ func (x *GetPermissionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPermissionsRequest.ProtoReflect.Descriptor instead. func (*GetPermissionsRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{71} + return file_vtctldata_proto_rawDescGZIP(), []int{73} } func (x *GetPermissionsRequest) GetTabletAlias() *topodata.TabletAlias { @@ -4998,7 +5100,7 @@ type GetPermissionsResponse struct { func (x *GetPermissionsResponse) Reset() { *x = GetPermissionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[72] + mi := &file_vtctldata_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5011,7 +5113,7 @@ func (x *GetPermissionsResponse) String() string { func (*GetPermissionsResponse) ProtoMessage() {} func (x *GetPermissionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[72] + mi := &file_vtctldata_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5024,7 +5126,7 @@ func (x *GetPermissionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPermissionsResponse.ProtoReflect.Descriptor instead. func (*GetPermissionsResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{72} + return file_vtctldata_proto_rawDescGZIP(), []int{74} } func (x *GetPermissionsResponse) GetPermissions() *tabletmanagerdata.Permissions { @@ -5043,7 +5145,7 @@ type GetRoutingRulesRequest struct { func (x *GetRoutingRulesRequest) Reset() { *x = GetRoutingRulesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[73] + mi := &file_vtctldata_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5056,7 +5158,7 @@ func (x *GetRoutingRulesRequest) String() string { func (*GetRoutingRulesRequest) ProtoMessage() {} func (x *GetRoutingRulesRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[73] + mi := &file_vtctldata_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5069,7 +5171,7 @@ func (x *GetRoutingRulesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRoutingRulesRequest.ProtoReflect.Descriptor instead. func (*GetRoutingRulesRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{73} + return file_vtctldata_proto_rawDescGZIP(), []int{75} } type GetRoutingRulesResponse struct { @@ -5083,7 +5185,7 @@ type GetRoutingRulesResponse struct { func (x *GetRoutingRulesResponse) Reset() { *x = GetRoutingRulesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[74] + mi := &file_vtctldata_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5096,7 +5198,7 @@ func (x *GetRoutingRulesResponse) String() string { func (*GetRoutingRulesResponse) ProtoMessage() {} func (x *GetRoutingRulesResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[74] + mi := &file_vtctldata_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5109,7 +5211,7 @@ func (x *GetRoutingRulesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRoutingRulesResponse.ProtoReflect.Descriptor instead. func (*GetRoutingRulesResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{74} + return file_vtctldata_proto_rawDescGZIP(), []int{76} } func (x *GetRoutingRulesResponse) GetRoutingRules() *vschema.RoutingRules { @@ -5148,7 +5250,7 @@ type GetSchemaRequest struct { func (x *GetSchemaRequest) Reset() { *x = GetSchemaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[75] + mi := &file_vtctldata_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5161,7 +5263,7 @@ func (x *GetSchemaRequest) String() string { func (*GetSchemaRequest) ProtoMessage() {} func (x *GetSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[75] + mi := &file_vtctldata_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5174,7 +5276,7 @@ func (x *GetSchemaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaRequest.ProtoReflect.Descriptor instead. func (*GetSchemaRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{75} + return file_vtctldata_proto_rawDescGZIP(), []int{77} } func (x *GetSchemaRequest) GetTabletAlias() *topodata.TabletAlias { @@ -5237,7 +5339,7 @@ type GetSchemaResponse struct { func (x *GetSchemaResponse) Reset() { *x = GetSchemaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[76] + mi := &file_vtctldata_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5250,7 +5352,7 @@ func (x *GetSchemaResponse) String() string { func (*GetSchemaResponse) ProtoMessage() {} func (x *GetSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[76] + mi := &file_vtctldata_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5263,7 +5365,7 @@ func (x *GetSchemaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaResponse.ProtoReflect.Descriptor instead. func (*GetSchemaResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{76} + return file_vtctldata_proto_rawDescGZIP(), []int{78} } func (x *GetSchemaResponse) GetSchema() *tabletmanagerdata.SchemaDefinition { @@ -5309,7 +5411,7 @@ type GetSchemaMigrationsRequest struct { func (x *GetSchemaMigrationsRequest) Reset() { *x = GetSchemaMigrationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[77] + mi := &file_vtctldata_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5322,7 +5424,7 @@ func (x *GetSchemaMigrationsRequest) String() string { func (*GetSchemaMigrationsRequest) ProtoMessage() {} func (x *GetSchemaMigrationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[77] + mi := &file_vtctldata_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5335,7 +5437,7 @@ func (x *GetSchemaMigrationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaMigrationsRequest.ProtoReflect.Descriptor instead. func (*GetSchemaMigrationsRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{77} + return file_vtctldata_proto_rawDescGZIP(), []int{79} } func (x *GetSchemaMigrationsRequest) GetKeyspace() string { @@ -5405,7 +5507,7 @@ type GetSchemaMigrationsResponse struct { func (x *GetSchemaMigrationsResponse) Reset() { *x = GetSchemaMigrationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[78] + mi := &file_vtctldata_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5418,7 +5520,7 @@ func (x *GetSchemaMigrationsResponse) String() string { func (*GetSchemaMigrationsResponse) ProtoMessage() {} func (x *GetSchemaMigrationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[78] + mi := &file_vtctldata_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5431,7 +5533,7 @@ func (x *GetSchemaMigrationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaMigrationsResponse.ProtoReflect.Descriptor instead. func (*GetSchemaMigrationsResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{78} + return file_vtctldata_proto_rawDescGZIP(), []int{80} } func (x *GetSchemaMigrationsResponse) GetMigrations() []*SchemaMigration { @@ -5453,7 +5555,7 @@ type GetShardRequest struct { func (x *GetShardRequest) Reset() { *x = GetShardRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[79] + mi := &file_vtctldata_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5466,7 +5568,7 @@ func (x *GetShardRequest) String() string { func (*GetShardRequest) ProtoMessage() {} func (x *GetShardRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[79] + mi := &file_vtctldata_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5479,7 +5581,7 @@ func (x *GetShardRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetShardRequest.ProtoReflect.Descriptor instead. func (*GetShardRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{79} + return file_vtctldata_proto_rawDescGZIP(), []int{81} } func (x *GetShardRequest) GetKeyspace() string { @@ -5507,7 +5609,7 @@ type GetShardResponse struct { func (x *GetShardResponse) Reset() { *x = GetShardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[80] + mi := &file_vtctldata_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5520,7 +5622,7 @@ func (x *GetShardResponse) String() string { func (*GetShardResponse) ProtoMessage() {} func (x *GetShardResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[80] + mi := &file_vtctldata_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5533,7 +5635,7 @@ func (x *GetShardResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetShardResponse.ProtoReflect.Descriptor instead. func (*GetShardResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{80} + return file_vtctldata_proto_rawDescGZIP(), []int{82} } func (x *GetShardResponse) GetShard() *Shard { @@ -5552,7 +5654,7 @@ type GetShardRoutingRulesRequest struct { func (x *GetShardRoutingRulesRequest) Reset() { *x = GetShardRoutingRulesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[81] + mi := &file_vtctldata_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5565,7 +5667,7 @@ func (x *GetShardRoutingRulesRequest) String() string { func (*GetShardRoutingRulesRequest) ProtoMessage() {} func (x *GetShardRoutingRulesRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[81] + mi := &file_vtctldata_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5578,7 +5680,7 @@ func (x *GetShardRoutingRulesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetShardRoutingRulesRequest.ProtoReflect.Descriptor instead. func (*GetShardRoutingRulesRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{81} + return file_vtctldata_proto_rawDescGZIP(), []int{83} } type GetShardRoutingRulesResponse struct { @@ -5592,7 +5694,7 @@ type GetShardRoutingRulesResponse struct { func (x *GetShardRoutingRulesResponse) Reset() { *x = GetShardRoutingRulesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[82] + mi := &file_vtctldata_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5605,7 +5707,7 @@ func (x *GetShardRoutingRulesResponse) String() string { func (*GetShardRoutingRulesResponse) ProtoMessage() {} func (x *GetShardRoutingRulesResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[82] + mi := &file_vtctldata_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5618,7 +5720,7 @@ func (x *GetShardRoutingRulesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetShardRoutingRulesResponse.ProtoReflect.Descriptor instead. func (*GetShardRoutingRulesResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{82} + return file_vtctldata_proto_rawDescGZIP(), []int{84} } func (x *GetShardRoutingRulesResponse) GetShardRoutingRules() *vschema.ShardRoutingRules { @@ -5639,7 +5741,7 @@ type GetSrvKeyspaceNamesRequest struct { func (x *GetSrvKeyspaceNamesRequest) Reset() { *x = GetSrvKeyspaceNamesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[83] + mi := &file_vtctldata_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5652,7 +5754,7 @@ func (x *GetSrvKeyspaceNamesRequest) String() string { func (*GetSrvKeyspaceNamesRequest) ProtoMessage() {} func (x *GetSrvKeyspaceNamesRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[83] + mi := &file_vtctldata_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5665,7 +5767,7 @@ func (x *GetSrvKeyspaceNamesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSrvKeyspaceNamesRequest.ProtoReflect.Descriptor instead. func (*GetSrvKeyspaceNamesRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{83} + return file_vtctldata_proto_rawDescGZIP(), []int{85} } func (x *GetSrvKeyspaceNamesRequest) GetCells() []string { @@ -5687,7 +5789,7 @@ type GetSrvKeyspaceNamesResponse struct { func (x *GetSrvKeyspaceNamesResponse) Reset() { *x = GetSrvKeyspaceNamesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[84] + mi := &file_vtctldata_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5700,7 +5802,7 @@ func (x *GetSrvKeyspaceNamesResponse) String() string { func (*GetSrvKeyspaceNamesResponse) ProtoMessage() {} func (x *GetSrvKeyspaceNamesResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[84] + mi := &file_vtctldata_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5713,7 +5815,7 @@ func (x *GetSrvKeyspaceNamesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSrvKeyspaceNamesResponse.ProtoReflect.Descriptor instead. func (*GetSrvKeyspaceNamesResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{84} + return file_vtctldata_proto_rawDescGZIP(), []int{86} } func (x *GetSrvKeyspaceNamesResponse) GetNames() map[string]*GetSrvKeyspaceNamesResponse_NameList { @@ -5737,7 +5839,7 @@ type GetSrvKeyspacesRequest struct { func (x *GetSrvKeyspacesRequest) Reset() { *x = GetSrvKeyspacesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[85] + mi := &file_vtctldata_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5750,7 +5852,7 @@ func (x *GetSrvKeyspacesRequest) String() string { func (*GetSrvKeyspacesRequest) ProtoMessage() {} func (x *GetSrvKeyspacesRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[85] + mi := &file_vtctldata_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5763,7 +5865,7 @@ func (x *GetSrvKeyspacesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSrvKeyspacesRequest.ProtoReflect.Descriptor instead. func (*GetSrvKeyspacesRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{85} + return file_vtctldata_proto_rawDescGZIP(), []int{87} } func (x *GetSrvKeyspacesRequest) GetKeyspace() string { @@ -5792,7 +5894,7 @@ type GetSrvKeyspacesResponse struct { func (x *GetSrvKeyspacesResponse) Reset() { *x = GetSrvKeyspacesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[86] + mi := &file_vtctldata_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5805,7 +5907,7 @@ func (x *GetSrvKeyspacesResponse) String() string { func (*GetSrvKeyspacesResponse) ProtoMessage() {} func (x *GetSrvKeyspacesResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[86] + mi := &file_vtctldata_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5818,7 +5920,7 @@ func (x *GetSrvKeyspacesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSrvKeyspacesResponse.ProtoReflect.Descriptor instead. func (*GetSrvKeyspacesResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{86} + return file_vtctldata_proto_rawDescGZIP(), []int{88} } func (x *GetSrvKeyspacesResponse) GetSrvKeyspaces() map[string]*topodata.SrvKeyspace { @@ -5855,7 +5957,7 @@ type UpdateThrottlerConfigRequest struct { func (x *UpdateThrottlerConfigRequest) Reset() { *x = UpdateThrottlerConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[87] + mi := &file_vtctldata_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5868,7 +5970,7 @@ func (x *UpdateThrottlerConfigRequest) String() string { func (*UpdateThrottlerConfigRequest) ProtoMessage() {} func (x *UpdateThrottlerConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[87] + mi := &file_vtctldata_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5881,7 +5983,7 @@ func (x *UpdateThrottlerConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateThrottlerConfigRequest.ProtoReflect.Descriptor instead. func (*UpdateThrottlerConfigRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{87} + return file_vtctldata_proto_rawDescGZIP(), []int{89} } func (x *UpdateThrottlerConfigRequest) GetKeyspace() string { @@ -5956,7 +6058,7 @@ type UpdateThrottlerConfigResponse struct { func (x *UpdateThrottlerConfigResponse) Reset() { *x = UpdateThrottlerConfigResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[88] + mi := &file_vtctldata_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5969,7 +6071,7 @@ func (x *UpdateThrottlerConfigResponse) String() string { func (*UpdateThrottlerConfigResponse) ProtoMessage() {} func (x *UpdateThrottlerConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[88] + mi := &file_vtctldata_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5982,7 +6084,7 @@ func (x *UpdateThrottlerConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateThrottlerConfigResponse.ProtoReflect.Descriptor instead. func (*UpdateThrottlerConfigResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{88} + return file_vtctldata_proto_rawDescGZIP(), []int{90} } type GetSrvVSchemaRequest struct { @@ -5996,7 +6098,7 @@ type GetSrvVSchemaRequest struct { func (x *GetSrvVSchemaRequest) Reset() { *x = GetSrvVSchemaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[89] + mi := &file_vtctldata_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6009,7 +6111,7 @@ func (x *GetSrvVSchemaRequest) String() string { func (*GetSrvVSchemaRequest) ProtoMessage() {} func (x *GetSrvVSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[89] + mi := &file_vtctldata_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6022,7 +6124,7 @@ func (x *GetSrvVSchemaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSrvVSchemaRequest.ProtoReflect.Descriptor instead. func (*GetSrvVSchemaRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{89} + return file_vtctldata_proto_rawDescGZIP(), []int{91} } func (x *GetSrvVSchemaRequest) GetCell() string { @@ -6043,7 +6145,7 @@ type GetSrvVSchemaResponse struct { func (x *GetSrvVSchemaResponse) Reset() { *x = GetSrvVSchemaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[90] + mi := &file_vtctldata_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6056,7 +6158,7 @@ func (x *GetSrvVSchemaResponse) String() string { func (*GetSrvVSchemaResponse) ProtoMessage() {} func (x *GetSrvVSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[90] + mi := &file_vtctldata_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6069,7 +6171,7 @@ func (x *GetSrvVSchemaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSrvVSchemaResponse.ProtoReflect.Descriptor instead. func (*GetSrvVSchemaResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{90} + return file_vtctldata_proto_rawDescGZIP(), []int{92} } func (x *GetSrvVSchemaResponse) GetSrvVSchema() *vschema.SrvVSchema { @@ -6090,7 +6192,7 @@ type GetSrvVSchemasRequest struct { func (x *GetSrvVSchemasRequest) Reset() { *x = GetSrvVSchemasRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[91] + mi := &file_vtctldata_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6103,7 +6205,7 @@ func (x *GetSrvVSchemasRequest) String() string { func (*GetSrvVSchemasRequest) ProtoMessage() {} func (x *GetSrvVSchemasRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[91] + mi := &file_vtctldata_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6116,7 +6218,7 @@ func (x *GetSrvVSchemasRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSrvVSchemasRequest.ProtoReflect.Descriptor instead. func (*GetSrvVSchemasRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{91} + return file_vtctldata_proto_rawDescGZIP(), []int{93} } func (x *GetSrvVSchemasRequest) GetCells() []string { @@ -6138,7 +6240,7 @@ type GetSrvVSchemasResponse struct { func (x *GetSrvVSchemasResponse) Reset() { *x = GetSrvVSchemasResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[92] + mi := &file_vtctldata_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6151,7 +6253,7 @@ func (x *GetSrvVSchemasResponse) String() string { func (*GetSrvVSchemasResponse) ProtoMessage() {} func (x *GetSrvVSchemasResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[92] + mi := &file_vtctldata_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6164,7 +6266,7 @@ func (x *GetSrvVSchemasResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSrvVSchemasResponse.ProtoReflect.Descriptor instead. func (*GetSrvVSchemasResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{92} + return file_vtctldata_proto_rawDescGZIP(), []int{94} } func (x *GetSrvVSchemasResponse) GetSrvVSchemas() map[string]*vschema.SrvVSchema { @@ -6185,7 +6287,7 @@ type GetTabletRequest struct { func (x *GetTabletRequest) Reset() { *x = GetTabletRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[93] + mi := &file_vtctldata_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6198,7 +6300,7 @@ func (x *GetTabletRequest) String() string { func (*GetTabletRequest) ProtoMessage() {} func (x *GetTabletRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[93] + mi := &file_vtctldata_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6211,7 +6313,7 @@ func (x *GetTabletRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTabletRequest.ProtoReflect.Descriptor instead. func (*GetTabletRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{93} + return file_vtctldata_proto_rawDescGZIP(), []int{95} } func (x *GetTabletRequest) GetTabletAlias() *topodata.TabletAlias { @@ -6232,7 +6334,7 @@ type GetTabletResponse struct { func (x *GetTabletResponse) Reset() { *x = GetTabletResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[94] + mi := &file_vtctldata_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6245,7 +6347,7 @@ func (x *GetTabletResponse) String() string { func (*GetTabletResponse) ProtoMessage() {} func (x *GetTabletResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[94] + mi := &file_vtctldata_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6258,7 +6360,7 @@ func (x *GetTabletResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTabletResponse.ProtoReflect.Descriptor instead. func (*GetTabletResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{94} + return file_vtctldata_proto_rawDescGZIP(), []int{96} } func (x *GetTabletResponse) GetTablet() *topodata.Tablet { @@ -6300,7 +6402,7 @@ type GetTabletsRequest struct { func (x *GetTabletsRequest) Reset() { *x = GetTabletsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[95] + mi := &file_vtctldata_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6313,7 +6415,7 @@ func (x *GetTabletsRequest) String() string { func (*GetTabletsRequest) ProtoMessage() {} func (x *GetTabletsRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[95] + mi := &file_vtctldata_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6326,7 +6428,7 @@ func (x *GetTabletsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTabletsRequest.ProtoReflect.Descriptor instead. func (*GetTabletsRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{95} + return file_vtctldata_proto_rawDescGZIP(), []int{97} } func (x *GetTabletsRequest) GetKeyspace() string { @@ -6382,7 +6484,7 @@ type GetTabletsResponse struct { func (x *GetTabletsResponse) Reset() { *x = GetTabletsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[96] + mi := &file_vtctldata_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6395,7 +6497,7 @@ func (x *GetTabletsResponse) String() string { func (*GetTabletsResponse) ProtoMessage() {} func (x *GetTabletsResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[96] + mi := &file_vtctldata_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6408,7 +6510,7 @@ func (x *GetTabletsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTabletsResponse.ProtoReflect.Descriptor instead. func (*GetTabletsResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{96} + return file_vtctldata_proto_rawDescGZIP(), []int{98} } func (x *GetTabletsResponse) GetTablets() []*topodata.Tablet { @@ -6429,7 +6531,7 @@ type GetTopologyPathRequest struct { func (x *GetTopologyPathRequest) Reset() { *x = GetTopologyPathRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[97] + mi := &file_vtctldata_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6442,7 +6544,7 @@ func (x *GetTopologyPathRequest) String() string { func (*GetTopologyPathRequest) ProtoMessage() {} func (x *GetTopologyPathRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[97] + mi := &file_vtctldata_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6455,7 +6557,7 @@ func (x *GetTopologyPathRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTopologyPathRequest.ProtoReflect.Descriptor instead. func (*GetTopologyPathRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{97} + return file_vtctldata_proto_rawDescGZIP(), []int{99} } func (x *GetTopologyPathRequest) GetPath() string { @@ -6476,7 +6578,7 @@ type GetTopologyPathResponse struct { func (x *GetTopologyPathResponse) Reset() { *x = GetTopologyPathResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[98] + mi := &file_vtctldata_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6489,7 +6591,7 @@ func (x *GetTopologyPathResponse) String() string { func (*GetTopologyPathResponse) ProtoMessage() {} func (x *GetTopologyPathResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[98] + mi := &file_vtctldata_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6502,7 +6604,7 @@ func (x *GetTopologyPathResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTopologyPathResponse.ProtoReflect.Descriptor instead. func (*GetTopologyPathResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{98} + return file_vtctldata_proto_rawDescGZIP(), []int{100} } func (x *GetTopologyPathResponse) GetCell() *TopologyCell { @@ -6528,7 +6630,7 @@ type TopologyCell struct { func (x *TopologyCell) Reset() { *x = TopologyCell{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[99] + mi := &file_vtctldata_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6541,7 +6643,7 @@ func (x *TopologyCell) String() string { func (*TopologyCell) ProtoMessage() {} func (x *TopologyCell) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[99] + mi := &file_vtctldata_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6554,7 +6656,7 @@ func (x *TopologyCell) ProtoReflect() protoreflect.Message { // Deprecated: Use TopologyCell.ProtoReflect.Descriptor instead. func (*TopologyCell) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{99} + return file_vtctldata_proto_rawDescGZIP(), []int{101} } func (x *TopologyCell) GetName() string { @@ -6596,7 +6698,7 @@ type GetVSchemaRequest struct { func (x *GetVSchemaRequest) Reset() { *x = GetVSchemaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[100] + mi := &file_vtctldata_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6609,7 +6711,7 @@ func (x *GetVSchemaRequest) String() string { func (*GetVSchemaRequest) ProtoMessage() {} func (x *GetVSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[100] + mi := &file_vtctldata_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6622,7 +6724,7 @@ func (x *GetVSchemaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVSchemaRequest.ProtoReflect.Descriptor instead. func (*GetVSchemaRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{100} + return file_vtctldata_proto_rawDescGZIP(), []int{102} } func (x *GetVSchemaRequest) GetKeyspace() string { @@ -6643,7 +6745,7 @@ type GetVersionRequest struct { func (x *GetVersionRequest) Reset() { *x = GetVersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[101] + mi := &file_vtctldata_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6656,7 +6758,7 @@ func (x *GetVersionRequest) String() string { func (*GetVersionRequest) ProtoMessage() {} func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[101] + mi := &file_vtctldata_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6669,7 +6771,7 @@ func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionRequest.ProtoReflect.Descriptor instead. func (*GetVersionRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{101} + return file_vtctldata_proto_rawDescGZIP(), []int{103} } func (x *GetVersionRequest) GetTabletAlias() *topodata.TabletAlias { @@ -6690,7 +6792,7 @@ type GetVersionResponse struct { func (x *GetVersionResponse) Reset() { *x = GetVersionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[102] + mi := &file_vtctldata_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6703,7 +6805,7 @@ func (x *GetVersionResponse) String() string { func (*GetVersionResponse) ProtoMessage() {} func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[102] + mi := &file_vtctldata_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6716,7 +6818,7 @@ func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionResponse.ProtoReflect.Descriptor instead. func (*GetVersionResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{102} + return file_vtctldata_proto_rawDescGZIP(), []int{104} } func (x *GetVersionResponse) GetVersion() string { @@ -6737,7 +6839,7 @@ type GetVSchemaResponse struct { func (x *GetVSchemaResponse) Reset() { *x = GetVSchemaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[103] + mi := &file_vtctldata_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6750,7 +6852,7 @@ func (x *GetVSchemaResponse) String() string { func (*GetVSchemaResponse) ProtoMessage() {} func (x *GetVSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[103] + mi := &file_vtctldata_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6763,7 +6865,7 @@ func (x *GetVSchemaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVSchemaResponse.ProtoReflect.Descriptor instead. func (*GetVSchemaResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{103} + return file_vtctldata_proto_rawDescGZIP(), []int{105} } func (x *GetVSchemaResponse) GetVSchema() *vschema.Keyspace { @@ -6789,7 +6891,7 @@ type GetWorkflowsRequest struct { func (x *GetWorkflowsRequest) Reset() { *x = GetWorkflowsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[104] + mi := &file_vtctldata_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6802,7 +6904,7 @@ func (x *GetWorkflowsRequest) String() string { func (*GetWorkflowsRequest) ProtoMessage() {} func (x *GetWorkflowsRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[104] + mi := &file_vtctldata_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6815,7 +6917,7 @@ func (x *GetWorkflowsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWorkflowsRequest.ProtoReflect.Descriptor instead. func (*GetWorkflowsRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{104} + return file_vtctldata_proto_rawDescGZIP(), []int{106} } func (x *GetWorkflowsRequest) GetKeyspace() string { @@ -6864,7 +6966,7 @@ type GetWorkflowsResponse struct { func (x *GetWorkflowsResponse) Reset() { *x = GetWorkflowsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[105] + mi := &file_vtctldata_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6877,7 +6979,7 @@ func (x *GetWorkflowsResponse) String() string { func (*GetWorkflowsResponse) ProtoMessage() {} func (x *GetWorkflowsResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[105] + mi := &file_vtctldata_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6890,7 +6992,7 @@ func (x *GetWorkflowsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWorkflowsResponse.ProtoReflect.Descriptor instead. func (*GetWorkflowsResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{105} + return file_vtctldata_proto_rawDescGZIP(), []int{107} } func (x *GetWorkflowsResponse) GetWorkflows() []*Workflow { @@ -6915,7 +7017,7 @@ type InitShardPrimaryRequest struct { func (x *InitShardPrimaryRequest) Reset() { *x = InitShardPrimaryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[106] + mi := &file_vtctldata_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6928,7 +7030,7 @@ func (x *InitShardPrimaryRequest) String() string { func (*InitShardPrimaryRequest) ProtoMessage() {} func (x *InitShardPrimaryRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[106] + mi := &file_vtctldata_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6941,7 +7043,7 @@ func (x *InitShardPrimaryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InitShardPrimaryRequest.ProtoReflect.Descriptor instead. func (*InitShardPrimaryRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{106} + return file_vtctldata_proto_rawDescGZIP(), []int{108} } func (x *InitShardPrimaryRequest) GetKeyspace() string { @@ -6990,7 +7092,7 @@ type InitShardPrimaryResponse struct { func (x *InitShardPrimaryResponse) Reset() { *x = InitShardPrimaryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[107] + mi := &file_vtctldata_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7003,7 +7105,7 @@ func (x *InitShardPrimaryResponse) String() string { func (*InitShardPrimaryResponse) ProtoMessage() {} func (x *InitShardPrimaryResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[107] + mi := &file_vtctldata_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7016,7 +7118,7 @@ func (x *InitShardPrimaryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InitShardPrimaryResponse.ProtoReflect.Descriptor instead. func (*InitShardPrimaryResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{107} + return file_vtctldata_proto_rawDescGZIP(), []int{109} } func (x *InitShardPrimaryResponse) GetEvents() []*logutil.Event { @@ -7038,7 +7140,7 @@ type LaunchSchemaMigrationRequest struct { func (x *LaunchSchemaMigrationRequest) Reset() { *x = LaunchSchemaMigrationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[108] + mi := &file_vtctldata_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7051,7 +7153,7 @@ func (x *LaunchSchemaMigrationRequest) String() string { func (*LaunchSchemaMigrationRequest) ProtoMessage() {} func (x *LaunchSchemaMigrationRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[108] + mi := &file_vtctldata_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7064,7 +7166,7 @@ func (x *LaunchSchemaMigrationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LaunchSchemaMigrationRequest.ProtoReflect.Descriptor instead. func (*LaunchSchemaMigrationRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{108} + return file_vtctldata_proto_rawDescGZIP(), []int{110} } func (x *LaunchSchemaMigrationRequest) GetKeyspace() string { @@ -7092,7 +7194,7 @@ type LaunchSchemaMigrationResponse struct { func (x *LaunchSchemaMigrationResponse) Reset() { *x = LaunchSchemaMigrationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[109] + mi := &file_vtctldata_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7105,7 +7207,7 @@ func (x *LaunchSchemaMigrationResponse) String() string { func (*LaunchSchemaMigrationResponse) ProtoMessage() {} func (x *LaunchSchemaMigrationResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[109] + mi := &file_vtctldata_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7118,7 +7220,7 @@ func (x *LaunchSchemaMigrationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LaunchSchemaMigrationResponse.ProtoReflect.Descriptor instead. func (*LaunchSchemaMigrationResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{109} + return file_vtctldata_proto_rawDescGZIP(), []int{111} } func (x *LaunchSchemaMigrationResponse) GetRowsAffectedByShard() map[string]uint64 { @@ -7145,7 +7247,7 @@ type LookupVindexCreateRequest struct { func (x *LookupVindexCreateRequest) Reset() { *x = LookupVindexCreateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[110] + mi := &file_vtctldata_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7158,7 +7260,7 @@ func (x *LookupVindexCreateRequest) String() string { func (*LookupVindexCreateRequest) ProtoMessage() {} func (x *LookupVindexCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[110] + mi := &file_vtctldata_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7171,7 +7273,7 @@ func (x *LookupVindexCreateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupVindexCreateRequest.ProtoReflect.Descriptor instead. func (*LookupVindexCreateRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{110} + return file_vtctldata_proto_rawDescGZIP(), []int{112} } func (x *LookupVindexCreateRequest) GetKeyspace() string { @@ -7232,7 +7334,7 @@ type LookupVindexCreateResponse struct { func (x *LookupVindexCreateResponse) Reset() { *x = LookupVindexCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[111] + mi := &file_vtctldata_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7245,7 +7347,7 @@ func (x *LookupVindexCreateResponse) String() string { func (*LookupVindexCreateResponse) ProtoMessage() {} func (x *LookupVindexCreateResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[111] + mi := &file_vtctldata_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7258,7 +7360,7 @@ func (x *LookupVindexCreateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupVindexCreateResponse.ProtoReflect.Descriptor instead. func (*LookupVindexCreateResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{111} + return file_vtctldata_proto_rawDescGZIP(), []int{113} } type LookupVindexExternalizeRequest struct { @@ -7277,7 +7379,7 @@ type LookupVindexExternalizeRequest struct { func (x *LookupVindexExternalizeRequest) Reset() { *x = LookupVindexExternalizeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[112] + mi := &file_vtctldata_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7290,7 +7392,7 @@ func (x *LookupVindexExternalizeRequest) String() string { func (*LookupVindexExternalizeRequest) ProtoMessage() {} func (x *LookupVindexExternalizeRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[112] + mi := &file_vtctldata_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7303,7 +7405,7 @@ func (x *LookupVindexExternalizeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupVindexExternalizeRequest.ProtoReflect.Descriptor instead. func (*LookupVindexExternalizeRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{112} + return file_vtctldata_proto_rawDescGZIP(), []int{114} } func (x *LookupVindexExternalizeRequest) GetKeyspace() string { @@ -7339,7 +7441,7 @@ type LookupVindexExternalizeResponse struct { func (x *LookupVindexExternalizeResponse) Reset() { *x = LookupVindexExternalizeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[113] + mi := &file_vtctldata_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7352,7 +7454,7 @@ func (x *LookupVindexExternalizeResponse) String() string { func (*LookupVindexExternalizeResponse) ProtoMessage() {} func (x *LookupVindexExternalizeResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[113] + mi := &file_vtctldata_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7365,7 +7467,7 @@ func (x *LookupVindexExternalizeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupVindexExternalizeResponse.ProtoReflect.Descriptor instead. func (*LookupVindexExternalizeResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{113} + return file_vtctldata_proto_rawDescGZIP(), []int{115} } func (x *LookupVindexExternalizeResponse) GetWorkflowDeleted() bool { @@ -7386,7 +7488,7 @@ type MaterializeCreateRequest struct { func (x *MaterializeCreateRequest) Reset() { *x = MaterializeCreateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[114] + mi := &file_vtctldata_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7399,7 +7501,7 @@ func (x *MaterializeCreateRequest) String() string { func (*MaterializeCreateRequest) ProtoMessage() {} func (x *MaterializeCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[114] + mi := &file_vtctldata_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7412,7 +7514,7 @@ func (x *MaterializeCreateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MaterializeCreateRequest.ProtoReflect.Descriptor instead. func (*MaterializeCreateRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{114} + return file_vtctldata_proto_rawDescGZIP(), []int{116} } func (x *MaterializeCreateRequest) GetSettings() *MaterializeSettings { @@ -7431,7 +7533,7 @@ type MaterializeCreateResponse struct { func (x *MaterializeCreateResponse) Reset() { *x = MaterializeCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[115] + mi := &file_vtctldata_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7444,7 +7546,7 @@ func (x *MaterializeCreateResponse) String() string { func (*MaterializeCreateResponse) ProtoMessage() {} func (x *MaterializeCreateResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[115] + mi := &file_vtctldata_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7457,7 +7559,7 @@ func (x *MaterializeCreateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MaterializeCreateResponse.ProtoReflect.Descriptor instead. func (*MaterializeCreateResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{115} + return file_vtctldata_proto_rawDescGZIP(), []int{117} } type MigrateCreateRequest struct { @@ -7496,7 +7598,7 @@ type MigrateCreateRequest struct { func (x *MigrateCreateRequest) Reset() { *x = MigrateCreateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[116] + mi := &file_vtctldata_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7509,7 +7611,7 @@ func (x *MigrateCreateRequest) String() string { func (*MigrateCreateRequest) ProtoMessage() {} func (x *MigrateCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[116] + mi := &file_vtctldata_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7522,7 +7624,7 @@ func (x *MigrateCreateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MigrateCreateRequest.ProtoReflect.Descriptor instead. func (*MigrateCreateRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{116} + return file_vtctldata_proto_rawDescGZIP(), []int{118} } func (x *MigrateCreateRequest) GetWorkflow() string { @@ -7660,7 +7762,7 @@ type MigrateCompleteRequest struct { func (x *MigrateCompleteRequest) Reset() { *x = MigrateCompleteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[117] + mi := &file_vtctldata_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7673,7 +7775,7 @@ func (x *MigrateCompleteRequest) String() string { func (*MigrateCompleteRequest) ProtoMessage() {} func (x *MigrateCompleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[117] + mi := &file_vtctldata_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7686,7 +7788,7 @@ func (x *MigrateCompleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MigrateCompleteRequest.ProtoReflect.Descriptor instead. func (*MigrateCompleteRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{117} + return file_vtctldata_proto_rawDescGZIP(), []int{119} } func (x *MigrateCompleteRequest) GetWorkflow() string { @@ -7743,7 +7845,7 @@ type MigrateCompleteResponse struct { func (x *MigrateCompleteResponse) Reset() { *x = MigrateCompleteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[118] + mi := &file_vtctldata_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7756,7 +7858,7 @@ func (x *MigrateCompleteResponse) String() string { func (*MigrateCompleteResponse) ProtoMessage() {} func (x *MigrateCompleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[118] + mi := &file_vtctldata_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7769,7 +7871,7 @@ func (x *MigrateCompleteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MigrateCompleteResponse.ProtoReflect.Descriptor instead. func (*MigrateCompleteResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{118} + return file_vtctldata_proto_rawDescGZIP(), []int{120} } func (x *MigrateCompleteResponse) GetSummary() string { @@ -7800,7 +7902,7 @@ type MountRegisterRequest struct { func (x *MountRegisterRequest) Reset() { *x = MountRegisterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[119] + mi := &file_vtctldata_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7813,7 +7915,7 @@ func (x *MountRegisterRequest) String() string { func (*MountRegisterRequest) ProtoMessage() {} func (x *MountRegisterRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[119] + mi := &file_vtctldata_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7826,7 +7928,7 @@ func (x *MountRegisterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MountRegisterRequest.ProtoReflect.Descriptor instead. func (*MountRegisterRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{119} + return file_vtctldata_proto_rawDescGZIP(), []int{121} } func (x *MountRegisterRequest) GetTopoType() string { @@ -7866,7 +7968,7 @@ type MountRegisterResponse struct { func (x *MountRegisterResponse) Reset() { *x = MountRegisterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[120] + mi := &file_vtctldata_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7879,7 +7981,7 @@ func (x *MountRegisterResponse) String() string { func (*MountRegisterResponse) ProtoMessage() {} func (x *MountRegisterResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[120] + mi := &file_vtctldata_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7892,7 +7994,7 @@ func (x *MountRegisterResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MountRegisterResponse.ProtoReflect.Descriptor instead. func (*MountRegisterResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{120} + return file_vtctldata_proto_rawDescGZIP(), []int{122} } type MountUnregisterRequest struct { @@ -7906,7 +8008,7 @@ type MountUnregisterRequest struct { func (x *MountUnregisterRequest) Reset() { *x = MountUnregisterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[121] + mi := &file_vtctldata_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7919,7 +8021,7 @@ func (x *MountUnregisterRequest) String() string { func (*MountUnregisterRequest) ProtoMessage() {} func (x *MountUnregisterRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[121] + mi := &file_vtctldata_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7932,7 +8034,7 @@ func (x *MountUnregisterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MountUnregisterRequest.ProtoReflect.Descriptor instead. func (*MountUnregisterRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{121} + return file_vtctldata_proto_rawDescGZIP(), []int{123} } func (x *MountUnregisterRequest) GetName() string { @@ -7951,7 +8053,7 @@ type MountUnregisterResponse struct { func (x *MountUnregisterResponse) Reset() { *x = MountUnregisterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[122] + mi := &file_vtctldata_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7964,7 +8066,7 @@ func (x *MountUnregisterResponse) String() string { func (*MountUnregisterResponse) ProtoMessage() {} func (x *MountUnregisterResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[122] + mi := &file_vtctldata_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7977,7 +8079,7 @@ func (x *MountUnregisterResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MountUnregisterResponse.ProtoReflect.Descriptor instead. func (*MountUnregisterResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{122} + return file_vtctldata_proto_rawDescGZIP(), []int{124} } type MountShowRequest struct { @@ -7991,7 +8093,7 @@ type MountShowRequest struct { func (x *MountShowRequest) Reset() { *x = MountShowRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[123] + mi := &file_vtctldata_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8004,7 +8106,7 @@ func (x *MountShowRequest) String() string { func (*MountShowRequest) ProtoMessage() {} func (x *MountShowRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[123] + mi := &file_vtctldata_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8017,7 +8119,7 @@ func (x *MountShowRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MountShowRequest.ProtoReflect.Descriptor instead. func (*MountShowRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{123} + return file_vtctldata_proto_rawDescGZIP(), []int{125} } func (x *MountShowRequest) GetName() string { @@ -8041,7 +8143,7 @@ type MountShowResponse struct { func (x *MountShowResponse) Reset() { *x = MountShowResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[124] + mi := &file_vtctldata_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8054,7 +8156,7 @@ func (x *MountShowResponse) String() string { func (*MountShowResponse) ProtoMessage() {} func (x *MountShowResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[124] + mi := &file_vtctldata_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8067,7 +8169,7 @@ func (x *MountShowResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MountShowResponse.ProtoReflect.Descriptor instead. func (*MountShowResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{124} + return file_vtctldata_proto_rawDescGZIP(), []int{126} } func (x *MountShowResponse) GetTopoType() string { @@ -8107,7 +8209,7 @@ type MountListRequest struct { func (x *MountListRequest) Reset() { *x = MountListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[125] + mi := &file_vtctldata_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8120,7 +8222,7 @@ func (x *MountListRequest) String() string { func (*MountListRequest) ProtoMessage() {} func (x *MountListRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[125] + mi := &file_vtctldata_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8133,7 +8235,7 @@ func (x *MountListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MountListRequest.ProtoReflect.Descriptor instead. func (*MountListRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{125} + return file_vtctldata_proto_rawDescGZIP(), []int{127} } type MountListResponse struct { @@ -8147,7 +8249,7 @@ type MountListResponse struct { func (x *MountListResponse) Reset() { *x = MountListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[126] + mi := &file_vtctldata_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8160,7 +8262,7 @@ func (x *MountListResponse) String() string { func (*MountListResponse) ProtoMessage() {} func (x *MountListResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[126] + mi := &file_vtctldata_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8173,7 +8275,7 @@ func (x *MountListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MountListResponse.ProtoReflect.Descriptor instead. func (*MountListResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{126} + return file_vtctldata_proto_rawDescGZIP(), []int{128} } func (x *MountListResponse) GetNames() []string { @@ -8223,7 +8325,7 @@ type MoveTablesCreateRequest struct { func (x *MoveTablesCreateRequest) Reset() { *x = MoveTablesCreateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[127] + mi := &file_vtctldata_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8236,7 +8338,7 @@ func (x *MoveTablesCreateRequest) String() string { func (*MoveTablesCreateRequest) ProtoMessage() {} func (x *MoveTablesCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[127] + mi := &file_vtctldata_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8249,7 +8351,7 @@ func (x *MoveTablesCreateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MoveTablesCreateRequest.ProtoReflect.Descriptor instead. func (*MoveTablesCreateRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{127} + return file_vtctldata_proto_rawDescGZIP(), []int{129} } func (x *MoveTablesCreateRequest) GetWorkflow() string { @@ -8397,7 +8499,7 @@ type MoveTablesCreateResponse struct { func (x *MoveTablesCreateResponse) Reset() { *x = MoveTablesCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[128] + mi := &file_vtctldata_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8410,7 +8512,7 @@ func (x *MoveTablesCreateResponse) String() string { func (*MoveTablesCreateResponse) ProtoMessage() {} func (x *MoveTablesCreateResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[128] + mi := &file_vtctldata_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8423,7 +8525,7 @@ func (x *MoveTablesCreateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MoveTablesCreateResponse.ProtoReflect.Descriptor instead. func (*MoveTablesCreateResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{128} + return file_vtctldata_proto_rawDescGZIP(), []int{130} } func (x *MoveTablesCreateResponse) GetSummary() string { @@ -8456,7 +8558,7 @@ type MoveTablesCompleteRequest struct { func (x *MoveTablesCompleteRequest) Reset() { *x = MoveTablesCompleteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[129] + mi := &file_vtctldata_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8469,7 +8571,7 @@ func (x *MoveTablesCompleteRequest) String() string { func (*MoveTablesCompleteRequest) ProtoMessage() {} func (x *MoveTablesCompleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[129] + mi := &file_vtctldata_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8482,7 +8584,7 @@ func (x *MoveTablesCompleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MoveTablesCompleteRequest.ProtoReflect.Descriptor instead. func (*MoveTablesCompleteRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{129} + return file_vtctldata_proto_rawDescGZIP(), []int{131} } func (x *MoveTablesCompleteRequest) GetWorkflow() string { @@ -8539,7 +8641,7 @@ type MoveTablesCompleteResponse struct { func (x *MoveTablesCompleteResponse) Reset() { *x = MoveTablesCompleteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[130] + mi := &file_vtctldata_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8552,7 +8654,7 @@ func (x *MoveTablesCompleteResponse) String() string { func (*MoveTablesCompleteResponse) ProtoMessage() {} func (x *MoveTablesCompleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[130] + mi := &file_vtctldata_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8565,7 +8667,7 @@ func (x *MoveTablesCompleteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MoveTablesCompleteResponse.ProtoReflect.Descriptor instead. func (*MoveTablesCompleteResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{130} + return file_vtctldata_proto_rawDescGZIP(), []int{132} } func (x *MoveTablesCompleteResponse) GetSummary() string { @@ -8593,7 +8695,7 @@ type PingTabletRequest struct { func (x *PingTabletRequest) Reset() { *x = PingTabletRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[131] + mi := &file_vtctldata_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8606,7 +8708,7 @@ func (x *PingTabletRequest) String() string { func (*PingTabletRequest) ProtoMessage() {} func (x *PingTabletRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[131] + mi := &file_vtctldata_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8619,7 +8721,7 @@ func (x *PingTabletRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PingTabletRequest.ProtoReflect.Descriptor instead. func (*PingTabletRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{131} + return file_vtctldata_proto_rawDescGZIP(), []int{133} } func (x *PingTabletRequest) GetTabletAlias() *topodata.TabletAlias { @@ -8638,7 +8740,7 @@ type PingTabletResponse struct { func (x *PingTabletResponse) Reset() { *x = PingTabletResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[132] + mi := &file_vtctldata_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8651,7 +8753,7 @@ func (x *PingTabletResponse) String() string { func (*PingTabletResponse) ProtoMessage() {} func (x *PingTabletResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[132] + mi := &file_vtctldata_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8664,7 +8766,7 @@ func (x *PingTabletResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PingTabletResponse.ProtoReflect.Descriptor instead. func (*PingTabletResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{132} + return file_vtctldata_proto_rawDescGZIP(), []int{134} } type PlannedReparentShardRequest struct { @@ -8703,7 +8805,7 @@ type PlannedReparentShardRequest struct { func (x *PlannedReparentShardRequest) Reset() { *x = PlannedReparentShardRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[133] + mi := &file_vtctldata_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8716,7 +8818,7 @@ func (x *PlannedReparentShardRequest) String() string { func (*PlannedReparentShardRequest) ProtoMessage() {} func (x *PlannedReparentShardRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[133] + mi := &file_vtctldata_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8729,7 +8831,7 @@ func (x *PlannedReparentShardRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PlannedReparentShardRequest.ProtoReflect.Descriptor instead. func (*PlannedReparentShardRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{133} + return file_vtctldata_proto_rawDescGZIP(), []int{135} } func (x *PlannedReparentShardRequest) GetKeyspace() string { @@ -8794,7 +8896,7 @@ type PlannedReparentShardResponse struct { func (x *PlannedReparentShardResponse) Reset() { *x = PlannedReparentShardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[134] + mi := &file_vtctldata_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8807,7 +8909,7 @@ func (x *PlannedReparentShardResponse) String() string { func (*PlannedReparentShardResponse) ProtoMessage() {} func (x *PlannedReparentShardResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[134] + mi := &file_vtctldata_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8820,7 +8922,7 @@ func (x *PlannedReparentShardResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PlannedReparentShardResponse.ProtoReflect.Descriptor instead. func (*PlannedReparentShardResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{134} + return file_vtctldata_proto_rawDescGZIP(), []int{136} } func (x *PlannedReparentShardResponse) GetKeyspace() string { @@ -8866,7 +8968,7 @@ type RebuildKeyspaceGraphRequest struct { func (x *RebuildKeyspaceGraphRequest) Reset() { *x = RebuildKeyspaceGraphRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[135] + mi := &file_vtctldata_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8879,7 +8981,7 @@ func (x *RebuildKeyspaceGraphRequest) String() string { func (*RebuildKeyspaceGraphRequest) ProtoMessage() {} func (x *RebuildKeyspaceGraphRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[135] + mi := &file_vtctldata_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8892,7 +8994,7 @@ func (x *RebuildKeyspaceGraphRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RebuildKeyspaceGraphRequest.ProtoReflect.Descriptor instead. func (*RebuildKeyspaceGraphRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{135} + return file_vtctldata_proto_rawDescGZIP(), []int{137} } func (x *RebuildKeyspaceGraphRequest) GetKeyspace() string { @@ -8925,7 +9027,7 @@ type RebuildKeyspaceGraphResponse struct { func (x *RebuildKeyspaceGraphResponse) Reset() { *x = RebuildKeyspaceGraphResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[136] + mi := &file_vtctldata_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8938,7 +9040,7 @@ func (x *RebuildKeyspaceGraphResponse) String() string { func (*RebuildKeyspaceGraphResponse) ProtoMessage() {} func (x *RebuildKeyspaceGraphResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[136] + mi := &file_vtctldata_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8951,7 +9053,7 @@ func (x *RebuildKeyspaceGraphResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RebuildKeyspaceGraphResponse.ProtoReflect.Descriptor instead. func (*RebuildKeyspaceGraphResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{136} + return file_vtctldata_proto_rawDescGZIP(), []int{138} } type RebuildVSchemaGraphRequest struct { @@ -8967,7 +9069,7 @@ type RebuildVSchemaGraphRequest struct { func (x *RebuildVSchemaGraphRequest) Reset() { *x = RebuildVSchemaGraphRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[137] + mi := &file_vtctldata_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8980,7 +9082,7 @@ func (x *RebuildVSchemaGraphRequest) String() string { func (*RebuildVSchemaGraphRequest) ProtoMessage() {} func (x *RebuildVSchemaGraphRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[137] + mi := &file_vtctldata_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8993,7 +9095,7 @@ func (x *RebuildVSchemaGraphRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RebuildVSchemaGraphRequest.ProtoReflect.Descriptor instead. func (*RebuildVSchemaGraphRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{137} + return file_vtctldata_proto_rawDescGZIP(), []int{139} } func (x *RebuildVSchemaGraphRequest) GetCells() []string { @@ -9012,7 +9114,7 @@ type RebuildVSchemaGraphResponse struct { func (x *RebuildVSchemaGraphResponse) Reset() { *x = RebuildVSchemaGraphResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[138] + mi := &file_vtctldata_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9025,7 +9127,7 @@ func (x *RebuildVSchemaGraphResponse) String() string { func (*RebuildVSchemaGraphResponse) ProtoMessage() {} func (x *RebuildVSchemaGraphResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[138] + mi := &file_vtctldata_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9038,7 +9140,7 @@ func (x *RebuildVSchemaGraphResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RebuildVSchemaGraphResponse.ProtoReflect.Descriptor instead. func (*RebuildVSchemaGraphResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{138} + return file_vtctldata_proto_rawDescGZIP(), []int{140} } type RefreshStateRequest struct { @@ -9052,7 +9154,7 @@ type RefreshStateRequest struct { func (x *RefreshStateRequest) Reset() { *x = RefreshStateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[139] + mi := &file_vtctldata_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9065,7 +9167,7 @@ func (x *RefreshStateRequest) String() string { func (*RefreshStateRequest) ProtoMessage() {} func (x *RefreshStateRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[139] + mi := &file_vtctldata_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9078,7 +9180,7 @@ func (x *RefreshStateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RefreshStateRequest.ProtoReflect.Descriptor instead. func (*RefreshStateRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{139} + return file_vtctldata_proto_rawDescGZIP(), []int{141} } func (x *RefreshStateRequest) GetTabletAlias() *topodata.TabletAlias { @@ -9097,7 +9199,7 @@ type RefreshStateResponse struct { func (x *RefreshStateResponse) Reset() { *x = RefreshStateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[140] + mi := &file_vtctldata_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9110,7 +9212,7 @@ func (x *RefreshStateResponse) String() string { func (*RefreshStateResponse) ProtoMessage() {} func (x *RefreshStateResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[140] + mi := &file_vtctldata_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9123,7 +9225,7 @@ func (x *RefreshStateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RefreshStateResponse.ProtoReflect.Descriptor instead. func (*RefreshStateResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{140} + return file_vtctldata_proto_rawDescGZIP(), []int{142} } type RefreshStateByShardRequest struct { @@ -9139,7 +9241,7 @@ type RefreshStateByShardRequest struct { func (x *RefreshStateByShardRequest) Reset() { *x = RefreshStateByShardRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[141] + mi := &file_vtctldata_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9152,7 +9254,7 @@ func (x *RefreshStateByShardRequest) String() string { func (*RefreshStateByShardRequest) ProtoMessage() {} func (x *RefreshStateByShardRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[141] + mi := &file_vtctldata_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9165,7 +9267,7 @@ func (x *RefreshStateByShardRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RefreshStateByShardRequest.ProtoReflect.Descriptor instead. func (*RefreshStateByShardRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{141} + return file_vtctldata_proto_rawDescGZIP(), []int{143} } func (x *RefreshStateByShardRequest) GetKeyspace() string { @@ -9202,7 +9304,7 @@ type RefreshStateByShardResponse struct { func (x *RefreshStateByShardResponse) Reset() { *x = RefreshStateByShardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[142] + mi := &file_vtctldata_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9215,7 +9317,7 @@ func (x *RefreshStateByShardResponse) String() string { func (*RefreshStateByShardResponse) ProtoMessage() {} func (x *RefreshStateByShardResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[142] + mi := &file_vtctldata_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9228,7 +9330,7 @@ func (x *RefreshStateByShardResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RefreshStateByShardResponse.ProtoReflect.Descriptor instead. func (*RefreshStateByShardResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{142} + return file_vtctldata_proto_rawDescGZIP(), []int{144} } func (x *RefreshStateByShardResponse) GetIsPartialRefresh() bool { @@ -9256,7 +9358,7 @@ type ReloadSchemaRequest struct { func (x *ReloadSchemaRequest) Reset() { *x = ReloadSchemaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[143] + mi := &file_vtctldata_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9269,7 +9371,7 @@ func (x *ReloadSchemaRequest) String() string { func (*ReloadSchemaRequest) ProtoMessage() {} func (x *ReloadSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[143] + mi := &file_vtctldata_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9282,7 +9384,7 @@ func (x *ReloadSchemaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReloadSchemaRequest.ProtoReflect.Descriptor instead. func (*ReloadSchemaRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{143} + return file_vtctldata_proto_rawDescGZIP(), []int{145} } func (x *ReloadSchemaRequest) GetTabletAlias() *topodata.TabletAlias { @@ -9301,7 +9403,7 @@ type ReloadSchemaResponse struct { func (x *ReloadSchemaResponse) Reset() { *x = ReloadSchemaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[144] + mi := &file_vtctldata_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9314,7 +9416,7 @@ func (x *ReloadSchemaResponse) String() string { func (*ReloadSchemaResponse) ProtoMessage() {} func (x *ReloadSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[144] + mi := &file_vtctldata_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9327,7 +9429,7 @@ func (x *ReloadSchemaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ReloadSchemaResponse.ProtoReflect.Descriptor instead. func (*ReloadSchemaResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{144} + return file_vtctldata_proto_rawDescGZIP(), []int{146} } type ReloadSchemaKeyspaceRequest struct { @@ -9347,7 +9449,7 @@ type ReloadSchemaKeyspaceRequest struct { func (x *ReloadSchemaKeyspaceRequest) Reset() { *x = ReloadSchemaKeyspaceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[145] + mi := &file_vtctldata_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9360,7 +9462,7 @@ func (x *ReloadSchemaKeyspaceRequest) String() string { func (*ReloadSchemaKeyspaceRequest) ProtoMessage() {} func (x *ReloadSchemaKeyspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[145] + mi := &file_vtctldata_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9373,7 +9475,7 @@ func (x *ReloadSchemaKeyspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReloadSchemaKeyspaceRequest.ProtoReflect.Descriptor instead. func (*ReloadSchemaKeyspaceRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{145} + return file_vtctldata_proto_rawDescGZIP(), []int{147} } func (x *ReloadSchemaKeyspaceRequest) GetKeyspace() string { @@ -9415,7 +9517,7 @@ type ReloadSchemaKeyspaceResponse struct { func (x *ReloadSchemaKeyspaceResponse) Reset() { *x = ReloadSchemaKeyspaceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[146] + mi := &file_vtctldata_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9428,7 +9530,7 @@ func (x *ReloadSchemaKeyspaceResponse) String() string { func (*ReloadSchemaKeyspaceResponse) ProtoMessage() {} func (x *ReloadSchemaKeyspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[146] + mi := &file_vtctldata_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9441,7 +9543,7 @@ func (x *ReloadSchemaKeyspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ReloadSchemaKeyspaceResponse.ProtoReflect.Descriptor instead. func (*ReloadSchemaKeyspaceResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{146} + return file_vtctldata_proto_rawDescGZIP(), []int{148} } func (x *ReloadSchemaKeyspaceResponse) GetEvents() []*logutil.Event { @@ -9467,7 +9569,7 @@ type ReloadSchemaShardRequest struct { func (x *ReloadSchemaShardRequest) Reset() { *x = ReloadSchemaShardRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[147] + mi := &file_vtctldata_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9480,7 +9582,7 @@ func (x *ReloadSchemaShardRequest) String() string { func (*ReloadSchemaShardRequest) ProtoMessage() {} func (x *ReloadSchemaShardRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[147] + mi := &file_vtctldata_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9493,7 +9595,7 @@ func (x *ReloadSchemaShardRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReloadSchemaShardRequest.ProtoReflect.Descriptor instead. func (*ReloadSchemaShardRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{147} + return file_vtctldata_proto_rawDescGZIP(), []int{149} } func (x *ReloadSchemaShardRequest) GetKeyspace() string { @@ -9542,7 +9644,7 @@ type ReloadSchemaShardResponse struct { func (x *ReloadSchemaShardResponse) Reset() { *x = ReloadSchemaShardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[148] + mi := &file_vtctldata_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9555,7 +9657,7 @@ func (x *ReloadSchemaShardResponse) String() string { func (*ReloadSchemaShardResponse) ProtoMessage() {} func (x *ReloadSchemaShardResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[148] + mi := &file_vtctldata_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9568,7 +9670,7 @@ func (x *ReloadSchemaShardResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ReloadSchemaShardResponse.ProtoReflect.Descriptor instead. func (*ReloadSchemaShardResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{148} + return file_vtctldata_proto_rawDescGZIP(), []int{150} } func (x *ReloadSchemaShardResponse) GetEvents() []*logutil.Event { @@ -9591,7 +9693,7 @@ type RemoveBackupRequest struct { func (x *RemoveBackupRequest) Reset() { *x = RemoveBackupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[149] + mi := &file_vtctldata_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9604,7 +9706,7 @@ func (x *RemoveBackupRequest) String() string { func (*RemoveBackupRequest) ProtoMessage() {} func (x *RemoveBackupRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[149] + mi := &file_vtctldata_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9617,7 +9719,7 @@ func (x *RemoveBackupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveBackupRequest.ProtoReflect.Descriptor instead. func (*RemoveBackupRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{149} + return file_vtctldata_proto_rawDescGZIP(), []int{151} } func (x *RemoveBackupRequest) GetKeyspace() string { @@ -9650,7 +9752,7 @@ type RemoveBackupResponse struct { func (x *RemoveBackupResponse) Reset() { *x = RemoveBackupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[150] + mi := &file_vtctldata_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9663,7 +9765,7 @@ func (x *RemoveBackupResponse) String() string { func (*RemoveBackupResponse) ProtoMessage() {} func (x *RemoveBackupResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[150] + mi := &file_vtctldata_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9676,7 +9778,7 @@ func (x *RemoveBackupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveBackupResponse.ProtoReflect.Descriptor instead. func (*RemoveBackupResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{150} + return file_vtctldata_proto_rawDescGZIP(), []int{152} } type RemoveKeyspaceCellRequest struct { @@ -9698,7 +9800,7 @@ type RemoveKeyspaceCellRequest struct { func (x *RemoveKeyspaceCellRequest) Reset() { *x = RemoveKeyspaceCellRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[151] + mi := &file_vtctldata_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9711,7 +9813,7 @@ func (x *RemoveKeyspaceCellRequest) String() string { func (*RemoveKeyspaceCellRequest) ProtoMessage() {} func (x *RemoveKeyspaceCellRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[151] + mi := &file_vtctldata_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9724,7 +9826,7 @@ func (x *RemoveKeyspaceCellRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveKeyspaceCellRequest.ProtoReflect.Descriptor instead. func (*RemoveKeyspaceCellRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{151} + return file_vtctldata_proto_rawDescGZIP(), []int{153} } func (x *RemoveKeyspaceCellRequest) GetKeyspace() string { @@ -9764,7 +9866,7 @@ type RemoveKeyspaceCellResponse struct { func (x *RemoveKeyspaceCellResponse) Reset() { *x = RemoveKeyspaceCellResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[152] + mi := &file_vtctldata_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9777,7 +9879,7 @@ func (x *RemoveKeyspaceCellResponse) String() string { func (*RemoveKeyspaceCellResponse) ProtoMessage() {} func (x *RemoveKeyspaceCellResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[152] + mi := &file_vtctldata_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9790,7 +9892,7 @@ func (x *RemoveKeyspaceCellResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveKeyspaceCellResponse.ProtoReflect.Descriptor instead. func (*RemoveKeyspaceCellResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{152} + return file_vtctldata_proto_rawDescGZIP(), []int{154} } type RemoveShardCellRequest struct { @@ -9813,7 +9915,7 @@ type RemoveShardCellRequest struct { func (x *RemoveShardCellRequest) Reset() { *x = RemoveShardCellRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[153] + mi := &file_vtctldata_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9826,7 +9928,7 @@ func (x *RemoveShardCellRequest) String() string { func (*RemoveShardCellRequest) ProtoMessage() {} func (x *RemoveShardCellRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[153] + mi := &file_vtctldata_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9839,7 +9941,7 @@ func (x *RemoveShardCellRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveShardCellRequest.ProtoReflect.Descriptor instead. func (*RemoveShardCellRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{153} + return file_vtctldata_proto_rawDescGZIP(), []int{155} } func (x *RemoveShardCellRequest) GetKeyspace() string { @@ -9886,7 +9988,7 @@ type RemoveShardCellResponse struct { func (x *RemoveShardCellResponse) Reset() { *x = RemoveShardCellResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[154] + mi := &file_vtctldata_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9899,7 +10001,7 @@ func (x *RemoveShardCellResponse) String() string { func (*RemoveShardCellResponse) ProtoMessage() {} func (x *RemoveShardCellResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[154] + mi := &file_vtctldata_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9912,7 +10014,7 @@ func (x *RemoveShardCellResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveShardCellResponse.ProtoReflect.Descriptor instead. func (*RemoveShardCellResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{154} + return file_vtctldata_proto_rawDescGZIP(), []int{156} } type ReparentTabletRequest struct { @@ -9928,7 +10030,7 @@ type ReparentTabletRequest struct { func (x *ReparentTabletRequest) Reset() { *x = ReparentTabletRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[155] + mi := &file_vtctldata_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9941,7 +10043,7 @@ func (x *ReparentTabletRequest) String() string { func (*ReparentTabletRequest) ProtoMessage() {} func (x *ReparentTabletRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[155] + mi := &file_vtctldata_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9954,7 +10056,7 @@ func (x *ReparentTabletRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReparentTabletRequest.ProtoReflect.Descriptor instead. func (*ReparentTabletRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{155} + return file_vtctldata_proto_rawDescGZIP(), []int{157} } func (x *ReparentTabletRequest) GetTablet() *topodata.TabletAlias { @@ -9980,7 +10082,7 @@ type ReparentTabletResponse struct { func (x *ReparentTabletResponse) Reset() { *x = ReparentTabletResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[156] + mi := &file_vtctldata_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9993,7 +10095,7 @@ func (x *ReparentTabletResponse) String() string { func (*ReparentTabletResponse) ProtoMessage() {} func (x *ReparentTabletResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[156] + mi := &file_vtctldata_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10006,7 +10108,7 @@ func (x *ReparentTabletResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ReparentTabletResponse.ProtoReflect.Descriptor instead. func (*ReparentTabletResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{156} + return file_vtctldata_proto_rawDescGZIP(), []int{158} } func (x *ReparentTabletResponse) GetKeyspace() string { @@ -10058,7 +10160,7 @@ type ReshardCreateRequest struct { func (x *ReshardCreateRequest) Reset() { *x = ReshardCreateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[157] + mi := &file_vtctldata_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10071,7 +10173,7 @@ func (x *ReshardCreateRequest) String() string { func (*ReshardCreateRequest) ProtoMessage() {} func (x *ReshardCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[157] + mi := &file_vtctldata_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10084,7 +10186,7 @@ func (x *ReshardCreateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReshardCreateRequest.ProtoReflect.Descriptor instead. func (*ReshardCreateRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{157} + return file_vtctldata_proto_rawDescGZIP(), []int{159} } func (x *ReshardCreateRequest) GetWorkflow() string { @@ -10194,7 +10296,7 @@ type RestoreFromBackupRequest struct { func (x *RestoreFromBackupRequest) Reset() { *x = RestoreFromBackupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[158] + mi := &file_vtctldata_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10207,7 +10309,7 @@ func (x *RestoreFromBackupRequest) String() string { func (*RestoreFromBackupRequest) ProtoMessage() {} func (x *RestoreFromBackupRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[158] + mi := &file_vtctldata_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10220,7 +10322,7 @@ func (x *RestoreFromBackupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RestoreFromBackupRequest.ProtoReflect.Descriptor instead. func (*RestoreFromBackupRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{158} + return file_vtctldata_proto_rawDescGZIP(), []int{160} } func (x *RestoreFromBackupRequest) GetTabletAlias() *topodata.TabletAlias { @@ -10273,7 +10375,7 @@ type RestoreFromBackupResponse struct { func (x *RestoreFromBackupResponse) Reset() { *x = RestoreFromBackupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[159] + mi := &file_vtctldata_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10286,7 +10388,7 @@ func (x *RestoreFromBackupResponse) String() string { func (*RestoreFromBackupResponse) ProtoMessage() {} func (x *RestoreFromBackupResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[159] + mi := &file_vtctldata_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10299,7 +10401,7 @@ func (x *RestoreFromBackupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RestoreFromBackupResponse.ProtoReflect.Descriptor instead. func (*RestoreFromBackupResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{159} + return file_vtctldata_proto_rawDescGZIP(), []int{161} } func (x *RestoreFromBackupResponse) GetTabletAlias() *topodata.TabletAlias { @@ -10342,7 +10444,7 @@ type RetrySchemaMigrationRequest struct { func (x *RetrySchemaMigrationRequest) Reset() { *x = RetrySchemaMigrationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[160] + mi := &file_vtctldata_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10355,7 +10457,7 @@ func (x *RetrySchemaMigrationRequest) String() string { func (*RetrySchemaMigrationRequest) ProtoMessage() {} func (x *RetrySchemaMigrationRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[160] + mi := &file_vtctldata_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10368,7 +10470,7 @@ func (x *RetrySchemaMigrationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RetrySchemaMigrationRequest.ProtoReflect.Descriptor instead. func (*RetrySchemaMigrationRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{160} + return file_vtctldata_proto_rawDescGZIP(), []int{162} } func (x *RetrySchemaMigrationRequest) GetKeyspace() string { @@ -10396,7 +10498,7 @@ type RetrySchemaMigrationResponse struct { func (x *RetrySchemaMigrationResponse) Reset() { *x = RetrySchemaMigrationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[161] + mi := &file_vtctldata_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10409,7 +10511,7 @@ func (x *RetrySchemaMigrationResponse) String() string { func (*RetrySchemaMigrationResponse) ProtoMessage() {} func (x *RetrySchemaMigrationResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[161] + mi := &file_vtctldata_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10422,7 +10524,7 @@ func (x *RetrySchemaMigrationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RetrySchemaMigrationResponse.ProtoReflect.Descriptor instead. func (*RetrySchemaMigrationResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{161} + return file_vtctldata_proto_rawDescGZIP(), []int{163} } func (x *RetrySchemaMigrationResponse) GetRowsAffectedByShard() map[string]uint64 { @@ -10443,7 +10545,7 @@ type RunHealthCheckRequest struct { func (x *RunHealthCheckRequest) Reset() { *x = RunHealthCheckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[162] + mi := &file_vtctldata_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10456,7 +10558,7 @@ func (x *RunHealthCheckRequest) String() string { func (*RunHealthCheckRequest) ProtoMessage() {} func (x *RunHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[162] + mi := &file_vtctldata_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10469,7 +10571,7 @@ func (x *RunHealthCheckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RunHealthCheckRequest.ProtoReflect.Descriptor instead. func (*RunHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{162} + return file_vtctldata_proto_rawDescGZIP(), []int{164} } func (x *RunHealthCheckRequest) GetTabletAlias() *topodata.TabletAlias { @@ -10488,7 +10590,7 @@ type RunHealthCheckResponse struct { func (x *RunHealthCheckResponse) Reset() { *x = RunHealthCheckResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[163] + mi := &file_vtctldata_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10501,7 +10603,7 @@ func (x *RunHealthCheckResponse) String() string { func (*RunHealthCheckResponse) ProtoMessage() {} func (x *RunHealthCheckResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[163] + mi := &file_vtctldata_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10514,7 +10616,7 @@ func (x *RunHealthCheckResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RunHealthCheckResponse.ProtoReflect.Descriptor instead. func (*RunHealthCheckResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{163} + return file_vtctldata_proto_rawDescGZIP(), []int{165} } type SetKeyspaceDurabilityPolicyRequest struct { @@ -10529,7 +10631,7 @@ type SetKeyspaceDurabilityPolicyRequest struct { func (x *SetKeyspaceDurabilityPolicyRequest) Reset() { *x = SetKeyspaceDurabilityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[164] + mi := &file_vtctldata_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10542,7 +10644,7 @@ func (x *SetKeyspaceDurabilityPolicyRequest) String() string { func (*SetKeyspaceDurabilityPolicyRequest) ProtoMessage() {} func (x *SetKeyspaceDurabilityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[164] + mi := &file_vtctldata_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10555,7 +10657,7 @@ func (x *SetKeyspaceDurabilityPolicyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use SetKeyspaceDurabilityPolicyRequest.ProtoReflect.Descriptor instead. func (*SetKeyspaceDurabilityPolicyRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{164} + return file_vtctldata_proto_rawDescGZIP(), []int{166} } func (x *SetKeyspaceDurabilityPolicyRequest) GetKeyspace() string { @@ -10584,7 +10686,7 @@ type SetKeyspaceDurabilityPolicyResponse struct { func (x *SetKeyspaceDurabilityPolicyResponse) Reset() { *x = SetKeyspaceDurabilityPolicyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[165] + mi := &file_vtctldata_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10597,7 +10699,7 @@ func (x *SetKeyspaceDurabilityPolicyResponse) String() string { func (*SetKeyspaceDurabilityPolicyResponse) ProtoMessage() {} func (x *SetKeyspaceDurabilityPolicyResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[165] + mi := &file_vtctldata_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10610,7 +10712,7 @@ func (x *SetKeyspaceDurabilityPolicyResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use SetKeyspaceDurabilityPolicyResponse.ProtoReflect.Descriptor instead. func (*SetKeyspaceDurabilityPolicyResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{165} + return file_vtctldata_proto_rawDescGZIP(), []int{167} } func (x *SetKeyspaceDurabilityPolicyResponse) GetKeyspace() *topodata.Keyspace { @@ -10632,7 +10734,7 @@ type SetKeyspaceShardingInfoRequest struct { func (x *SetKeyspaceShardingInfoRequest) Reset() { *x = SetKeyspaceShardingInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[166] + mi := &file_vtctldata_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10645,7 +10747,7 @@ func (x *SetKeyspaceShardingInfoRequest) String() string { func (*SetKeyspaceShardingInfoRequest) ProtoMessage() {} func (x *SetKeyspaceShardingInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[166] + mi := &file_vtctldata_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10658,7 +10760,7 @@ func (x *SetKeyspaceShardingInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetKeyspaceShardingInfoRequest.ProtoReflect.Descriptor instead. func (*SetKeyspaceShardingInfoRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{166} + return file_vtctldata_proto_rawDescGZIP(), []int{168} } func (x *SetKeyspaceShardingInfoRequest) GetKeyspace() string { @@ -10687,7 +10789,7 @@ type SetKeyspaceShardingInfoResponse struct { func (x *SetKeyspaceShardingInfoResponse) Reset() { *x = SetKeyspaceShardingInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[167] + mi := &file_vtctldata_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10700,7 +10802,7 @@ func (x *SetKeyspaceShardingInfoResponse) String() string { func (*SetKeyspaceShardingInfoResponse) ProtoMessage() {} func (x *SetKeyspaceShardingInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[167] + mi := &file_vtctldata_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10713,7 +10815,7 @@ func (x *SetKeyspaceShardingInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetKeyspaceShardingInfoResponse.ProtoReflect.Descriptor instead. func (*SetKeyspaceShardingInfoResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{167} + return file_vtctldata_proto_rawDescGZIP(), []int{169} } func (x *SetKeyspaceShardingInfoResponse) GetKeyspace() *topodata.Keyspace { @@ -10736,7 +10838,7 @@ type SetShardIsPrimaryServingRequest struct { func (x *SetShardIsPrimaryServingRequest) Reset() { *x = SetShardIsPrimaryServingRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[168] + mi := &file_vtctldata_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10749,7 +10851,7 @@ func (x *SetShardIsPrimaryServingRequest) String() string { func (*SetShardIsPrimaryServingRequest) ProtoMessage() {} func (x *SetShardIsPrimaryServingRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[168] + mi := &file_vtctldata_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10762,7 +10864,7 @@ func (x *SetShardIsPrimaryServingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetShardIsPrimaryServingRequest.ProtoReflect.Descriptor instead. func (*SetShardIsPrimaryServingRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{168} + return file_vtctldata_proto_rawDescGZIP(), []int{170} } func (x *SetShardIsPrimaryServingRequest) GetKeyspace() string { @@ -10798,7 +10900,7 @@ type SetShardIsPrimaryServingResponse struct { func (x *SetShardIsPrimaryServingResponse) Reset() { *x = SetShardIsPrimaryServingResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[169] + mi := &file_vtctldata_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10811,7 +10913,7 @@ func (x *SetShardIsPrimaryServingResponse) String() string { func (*SetShardIsPrimaryServingResponse) ProtoMessage() {} func (x *SetShardIsPrimaryServingResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[169] + mi := &file_vtctldata_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10824,7 +10926,7 @@ func (x *SetShardIsPrimaryServingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetShardIsPrimaryServingResponse.ProtoReflect.Descriptor instead. func (*SetShardIsPrimaryServingResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{169} + return file_vtctldata_proto_rawDescGZIP(), []int{171} } func (x *SetShardIsPrimaryServingResponse) GetShard() *topodata.Shard { @@ -10865,7 +10967,7 @@ type SetShardTabletControlRequest struct { func (x *SetShardTabletControlRequest) Reset() { *x = SetShardTabletControlRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[170] + mi := &file_vtctldata_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10878,7 +10980,7 @@ func (x *SetShardTabletControlRequest) String() string { func (*SetShardTabletControlRequest) ProtoMessage() {} func (x *SetShardTabletControlRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[170] + mi := &file_vtctldata_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10891,7 +10993,7 @@ func (x *SetShardTabletControlRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetShardTabletControlRequest.ProtoReflect.Descriptor instead. func (*SetShardTabletControlRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{170} + return file_vtctldata_proto_rawDescGZIP(), []int{172} } func (x *SetShardTabletControlRequest) GetKeyspace() string { @@ -10955,7 +11057,7 @@ type SetShardTabletControlResponse struct { func (x *SetShardTabletControlResponse) Reset() { *x = SetShardTabletControlResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[171] + mi := &file_vtctldata_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10968,7 +11070,7 @@ func (x *SetShardTabletControlResponse) String() string { func (*SetShardTabletControlResponse) ProtoMessage() {} func (x *SetShardTabletControlResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[171] + mi := &file_vtctldata_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10981,7 +11083,7 @@ func (x *SetShardTabletControlResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetShardTabletControlResponse.ProtoReflect.Descriptor instead. func (*SetShardTabletControlResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{171} + return file_vtctldata_proto_rawDescGZIP(), []int{173} } func (x *SetShardTabletControlResponse) GetShard() *topodata.Shard { @@ -11003,7 +11105,7 @@ type SetWritableRequest struct { func (x *SetWritableRequest) Reset() { *x = SetWritableRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[172] + mi := &file_vtctldata_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11016,7 +11118,7 @@ func (x *SetWritableRequest) String() string { func (*SetWritableRequest) ProtoMessage() {} func (x *SetWritableRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[172] + mi := &file_vtctldata_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11029,7 +11131,7 @@ func (x *SetWritableRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetWritableRequest.ProtoReflect.Descriptor instead. func (*SetWritableRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{172} + return file_vtctldata_proto_rawDescGZIP(), []int{174} } func (x *SetWritableRequest) GetTabletAlias() *topodata.TabletAlias { @@ -11055,7 +11157,7 @@ type SetWritableResponse struct { func (x *SetWritableResponse) Reset() { *x = SetWritableResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[173] + mi := &file_vtctldata_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11068,7 +11170,7 @@ func (x *SetWritableResponse) String() string { func (*SetWritableResponse) ProtoMessage() {} func (x *SetWritableResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[173] + mi := &file_vtctldata_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11081,7 +11183,7 @@ func (x *SetWritableResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetWritableResponse.ProtoReflect.Descriptor instead. func (*SetWritableResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{173} + return file_vtctldata_proto_rawDescGZIP(), []int{175} } type ShardReplicationAddRequest struct { @@ -11097,7 +11199,7 @@ type ShardReplicationAddRequest struct { func (x *ShardReplicationAddRequest) Reset() { *x = ShardReplicationAddRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[174] + mi := &file_vtctldata_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11110,7 +11212,7 @@ func (x *ShardReplicationAddRequest) String() string { func (*ShardReplicationAddRequest) ProtoMessage() {} func (x *ShardReplicationAddRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[174] + mi := &file_vtctldata_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11123,7 +11225,7 @@ func (x *ShardReplicationAddRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ShardReplicationAddRequest.ProtoReflect.Descriptor instead. func (*ShardReplicationAddRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{174} + return file_vtctldata_proto_rawDescGZIP(), []int{176} } func (x *ShardReplicationAddRequest) GetKeyspace() string { @@ -11156,7 +11258,7 @@ type ShardReplicationAddResponse struct { func (x *ShardReplicationAddResponse) Reset() { *x = ShardReplicationAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[175] + mi := &file_vtctldata_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11169,7 +11271,7 @@ func (x *ShardReplicationAddResponse) String() string { func (*ShardReplicationAddResponse) ProtoMessage() {} func (x *ShardReplicationAddResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[175] + mi := &file_vtctldata_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11182,7 +11284,7 @@ func (x *ShardReplicationAddResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ShardReplicationAddResponse.ProtoReflect.Descriptor instead. func (*ShardReplicationAddResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{175} + return file_vtctldata_proto_rawDescGZIP(), []int{177} } type ShardReplicationFixRequest struct { @@ -11198,7 +11300,7 @@ type ShardReplicationFixRequest struct { func (x *ShardReplicationFixRequest) Reset() { *x = ShardReplicationFixRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[176] + mi := &file_vtctldata_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11211,7 +11313,7 @@ func (x *ShardReplicationFixRequest) String() string { func (*ShardReplicationFixRequest) ProtoMessage() {} func (x *ShardReplicationFixRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[176] + mi := &file_vtctldata_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11224,7 +11326,7 @@ func (x *ShardReplicationFixRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ShardReplicationFixRequest.ProtoReflect.Descriptor instead. func (*ShardReplicationFixRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{176} + return file_vtctldata_proto_rawDescGZIP(), []int{178} } func (x *ShardReplicationFixRequest) GetKeyspace() string { @@ -11262,7 +11364,7 @@ type ShardReplicationFixResponse struct { func (x *ShardReplicationFixResponse) Reset() { *x = ShardReplicationFixResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[177] + mi := &file_vtctldata_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11275,7 +11377,7 @@ func (x *ShardReplicationFixResponse) String() string { func (*ShardReplicationFixResponse) ProtoMessage() {} func (x *ShardReplicationFixResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[177] + mi := &file_vtctldata_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11288,7 +11390,7 @@ func (x *ShardReplicationFixResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ShardReplicationFixResponse.ProtoReflect.Descriptor instead. func (*ShardReplicationFixResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{177} + return file_vtctldata_proto_rawDescGZIP(), []int{179} } func (x *ShardReplicationFixResponse) GetError() *topodata.ShardReplicationError { @@ -11310,7 +11412,7 @@ type ShardReplicationPositionsRequest struct { func (x *ShardReplicationPositionsRequest) Reset() { *x = ShardReplicationPositionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[178] + mi := &file_vtctldata_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11323,7 +11425,7 @@ func (x *ShardReplicationPositionsRequest) String() string { func (*ShardReplicationPositionsRequest) ProtoMessage() {} func (x *ShardReplicationPositionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[178] + mi := &file_vtctldata_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11336,7 +11438,7 @@ func (x *ShardReplicationPositionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ShardReplicationPositionsRequest.ProtoReflect.Descriptor instead. func (*ShardReplicationPositionsRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{178} + return file_vtctldata_proto_rawDescGZIP(), []int{180} } func (x *ShardReplicationPositionsRequest) GetKeyspace() string { @@ -11369,7 +11471,7 @@ type ShardReplicationPositionsResponse struct { func (x *ShardReplicationPositionsResponse) Reset() { *x = ShardReplicationPositionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[179] + mi := &file_vtctldata_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11382,7 +11484,7 @@ func (x *ShardReplicationPositionsResponse) String() string { func (*ShardReplicationPositionsResponse) ProtoMessage() {} func (x *ShardReplicationPositionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[179] + mi := &file_vtctldata_proto_msgTypes[181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11395,7 +11497,7 @@ func (x *ShardReplicationPositionsResponse) ProtoReflect() protoreflect.Message // Deprecated: Use ShardReplicationPositionsResponse.ProtoReflect.Descriptor instead. func (*ShardReplicationPositionsResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{179} + return file_vtctldata_proto_rawDescGZIP(), []int{181} } func (x *ShardReplicationPositionsResponse) GetReplicationStatuses() map[string]*replicationdata.Status { @@ -11425,7 +11527,7 @@ type ShardReplicationRemoveRequest struct { func (x *ShardReplicationRemoveRequest) Reset() { *x = ShardReplicationRemoveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[180] + mi := &file_vtctldata_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11438,7 +11540,7 @@ func (x *ShardReplicationRemoveRequest) String() string { func (*ShardReplicationRemoveRequest) ProtoMessage() {} func (x *ShardReplicationRemoveRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[180] + mi := &file_vtctldata_proto_msgTypes[182] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11451,7 +11553,7 @@ func (x *ShardReplicationRemoveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ShardReplicationRemoveRequest.ProtoReflect.Descriptor instead. func (*ShardReplicationRemoveRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{180} + return file_vtctldata_proto_rawDescGZIP(), []int{182} } func (x *ShardReplicationRemoveRequest) GetKeyspace() string { @@ -11484,7 +11586,7 @@ type ShardReplicationRemoveResponse struct { func (x *ShardReplicationRemoveResponse) Reset() { *x = ShardReplicationRemoveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[181] + mi := &file_vtctldata_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11497,7 +11599,7 @@ func (x *ShardReplicationRemoveResponse) String() string { func (*ShardReplicationRemoveResponse) ProtoMessage() {} func (x *ShardReplicationRemoveResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[181] + mi := &file_vtctldata_proto_msgTypes[183] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11510,7 +11612,7 @@ func (x *ShardReplicationRemoveResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ShardReplicationRemoveResponse.ProtoReflect.Descriptor instead. func (*ShardReplicationRemoveResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{181} + return file_vtctldata_proto_rawDescGZIP(), []int{183} } type SleepTabletRequest struct { @@ -11525,7 +11627,7 @@ type SleepTabletRequest struct { func (x *SleepTabletRequest) Reset() { *x = SleepTabletRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[182] + mi := &file_vtctldata_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11538,7 +11640,7 @@ func (x *SleepTabletRequest) String() string { func (*SleepTabletRequest) ProtoMessage() {} func (x *SleepTabletRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[182] + mi := &file_vtctldata_proto_msgTypes[184] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11551,7 +11653,7 @@ func (x *SleepTabletRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SleepTabletRequest.ProtoReflect.Descriptor instead. func (*SleepTabletRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{182} + return file_vtctldata_proto_rawDescGZIP(), []int{184} } func (x *SleepTabletRequest) GetTabletAlias() *topodata.TabletAlias { @@ -11577,7 +11679,7 @@ type SleepTabletResponse struct { func (x *SleepTabletResponse) Reset() { *x = SleepTabletResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[183] + mi := &file_vtctldata_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11590,7 +11692,7 @@ func (x *SleepTabletResponse) String() string { func (*SleepTabletResponse) ProtoMessage() {} func (x *SleepTabletResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[183] + mi := &file_vtctldata_proto_msgTypes[185] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11603,7 +11705,7 @@ func (x *SleepTabletResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SleepTabletResponse.ProtoReflect.Descriptor instead. func (*SleepTabletResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{183} + return file_vtctldata_proto_rawDescGZIP(), []int{185} } type SourceShardAddRequest struct { @@ -11627,7 +11729,7 @@ type SourceShardAddRequest struct { func (x *SourceShardAddRequest) Reset() { *x = SourceShardAddRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[184] + mi := &file_vtctldata_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11640,7 +11742,7 @@ func (x *SourceShardAddRequest) String() string { func (*SourceShardAddRequest) ProtoMessage() {} func (x *SourceShardAddRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[184] + mi := &file_vtctldata_proto_msgTypes[186] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11653,7 +11755,7 @@ func (x *SourceShardAddRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SourceShardAddRequest.ProtoReflect.Descriptor instead. func (*SourceShardAddRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{184} + return file_vtctldata_proto_rawDescGZIP(), []int{186} } func (x *SourceShardAddRequest) GetKeyspace() string { @@ -11717,7 +11819,7 @@ type SourceShardAddResponse struct { func (x *SourceShardAddResponse) Reset() { *x = SourceShardAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[185] + mi := &file_vtctldata_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11730,7 +11832,7 @@ func (x *SourceShardAddResponse) String() string { func (*SourceShardAddResponse) ProtoMessage() {} func (x *SourceShardAddResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[185] + mi := &file_vtctldata_proto_msgTypes[187] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11743,7 +11845,7 @@ func (x *SourceShardAddResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SourceShardAddResponse.ProtoReflect.Descriptor instead. func (*SourceShardAddResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{185} + return file_vtctldata_proto_rawDescGZIP(), []int{187} } func (x *SourceShardAddResponse) GetShard() *topodata.Shard { @@ -11766,7 +11868,7 @@ type SourceShardDeleteRequest struct { func (x *SourceShardDeleteRequest) Reset() { *x = SourceShardDeleteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[186] + mi := &file_vtctldata_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11779,7 +11881,7 @@ func (x *SourceShardDeleteRequest) String() string { func (*SourceShardDeleteRequest) ProtoMessage() {} func (x *SourceShardDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[186] + mi := &file_vtctldata_proto_msgTypes[188] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11792,7 +11894,7 @@ func (x *SourceShardDeleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SourceShardDeleteRequest.ProtoReflect.Descriptor instead. func (*SourceShardDeleteRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{186} + return file_vtctldata_proto_rawDescGZIP(), []int{188} } func (x *SourceShardDeleteRequest) GetKeyspace() string { @@ -11828,7 +11930,7 @@ type SourceShardDeleteResponse struct { func (x *SourceShardDeleteResponse) Reset() { *x = SourceShardDeleteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[187] + mi := &file_vtctldata_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11841,7 +11943,7 @@ func (x *SourceShardDeleteResponse) String() string { func (*SourceShardDeleteResponse) ProtoMessage() {} func (x *SourceShardDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[187] + mi := &file_vtctldata_proto_msgTypes[189] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11854,7 +11956,7 @@ func (x *SourceShardDeleteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SourceShardDeleteResponse.ProtoReflect.Descriptor instead. func (*SourceShardDeleteResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{187} + return file_vtctldata_proto_rawDescGZIP(), []int{189} } func (x *SourceShardDeleteResponse) GetShard() *topodata.Shard { @@ -11875,7 +11977,7 @@ type StartReplicationRequest struct { func (x *StartReplicationRequest) Reset() { *x = StartReplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[188] + mi := &file_vtctldata_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11888,7 +11990,7 @@ func (x *StartReplicationRequest) String() string { func (*StartReplicationRequest) ProtoMessage() {} func (x *StartReplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[188] + mi := &file_vtctldata_proto_msgTypes[190] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11901,7 +12003,7 @@ func (x *StartReplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StartReplicationRequest.ProtoReflect.Descriptor instead. func (*StartReplicationRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{188} + return file_vtctldata_proto_rawDescGZIP(), []int{190} } func (x *StartReplicationRequest) GetTabletAlias() *topodata.TabletAlias { @@ -11920,7 +12022,7 @@ type StartReplicationResponse struct { func (x *StartReplicationResponse) Reset() { *x = StartReplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[189] + mi := &file_vtctldata_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11933,7 +12035,7 @@ func (x *StartReplicationResponse) String() string { func (*StartReplicationResponse) ProtoMessage() {} func (x *StartReplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[189] + mi := &file_vtctldata_proto_msgTypes[191] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11946,7 +12048,7 @@ func (x *StartReplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StartReplicationResponse.ProtoReflect.Descriptor instead. func (*StartReplicationResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{189} + return file_vtctldata_proto_rawDescGZIP(), []int{191} } type StopReplicationRequest struct { @@ -11960,7 +12062,7 @@ type StopReplicationRequest struct { func (x *StopReplicationRequest) Reset() { *x = StopReplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[190] + mi := &file_vtctldata_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11973,7 +12075,7 @@ func (x *StopReplicationRequest) String() string { func (*StopReplicationRequest) ProtoMessage() {} func (x *StopReplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[190] + mi := &file_vtctldata_proto_msgTypes[192] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11986,7 +12088,7 @@ func (x *StopReplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StopReplicationRequest.ProtoReflect.Descriptor instead. func (*StopReplicationRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{190} + return file_vtctldata_proto_rawDescGZIP(), []int{192} } func (x *StopReplicationRequest) GetTabletAlias() *topodata.TabletAlias { @@ -12005,7 +12107,7 @@ type StopReplicationResponse struct { func (x *StopReplicationResponse) Reset() { *x = StopReplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[191] + mi := &file_vtctldata_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12018,7 +12120,7 @@ func (x *StopReplicationResponse) String() string { func (*StopReplicationResponse) ProtoMessage() {} func (x *StopReplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[191] + mi := &file_vtctldata_proto_msgTypes[193] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12031,7 +12133,7 @@ func (x *StopReplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StopReplicationResponse.ProtoReflect.Descriptor instead. func (*StopReplicationResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{191} + return file_vtctldata_proto_rawDescGZIP(), []int{193} } type TabletExternallyReparentedRequest struct { @@ -12047,7 +12149,7 @@ type TabletExternallyReparentedRequest struct { func (x *TabletExternallyReparentedRequest) Reset() { *x = TabletExternallyReparentedRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[192] + mi := &file_vtctldata_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12060,7 +12162,7 @@ func (x *TabletExternallyReparentedRequest) String() string { func (*TabletExternallyReparentedRequest) ProtoMessage() {} func (x *TabletExternallyReparentedRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[192] + mi := &file_vtctldata_proto_msgTypes[194] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12073,7 +12175,7 @@ func (x *TabletExternallyReparentedRequest) ProtoReflect() protoreflect.Message // Deprecated: Use TabletExternallyReparentedRequest.ProtoReflect.Descriptor instead. func (*TabletExternallyReparentedRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{192} + return file_vtctldata_proto_rawDescGZIP(), []int{194} } func (x *TabletExternallyReparentedRequest) GetTablet() *topodata.TabletAlias { @@ -12097,7 +12199,7 @@ type TabletExternallyReparentedResponse struct { func (x *TabletExternallyReparentedResponse) Reset() { *x = TabletExternallyReparentedResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[193] + mi := &file_vtctldata_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12110,7 +12212,7 @@ func (x *TabletExternallyReparentedResponse) String() string { func (*TabletExternallyReparentedResponse) ProtoMessage() {} func (x *TabletExternallyReparentedResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[193] + mi := &file_vtctldata_proto_msgTypes[195] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12123,7 +12225,7 @@ func (x *TabletExternallyReparentedResponse) ProtoReflect() protoreflect.Message // Deprecated: Use TabletExternallyReparentedResponse.ProtoReflect.Descriptor instead. func (*TabletExternallyReparentedResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{193} + return file_vtctldata_proto_rawDescGZIP(), []int{195} } func (x *TabletExternallyReparentedResponse) GetKeyspace() string { @@ -12166,7 +12268,7 @@ type UpdateCellInfoRequest struct { func (x *UpdateCellInfoRequest) Reset() { *x = UpdateCellInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[194] + mi := &file_vtctldata_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12179,7 +12281,7 @@ func (x *UpdateCellInfoRequest) String() string { func (*UpdateCellInfoRequest) ProtoMessage() {} func (x *UpdateCellInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[194] + mi := &file_vtctldata_proto_msgTypes[196] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12192,7 +12294,7 @@ func (x *UpdateCellInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateCellInfoRequest.ProtoReflect.Descriptor instead. func (*UpdateCellInfoRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{194} + return file_vtctldata_proto_rawDescGZIP(), []int{196} } func (x *UpdateCellInfoRequest) GetName() string { @@ -12221,7 +12323,7 @@ type UpdateCellInfoResponse struct { func (x *UpdateCellInfoResponse) Reset() { *x = UpdateCellInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[195] + mi := &file_vtctldata_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12234,7 +12336,7 @@ func (x *UpdateCellInfoResponse) String() string { func (*UpdateCellInfoResponse) ProtoMessage() {} func (x *UpdateCellInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[195] + mi := &file_vtctldata_proto_msgTypes[197] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12247,7 +12349,7 @@ func (x *UpdateCellInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateCellInfoResponse.ProtoReflect.Descriptor instead. func (*UpdateCellInfoResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{195} + return file_vtctldata_proto_rawDescGZIP(), []int{197} } func (x *UpdateCellInfoResponse) GetName() string { @@ -12276,7 +12378,7 @@ type UpdateCellsAliasRequest struct { func (x *UpdateCellsAliasRequest) Reset() { *x = UpdateCellsAliasRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[196] + mi := &file_vtctldata_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12289,7 +12391,7 @@ func (x *UpdateCellsAliasRequest) String() string { func (*UpdateCellsAliasRequest) ProtoMessage() {} func (x *UpdateCellsAliasRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[196] + mi := &file_vtctldata_proto_msgTypes[198] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12302,7 +12404,7 @@ func (x *UpdateCellsAliasRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateCellsAliasRequest.ProtoReflect.Descriptor instead. func (*UpdateCellsAliasRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{196} + return file_vtctldata_proto_rawDescGZIP(), []int{198} } func (x *UpdateCellsAliasRequest) GetName() string { @@ -12331,7 +12433,7 @@ type UpdateCellsAliasResponse struct { func (x *UpdateCellsAliasResponse) Reset() { *x = UpdateCellsAliasResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[197] + mi := &file_vtctldata_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12344,7 +12446,7 @@ func (x *UpdateCellsAliasResponse) String() string { func (*UpdateCellsAliasResponse) ProtoMessage() {} func (x *UpdateCellsAliasResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[197] + mi := &file_vtctldata_proto_msgTypes[199] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12357,7 +12459,7 @@ func (x *UpdateCellsAliasResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateCellsAliasResponse.ProtoReflect.Descriptor instead. func (*UpdateCellsAliasResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{197} + return file_vtctldata_proto_rawDescGZIP(), []int{199} } func (x *UpdateCellsAliasResponse) GetName() string { @@ -12385,7 +12487,7 @@ type ValidateRequest struct { func (x *ValidateRequest) Reset() { *x = ValidateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[198] + mi := &file_vtctldata_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12398,7 +12500,7 @@ func (x *ValidateRequest) String() string { func (*ValidateRequest) ProtoMessage() {} func (x *ValidateRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[198] + mi := &file_vtctldata_proto_msgTypes[200] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12411,7 +12513,7 @@ func (x *ValidateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateRequest.ProtoReflect.Descriptor instead. func (*ValidateRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{198} + return file_vtctldata_proto_rawDescGZIP(), []int{200} } func (x *ValidateRequest) GetPingTablets() bool { @@ -12433,7 +12535,7 @@ type ValidateResponse struct { func (x *ValidateResponse) Reset() { *x = ValidateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[199] + mi := &file_vtctldata_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12446,7 +12548,7 @@ func (x *ValidateResponse) String() string { func (*ValidateResponse) ProtoMessage() {} func (x *ValidateResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[199] + mi := &file_vtctldata_proto_msgTypes[201] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12459,7 +12561,7 @@ func (x *ValidateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateResponse.ProtoReflect.Descriptor instead. func (*ValidateResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{199} + return file_vtctldata_proto_rawDescGZIP(), []int{201} } func (x *ValidateResponse) GetResults() []string { @@ -12488,7 +12590,7 @@ type ValidateKeyspaceRequest struct { func (x *ValidateKeyspaceRequest) Reset() { *x = ValidateKeyspaceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[200] + mi := &file_vtctldata_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12501,7 +12603,7 @@ func (x *ValidateKeyspaceRequest) String() string { func (*ValidateKeyspaceRequest) ProtoMessage() {} func (x *ValidateKeyspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[200] + mi := &file_vtctldata_proto_msgTypes[202] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12514,7 +12616,7 @@ func (x *ValidateKeyspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateKeyspaceRequest.ProtoReflect.Descriptor instead. func (*ValidateKeyspaceRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{200} + return file_vtctldata_proto_rawDescGZIP(), []int{202} } func (x *ValidateKeyspaceRequest) GetKeyspace() string { @@ -12543,7 +12645,7 @@ type ValidateKeyspaceResponse struct { func (x *ValidateKeyspaceResponse) Reset() { *x = ValidateKeyspaceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[201] + mi := &file_vtctldata_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12556,7 +12658,7 @@ func (x *ValidateKeyspaceResponse) String() string { func (*ValidateKeyspaceResponse) ProtoMessage() {} func (x *ValidateKeyspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[201] + mi := &file_vtctldata_proto_msgTypes[203] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12569,7 +12671,7 @@ func (x *ValidateKeyspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateKeyspaceResponse.ProtoReflect.Descriptor instead. func (*ValidateKeyspaceResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{201} + return file_vtctldata_proto_rawDescGZIP(), []int{203} } func (x *ValidateKeyspaceResponse) GetResults() []string { @@ -12601,7 +12703,7 @@ type ValidateSchemaKeyspaceRequest struct { func (x *ValidateSchemaKeyspaceRequest) Reset() { *x = ValidateSchemaKeyspaceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[202] + mi := &file_vtctldata_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12614,7 +12716,7 @@ func (x *ValidateSchemaKeyspaceRequest) String() string { func (*ValidateSchemaKeyspaceRequest) ProtoMessage() {} func (x *ValidateSchemaKeyspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[202] + mi := &file_vtctldata_proto_msgTypes[204] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12627,7 +12729,7 @@ func (x *ValidateSchemaKeyspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateSchemaKeyspaceRequest.ProtoReflect.Descriptor instead. func (*ValidateSchemaKeyspaceRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{202} + return file_vtctldata_proto_rawDescGZIP(), []int{204} } func (x *ValidateSchemaKeyspaceRequest) GetKeyspace() string { @@ -12677,7 +12779,7 @@ type ValidateSchemaKeyspaceResponse struct { func (x *ValidateSchemaKeyspaceResponse) Reset() { *x = ValidateSchemaKeyspaceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[203] + mi := &file_vtctldata_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12690,7 +12792,7 @@ func (x *ValidateSchemaKeyspaceResponse) String() string { func (*ValidateSchemaKeyspaceResponse) ProtoMessage() {} func (x *ValidateSchemaKeyspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[203] + mi := &file_vtctldata_proto_msgTypes[205] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12703,7 +12805,7 @@ func (x *ValidateSchemaKeyspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateSchemaKeyspaceResponse.ProtoReflect.Descriptor instead. func (*ValidateSchemaKeyspaceResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{203} + return file_vtctldata_proto_rawDescGZIP(), []int{205} } func (x *ValidateSchemaKeyspaceResponse) GetResults() []string { @@ -12733,7 +12835,7 @@ type ValidateShardRequest struct { func (x *ValidateShardRequest) Reset() { *x = ValidateShardRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[204] + mi := &file_vtctldata_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12746,7 +12848,7 @@ func (x *ValidateShardRequest) String() string { func (*ValidateShardRequest) ProtoMessage() {} func (x *ValidateShardRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[204] + mi := &file_vtctldata_proto_msgTypes[206] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12759,7 +12861,7 @@ func (x *ValidateShardRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateShardRequest.ProtoReflect.Descriptor instead. func (*ValidateShardRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{204} + return file_vtctldata_proto_rawDescGZIP(), []int{206} } func (x *ValidateShardRequest) GetKeyspace() string { @@ -12794,7 +12896,7 @@ type ValidateShardResponse struct { func (x *ValidateShardResponse) Reset() { *x = ValidateShardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[205] + mi := &file_vtctldata_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12807,7 +12909,7 @@ func (x *ValidateShardResponse) String() string { func (*ValidateShardResponse) ProtoMessage() {} func (x *ValidateShardResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[205] + mi := &file_vtctldata_proto_msgTypes[207] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12820,7 +12922,7 @@ func (x *ValidateShardResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateShardResponse.ProtoReflect.Descriptor instead. func (*ValidateShardResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{205} + return file_vtctldata_proto_rawDescGZIP(), []int{207} } func (x *ValidateShardResponse) GetResults() []string { @@ -12841,7 +12943,7 @@ type ValidateVersionKeyspaceRequest struct { func (x *ValidateVersionKeyspaceRequest) Reset() { *x = ValidateVersionKeyspaceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[206] + mi := &file_vtctldata_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12854,7 +12956,7 @@ func (x *ValidateVersionKeyspaceRequest) String() string { func (*ValidateVersionKeyspaceRequest) ProtoMessage() {} func (x *ValidateVersionKeyspaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[206] + mi := &file_vtctldata_proto_msgTypes[208] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12867,7 +12969,7 @@ func (x *ValidateVersionKeyspaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateVersionKeyspaceRequest.ProtoReflect.Descriptor instead. func (*ValidateVersionKeyspaceRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{206} + return file_vtctldata_proto_rawDescGZIP(), []int{208} } func (x *ValidateVersionKeyspaceRequest) GetKeyspace() string { @@ -12889,7 +12991,7 @@ type ValidateVersionKeyspaceResponse struct { func (x *ValidateVersionKeyspaceResponse) Reset() { *x = ValidateVersionKeyspaceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[207] + mi := &file_vtctldata_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12902,7 +13004,7 @@ func (x *ValidateVersionKeyspaceResponse) String() string { func (*ValidateVersionKeyspaceResponse) ProtoMessage() {} func (x *ValidateVersionKeyspaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[207] + mi := &file_vtctldata_proto_msgTypes[209] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12915,7 +13017,7 @@ func (x *ValidateVersionKeyspaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateVersionKeyspaceResponse.ProtoReflect.Descriptor instead. func (*ValidateVersionKeyspaceResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{207} + return file_vtctldata_proto_rawDescGZIP(), []int{209} } func (x *ValidateVersionKeyspaceResponse) GetResults() []string { @@ -12944,7 +13046,7 @@ type ValidateVersionShardRequest struct { func (x *ValidateVersionShardRequest) Reset() { *x = ValidateVersionShardRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[208] + mi := &file_vtctldata_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12957,7 +13059,7 @@ func (x *ValidateVersionShardRequest) String() string { func (*ValidateVersionShardRequest) ProtoMessage() {} func (x *ValidateVersionShardRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[208] + mi := &file_vtctldata_proto_msgTypes[210] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12970,7 +13072,7 @@ func (x *ValidateVersionShardRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateVersionShardRequest.ProtoReflect.Descriptor instead. func (*ValidateVersionShardRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{208} + return file_vtctldata_proto_rawDescGZIP(), []int{210} } func (x *ValidateVersionShardRequest) GetKeyspace() string { @@ -12998,7 +13100,7 @@ type ValidateVersionShardResponse struct { func (x *ValidateVersionShardResponse) Reset() { *x = ValidateVersionShardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[209] + mi := &file_vtctldata_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13011,7 +13113,7 @@ func (x *ValidateVersionShardResponse) String() string { func (*ValidateVersionShardResponse) ProtoMessage() {} func (x *ValidateVersionShardResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[209] + mi := &file_vtctldata_proto_msgTypes[211] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13024,7 +13126,7 @@ func (x *ValidateVersionShardResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateVersionShardResponse.ProtoReflect.Descriptor instead. func (*ValidateVersionShardResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{209} + return file_vtctldata_proto_rawDescGZIP(), []int{211} } func (x *ValidateVersionShardResponse) GetResults() []string { @@ -13048,7 +13150,7 @@ type ValidateVSchemaRequest struct { func (x *ValidateVSchemaRequest) Reset() { *x = ValidateVSchemaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[210] + mi := &file_vtctldata_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13061,7 +13163,7 @@ func (x *ValidateVSchemaRequest) String() string { func (*ValidateVSchemaRequest) ProtoMessage() {} func (x *ValidateVSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[210] + mi := &file_vtctldata_proto_msgTypes[212] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13074,7 +13176,7 @@ func (x *ValidateVSchemaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateVSchemaRequest.ProtoReflect.Descriptor instead. func (*ValidateVSchemaRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{210} + return file_vtctldata_proto_rawDescGZIP(), []int{212} } func (x *ValidateVSchemaRequest) GetKeyspace() string { @@ -13117,7 +13219,7 @@ type ValidateVSchemaResponse struct { func (x *ValidateVSchemaResponse) Reset() { *x = ValidateVSchemaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[211] + mi := &file_vtctldata_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13130,7 +13232,7 @@ func (x *ValidateVSchemaResponse) String() string { func (*ValidateVSchemaResponse) ProtoMessage() {} func (x *ValidateVSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[211] + mi := &file_vtctldata_proto_msgTypes[213] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13143,7 +13245,7 @@ func (x *ValidateVSchemaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateVSchemaResponse.ProtoReflect.Descriptor instead. func (*ValidateVSchemaResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{211} + return file_vtctldata_proto_rawDescGZIP(), []int{213} } func (x *ValidateVSchemaResponse) GetResults() []string { @@ -13189,7 +13291,7 @@ type VDiffCreateRequest struct { func (x *VDiffCreateRequest) Reset() { *x = VDiffCreateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[212] + mi := &file_vtctldata_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13202,7 +13304,7 @@ func (x *VDiffCreateRequest) String() string { func (*VDiffCreateRequest) ProtoMessage() {} func (x *VDiffCreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[212] + mi := &file_vtctldata_proto_msgTypes[214] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13215,7 +13317,7 @@ func (x *VDiffCreateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffCreateRequest.ProtoReflect.Descriptor instead. func (*VDiffCreateRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{212} + return file_vtctldata_proto_rawDescGZIP(), []int{214} } func (x *VDiffCreateRequest) GetWorkflow() string { @@ -13364,7 +13466,7 @@ type VDiffCreateResponse struct { func (x *VDiffCreateResponse) Reset() { *x = VDiffCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[213] + mi := &file_vtctldata_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13377,7 +13479,7 @@ func (x *VDiffCreateResponse) String() string { func (*VDiffCreateResponse) ProtoMessage() {} func (x *VDiffCreateResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[213] + mi := &file_vtctldata_proto_msgTypes[215] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13390,7 +13492,7 @@ func (x *VDiffCreateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffCreateResponse.ProtoReflect.Descriptor instead. func (*VDiffCreateResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{213} + return file_vtctldata_proto_rawDescGZIP(), []int{215} } func (x *VDiffCreateResponse) GetUUID() string { @@ -13414,7 +13516,7 @@ type VDiffDeleteRequest struct { func (x *VDiffDeleteRequest) Reset() { *x = VDiffDeleteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[214] + mi := &file_vtctldata_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13427,7 +13529,7 @@ func (x *VDiffDeleteRequest) String() string { func (*VDiffDeleteRequest) ProtoMessage() {} func (x *VDiffDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[214] + mi := &file_vtctldata_proto_msgTypes[216] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13440,7 +13542,7 @@ func (x *VDiffDeleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffDeleteRequest.ProtoReflect.Descriptor instead. func (*VDiffDeleteRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{214} + return file_vtctldata_proto_rawDescGZIP(), []int{216} } func (x *VDiffDeleteRequest) GetWorkflow() string { @@ -13473,7 +13575,7 @@ type VDiffDeleteResponse struct { func (x *VDiffDeleteResponse) Reset() { *x = VDiffDeleteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[215] + mi := &file_vtctldata_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13486,7 +13588,7 @@ func (x *VDiffDeleteResponse) String() string { func (*VDiffDeleteResponse) ProtoMessage() {} func (x *VDiffDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[215] + mi := &file_vtctldata_proto_msgTypes[217] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13499,7 +13601,7 @@ func (x *VDiffDeleteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffDeleteResponse.ProtoReflect.Descriptor instead. func (*VDiffDeleteResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{215} + return file_vtctldata_proto_rawDescGZIP(), []int{217} } type VDiffResumeRequest struct { @@ -13515,7 +13617,7 @@ type VDiffResumeRequest struct { func (x *VDiffResumeRequest) Reset() { *x = VDiffResumeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[216] + mi := &file_vtctldata_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13528,7 +13630,7 @@ func (x *VDiffResumeRequest) String() string { func (*VDiffResumeRequest) ProtoMessage() {} func (x *VDiffResumeRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[216] + mi := &file_vtctldata_proto_msgTypes[218] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13541,7 +13643,7 @@ func (x *VDiffResumeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffResumeRequest.ProtoReflect.Descriptor instead. func (*VDiffResumeRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{216} + return file_vtctldata_proto_rawDescGZIP(), []int{218} } func (x *VDiffResumeRequest) GetWorkflow() string { @@ -13574,7 +13676,7 @@ type VDiffResumeResponse struct { func (x *VDiffResumeResponse) Reset() { *x = VDiffResumeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[217] + mi := &file_vtctldata_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13587,7 +13689,7 @@ func (x *VDiffResumeResponse) String() string { func (*VDiffResumeResponse) ProtoMessage() {} func (x *VDiffResumeResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[217] + mi := &file_vtctldata_proto_msgTypes[219] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13600,7 +13702,7 @@ func (x *VDiffResumeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffResumeResponse.ProtoReflect.Descriptor instead. func (*VDiffResumeResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{217} + return file_vtctldata_proto_rawDescGZIP(), []int{219} } type VDiffShowRequest struct { @@ -13617,7 +13719,7 @@ type VDiffShowRequest struct { func (x *VDiffShowRequest) Reset() { *x = VDiffShowRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[218] + mi := &file_vtctldata_proto_msgTypes[220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13630,7 +13732,7 @@ func (x *VDiffShowRequest) String() string { func (*VDiffShowRequest) ProtoMessage() {} func (x *VDiffShowRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[218] + mi := &file_vtctldata_proto_msgTypes[220] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13643,7 +13745,7 @@ func (x *VDiffShowRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffShowRequest.ProtoReflect.Descriptor instead. func (*VDiffShowRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{218} + return file_vtctldata_proto_rawDescGZIP(), []int{220} } func (x *VDiffShowRequest) GetWorkflow() string { @@ -13679,7 +13781,7 @@ type VDiffShowResponse struct { func (x *VDiffShowResponse) Reset() { *x = VDiffShowResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[219] + mi := &file_vtctldata_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13692,7 +13794,7 @@ func (x *VDiffShowResponse) String() string { func (*VDiffShowResponse) ProtoMessage() {} func (x *VDiffShowResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[219] + mi := &file_vtctldata_proto_msgTypes[221] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13705,7 +13807,7 @@ func (x *VDiffShowResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffShowResponse.ProtoReflect.Descriptor instead. func (*VDiffShowResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{219} + return file_vtctldata_proto_rawDescGZIP(), []int{221} } func (x *VDiffShowResponse) GetTabletResponses() map[string]*tabletmanagerdata.VDiffResponse { @@ -13728,7 +13830,7 @@ type VDiffStopRequest struct { func (x *VDiffStopRequest) Reset() { *x = VDiffStopRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[220] + mi := &file_vtctldata_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13741,7 +13843,7 @@ func (x *VDiffStopRequest) String() string { func (*VDiffStopRequest) ProtoMessage() {} func (x *VDiffStopRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[220] + mi := &file_vtctldata_proto_msgTypes[222] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13754,7 +13856,7 @@ func (x *VDiffStopRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffStopRequest.ProtoReflect.Descriptor instead. func (*VDiffStopRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{220} + return file_vtctldata_proto_rawDescGZIP(), []int{222} } func (x *VDiffStopRequest) GetWorkflow() string { @@ -13787,7 +13889,7 @@ type VDiffStopResponse struct { func (x *VDiffStopResponse) Reset() { *x = VDiffStopResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[221] + mi := &file_vtctldata_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13800,7 +13902,7 @@ func (x *VDiffStopResponse) String() string { func (*VDiffStopResponse) ProtoMessage() {} func (x *VDiffStopResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[221] + mi := &file_vtctldata_proto_msgTypes[223] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13813,7 +13915,7 @@ func (x *VDiffStopResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VDiffStopResponse.ProtoReflect.Descriptor instead. func (*VDiffStopResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{221} + return file_vtctldata_proto_rawDescGZIP(), []int{223} } type WorkflowDeleteRequest struct { @@ -13830,7 +13932,7 @@ type WorkflowDeleteRequest struct { func (x *WorkflowDeleteRequest) Reset() { *x = WorkflowDeleteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[222] + mi := &file_vtctldata_proto_msgTypes[224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13843,7 +13945,7 @@ func (x *WorkflowDeleteRequest) String() string { func (*WorkflowDeleteRequest) ProtoMessage() {} func (x *WorkflowDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[222] + mi := &file_vtctldata_proto_msgTypes[224] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13856,7 +13958,7 @@ func (x *WorkflowDeleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowDeleteRequest.ProtoReflect.Descriptor instead. func (*WorkflowDeleteRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{222} + return file_vtctldata_proto_rawDescGZIP(), []int{224} } func (x *WorkflowDeleteRequest) GetKeyspace() string { @@ -13899,7 +14001,7 @@ type WorkflowDeleteResponse struct { func (x *WorkflowDeleteResponse) Reset() { *x = WorkflowDeleteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[223] + mi := &file_vtctldata_proto_msgTypes[225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13912,7 +14014,7 @@ func (x *WorkflowDeleteResponse) String() string { func (*WorkflowDeleteResponse) ProtoMessage() {} func (x *WorkflowDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[223] + mi := &file_vtctldata_proto_msgTypes[225] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13925,7 +14027,7 @@ func (x *WorkflowDeleteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowDeleteResponse.ProtoReflect.Descriptor instead. func (*WorkflowDeleteResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{223} + return file_vtctldata_proto_rawDescGZIP(), []int{225} } func (x *WorkflowDeleteResponse) GetSummary() string { @@ -13954,7 +14056,7 @@ type WorkflowStatusRequest struct { func (x *WorkflowStatusRequest) Reset() { *x = WorkflowStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[224] + mi := &file_vtctldata_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13967,7 +14069,7 @@ func (x *WorkflowStatusRequest) String() string { func (*WorkflowStatusRequest) ProtoMessage() {} func (x *WorkflowStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[224] + mi := &file_vtctldata_proto_msgTypes[226] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13980,7 +14082,7 @@ func (x *WorkflowStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowStatusRequest.ProtoReflect.Descriptor instead. func (*WorkflowStatusRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{224} + return file_vtctldata_proto_rawDescGZIP(), []int{226} } func (x *WorkflowStatusRequest) GetKeyspace() string { @@ -14011,7 +14113,7 @@ type WorkflowStatusResponse struct { func (x *WorkflowStatusResponse) Reset() { *x = WorkflowStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[225] + mi := &file_vtctldata_proto_msgTypes[227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14024,7 +14126,7 @@ func (x *WorkflowStatusResponse) String() string { func (*WorkflowStatusResponse) ProtoMessage() {} func (x *WorkflowStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[225] + mi := &file_vtctldata_proto_msgTypes[227] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14037,7 +14139,7 @@ func (x *WorkflowStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowStatusResponse.ProtoReflect.Descriptor instead. func (*WorkflowStatusResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{225} + return file_vtctldata_proto_rawDescGZIP(), []int{227} } func (x *WorkflowStatusResponse) GetTableCopyState() map[string]*WorkflowStatusResponse_TableCopyState { @@ -14081,7 +14183,7 @@ type WorkflowSwitchTrafficRequest struct { func (x *WorkflowSwitchTrafficRequest) Reset() { *x = WorkflowSwitchTrafficRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[226] + mi := &file_vtctldata_proto_msgTypes[228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14094,7 +14196,7 @@ func (x *WorkflowSwitchTrafficRequest) String() string { func (*WorkflowSwitchTrafficRequest) ProtoMessage() {} func (x *WorkflowSwitchTrafficRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[226] + mi := &file_vtctldata_proto_msgTypes[228] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14107,7 +14209,7 @@ func (x *WorkflowSwitchTrafficRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowSwitchTrafficRequest.ProtoReflect.Descriptor instead. func (*WorkflowSwitchTrafficRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{226} + return file_vtctldata_proto_rawDescGZIP(), []int{228} } func (x *WorkflowSwitchTrafficRequest) GetKeyspace() string { @@ -14194,7 +14296,7 @@ type WorkflowSwitchTrafficResponse struct { func (x *WorkflowSwitchTrafficResponse) Reset() { *x = WorkflowSwitchTrafficResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[227] + mi := &file_vtctldata_proto_msgTypes[229] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14207,7 +14309,7 @@ func (x *WorkflowSwitchTrafficResponse) String() string { func (*WorkflowSwitchTrafficResponse) ProtoMessage() {} func (x *WorkflowSwitchTrafficResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[227] + mi := &file_vtctldata_proto_msgTypes[229] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14220,7 +14322,7 @@ func (x *WorkflowSwitchTrafficResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowSwitchTrafficResponse.ProtoReflect.Descriptor instead. func (*WorkflowSwitchTrafficResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{227} + return file_vtctldata_proto_rawDescGZIP(), []int{229} } func (x *WorkflowSwitchTrafficResponse) GetSummary() string { @@ -14265,7 +14367,7 @@ type WorkflowUpdateRequest struct { func (x *WorkflowUpdateRequest) Reset() { *x = WorkflowUpdateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[228] + mi := &file_vtctldata_proto_msgTypes[230] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14278,7 +14380,7 @@ func (x *WorkflowUpdateRequest) String() string { func (*WorkflowUpdateRequest) ProtoMessage() {} func (x *WorkflowUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[228] + mi := &file_vtctldata_proto_msgTypes[230] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14291,7 +14393,7 @@ func (x *WorkflowUpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowUpdateRequest.ProtoReflect.Descriptor instead. func (*WorkflowUpdateRequest) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{228} + return file_vtctldata_proto_rawDescGZIP(), []int{230} } func (x *WorkflowUpdateRequest) GetKeyspace() string { @@ -14320,7 +14422,7 @@ type WorkflowUpdateResponse struct { func (x *WorkflowUpdateResponse) Reset() { *x = WorkflowUpdateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[229] + mi := &file_vtctldata_proto_msgTypes[231] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14333,7 +14435,7 @@ func (x *WorkflowUpdateResponse) String() string { func (*WorkflowUpdateResponse) ProtoMessage() {} func (x *WorkflowUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[229] + mi := &file_vtctldata_proto_msgTypes[231] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14346,7 +14448,7 @@ func (x *WorkflowUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkflowUpdateResponse.ProtoReflect.Descriptor instead. func (*WorkflowUpdateResponse) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{229} + return file_vtctldata_proto_rawDescGZIP(), []int{231} } func (x *WorkflowUpdateResponse) GetSummary() string { @@ -14375,7 +14477,7 @@ type Workflow_ReplicationLocation struct { func (x *Workflow_ReplicationLocation) Reset() { *x = Workflow_ReplicationLocation{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[231] + mi := &file_vtctldata_proto_msgTypes[233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14388,7 +14490,7 @@ func (x *Workflow_ReplicationLocation) String() string { func (*Workflow_ReplicationLocation) ProtoMessage() {} func (x *Workflow_ReplicationLocation) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[231] + mi := &file_vtctldata_proto_msgTypes[233] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14431,7 +14533,7 @@ type Workflow_ShardStream struct { func (x *Workflow_ShardStream) Reset() { *x = Workflow_ShardStream{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[232] + mi := &file_vtctldata_proto_msgTypes[234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14444,7 +14546,7 @@ func (x *Workflow_ShardStream) String() string { func (*Workflow_ShardStream) ProtoMessage() {} func (x *Workflow_ShardStream) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[232] + mi := &file_vtctldata_proto_msgTypes[234] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14516,7 +14618,7 @@ type Workflow_Stream struct { func (x *Workflow_Stream) Reset() { *x = Workflow_Stream{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[233] + mi := &file_vtctldata_proto_msgTypes[235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14529,7 +14631,7 @@ func (x *Workflow_Stream) String() string { func (*Workflow_Stream) ProtoMessage() {} func (x *Workflow_Stream) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[233] + mi := &file_vtctldata_proto_msgTypes[235] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14676,7 +14778,7 @@ type Workflow_Stream_CopyState struct { func (x *Workflow_Stream_CopyState) Reset() { *x = Workflow_Stream_CopyState{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[234] + mi := &file_vtctldata_proto_msgTypes[236] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14689,7 +14791,7 @@ func (x *Workflow_Stream_CopyState) String() string { func (*Workflow_Stream_CopyState) ProtoMessage() {} func (x *Workflow_Stream_CopyState) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[234] + mi := &file_vtctldata_proto_msgTypes[236] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14737,7 +14839,7 @@ type Workflow_Stream_Log struct { func (x *Workflow_Stream_Log) Reset() { *x = Workflow_Stream_Log{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[235] + mi := &file_vtctldata_proto_msgTypes[237] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14750,7 +14852,7 @@ func (x *Workflow_Stream_Log) String() string { func (*Workflow_Stream_Log) ProtoMessage() {} func (x *Workflow_Stream_Log) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[235] + mi := &file_vtctldata_proto_msgTypes[237] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14834,7 +14936,7 @@ type Workflow_Stream_ThrottlerStatus struct { func (x *Workflow_Stream_ThrottlerStatus) Reset() { *x = Workflow_Stream_ThrottlerStatus{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[236] + mi := &file_vtctldata_proto_msgTypes[238] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14847,7 +14949,7 @@ func (x *Workflow_Stream_ThrottlerStatus) String() string { func (*Workflow_Stream_ThrottlerStatus) ProtoMessage() {} func (x *Workflow_Stream_ThrottlerStatus) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[236] + mi := &file_vtctldata_proto_msgTypes[238] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14888,7 +14990,7 @@ type GetSrvKeyspaceNamesResponse_NameList struct { func (x *GetSrvKeyspaceNamesResponse_NameList) Reset() { *x = GetSrvKeyspaceNamesResponse_NameList{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[244] + mi := &file_vtctldata_proto_msgTypes[247] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14901,7 +15003,7 @@ func (x *GetSrvKeyspaceNamesResponse_NameList) String() string { func (*GetSrvKeyspaceNamesResponse_NameList) ProtoMessage() {} func (x *GetSrvKeyspaceNamesResponse_NameList) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[244] + mi := &file_vtctldata_proto_msgTypes[247] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14914,7 +15016,7 @@ func (x *GetSrvKeyspaceNamesResponse_NameList) ProtoReflect() protoreflect.Messa // Deprecated: Use GetSrvKeyspaceNamesResponse_NameList.ProtoReflect.Descriptor instead. func (*GetSrvKeyspaceNamesResponse_NameList) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{84, 1} + return file_vtctldata_proto_rawDescGZIP(), []int{86, 1} } func (x *GetSrvKeyspaceNamesResponse_NameList) GetNames() []string { @@ -14937,7 +15039,7 @@ type MoveTablesCreateResponse_TabletInfo struct { func (x *MoveTablesCreateResponse_TabletInfo) Reset() { *x = MoveTablesCreateResponse_TabletInfo{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[248] + mi := &file_vtctldata_proto_msgTypes[251] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14950,7 +15052,7 @@ func (x *MoveTablesCreateResponse_TabletInfo) String() string { func (*MoveTablesCreateResponse_TabletInfo) ProtoMessage() {} func (x *MoveTablesCreateResponse_TabletInfo) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[248] + mi := &file_vtctldata_proto_msgTypes[251] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14963,7 +15065,7 @@ func (x *MoveTablesCreateResponse_TabletInfo) ProtoReflect() protoreflect.Messag // Deprecated: Use MoveTablesCreateResponse_TabletInfo.ProtoReflect.Descriptor instead. func (*MoveTablesCreateResponse_TabletInfo) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{128, 0} + return file_vtctldata_proto_rawDescGZIP(), []int{130, 0} } func (x *MoveTablesCreateResponse_TabletInfo) GetTablet() *topodata.TabletAlias { @@ -14993,7 +15095,7 @@ type WorkflowDeleteResponse_TabletInfo struct { func (x *WorkflowDeleteResponse_TabletInfo) Reset() { *x = WorkflowDeleteResponse_TabletInfo{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[258] + mi := &file_vtctldata_proto_msgTypes[261] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15006,7 +15108,7 @@ func (x *WorkflowDeleteResponse_TabletInfo) String() string { func (*WorkflowDeleteResponse_TabletInfo) ProtoMessage() {} func (x *WorkflowDeleteResponse_TabletInfo) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[258] + mi := &file_vtctldata_proto_msgTypes[261] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15019,7 +15121,7 @@ func (x *WorkflowDeleteResponse_TabletInfo) ProtoReflect() protoreflect.Message // Deprecated: Use WorkflowDeleteResponse_TabletInfo.ProtoReflect.Descriptor instead. func (*WorkflowDeleteResponse_TabletInfo) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{223, 0} + return file_vtctldata_proto_rawDescGZIP(), []int{225, 0} } func (x *WorkflowDeleteResponse_TabletInfo) GetTablet() *topodata.TabletAlias { @@ -15052,7 +15154,7 @@ type WorkflowStatusResponse_TableCopyState struct { func (x *WorkflowStatusResponse_TableCopyState) Reset() { *x = WorkflowStatusResponse_TableCopyState{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[259] + mi := &file_vtctldata_proto_msgTypes[262] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15065,7 +15167,7 @@ func (x *WorkflowStatusResponse_TableCopyState) String() string { func (*WorkflowStatusResponse_TableCopyState) ProtoMessage() {} func (x *WorkflowStatusResponse_TableCopyState) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[259] + mi := &file_vtctldata_proto_msgTypes[262] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15078,7 +15180,7 @@ func (x *WorkflowStatusResponse_TableCopyState) ProtoReflect() protoreflect.Mess // Deprecated: Use WorkflowStatusResponse_TableCopyState.ProtoReflect.Descriptor instead. func (*WorkflowStatusResponse_TableCopyState) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{225, 0} + return file_vtctldata_proto_rawDescGZIP(), []int{227, 0} } func (x *WorkflowStatusResponse_TableCopyState) GetRowsCopied() int64 { @@ -15139,7 +15241,7 @@ type WorkflowStatusResponse_ShardStreamState struct { func (x *WorkflowStatusResponse_ShardStreamState) Reset() { *x = WorkflowStatusResponse_ShardStreamState{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[260] + mi := &file_vtctldata_proto_msgTypes[263] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15152,7 +15254,7 @@ func (x *WorkflowStatusResponse_ShardStreamState) String() string { func (*WorkflowStatusResponse_ShardStreamState) ProtoMessage() {} func (x *WorkflowStatusResponse_ShardStreamState) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[260] + mi := &file_vtctldata_proto_msgTypes[263] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15165,7 +15267,7 @@ func (x *WorkflowStatusResponse_ShardStreamState) ProtoReflect() protoreflect.Me // Deprecated: Use WorkflowStatusResponse_ShardStreamState.ProtoReflect.Descriptor instead. func (*WorkflowStatusResponse_ShardStreamState) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{225, 1} + return file_vtctldata_proto_rawDescGZIP(), []int{227, 1} } func (x *WorkflowStatusResponse_ShardStreamState) GetId() int32 { @@ -15221,7 +15323,7 @@ type WorkflowStatusResponse_ShardStreams struct { func (x *WorkflowStatusResponse_ShardStreams) Reset() { *x = WorkflowStatusResponse_ShardStreams{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[261] + mi := &file_vtctldata_proto_msgTypes[264] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15234,7 +15336,7 @@ func (x *WorkflowStatusResponse_ShardStreams) String() string { func (*WorkflowStatusResponse_ShardStreams) ProtoMessage() {} func (x *WorkflowStatusResponse_ShardStreams) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[261] + mi := &file_vtctldata_proto_msgTypes[264] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15247,7 +15349,7 @@ func (x *WorkflowStatusResponse_ShardStreams) ProtoReflect() protoreflect.Messag // Deprecated: Use WorkflowStatusResponse_ShardStreams.ProtoReflect.Descriptor instead. func (*WorkflowStatusResponse_ShardStreams) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{225, 2} + return file_vtctldata_proto_rawDescGZIP(), []int{227, 2} } func (x *WorkflowStatusResponse_ShardStreams) GetStreams() []*WorkflowStatusResponse_ShardStreamState { @@ -15271,7 +15373,7 @@ type WorkflowUpdateResponse_TabletInfo struct { func (x *WorkflowUpdateResponse_TabletInfo) Reset() { *x = WorkflowUpdateResponse_TabletInfo{} if protoimpl.UnsafeEnabled { - mi := &file_vtctldata_proto_msgTypes[264] + mi := &file_vtctldata_proto_msgTypes[267] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15284,7 +15386,7 @@ func (x *WorkflowUpdateResponse_TabletInfo) String() string { func (*WorkflowUpdateResponse_TabletInfo) ProtoMessage() {} func (x *WorkflowUpdateResponse_TabletInfo) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[264] + mi := &file_vtctldata_proto_msgTypes[267] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15297,7 +15399,7 @@ func (x *WorkflowUpdateResponse_TabletInfo) ProtoReflect() protoreflect.Message // Deprecated: Use WorkflowUpdateResponse_TabletInfo.ProtoReflect.Descriptor instead. func (*WorkflowUpdateResponse_TabletInfo) Descriptor() ([]byte, []int) { - return file_vtctldata_proto_rawDescGZIP(), []int{229, 0} + return file_vtctldata_proto_rawDescGZIP(), []int{231, 0} } func (x *WorkflowUpdateResponse_TabletInfo) GetTablet() *topodata.TabletAlias { @@ -16086,1174 +16188,1099 @@ var file_vtctldata_proto_rawDesc = []byte{ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, - 0x61, 0x72, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9e, - 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, + 0x61, 0x72, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x54, + 0x0a, 0x22, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, - 0x44, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x63, 0x74, - 0x6c, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x62, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x73, 0x22, 0x28, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, - 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, - 0x46, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, - 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x65, - 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x30, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, - 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, - 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb6, - 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x07, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x76, 0x74, - 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, - 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x65, 0x73, 0x1a, 0x50, 0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, 0x75, - 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x4c, 0x0a, 0x15, 0x47, 0x65, 0x74, - 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4b, 0x65, - 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, - 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, - 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, - 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0x30, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x46, 0x0a, 0x13, 0x47, - 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x22, 0x51, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x22, 0xeb, 0x01, 0x0a, 0x23, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, + 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x16, + 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, + 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x76, + 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, + 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, + 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, + 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, + 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x9e, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x22, 0x44, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x79, 0x73, + 0x71, 0x6c, 0x63, 0x74, 0x6c, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x22, 0x28, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, + 0x65, 0x6c, 0x6c, 0x22, 0x46, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, + 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x47, + 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x30, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, + 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, + 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, + 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, + 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x1a, 0x50, 0x0a, 0x0c, 0x41, 0x6c, 0x69, + 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, + 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x14, 0x47, + 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, + 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x4c, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x22, 0x49, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x6b, 0x65, + 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0x30, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, + 0x46, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, + 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x51, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x5a, 0x0a, 0x16, 0x47, 0x65, + 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x55, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xb0, 0x02, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x5a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x17, - 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, - 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x22, 0xb0, 0x02, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, - 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, - 0x61, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, - 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, - 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x73, 0x5f, - 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x50, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xb8, 0x02, 0x0a, 0x1a, 0x47, 0x65, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x69, 0x67, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x28, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x06, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x22, 0x59, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x4c, - 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x26, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, - 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x1d, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6a, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x68, - 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x68, 0x61, 0x72, 0x64, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x52, 0x11, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, - 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x1a, 0x69, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, - 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x20, 0x0a, 0x08, 0x4e, - 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x4a, 0x0a, - 0x16, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x17, 0x47, 0x65, - 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0d, 0x73, 0x72, 0x76, 0x5f, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x76, - 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, - 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0c, 0x73, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, - 0x1a, 0x56, 0x0a, 0x11, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf8, 0x02, 0x0a, 0x1c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, - 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, - 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, - 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x73, 0x5f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x6c, - 0x66, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x68, 0x61, - 0x72, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, - 0x61, 0x70, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f, 0x70, 0x6f, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, - 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, - 0x41, 0x70, 0x70, 0x22, 0x1f, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x68, 0x72, - 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, - 0x22, 0x4e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x73, 0x72, 0x76, - 0x5f, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0a, 0x73, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x22, 0x2d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, - 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, - 0xc5, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0d, 0x73, 0x72, - 0x76, 0x5f, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x73, 0x1a, 0x53, 0x0a, 0x10, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x2e, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, - 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x3d, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, - 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x22, 0xe8, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, - 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, - 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, - 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x3c, 0x0a, 0x0e, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, - 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, - 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, - 0x73, 0x22, 0x2c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, - 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, - 0x46, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, - 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x63, 0x65, - 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x65, 0x6c, - 0x6c, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x66, 0x0a, 0x0c, 0x54, 0x6f, 0x70, 0x6f, 0x6c, - 0x6f, 0x67, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, - 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, - 0x2f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x22, 0x4d, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, - 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, - 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, - 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, - 0x2e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x42, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x07, 0x76, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x22, 0xae, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, + 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, + 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x2a, + 0x0a, 0x11, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6f, + 0x6e, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x50, 0x0a, 0x11, 0x47, 0x65, + 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3b, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xb8, 0x02, 0x0a, + 0x1a, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, - 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x61, 0x6d, - 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6c, 0x6f, 0x67, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x4c, 0x6f, 0x67, 0x73, 0x22, 0x49, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x09, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x22, - 0xfb, 0x01, 0x0a, 0x17, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x50, 0x72, 0x69, - 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, - 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, - 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x52, 0x0a, - 0x1a, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x17, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x5f, - 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x61, 0x69, 0x74, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x42, 0x0a, - 0x18, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, - 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x22, 0x4e, 0x0a, 0x1c, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x1d, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, - 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, - 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, - 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, - 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0xff, 0x02, 0x0a, 0x19, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, - 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, - 0x29, 0x0a, 0x06, 0x76, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x52, 0x06, 0x76, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x42, 0x0a, 0x1e, 0x63, 0x6f, - 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, - 0x79, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x66, 0x74, 0x65, - 0x72, 0x43, 0x6f, 0x70, 0x79, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x37, - 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x77, 0x0a, 0x1e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, + 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x6d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, + 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x76, + 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0x59, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x74, 0x63, + 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, - 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x1f, - 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x29, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x56, 0x0a, 0x18, 0x4d, 0x61, - 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xdd, 0x05, 0x0a, 0x14, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, - 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x27, 0x0a, - 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, - 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, - 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, - 0x6f, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, - 0x64, 0x64, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6e, 0x44, 0x64, 0x6c, - 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, - 0x6f, 0x70, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, - 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x72, 0x6f, 0x70, - 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, - 0x4b, 0x65, 0x79, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, - 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0e, 0x6e, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, - 0xe6, 0x01, 0x0a, 0x16, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, - 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, - 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f, - 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, - 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0x5b, 0x0a, 0x17, 0x4d, 0x69, 0x67, 0x72, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, - 0x0f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x14, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, - 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, - 0x6f, 0x70, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, - 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x74, 0x6f, 0x70, 0x6f, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, - 0x15, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x16, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x55, - 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x26, 0x0a, 0x10, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x11, 0x4d, 0x6f, 0x75, 0x6e, - 0x74, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x74, 0x6f, 0x70, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, - 0x70, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x74, 0x6f, 0x70, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x74, - 0x6f, 0x70, 0x6f, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x74, 0x6f, 0x70, 0x6f, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x12, 0x0a, 0x10, - 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x29, 0x0a, 0x11, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xbb, 0x06, 0x0a, 0x17, - 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x65, - 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, - 0x72, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, - 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x5a, 0x6f, - 0x6e, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, - 0x70, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70, - 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, - 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x72, - 0x6f, 0x70, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x30, 0x0a, - 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, - 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66, - 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, - 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x28, - 0x0a, 0x10, 0x6e, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6e, 0x6f, 0x52, 0x6f, 0x75, 0x74, - 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x74, 0x6f, 0x6d, - 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, - 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43, 0x6f, 0x70, 0x79, 0x22, 0xd5, 0x01, 0x0a, 0x18, 0x4d, 0x6f, - 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, - 0x12, 0x48, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f, - 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, 0x0a, 0x0a, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, - 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x22, 0xe9, 0x01, 0x0a, 0x19, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, - 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6b, - 0x65, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, - 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0x5e, 0x0a, - 0x1a, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x4d, 0x0a, - 0x11, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, - 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, - 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x14, 0x0a, 0x12, - 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xd7, 0x02, 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, - 0x68, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, - 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, - 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x0d, - 0x61, 0x76, 0x6f, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0c, 0x61, 0x76, 0x6f, 0x69, - 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x44, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, - 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x61, 0x69, 0x74, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4c, - 0x0a, 0x19, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x22, 0xba, 0x01, 0x0a, - 0x1c, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, + 0x22, 0x3a, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x1d, 0x0a, 0x1b, + 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6a, 0x0a, 0x1c, 0x47, + 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x13, 0x73, + 0x68, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x11, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x72, + 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x1b, + 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x05, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x74, 0x63, + 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x69, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x61, 0x6d, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x20, 0x0a, 0x08, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x22, 0x4a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, + 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, + 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0xcc, 0x01, + 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0d, 0x73, 0x72, 0x76, + 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x34, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, + 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x1a, 0x56, 0x0a, 0x11, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, + 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf8, 0x02, 0x0a, + 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, - 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, - 0x40, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, - 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, - 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x74, 0x0a, 0x1b, 0x52, 0x65, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, + 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, + 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x10, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, + 0x61, 0x73, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x53, 0x65, 0x6c, 0x66, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, + 0x73, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, + 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, + 0x65, 0x64, 0x41, 0x70, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x72, 0x6f, 0x74, + 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x22, 0x1f, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, + 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x4e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, + 0x0c, 0x73, 0x72, 0x76, 0x5f, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x72, + 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0a, 0x73, 0x72, 0x76, 0x56, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x22, 0x2d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, + 0x6c, 0x6c, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, + 0x0a, 0x0d, 0x73, 0x72, 0x76, 0x5f, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x72, 0x76, 0x56, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x1a, 0x53, 0x0a, 0x10, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x3d, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, + 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0xe8, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, + 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x3c, + 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0d, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0b, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, + 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x2c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, + 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x22, 0x46, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, + 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, + 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, + 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, + 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x66, 0x0a, 0x0c, 0x54, + 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x72, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x72, 0x65, 0x6e, 0x22, 0x2f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x22, - 0x1e, 0x0a, 0x1c, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x32, 0x0a, 0x1a, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, - 0x6c, 0x6c, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, + 0x70, 0x61, 0x63, 0x65, 0x22, 0x4d, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, - 0x69, 0x61, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x1a, 0x52, - 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, - 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, - 0x73, 0x22, 0x83, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, - 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, - 0x36, 0x0a, 0x17, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x6c, 0x6f, 0x61, - 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, - 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x6f, - 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xa9, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, - 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x69, - 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, - 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x46, 0x0a, 0x1c, - 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, - 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, - 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, - 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x63, 0x79, 0x22, 0x43, 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x5b, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x69, 0x61, 0x73, 0x22, 0x2e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x22, 0x42, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x76, 0x5f, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x07, + 0x76, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xae, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, + 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x22, 0x49, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x31, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x17, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x68, 0x61, 0x72, + 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x0a, - 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, - 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, - 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, - 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, - 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x22, 0x1c, - 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x01, 0x0a, - 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x43, 0x65, 0x6c, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, - 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, - 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0x7b, 0x0a, - 0x16, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x07, 0x70, 0x72, 0x69, - 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, - 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, - 0x73, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x8f, 0x04, 0x0a, 0x14, 0x52, - 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, - 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, - 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, - 0x69, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x15, 0x0a, 0x06, - 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6e, - 0x44, 0x64, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x66, 0x74, 0x65, - 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, - 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x64, - 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66, 0x65, 0x72, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0x82, 0x02, 0x0a, - 0x18, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, - 0x69, 0x61, 0x73, 0x12, 0x2d, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x6f, - 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, - 0x72, 0x75, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, - 0x6e, 0x12, 0x3e, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x12, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x22, 0xad, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, - 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, - 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x22, 0x4d, 0x0a, 0x1b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x22, 0xdd, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x64, 0x12, 0x52, 0x0a, 0x1a, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x17, 0x70, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x15, 0x77, + 0x61, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x61, + 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x22, 0x42, 0x0a, 0x18, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x50, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, + 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x4e, 0x0a, 0x1c, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x1d, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, + 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, + 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x75, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x40, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, - 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, - 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, - 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0x51, 0x0a, 0x15, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, - 0x69, 0x61, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, - 0x22, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, - 0x2b, 0x0a, 0x11, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x75, 0x72, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x55, 0x0a, 0x23, - 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x22, 0x5e, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, + 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, + 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, + 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, + 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xff, 0x02, 0x0a, 0x19, 0x4c, 0x6f, 0x6f, 0x6b, + 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, - 0x03, 0x10, 0x04, 0x22, 0x51, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, - 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x72, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, - 0x72, 0x64, 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x14, 0x0a, + 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, + 0x6c, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x06, 0x76, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, + 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x06, 0x76, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x42, + 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, + 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, + 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70, 0x79, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x77, 0x6e, + 0x65, 0x72, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x4c, 0x6f, 0x6f, + 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x77, 0x0a, 0x1e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, + 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, - 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x22, 0x49, 0x0a, 0x20, 0x53, 0x65, - 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, - 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, - 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, - 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x22, 0x4c, 0x0a, 0x1f, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x56, + 0x0a, 0x18, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, + 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0xdd, 0x05, 0x0a, 0x14, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, + 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, + 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x15, 0x0a, + 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, + 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x66, 0x74, + 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, + 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x2a, 0x0a, 0x11, + 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, + 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x46, 0x6f, 0x72, + 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, + 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, + 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x6f, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6e, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x16, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6b, 0x65, + 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0x5b, 0x0a, 0x17, + 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x79, 0x52, + 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x14, 0x4d, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70, 0x6f, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x16, 0x4d, 0x6f, + 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x6f, 0x75, 0x6e, + 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x26, 0x0a, 0x10, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x68, 0x6f, 0x77, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x11, + 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70, 0x6f, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x12, 0x0a, 0x10, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x29, 0x0a, 0x11, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, + 0xbb, 0x06, 0x0a, 0x17, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, + 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, + 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, + 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x26, 0x0a, + 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, + 0x72, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x66, 0x6f, + 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, + 0x73, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x12, 0x64, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, + 0x65, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6e, 0x6f, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43, 0x6f, 0x70, 0x79, 0x22, 0xd5, 0x01, + 0x0a, 0x18, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x12, 0x48, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, + 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, + 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, + 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0xe9, 0x01, 0x0a, 0x19, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, + 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65, 0x65, + 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, + 0x72, 0x75, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, + 0x6e, 0x22, 0x5e, 0x0a, 0x1a, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x72, 0x79, + 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x22, 0x4d, 0x0a, 0x11, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, + 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, + 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, + 0x22, 0x14, 0x0a, 0x12, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd7, 0x02, 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x6e, 0x6e, + 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, - 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, - 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x5f, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, - 0x6e, 0x69, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x46, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, - 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x6a, - 0x0a, 0x12, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, - 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, - 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, - 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x77, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x77, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, - 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, - 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, - 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, + 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, + 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, + 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, + 0x12, 0x3a, 0x0a, 0x0d, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0c, + 0x61, 0x76, 0x6f, 0x69, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x44, 0x0a, 0x15, + 0x77, 0x61, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, + 0x61, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x12, 0x4c, 0x0a, 0x19, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, + 0x22, 0xba, 0x01, 0x0a, 0x1c, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, + 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x5f, + 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, + 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x50, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x74, 0x0a, + 0x1b, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x1c, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, + 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x32, 0x0a, 0x1a, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, + 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x64, 0x0a, 0x1a, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, + 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, + 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, + 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x4f, 0x0a, 0x13, 0x52, + 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, - 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x1d, 0x0a, 0x1b, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x1a, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, - 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, - 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, - 0x54, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x54, 0x0a, 0x20, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0xaa, 0x03, 0x0a, 0x21, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x78, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x45, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, - 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x0a, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x3b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, - 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x1a, 0x5f, 0x0a, 0x18, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4e, 0x0a, 0x0e, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, - 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x53, 0x68, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, - 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, - 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0c, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x16, 0x0a, 0x14, + 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, + 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, + 0x22, 0x46, 0x0a, 0x1c, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6c, + 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x43, 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x6f, 0x61, + 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x5b, 0x0a, 0x13, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x7f, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, + 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x12, 0x14, + 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, + 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, + 0x76, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, + 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, + 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, + 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, + 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x22, 0x19, + 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x43, 0x65, 0x6c, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x0a, 0x15, 0x52, 0x65, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x12, 0x53, 0x6c, 0x65, 0x65, - 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, - 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, - 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x6c, 0x65, 0x65, 0x70, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf0, 0x01, - 0x0a, 0x15, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, + 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x74, 0x22, 0x7b, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, + 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, + 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, + 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x8f, + 0x04, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, + 0x61, 0x72, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, + 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, + 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, + 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x6f, 0x70, 0x79, + 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6f, 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70, 0x79, 0x12, + 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, + 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, + 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x22, 0x82, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, + 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2d, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, + 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x12, 0x17, 0x0a, 0x07, + 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, + 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x52, 0x12, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xad, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, + 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, + 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, + 0x24, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x1b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x75, 0x69, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, + 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, + 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, + 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, + 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, + 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x48, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x6d, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, - 0x68, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, - 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, - 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x22, 0x3f, 0x0a, 0x16, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x41, - 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, - 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, - 0x64, 0x22, 0x5e, 0x0a, 0x18, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x22, 0x55, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, + 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, + 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x5e, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x4b, 0x65, + 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, + 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x51, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x4b, 0x65, + 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6b, 0x65, + 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, + 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x72, 0x0a, 0x1f, 0x53, 0x65, + 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x69, - 0x64, 0x22, 0x42, 0x0a, 0x19, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, - 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, - 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x53, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x22, 0x49, + 0x0a, 0x20, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, + 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x1c, 0x53, 0x65, + 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, + 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, + 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x0b, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6e, + 0x69, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0c, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, + 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x46, 0x0a, 0x1d, 0x53, 0x65, + 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, + 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, + 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, + 0x72, 0x64, 0x22, 0x6a, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, + 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x15, + 0x0a, 0x13, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, + 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, + 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, + 0x22, 0x1d, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x62, 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, + 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, + 0x65, 0x6c, 0x6c, 0x22, 0x54, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x54, 0x0a, 0x20, 0x53, 0x68, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, + 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, + 0xaa, 0x03, 0x0a, 0x21, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, + 0x5a, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x1a, 0x5f, 0x0a, 0x18, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4e, 0x0a, 0x0e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8b, 0x01, 0x0a, + 0x1d, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, + 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x53, 0x74, - 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x21, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, - 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, - 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, - 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x22, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, - 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, - 0x6e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x0b, 0x6f, 0x6c, - 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6f, 0x6c, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, - 0x72, 0x79, 0x22, 0x5c, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, - 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, - 0x22, 0x5d, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, - 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, - 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, - 0x64, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, - 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, - 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, - 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x63, 0x65, 0x6c, 0x6c, 0x73, - 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x65, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x5f, 0x61, - 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, - 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, - 0x52, 0x0a, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x34, 0x0a, 0x0f, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x12, 0x62, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, - 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x11, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x69, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0x58, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, - 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, - 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, - 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfc, 0x01, 0x0a, 0x18, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x12, 0x61, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, - 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x76, 0x74, - 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, - 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, - 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd8, 0x01, 0x0a, 0x1d, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x68, + 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x12, + 0x53, 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, + 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2c, 0x0a, 0x08, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x6c, + 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x15, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, + 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, - 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, - 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69, - 0x65, 0x77, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6e, 0x6f, 0x5f, 0x70, - 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b, - 0x69, 0x70, 0x4e, 0x6f, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x22, 0x88, 0x02, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x12, 0x67, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, - 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x76, 0x74, - 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x6b, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, - 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x31, 0x0a, 0x15, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, - 0x3c, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, + 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x09, 0x6b, + 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x16, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, + 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, + 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, + 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x18, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, + 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x8a, 0x02, - 0x0a, 0x1f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x68, 0x0a, 0x10, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4f, 0x0a, 0x1b, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x38, 0x0a, 0x1c, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, - 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, + 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x19, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, + 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, + 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x53, 0x0a, 0x17, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, + 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, + 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x1a, + 0x0a, 0x18, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x16, 0x53, 0x74, + 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, + 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, + 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x19, + 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x21, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, + 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0xc6, 0x01, + 0x0a, 0x22, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, + 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, + 0x61, 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x36, + 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6f, 0x6c, 0x64, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x5c, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5d, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, + 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, + 0x6e, 0x66, 0x6f, 0x22, 0x64, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, + 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x63, + 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x65, 0x0a, 0x18, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x65, 0x6c, + 0x6c, 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, + 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, + 0x22, 0x34, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, - 0x61, 0x72, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, - 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x60, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x36, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x5f, 0x62, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, + 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x69, 0x0a, 0x16, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x58, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, + 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfc, + 0x01, 0x0a, 0x18, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x37, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, @@ -17262,273 +17289,368 @@ var file_vtctldata_proto_rawDesc = []byte{ 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xca, 0x06, - 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, - 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, - 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x65, - 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, - 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x55, 0x0a, 0x1e, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x1b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x12, 0x1a, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x70, 0x5f, 0x6b, 0x73, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x6e, 0x6c, 0x79, 0x50, 0x4b, 0x73, 0x12, 0x2c, 0x0a, 0x12, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x19, 0x6d, 0x61, - 0x78, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x74, 0x6f, 0x5f, - 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x6d, - 0x61, 0x78, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x6f, 0x77, 0x73, 0x54, 0x6f, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x61, 0x69, 0x74, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x04, 0x77, 0x61, 0x69, 0x74, 0x12, 0x42, 0x0a, 0x14, 0x77, 0x61, 0x69, 0x74, - 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x77, 0x61, 0x69, 0x74, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, - 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x73, 0x22, 0x29, 0x0a, 0x13, 0x56, 0x44, - 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x55, 0x55, 0x49, 0x44, 0x22, 0x6b, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, - 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, - 0x72, 0x67, 0x22, 0x15, 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x12, 0x56, 0x44, 0x69, - 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd8, 0x01, + 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, + 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, + 0x65, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, + 0x6e, 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x4e, 0x6f, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, + 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x56, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x88, 0x02, 0x0a, 0x1e, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, + 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, + 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, + 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, + 0x22, 0x31, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x22, 0x8a, 0x02, 0x0a, 0x1f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, + 0x68, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, + 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x76, 0x74, 0x63, 0x74, + 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, + 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4f, + 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, + 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, + 0x38, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x16, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, + 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, + 0x69, 0x65, 0x77, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x60, 0x0a, 0x10, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0xca, 0x06, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x65, 0x6c, 0x6c, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, + 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, + 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, + 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x55, 0x0a, 0x1e, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x69, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x70, 0x5f, 0x6b, + 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x6e, 0x6c, 0x79, 0x50, 0x4b, 0x73, + 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x38, + 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x72, 0x6f, 0x77, 0x73, + 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x6f, 0x77, 0x73, 0x54, + 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x61, 0x69, 0x74, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x61, 0x69, 0x74, 0x12, 0x42, 0x0a, 0x14, + 0x77, 0x61, 0x69, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x76, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x77, 0x61, + 0x69, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x78, + 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, + 0x6f, 0x77, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x73, 0x22, 0x29, + 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x55, 0x55, 0x49, 0x44, 0x22, 0x6b, 0x0a, 0x12, 0x56, 0x44, 0x69, + 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, - 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x69, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, + 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0x15, 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, + 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0xd7, 0x01, 0x0a, 0x11, 0x56, - 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5c, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x74, 0x63, - 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x64, - 0x0a, 0x14, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, - 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x6f, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, - 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, - 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x22, 0x13, 0x0a, 0x11, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65, 0x65, - 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72, 0x6f, - 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x22, 0xd1, 0x01, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, - 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x1a, 0x55, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, - 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, - 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x4f, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x22, 0xe6, 0x07, 0x0a, 0x16, 0x57, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x70, - 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, + 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, + 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, + 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0xd7, + 0x01, 0x0a, 0x11, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, + 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x73, 0x1a, 0x64, 0x0a, 0x14, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, + 0x66, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, + 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x15, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1b, 0x0a, 0x09, + 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x6b, 0x65, 0x65, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65, 0x65, + 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xd1, 0x01, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x76, 0x74, - 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x23, - 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x1a, 0xe8, 0x01, 0x0a, 0x0e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, - 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63, - 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x6f, 0x77, - 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x73, 0x5f, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x6f, 0x77, - 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x70, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0e, 0x72, 0x6f, 0x77, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x70, 0x69, - 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6f, - 0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, - 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x1a, 0xbc, - 0x01, 0x0a, 0x10, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, - 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, - 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x5c, 0x0a, - 0x0c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x4c, 0x0a, - 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x1a, 0x73, 0x0a, 0x13, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x1a, 0x6f, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0xd7, 0x03, 0x0a, 0x1c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x77, - 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, - 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, - 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x1b, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, - 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4c, 0x61, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, - 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x1b, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x1d, - 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, - 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, - 0x0f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x0e, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, 0x01, 0x0a, 0x16, 0x57, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, - 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, - 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x2a, 0x4a, 0x0a, 0x15, - 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x56, 0x45, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, - 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, - 0x50, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x02, 0x2a, 0x38, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, - 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, - 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, - 0x10, 0x02, 0x42, 0x28, 0x5a, 0x26, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, - 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x4f, 0x0a, 0x15, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x22, 0xe6, 0x07, 0x0a, + 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x35, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, + 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, + 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x33, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, + 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66, + 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0xe8, 0x01, 0x0a, 0x0e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, + 0x77, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0a, 0x72, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, + 0x6f, 0x77, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x72, 0x6f, 0x77, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x6f, + 0x77, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x77, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x70, + 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x0f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, + 0x67, 0x65, 0x1a, 0xbc, 0x01, 0x0a, 0x10, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, + 0x6f, 0x1a, 0x5c, 0x0a, 0x0c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x1a, + 0x73, 0x0a, 0x13, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6f, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x76, 0x74, 0x63, + 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, + 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd7, 0x03, 0x0a, 0x1c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, + 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x14, + 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, + 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, + 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4f, 0x0a, + 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x3c, + 0x0a, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, + 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, + 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x07, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, + 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, + 0x3e, 0x0a, 0x1b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, + 0xa7, 0x01, 0x0a, 0x1d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, + 0x63, 0x68, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x79, 0x52, + 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x15, 0x57, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x5b, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, 0x01, 0x0a, + 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x79, 0x12, 0x46, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, 0x0a, 0x0a, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, + 0x2a, 0x4a, 0x0a, 0x15, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, + 0x54, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x56, 0x45, 0x54, 0x41, 0x42, + 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x4c, + 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x02, 0x2a, 0x38, 0x0a, 0x0d, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x08, 0x0a, + 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45, 0x4e, + 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, + 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x42, 0x28, 0x5a, 0x26, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, + 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -17544,7 +17666,7 @@ func file_vtctldata_proto_rawDescGZIP() []byte { } var file_vtctldata_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_vtctldata_proto_msgTypes = make([]protoimpl.MessageInfo, 265) +var file_vtctldata_proto_msgTypes = make([]protoimpl.MessageInfo, 268) var file_vtctldata_proto_goTypes = []interface{}{ (MaterializationIntent)(0), // 0: vtctldata.MaterializationIntent (QueryOrdering)(0), // 1: vtctldata.QueryOrdering @@ -17607,459 +17729,463 @@ var file_vtctldata_proto_goTypes = []interface{}{ (*ExecuteHookResponse)(nil), // 58: vtctldata.ExecuteHookResponse (*FindAllShardsInKeyspaceRequest)(nil), // 59: vtctldata.FindAllShardsInKeyspaceRequest (*FindAllShardsInKeyspaceResponse)(nil), // 60: vtctldata.FindAllShardsInKeyspaceResponse - (*GetBackupsRequest)(nil), // 61: vtctldata.GetBackupsRequest - (*GetBackupsResponse)(nil), // 62: vtctldata.GetBackupsResponse - (*GetCellInfoRequest)(nil), // 63: vtctldata.GetCellInfoRequest - (*GetCellInfoResponse)(nil), // 64: vtctldata.GetCellInfoResponse - (*GetCellInfoNamesRequest)(nil), // 65: vtctldata.GetCellInfoNamesRequest - (*GetCellInfoNamesResponse)(nil), // 66: vtctldata.GetCellInfoNamesResponse - (*GetCellsAliasesRequest)(nil), // 67: vtctldata.GetCellsAliasesRequest - (*GetCellsAliasesResponse)(nil), // 68: vtctldata.GetCellsAliasesResponse - (*GetFullStatusRequest)(nil), // 69: vtctldata.GetFullStatusRequest - (*GetFullStatusResponse)(nil), // 70: vtctldata.GetFullStatusResponse - (*GetKeyspacesRequest)(nil), // 71: vtctldata.GetKeyspacesRequest - (*GetKeyspacesResponse)(nil), // 72: vtctldata.GetKeyspacesResponse - (*GetKeyspaceRequest)(nil), // 73: vtctldata.GetKeyspaceRequest - (*GetKeyspaceResponse)(nil), // 74: vtctldata.GetKeyspaceResponse - (*GetPermissionsRequest)(nil), // 75: vtctldata.GetPermissionsRequest - (*GetPermissionsResponse)(nil), // 76: vtctldata.GetPermissionsResponse - (*GetRoutingRulesRequest)(nil), // 77: vtctldata.GetRoutingRulesRequest - (*GetRoutingRulesResponse)(nil), // 78: vtctldata.GetRoutingRulesResponse - (*GetSchemaRequest)(nil), // 79: vtctldata.GetSchemaRequest - (*GetSchemaResponse)(nil), // 80: vtctldata.GetSchemaResponse - (*GetSchemaMigrationsRequest)(nil), // 81: vtctldata.GetSchemaMigrationsRequest - (*GetSchemaMigrationsResponse)(nil), // 82: vtctldata.GetSchemaMigrationsResponse - (*GetShardRequest)(nil), // 83: vtctldata.GetShardRequest - (*GetShardResponse)(nil), // 84: vtctldata.GetShardResponse - (*GetShardRoutingRulesRequest)(nil), // 85: vtctldata.GetShardRoutingRulesRequest - (*GetShardRoutingRulesResponse)(nil), // 86: vtctldata.GetShardRoutingRulesResponse - (*GetSrvKeyspaceNamesRequest)(nil), // 87: vtctldata.GetSrvKeyspaceNamesRequest - (*GetSrvKeyspaceNamesResponse)(nil), // 88: vtctldata.GetSrvKeyspaceNamesResponse - (*GetSrvKeyspacesRequest)(nil), // 89: vtctldata.GetSrvKeyspacesRequest - (*GetSrvKeyspacesResponse)(nil), // 90: vtctldata.GetSrvKeyspacesResponse - (*UpdateThrottlerConfigRequest)(nil), // 91: vtctldata.UpdateThrottlerConfigRequest - (*UpdateThrottlerConfigResponse)(nil), // 92: vtctldata.UpdateThrottlerConfigResponse - (*GetSrvVSchemaRequest)(nil), // 93: vtctldata.GetSrvVSchemaRequest - (*GetSrvVSchemaResponse)(nil), // 94: vtctldata.GetSrvVSchemaResponse - (*GetSrvVSchemasRequest)(nil), // 95: vtctldata.GetSrvVSchemasRequest - (*GetSrvVSchemasResponse)(nil), // 96: vtctldata.GetSrvVSchemasResponse - (*GetTabletRequest)(nil), // 97: vtctldata.GetTabletRequest - (*GetTabletResponse)(nil), // 98: vtctldata.GetTabletResponse - (*GetTabletsRequest)(nil), // 99: vtctldata.GetTabletsRequest - (*GetTabletsResponse)(nil), // 100: vtctldata.GetTabletsResponse - (*GetTopologyPathRequest)(nil), // 101: vtctldata.GetTopologyPathRequest - (*GetTopologyPathResponse)(nil), // 102: vtctldata.GetTopologyPathResponse - (*TopologyCell)(nil), // 103: vtctldata.TopologyCell - (*GetVSchemaRequest)(nil), // 104: vtctldata.GetVSchemaRequest - (*GetVersionRequest)(nil), // 105: vtctldata.GetVersionRequest - (*GetVersionResponse)(nil), // 106: vtctldata.GetVersionResponse - (*GetVSchemaResponse)(nil), // 107: vtctldata.GetVSchemaResponse - (*GetWorkflowsRequest)(nil), // 108: vtctldata.GetWorkflowsRequest - (*GetWorkflowsResponse)(nil), // 109: vtctldata.GetWorkflowsResponse - (*InitShardPrimaryRequest)(nil), // 110: vtctldata.InitShardPrimaryRequest - (*InitShardPrimaryResponse)(nil), // 111: vtctldata.InitShardPrimaryResponse - (*LaunchSchemaMigrationRequest)(nil), // 112: vtctldata.LaunchSchemaMigrationRequest - (*LaunchSchemaMigrationResponse)(nil), // 113: vtctldata.LaunchSchemaMigrationResponse - (*LookupVindexCreateRequest)(nil), // 114: vtctldata.LookupVindexCreateRequest - (*LookupVindexCreateResponse)(nil), // 115: vtctldata.LookupVindexCreateResponse - (*LookupVindexExternalizeRequest)(nil), // 116: vtctldata.LookupVindexExternalizeRequest - (*LookupVindexExternalizeResponse)(nil), // 117: vtctldata.LookupVindexExternalizeResponse - (*MaterializeCreateRequest)(nil), // 118: vtctldata.MaterializeCreateRequest - (*MaterializeCreateResponse)(nil), // 119: vtctldata.MaterializeCreateResponse - (*MigrateCreateRequest)(nil), // 120: vtctldata.MigrateCreateRequest - (*MigrateCompleteRequest)(nil), // 121: vtctldata.MigrateCompleteRequest - (*MigrateCompleteResponse)(nil), // 122: vtctldata.MigrateCompleteResponse - (*MountRegisterRequest)(nil), // 123: vtctldata.MountRegisterRequest - (*MountRegisterResponse)(nil), // 124: vtctldata.MountRegisterResponse - (*MountUnregisterRequest)(nil), // 125: vtctldata.MountUnregisterRequest - (*MountUnregisterResponse)(nil), // 126: vtctldata.MountUnregisterResponse - (*MountShowRequest)(nil), // 127: vtctldata.MountShowRequest - (*MountShowResponse)(nil), // 128: vtctldata.MountShowResponse - (*MountListRequest)(nil), // 129: vtctldata.MountListRequest - (*MountListResponse)(nil), // 130: vtctldata.MountListResponse - (*MoveTablesCreateRequest)(nil), // 131: vtctldata.MoveTablesCreateRequest - (*MoveTablesCreateResponse)(nil), // 132: vtctldata.MoveTablesCreateResponse - (*MoveTablesCompleteRequest)(nil), // 133: vtctldata.MoveTablesCompleteRequest - (*MoveTablesCompleteResponse)(nil), // 134: vtctldata.MoveTablesCompleteResponse - (*PingTabletRequest)(nil), // 135: vtctldata.PingTabletRequest - (*PingTabletResponse)(nil), // 136: vtctldata.PingTabletResponse - (*PlannedReparentShardRequest)(nil), // 137: vtctldata.PlannedReparentShardRequest - (*PlannedReparentShardResponse)(nil), // 138: vtctldata.PlannedReparentShardResponse - (*RebuildKeyspaceGraphRequest)(nil), // 139: vtctldata.RebuildKeyspaceGraphRequest - (*RebuildKeyspaceGraphResponse)(nil), // 140: vtctldata.RebuildKeyspaceGraphResponse - (*RebuildVSchemaGraphRequest)(nil), // 141: vtctldata.RebuildVSchemaGraphRequest - (*RebuildVSchemaGraphResponse)(nil), // 142: vtctldata.RebuildVSchemaGraphResponse - (*RefreshStateRequest)(nil), // 143: vtctldata.RefreshStateRequest - (*RefreshStateResponse)(nil), // 144: vtctldata.RefreshStateResponse - (*RefreshStateByShardRequest)(nil), // 145: vtctldata.RefreshStateByShardRequest - (*RefreshStateByShardResponse)(nil), // 146: vtctldata.RefreshStateByShardResponse - (*ReloadSchemaRequest)(nil), // 147: vtctldata.ReloadSchemaRequest - (*ReloadSchemaResponse)(nil), // 148: vtctldata.ReloadSchemaResponse - (*ReloadSchemaKeyspaceRequest)(nil), // 149: vtctldata.ReloadSchemaKeyspaceRequest - (*ReloadSchemaKeyspaceResponse)(nil), // 150: vtctldata.ReloadSchemaKeyspaceResponse - (*ReloadSchemaShardRequest)(nil), // 151: vtctldata.ReloadSchemaShardRequest - (*ReloadSchemaShardResponse)(nil), // 152: vtctldata.ReloadSchemaShardResponse - (*RemoveBackupRequest)(nil), // 153: vtctldata.RemoveBackupRequest - (*RemoveBackupResponse)(nil), // 154: vtctldata.RemoveBackupResponse - (*RemoveKeyspaceCellRequest)(nil), // 155: vtctldata.RemoveKeyspaceCellRequest - (*RemoveKeyspaceCellResponse)(nil), // 156: vtctldata.RemoveKeyspaceCellResponse - (*RemoveShardCellRequest)(nil), // 157: vtctldata.RemoveShardCellRequest - (*RemoveShardCellResponse)(nil), // 158: vtctldata.RemoveShardCellResponse - (*ReparentTabletRequest)(nil), // 159: vtctldata.ReparentTabletRequest - (*ReparentTabletResponse)(nil), // 160: vtctldata.ReparentTabletResponse - (*ReshardCreateRequest)(nil), // 161: vtctldata.ReshardCreateRequest - (*RestoreFromBackupRequest)(nil), // 162: vtctldata.RestoreFromBackupRequest - (*RestoreFromBackupResponse)(nil), // 163: vtctldata.RestoreFromBackupResponse - (*RetrySchemaMigrationRequest)(nil), // 164: vtctldata.RetrySchemaMigrationRequest - (*RetrySchemaMigrationResponse)(nil), // 165: vtctldata.RetrySchemaMigrationResponse - (*RunHealthCheckRequest)(nil), // 166: vtctldata.RunHealthCheckRequest - (*RunHealthCheckResponse)(nil), // 167: vtctldata.RunHealthCheckResponse - (*SetKeyspaceDurabilityPolicyRequest)(nil), // 168: vtctldata.SetKeyspaceDurabilityPolicyRequest - (*SetKeyspaceDurabilityPolicyResponse)(nil), // 169: vtctldata.SetKeyspaceDurabilityPolicyResponse - (*SetKeyspaceShardingInfoRequest)(nil), // 170: vtctldata.SetKeyspaceShardingInfoRequest - (*SetKeyspaceShardingInfoResponse)(nil), // 171: vtctldata.SetKeyspaceShardingInfoResponse - (*SetShardIsPrimaryServingRequest)(nil), // 172: vtctldata.SetShardIsPrimaryServingRequest - (*SetShardIsPrimaryServingResponse)(nil), // 173: vtctldata.SetShardIsPrimaryServingResponse - (*SetShardTabletControlRequest)(nil), // 174: vtctldata.SetShardTabletControlRequest - (*SetShardTabletControlResponse)(nil), // 175: vtctldata.SetShardTabletControlResponse - (*SetWritableRequest)(nil), // 176: vtctldata.SetWritableRequest - (*SetWritableResponse)(nil), // 177: vtctldata.SetWritableResponse - (*ShardReplicationAddRequest)(nil), // 178: vtctldata.ShardReplicationAddRequest - (*ShardReplicationAddResponse)(nil), // 179: vtctldata.ShardReplicationAddResponse - (*ShardReplicationFixRequest)(nil), // 180: vtctldata.ShardReplicationFixRequest - (*ShardReplicationFixResponse)(nil), // 181: vtctldata.ShardReplicationFixResponse - (*ShardReplicationPositionsRequest)(nil), // 182: vtctldata.ShardReplicationPositionsRequest - (*ShardReplicationPositionsResponse)(nil), // 183: vtctldata.ShardReplicationPositionsResponse - (*ShardReplicationRemoveRequest)(nil), // 184: vtctldata.ShardReplicationRemoveRequest - (*ShardReplicationRemoveResponse)(nil), // 185: vtctldata.ShardReplicationRemoveResponse - (*SleepTabletRequest)(nil), // 186: vtctldata.SleepTabletRequest - (*SleepTabletResponse)(nil), // 187: vtctldata.SleepTabletResponse - (*SourceShardAddRequest)(nil), // 188: vtctldata.SourceShardAddRequest - (*SourceShardAddResponse)(nil), // 189: vtctldata.SourceShardAddResponse - (*SourceShardDeleteRequest)(nil), // 190: vtctldata.SourceShardDeleteRequest - (*SourceShardDeleteResponse)(nil), // 191: vtctldata.SourceShardDeleteResponse - (*StartReplicationRequest)(nil), // 192: vtctldata.StartReplicationRequest - (*StartReplicationResponse)(nil), // 193: vtctldata.StartReplicationResponse - (*StopReplicationRequest)(nil), // 194: vtctldata.StopReplicationRequest - (*StopReplicationResponse)(nil), // 195: vtctldata.StopReplicationResponse - (*TabletExternallyReparentedRequest)(nil), // 196: vtctldata.TabletExternallyReparentedRequest - (*TabletExternallyReparentedResponse)(nil), // 197: vtctldata.TabletExternallyReparentedResponse - (*UpdateCellInfoRequest)(nil), // 198: vtctldata.UpdateCellInfoRequest - (*UpdateCellInfoResponse)(nil), // 199: vtctldata.UpdateCellInfoResponse - (*UpdateCellsAliasRequest)(nil), // 200: vtctldata.UpdateCellsAliasRequest - (*UpdateCellsAliasResponse)(nil), // 201: vtctldata.UpdateCellsAliasResponse - (*ValidateRequest)(nil), // 202: vtctldata.ValidateRequest - (*ValidateResponse)(nil), // 203: vtctldata.ValidateResponse - (*ValidateKeyspaceRequest)(nil), // 204: vtctldata.ValidateKeyspaceRequest - (*ValidateKeyspaceResponse)(nil), // 205: vtctldata.ValidateKeyspaceResponse - (*ValidateSchemaKeyspaceRequest)(nil), // 206: vtctldata.ValidateSchemaKeyspaceRequest - (*ValidateSchemaKeyspaceResponse)(nil), // 207: vtctldata.ValidateSchemaKeyspaceResponse - (*ValidateShardRequest)(nil), // 208: vtctldata.ValidateShardRequest - (*ValidateShardResponse)(nil), // 209: vtctldata.ValidateShardResponse - (*ValidateVersionKeyspaceRequest)(nil), // 210: vtctldata.ValidateVersionKeyspaceRequest - (*ValidateVersionKeyspaceResponse)(nil), // 211: vtctldata.ValidateVersionKeyspaceResponse - (*ValidateVersionShardRequest)(nil), // 212: vtctldata.ValidateVersionShardRequest - (*ValidateVersionShardResponse)(nil), // 213: vtctldata.ValidateVersionShardResponse - (*ValidateVSchemaRequest)(nil), // 214: vtctldata.ValidateVSchemaRequest - (*ValidateVSchemaResponse)(nil), // 215: vtctldata.ValidateVSchemaResponse - (*VDiffCreateRequest)(nil), // 216: vtctldata.VDiffCreateRequest - (*VDiffCreateResponse)(nil), // 217: vtctldata.VDiffCreateResponse - (*VDiffDeleteRequest)(nil), // 218: vtctldata.VDiffDeleteRequest - (*VDiffDeleteResponse)(nil), // 219: vtctldata.VDiffDeleteResponse - (*VDiffResumeRequest)(nil), // 220: vtctldata.VDiffResumeRequest - (*VDiffResumeResponse)(nil), // 221: vtctldata.VDiffResumeResponse - (*VDiffShowRequest)(nil), // 222: vtctldata.VDiffShowRequest - (*VDiffShowResponse)(nil), // 223: vtctldata.VDiffShowResponse - (*VDiffStopRequest)(nil), // 224: vtctldata.VDiffStopRequest - (*VDiffStopResponse)(nil), // 225: vtctldata.VDiffStopResponse - (*WorkflowDeleteRequest)(nil), // 226: vtctldata.WorkflowDeleteRequest - (*WorkflowDeleteResponse)(nil), // 227: vtctldata.WorkflowDeleteResponse - (*WorkflowStatusRequest)(nil), // 228: vtctldata.WorkflowStatusRequest - (*WorkflowStatusResponse)(nil), // 229: vtctldata.WorkflowStatusResponse - (*WorkflowSwitchTrafficRequest)(nil), // 230: vtctldata.WorkflowSwitchTrafficRequest - (*WorkflowSwitchTrafficResponse)(nil), // 231: vtctldata.WorkflowSwitchTrafficResponse - (*WorkflowUpdateRequest)(nil), // 232: vtctldata.WorkflowUpdateRequest - (*WorkflowUpdateResponse)(nil), // 233: vtctldata.WorkflowUpdateResponse - nil, // 234: vtctldata.Workflow.ShardStreamsEntry - (*Workflow_ReplicationLocation)(nil), // 235: vtctldata.Workflow.ReplicationLocation - (*Workflow_ShardStream)(nil), // 236: vtctldata.Workflow.ShardStream - (*Workflow_Stream)(nil), // 237: vtctldata.Workflow.Stream - (*Workflow_Stream_CopyState)(nil), // 238: vtctldata.Workflow.Stream.CopyState - (*Workflow_Stream_Log)(nil), // 239: vtctldata.Workflow.Stream.Log - (*Workflow_Stream_ThrottlerStatus)(nil), // 240: vtctldata.Workflow.Stream.ThrottlerStatus - nil, // 241: vtctldata.ApplySchemaResponse.RowsAffectedByShardEntry - nil, // 242: vtctldata.CancelSchemaMigrationResponse.RowsAffectedByShardEntry - nil, // 243: vtctldata.CleanupSchemaMigrationResponse.RowsAffectedByShardEntry - nil, // 244: vtctldata.CompleteSchemaMigrationResponse.RowsAffectedByShardEntry - nil, // 245: vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry - nil, // 246: vtctldata.GetCellsAliasesResponse.AliasesEntry - nil, // 247: vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry - (*GetSrvKeyspaceNamesResponse_NameList)(nil), // 248: vtctldata.GetSrvKeyspaceNamesResponse.NameList - nil, // 249: vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry - nil, // 250: vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry - nil, // 251: vtctldata.LaunchSchemaMigrationResponse.RowsAffectedByShardEntry - (*MoveTablesCreateResponse_TabletInfo)(nil), // 252: vtctldata.MoveTablesCreateResponse.TabletInfo - nil, // 253: vtctldata.RetrySchemaMigrationResponse.RowsAffectedByShardEntry - nil, // 254: vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry - nil, // 255: vtctldata.ShardReplicationPositionsResponse.TabletMapEntry - nil, // 256: vtctldata.ValidateResponse.ResultsByKeyspaceEntry - nil, // 257: vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry - nil, // 258: vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry - nil, // 259: vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry - nil, // 260: vtctldata.ValidateVSchemaResponse.ResultsByShardEntry - nil, // 261: vtctldata.VDiffShowResponse.TabletResponsesEntry - (*WorkflowDeleteResponse_TabletInfo)(nil), // 262: vtctldata.WorkflowDeleteResponse.TabletInfo - (*WorkflowStatusResponse_TableCopyState)(nil), // 263: vtctldata.WorkflowStatusResponse.TableCopyState - (*WorkflowStatusResponse_ShardStreamState)(nil), // 264: vtctldata.WorkflowStatusResponse.ShardStreamState - (*WorkflowStatusResponse_ShardStreams)(nil), // 265: vtctldata.WorkflowStatusResponse.ShardStreams - nil, // 266: vtctldata.WorkflowStatusResponse.TableCopyStateEntry - nil, // 267: vtctldata.WorkflowStatusResponse.ShardStreamsEntry - (*WorkflowUpdateResponse_TabletInfo)(nil), // 268: vtctldata.WorkflowUpdateResponse.TabletInfo - (*logutil.Event)(nil), // 269: logutil.Event - (tabletmanagerdata.TabletSelectionPreference)(0), // 270: tabletmanagerdata.TabletSelectionPreference - (*topodata.Keyspace)(nil), // 271: topodata.Keyspace - (*vttime.Time)(nil), // 272: vttime.Time - (*topodata.TabletAlias)(nil), // 273: topodata.TabletAlias - (*vttime.Duration)(nil), // 274: vttime.Duration - (*topodata.Shard)(nil), // 275: topodata.Shard - (*topodata.CellInfo)(nil), // 276: topodata.CellInfo - (*vschema.RoutingRules)(nil), // 277: vschema.RoutingRules - (*vschema.ShardRoutingRules)(nil), // 278: vschema.ShardRoutingRules - (*vtrpc.CallerID)(nil), // 279: vtrpc.CallerID - (*vschema.Keyspace)(nil), // 280: vschema.Keyspace - (topodata.TabletType)(0), // 281: topodata.TabletType - (*topodata.Tablet)(nil), // 282: topodata.Tablet - (topodata.KeyspaceType)(0), // 283: topodata.KeyspaceType - (*query.QueryResult)(nil), // 284: query.QueryResult - (*tabletmanagerdata.ExecuteHookRequest)(nil), // 285: tabletmanagerdata.ExecuteHookRequest - (*tabletmanagerdata.ExecuteHookResponse)(nil), // 286: tabletmanagerdata.ExecuteHookResponse - (*mysqlctl.BackupInfo)(nil), // 287: mysqlctl.BackupInfo - (*replicationdata.FullStatus)(nil), // 288: replicationdata.FullStatus - (*tabletmanagerdata.Permissions)(nil), // 289: tabletmanagerdata.Permissions - (*tabletmanagerdata.SchemaDefinition)(nil), // 290: tabletmanagerdata.SchemaDefinition - (*topodata.ThrottledAppRule)(nil), // 291: topodata.ThrottledAppRule - (*vschema.SrvVSchema)(nil), // 292: vschema.SrvVSchema - (*topodata.ShardReplicationError)(nil), // 293: topodata.ShardReplicationError - (*topodata.KeyRange)(nil), // 294: topodata.KeyRange - (*topodata.CellsAlias)(nil), // 295: topodata.CellsAlias - (*tabletmanagerdata.UpdateVReplicationWorkflowRequest)(nil), // 296: tabletmanagerdata.UpdateVReplicationWorkflowRequest - (*topodata.Shard_TabletControl)(nil), // 297: topodata.Shard.TabletControl - (*binlogdata.BinlogSource)(nil), // 298: binlogdata.BinlogSource - (*topodata.SrvKeyspace)(nil), // 299: topodata.SrvKeyspace - (*replicationdata.Status)(nil), // 300: replicationdata.Status - (*tabletmanagerdata.VDiffResponse)(nil), // 301: tabletmanagerdata.VDiffResponse + (*ForceCutOverSchemaMigrationRequest)(nil), // 61: vtctldata.ForceCutOverSchemaMigrationRequest + (*ForceCutOverSchemaMigrationResponse)(nil), // 62: vtctldata.ForceCutOverSchemaMigrationResponse + (*GetBackupsRequest)(nil), // 63: vtctldata.GetBackupsRequest + (*GetBackupsResponse)(nil), // 64: vtctldata.GetBackupsResponse + (*GetCellInfoRequest)(nil), // 65: vtctldata.GetCellInfoRequest + (*GetCellInfoResponse)(nil), // 66: vtctldata.GetCellInfoResponse + (*GetCellInfoNamesRequest)(nil), // 67: vtctldata.GetCellInfoNamesRequest + (*GetCellInfoNamesResponse)(nil), // 68: vtctldata.GetCellInfoNamesResponse + (*GetCellsAliasesRequest)(nil), // 69: vtctldata.GetCellsAliasesRequest + (*GetCellsAliasesResponse)(nil), // 70: vtctldata.GetCellsAliasesResponse + (*GetFullStatusRequest)(nil), // 71: vtctldata.GetFullStatusRequest + (*GetFullStatusResponse)(nil), // 72: vtctldata.GetFullStatusResponse + (*GetKeyspacesRequest)(nil), // 73: vtctldata.GetKeyspacesRequest + (*GetKeyspacesResponse)(nil), // 74: vtctldata.GetKeyspacesResponse + (*GetKeyspaceRequest)(nil), // 75: vtctldata.GetKeyspaceRequest + (*GetKeyspaceResponse)(nil), // 76: vtctldata.GetKeyspaceResponse + (*GetPermissionsRequest)(nil), // 77: vtctldata.GetPermissionsRequest + (*GetPermissionsResponse)(nil), // 78: vtctldata.GetPermissionsResponse + (*GetRoutingRulesRequest)(nil), // 79: vtctldata.GetRoutingRulesRequest + (*GetRoutingRulesResponse)(nil), // 80: vtctldata.GetRoutingRulesResponse + (*GetSchemaRequest)(nil), // 81: vtctldata.GetSchemaRequest + (*GetSchemaResponse)(nil), // 82: vtctldata.GetSchemaResponse + (*GetSchemaMigrationsRequest)(nil), // 83: vtctldata.GetSchemaMigrationsRequest + (*GetSchemaMigrationsResponse)(nil), // 84: vtctldata.GetSchemaMigrationsResponse + (*GetShardRequest)(nil), // 85: vtctldata.GetShardRequest + (*GetShardResponse)(nil), // 86: vtctldata.GetShardResponse + (*GetShardRoutingRulesRequest)(nil), // 87: vtctldata.GetShardRoutingRulesRequest + (*GetShardRoutingRulesResponse)(nil), // 88: vtctldata.GetShardRoutingRulesResponse + (*GetSrvKeyspaceNamesRequest)(nil), // 89: vtctldata.GetSrvKeyspaceNamesRequest + (*GetSrvKeyspaceNamesResponse)(nil), // 90: vtctldata.GetSrvKeyspaceNamesResponse + (*GetSrvKeyspacesRequest)(nil), // 91: vtctldata.GetSrvKeyspacesRequest + (*GetSrvKeyspacesResponse)(nil), // 92: vtctldata.GetSrvKeyspacesResponse + (*UpdateThrottlerConfigRequest)(nil), // 93: vtctldata.UpdateThrottlerConfigRequest + (*UpdateThrottlerConfigResponse)(nil), // 94: vtctldata.UpdateThrottlerConfigResponse + (*GetSrvVSchemaRequest)(nil), // 95: vtctldata.GetSrvVSchemaRequest + (*GetSrvVSchemaResponse)(nil), // 96: vtctldata.GetSrvVSchemaResponse + (*GetSrvVSchemasRequest)(nil), // 97: vtctldata.GetSrvVSchemasRequest + (*GetSrvVSchemasResponse)(nil), // 98: vtctldata.GetSrvVSchemasResponse + (*GetTabletRequest)(nil), // 99: vtctldata.GetTabletRequest + (*GetTabletResponse)(nil), // 100: vtctldata.GetTabletResponse + (*GetTabletsRequest)(nil), // 101: vtctldata.GetTabletsRequest + (*GetTabletsResponse)(nil), // 102: vtctldata.GetTabletsResponse + (*GetTopologyPathRequest)(nil), // 103: vtctldata.GetTopologyPathRequest + (*GetTopologyPathResponse)(nil), // 104: vtctldata.GetTopologyPathResponse + (*TopologyCell)(nil), // 105: vtctldata.TopologyCell + (*GetVSchemaRequest)(nil), // 106: vtctldata.GetVSchemaRequest + (*GetVersionRequest)(nil), // 107: vtctldata.GetVersionRequest + (*GetVersionResponse)(nil), // 108: vtctldata.GetVersionResponse + (*GetVSchemaResponse)(nil), // 109: vtctldata.GetVSchemaResponse + (*GetWorkflowsRequest)(nil), // 110: vtctldata.GetWorkflowsRequest + (*GetWorkflowsResponse)(nil), // 111: vtctldata.GetWorkflowsResponse + (*InitShardPrimaryRequest)(nil), // 112: vtctldata.InitShardPrimaryRequest + (*InitShardPrimaryResponse)(nil), // 113: vtctldata.InitShardPrimaryResponse + (*LaunchSchemaMigrationRequest)(nil), // 114: vtctldata.LaunchSchemaMigrationRequest + (*LaunchSchemaMigrationResponse)(nil), // 115: vtctldata.LaunchSchemaMigrationResponse + (*LookupVindexCreateRequest)(nil), // 116: vtctldata.LookupVindexCreateRequest + (*LookupVindexCreateResponse)(nil), // 117: vtctldata.LookupVindexCreateResponse + (*LookupVindexExternalizeRequest)(nil), // 118: vtctldata.LookupVindexExternalizeRequest + (*LookupVindexExternalizeResponse)(nil), // 119: vtctldata.LookupVindexExternalizeResponse + (*MaterializeCreateRequest)(nil), // 120: vtctldata.MaterializeCreateRequest + (*MaterializeCreateResponse)(nil), // 121: vtctldata.MaterializeCreateResponse + (*MigrateCreateRequest)(nil), // 122: vtctldata.MigrateCreateRequest + (*MigrateCompleteRequest)(nil), // 123: vtctldata.MigrateCompleteRequest + (*MigrateCompleteResponse)(nil), // 124: vtctldata.MigrateCompleteResponse + (*MountRegisterRequest)(nil), // 125: vtctldata.MountRegisterRequest + (*MountRegisterResponse)(nil), // 126: vtctldata.MountRegisterResponse + (*MountUnregisterRequest)(nil), // 127: vtctldata.MountUnregisterRequest + (*MountUnregisterResponse)(nil), // 128: vtctldata.MountUnregisterResponse + (*MountShowRequest)(nil), // 129: vtctldata.MountShowRequest + (*MountShowResponse)(nil), // 130: vtctldata.MountShowResponse + (*MountListRequest)(nil), // 131: vtctldata.MountListRequest + (*MountListResponse)(nil), // 132: vtctldata.MountListResponse + (*MoveTablesCreateRequest)(nil), // 133: vtctldata.MoveTablesCreateRequest + (*MoveTablesCreateResponse)(nil), // 134: vtctldata.MoveTablesCreateResponse + (*MoveTablesCompleteRequest)(nil), // 135: vtctldata.MoveTablesCompleteRequest + (*MoveTablesCompleteResponse)(nil), // 136: vtctldata.MoveTablesCompleteResponse + (*PingTabletRequest)(nil), // 137: vtctldata.PingTabletRequest + (*PingTabletResponse)(nil), // 138: vtctldata.PingTabletResponse + (*PlannedReparentShardRequest)(nil), // 139: vtctldata.PlannedReparentShardRequest + (*PlannedReparentShardResponse)(nil), // 140: vtctldata.PlannedReparentShardResponse + (*RebuildKeyspaceGraphRequest)(nil), // 141: vtctldata.RebuildKeyspaceGraphRequest + (*RebuildKeyspaceGraphResponse)(nil), // 142: vtctldata.RebuildKeyspaceGraphResponse + (*RebuildVSchemaGraphRequest)(nil), // 143: vtctldata.RebuildVSchemaGraphRequest + (*RebuildVSchemaGraphResponse)(nil), // 144: vtctldata.RebuildVSchemaGraphResponse + (*RefreshStateRequest)(nil), // 145: vtctldata.RefreshStateRequest + (*RefreshStateResponse)(nil), // 146: vtctldata.RefreshStateResponse + (*RefreshStateByShardRequest)(nil), // 147: vtctldata.RefreshStateByShardRequest + (*RefreshStateByShardResponse)(nil), // 148: vtctldata.RefreshStateByShardResponse + (*ReloadSchemaRequest)(nil), // 149: vtctldata.ReloadSchemaRequest + (*ReloadSchemaResponse)(nil), // 150: vtctldata.ReloadSchemaResponse + (*ReloadSchemaKeyspaceRequest)(nil), // 151: vtctldata.ReloadSchemaKeyspaceRequest + (*ReloadSchemaKeyspaceResponse)(nil), // 152: vtctldata.ReloadSchemaKeyspaceResponse + (*ReloadSchemaShardRequest)(nil), // 153: vtctldata.ReloadSchemaShardRequest + (*ReloadSchemaShardResponse)(nil), // 154: vtctldata.ReloadSchemaShardResponse + (*RemoveBackupRequest)(nil), // 155: vtctldata.RemoveBackupRequest + (*RemoveBackupResponse)(nil), // 156: vtctldata.RemoveBackupResponse + (*RemoveKeyspaceCellRequest)(nil), // 157: vtctldata.RemoveKeyspaceCellRequest + (*RemoveKeyspaceCellResponse)(nil), // 158: vtctldata.RemoveKeyspaceCellResponse + (*RemoveShardCellRequest)(nil), // 159: vtctldata.RemoveShardCellRequest + (*RemoveShardCellResponse)(nil), // 160: vtctldata.RemoveShardCellResponse + (*ReparentTabletRequest)(nil), // 161: vtctldata.ReparentTabletRequest + (*ReparentTabletResponse)(nil), // 162: vtctldata.ReparentTabletResponse + (*ReshardCreateRequest)(nil), // 163: vtctldata.ReshardCreateRequest + (*RestoreFromBackupRequest)(nil), // 164: vtctldata.RestoreFromBackupRequest + (*RestoreFromBackupResponse)(nil), // 165: vtctldata.RestoreFromBackupResponse + (*RetrySchemaMigrationRequest)(nil), // 166: vtctldata.RetrySchemaMigrationRequest + (*RetrySchemaMigrationResponse)(nil), // 167: vtctldata.RetrySchemaMigrationResponse + (*RunHealthCheckRequest)(nil), // 168: vtctldata.RunHealthCheckRequest + (*RunHealthCheckResponse)(nil), // 169: vtctldata.RunHealthCheckResponse + (*SetKeyspaceDurabilityPolicyRequest)(nil), // 170: vtctldata.SetKeyspaceDurabilityPolicyRequest + (*SetKeyspaceDurabilityPolicyResponse)(nil), // 171: vtctldata.SetKeyspaceDurabilityPolicyResponse + (*SetKeyspaceShardingInfoRequest)(nil), // 172: vtctldata.SetKeyspaceShardingInfoRequest + (*SetKeyspaceShardingInfoResponse)(nil), // 173: vtctldata.SetKeyspaceShardingInfoResponse + (*SetShardIsPrimaryServingRequest)(nil), // 174: vtctldata.SetShardIsPrimaryServingRequest + (*SetShardIsPrimaryServingResponse)(nil), // 175: vtctldata.SetShardIsPrimaryServingResponse + (*SetShardTabletControlRequest)(nil), // 176: vtctldata.SetShardTabletControlRequest + (*SetShardTabletControlResponse)(nil), // 177: vtctldata.SetShardTabletControlResponse + (*SetWritableRequest)(nil), // 178: vtctldata.SetWritableRequest + (*SetWritableResponse)(nil), // 179: vtctldata.SetWritableResponse + (*ShardReplicationAddRequest)(nil), // 180: vtctldata.ShardReplicationAddRequest + (*ShardReplicationAddResponse)(nil), // 181: vtctldata.ShardReplicationAddResponse + (*ShardReplicationFixRequest)(nil), // 182: vtctldata.ShardReplicationFixRequest + (*ShardReplicationFixResponse)(nil), // 183: vtctldata.ShardReplicationFixResponse + (*ShardReplicationPositionsRequest)(nil), // 184: vtctldata.ShardReplicationPositionsRequest + (*ShardReplicationPositionsResponse)(nil), // 185: vtctldata.ShardReplicationPositionsResponse + (*ShardReplicationRemoveRequest)(nil), // 186: vtctldata.ShardReplicationRemoveRequest + (*ShardReplicationRemoveResponse)(nil), // 187: vtctldata.ShardReplicationRemoveResponse + (*SleepTabletRequest)(nil), // 188: vtctldata.SleepTabletRequest + (*SleepTabletResponse)(nil), // 189: vtctldata.SleepTabletResponse + (*SourceShardAddRequest)(nil), // 190: vtctldata.SourceShardAddRequest + (*SourceShardAddResponse)(nil), // 191: vtctldata.SourceShardAddResponse + (*SourceShardDeleteRequest)(nil), // 192: vtctldata.SourceShardDeleteRequest + (*SourceShardDeleteResponse)(nil), // 193: vtctldata.SourceShardDeleteResponse + (*StartReplicationRequest)(nil), // 194: vtctldata.StartReplicationRequest + (*StartReplicationResponse)(nil), // 195: vtctldata.StartReplicationResponse + (*StopReplicationRequest)(nil), // 196: vtctldata.StopReplicationRequest + (*StopReplicationResponse)(nil), // 197: vtctldata.StopReplicationResponse + (*TabletExternallyReparentedRequest)(nil), // 198: vtctldata.TabletExternallyReparentedRequest + (*TabletExternallyReparentedResponse)(nil), // 199: vtctldata.TabletExternallyReparentedResponse + (*UpdateCellInfoRequest)(nil), // 200: vtctldata.UpdateCellInfoRequest + (*UpdateCellInfoResponse)(nil), // 201: vtctldata.UpdateCellInfoResponse + (*UpdateCellsAliasRequest)(nil), // 202: vtctldata.UpdateCellsAliasRequest + (*UpdateCellsAliasResponse)(nil), // 203: vtctldata.UpdateCellsAliasResponse + (*ValidateRequest)(nil), // 204: vtctldata.ValidateRequest + (*ValidateResponse)(nil), // 205: vtctldata.ValidateResponse + (*ValidateKeyspaceRequest)(nil), // 206: vtctldata.ValidateKeyspaceRequest + (*ValidateKeyspaceResponse)(nil), // 207: vtctldata.ValidateKeyspaceResponse + (*ValidateSchemaKeyspaceRequest)(nil), // 208: vtctldata.ValidateSchemaKeyspaceRequest + (*ValidateSchemaKeyspaceResponse)(nil), // 209: vtctldata.ValidateSchemaKeyspaceResponse + (*ValidateShardRequest)(nil), // 210: vtctldata.ValidateShardRequest + (*ValidateShardResponse)(nil), // 211: vtctldata.ValidateShardResponse + (*ValidateVersionKeyspaceRequest)(nil), // 212: vtctldata.ValidateVersionKeyspaceRequest + (*ValidateVersionKeyspaceResponse)(nil), // 213: vtctldata.ValidateVersionKeyspaceResponse + (*ValidateVersionShardRequest)(nil), // 214: vtctldata.ValidateVersionShardRequest + (*ValidateVersionShardResponse)(nil), // 215: vtctldata.ValidateVersionShardResponse + (*ValidateVSchemaRequest)(nil), // 216: vtctldata.ValidateVSchemaRequest + (*ValidateVSchemaResponse)(nil), // 217: vtctldata.ValidateVSchemaResponse + (*VDiffCreateRequest)(nil), // 218: vtctldata.VDiffCreateRequest + (*VDiffCreateResponse)(nil), // 219: vtctldata.VDiffCreateResponse + (*VDiffDeleteRequest)(nil), // 220: vtctldata.VDiffDeleteRequest + (*VDiffDeleteResponse)(nil), // 221: vtctldata.VDiffDeleteResponse + (*VDiffResumeRequest)(nil), // 222: vtctldata.VDiffResumeRequest + (*VDiffResumeResponse)(nil), // 223: vtctldata.VDiffResumeResponse + (*VDiffShowRequest)(nil), // 224: vtctldata.VDiffShowRequest + (*VDiffShowResponse)(nil), // 225: vtctldata.VDiffShowResponse + (*VDiffStopRequest)(nil), // 226: vtctldata.VDiffStopRequest + (*VDiffStopResponse)(nil), // 227: vtctldata.VDiffStopResponse + (*WorkflowDeleteRequest)(nil), // 228: vtctldata.WorkflowDeleteRequest + (*WorkflowDeleteResponse)(nil), // 229: vtctldata.WorkflowDeleteResponse + (*WorkflowStatusRequest)(nil), // 230: vtctldata.WorkflowStatusRequest + (*WorkflowStatusResponse)(nil), // 231: vtctldata.WorkflowStatusResponse + (*WorkflowSwitchTrafficRequest)(nil), // 232: vtctldata.WorkflowSwitchTrafficRequest + (*WorkflowSwitchTrafficResponse)(nil), // 233: vtctldata.WorkflowSwitchTrafficResponse + (*WorkflowUpdateRequest)(nil), // 234: vtctldata.WorkflowUpdateRequest + (*WorkflowUpdateResponse)(nil), // 235: vtctldata.WorkflowUpdateResponse + nil, // 236: vtctldata.Workflow.ShardStreamsEntry + (*Workflow_ReplicationLocation)(nil), // 237: vtctldata.Workflow.ReplicationLocation + (*Workflow_ShardStream)(nil), // 238: vtctldata.Workflow.ShardStream + (*Workflow_Stream)(nil), // 239: vtctldata.Workflow.Stream + (*Workflow_Stream_CopyState)(nil), // 240: vtctldata.Workflow.Stream.CopyState + (*Workflow_Stream_Log)(nil), // 241: vtctldata.Workflow.Stream.Log + (*Workflow_Stream_ThrottlerStatus)(nil), // 242: vtctldata.Workflow.Stream.ThrottlerStatus + nil, // 243: vtctldata.ApplySchemaResponse.RowsAffectedByShardEntry + nil, // 244: vtctldata.CancelSchemaMigrationResponse.RowsAffectedByShardEntry + nil, // 245: vtctldata.CleanupSchemaMigrationResponse.RowsAffectedByShardEntry + nil, // 246: vtctldata.CompleteSchemaMigrationResponse.RowsAffectedByShardEntry + nil, // 247: vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry + nil, // 248: vtctldata.ForceCutOverSchemaMigrationResponse.RowsAffectedByShardEntry + nil, // 249: vtctldata.GetCellsAliasesResponse.AliasesEntry + nil, // 250: vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry + (*GetSrvKeyspaceNamesResponse_NameList)(nil), // 251: vtctldata.GetSrvKeyspaceNamesResponse.NameList + nil, // 252: vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry + nil, // 253: vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry + nil, // 254: vtctldata.LaunchSchemaMigrationResponse.RowsAffectedByShardEntry + (*MoveTablesCreateResponse_TabletInfo)(nil), // 255: vtctldata.MoveTablesCreateResponse.TabletInfo + nil, // 256: vtctldata.RetrySchemaMigrationResponse.RowsAffectedByShardEntry + nil, // 257: vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry + nil, // 258: vtctldata.ShardReplicationPositionsResponse.TabletMapEntry + nil, // 259: vtctldata.ValidateResponse.ResultsByKeyspaceEntry + nil, // 260: vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry + nil, // 261: vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry + nil, // 262: vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry + nil, // 263: vtctldata.ValidateVSchemaResponse.ResultsByShardEntry + nil, // 264: vtctldata.VDiffShowResponse.TabletResponsesEntry + (*WorkflowDeleteResponse_TabletInfo)(nil), // 265: vtctldata.WorkflowDeleteResponse.TabletInfo + (*WorkflowStatusResponse_TableCopyState)(nil), // 266: vtctldata.WorkflowStatusResponse.TableCopyState + (*WorkflowStatusResponse_ShardStreamState)(nil), // 267: vtctldata.WorkflowStatusResponse.ShardStreamState + (*WorkflowStatusResponse_ShardStreams)(nil), // 268: vtctldata.WorkflowStatusResponse.ShardStreams + nil, // 269: vtctldata.WorkflowStatusResponse.TableCopyStateEntry + nil, // 270: vtctldata.WorkflowStatusResponse.ShardStreamsEntry + (*WorkflowUpdateResponse_TabletInfo)(nil), // 271: vtctldata.WorkflowUpdateResponse.TabletInfo + (*logutil.Event)(nil), // 272: logutil.Event + (tabletmanagerdata.TabletSelectionPreference)(0), // 273: tabletmanagerdata.TabletSelectionPreference + (*topodata.Keyspace)(nil), // 274: topodata.Keyspace + (*vttime.Time)(nil), // 275: vttime.Time + (*topodata.TabletAlias)(nil), // 276: topodata.TabletAlias + (*vttime.Duration)(nil), // 277: vttime.Duration + (*topodata.Shard)(nil), // 278: topodata.Shard + (*topodata.CellInfo)(nil), // 279: topodata.CellInfo + (*vschema.RoutingRules)(nil), // 280: vschema.RoutingRules + (*vschema.ShardRoutingRules)(nil), // 281: vschema.ShardRoutingRules + (*vtrpc.CallerID)(nil), // 282: vtrpc.CallerID + (*vschema.Keyspace)(nil), // 283: vschema.Keyspace + (topodata.TabletType)(0), // 284: topodata.TabletType + (*topodata.Tablet)(nil), // 285: topodata.Tablet + (topodata.KeyspaceType)(0), // 286: topodata.KeyspaceType + (*query.QueryResult)(nil), // 287: query.QueryResult + (*tabletmanagerdata.ExecuteHookRequest)(nil), // 288: tabletmanagerdata.ExecuteHookRequest + (*tabletmanagerdata.ExecuteHookResponse)(nil), // 289: tabletmanagerdata.ExecuteHookResponse + (*mysqlctl.BackupInfo)(nil), // 290: mysqlctl.BackupInfo + (*replicationdata.FullStatus)(nil), // 291: replicationdata.FullStatus + (*tabletmanagerdata.Permissions)(nil), // 292: tabletmanagerdata.Permissions + (*tabletmanagerdata.SchemaDefinition)(nil), // 293: tabletmanagerdata.SchemaDefinition + (*topodata.ThrottledAppRule)(nil), // 294: topodata.ThrottledAppRule + (*vschema.SrvVSchema)(nil), // 295: vschema.SrvVSchema + (*topodata.ShardReplicationError)(nil), // 296: topodata.ShardReplicationError + (*topodata.KeyRange)(nil), // 297: topodata.KeyRange + (*topodata.CellsAlias)(nil), // 298: topodata.CellsAlias + (*tabletmanagerdata.UpdateVReplicationWorkflowRequest)(nil), // 299: tabletmanagerdata.UpdateVReplicationWorkflowRequest + (*topodata.Shard_TabletControl)(nil), // 300: topodata.Shard.TabletControl + (*binlogdata.BinlogSource)(nil), // 301: binlogdata.BinlogSource + (*topodata.SrvKeyspace)(nil), // 302: topodata.SrvKeyspace + (*replicationdata.Status)(nil), // 303: replicationdata.Status + (*tabletmanagerdata.VDiffResponse)(nil), // 304: tabletmanagerdata.VDiffResponse } var file_vtctldata_proto_depIdxs = []int32{ - 269, // 0: vtctldata.ExecuteVtctlCommandResponse.event:type_name -> logutil.Event + 272, // 0: vtctldata.ExecuteVtctlCommandResponse.event:type_name -> logutil.Event 6, // 1: vtctldata.MaterializeSettings.table_settings:type_name -> vtctldata.TableMaterializeSettings 0, // 2: vtctldata.MaterializeSettings.materialization_intent:type_name -> vtctldata.MaterializationIntent - 270, // 3: vtctldata.MaterializeSettings.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference - 271, // 4: vtctldata.Keyspace.keyspace:type_name -> topodata.Keyspace + 273, // 3: vtctldata.MaterializeSettings.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference + 274, // 4: vtctldata.Keyspace.keyspace:type_name -> topodata.Keyspace 2, // 5: vtctldata.SchemaMigration.strategy:type_name -> vtctldata.SchemaMigration.Strategy - 272, // 6: vtctldata.SchemaMigration.added_at:type_name -> vttime.Time - 272, // 7: vtctldata.SchemaMigration.requested_at:type_name -> vttime.Time - 272, // 8: vtctldata.SchemaMigration.ready_at:type_name -> vttime.Time - 272, // 9: vtctldata.SchemaMigration.started_at:type_name -> vttime.Time - 272, // 10: vtctldata.SchemaMigration.liveness_timestamp:type_name -> vttime.Time - 272, // 11: vtctldata.SchemaMigration.completed_at:type_name -> vttime.Time - 272, // 12: vtctldata.SchemaMigration.cleaned_up_at:type_name -> vttime.Time + 275, // 6: vtctldata.SchemaMigration.added_at:type_name -> vttime.Time + 275, // 7: vtctldata.SchemaMigration.requested_at:type_name -> vttime.Time + 275, // 8: vtctldata.SchemaMigration.ready_at:type_name -> vttime.Time + 275, // 9: vtctldata.SchemaMigration.started_at:type_name -> vttime.Time + 275, // 10: vtctldata.SchemaMigration.liveness_timestamp:type_name -> vttime.Time + 275, // 11: vtctldata.SchemaMigration.completed_at:type_name -> vttime.Time + 275, // 12: vtctldata.SchemaMigration.cleaned_up_at:type_name -> vttime.Time 3, // 13: vtctldata.SchemaMigration.status:type_name -> vtctldata.SchemaMigration.Status - 273, // 14: vtctldata.SchemaMigration.tablet:type_name -> topodata.TabletAlias - 274, // 15: vtctldata.SchemaMigration.artifact_retention:type_name -> vttime.Duration - 272, // 16: vtctldata.SchemaMigration.last_throttled_at:type_name -> vttime.Time - 272, // 17: vtctldata.SchemaMigration.cancelled_at:type_name -> vttime.Time - 272, // 18: vtctldata.SchemaMigration.reviewed_at:type_name -> vttime.Time - 272, // 19: vtctldata.SchemaMigration.ready_to_complete_at:type_name -> vttime.Time - 275, // 20: vtctldata.Shard.shard:type_name -> topodata.Shard - 235, // 21: vtctldata.Workflow.source:type_name -> vtctldata.Workflow.ReplicationLocation - 235, // 22: vtctldata.Workflow.target:type_name -> vtctldata.Workflow.ReplicationLocation - 234, // 23: vtctldata.Workflow.shard_streams:type_name -> vtctldata.Workflow.ShardStreamsEntry - 276, // 24: vtctldata.AddCellInfoRequest.cell_info:type_name -> topodata.CellInfo - 277, // 25: vtctldata.ApplyRoutingRulesRequest.routing_rules:type_name -> vschema.RoutingRules - 278, // 26: vtctldata.ApplyShardRoutingRulesRequest.shard_routing_rules:type_name -> vschema.ShardRoutingRules - 274, // 27: vtctldata.ApplySchemaRequest.wait_replicas_timeout:type_name -> vttime.Duration - 279, // 28: vtctldata.ApplySchemaRequest.caller_id:type_name -> vtrpc.CallerID - 241, // 29: vtctldata.ApplySchemaResponse.rows_affected_by_shard:type_name -> vtctldata.ApplySchemaResponse.RowsAffectedByShardEntry - 280, // 30: vtctldata.ApplyVSchemaRequest.v_schema:type_name -> vschema.Keyspace - 280, // 31: vtctldata.ApplyVSchemaResponse.v_schema:type_name -> vschema.Keyspace - 273, // 32: vtctldata.BackupRequest.tablet_alias:type_name -> topodata.TabletAlias - 273, // 33: vtctldata.BackupResponse.tablet_alias:type_name -> topodata.TabletAlias - 269, // 34: vtctldata.BackupResponse.event:type_name -> logutil.Event - 242, // 35: vtctldata.CancelSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CancelSchemaMigrationResponse.RowsAffectedByShardEntry - 273, // 36: vtctldata.ChangeTabletTypeRequest.tablet_alias:type_name -> topodata.TabletAlias - 281, // 37: vtctldata.ChangeTabletTypeRequest.db_type:type_name -> topodata.TabletType - 282, // 38: vtctldata.ChangeTabletTypeResponse.before_tablet:type_name -> topodata.Tablet - 282, // 39: vtctldata.ChangeTabletTypeResponse.after_tablet:type_name -> topodata.Tablet - 243, // 40: vtctldata.CleanupSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CleanupSchemaMigrationResponse.RowsAffectedByShardEntry - 244, // 41: vtctldata.CompleteSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CompleteSchemaMigrationResponse.RowsAffectedByShardEntry - 283, // 42: vtctldata.CreateKeyspaceRequest.type:type_name -> topodata.KeyspaceType - 272, // 43: vtctldata.CreateKeyspaceRequest.snapshot_time:type_name -> vttime.Time + 276, // 14: vtctldata.SchemaMigration.tablet:type_name -> topodata.TabletAlias + 277, // 15: vtctldata.SchemaMigration.artifact_retention:type_name -> vttime.Duration + 275, // 16: vtctldata.SchemaMigration.last_throttled_at:type_name -> vttime.Time + 275, // 17: vtctldata.SchemaMigration.cancelled_at:type_name -> vttime.Time + 275, // 18: vtctldata.SchemaMigration.reviewed_at:type_name -> vttime.Time + 275, // 19: vtctldata.SchemaMigration.ready_to_complete_at:type_name -> vttime.Time + 278, // 20: vtctldata.Shard.shard:type_name -> topodata.Shard + 237, // 21: vtctldata.Workflow.source:type_name -> vtctldata.Workflow.ReplicationLocation + 237, // 22: vtctldata.Workflow.target:type_name -> vtctldata.Workflow.ReplicationLocation + 236, // 23: vtctldata.Workflow.shard_streams:type_name -> vtctldata.Workflow.ShardStreamsEntry + 279, // 24: vtctldata.AddCellInfoRequest.cell_info:type_name -> topodata.CellInfo + 280, // 25: vtctldata.ApplyRoutingRulesRequest.routing_rules:type_name -> vschema.RoutingRules + 281, // 26: vtctldata.ApplyShardRoutingRulesRequest.shard_routing_rules:type_name -> vschema.ShardRoutingRules + 277, // 27: vtctldata.ApplySchemaRequest.wait_replicas_timeout:type_name -> vttime.Duration + 282, // 28: vtctldata.ApplySchemaRequest.caller_id:type_name -> vtrpc.CallerID + 243, // 29: vtctldata.ApplySchemaResponse.rows_affected_by_shard:type_name -> vtctldata.ApplySchemaResponse.RowsAffectedByShardEntry + 283, // 30: vtctldata.ApplyVSchemaRequest.v_schema:type_name -> vschema.Keyspace + 283, // 31: vtctldata.ApplyVSchemaResponse.v_schema:type_name -> vschema.Keyspace + 276, // 32: vtctldata.BackupRequest.tablet_alias:type_name -> topodata.TabletAlias + 276, // 33: vtctldata.BackupResponse.tablet_alias:type_name -> topodata.TabletAlias + 272, // 34: vtctldata.BackupResponse.event:type_name -> logutil.Event + 244, // 35: vtctldata.CancelSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CancelSchemaMigrationResponse.RowsAffectedByShardEntry + 276, // 36: vtctldata.ChangeTabletTypeRequest.tablet_alias:type_name -> topodata.TabletAlias + 284, // 37: vtctldata.ChangeTabletTypeRequest.db_type:type_name -> topodata.TabletType + 285, // 38: vtctldata.ChangeTabletTypeResponse.before_tablet:type_name -> topodata.Tablet + 285, // 39: vtctldata.ChangeTabletTypeResponse.after_tablet:type_name -> topodata.Tablet + 245, // 40: vtctldata.CleanupSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CleanupSchemaMigrationResponse.RowsAffectedByShardEntry + 246, // 41: vtctldata.CompleteSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CompleteSchemaMigrationResponse.RowsAffectedByShardEntry + 286, // 42: vtctldata.CreateKeyspaceRequest.type:type_name -> topodata.KeyspaceType + 275, // 43: vtctldata.CreateKeyspaceRequest.snapshot_time:type_name -> vttime.Time 8, // 44: vtctldata.CreateKeyspaceResponse.keyspace:type_name -> vtctldata.Keyspace 8, // 45: vtctldata.CreateShardResponse.keyspace:type_name -> vtctldata.Keyspace 10, // 46: vtctldata.CreateShardResponse.shard:type_name -> vtctldata.Shard 10, // 47: vtctldata.DeleteShardsRequest.shards:type_name -> vtctldata.Shard - 273, // 48: vtctldata.DeleteTabletsRequest.tablet_aliases:type_name -> topodata.TabletAlias - 273, // 49: vtctldata.EmergencyReparentShardRequest.new_primary:type_name -> topodata.TabletAlias - 273, // 50: vtctldata.EmergencyReparentShardRequest.ignore_replicas:type_name -> topodata.TabletAlias - 274, // 51: vtctldata.EmergencyReparentShardRequest.wait_replicas_timeout:type_name -> vttime.Duration - 273, // 52: vtctldata.EmergencyReparentShardResponse.promoted_primary:type_name -> topodata.TabletAlias - 269, // 53: vtctldata.EmergencyReparentShardResponse.events:type_name -> logutil.Event - 273, // 54: vtctldata.ExecuteFetchAsAppRequest.tablet_alias:type_name -> topodata.TabletAlias - 284, // 55: vtctldata.ExecuteFetchAsAppResponse.result:type_name -> query.QueryResult - 273, // 56: vtctldata.ExecuteFetchAsDBARequest.tablet_alias:type_name -> topodata.TabletAlias - 284, // 57: vtctldata.ExecuteFetchAsDBAResponse.result:type_name -> query.QueryResult - 273, // 58: vtctldata.ExecuteHookRequest.tablet_alias:type_name -> topodata.TabletAlias - 285, // 59: vtctldata.ExecuteHookRequest.tablet_hook_request:type_name -> tabletmanagerdata.ExecuteHookRequest - 286, // 60: vtctldata.ExecuteHookResponse.hook_result:type_name -> tabletmanagerdata.ExecuteHookResponse - 245, // 61: vtctldata.FindAllShardsInKeyspaceResponse.shards:type_name -> vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry - 287, // 62: vtctldata.GetBackupsResponse.backups:type_name -> mysqlctl.BackupInfo - 276, // 63: vtctldata.GetCellInfoResponse.cell_info:type_name -> topodata.CellInfo - 246, // 64: vtctldata.GetCellsAliasesResponse.aliases:type_name -> vtctldata.GetCellsAliasesResponse.AliasesEntry - 273, // 65: vtctldata.GetFullStatusRequest.tablet_alias:type_name -> topodata.TabletAlias - 288, // 66: vtctldata.GetFullStatusResponse.status:type_name -> replicationdata.FullStatus - 8, // 67: vtctldata.GetKeyspacesResponse.keyspaces:type_name -> vtctldata.Keyspace - 8, // 68: vtctldata.GetKeyspaceResponse.keyspace:type_name -> vtctldata.Keyspace - 273, // 69: vtctldata.GetPermissionsRequest.tablet_alias:type_name -> topodata.TabletAlias - 289, // 70: vtctldata.GetPermissionsResponse.permissions:type_name -> tabletmanagerdata.Permissions - 277, // 71: vtctldata.GetRoutingRulesResponse.routing_rules:type_name -> vschema.RoutingRules - 273, // 72: vtctldata.GetSchemaRequest.tablet_alias:type_name -> topodata.TabletAlias - 290, // 73: vtctldata.GetSchemaResponse.schema:type_name -> tabletmanagerdata.SchemaDefinition - 3, // 74: vtctldata.GetSchemaMigrationsRequest.status:type_name -> vtctldata.SchemaMigration.Status - 274, // 75: vtctldata.GetSchemaMigrationsRequest.recent:type_name -> vttime.Duration - 1, // 76: vtctldata.GetSchemaMigrationsRequest.order:type_name -> vtctldata.QueryOrdering - 9, // 77: vtctldata.GetSchemaMigrationsResponse.migrations:type_name -> vtctldata.SchemaMigration - 10, // 78: vtctldata.GetShardResponse.shard:type_name -> vtctldata.Shard - 278, // 79: vtctldata.GetShardRoutingRulesResponse.shard_routing_rules:type_name -> vschema.ShardRoutingRules - 247, // 80: vtctldata.GetSrvKeyspaceNamesResponse.names:type_name -> vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry - 249, // 81: vtctldata.GetSrvKeyspacesResponse.srv_keyspaces:type_name -> vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry - 291, // 82: vtctldata.UpdateThrottlerConfigRequest.throttled_app:type_name -> topodata.ThrottledAppRule - 292, // 83: vtctldata.GetSrvVSchemaResponse.srv_v_schema:type_name -> vschema.SrvVSchema - 250, // 84: vtctldata.GetSrvVSchemasResponse.srv_v_schemas:type_name -> vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry - 273, // 85: vtctldata.GetTabletRequest.tablet_alias:type_name -> topodata.TabletAlias - 282, // 86: vtctldata.GetTabletResponse.tablet:type_name -> topodata.Tablet - 273, // 87: vtctldata.GetTabletsRequest.tablet_aliases:type_name -> topodata.TabletAlias - 281, // 88: vtctldata.GetTabletsRequest.tablet_type:type_name -> topodata.TabletType - 282, // 89: vtctldata.GetTabletsResponse.tablets:type_name -> topodata.Tablet - 103, // 90: vtctldata.GetTopologyPathResponse.cell:type_name -> vtctldata.TopologyCell - 273, // 91: vtctldata.GetVersionRequest.tablet_alias:type_name -> topodata.TabletAlias - 280, // 92: vtctldata.GetVSchemaResponse.v_schema:type_name -> vschema.Keyspace - 11, // 93: vtctldata.GetWorkflowsResponse.workflows:type_name -> vtctldata.Workflow - 273, // 94: vtctldata.InitShardPrimaryRequest.primary_elect_tablet_alias:type_name -> topodata.TabletAlias - 274, // 95: vtctldata.InitShardPrimaryRequest.wait_replicas_timeout:type_name -> vttime.Duration - 269, // 96: vtctldata.InitShardPrimaryResponse.events:type_name -> logutil.Event - 251, // 97: vtctldata.LaunchSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.LaunchSchemaMigrationResponse.RowsAffectedByShardEntry - 280, // 98: vtctldata.LookupVindexCreateRequest.vindex:type_name -> vschema.Keyspace - 281, // 99: vtctldata.LookupVindexCreateRequest.tablet_types:type_name -> topodata.TabletType - 270, // 100: vtctldata.LookupVindexCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference - 7, // 101: vtctldata.MaterializeCreateRequest.settings:type_name -> vtctldata.MaterializeSettings - 281, // 102: vtctldata.MigrateCreateRequest.tablet_types:type_name -> topodata.TabletType - 270, // 103: vtctldata.MigrateCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference - 281, // 104: vtctldata.MoveTablesCreateRequest.tablet_types:type_name -> topodata.TabletType - 270, // 105: vtctldata.MoveTablesCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference - 252, // 106: vtctldata.MoveTablesCreateResponse.details:type_name -> vtctldata.MoveTablesCreateResponse.TabletInfo - 273, // 107: vtctldata.PingTabletRequest.tablet_alias:type_name -> topodata.TabletAlias - 273, // 108: vtctldata.PlannedReparentShardRequest.new_primary:type_name -> topodata.TabletAlias - 273, // 109: vtctldata.PlannedReparentShardRequest.avoid_primary:type_name -> topodata.TabletAlias - 274, // 110: vtctldata.PlannedReparentShardRequest.wait_replicas_timeout:type_name -> vttime.Duration - 274, // 111: vtctldata.PlannedReparentShardRequest.tolerable_replication_lag:type_name -> vttime.Duration - 273, // 112: vtctldata.PlannedReparentShardResponse.promoted_primary:type_name -> topodata.TabletAlias - 269, // 113: vtctldata.PlannedReparentShardResponse.events:type_name -> logutil.Event - 273, // 114: vtctldata.RefreshStateRequest.tablet_alias:type_name -> topodata.TabletAlias - 273, // 115: vtctldata.ReloadSchemaRequest.tablet_alias:type_name -> topodata.TabletAlias - 269, // 116: vtctldata.ReloadSchemaKeyspaceResponse.events:type_name -> logutil.Event - 269, // 117: vtctldata.ReloadSchemaShardResponse.events:type_name -> logutil.Event - 273, // 118: vtctldata.ReparentTabletRequest.tablet:type_name -> topodata.TabletAlias - 273, // 119: vtctldata.ReparentTabletResponse.primary:type_name -> topodata.TabletAlias - 281, // 120: vtctldata.ReshardCreateRequest.tablet_types:type_name -> topodata.TabletType - 270, // 121: vtctldata.ReshardCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference - 273, // 122: vtctldata.RestoreFromBackupRequest.tablet_alias:type_name -> topodata.TabletAlias - 272, // 123: vtctldata.RestoreFromBackupRequest.backup_time:type_name -> vttime.Time - 272, // 124: vtctldata.RestoreFromBackupRequest.restore_to_timestamp:type_name -> vttime.Time - 273, // 125: vtctldata.RestoreFromBackupResponse.tablet_alias:type_name -> topodata.TabletAlias - 269, // 126: vtctldata.RestoreFromBackupResponse.event:type_name -> logutil.Event - 253, // 127: vtctldata.RetrySchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.RetrySchemaMigrationResponse.RowsAffectedByShardEntry - 273, // 128: vtctldata.RunHealthCheckRequest.tablet_alias:type_name -> topodata.TabletAlias - 271, // 129: vtctldata.SetKeyspaceDurabilityPolicyResponse.keyspace:type_name -> topodata.Keyspace - 271, // 130: vtctldata.SetKeyspaceShardingInfoResponse.keyspace:type_name -> topodata.Keyspace - 275, // 131: vtctldata.SetShardIsPrimaryServingResponse.shard:type_name -> topodata.Shard - 281, // 132: vtctldata.SetShardTabletControlRequest.tablet_type:type_name -> topodata.TabletType - 275, // 133: vtctldata.SetShardTabletControlResponse.shard:type_name -> topodata.Shard - 273, // 134: vtctldata.SetWritableRequest.tablet_alias:type_name -> topodata.TabletAlias - 273, // 135: vtctldata.ShardReplicationAddRequest.tablet_alias:type_name -> topodata.TabletAlias - 293, // 136: vtctldata.ShardReplicationFixResponse.error:type_name -> topodata.ShardReplicationError - 254, // 137: vtctldata.ShardReplicationPositionsResponse.replication_statuses:type_name -> vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry - 255, // 138: vtctldata.ShardReplicationPositionsResponse.tablet_map:type_name -> vtctldata.ShardReplicationPositionsResponse.TabletMapEntry - 273, // 139: vtctldata.ShardReplicationRemoveRequest.tablet_alias:type_name -> topodata.TabletAlias - 273, // 140: vtctldata.SleepTabletRequest.tablet_alias:type_name -> topodata.TabletAlias - 274, // 141: vtctldata.SleepTabletRequest.duration:type_name -> vttime.Duration - 294, // 142: vtctldata.SourceShardAddRequest.key_range:type_name -> topodata.KeyRange - 275, // 143: vtctldata.SourceShardAddResponse.shard:type_name -> topodata.Shard - 275, // 144: vtctldata.SourceShardDeleteResponse.shard:type_name -> topodata.Shard - 273, // 145: vtctldata.StartReplicationRequest.tablet_alias:type_name -> topodata.TabletAlias - 273, // 146: vtctldata.StopReplicationRequest.tablet_alias:type_name -> topodata.TabletAlias - 273, // 147: vtctldata.TabletExternallyReparentedRequest.tablet:type_name -> topodata.TabletAlias - 273, // 148: vtctldata.TabletExternallyReparentedResponse.new_primary:type_name -> topodata.TabletAlias - 273, // 149: vtctldata.TabletExternallyReparentedResponse.old_primary:type_name -> topodata.TabletAlias - 276, // 150: vtctldata.UpdateCellInfoRequest.cell_info:type_name -> topodata.CellInfo - 276, // 151: vtctldata.UpdateCellInfoResponse.cell_info:type_name -> topodata.CellInfo - 295, // 152: vtctldata.UpdateCellsAliasRequest.cells_alias:type_name -> topodata.CellsAlias - 295, // 153: vtctldata.UpdateCellsAliasResponse.cells_alias:type_name -> topodata.CellsAlias - 256, // 154: vtctldata.ValidateResponse.results_by_keyspace:type_name -> vtctldata.ValidateResponse.ResultsByKeyspaceEntry - 257, // 155: vtctldata.ValidateKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry - 258, // 156: vtctldata.ValidateSchemaKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry - 259, // 157: vtctldata.ValidateVersionKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry - 260, // 158: vtctldata.ValidateVSchemaResponse.results_by_shard:type_name -> vtctldata.ValidateVSchemaResponse.ResultsByShardEntry - 281, // 159: vtctldata.VDiffCreateRequest.tablet_types:type_name -> topodata.TabletType - 270, // 160: vtctldata.VDiffCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference - 274, // 161: vtctldata.VDiffCreateRequest.filtered_replication_wait_time:type_name -> vttime.Duration - 274, // 162: vtctldata.VDiffCreateRequest.wait_update_interval:type_name -> vttime.Duration - 261, // 163: vtctldata.VDiffShowResponse.tablet_responses:type_name -> vtctldata.VDiffShowResponse.TabletResponsesEntry - 262, // 164: vtctldata.WorkflowDeleteResponse.details:type_name -> vtctldata.WorkflowDeleteResponse.TabletInfo - 266, // 165: vtctldata.WorkflowStatusResponse.table_copy_state:type_name -> vtctldata.WorkflowStatusResponse.TableCopyStateEntry - 267, // 166: vtctldata.WorkflowStatusResponse.shard_streams:type_name -> vtctldata.WorkflowStatusResponse.ShardStreamsEntry - 281, // 167: vtctldata.WorkflowSwitchTrafficRequest.tablet_types:type_name -> topodata.TabletType - 274, // 168: vtctldata.WorkflowSwitchTrafficRequest.max_replication_lag_allowed:type_name -> vttime.Duration - 274, // 169: vtctldata.WorkflowSwitchTrafficRequest.timeout:type_name -> vttime.Duration - 296, // 170: vtctldata.WorkflowUpdateRequest.tablet_request:type_name -> tabletmanagerdata.UpdateVReplicationWorkflowRequest - 268, // 171: vtctldata.WorkflowUpdateResponse.details:type_name -> vtctldata.WorkflowUpdateResponse.TabletInfo - 236, // 172: vtctldata.Workflow.ShardStreamsEntry.value:type_name -> vtctldata.Workflow.ShardStream - 237, // 173: vtctldata.Workflow.ShardStream.streams:type_name -> vtctldata.Workflow.Stream - 297, // 174: vtctldata.Workflow.ShardStream.tablet_controls:type_name -> topodata.Shard.TabletControl - 273, // 175: vtctldata.Workflow.Stream.tablet:type_name -> topodata.TabletAlias - 298, // 176: vtctldata.Workflow.Stream.binlog_source:type_name -> binlogdata.BinlogSource - 272, // 177: vtctldata.Workflow.Stream.transaction_timestamp:type_name -> vttime.Time - 272, // 178: vtctldata.Workflow.Stream.time_updated:type_name -> vttime.Time - 238, // 179: vtctldata.Workflow.Stream.copy_states:type_name -> vtctldata.Workflow.Stream.CopyState - 239, // 180: vtctldata.Workflow.Stream.logs:type_name -> vtctldata.Workflow.Stream.Log - 240, // 181: vtctldata.Workflow.Stream.throttler_status:type_name -> vtctldata.Workflow.Stream.ThrottlerStatus - 272, // 182: vtctldata.Workflow.Stream.Log.created_at:type_name -> vttime.Time - 272, // 183: vtctldata.Workflow.Stream.Log.updated_at:type_name -> vttime.Time - 272, // 184: vtctldata.Workflow.Stream.ThrottlerStatus.time_throttled:type_name -> vttime.Time - 10, // 185: vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry.value:type_name -> vtctldata.Shard - 295, // 186: vtctldata.GetCellsAliasesResponse.AliasesEntry.value:type_name -> topodata.CellsAlias - 248, // 187: vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry.value:type_name -> vtctldata.GetSrvKeyspaceNamesResponse.NameList - 299, // 188: vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry.value:type_name -> topodata.SrvKeyspace - 292, // 189: vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry.value:type_name -> vschema.SrvVSchema - 273, // 190: vtctldata.MoveTablesCreateResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias - 300, // 191: vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry.value:type_name -> replicationdata.Status - 282, // 192: vtctldata.ShardReplicationPositionsResponse.TabletMapEntry.value:type_name -> topodata.Tablet - 205, // 193: vtctldata.ValidateResponse.ResultsByKeyspaceEntry.value:type_name -> vtctldata.ValidateKeyspaceResponse - 209, // 194: vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse - 209, // 195: vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse - 209, // 196: vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse - 209, // 197: vtctldata.ValidateVSchemaResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse - 301, // 198: vtctldata.VDiffShowResponse.TabletResponsesEntry.value:type_name -> tabletmanagerdata.VDiffResponse - 273, // 199: vtctldata.WorkflowDeleteResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias - 273, // 200: vtctldata.WorkflowStatusResponse.ShardStreamState.tablet:type_name -> topodata.TabletAlias - 264, // 201: vtctldata.WorkflowStatusResponse.ShardStreams.streams:type_name -> vtctldata.WorkflowStatusResponse.ShardStreamState - 263, // 202: vtctldata.WorkflowStatusResponse.TableCopyStateEntry.value:type_name -> vtctldata.WorkflowStatusResponse.TableCopyState - 265, // 203: vtctldata.WorkflowStatusResponse.ShardStreamsEntry.value:type_name -> vtctldata.WorkflowStatusResponse.ShardStreams - 273, // 204: vtctldata.WorkflowUpdateResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias - 205, // [205:205] is the sub-list for method output_type - 205, // [205:205] is the sub-list for method input_type - 205, // [205:205] is the sub-list for extension type_name - 205, // [205:205] is the sub-list for extension extendee - 0, // [0:205] is the sub-list for field type_name + 276, // 48: vtctldata.DeleteTabletsRequest.tablet_aliases:type_name -> topodata.TabletAlias + 276, // 49: vtctldata.EmergencyReparentShardRequest.new_primary:type_name -> topodata.TabletAlias + 276, // 50: vtctldata.EmergencyReparentShardRequest.ignore_replicas:type_name -> topodata.TabletAlias + 277, // 51: vtctldata.EmergencyReparentShardRequest.wait_replicas_timeout:type_name -> vttime.Duration + 276, // 52: vtctldata.EmergencyReparentShardResponse.promoted_primary:type_name -> topodata.TabletAlias + 272, // 53: vtctldata.EmergencyReparentShardResponse.events:type_name -> logutil.Event + 276, // 54: vtctldata.ExecuteFetchAsAppRequest.tablet_alias:type_name -> topodata.TabletAlias + 287, // 55: vtctldata.ExecuteFetchAsAppResponse.result:type_name -> query.QueryResult + 276, // 56: vtctldata.ExecuteFetchAsDBARequest.tablet_alias:type_name -> topodata.TabletAlias + 287, // 57: vtctldata.ExecuteFetchAsDBAResponse.result:type_name -> query.QueryResult + 276, // 58: vtctldata.ExecuteHookRequest.tablet_alias:type_name -> topodata.TabletAlias + 288, // 59: vtctldata.ExecuteHookRequest.tablet_hook_request:type_name -> tabletmanagerdata.ExecuteHookRequest + 289, // 60: vtctldata.ExecuteHookResponse.hook_result:type_name -> tabletmanagerdata.ExecuteHookResponse + 247, // 61: vtctldata.FindAllShardsInKeyspaceResponse.shards:type_name -> vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry + 248, // 62: vtctldata.ForceCutOverSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.ForceCutOverSchemaMigrationResponse.RowsAffectedByShardEntry + 290, // 63: vtctldata.GetBackupsResponse.backups:type_name -> mysqlctl.BackupInfo + 279, // 64: vtctldata.GetCellInfoResponse.cell_info:type_name -> topodata.CellInfo + 249, // 65: vtctldata.GetCellsAliasesResponse.aliases:type_name -> vtctldata.GetCellsAliasesResponse.AliasesEntry + 276, // 66: vtctldata.GetFullStatusRequest.tablet_alias:type_name -> topodata.TabletAlias + 291, // 67: vtctldata.GetFullStatusResponse.status:type_name -> replicationdata.FullStatus + 8, // 68: vtctldata.GetKeyspacesResponse.keyspaces:type_name -> vtctldata.Keyspace + 8, // 69: vtctldata.GetKeyspaceResponse.keyspace:type_name -> vtctldata.Keyspace + 276, // 70: vtctldata.GetPermissionsRequest.tablet_alias:type_name -> topodata.TabletAlias + 292, // 71: vtctldata.GetPermissionsResponse.permissions:type_name -> tabletmanagerdata.Permissions + 280, // 72: vtctldata.GetRoutingRulesResponse.routing_rules:type_name -> vschema.RoutingRules + 276, // 73: vtctldata.GetSchemaRequest.tablet_alias:type_name -> topodata.TabletAlias + 293, // 74: vtctldata.GetSchemaResponse.schema:type_name -> tabletmanagerdata.SchemaDefinition + 3, // 75: vtctldata.GetSchemaMigrationsRequest.status:type_name -> vtctldata.SchemaMigration.Status + 277, // 76: vtctldata.GetSchemaMigrationsRequest.recent:type_name -> vttime.Duration + 1, // 77: vtctldata.GetSchemaMigrationsRequest.order:type_name -> vtctldata.QueryOrdering + 9, // 78: vtctldata.GetSchemaMigrationsResponse.migrations:type_name -> vtctldata.SchemaMigration + 10, // 79: vtctldata.GetShardResponse.shard:type_name -> vtctldata.Shard + 281, // 80: vtctldata.GetShardRoutingRulesResponse.shard_routing_rules:type_name -> vschema.ShardRoutingRules + 250, // 81: vtctldata.GetSrvKeyspaceNamesResponse.names:type_name -> vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry + 252, // 82: vtctldata.GetSrvKeyspacesResponse.srv_keyspaces:type_name -> vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry + 294, // 83: vtctldata.UpdateThrottlerConfigRequest.throttled_app:type_name -> topodata.ThrottledAppRule + 295, // 84: vtctldata.GetSrvVSchemaResponse.srv_v_schema:type_name -> vschema.SrvVSchema + 253, // 85: vtctldata.GetSrvVSchemasResponse.srv_v_schemas:type_name -> vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry + 276, // 86: vtctldata.GetTabletRequest.tablet_alias:type_name -> topodata.TabletAlias + 285, // 87: vtctldata.GetTabletResponse.tablet:type_name -> topodata.Tablet + 276, // 88: vtctldata.GetTabletsRequest.tablet_aliases:type_name -> topodata.TabletAlias + 284, // 89: vtctldata.GetTabletsRequest.tablet_type:type_name -> topodata.TabletType + 285, // 90: vtctldata.GetTabletsResponse.tablets:type_name -> topodata.Tablet + 105, // 91: vtctldata.GetTopologyPathResponse.cell:type_name -> vtctldata.TopologyCell + 276, // 92: vtctldata.GetVersionRequest.tablet_alias:type_name -> topodata.TabletAlias + 283, // 93: vtctldata.GetVSchemaResponse.v_schema:type_name -> vschema.Keyspace + 11, // 94: vtctldata.GetWorkflowsResponse.workflows:type_name -> vtctldata.Workflow + 276, // 95: vtctldata.InitShardPrimaryRequest.primary_elect_tablet_alias:type_name -> topodata.TabletAlias + 277, // 96: vtctldata.InitShardPrimaryRequest.wait_replicas_timeout:type_name -> vttime.Duration + 272, // 97: vtctldata.InitShardPrimaryResponse.events:type_name -> logutil.Event + 254, // 98: vtctldata.LaunchSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.LaunchSchemaMigrationResponse.RowsAffectedByShardEntry + 283, // 99: vtctldata.LookupVindexCreateRequest.vindex:type_name -> vschema.Keyspace + 284, // 100: vtctldata.LookupVindexCreateRequest.tablet_types:type_name -> topodata.TabletType + 273, // 101: vtctldata.LookupVindexCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference + 7, // 102: vtctldata.MaterializeCreateRequest.settings:type_name -> vtctldata.MaterializeSettings + 284, // 103: vtctldata.MigrateCreateRequest.tablet_types:type_name -> topodata.TabletType + 273, // 104: vtctldata.MigrateCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference + 284, // 105: vtctldata.MoveTablesCreateRequest.tablet_types:type_name -> topodata.TabletType + 273, // 106: vtctldata.MoveTablesCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference + 255, // 107: vtctldata.MoveTablesCreateResponse.details:type_name -> vtctldata.MoveTablesCreateResponse.TabletInfo + 276, // 108: vtctldata.PingTabletRequest.tablet_alias:type_name -> topodata.TabletAlias + 276, // 109: vtctldata.PlannedReparentShardRequest.new_primary:type_name -> topodata.TabletAlias + 276, // 110: vtctldata.PlannedReparentShardRequest.avoid_primary:type_name -> topodata.TabletAlias + 277, // 111: vtctldata.PlannedReparentShardRequest.wait_replicas_timeout:type_name -> vttime.Duration + 277, // 112: vtctldata.PlannedReparentShardRequest.tolerable_replication_lag:type_name -> vttime.Duration + 276, // 113: vtctldata.PlannedReparentShardResponse.promoted_primary:type_name -> topodata.TabletAlias + 272, // 114: vtctldata.PlannedReparentShardResponse.events:type_name -> logutil.Event + 276, // 115: vtctldata.RefreshStateRequest.tablet_alias:type_name -> topodata.TabletAlias + 276, // 116: vtctldata.ReloadSchemaRequest.tablet_alias:type_name -> topodata.TabletAlias + 272, // 117: vtctldata.ReloadSchemaKeyspaceResponse.events:type_name -> logutil.Event + 272, // 118: vtctldata.ReloadSchemaShardResponse.events:type_name -> logutil.Event + 276, // 119: vtctldata.ReparentTabletRequest.tablet:type_name -> topodata.TabletAlias + 276, // 120: vtctldata.ReparentTabletResponse.primary:type_name -> topodata.TabletAlias + 284, // 121: vtctldata.ReshardCreateRequest.tablet_types:type_name -> topodata.TabletType + 273, // 122: vtctldata.ReshardCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference + 276, // 123: vtctldata.RestoreFromBackupRequest.tablet_alias:type_name -> topodata.TabletAlias + 275, // 124: vtctldata.RestoreFromBackupRequest.backup_time:type_name -> vttime.Time + 275, // 125: vtctldata.RestoreFromBackupRequest.restore_to_timestamp:type_name -> vttime.Time + 276, // 126: vtctldata.RestoreFromBackupResponse.tablet_alias:type_name -> topodata.TabletAlias + 272, // 127: vtctldata.RestoreFromBackupResponse.event:type_name -> logutil.Event + 256, // 128: vtctldata.RetrySchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.RetrySchemaMigrationResponse.RowsAffectedByShardEntry + 276, // 129: vtctldata.RunHealthCheckRequest.tablet_alias:type_name -> topodata.TabletAlias + 274, // 130: vtctldata.SetKeyspaceDurabilityPolicyResponse.keyspace:type_name -> topodata.Keyspace + 274, // 131: vtctldata.SetKeyspaceShardingInfoResponse.keyspace:type_name -> topodata.Keyspace + 278, // 132: vtctldata.SetShardIsPrimaryServingResponse.shard:type_name -> topodata.Shard + 284, // 133: vtctldata.SetShardTabletControlRequest.tablet_type:type_name -> topodata.TabletType + 278, // 134: vtctldata.SetShardTabletControlResponse.shard:type_name -> topodata.Shard + 276, // 135: vtctldata.SetWritableRequest.tablet_alias:type_name -> topodata.TabletAlias + 276, // 136: vtctldata.ShardReplicationAddRequest.tablet_alias:type_name -> topodata.TabletAlias + 296, // 137: vtctldata.ShardReplicationFixResponse.error:type_name -> topodata.ShardReplicationError + 257, // 138: vtctldata.ShardReplicationPositionsResponse.replication_statuses:type_name -> vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry + 258, // 139: vtctldata.ShardReplicationPositionsResponse.tablet_map:type_name -> vtctldata.ShardReplicationPositionsResponse.TabletMapEntry + 276, // 140: vtctldata.ShardReplicationRemoveRequest.tablet_alias:type_name -> topodata.TabletAlias + 276, // 141: vtctldata.SleepTabletRequest.tablet_alias:type_name -> topodata.TabletAlias + 277, // 142: vtctldata.SleepTabletRequest.duration:type_name -> vttime.Duration + 297, // 143: vtctldata.SourceShardAddRequest.key_range:type_name -> topodata.KeyRange + 278, // 144: vtctldata.SourceShardAddResponse.shard:type_name -> topodata.Shard + 278, // 145: vtctldata.SourceShardDeleteResponse.shard:type_name -> topodata.Shard + 276, // 146: vtctldata.StartReplicationRequest.tablet_alias:type_name -> topodata.TabletAlias + 276, // 147: vtctldata.StopReplicationRequest.tablet_alias:type_name -> topodata.TabletAlias + 276, // 148: vtctldata.TabletExternallyReparentedRequest.tablet:type_name -> topodata.TabletAlias + 276, // 149: vtctldata.TabletExternallyReparentedResponse.new_primary:type_name -> topodata.TabletAlias + 276, // 150: vtctldata.TabletExternallyReparentedResponse.old_primary:type_name -> topodata.TabletAlias + 279, // 151: vtctldata.UpdateCellInfoRequest.cell_info:type_name -> topodata.CellInfo + 279, // 152: vtctldata.UpdateCellInfoResponse.cell_info:type_name -> topodata.CellInfo + 298, // 153: vtctldata.UpdateCellsAliasRequest.cells_alias:type_name -> topodata.CellsAlias + 298, // 154: vtctldata.UpdateCellsAliasResponse.cells_alias:type_name -> topodata.CellsAlias + 259, // 155: vtctldata.ValidateResponse.results_by_keyspace:type_name -> vtctldata.ValidateResponse.ResultsByKeyspaceEntry + 260, // 156: vtctldata.ValidateKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry + 261, // 157: vtctldata.ValidateSchemaKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry + 262, // 158: vtctldata.ValidateVersionKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry + 263, // 159: vtctldata.ValidateVSchemaResponse.results_by_shard:type_name -> vtctldata.ValidateVSchemaResponse.ResultsByShardEntry + 284, // 160: vtctldata.VDiffCreateRequest.tablet_types:type_name -> topodata.TabletType + 273, // 161: vtctldata.VDiffCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference + 277, // 162: vtctldata.VDiffCreateRequest.filtered_replication_wait_time:type_name -> vttime.Duration + 277, // 163: vtctldata.VDiffCreateRequest.wait_update_interval:type_name -> vttime.Duration + 264, // 164: vtctldata.VDiffShowResponse.tablet_responses:type_name -> vtctldata.VDiffShowResponse.TabletResponsesEntry + 265, // 165: vtctldata.WorkflowDeleteResponse.details:type_name -> vtctldata.WorkflowDeleteResponse.TabletInfo + 269, // 166: vtctldata.WorkflowStatusResponse.table_copy_state:type_name -> vtctldata.WorkflowStatusResponse.TableCopyStateEntry + 270, // 167: vtctldata.WorkflowStatusResponse.shard_streams:type_name -> vtctldata.WorkflowStatusResponse.ShardStreamsEntry + 284, // 168: vtctldata.WorkflowSwitchTrafficRequest.tablet_types:type_name -> topodata.TabletType + 277, // 169: vtctldata.WorkflowSwitchTrafficRequest.max_replication_lag_allowed:type_name -> vttime.Duration + 277, // 170: vtctldata.WorkflowSwitchTrafficRequest.timeout:type_name -> vttime.Duration + 299, // 171: vtctldata.WorkflowUpdateRequest.tablet_request:type_name -> tabletmanagerdata.UpdateVReplicationWorkflowRequest + 271, // 172: vtctldata.WorkflowUpdateResponse.details:type_name -> vtctldata.WorkflowUpdateResponse.TabletInfo + 238, // 173: vtctldata.Workflow.ShardStreamsEntry.value:type_name -> vtctldata.Workflow.ShardStream + 239, // 174: vtctldata.Workflow.ShardStream.streams:type_name -> vtctldata.Workflow.Stream + 300, // 175: vtctldata.Workflow.ShardStream.tablet_controls:type_name -> topodata.Shard.TabletControl + 276, // 176: vtctldata.Workflow.Stream.tablet:type_name -> topodata.TabletAlias + 301, // 177: vtctldata.Workflow.Stream.binlog_source:type_name -> binlogdata.BinlogSource + 275, // 178: vtctldata.Workflow.Stream.transaction_timestamp:type_name -> vttime.Time + 275, // 179: vtctldata.Workflow.Stream.time_updated:type_name -> vttime.Time + 240, // 180: vtctldata.Workflow.Stream.copy_states:type_name -> vtctldata.Workflow.Stream.CopyState + 241, // 181: vtctldata.Workflow.Stream.logs:type_name -> vtctldata.Workflow.Stream.Log + 242, // 182: vtctldata.Workflow.Stream.throttler_status:type_name -> vtctldata.Workflow.Stream.ThrottlerStatus + 275, // 183: vtctldata.Workflow.Stream.Log.created_at:type_name -> vttime.Time + 275, // 184: vtctldata.Workflow.Stream.Log.updated_at:type_name -> vttime.Time + 275, // 185: vtctldata.Workflow.Stream.ThrottlerStatus.time_throttled:type_name -> vttime.Time + 10, // 186: vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry.value:type_name -> vtctldata.Shard + 298, // 187: vtctldata.GetCellsAliasesResponse.AliasesEntry.value:type_name -> topodata.CellsAlias + 251, // 188: vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry.value:type_name -> vtctldata.GetSrvKeyspaceNamesResponse.NameList + 302, // 189: vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry.value:type_name -> topodata.SrvKeyspace + 295, // 190: vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry.value:type_name -> vschema.SrvVSchema + 276, // 191: vtctldata.MoveTablesCreateResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias + 303, // 192: vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry.value:type_name -> replicationdata.Status + 285, // 193: vtctldata.ShardReplicationPositionsResponse.TabletMapEntry.value:type_name -> topodata.Tablet + 207, // 194: vtctldata.ValidateResponse.ResultsByKeyspaceEntry.value:type_name -> vtctldata.ValidateKeyspaceResponse + 211, // 195: vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse + 211, // 196: vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse + 211, // 197: vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse + 211, // 198: vtctldata.ValidateVSchemaResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse + 304, // 199: vtctldata.VDiffShowResponse.TabletResponsesEntry.value:type_name -> tabletmanagerdata.VDiffResponse + 276, // 200: vtctldata.WorkflowDeleteResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias + 276, // 201: vtctldata.WorkflowStatusResponse.ShardStreamState.tablet:type_name -> topodata.TabletAlias + 267, // 202: vtctldata.WorkflowStatusResponse.ShardStreams.streams:type_name -> vtctldata.WorkflowStatusResponse.ShardStreamState + 266, // 203: vtctldata.WorkflowStatusResponse.TableCopyStateEntry.value:type_name -> vtctldata.WorkflowStatusResponse.TableCopyState + 268, // 204: vtctldata.WorkflowStatusResponse.ShardStreamsEntry.value:type_name -> vtctldata.WorkflowStatusResponse.ShardStreams + 276, // 205: vtctldata.WorkflowUpdateResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias + 206, // [206:206] is the sub-list for method output_type + 206, // [206:206] is the sub-list for method input_type + 206, // [206:206] is the sub-list for extension type_name + 206, // [206:206] is the sub-list for extension extendee + 0, // [0:206] is the sub-list for field type_name } func init() { file_vtctldata_proto_init() } @@ -18753,7 +18879,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBackupsRequest); i { + switch v := v.(*ForceCutOverSchemaMigrationRequest); i { case 0: return &v.state case 1: @@ -18765,7 +18891,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBackupsResponse); i { + switch v := v.(*ForceCutOverSchemaMigrationResponse); i { case 0: return &v.state case 1: @@ -18777,7 +18903,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCellInfoRequest); i { + switch v := v.(*GetBackupsRequest); i { case 0: return &v.state case 1: @@ -18789,7 +18915,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCellInfoResponse); i { + switch v := v.(*GetBackupsResponse); i { case 0: return &v.state case 1: @@ -18801,7 +18927,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCellInfoNamesRequest); i { + switch v := v.(*GetCellInfoRequest); i { case 0: return &v.state case 1: @@ -18813,7 +18939,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCellInfoNamesResponse); i { + switch v := v.(*GetCellInfoResponse); i { case 0: return &v.state case 1: @@ -18825,7 +18951,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCellsAliasesRequest); i { + switch v := v.(*GetCellInfoNamesRequest); i { case 0: return &v.state case 1: @@ -18837,7 +18963,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCellsAliasesResponse); i { + switch v := v.(*GetCellInfoNamesResponse); i { case 0: return &v.state case 1: @@ -18849,7 +18975,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetFullStatusRequest); i { + switch v := v.(*GetCellsAliasesRequest); i { case 0: return &v.state case 1: @@ -18861,7 +18987,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetFullStatusResponse); i { + switch v := v.(*GetCellsAliasesResponse); i { case 0: return &v.state case 1: @@ -18873,7 +18999,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetKeyspacesRequest); i { + switch v := v.(*GetFullStatusRequest); i { case 0: return &v.state case 1: @@ -18885,7 +19011,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetKeyspacesResponse); i { + switch v := v.(*GetFullStatusResponse); i { case 0: return &v.state case 1: @@ -18897,7 +19023,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetKeyspaceRequest); i { + switch v := v.(*GetKeyspacesRequest); i { case 0: return &v.state case 1: @@ -18909,7 +19035,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetKeyspaceResponse); i { + switch v := v.(*GetKeyspacesResponse); i { case 0: return &v.state case 1: @@ -18921,7 +19047,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPermissionsRequest); i { + switch v := v.(*GetKeyspaceRequest); i { case 0: return &v.state case 1: @@ -18933,7 +19059,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPermissionsResponse); i { + switch v := v.(*GetKeyspaceResponse); i { case 0: return &v.state case 1: @@ -18945,7 +19071,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoutingRulesRequest); i { + switch v := v.(*GetPermissionsRequest); i { case 0: return &v.state case 1: @@ -18957,7 +19083,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoutingRulesResponse); i { + switch v := v.(*GetPermissionsResponse); i { case 0: return &v.state case 1: @@ -18969,7 +19095,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSchemaRequest); i { + switch v := v.(*GetRoutingRulesRequest); i { case 0: return &v.state case 1: @@ -18981,7 +19107,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSchemaResponse); i { + switch v := v.(*GetRoutingRulesResponse); i { case 0: return &v.state case 1: @@ -18993,7 +19119,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSchemaMigrationsRequest); i { + switch v := v.(*GetSchemaRequest); i { case 0: return &v.state case 1: @@ -19005,7 +19131,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSchemaMigrationsResponse); i { + switch v := v.(*GetSchemaResponse); i { case 0: return &v.state case 1: @@ -19017,7 +19143,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetShardRequest); i { + switch v := v.(*GetSchemaMigrationsRequest); i { case 0: return &v.state case 1: @@ -19029,7 +19155,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetShardResponse); i { + switch v := v.(*GetSchemaMigrationsResponse); i { case 0: return &v.state case 1: @@ -19041,7 +19167,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetShardRoutingRulesRequest); i { + switch v := v.(*GetShardRequest); i { case 0: return &v.state case 1: @@ -19053,7 +19179,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetShardRoutingRulesResponse); i { + switch v := v.(*GetShardResponse); i { case 0: return &v.state case 1: @@ -19065,7 +19191,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSrvKeyspaceNamesRequest); i { + switch v := v.(*GetShardRoutingRulesRequest); i { case 0: return &v.state case 1: @@ -19077,7 +19203,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSrvKeyspaceNamesResponse); i { + switch v := v.(*GetShardRoutingRulesResponse); i { case 0: return &v.state case 1: @@ -19089,7 +19215,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSrvKeyspacesRequest); i { + switch v := v.(*GetSrvKeyspaceNamesRequest); i { case 0: return &v.state case 1: @@ -19101,7 +19227,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSrvKeyspacesResponse); i { + switch v := v.(*GetSrvKeyspaceNamesResponse); i { case 0: return &v.state case 1: @@ -19113,7 +19239,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateThrottlerConfigRequest); i { + switch v := v.(*GetSrvKeyspacesRequest); i { case 0: return &v.state case 1: @@ -19125,7 +19251,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateThrottlerConfigResponse); i { + switch v := v.(*GetSrvKeyspacesResponse); i { case 0: return &v.state case 1: @@ -19137,7 +19263,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSrvVSchemaRequest); i { + switch v := v.(*UpdateThrottlerConfigRequest); i { case 0: return &v.state case 1: @@ -19149,7 +19275,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSrvVSchemaResponse); i { + switch v := v.(*UpdateThrottlerConfigResponse); i { case 0: return &v.state case 1: @@ -19161,7 +19287,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSrvVSchemasRequest); i { + switch v := v.(*GetSrvVSchemaRequest); i { case 0: return &v.state case 1: @@ -19173,7 +19299,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSrvVSchemasResponse); i { + switch v := v.(*GetSrvVSchemaResponse); i { case 0: return &v.state case 1: @@ -19185,7 +19311,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTabletRequest); i { + switch v := v.(*GetSrvVSchemasRequest); i { case 0: return &v.state case 1: @@ -19197,7 +19323,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTabletResponse); i { + switch v := v.(*GetSrvVSchemasResponse); i { case 0: return &v.state case 1: @@ -19209,7 +19335,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTabletsRequest); i { + switch v := v.(*GetTabletRequest); i { case 0: return &v.state case 1: @@ -19221,7 +19347,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTabletsResponse); i { + switch v := v.(*GetTabletResponse); i { case 0: return &v.state case 1: @@ -19233,7 +19359,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTopologyPathRequest); i { + switch v := v.(*GetTabletsRequest); i { case 0: return &v.state case 1: @@ -19245,7 +19371,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTopologyPathResponse); i { + switch v := v.(*GetTabletsResponse); i { case 0: return &v.state case 1: @@ -19257,7 +19383,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TopologyCell); i { + switch v := v.(*GetTopologyPathRequest); i { case 0: return &v.state case 1: @@ -19269,7 +19395,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVSchemaRequest); i { + switch v := v.(*GetTopologyPathResponse); i { case 0: return &v.state case 1: @@ -19281,7 +19407,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVersionRequest); i { + switch v := v.(*TopologyCell); i { case 0: return &v.state case 1: @@ -19293,7 +19419,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVersionResponse); i { + switch v := v.(*GetVSchemaRequest); i { case 0: return &v.state case 1: @@ -19305,7 +19431,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVSchemaResponse); i { + switch v := v.(*GetVersionRequest); i { case 0: return &v.state case 1: @@ -19317,7 +19443,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetWorkflowsRequest); i { + switch v := v.(*GetVersionResponse); i { case 0: return &v.state case 1: @@ -19329,7 +19455,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetWorkflowsResponse); i { + switch v := v.(*GetVSchemaResponse); i { case 0: return &v.state case 1: @@ -19341,7 +19467,7 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InitShardPrimaryRequest); i { + switch v := v.(*GetWorkflowsRequest); i { case 0: return &v.state case 1: @@ -19353,6 +19479,30 @@ func file_vtctldata_proto_init() { } } file_vtctldata_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetWorkflowsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_vtctldata_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InitShardPrimaryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_vtctldata_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InitShardPrimaryResponse); i { case 0: return &v.state @@ -19364,7 +19514,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LaunchSchemaMigrationRequest); i { case 0: return &v.state @@ -19376,7 +19526,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LaunchSchemaMigrationResponse); i { case 0: return &v.state @@ -19388,7 +19538,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LookupVindexCreateRequest); i { case 0: return &v.state @@ -19400,7 +19550,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LookupVindexCreateResponse); i { case 0: return &v.state @@ -19412,7 +19562,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LookupVindexExternalizeRequest); i { case 0: return &v.state @@ -19424,7 +19574,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LookupVindexExternalizeResponse); i { case 0: return &v.state @@ -19436,7 +19586,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MaterializeCreateRequest); i { case 0: return &v.state @@ -19448,7 +19598,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MaterializeCreateResponse); i { case 0: return &v.state @@ -19460,7 +19610,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MigrateCreateRequest); i { case 0: return &v.state @@ -19472,7 +19622,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MigrateCompleteRequest); i { case 0: return &v.state @@ -19484,7 +19634,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MigrateCompleteResponse); i { case 0: return &v.state @@ -19496,7 +19646,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MountRegisterRequest); i { case 0: return &v.state @@ -19508,7 +19658,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MountRegisterResponse); i { case 0: return &v.state @@ -19520,7 +19670,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MountUnregisterRequest); i { case 0: return &v.state @@ -19532,7 +19682,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MountUnregisterResponse); i { case 0: return &v.state @@ -19544,7 +19694,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MountShowRequest); i { case 0: return &v.state @@ -19556,7 +19706,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MountShowResponse); i { case 0: return &v.state @@ -19568,7 +19718,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MountListRequest); i { case 0: return &v.state @@ -19580,7 +19730,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MountListResponse); i { case 0: return &v.state @@ -19592,7 +19742,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MoveTablesCreateRequest); i { case 0: return &v.state @@ -19604,7 +19754,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MoveTablesCreateResponse); i { case 0: return &v.state @@ -19616,7 +19766,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MoveTablesCompleteRequest); i { case 0: return &v.state @@ -19628,7 +19778,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MoveTablesCompleteResponse); i { case 0: return &v.state @@ -19640,7 +19790,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PingTabletRequest); i { case 0: return &v.state @@ -19652,7 +19802,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PingTabletResponse); i { case 0: return &v.state @@ -19664,7 +19814,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlannedReparentShardRequest); i { case 0: return &v.state @@ -19676,7 +19826,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlannedReparentShardResponse); i { case 0: return &v.state @@ -19688,7 +19838,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RebuildKeyspaceGraphRequest); i { case 0: return &v.state @@ -19700,7 +19850,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RebuildKeyspaceGraphResponse); i { case 0: return &v.state @@ -19712,7 +19862,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RebuildVSchemaGraphRequest); i { case 0: return &v.state @@ -19724,7 +19874,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RebuildVSchemaGraphResponse); i { case 0: return &v.state @@ -19736,7 +19886,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RefreshStateRequest); i { case 0: return &v.state @@ -19748,7 +19898,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RefreshStateResponse); i { case 0: return &v.state @@ -19760,7 +19910,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RefreshStateByShardRequest); i { case 0: return &v.state @@ -19772,7 +19922,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RefreshStateByShardResponse); i { case 0: return &v.state @@ -19784,7 +19934,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReloadSchemaRequest); i { case 0: return &v.state @@ -19796,7 +19946,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReloadSchemaResponse); i { case 0: return &v.state @@ -19808,7 +19958,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReloadSchemaKeyspaceRequest); i { case 0: return &v.state @@ -19820,7 +19970,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReloadSchemaKeyspaceResponse); i { case 0: return &v.state @@ -19832,7 +19982,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReloadSchemaShardRequest); i { case 0: return &v.state @@ -19844,7 +19994,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReloadSchemaShardResponse); i { case 0: return &v.state @@ -19856,7 +20006,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveBackupRequest); i { case 0: return &v.state @@ -19868,7 +20018,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveBackupResponse); i { case 0: return &v.state @@ -19880,7 +20030,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveKeyspaceCellRequest); i { case 0: return &v.state @@ -19892,7 +20042,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveKeyspaceCellResponse); i { case 0: return &v.state @@ -19904,7 +20054,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveShardCellRequest); i { case 0: return &v.state @@ -19916,7 +20066,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveShardCellResponse); i { case 0: return &v.state @@ -19928,7 +20078,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReparentTabletRequest); i { case 0: return &v.state @@ -19940,7 +20090,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReparentTabletResponse); i { case 0: return &v.state @@ -19952,7 +20102,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReshardCreateRequest); i { case 0: return &v.state @@ -19964,7 +20114,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreFromBackupRequest); i { case 0: return &v.state @@ -19976,7 +20126,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreFromBackupResponse); i { case 0: return &v.state @@ -19988,7 +20138,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetrySchemaMigrationRequest); i { case 0: return &v.state @@ -20000,7 +20150,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetrySchemaMigrationResponse); i { case 0: return &v.state @@ -20012,7 +20162,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunHealthCheckRequest); i { case 0: return &v.state @@ -20024,7 +20174,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunHealthCheckResponse); i { case 0: return &v.state @@ -20036,7 +20186,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetKeyspaceDurabilityPolicyRequest); i { case 0: return &v.state @@ -20048,7 +20198,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetKeyspaceDurabilityPolicyResponse); i { case 0: return &v.state @@ -20060,7 +20210,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetKeyspaceShardingInfoRequest); i { case 0: return &v.state @@ -20072,7 +20222,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetKeyspaceShardingInfoResponse); i { case 0: return &v.state @@ -20084,7 +20234,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetShardIsPrimaryServingRequest); i { case 0: return &v.state @@ -20096,7 +20246,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetShardIsPrimaryServingResponse); i { case 0: return &v.state @@ -20108,7 +20258,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetShardTabletControlRequest); i { case 0: return &v.state @@ -20120,7 +20270,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetShardTabletControlResponse); i { case 0: return &v.state @@ -20132,7 +20282,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetWritableRequest); i { case 0: return &v.state @@ -20144,7 +20294,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetWritableResponse); i { case 0: return &v.state @@ -20156,7 +20306,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShardReplicationAddRequest); i { case 0: return &v.state @@ -20168,7 +20318,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShardReplicationAddResponse); i { case 0: return &v.state @@ -20180,7 +20330,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShardReplicationFixRequest); i { case 0: return &v.state @@ -20192,7 +20342,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShardReplicationFixResponse); i { case 0: return &v.state @@ -20204,7 +20354,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShardReplicationPositionsRequest); i { case 0: return &v.state @@ -20216,7 +20366,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShardReplicationPositionsResponse); i { case 0: return &v.state @@ -20228,7 +20378,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShardReplicationRemoveRequest); i { case 0: return &v.state @@ -20240,7 +20390,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShardReplicationRemoveResponse); i { case 0: return &v.state @@ -20252,7 +20402,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SleepTabletRequest); i { case 0: return &v.state @@ -20264,7 +20414,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SleepTabletResponse); i { case 0: return &v.state @@ -20276,7 +20426,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SourceShardAddRequest); i { case 0: return &v.state @@ -20288,7 +20438,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SourceShardAddResponse); i { case 0: return &v.state @@ -20300,7 +20450,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SourceShardDeleteRequest); i { case 0: return &v.state @@ -20312,7 +20462,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SourceShardDeleteResponse); i { case 0: return &v.state @@ -20324,7 +20474,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartReplicationRequest); i { case 0: return &v.state @@ -20336,7 +20486,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartReplicationResponse); i { case 0: return &v.state @@ -20348,7 +20498,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StopReplicationRequest); i { case 0: return &v.state @@ -20360,7 +20510,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StopReplicationResponse); i { case 0: return &v.state @@ -20372,7 +20522,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TabletExternallyReparentedRequest); i { case 0: return &v.state @@ -20384,7 +20534,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TabletExternallyReparentedResponse); i { case 0: return &v.state @@ -20396,7 +20546,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateCellInfoRequest); i { case 0: return &v.state @@ -20408,7 +20558,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateCellInfoResponse); i { case 0: return &v.state @@ -20420,7 +20570,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateCellsAliasRequest); i { case 0: return &v.state @@ -20432,7 +20582,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateCellsAliasResponse); i { case 0: return &v.state @@ -20444,7 +20594,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateRequest); i { case 0: return &v.state @@ -20456,7 +20606,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateResponse); i { case 0: return &v.state @@ -20468,7 +20618,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateKeyspaceRequest); i { case 0: return &v.state @@ -20480,7 +20630,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateKeyspaceResponse); i { case 0: return &v.state @@ -20492,7 +20642,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateSchemaKeyspaceRequest); i { case 0: return &v.state @@ -20504,7 +20654,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateSchemaKeyspaceResponse); i { case 0: return &v.state @@ -20516,7 +20666,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateShardRequest); i { case 0: return &v.state @@ -20528,7 +20678,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateShardResponse); i { case 0: return &v.state @@ -20540,7 +20690,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateVersionKeyspaceRequest); i { case 0: return &v.state @@ -20552,7 +20702,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateVersionKeyspaceResponse); i { case 0: return &v.state @@ -20564,7 +20714,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateVersionShardRequest); i { case 0: return &v.state @@ -20576,7 +20726,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateVersionShardResponse); i { case 0: return &v.state @@ -20588,7 +20738,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateVSchemaRequest); i { case 0: return &v.state @@ -20600,7 +20750,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateVSchemaResponse); i { case 0: return &v.state @@ -20612,7 +20762,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VDiffCreateRequest); i { case 0: return &v.state @@ -20624,7 +20774,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VDiffCreateResponse); i { case 0: return &v.state @@ -20636,7 +20786,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VDiffDeleteRequest); i { case 0: return &v.state @@ -20648,7 +20798,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VDiffDeleteResponse); i { case 0: return &v.state @@ -20660,7 +20810,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VDiffResumeRequest); i { case 0: return &v.state @@ -20672,7 +20822,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VDiffResumeResponse); i { case 0: return &v.state @@ -20684,7 +20834,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VDiffShowRequest); i { case 0: return &v.state @@ -20696,7 +20846,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VDiffShowResponse); i { case 0: return &v.state @@ -20708,7 +20858,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VDiffStopRequest); i { case 0: return &v.state @@ -20720,7 +20870,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VDiffStopResponse); i { case 0: return &v.state @@ -20732,7 +20882,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowDeleteRequest); i { case 0: return &v.state @@ -20744,7 +20894,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowDeleteResponse); i { case 0: return &v.state @@ -20756,7 +20906,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowStatusRequest); i { case 0: return &v.state @@ -20768,7 +20918,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowStatusResponse); i { case 0: return &v.state @@ -20780,7 +20930,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowSwitchTrafficRequest); i { case 0: return &v.state @@ -20792,7 +20942,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowSwitchTrafficResponse); i { case 0: return &v.state @@ -20804,7 +20954,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowUpdateRequest); i { case 0: return &v.state @@ -20816,7 +20966,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowUpdateResponse); i { case 0: return &v.state @@ -20828,7 +20978,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Workflow_ReplicationLocation); i { case 0: return &v.state @@ -20840,7 +20990,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Workflow_ShardStream); i { case 0: return &v.state @@ -20852,7 +21002,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Workflow_Stream); i { case 0: return &v.state @@ -20864,7 +21014,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Workflow_Stream_CopyState); i { case 0: return &v.state @@ -20876,7 +21026,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Workflow_Stream_Log); i { case 0: return &v.state @@ -20888,7 +21038,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Workflow_Stream_ThrottlerStatus); i { case 0: return &v.state @@ -20900,7 +21050,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[244].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[247].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSrvKeyspaceNamesResponse_NameList); i { case 0: return &v.state @@ -20912,7 +21062,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[248].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[251].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MoveTablesCreateResponse_TabletInfo); i { case 0: return &v.state @@ -20924,7 +21074,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[258].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[261].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowDeleteResponse_TabletInfo); i { case 0: return &v.state @@ -20936,7 +21086,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[259].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[262].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowStatusResponse_TableCopyState); i { case 0: return &v.state @@ -20948,7 +21098,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[260].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[263].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowStatusResponse_ShardStreamState); i { case 0: return &v.state @@ -20960,7 +21110,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[261].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[264].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowStatusResponse_ShardStreams); i { case 0: return &v.state @@ -20972,7 +21122,7 @@ func file_vtctldata_proto_init() { return nil } } - file_vtctldata_proto_msgTypes[264].Exporter = func(v interface{}, i int) interface{} { + file_vtctldata_proto_msgTypes[267].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkflowUpdateResponse_TabletInfo); i { case 0: return &v.state @@ -20991,7 +21141,7 @@ func file_vtctldata_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_vtctldata_proto_rawDesc, NumEnums: 4, - NumMessages: 265, + NumMessages: 268, NumExtensions: 0, NumServices: 0, }, diff --git a/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go b/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go index 0b59d6f8f5c..e4978808160 100644 --- a/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go +++ b/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go @@ -1458,6 +1458,48 @@ func (m *FindAllShardsInKeyspaceResponse) CloneMessageVT() proto.Message { return m.CloneVT() } +func (m *ForceCutOverSchemaMigrationRequest) CloneVT() *ForceCutOverSchemaMigrationRequest { + if m == nil { + return (*ForceCutOverSchemaMigrationRequest)(nil) + } + r := &ForceCutOverSchemaMigrationRequest{ + Keyspace: m.Keyspace, + Uuid: m.Uuid, + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ForceCutOverSchemaMigrationRequest) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ForceCutOverSchemaMigrationResponse) CloneVT() *ForceCutOverSchemaMigrationResponse { + if m == nil { + return (*ForceCutOverSchemaMigrationResponse)(nil) + } + r := &ForceCutOverSchemaMigrationResponse{} + if rhs := m.RowsAffectedByShard; rhs != nil { + tmpContainer := make(map[string]uint64, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v + } + r.RowsAffectedByShard = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ForceCutOverSchemaMigrationResponse) CloneMessageVT() proto.Message { + return m.CloneVT() +} + func (m *GetBackupsRequest) CloneVT() *GetBackupsRequest { if m == nil { return (*GetBackupsRequest)(nil) @@ -9435,6 +9477,103 @@ func (m *FindAllShardsInKeyspaceResponse) MarshalToSizedBufferVT(dAtA []byte) (i return len(dAtA) - i, nil } +func (m *ForceCutOverSchemaMigrationRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ForceCutOverSchemaMigrationRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ForceCutOverSchemaMigrationRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Uuid) > 0 { + i -= len(m.Uuid) + copy(dAtA[i:], m.Uuid) + i = encodeVarint(dAtA, i, uint64(len(m.Uuid))) + i-- + dAtA[i] = 0x12 + } + if len(m.Keyspace) > 0 { + i -= len(m.Keyspace) + copy(dAtA[i:], m.Keyspace) + i = encodeVarint(dAtA, i, uint64(len(m.Keyspace))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ForceCutOverSchemaMigrationResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ForceCutOverSchemaMigrationResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ForceCutOverSchemaMigrationResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.RowsAffectedByShard) > 0 { + for k := range m.RowsAffectedByShard { + v := m.RowsAffectedByShard[k] + baseI := i + i = encodeVarint(dAtA, i, uint64(v)) + i-- + dAtA[i] = 0x10 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + func (m *GetBackupsRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -20767,6 +20906,42 @@ func (m *FindAllShardsInKeyspaceResponse) SizeVT() (n int) { return n } +func (m *ForceCutOverSchemaMigrationRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Keyspace) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Uuid) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ForceCutOverSchemaMigrationResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.RowsAffectedByShard) > 0 { + for k, v := range m.RowsAffectedByShard { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + sov(uint64(v)) + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } + } + n += len(m.unknownFields) + return n +} + func (m *GetBackupsRequest) SizeVT() (n int) { if m == nil { return 0 @@ -35087,6 +35262,285 @@ func (m *FindAllShardsInKeyspaceResponse) UnmarshalVT(dAtA []byte) error { } return nil } +func (m *ForceCutOverSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ForceCutOverSchemaMigrationRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ForceCutOverSchemaMigrationRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Keyspace", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Keyspace = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Uuid", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Uuid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ForceCutOverSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ForceCutOverSchemaMigrationResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ForceCutOverSchemaMigrationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RowsAffectedByShard", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.RowsAffectedByShard == nil { + m.RowsAffectedByShard = make(map[string]uint64) + } + var mapkey string + var mapvalue uint64 + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLength + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + } else { + iNdEx = entryPreIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.RowsAffectedByShard[mapkey] = mapvalue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/go/vt/proto/vtctlservice/vtctlservice.pb.go b/go/vt/proto/vtctlservice/vtctlservice.pb.go index fc2221d7074..afaee7e0175 100644 --- a/go/vt/proto/vtctlservice/vtctlservice.pb.go +++ b/go/vt/proto/vtctlservice/vtctlservice.pb.go @@ -51,7 +51,7 @@ var file_vtctlservice_proto_rawDesc = []byte{ 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x56, 0x74, 0x63, 0x74, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x32, 0x93, 0x50, 0x0a, 0x06, 0x56, 0x74, 0x63, 0x74, 0x6c, + 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x32, 0x93, 0x51, 0x0a, 0x06, 0x56, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x12, 0x4e, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, @@ -197,6 +197,14 @@ var file_vtctlservice_proto_rawDesc = []byte{ 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x1b, 0x46, 0x6f, 0x72, 0x63, + 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, @@ -726,198 +734,200 @@ var file_vtctlservice_proto_goTypes = []interface{}{ (*vtctldata.ExecuteFetchAsDBARequest)(nil), // 23: vtctldata.ExecuteFetchAsDBARequest (*vtctldata.ExecuteHookRequest)(nil), // 24: vtctldata.ExecuteHookRequest (*vtctldata.FindAllShardsInKeyspaceRequest)(nil), // 25: vtctldata.FindAllShardsInKeyspaceRequest - (*vtctldata.GetBackupsRequest)(nil), // 26: vtctldata.GetBackupsRequest - (*vtctldata.GetCellInfoRequest)(nil), // 27: vtctldata.GetCellInfoRequest - (*vtctldata.GetCellInfoNamesRequest)(nil), // 28: vtctldata.GetCellInfoNamesRequest - (*vtctldata.GetCellsAliasesRequest)(nil), // 29: vtctldata.GetCellsAliasesRequest - (*vtctldata.GetFullStatusRequest)(nil), // 30: vtctldata.GetFullStatusRequest - (*vtctldata.GetKeyspaceRequest)(nil), // 31: vtctldata.GetKeyspaceRequest - (*vtctldata.GetKeyspacesRequest)(nil), // 32: vtctldata.GetKeyspacesRequest - (*vtctldata.GetPermissionsRequest)(nil), // 33: vtctldata.GetPermissionsRequest - (*vtctldata.GetRoutingRulesRequest)(nil), // 34: vtctldata.GetRoutingRulesRequest - (*vtctldata.GetSchemaRequest)(nil), // 35: vtctldata.GetSchemaRequest - (*vtctldata.GetSchemaMigrationsRequest)(nil), // 36: vtctldata.GetSchemaMigrationsRequest - (*vtctldata.GetShardRequest)(nil), // 37: vtctldata.GetShardRequest - (*vtctldata.GetShardRoutingRulesRequest)(nil), // 38: vtctldata.GetShardRoutingRulesRequest - (*vtctldata.GetSrvKeyspaceNamesRequest)(nil), // 39: vtctldata.GetSrvKeyspaceNamesRequest - (*vtctldata.GetSrvKeyspacesRequest)(nil), // 40: vtctldata.GetSrvKeyspacesRequest - (*vtctldata.UpdateThrottlerConfigRequest)(nil), // 41: vtctldata.UpdateThrottlerConfigRequest - (*vtctldata.GetSrvVSchemaRequest)(nil), // 42: vtctldata.GetSrvVSchemaRequest - (*vtctldata.GetSrvVSchemasRequest)(nil), // 43: vtctldata.GetSrvVSchemasRequest - (*vtctldata.GetTabletRequest)(nil), // 44: vtctldata.GetTabletRequest - (*vtctldata.GetTabletsRequest)(nil), // 45: vtctldata.GetTabletsRequest - (*vtctldata.GetTopologyPathRequest)(nil), // 46: vtctldata.GetTopologyPathRequest - (*vtctldata.GetVersionRequest)(nil), // 47: vtctldata.GetVersionRequest - (*vtctldata.GetVSchemaRequest)(nil), // 48: vtctldata.GetVSchemaRequest - (*vtctldata.GetWorkflowsRequest)(nil), // 49: vtctldata.GetWorkflowsRequest - (*vtctldata.InitShardPrimaryRequest)(nil), // 50: vtctldata.InitShardPrimaryRequest - (*vtctldata.LaunchSchemaMigrationRequest)(nil), // 51: vtctldata.LaunchSchemaMigrationRequest - (*vtctldata.LookupVindexCreateRequest)(nil), // 52: vtctldata.LookupVindexCreateRequest - (*vtctldata.LookupVindexExternalizeRequest)(nil), // 53: vtctldata.LookupVindexExternalizeRequest - (*vtctldata.MaterializeCreateRequest)(nil), // 54: vtctldata.MaterializeCreateRequest - (*vtctldata.MigrateCreateRequest)(nil), // 55: vtctldata.MigrateCreateRequest - (*vtctldata.MountRegisterRequest)(nil), // 56: vtctldata.MountRegisterRequest - (*vtctldata.MountUnregisterRequest)(nil), // 57: vtctldata.MountUnregisterRequest - (*vtctldata.MountShowRequest)(nil), // 58: vtctldata.MountShowRequest - (*vtctldata.MountListRequest)(nil), // 59: vtctldata.MountListRequest - (*vtctldata.MoveTablesCreateRequest)(nil), // 60: vtctldata.MoveTablesCreateRequest - (*vtctldata.MoveTablesCompleteRequest)(nil), // 61: vtctldata.MoveTablesCompleteRequest - (*vtctldata.PingTabletRequest)(nil), // 62: vtctldata.PingTabletRequest - (*vtctldata.PlannedReparentShardRequest)(nil), // 63: vtctldata.PlannedReparentShardRequest - (*vtctldata.RebuildKeyspaceGraphRequest)(nil), // 64: vtctldata.RebuildKeyspaceGraphRequest - (*vtctldata.RebuildVSchemaGraphRequest)(nil), // 65: vtctldata.RebuildVSchemaGraphRequest - (*vtctldata.RefreshStateRequest)(nil), // 66: vtctldata.RefreshStateRequest - (*vtctldata.RefreshStateByShardRequest)(nil), // 67: vtctldata.RefreshStateByShardRequest - (*vtctldata.ReloadSchemaRequest)(nil), // 68: vtctldata.ReloadSchemaRequest - (*vtctldata.ReloadSchemaKeyspaceRequest)(nil), // 69: vtctldata.ReloadSchemaKeyspaceRequest - (*vtctldata.ReloadSchemaShardRequest)(nil), // 70: vtctldata.ReloadSchemaShardRequest - (*vtctldata.RemoveBackupRequest)(nil), // 71: vtctldata.RemoveBackupRequest - (*vtctldata.RemoveKeyspaceCellRequest)(nil), // 72: vtctldata.RemoveKeyspaceCellRequest - (*vtctldata.RemoveShardCellRequest)(nil), // 73: vtctldata.RemoveShardCellRequest - (*vtctldata.ReparentTabletRequest)(nil), // 74: vtctldata.ReparentTabletRequest - (*vtctldata.ReshardCreateRequest)(nil), // 75: vtctldata.ReshardCreateRequest - (*vtctldata.RestoreFromBackupRequest)(nil), // 76: vtctldata.RestoreFromBackupRequest - (*vtctldata.RetrySchemaMigrationRequest)(nil), // 77: vtctldata.RetrySchemaMigrationRequest - (*vtctldata.RunHealthCheckRequest)(nil), // 78: vtctldata.RunHealthCheckRequest - (*vtctldata.SetKeyspaceDurabilityPolicyRequest)(nil), // 79: vtctldata.SetKeyspaceDurabilityPolicyRequest - (*vtctldata.SetShardIsPrimaryServingRequest)(nil), // 80: vtctldata.SetShardIsPrimaryServingRequest - (*vtctldata.SetShardTabletControlRequest)(nil), // 81: vtctldata.SetShardTabletControlRequest - (*vtctldata.SetWritableRequest)(nil), // 82: vtctldata.SetWritableRequest - (*vtctldata.ShardReplicationAddRequest)(nil), // 83: vtctldata.ShardReplicationAddRequest - (*vtctldata.ShardReplicationFixRequest)(nil), // 84: vtctldata.ShardReplicationFixRequest - (*vtctldata.ShardReplicationPositionsRequest)(nil), // 85: vtctldata.ShardReplicationPositionsRequest - (*vtctldata.ShardReplicationRemoveRequest)(nil), // 86: vtctldata.ShardReplicationRemoveRequest - (*vtctldata.SleepTabletRequest)(nil), // 87: vtctldata.SleepTabletRequest - (*vtctldata.SourceShardAddRequest)(nil), // 88: vtctldata.SourceShardAddRequest - (*vtctldata.SourceShardDeleteRequest)(nil), // 89: vtctldata.SourceShardDeleteRequest - (*vtctldata.StartReplicationRequest)(nil), // 90: vtctldata.StartReplicationRequest - (*vtctldata.StopReplicationRequest)(nil), // 91: vtctldata.StopReplicationRequest - (*vtctldata.TabletExternallyReparentedRequest)(nil), // 92: vtctldata.TabletExternallyReparentedRequest - (*vtctldata.UpdateCellInfoRequest)(nil), // 93: vtctldata.UpdateCellInfoRequest - (*vtctldata.UpdateCellsAliasRequest)(nil), // 94: vtctldata.UpdateCellsAliasRequest - (*vtctldata.ValidateRequest)(nil), // 95: vtctldata.ValidateRequest - (*vtctldata.ValidateKeyspaceRequest)(nil), // 96: vtctldata.ValidateKeyspaceRequest - (*vtctldata.ValidateSchemaKeyspaceRequest)(nil), // 97: vtctldata.ValidateSchemaKeyspaceRequest - (*vtctldata.ValidateShardRequest)(nil), // 98: vtctldata.ValidateShardRequest - (*vtctldata.ValidateVersionKeyspaceRequest)(nil), // 99: vtctldata.ValidateVersionKeyspaceRequest - (*vtctldata.ValidateVersionShardRequest)(nil), // 100: vtctldata.ValidateVersionShardRequest - (*vtctldata.ValidateVSchemaRequest)(nil), // 101: vtctldata.ValidateVSchemaRequest - (*vtctldata.VDiffCreateRequest)(nil), // 102: vtctldata.VDiffCreateRequest - (*vtctldata.VDiffDeleteRequest)(nil), // 103: vtctldata.VDiffDeleteRequest - (*vtctldata.VDiffResumeRequest)(nil), // 104: vtctldata.VDiffResumeRequest - (*vtctldata.VDiffShowRequest)(nil), // 105: vtctldata.VDiffShowRequest - (*vtctldata.VDiffStopRequest)(nil), // 106: vtctldata.VDiffStopRequest - (*vtctldata.WorkflowDeleteRequest)(nil), // 107: vtctldata.WorkflowDeleteRequest - (*vtctldata.WorkflowStatusRequest)(nil), // 108: vtctldata.WorkflowStatusRequest - (*vtctldata.WorkflowSwitchTrafficRequest)(nil), // 109: vtctldata.WorkflowSwitchTrafficRequest - (*vtctldata.WorkflowUpdateRequest)(nil), // 110: vtctldata.WorkflowUpdateRequest - (*vtctldata.ExecuteVtctlCommandResponse)(nil), // 111: vtctldata.ExecuteVtctlCommandResponse - (*vtctldata.AddCellInfoResponse)(nil), // 112: vtctldata.AddCellInfoResponse - (*vtctldata.AddCellsAliasResponse)(nil), // 113: vtctldata.AddCellsAliasResponse - (*vtctldata.ApplyRoutingRulesResponse)(nil), // 114: vtctldata.ApplyRoutingRulesResponse - (*vtctldata.ApplySchemaResponse)(nil), // 115: vtctldata.ApplySchemaResponse - (*vtctldata.ApplyShardRoutingRulesResponse)(nil), // 116: vtctldata.ApplyShardRoutingRulesResponse - (*vtctldata.ApplyVSchemaResponse)(nil), // 117: vtctldata.ApplyVSchemaResponse - (*vtctldata.BackupResponse)(nil), // 118: vtctldata.BackupResponse - (*vtctldata.CancelSchemaMigrationResponse)(nil), // 119: vtctldata.CancelSchemaMigrationResponse - (*vtctldata.ChangeTabletTypeResponse)(nil), // 120: vtctldata.ChangeTabletTypeResponse - (*vtctldata.CleanupSchemaMigrationResponse)(nil), // 121: vtctldata.CleanupSchemaMigrationResponse - (*vtctldata.CompleteSchemaMigrationResponse)(nil), // 122: vtctldata.CompleteSchemaMigrationResponse - (*vtctldata.CreateKeyspaceResponse)(nil), // 123: vtctldata.CreateKeyspaceResponse - (*vtctldata.CreateShardResponse)(nil), // 124: vtctldata.CreateShardResponse - (*vtctldata.DeleteCellInfoResponse)(nil), // 125: vtctldata.DeleteCellInfoResponse - (*vtctldata.DeleteCellsAliasResponse)(nil), // 126: vtctldata.DeleteCellsAliasResponse - (*vtctldata.DeleteKeyspaceResponse)(nil), // 127: vtctldata.DeleteKeyspaceResponse - (*vtctldata.DeleteShardsResponse)(nil), // 128: vtctldata.DeleteShardsResponse - (*vtctldata.DeleteSrvVSchemaResponse)(nil), // 129: vtctldata.DeleteSrvVSchemaResponse - (*vtctldata.DeleteTabletsResponse)(nil), // 130: vtctldata.DeleteTabletsResponse - (*vtctldata.EmergencyReparentShardResponse)(nil), // 131: vtctldata.EmergencyReparentShardResponse - (*vtctldata.ExecuteFetchAsAppResponse)(nil), // 132: vtctldata.ExecuteFetchAsAppResponse - (*vtctldata.ExecuteFetchAsDBAResponse)(nil), // 133: vtctldata.ExecuteFetchAsDBAResponse - (*vtctldata.ExecuteHookResponse)(nil), // 134: vtctldata.ExecuteHookResponse - (*vtctldata.FindAllShardsInKeyspaceResponse)(nil), // 135: vtctldata.FindAllShardsInKeyspaceResponse - (*vtctldata.GetBackupsResponse)(nil), // 136: vtctldata.GetBackupsResponse - (*vtctldata.GetCellInfoResponse)(nil), // 137: vtctldata.GetCellInfoResponse - (*vtctldata.GetCellInfoNamesResponse)(nil), // 138: vtctldata.GetCellInfoNamesResponse - (*vtctldata.GetCellsAliasesResponse)(nil), // 139: vtctldata.GetCellsAliasesResponse - (*vtctldata.GetFullStatusResponse)(nil), // 140: vtctldata.GetFullStatusResponse - (*vtctldata.GetKeyspaceResponse)(nil), // 141: vtctldata.GetKeyspaceResponse - (*vtctldata.GetKeyspacesResponse)(nil), // 142: vtctldata.GetKeyspacesResponse - (*vtctldata.GetPermissionsResponse)(nil), // 143: vtctldata.GetPermissionsResponse - (*vtctldata.GetRoutingRulesResponse)(nil), // 144: vtctldata.GetRoutingRulesResponse - (*vtctldata.GetSchemaResponse)(nil), // 145: vtctldata.GetSchemaResponse - (*vtctldata.GetSchemaMigrationsResponse)(nil), // 146: vtctldata.GetSchemaMigrationsResponse - (*vtctldata.GetShardResponse)(nil), // 147: vtctldata.GetShardResponse - (*vtctldata.GetShardRoutingRulesResponse)(nil), // 148: vtctldata.GetShardRoutingRulesResponse - (*vtctldata.GetSrvKeyspaceNamesResponse)(nil), // 149: vtctldata.GetSrvKeyspaceNamesResponse - (*vtctldata.GetSrvKeyspacesResponse)(nil), // 150: vtctldata.GetSrvKeyspacesResponse - (*vtctldata.UpdateThrottlerConfigResponse)(nil), // 151: vtctldata.UpdateThrottlerConfigResponse - (*vtctldata.GetSrvVSchemaResponse)(nil), // 152: vtctldata.GetSrvVSchemaResponse - (*vtctldata.GetSrvVSchemasResponse)(nil), // 153: vtctldata.GetSrvVSchemasResponse - (*vtctldata.GetTabletResponse)(nil), // 154: vtctldata.GetTabletResponse - (*vtctldata.GetTabletsResponse)(nil), // 155: vtctldata.GetTabletsResponse - (*vtctldata.GetTopologyPathResponse)(nil), // 156: vtctldata.GetTopologyPathResponse - (*vtctldata.GetVersionResponse)(nil), // 157: vtctldata.GetVersionResponse - (*vtctldata.GetVSchemaResponse)(nil), // 158: vtctldata.GetVSchemaResponse - (*vtctldata.GetWorkflowsResponse)(nil), // 159: vtctldata.GetWorkflowsResponse - (*vtctldata.InitShardPrimaryResponse)(nil), // 160: vtctldata.InitShardPrimaryResponse - (*vtctldata.LaunchSchemaMigrationResponse)(nil), // 161: vtctldata.LaunchSchemaMigrationResponse - (*vtctldata.LookupVindexCreateResponse)(nil), // 162: vtctldata.LookupVindexCreateResponse - (*vtctldata.LookupVindexExternalizeResponse)(nil), // 163: vtctldata.LookupVindexExternalizeResponse - (*vtctldata.MaterializeCreateResponse)(nil), // 164: vtctldata.MaterializeCreateResponse - (*vtctldata.WorkflowStatusResponse)(nil), // 165: vtctldata.WorkflowStatusResponse - (*vtctldata.MountRegisterResponse)(nil), // 166: vtctldata.MountRegisterResponse - (*vtctldata.MountUnregisterResponse)(nil), // 167: vtctldata.MountUnregisterResponse - (*vtctldata.MountShowResponse)(nil), // 168: vtctldata.MountShowResponse - (*vtctldata.MountListResponse)(nil), // 169: vtctldata.MountListResponse - (*vtctldata.MoveTablesCompleteResponse)(nil), // 170: vtctldata.MoveTablesCompleteResponse - (*vtctldata.PingTabletResponse)(nil), // 171: vtctldata.PingTabletResponse - (*vtctldata.PlannedReparentShardResponse)(nil), // 172: vtctldata.PlannedReparentShardResponse - (*vtctldata.RebuildKeyspaceGraphResponse)(nil), // 173: vtctldata.RebuildKeyspaceGraphResponse - (*vtctldata.RebuildVSchemaGraphResponse)(nil), // 174: vtctldata.RebuildVSchemaGraphResponse - (*vtctldata.RefreshStateResponse)(nil), // 175: vtctldata.RefreshStateResponse - (*vtctldata.RefreshStateByShardResponse)(nil), // 176: vtctldata.RefreshStateByShardResponse - (*vtctldata.ReloadSchemaResponse)(nil), // 177: vtctldata.ReloadSchemaResponse - (*vtctldata.ReloadSchemaKeyspaceResponse)(nil), // 178: vtctldata.ReloadSchemaKeyspaceResponse - (*vtctldata.ReloadSchemaShardResponse)(nil), // 179: vtctldata.ReloadSchemaShardResponse - (*vtctldata.RemoveBackupResponse)(nil), // 180: vtctldata.RemoveBackupResponse - (*vtctldata.RemoveKeyspaceCellResponse)(nil), // 181: vtctldata.RemoveKeyspaceCellResponse - (*vtctldata.RemoveShardCellResponse)(nil), // 182: vtctldata.RemoveShardCellResponse - (*vtctldata.ReparentTabletResponse)(nil), // 183: vtctldata.ReparentTabletResponse - (*vtctldata.RestoreFromBackupResponse)(nil), // 184: vtctldata.RestoreFromBackupResponse - (*vtctldata.RetrySchemaMigrationResponse)(nil), // 185: vtctldata.RetrySchemaMigrationResponse - (*vtctldata.RunHealthCheckResponse)(nil), // 186: vtctldata.RunHealthCheckResponse - (*vtctldata.SetKeyspaceDurabilityPolicyResponse)(nil), // 187: vtctldata.SetKeyspaceDurabilityPolicyResponse - (*vtctldata.SetShardIsPrimaryServingResponse)(nil), // 188: vtctldata.SetShardIsPrimaryServingResponse - (*vtctldata.SetShardTabletControlResponse)(nil), // 189: vtctldata.SetShardTabletControlResponse - (*vtctldata.SetWritableResponse)(nil), // 190: vtctldata.SetWritableResponse - (*vtctldata.ShardReplicationAddResponse)(nil), // 191: vtctldata.ShardReplicationAddResponse - (*vtctldata.ShardReplicationFixResponse)(nil), // 192: vtctldata.ShardReplicationFixResponse - (*vtctldata.ShardReplicationPositionsResponse)(nil), // 193: vtctldata.ShardReplicationPositionsResponse - (*vtctldata.ShardReplicationRemoveResponse)(nil), // 194: vtctldata.ShardReplicationRemoveResponse - (*vtctldata.SleepTabletResponse)(nil), // 195: vtctldata.SleepTabletResponse - (*vtctldata.SourceShardAddResponse)(nil), // 196: vtctldata.SourceShardAddResponse - (*vtctldata.SourceShardDeleteResponse)(nil), // 197: vtctldata.SourceShardDeleteResponse - (*vtctldata.StartReplicationResponse)(nil), // 198: vtctldata.StartReplicationResponse - (*vtctldata.StopReplicationResponse)(nil), // 199: vtctldata.StopReplicationResponse - (*vtctldata.TabletExternallyReparentedResponse)(nil), // 200: vtctldata.TabletExternallyReparentedResponse - (*vtctldata.UpdateCellInfoResponse)(nil), // 201: vtctldata.UpdateCellInfoResponse - (*vtctldata.UpdateCellsAliasResponse)(nil), // 202: vtctldata.UpdateCellsAliasResponse - (*vtctldata.ValidateResponse)(nil), // 203: vtctldata.ValidateResponse - (*vtctldata.ValidateKeyspaceResponse)(nil), // 204: vtctldata.ValidateKeyspaceResponse - (*vtctldata.ValidateSchemaKeyspaceResponse)(nil), // 205: vtctldata.ValidateSchemaKeyspaceResponse - (*vtctldata.ValidateShardResponse)(nil), // 206: vtctldata.ValidateShardResponse - (*vtctldata.ValidateVersionKeyspaceResponse)(nil), // 207: vtctldata.ValidateVersionKeyspaceResponse - (*vtctldata.ValidateVersionShardResponse)(nil), // 208: vtctldata.ValidateVersionShardResponse - (*vtctldata.ValidateVSchemaResponse)(nil), // 209: vtctldata.ValidateVSchemaResponse - (*vtctldata.VDiffCreateResponse)(nil), // 210: vtctldata.VDiffCreateResponse - (*vtctldata.VDiffDeleteResponse)(nil), // 211: vtctldata.VDiffDeleteResponse - (*vtctldata.VDiffResumeResponse)(nil), // 212: vtctldata.VDiffResumeResponse - (*vtctldata.VDiffShowResponse)(nil), // 213: vtctldata.VDiffShowResponse - (*vtctldata.VDiffStopResponse)(nil), // 214: vtctldata.VDiffStopResponse - (*vtctldata.WorkflowDeleteResponse)(nil), // 215: vtctldata.WorkflowDeleteResponse - (*vtctldata.WorkflowSwitchTrafficResponse)(nil), // 216: vtctldata.WorkflowSwitchTrafficResponse - (*vtctldata.WorkflowUpdateResponse)(nil), // 217: vtctldata.WorkflowUpdateResponse + (*vtctldata.ForceCutOverSchemaMigrationRequest)(nil), // 26: vtctldata.ForceCutOverSchemaMigrationRequest + (*vtctldata.GetBackupsRequest)(nil), // 27: vtctldata.GetBackupsRequest + (*vtctldata.GetCellInfoRequest)(nil), // 28: vtctldata.GetCellInfoRequest + (*vtctldata.GetCellInfoNamesRequest)(nil), // 29: vtctldata.GetCellInfoNamesRequest + (*vtctldata.GetCellsAliasesRequest)(nil), // 30: vtctldata.GetCellsAliasesRequest + (*vtctldata.GetFullStatusRequest)(nil), // 31: vtctldata.GetFullStatusRequest + (*vtctldata.GetKeyspaceRequest)(nil), // 32: vtctldata.GetKeyspaceRequest + (*vtctldata.GetKeyspacesRequest)(nil), // 33: vtctldata.GetKeyspacesRequest + (*vtctldata.GetPermissionsRequest)(nil), // 34: vtctldata.GetPermissionsRequest + (*vtctldata.GetRoutingRulesRequest)(nil), // 35: vtctldata.GetRoutingRulesRequest + (*vtctldata.GetSchemaRequest)(nil), // 36: vtctldata.GetSchemaRequest + (*vtctldata.GetSchemaMigrationsRequest)(nil), // 37: vtctldata.GetSchemaMigrationsRequest + (*vtctldata.GetShardRequest)(nil), // 38: vtctldata.GetShardRequest + (*vtctldata.GetShardRoutingRulesRequest)(nil), // 39: vtctldata.GetShardRoutingRulesRequest + (*vtctldata.GetSrvKeyspaceNamesRequest)(nil), // 40: vtctldata.GetSrvKeyspaceNamesRequest + (*vtctldata.GetSrvKeyspacesRequest)(nil), // 41: vtctldata.GetSrvKeyspacesRequest + (*vtctldata.UpdateThrottlerConfigRequest)(nil), // 42: vtctldata.UpdateThrottlerConfigRequest + (*vtctldata.GetSrvVSchemaRequest)(nil), // 43: vtctldata.GetSrvVSchemaRequest + (*vtctldata.GetSrvVSchemasRequest)(nil), // 44: vtctldata.GetSrvVSchemasRequest + (*vtctldata.GetTabletRequest)(nil), // 45: vtctldata.GetTabletRequest + (*vtctldata.GetTabletsRequest)(nil), // 46: vtctldata.GetTabletsRequest + (*vtctldata.GetTopologyPathRequest)(nil), // 47: vtctldata.GetTopologyPathRequest + (*vtctldata.GetVersionRequest)(nil), // 48: vtctldata.GetVersionRequest + (*vtctldata.GetVSchemaRequest)(nil), // 49: vtctldata.GetVSchemaRequest + (*vtctldata.GetWorkflowsRequest)(nil), // 50: vtctldata.GetWorkflowsRequest + (*vtctldata.InitShardPrimaryRequest)(nil), // 51: vtctldata.InitShardPrimaryRequest + (*vtctldata.LaunchSchemaMigrationRequest)(nil), // 52: vtctldata.LaunchSchemaMigrationRequest + (*vtctldata.LookupVindexCreateRequest)(nil), // 53: vtctldata.LookupVindexCreateRequest + (*vtctldata.LookupVindexExternalizeRequest)(nil), // 54: vtctldata.LookupVindexExternalizeRequest + (*vtctldata.MaterializeCreateRequest)(nil), // 55: vtctldata.MaterializeCreateRequest + (*vtctldata.MigrateCreateRequest)(nil), // 56: vtctldata.MigrateCreateRequest + (*vtctldata.MountRegisterRequest)(nil), // 57: vtctldata.MountRegisterRequest + (*vtctldata.MountUnregisterRequest)(nil), // 58: vtctldata.MountUnregisterRequest + (*vtctldata.MountShowRequest)(nil), // 59: vtctldata.MountShowRequest + (*vtctldata.MountListRequest)(nil), // 60: vtctldata.MountListRequest + (*vtctldata.MoveTablesCreateRequest)(nil), // 61: vtctldata.MoveTablesCreateRequest + (*vtctldata.MoveTablesCompleteRequest)(nil), // 62: vtctldata.MoveTablesCompleteRequest + (*vtctldata.PingTabletRequest)(nil), // 63: vtctldata.PingTabletRequest + (*vtctldata.PlannedReparentShardRequest)(nil), // 64: vtctldata.PlannedReparentShardRequest + (*vtctldata.RebuildKeyspaceGraphRequest)(nil), // 65: vtctldata.RebuildKeyspaceGraphRequest + (*vtctldata.RebuildVSchemaGraphRequest)(nil), // 66: vtctldata.RebuildVSchemaGraphRequest + (*vtctldata.RefreshStateRequest)(nil), // 67: vtctldata.RefreshStateRequest + (*vtctldata.RefreshStateByShardRequest)(nil), // 68: vtctldata.RefreshStateByShardRequest + (*vtctldata.ReloadSchemaRequest)(nil), // 69: vtctldata.ReloadSchemaRequest + (*vtctldata.ReloadSchemaKeyspaceRequest)(nil), // 70: vtctldata.ReloadSchemaKeyspaceRequest + (*vtctldata.ReloadSchemaShardRequest)(nil), // 71: vtctldata.ReloadSchemaShardRequest + (*vtctldata.RemoveBackupRequest)(nil), // 72: vtctldata.RemoveBackupRequest + (*vtctldata.RemoveKeyspaceCellRequest)(nil), // 73: vtctldata.RemoveKeyspaceCellRequest + (*vtctldata.RemoveShardCellRequest)(nil), // 74: vtctldata.RemoveShardCellRequest + (*vtctldata.ReparentTabletRequest)(nil), // 75: vtctldata.ReparentTabletRequest + (*vtctldata.ReshardCreateRequest)(nil), // 76: vtctldata.ReshardCreateRequest + (*vtctldata.RestoreFromBackupRequest)(nil), // 77: vtctldata.RestoreFromBackupRequest + (*vtctldata.RetrySchemaMigrationRequest)(nil), // 78: vtctldata.RetrySchemaMigrationRequest + (*vtctldata.RunHealthCheckRequest)(nil), // 79: vtctldata.RunHealthCheckRequest + (*vtctldata.SetKeyspaceDurabilityPolicyRequest)(nil), // 80: vtctldata.SetKeyspaceDurabilityPolicyRequest + (*vtctldata.SetShardIsPrimaryServingRequest)(nil), // 81: vtctldata.SetShardIsPrimaryServingRequest + (*vtctldata.SetShardTabletControlRequest)(nil), // 82: vtctldata.SetShardTabletControlRequest + (*vtctldata.SetWritableRequest)(nil), // 83: vtctldata.SetWritableRequest + (*vtctldata.ShardReplicationAddRequest)(nil), // 84: vtctldata.ShardReplicationAddRequest + (*vtctldata.ShardReplicationFixRequest)(nil), // 85: vtctldata.ShardReplicationFixRequest + (*vtctldata.ShardReplicationPositionsRequest)(nil), // 86: vtctldata.ShardReplicationPositionsRequest + (*vtctldata.ShardReplicationRemoveRequest)(nil), // 87: vtctldata.ShardReplicationRemoveRequest + (*vtctldata.SleepTabletRequest)(nil), // 88: vtctldata.SleepTabletRequest + (*vtctldata.SourceShardAddRequest)(nil), // 89: vtctldata.SourceShardAddRequest + (*vtctldata.SourceShardDeleteRequest)(nil), // 90: vtctldata.SourceShardDeleteRequest + (*vtctldata.StartReplicationRequest)(nil), // 91: vtctldata.StartReplicationRequest + (*vtctldata.StopReplicationRequest)(nil), // 92: vtctldata.StopReplicationRequest + (*vtctldata.TabletExternallyReparentedRequest)(nil), // 93: vtctldata.TabletExternallyReparentedRequest + (*vtctldata.UpdateCellInfoRequest)(nil), // 94: vtctldata.UpdateCellInfoRequest + (*vtctldata.UpdateCellsAliasRequest)(nil), // 95: vtctldata.UpdateCellsAliasRequest + (*vtctldata.ValidateRequest)(nil), // 96: vtctldata.ValidateRequest + (*vtctldata.ValidateKeyspaceRequest)(nil), // 97: vtctldata.ValidateKeyspaceRequest + (*vtctldata.ValidateSchemaKeyspaceRequest)(nil), // 98: vtctldata.ValidateSchemaKeyspaceRequest + (*vtctldata.ValidateShardRequest)(nil), // 99: vtctldata.ValidateShardRequest + (*vtctldata.ValidateVersionKeyspaceRequest)(nil), // 100: vtctldata.ValidateVersionKeyspaceRequest + (*vtctldata.ValidateVersionShardRequest)(nil), // 101: vtctldata.ValidateVersionShardRequest + (*vtctldata.ValidateVSchemaRequest)(nil), // 102: vtctldata.ValidateVSchemaRequest + (*vtctldata.VDiffCreateRequest)(nil), // 103: vtctldata.VDiffCreateRequest + (*vtctldata.VDiffDeleteRequest)(nil), // 104: vtctldata.VDiffDeleteRequest + (*vtctldata.VDiffResumeRequest)(nil), // 105: vtctldata.VDiffResumeRequest + (*vtctldata.VDiffShowRequest)(nil), // 106: vtctldata.VDiffShowRequest + (*vtctldata.VDiffStopRequest)(nil), // 107: vtctldata.VDiffStopRequest + (*vtctldata.WorkflowDeleteRequest)(nil), // 108: vtctldata.WorkflowDeleteRequest + (*vtctldata.WorkflowStatusRequest)(nil), // 109: vtctldata.WorkflowStatusRequest + (*vtctldata.WorkflowSwitchTrafficRequest)(nil), // 110: vtctldata.WorkflowSwitchTrafficRequest + (*vtctldata.WorkflowUpdateRequest)(nil), // 111: vtctldata.WorkflowUpdateRequest + (*vtctldata.ExecuteVtctlCommandResponse)(nil), // 112: vtctldata.ExecuteVtctlCommandResponse + (*vtctldata.AddCellInfoResponse)(nil), // 113: vtctldata.AddCellInfoResponse + (*vtctldata.AddCellsAliasResponse)(nil), // 114: vtctldata.AddCellsAliasResponse + (*vtctldata.ApplyRoutingRulesResponse)(nil), // 115: vtctldata.ApplyRoutingRulesResponse + (*vtctldata.ApplySchemaResponse)(nil), // 116: vtctldata.ApplySchemaResponse + (*vtctldata.ApplyShardRoutingRulesResponse)(nil), // 117: vtctldata.ApplyShardRoutingRulesResponse + (*vtctldata.ApplyVSchemaResponse)(nil), // 118: vtctldata.ApplyVSchemaResponse + (*vtctldata.BackupResponse)(nil), // 119: vtctldata.BackupResponse + (*vtctldata.CancelSchemaMigrationResponse)(nil), // 120: vtctldata.CancelSchemaMigrationResponse + (*vtctldata.ChangeTabletTypeResponse)(nil), // 121: vtctldata.ChangeTabletTypeResponse + (*vtctldata.CleanupSchemaMigrationResponse)(nil), // 122: vtctldata.CleanupSchemaMigrationResponse + (*vtctldata.CompleteSchemaMigrationResponse)(nil), // 123: vtctldata.CompleteSchemaMigrationResponse + (*vtctldata.CreateKeyspaceResponse)(nil), // 124: vtctldata.CreateKeyspaceResponse + (*vtctldata.CreateShardResponse)(nil), // 125: vtctldata.CreateShardResponse + (*vtctldata.DeleteCellInfoResponse)(nil), // 126: vtctldata.DeleteCellInfoResponse + (*vtctldata.DeleteCellsAliasResponse)(nil), // 127: vtctldata.DeleteCellsAliasResponse + (*vtctldata.DeleteKeyspaceResponse)(nil), // 128: vtctldata.DeleteKeyspaceResponse + (*vtctldata.DeleteShardsResponse)(nil), // 129: vtctldata.DeleteShardsResponse + (*vtctldata.DeleteSrvVSchemaResponse)(nil), // 130: vtctldata.DeleteSrvVSchemaResponse + (*vtctldata.DeleteTabletsResponse)(nil), // 131: vtctldata.DeleteTabletsResponse + (*vtctldata.EmergencyReparentShardResponse)(nil), // 132: vtctldata.EmergencyReparentShardResponse + (*vtctldata.ExecuteFetchAsAppResponse)(nil), // 133: vtctldata.ExecuteFetchAsAppResponse + (*vtctldata.ExecuteFetchAsDBAResponse)(nil), // 134: vtctldata.ExecuteFetchAsDBAResponse + (*vtctldata.ExecuteHookResponse)(nil), // 135: vtctldata.ExecuteHookResponse + (*vtctldata.FindAllShardsInKeyspaceResponse)(nil), // 136: vtctldata.FindAllShardsInKeyspaceResponse + (*vtctldata.ForceCutOverSchemaMigrationResponse)(nil), // 137: vtctldata.ForceCutOverSchemaMigrationResponse + (*vtctldata.GetBackupsResponse)(nil), // 138: vtctldata.GetBackupsResponse + (*vtctldata.GetCellInfoResponse)(nil), // 139: vtctldata.GetCellInfoResponse + (*vtctldata.GetCellInfoNamesResponse)(nil), // 140: vtctldata.GetCellInfoNamesResponse + (*vtctldata.GetCellsAliasesResponse)(nil), // 141: vtctldata.GetCellsAliasesResponse + (*vtctldata.GetFullStatusResponse)(nil), // 142: vtctldata.GetFullStatusResponse + (*vtctldata.GetKeyspaceResponse)(nil), // 143: vtctldata.GetKeyspaceResponse + (*vtctldata.GetKeyspacesResponse)(nil), // 144: vtctldata.GetKeyspacesResponse + (*vtctldata.GetPermissionsResponse)(nil), // 145: vtctldata.GetPermissionsResponse + (*vtctldata.GetRoutingRulesResponse)(nil), // 146: vtctldata.GetRoutingRulesResponse + (*vtctldata.GetSchemaResponse)(nil), // 147: vtctldata.GetSchemaResponse + (*vtctldata.GetSchemaMigrationsResponse)(nil), // 148: vtctldata.GetSchemaMigrationsResponse + (*vtctldata.GetShardResponse)(nil), // 149: vtctldata.GetShardResponse + (*vtctldata.GetShardRoutingRulesResponse)(nil), // 150: vtctldata.GetShardRoutingRulesResponse + (*vtctldata.GetSrvKeyspaceNamesResponse)(nil), // 151: vtctldata.GetSrvKeyspaceNamesResponse + (*vtctldata.GetSrvKeyspacesResponse)(nil), // 152: vtctldata.GetSrvKeyspacesResponse + (*vtctldata.UpdateThrottlerConfigResponse)(nil), // 153: vtctldata.UpdateThrottlerConfigResponse + (*vtctldata.GetSrvVSchemaResponse)(nil), // 154: vtctldata.GetSrvVSchemaResponse + (*vtctldata.GetSrvVSchemasResponse)(nil), // 155: vtctldata.GetSrvVSchemasResponse + (*vtctldata.GetTabletResponse)(nil), // 156: vtctldata.GetTabletResponse + (*vtctldata.GetTabletsResponse)(nil), // 157: vtctldata.GetTabletsResponse + (*vtctldata.GetTopologyPathResponse)(nil), // 158: vtctldata.GetTopologyPathResponse + (*vtctldata.GetVersionResponse)(nil), // 159: vtctldata.GetVersionResponse + (*vtctldata.GetVSchemaResponse)(nil), // 160: vtctldata.GetVSchemaResponse + (*vtctldata.GetWorkflowsResponse)(nil), // 161: vtctldata.GetWorkflowsResponse + (*vtctldata.InitShardPrimaryResponse)(nil), // 162: vtctldata.InitShardPrimaryResponse + (*vtctldata.LaunchSchemaMigrationResponse)(nil), // 163: vtctldata.LaunchSchemaMigrationResponse + (*vtctldata.LookupVindexCreateResponse)(nil), // 164: vtctldata.LookupVindexCreateResponse + (*vtctldata.LookupVindexExternalizeResponse)(nil), // 165: vtctldata.LookupVindexExternalizeResponse + (*vtctldata.MaterializeCreateResponse)(nil), // 166: vtctldata.MaterializeCreateResponse + (*vtctldata.WorkflowStatusResponse)(nil), // 167: vtctldata.WorkflowStatusResponse + (*vtctldata.MountRegisterResponse)(nil), // 168: vtctldata.MountRegisterResponse + (*vtctldata.MountUnregisterResponse)(nil), // 169: vtctldata.MountUnregisterResponse + (*vtctldata.MountShowResponse)(nil), // 170: vtctldata.MountShowResponse + (*vtctldata.MountListResponse)(nil), // 171: vtctldata.MountListResponse + (*vtctldata.MoveTablesCompleteResponse)(nil), // 172: vtctldata.MoveTablesCompleteResponse + (*vtctldata.PingTabletResponse)(nil), // 173: vtctldata.PingTabletResponse + (*vtctldata.PlannedReparentShardResponse)(nil), // 174: vtctldata.PlannedReparentShardResponse + (*vtctldata.RebuildKeyspaceGraphResponse)(nil), // 175: vtctldata.RebuildKeyspaceGraphResponse + (*vtctldata.RebuildVSchemaGraphResponse)(nil), // 176: vtctldata.RebuildVSchemaGraphResponse + (*vtctldata.RefreshStateResponse)(nil), // 177: vtctldata.RefreshStateResponse + (*vtctldata.RefreshStateByShardResponse)(nil), // 178: vtctldata.RefreshStateByShardResponse + (*vtctldata.ReloadSchemaResponse)(nil), // 179: vtctldata.ReloadSchemaResponse + (*vtctldata.ReloadSchemaKeyspaceResponse)(nil), // 180: vtctldata.ReloadSchemaKeyspaceResponse + (*vtctldata.ReloadSchemaShardResponse)(nil), // 181: vtctldata.ReloadSchemaShardResponse + (*vtctldata.RemoveBackupResponse)(nil), // 182: vtctldata.RemoveBackupResponse + (*vtctldata.RemoveKeyspaceCellResponse)(nil), // 183: vtctldata.RemoveKeyspaceCellResponse + (*vtctldata.RemoveShardCellResponse)(nil), // 184: vtctldata.RemoveShardCellResponse + (*vtctldata.ReparentTabletResponse)(nil), // 185: vtctldata.ReparentTabletResponse + (*vtctldata.RestoreFromBackupResponse)(nil), // 186: vtctldata.RestoreFromBackupResponse + (*vtctldata.RetrySchemaMigrationResponse)(nil), // 187: vtctldata.RetrySchemaMigrationResponse + (*vtctldata.RunHealthCheckResponse)(nil), // 188: vtctldata.RunHealthCheckResponse + (*vtctldata.SetKeyspaceDurabilityPolicyResponse)(nil), // 189: vtctldata.SetKeyspaceDurabilityPolicyResponse + (*vtctldata.SetShardIsPrimaryServingResponse)(nil), // 190: vtctldata.SetShardIsPrimaryServingResponse + (*vtctldata.SetShardTabletControlResponse)(nil), // 191: vtctldata.SetShardTabletControlResponse + (*vtctldata.SetWritableResponse)(nil), // 192: vtctldata.SetWritableResponse + (*vtctldata.ShardReplicationAddResponse)(nil), // 193: vtctldata.ShardReplicationAddResponse + (*vtctldata.ShardReplicationFixResponse)(nil), // 194: vtctldata.ShardReplicationFixResponse + (*vtctldata.ShardReplicationPositionsResponse)(nil), // 195: vtctldata.ShardReplicationPositionsResponse + (*vtctldata.ShardReplicationRemoveResponse)(nil), // 196: vtctldata.ShardReplicationRemoveResponse + (*vtctldata.SleepTabletResponse)(nil), // 197: vtctldata.SleepTabletResponse + (*vtctldata.SourceShardAddResponse)(nil), // 198: vtctldata.SourceShardAddResponse + (*vtctldata.SourceShardDeleteResponse)(nil), // 199: vtctldata.SourceShardDeleteResponse + (*vtctldata.StartReplicationResponse)(nil), // 200: vtctldata.StartReplicationResponse + (*vtctldata.StopReplicationResponse)(nil), // 201: vtctldata.StopReplicationResponse + (*vtctldata.TabletExternallyReparentedResponse)(nil), // 202: vtctldata.TabletExternallyReparentedResponse + (*vtctldata.UpdateCellInfoResponse)(nil), // 203: vtctldata.UpdateCellInfoResponse + (*vtctldata.UpdateCellsAliasResponse)(nil), // 204: vtctldata.UpdateCellsAliasResponse + (*vtctldata.ValidateResponse)(nil), // 205: vtctldata.ValidateResponse + (*vtctldata.ValidateKeyspaceResponse)(nil), // 206: vtctldata.ValidateKeyspaceResponse + (*vtctldata.ValidateSchemaKeyspaceResponse)(nil), // 207: vtctldata.ValidateSchemaKeyspaceResponse + (*vtctldata.ValidateShardResponse)(nil), // 208: vtctldata.ValidateShardResponse + (*vtctldata.ValidateVersionKeyspaceResponse)(nil), // 209: vtctldata.ValidateVersionKeyspaceResponse + (*vtctldata.ValidateVersionShardResponse)(nil), // 210: vtctldata.ValidateVersionShardResponse + (*vtctldata.ValidateVSchemaResponse)(nil), // 211: vtctldata.ValidateVSchemaResponse + (*vtctldata.VDiffCreateResponse)(nil), // 212: vtctldata.VDiffCreateResponse + (*vtctldata.VDiffDeleteResponse)(nil), // 213: vtctldata.VDiffDeleteResponse + (*vtctldata.VDiffResumeResponse)(nil), // 214: vtctldata.VDiffResumeResponse + (*vtctldata.VDiffShowResponse)(nil), // 215: vtctldata.VDiffShowResponse + (*vtctldata.VDiffStopResponse)(nil), // 216: vtctldata.VDiffStopResponse + (*vtctldata.WorkflowDeleteResponse)(nil), // 217: vtctldata.WorkflowDeleteResponse + (*vtctldata.WorkflowSwitchTrafficResponse)(nil), // 218: vtctldata.WorkflowSwitchTrafficResponse + (*vtctldata.WorkflowUpdateResponse)(nil), // 219: vtctldata.WorkflowUpdateResponse } var file_vtctlservice_proto_depIdxs = []int32{ 0, // 0: vtctlservice.Vtctl.ExecuteVtctlCommand:input_type -> vtctldata.ExecuteVtctlCommandRequest @@ -946,204 +956,206 @@ var file_vtctlservice_proto_depIdxs = []int32{ 23, // 23: vtctlservice.Vtctld.ExecuteFetchAsDBA:input_type -> vtctldata.ExecuteFetchAsDBARequest 24, // 24: vtctlservice.Vtctld.ExecuteHook:input_type -> vtctldata.ExecuteHookRequest 25, // 25: vtctlservice.Vtctld.FindAllShardsInKeyspace:input_type -> vtctldata.FindAllShardsInKeyspaceRequest - 26, // 26: vtctlservice.Vtctld.GetBackups:input_type -> vtctldata.GetBackupsRequest - 27, // 27: vtctlservice.Vtctld.GetCellInfo:input_type -> vtctldata.GetCellInfoRequest - 28, // 28: vtctlservice.Vtctld.GetCellInfoNames:input_type -> vtctldata.GetCellInfoNamesRequest - 29, // 29: vtctlservice.Vtctld.GetCellsAliases:input_type -> vtctldata.GetCellsAliasesRequest - 30, // 30: vtctlservice.Vtctld.GetFullStatus:input_type -> vtctldata.GetFullStatusRequest - 31, // 31: vtctlservice.Vtctld.GetKeyspace:input_type -> vtctldata.GetKeyspaceRequest - 32, // 32: vtctlservice.Vtctld.GetKeyspaces:input_type -> vtctldata.GetKeyspacesRequest - 33, // 33: vtctlservice.Vtctld.GetPermissions:input_type -> vtctldata.GetPermissionsRequest - 34, // 34: vtctlservice.Vtctld.GetRoutingRules:input_type -> vtctldata.GetRoutingRulesRequest - 35, // 35: vtctlservice.Vtctld.GetSchema:input_type -> vtctldata.GetSchemaRequest - 36, // 36: vtctlservice.Vtctld.GetSchemaMigrations:input_type -> vtctldata.GetSchemaMigrationsRequest - 37, // 37: vtctlservice.Vtctld.GetShard:input_type -> vtctldata.GetShardRequest - 38, // 38: vtctlservice.Vtctld.GetShardRoutingRules:input_type -> vtctldata.GetShardRoutingRulesRequest - 39, // 39: vtctlservice.Vtctld.GetSrvKeyspaceNames:input_type -> vtctldata.GetSrvKeyspaceNamesRequest - 40, // 40: vtctlservice.Vtctld.GetSrvKeyspaces:input_type -> vtctldata.GetSrvKeyspacesRequest - 41, // 41: vtctlservice.Vtctld.UpdateThrottlerConfig:input_type -> vtctldata.UpdateThrottlerConfigRequest - 42, // 42: vtctlservice.Vtctld.GetSrvVSchema:input_type -> vtctldata.GetSrvVSchemaRequest - 43, // 43: vtctlservice.Vtctld.GetSrvVSchemas:input_type -> vtctldata.GetSrvVSchemasRequest - 44, // 44: vtctlservice.Vtctld.GetTablet:input_type -> vtctldata.GetTabletRequest - 45, // 45: vtctlservice.Vtctld.GetTablets:input_type -> vtctldata.GetTabletsRequest - 46, // 46: vtctlservice.Vtctld.GetTopologyPath:input_type -> vtctldata.GetTopologyPathRequest - 47, // 47: vtctlservice.Vtctld.GetVersion:input_type -> vtctldata.GetVersionRequest - 48, // 48: vtctlservice.Vtctld.GetVSchema:input_type -> vtctldata.GetVSchemaRequest - 49, // 49: vtctlservice.Vtctld.GetWorkflows:input_type -> vtctldata.GetWorkflowsRequest - 50, // 50: vtctlservice.Vtctld.InitShardPrimary:input_type -> vtctldata.InitShardPrimaryRequest - 51, // 51: vtctlservice.Vtctld.LaunchSchemaMigration:input_type -> vtctldata.LaunchSchemaMigrationRequest - 52, // 52: vtctlservice.Vtctld.LookupVindexCreate:input_type -> vtctldata.LookupVindexCreateRequest - 53, // 53: vtctlservice.Vtctld.LookupVindexExternalize:input_type -> vtctldata.LookupVindexExternalizeRequest - 54, // 54: vtctlservice.Vtctld.MaterializeCreate:input_type -> vtctldata.MaterializeCreateRequest - 55, // 55: vtctlservice.Vtctld.MigrateCreate:input_type -> vtctldata.MigrateCreateRequest - 56, // 56: vtctlservice.Vtctld.MountRegister:input_type -> vtctldata.MountRegisterRequest - 57, // 57: vtctlservice.Vtctld.MountUnregister:input_type -> vtctldata.MountUnregisterRequest - 58, // 58: vtctlservice.Vtctld.MountShow:input_type -> vtctldata.MountShowRequest - 59, // 59: vtctlservice.Vtctld.MountList:input_type -> vtctldata.MountListRequest - 60, // 60: vtctlservice.Vtctld.MoveTablesCreate:input_type -> vtctldata.MoveTablesCreateRequest - 61, // 61: vtctlservice.Vtctld.MoveTablesComplete:input_type -> vtctldata.MoveTablesCompleteRequest - 62, // 62: vtctlservice.Vtctld.PingTablet:input_type -> vtctldata.PingTabletRequest - 63, // 63: vtctlservice.Vtctld.PlannedReparentShard:input_type -> vtctldata.PlannedReparentShardRequest - 64, // 64: vtctlservice.Vtctld.RebuildKeyspaceGraph:input_type -> vtctldata.RebuildKeyspaceGraphRequest - 65, // 65: vtctlservice.Vtctld.RebuildVSchemaGraph:input_type -> vtctldata.RebuildVSchemaGraphRequest - 66, // 66: vtctlservice.Vtctld.RefreshState:input_type -> vtctldata.RefreshStateRequest - 67, // 67: vtctlservice.Vtctld.RefreshStateByShard:input_type -> vtctldata.RefreshStateByShardRequest - 68, // 68: vtctlservice.Vtctld.ReloadSchema:input_type -> vtctldata.ReloadSchemaRequest - 69, // 69: vtctlservice.Vtctld.ReloadSchemaKeyspace:input_type -> vtctldata.ReloadSchemaKeyspaceRequest - 70, // 70: vtctlservice.Vtctld.ReloadSchemaShard:input_type -> vtctldata.ReloadSchemaShardRequest - 71, // 71: vtctlservice.Vtctld.RemoveBackup:input_type -> vtctldata.RemoveBackupRequest - 72, // 72: vtctlservice.Vtctld.RemoveKeyspaceCell:input_type -> vtctldata.RemoveKeyspaceCellRequest - 73, // 73: vtctlservice.Vtctld.RemoveShardCell:input_type -> vtctldata.RemoveShardCellRequest - 74, // 74: vtctlservice.Vtctld.ReparentTablet:input_type -> vtctldata.ReparentTabletRequest - 75, // 75: vtctlservice.Vtctld.ReshardCreate:input_type -> vtctldata.ReshardCreateRequest - 76, // 76: vtctlservice.Vtctld.RestoreFromBackup:input_type -> vtctldata.RestoreFromBackupRequest - 77, // 77: vtctlservice.Vtctld.RetrySchemaMigration:input_type -> vtctldata.RetrySchemaMigrationRequest - 78, // 78: vtctlservice.Vtctld.RunHealthCheck:input_type -> vtctldata.RunHealthCheckRequest - 79, // 79: vtctlservice.Vtctld.SetKeyspaceDurabilityPolicy:input_type -> vtctldata.SetKeyspaceDurabilityPolicyRequest - 80, // 80: vtctlservice.Vtctld.SetShardIsPrimaryServing:input_type -> vtctldata.SetShardIsPrimaryServingRequest - 81, // 81: vtctlservice.Vtctld.SetShardTabletControl:input_type -> vtctldata.SetShardTabletControlRequest - 82, // 82: vtctlservice.Vtctld.SetWritable:input_type -> vtctldata.SetWritableRequest - 83, // 83: vtctlservice.Vtctld.ShardReplicationAdd:input_type -> vtctldata.ShardReplicationAddRequest - 84, // 84: vtctlservice.Vtctld.ShardReplicationFix:input_type -> vtctldata.ShardReplicationFixRequest - 85, // 85: vtctlservice.Vtctld.ShardReplicationPositions:input_type -> vtctldata.ShardReplicationPositionsRequest - 86, // 86: vtctlservice.Vtctld.ShardReplicationRemove:input_type -> vtctldata.ShardReplicationRemoveRequest - 87, // 87: vtctlservice.Vtctld.SleepTablet:input_type -> vtctldata.SleepTabletRequest - 88, // 88: vtctlservice.Vtctld.SourceShardAdd:input_type -> vtctldata.SourceShardAddRequest - 89, // 89: vtctlservice.Vtctld.SourceShardDelete:input_type -> vtctldata.SourceShardDeleteRequest - 90, // 90: vtctlservice.Vtctld.StartReplication:input_type -> vtctldata.StartReplicationRequest - 91, // 91: vtctlservice.Vtctld.StopReplication:input_type -> vtctldata.StopReplicationRequest - 92, // 92: vtctlservice.Vtctld.TabletExternallyReparented:input_type -> vtctldata.TabletExternallyReparentedRequest - 93, // 93: vtctlservice.Vtctld.UpdateCellInfo:input_type -> vtctldata.UpdateCellInfoRequest - 94, // 94: vtctlservice.Vtctld.UpdateCellsAlias:input_type -> vtctldata.UpdateCellsAliasRequest - 95, // 95: vtctlservice.Vtctld.Validate:input_type -> vtctldata.ValidateRequest - 96, // 96: vtctlservice.Vtctld.ValidateKeyspace:input_type -> vtctldata.ValidateKeyspaceRequest - 97, // 97: vtctlservice.Vtctld.ValidateSchemaKeyspace:input_type -> vtctldata.ValidateSchemaKeyspaceRequest - 98, // 98: vtctlservice.Vtctld.ValidateShard:input_type -> vtctldata.ValidateShardRequest - 99, // 99: vtctlservice.Vtctld.ValidateVersionKeyspace:input_type -> vtctldata.ValidateVersionKeyspaceRequest - 100, // 100: vtctlservice.Vtctld.ValidateVersionShard:input_type -> vtctldata.ValidateVersionShardRequest - 101, // 101: vtctlservice.Vtctld.ValidateVSchema:input_type -> vtctldata.ValidateVSchemaRequest - 102, // 102: vtctlservice.Vtctld.VDiffCreate:input_type -> vtctldata.VDiffCreateRequest - 103, // 103: vtctlservice.Vtctld.VDiffDelete:input_type -> vtctldata.VDiffDeleteRequest - 104, // 104: vtctlservice.Vtctld.VDiffResume:input_type -> vtctldata.VDiffResumeRequest - 105, // 105: vtctlservice.Vtctld.VDiffShow:input_type -> vtctldata.VDiffShowRequest - 106, // 106: vtctlservice.Vtctld.VDiffStop:input_type -> vtctldata.VDiffStopRequest - 107, // 107: vtctlservice.Vtctld.WorkflowDelete:input_type -> vtctldata.WorkflowDeleteRequest - 108, // 108: vtctlservice.Vtctld.WorkflowStatus:input_type -> vtctldata.WorkflowStatusRequest - 109, // 109: vtctlservice.Vtctld.WorkflowSwitchTraffic:input_type -> vtctldata.WorkflowSwitchTrafficRequest - 110, // 110: vtctlservice.Vtctld.WorkflowUpdate:input_type -> vtctldata.WorkflowUpdateRequest - 111, // 111: vtctlservice.Vtctl.ExecuteVtctlCommand:output_type -> vtctldata.ExecuteVtctlCommandResponse - 112, // 112: vtctlservice.Vtctld.AddCellInfo:output_type -> vtctldata.AddCellInfoResponse - 113, // 113: vtctlservice.Vtctld.AddCellsAlias:output_type -> vtctldata.AddCellsAliasResponse - 114, // 114: vtctlservice.Vtctld.ApplyRoutingRules:output_type -> vtctldata.ApplyRoutingRulesResponse - 115, // 115: vtctlservice.Vtctld.ApplySchema:output_type -> vtctldata.ApplySchemaResponse - 116, // 116: vtctlservice.Vtctld.ApplyShardRoutingRules:output_type -> vtctldata.ApplyShardRoutingRulesResponse - 117, // 117: vtctlservice.Vtctld.ApplyVSchema:output_type -> vtctldata.ApplyVSchemaResponse - 118, // 118: vtctlservice.Vtctld.Backup:output_type -> vtctldata.BackupResponse - 118, // 119: vtctlservice.Vtctld.BackupShard:output_type -> vtctldata.BackupResponse - 119, // 120: vtctlservice.Vtctld.CancelSchemaMigration:output_type -> vtctldata.CancelSchemaMigrationResponse - 120, // 121: vtctlservice.Vtctld.ChangeTabletType:output_type -> vtctldata.ChangeTabletTypeResponse - 121, // 122: vtctlservice.Vtctld.CleanupSchemaMigration:output_type -> vtctldata.CleanupSchemaMigrationResponse - 122, // 123: vtctlservice.Vtctld.CompleteSchemaMigration:output_type -> vtctldata.CompleteSchemaMigrationResponse - 123, // 124: vtctlservice.Vtctld.CreateKeyspace:output_type -> vtctldata.CreateKeyspaceResponse - 124, // 125: vtctlservice.Vtctld.CreateShard:output_type -> vtctldata.CreateShardResponse - 125, // 126: vtctlservice.Vtctld.DeleteCellInfo:output_type -> vtctldata.DeleteCellInfoResponse - 126, // 127: vtctlservice.Vtctld.DeleteCellsAlias:output_type -> vtctldata.DeleteCellsAliasResponse - 127, // 128: vtctlservice.Vtctld.DeleteKeyspace:output_type -> vtctldata.DeleteKeyspaceResponse - 128, // 129: vtctlservice.Vtctld.DeleteShards:output_type -> vtctldata.DeleteShardsResponse - 129, // 130: vtctlservice.Vtctld.DeleteSrvVSchema:output_type -> vtctldata.DeleteSrvVSchemaResponse - 130, // 131: vtctlservice.Vtctld.DeleteTablets:output_type -> vtctldata.DeleteTabletsResponse - 131, // 132: vtctlservice.Vtctld.EmergencyReparentShard:output_type -> vtctldata.EmergencyReparentShardResponse - 132, // 133: vtctlservice.Vtctld.ExecuteFetchAsApp:output_type -> vtctldata.ExecuteFetchAsAppResponse - 133, // 134: vtctlservice.Vtctld.ExecuteFetchAsDBA:output_type -> vtctldata.ExecuteFetchAsDBAResponse - 134, // 135: vtctlservice.Vtctld.ExecuteHook:output_type -> vtctldata.ExecuteHookResponse - 135, // 136: vtctlservice.Vtctld.FindAllShardsInKeyspace:output_type -> vtctldata.FindAllShardsInKeyspaceResponse - 136, // 137: vtctlservice.Vtctld.GetBackups:output_type -> vtctldata.GetBackupsResponse - 137, // 138: vtctlservice.Vtctld.GetCellInfo:output_type -> vtctldata.GetCellInfoResponse - 138, // 139: vtctlservice.Vtctld.GetCellInfoNames:output_type -> vtctldata.GetCellInfoNamesResponse - 139, // 140: vtctlservice.Vtctld.GetCellsAliases:output_type -> vtctldata.GetCellsAliasesResponse - 140, // 141: vtctlservice.Vtctld.GetFullStatus:output_type -> vtctldata.GetFullStatusResponse - 141, // 142: vtctlservice.Vtctld.GetKeyspace:output_type -> vtctldata.GetKeyspaceResponse - 142, // 143: vtctlservice.Vtctld.GetKeyspaces:output_type -> vtctldata.GetKeyspacesResponse - 143, // 144: vtctlservice.Vtctld.GetPermissions:output_type -> vtctldata.GetPermissionsResponse - 144, // 145: vtctlservice.Vtctld.GetRoutingRules:output_type -> vtctldata.GetRoutingRulesResponse - 145, // 146: vtctlservice.Vtctld.GetSchema:output_type -> vtctldata.GetSchemaResponse - 146, // 147: vtctlservice.Vtctld.GetSchemaMigrations:output_type -> vtctldata.GetSchemaMigrationsResponse - 147, // 148: vtctlservice.Vtctld.GetShard:output_type -> vtctldata.GetShardResponse - 148, // 149: vtctlservice.Vtctld.GetShardRoutingRules:output_type -> vtctldata.GetShardRoutingRulesResponse - 149, // 150: vtctlservice.Vtctld.GetSrvKeyspaceNames:output_type -> vtctldata.GetSrvKeyspaceNamesResponse - 150, // 151: vtctlservice.Vtctld.GetSrvKeyspaces:output_type -> vtctldata.GetSrvKeyspacesResponse - 151, // 152: vtctlservice.Vtctld.UpdateThrottlerConfig:output_type -> vtctldata.UpdateThrottlerConfigResponse - 152, // 153: vtctlservice.Vtctld.GetSrvVSchema:output_type -> vtctldata.GetSrvVSchemaResponse - 153, // 154: vtctlservice.Vtctld.GetSrvVSchemas:output_type -> vtctldata.GetSrvVSchemasResponse - 154, // 155: vtctlservice.Vtctld.GetTablet:output_type -> vtctldata.GetTabletResponse - 155, // 156: vtctlservice.Vtctld.GetTablets:output_type -> vtctldata.GetTabletsResponse - 156, // 157: vtctlservice.Vtctld.GetTopologyPath:output_type -> vtctldata.GetTopologyPathResponse - 157, // 158: vtctlservice.Vtctld.GetVersion:output_type -> vtctldata.GetVersionResponse - 158, // 159: vtctlservice.Vtctld.GetVSchema:output_type -> vtctldata.GetVSchemaResponse - 159, // 160: vtctlservice.Vtctld.GetWorkflows:output_type -> vtctldata.GetWorkflowsResponse - 160, // 161: vtctlservice.Vtctld.InitShardPrimary:output_type -> vtctldata.InitShardPrimaryResponse - 161, // 162: vtctlservice.Vtctld.LaunchSchemaMigration:output_type -> vtctldata.LaunchSchemaMigrationResponse - 162, // 163: vtctlservice.Vtctld.LookupVindexCreate:output_type -> vtctldata.LookupVindexCreateResponse - 163, // 164: vtctlservice.Vtctld.LookupVindexExternalize:output_type -> vtctldata.LookupVindexExternalizeResponse - 164, // 165: vtctlservice.Vtctld.MaterializeCreate:output_type -> vtctldata.MaterializeCreateResponse - 165, // 166: vtctlservice.Vtctld.MigrateCreate:output_type -> vtctldata.WorkflowStatusResponse - 166, // 167: vtctlservice.Vtctld.MountRegister:output_type -> vtctldata.MountRegisterResponse - 167, // 168: vtctlservice.Vtctld.MountUnregister:output_type -> vtctldata.MountUnregisterResponse - 168, // 169: vtctlservice.Vtctld.MountShow:output_type -> vtctldata.MountShowResponse - 169, // 170: vtctlservice.Vtctld.MountList:output_type -> vtctldata.MountListResponse - 165, // 171: vtctlservice.Vtctld.MoveTablesCreate:output_type -> vtctldata.WorkflowStatusResponse - 170, // 172: vtctlservice.Vtctld.MoveTablesComplete:output_type -> vtctldata.MoveTablesCompleteResponse - 171, // 173: vtctlservice.Vtctld.PingTablet:output_type -> vtctldata.PingTabletResponse - 172, // 174: vtctlservice.Vtctld.PlannedReparentShard:output_type -> vtctldata.PlannedReparentShardResponse - 173, // 175: vtctlservice.Vtctld.RebuildKeyspaceGraph:output_type -> vtctldata.RebuildKeyspaceGraphResponse - 174, // 176: vtctlservice.Vtctld.RebuildVSchemaGraph:output_type -> vtctldata.RebuildVSchemaGraphResponse - 175, // 177: vtctlservice.Vtctld.RefreshState:output_type -> vtctldata.RefreshStateResponse - 176, // 178: vtctlservice.Vtctld.RefreshStateByShard:output_type -> vtctldata.RefreshStateByShardResponse - 177, // 179: vtctlservice.Vtctld.ReloadSchema:output_type -> vtctldata.ReloadSchemaResponse - 178, // 180: vtctlservice.Vtctld.ReloadSchemaKeyspace:output_type -> vtctldata.ReloadSchemaKeyspaceResponse - 179, // 181: vtctlservice.Vtctld.ReloadSchemaShard:output_type -> vtctldata.ReloadSchemaShardResponse - 180, // 182: vtctlservice.Vtctld.RemoveBackup:output_type -> vtctldata.RemoveBackupResponse - 181, // 183: vtctlservice.Vtctld.RemoveKeyspaceCell:output_type -> vtctldata.RemoveKeyspaceCellResponse - 182, // 184: vtctlservice.Vtctld.RemoveShardCell:output_type -> vtctldata.RemoveShardCellResponse - 183, // 185: vtctlservice.Vtctld.ReparentTablet:output_type -> vtctldata.ReparentTabletResponse - 165, // 186: vtctlservice.Vtctld.ReshardCreate:output_type -> vtctldata.WorkflowStatusResponse - 184, // 187: vtctlservice.Vtctld.RestoreFromBackup:output_type -> vtctldata.RestoreFromBackupResponse - 185, // 188: vtctlservice.Vtctld.RetrySchemaMigration:output_type -> vtctldata.RetrySchemaMigrationResponse - 186, // 189: vtctlservice.Vtctld.RunHealthCheck:output_type -> vtctldata.RunHealthCheckResponse - 187, // 190: vtctlservice.Vtctld.SetKeyspaceDurabilityPolicy:output_type -> vtctldata.SetKeyspaceDurabilityPolicyResponse - 188, // 191: vtctlservice.Vtctld.SetShardIsPrimaryServing:output_type -> vtctldata.SetShardIsPrimaryServingResponse - 189, // 192: vtctlservice.Vtctld.SetShardTabletControl:output_type -> vtctldata.SetShardTabletControlResponse - 190, // 193: vtctlservice.Vtctld.SetWritable:output_type -> vtctldata.SetWritableResponse - 191, // 194: vtctlservice.Vtctld.ShardReplicationAdd:output_type -> vtctldata.ShardReplicationAddResponse - 192, // 195: vtctlservice.Vtctld.ShardReplicationFix:output_type -> vtctldata.ShardReplicationFixResponse - 193, // 196: vtctlservice.Vtctld.ShardReplicationPositions:output_type -> vtctldata.ShardReplicationPositionsResponse - 194, // 197: vtctlservice.Vtctld.ShardReplicationRemove:output_type -> vtctldata.ShardReplicationRemoveResponse - 195, // 198: vtctlservice.Vtctld.SleepTablet:output_type -> vtctldata.SleepTabletResponse - 196, // 199: vtctlservice.Vtctld.SourceShardAdd:output_type -> vtctldata.SourceShardAddResponse - 197, // 200: vtctlservice.Vtctld.SourceShardDelete:output_type -> vtctldata.SourceShardDeleteResponse - 198, // 201: vtctlservice.Vtctld.StartReplication:output_type -> vtctldata.StartReplicationResponse - 199, // 202: vtctlservice.Vtctld.StopReplication:output_type -> vtctldata.StopReplicationResponse - 200, // 203: vtctlservice.Vtctld.TabletExternallyReparented:output_type -> vtctldata.TabletExternallyReparentedResponse - 201, // 204: vtctlservice.Vtctld.UpdateCellInfo:output_type -> vtctldata.UpdateCellInfoResponse - 202, // 205: vtctlservice.Vtctld.UpdateCellsAlias:output_type -> vtctldata.UpdateCellsAliasResponse - 203, // 206: vtctlservice.Vtctld.Validate:output_type -> vtctldata.ValidateResponse - 204, // 207: vtctlservice.Vtctld.ValidateKeyspace:output_type -> vtctldata.ValidateKeyspaceResponse - 205, // 208: vtctlservice.Vtctld.ValidateSchemaKeyspace:output_type -> vtctldata.ValidateSchemaKeyspaceResponse - 206, // 209: vtctlservice.Vtctld.ValidateShard:output_type -> vtctldata.ValidateShardResponse - 207, // 210: vtctlservice.Vtctld.ValidateVersionKeyspace:output_type -> vtctldata.ValidateVersionKeyspaceResponse - 208, // 211: vtctlservice.Vtctld.ValidateVersionShard:output_type -> vtctldata.ValidateVersionShardResponse - 209, // 212: vtctlservice.Vtctld.ValidateVSchema:output_type -> vtctldata.ValidateVSchemaResponse - 210, // 213: vtctlservice.Vtctld.VDiffCreate:output_type -> vtctldata.VDiffCreateResponse - 211, // 214: vtctlservice.Vtctld.VDiffDelete:output_type -> vtctldata.VDiffDeleteResponse - 212, // 215: vtctlservice.Vtctld.VDiffResume:output_type -> vtctldata.VDiffResumeResponse - 213, // 216: vtctlservice.Vtctld.VDiffShow:output_type -> vtctldata.VDiffShowResponse - 214, // 217: vtctlservice.Vtctld.VDiffStop:output_type -> vtctldata.VDiffStopResponse - 215, // 218: vtctlservice.Vtctld.WorkflowDelete:output_type -> vtctldata.WorkflowDeleteResponse - 165, // 219: vtctlservice.Vtctld.WorkflowStatus:output_type -> vtctldata.WorkflowStatusResponse - 216, // 220: vtctlservice.Vtctld.WorkflowSwitchTraffic:output_type -> vtctldata.WorkflowSwitchTrafficResponse - 217, // 221: vtctlservice.Vtctld.WorkflowUpdate:output_type -> vtctldata.WorkflowUpdateResponse - 111, // [111:222] is the sub-list for method output_type - 0, // [0:111] is the sub-list for method input_type + 26, // 26: vtctlservice.Vtctld.ForceCutOverSchemaMigration:input_type -> vtctldata.ForceCutOverSchemaMigrationRequest + 27, // 27: vtctlservice.Vtctld.GetBackups:input_type -> vtctldata.GetBackupsRequest + 28, // 28: vtctlservice.Vtctld.GetCellInfo:input_type -> vtctldata.GetCellInfoRequest + 29, // 29: vtctlservice.Vtctld.GetCellInfoNames:input_type -> vtctldata.GetCellInfoNamesRequest + 30, // 30: vtctlservice.Vtctld.GetCellsAliases:input_type -> vtctldata.GetCellsAliasesRequest + 31, // 31: vtctlservice.Vtctld.GetFullStatus:input_type -> vtctldata.GetFullStatusRequest + 32, // 32: vtctlservice.Vtctld.GetKeyspace:input_type -> vtctldata.GetKeyspaceRequest + 33, // 33: vtctlservice.Vtctld.GetKeyspaces:input_type -> vtctldata.GetKeyspacesRequest + 34, // 34: vtctlservice.Vtctld.GetPermissions:input_type -> vtctldata.GetPermissionsRequest + 35, // 35: vtctlservice.Vtctld.GetRoutingRules:input_type -> vtctldata.GetRoutingRulesRequest + 36, // 36: vtctlservice.Vtctld.GetSchema:input_type -> vtctldata.GetSchemaRequest + 37, // 37: vtctlservice.Vtctld.GetSchemaMigrations:input_type -> vtctldata.GetSchemaMigrationsRequest + 38, // 38: vtctlservice.Vtctld.GetShard:input_type -> vtctldata.GetShardRequest + 39, // 39: vtctlservice.Vtctld.GetShardRoutingRules:input_type -> vtctldata.GetShardRoutingRulesRequest + 40, // 40: vtctlservice.Vtctld.GetSrvKeyspaceNames:input_type -> vtctldata.GetSrvKeyspaceNamesRequest + 41, // 41: vtctlservice.Vtctld.GetSrvKeyspaces:input_type -> vtctldata.GetSrvKeyspacesRequest + 42, // 42: vtctlservice.Vtctld.UpdateThrottlerConfig:input_type -> vtctldata.UpdateThrottlerConfigRequest + 43, // 43: vtctlservice.Vtctld.GetSrvVSchema:input_type -> vtctldata.GetSrvVSchemaRequest + 44, // 44: vtctlservice.Vtctld.GetSrvVSchemas:input_type -> vtctldata.GetSrvVSchemasRequest + 45, // 45: vtctlservice.Vtctld.GetTablet:input_type -> vtctldata.GetTabletRequest + 46, // 46: vtctlservice.Vtctld.GetTablets:input_type -> vtctldata.GetTabletsRequest + 47, // 47: vtctlservice.Vtctld.GetTopologyPath:input_type -> vtctldata.GetTopologyPathRequest + 48, // 48: vtctlservice.Vtctld.GetVersion:input_type -> vtctldata.GetVersionRequest + 49, // 49: vtctlservice.Vtctld.GetVSchema:input_type -> vtctldata.GetVSchemaRequest + 50, // 50: vtctlservice.Vtctld.GetWorkflows:input_type -> vtctldata.GetWorkflowsRequest + 51, // 51: vtctlservice.Vtctld.InitShardPrimary:input_type -> vtctldata.InitShardPrimaryRequest + 52, // 52: vtctlservice.Vtctld.LaunchSchemaMigration:input_type -> vtctldata.LaunchSchemaMigrationRequest + 53, // 53: vtctlservice.Vtctld.LookupVindexCreate:input_type -> vtctldata.LookupVindexCreateRequest + 54, // 54: vtctlservice.Vtctld.LookupVindexExternalize:input_type -> vtctldata.LookupVindexExternalizeRequest + 55, // 55: vtctlservice.Vtctld.MaterializeCreate:input_type -> vtctldata.MaterializeCreateRequest + 56, // 56: vtctlservice.Vtctld.MigrateCreate:input_type -> vtctldata.MigrateCreateRequest + 57, // 57: vtctlservice.Vtctld.MountRegister:input_type -> vtctldata.MountRegisterRequest + 58, // 58: vtctlservice.Vtctld.MountUnregister:input_type -> vtctldata.MountUnregisterRequest + 59, // 59: vtctlservice.Vtctld.MountShow:input_type -> vtctldata.MountShowRequest + 60, // 60: vtctlservice.Vtctld.MountList:input_type -> vtctldata.MountListRequest + 61, // 61: vtctlservice.Vtctld.MoveTablesCreate:input_type -> vtctldata.MoveTablesCreateRequest + 62, // 62: vtctlservice.Vtctld.MoveTablesComplete:input_type -> vtctldata.MoveTablesCompleteRequest + 63, // 63: vtctlservice.Vtctld.PingTablet:input_type -> vtctldata.PingTabletRequest + 64, // 64: vtctlservice.Vtctld.PlannedReparentShard:input_type -> vtctldata.PlannedReparentShardRequest + 65, // 65: vtctlservice.Vtctld.RebuildKeyspaceGraph:input_type -> vtctldata.RebuildKeyspaceGraphRequest + 66, // 66: vtctlservice.Vtctld.RebuildVSchemaGraph:input_type -> vtctldata.RebuildVSchemaGraphRequest + 67, // 67: vtctlservice.Vtctld.RefreshState:input_type -> vtctldata.RefreshStateRequest + 68, // 68: vtctlservice.Vtctld.RefreshStateByShard:input_type -> vtctldata.RefreshStateByShardRequest + 69, // 69: vtctlservice.Vtctld.ReloadSchema:input_type -> vtctldata.ReloadSchemaRequest + 70, // 70: vtctlservice.Vtctld.ReloadSchemaKeyspace:input_type -> vtctldata.ReloadSchemaKeyspaceRequest + 71, // 71: vtctlservice.Vtctld.ReloadSchemaShard:input_type -> vtctldata.ReloadSchemaShardRequest + 72, // 72: vtctlservice.Vtctld.RemoveBackup:input_type -> vtctldata.RemoveBackupRequest + 73, // 73: vtctlservice.Vtctld.RemoveKeyspaceCell:input_type -> vtctldata.RemoveKeyspaceCellRequest + 74, // 74: vtctlservice.Vtctld.RemoveShardCell:input_type -> vtctldata.RemoveShardCellRequest + 75, // 75: vtctlservice.Vtctld.ReparentTablet:input_type -> vtctldata.ReparentTabletRequest + 76, // 76: vtctlservice.Vtctld.ReshardCreate:input_type -> vtctldata.ReshardCreateRequest + 77, // 77: vtctlservice.Vtctld.RestoreFromBackup:input_type -> vtctldata.RestoreFromBackupRequest + 78, // 78: vtctlservice.Vtctld.RetrySchemaMigration:input_type -> vtctldata.RetrySchemaMigrationRequest + 79, // 79: vtctlservice.Vtctld.RunHealthCheck:input_type -> vtctldata.RunHealthCheckRequest + 80, // 80: vtctlservice.Vtctld.SetKeyspaceDurabilityPolicy:input_type -> vtctldata.SetKeyspaceDurabilityPolicyRequest + 81, // 81: vtctlservice.Vtctld.SetShardIsPrimaryServing:input_type -> vtctldata.SetShardIsPrimaryServingRequest + 82, // 82: vtctlservice.Vtctld.SetShardTabletControl:input_type -> vtctldata.SetShardTabletControlRequest + 83, // 83: vtctlservice.Vtctld.SetWritable:input_type -> vtctldata.SetWritableRequest + 84, // 84: vtctlservice.Vtctld.ShardReplicationAdd:input_type -> vtctldata.ShardReplicationAddRequest + 85, // 85: vtctlservice.Vtctld.ShardReplicationFix:input_type -> vtctldata.ShardReplicationFixRequest + 86, // 86: vtctlservice.Vtctld.ShardReplicationPositions:input_type -> vtctldata.ShardReplicationPositionsRequest + 87, // 87: vtctlservice.Vtctld.ShardReplicationRemove:input_type -> vtctldata.ShardReplicationRemoveRequest + 88, // 88: vtctlservice.Vtctld.SleepTablet:input_type -> vtctldata.SleepTabletRequest + 89, // 89: vtctlservice.Vtctld.SourceShardAdd:input_type -> vtctldata.SourceShardAddRequest + 90, // 90: vtctlservice.Vtctld.SourceShardDelete:input_type -> vtctldata.SourceShardDeleteRequest + 91, // 91: vtctlservice.Vtctld.StartReplication:input_type -> vtctldata.StartReplicationRequest + 92, // 92: vtctlservice.Vtctld.StopReplication:input_type -> vtctldata.StopReplicationRequest + 93, // 93: vtctlservice.Vtctld.TabletExternallyReparented:input_type -> vtctldata.TabletExternallyReparentedRequest + 94, // 94: vtctlservice.Vtctld.UpdateCellInfo:input_type -> vtctldata.UpdateCellInfoRequest + 95, // 95: vtctlservice.Vtctld.UpdateCellsAlias:input_type -> vtctldata.UpdateCellsAliasRequest + 96, // 96: vtctlservice.Vtctld.Validate:input_type -> vtctldata.ValidateRequest + 97, // 97: vtctlservice.Vtctld.ValidateKeyspace:input_type -> vtctldata.ValidateKeyspaceRequest + 98, // 98: vtctlservice.Vtctld.ValidateSchemaKeyspace:input_type -> vtctldata.ValidateSchemaKeyspaceRequest + 99, // 99: vtctlservice.Vtctld.ValidateShard:input_type -> vtctldata.ValidateShardRequest + 100, // 100: vtctlservice.Vtctld.ValidateVersionKeyspace:input_type -> vtctldata.ValidateVersionKeyspaceRequest + 101, // 101: vtctlservice.Vtctld.ValidateVersionShard:input_type -> vtctldata.ValidateVersionShardRequest + 102, // 102: vtctlservice.Vtctld.ValidateVSchema:input_type -> vtctldata.ValidateVSchemaRequest + 103, // 103: vtctlservice.Vtctld.VDiffCreate:input_type -> vtctldata.VDiffCreateRequest + 104, // 104: vtctlservice.Vtctld.VDiffDelete:input_type -> vtctldata.VDiffDeleteRequest + 105, // 105: vtctlservice.Vtctld.VDiffResume:input_type -> vtctldata.VDiffResumeRequest + 106, // 106: vtctlservice.Vtctld.VDiffShow:input_type -> vtctldata.VDiffShowRequest + 107, // 107: vtctlservice.Vtctld.VDiffStop:input_type -> vtctldata.VDiffStopRequest + 108, // 108: vtctlservice.Vtctld.WorkflowDelete:input_type -> vtctldata.WorkflowDeleteRequest + 109, // 109: vtctlservice.Vtctld.WorkflowStatus:input_type -> vtctldata.WorkflowStatusRequest + 110, // 110: vtctlservice.Vtctld.WorkflowSwitchTraffic:input_type -> vtctldata.WorkflowSwitchTrafficRequest + 111, // 111: vtctlservice.Vtctld.WorkflowUpdate:input_type -> vtctldata.WorkflowUpdateRequest + 112, // 112: vtctlservice.Vtctl.ExecuteVtctlCommand:output_type -> vtctldata.ExecuteVtctlCommandResponse + 113, // 113: vtctlservice.Vtctld.AddCellInfo:output_type -> vtctldata.AddCellInfoResponse + 114, // 114: vtctlservice.Vtctld.AddCellsAlias:output_type -> vtctldata.AddCellsAliasResponse + 115, // 115: vtctlservice.Vtctld.ApplyRoutingRules:output_type -> vtctldata.ApplyRoutingRulesResponse + 116, // 116: vtctlservice.Vtctld.ApplySchema:output_type -> vtctldata.ApplySchemaResponse + 117, // 117: vtctlservice.Vtctld.ApplyShardRoutingRules:output_type -> vtctldata.ApplyShardRoutingRulesResponse + 118, // 118: vtctlservice.Vtctld.ApplyVSchema:output_type -> vtctldata.ApplyVSchemaResponse + 119, // 119: vtctlservice.Vtctld.Backup:output_type -> vtctldata.BackupResponse + 119, // 120: vtctlservice.Vtctld.BackupShard:output_type -> vtctldata.BackupResponse + 120, // 121: vtctlservice.Vtctld.CancelSchemaMigration:output_type -> vtctldata.CancelSchemaMigrationResponse + 121, // 122: vtctlservice.Vtctld.ChangeTabletType:output_type -> vtctldata.ChangeTabletTypeResponse + 122, // 123: vtctlservice.Vtctld.CleanupSchemaMigration:output_type -> vtctldata.CleanupSchemaMigrationResponse + 123, // 124: vtctlservice.Vtctld.CompleteSchemaMigration:output_type -> vtctldata.CompleteSchemaMigrationResponse + 124, // 125: vtctlservice.Vtctld.CreateKeyspace:output_type -> vtctldata.CreateKeyspaceResponse + 125, // 126: vtctlservice.Vtctld.CreateShard:output_type -> vtctldata.CreateShardResponse + 126, // 127: vtctlservice.Vtctld.DeleteCellInfo:output_type -> vtctldata.DeleteCellInfoResponse + 127, // 128: vtctlservice.Vtctld.DeleteCellsAlias:output_type -> vtctldata.DeleteCellsAliasResponse + 128, // 129: vtctlservice.Vtctld.DeleteKeyspace:output_type -> vtctldata.DeleteKeyspaceResponse + 129, // 130: vtctlservice.Vtctld.DeleteShards:output_type -> vtctldata.DeleteShardsResponse + 130, // 131: vtctlservice.Vtctld.DeleteSrvVSchema:output_type -> vtctldata.DeleteSrvVSchemaResponse + 131, // 132: vtctlservice.Vtctld.DeleteTablets:output_type -> vtctldata.DeleteTabletsResponse + 132, // 133: vtctlservice.Vtctld.EmergencyReparentShard:output_type -> vtctldata.EmergencyReparentShardResponse + 133, // 134: vtctlservice.Vtctld.ExecuteFetchAsApp:output_type -> vtctldata.ExecuteFetchAsAppResponse + 134, // 135: vtctlservice.Vtctld.ExecuteFetchAsDBA:output_type -> vtctldata.ExecuteFetchAsDBAResponse + 135, // 136: vtctlservice.Vtctld.ExecuteHook:output_type -> vtctldata.ExecuteHookResponse + 136, // 137: vtctlservice.Vtctld.FindAllShardsInKeyspace:output_type -> vtctldata.FindAllShardsInKeyspaceResponse + 137, // 138: vtctlservice.Vtctld.ForceCutOverSchemaMigration:output_type -> vtctldata.ForceCutOverSchemaMigrationResponse + 138, // 139: vtctlservice.Vtctld.GetBackups:output_type -> vtctldata.GetBackupsResponse + 139, // 140: vtctlservice.Vtctld.GetCellInfo:output_type -> vtctldata.GetCellInfoResponse + 140, // 141: vtctlservice.Vtctld.GetCellInfoNames:output_type -> vtctldata.GetCellInfoNamesResponse + 141, // 142: vtctlservice.Vtctld.GetCellsAliases:output_type -> vtctldata.GetCellsAliasesResponse + 142, // 143: vtctlservice.Vtctld.GetFullStatus:output_type -> vtctldata.GetFullStatusResponse + 143, // 144: vtctlservice.Vtctld.GetKeyspace:output_type -> vtctldata.GetKeyspaceResponse + 144, // 145: vtctlservice.Vtctld.GetKeyspaces:output_type -> vtctldata.GetKeyspacesResponse + 145, // 146: vtctlservice.Vtctld.GetPermissions:output_type -> vtctldata.GetPermissionsResponse + 146, // 147: vtctlservice.Vtctld.GetRoutingRules:output_type -> vtctldata.GetRoutingRulesResponse + 147, // 148: vtctlservice.Vtctld.GetSchema:output_type -> vtctldata.GetSchemaResponse + 148, // 149: vtctlservice.Vtctld.GetSchemaMigrations:output_type -> vtctldata.GetSchemaMigrationsResponse + 149, // 150: vtctlservice.Vtctld.GetShard:output_type -> vtctldata.GetShardResponse + 150, // 151: vtctlservice.Vtctld.GetShardRoutingRules:output_type -> vtctldata.GetShardRoutingRulesResponse + 151, // 152: vtctlservice.Vtctld.GetSrvKeyspaceNames:output_type -> vtctldata.GetSrvKeyspaceNamesResponse + 152, // 153: vtctlservice.Vtctld.GetSrvKeyspaces:output_type -> vtctldata.GetSrvKeyspacesResponse + 153, // 154: vtctlservice.Vtctld.UpdateThrottlerConfig:output_type -> vtctldata.UpdateThrottlerConfigResponse + 154, // 155: vtctlservice.Vtctld.GetSrvVSchema:output_type -> vtctldata.GetSrvVSchemaResponse + 155, // 156: vtctlservice.Vtctld.GetSrvVSchemas:output_type -> vtctldata.GetSrvVSchemasResponse + 156, // 157: vtctlservice.Vtctld.GetTablet:output_type -> vtctldata.GetTabletResponse + 157, // 158: vtctlservice.Vtctld.GetTablets:output_type -> vtctldata.GetTabletsResponse + 158, // 159: vtctlservice.Vtctld.GetTopologyPath:output_type -> vtctldata.GetTopologyPathResponse + 159, // 160: vtctlservice.Vtctld.GetVersion:output_type -> vtctldata.GetVersionResponse + 160, // 161: vtctlservice.Vtctld.GetVSchema:output_type -> vtctldata.GetVSchemaResponse + 161, // 162: vtctlservice.Vtctld.GetWorkflows:output_type -> vtctldata.GetWorkflowsResponse + 162, // 163: vtctlservice.Vtctld.InitShardPrimary:output_type -> vtctldata.InitShardPrimaryResponse + 163, // 164: vtctlservice.Vtctld.LaunchSchemaMigration:output_type -> vtctldata.LaunchSchemaMigrationResponse + 164, // 165: vtctlservice.Vtctld.LookupVindexCreate:output_type -> vtctldata.LookupVindexCreateResponse + 165, // 166: vtctlservice.Vtctld.LookupVindexExternalize:output_type -> vtctldata.LookupVindexExternalizeResponse + 166, // 167: vtctlservice.Vtctld.MaterializeCreate:output_type -> vtctldata.MaterializeCreateResponse + 167, // 168: vtctlservice.Vtctld.MigrateCreate:output_type -> vtctldata.WorkflowStatusResponse + 168, // 169: vtctlservice.Vtctld.MountRegister:output_type -> vtctldata.MountRegisterResponse + 169, // 170: vtctlservice.Vtctld.MountUnregister:output_type -> vtctldata.MountUnregisterResponse + 170, // 171: vtctlservice.Vtctld.MountShow:output_type -> vtctldata.MountShowResponse + 171, // 172: vtctlservice.Vtctld.MountList:output_type -> vtctldata.MountListResponse + 167, // 173: vtctlservice.Vtctld.MoveTablesCreate:output_type -> vtctldata.WorkflowStatusResponse + 172, // 174: vtctlservice.Vtctld.MoveTablesComplete:output_type -> vtctldata.MoveTablesCompleteResponse + 173, // 175: vtctlservice.Vtctld.PingTablet:output_type -> vtctldata.PingTabletResponse + 174, // 176: vtctlservice.Vtctld.PlannedReparentShard:output_type -> vtctldata.PlannedReparentShardResponse + 175, // 177: vtctlservice.Vtctld.RebuildKeyspaceGraph:output_type -> vtctldata.RebuildKeyspaceGraphResponse + 176, // 178: vtctlservice.Vtctld.RebuildVSchemaGraph:output_type -> vtctldata.RebuildVSchemaGraphResponse + 177, // 179: vtctlservice.Vtctld.RefreshState:output_type -> vtctldata.RefreshStateResponse + 178, // 180: vtctlservice.Vtctld.RefreshStateByShard:output_type -> vtctldata.RefreshStateByShardResponse + 179, // 181: vtctlservice.Vtctld.ReloadSchema:output_type -> vtctldata.ReloadSchemaResponse + 180, // 182: vtctlservice.Vtctld.ReloadSchemaKeyspace:output_type -> vtctldata.ReloadSchemaKeyspaceResponse + 181, // 183: vtctlservice.Vtctld.ReloadSchemaShard:output_type -> vtctldata.ReloadSchemaShardResponse + 182, // 184: vtctlservice.Vtctld.RemoveBackup:output_type -> vtctldata.RemoveBackupResponse + 183, // 185: vtctlservice.Vtctld.RemoveKeyspaceCell:output_type -> vtctldata.RemoveKeyspaceCellResponse + 184, // 186: vtctlservice.Vtctld.RemoveShardCell:output_type -> vtctldata.RemoveShardCellResponse + 185, // 187: vtctlservice.Vtctld.ReparentTablet:output_type -> vtctldata.ReparentTabletResponse + 167, // 188: vtctlservice.Vtctld.ReshardCreate:output_type -> vtctldata.WorkflowStatusResponse + 186, // 189: vtctlservice.Vtctld.RestoreFromBackup:output_type -> vtctldata.RestoreFromBackupResponse + 187, // 190: vtctlservice.Vtctld.RetrySchemaMigration:output_type -> vtctldata.RetrySchemaMigrationResponse + 188, // 191: vtctlservice.Vtctld.RunHealthCheck:output_type -> vtctldata.RunHealthCheckResponse + 189, // 192: vtctlservice.Vtctld.SetKeyspaceDurabilityPolicy:output_type -> vtctldata.SetKeyspaceDurabilityPolicyResponse + 190, // 193: vtctlservice.Vtctld.SetShardIsPrimaryServing:output_type -> vtctldata.SetShardIsPrimaryServingResponse + 191, // 194: vtctlservice.Vtctld.SetShardTabletControl:output_type -> vtctldata.SetShardTabletControlResponse + 192, // 195: vtctlservice.Vtctld.SetWritable:output_type -> vtctldata.SetWritableResponse + 193, // 196: vtctlservice.Vtctld.ShardReplicationAdd:output_type -> vtctldata.ShardReplicationAddResponse + 194, // 197: vtctlservice.Vtctld.ShardReplicationFix:output_type -> vtctldata.ShardReplicationFixResponse + 195, // 198: vtctlservice.Vtctld.ShardReplicationPositions:output_type -> vtctldata.ShardReplicationPositionsResponse + 196, // 199: vtctlservice.Vtctld.ShardReplicationRemove:output_type -> vtctldata.ShardReplicationRemoveResponse + 197, // 200: vtctlservice.Vtctld.SleepTablet:output_type -> vtctldata.SleepTabletResponse + 198, // 201: vtctlservice.Vtctld.SourceShardAdd:output_type -> vtctldata.SourceShardAddResponse + 199, // 202: vtctlservice.Vtctld.SourceShardDelete:output_type -> vtctldata.SourceShardDeleteResponse + 200, // 203: vtctlservice.Vtctld.StartReplication:output_type -> vtctldata.StartReplicationResponse + 201, // 204: vtctlservice.Vtctld.StopReplication:output_type -> vtctldata.StopReplicationResponse + 202, // 205: vtctlservice.Vtctld.TabletExternallyReparented:output_type -> vtctldata.TabletExternallyReparentedResponse + 203, // 206: vtctlservice.Vtctld.UpdateCellInfo:output_type -> vtctldata.UpdateCellInfoResponse + 204, // 207: vtctlservice.Vtctld.UpdateCellsAlias:output_type -> vtctldata.UpdateCellsAliasResponse + 205, // 208: vtctlservice.Vtctld.Validate:output_type -> vtctldata.ValidateResponse + 206, // 209: vtctlservice.Vtctld.ValidateKeyspace:output_type -> vtctldata.ValidateKeyspaceResponse + 207, // 210: vtctlservice.Vtctld.ValidateSchemaKeyspace:output_type -> vtctldata.ValidateSchemaKeyspaceResponse + 208, // 211: vtctlservice.Vtctld.ValidateShard:output_type -> vtctldata.ValidateShardResponse + 209, // 212: vtctlservice.Vtctld.ValidateVersionKeyspace:output_type -> vtctldata.ValidateVersionKeyspaceResponse + 210, // 213: vtctlservice.Vtctld.ValidateVersionShard:output_type -> vtctldata.ValidateVersionShardResponse + 211, // 214: vtctlservice.Vtctld.ValidateVSchema:output_type -> vtctldata.ValidateVSchemaResponse + 212, // 215: vtctlservice.Vtctld.VDiffCreate:output_type -> vtctldata.VDiffCreateResponse + 213, // 216: vtctlservice.Vtctld.VDiffDelete:output_type -> vtctldata.VDiffDeleteResponse + 214, // 217: vtctlservice.Vtctld.VDiffResume:output_type -> vtctldata.VDiffResumeResponse + 215, // 218: vtctlservice.Vtctld.VDiffShow:output_type -> vtctldata.VDiffShowResponse + 216, // 219: vtctlservice.Vtctld.VDiffStop:output_type -> vtctldata.VDiffStopResponse + 217, // 220: vtctlservice.Vtctld.WorkflowDelete:output_type -> vtctldata.WorkflowDeleteResponse + 167, // 221: vtctlservice.Vtctld.WorkflowStatus:output_type -> vtctldata.WorkflowStatusResponse + 218, // 222: vtctlservice.Vtctld.WorkflowSwitchTraffic:output_type -> vtctldata.WorkflowSwitchTrafficResponse + 219, // 223: vtctlservice.Vtctld.WorkflowUpdate:output_type -> vtctldata.WorkflowUpdateResponse + 112, // [112:224] is the sub-list for method output_type + 0, // [0:112] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name diff --git a/go/vt/proto/vtctlservice/vtctlservice_grpc.pb.go b/go/vt/proto/vtctlservice/vtctlservice_grpc.pb.go index f0a73530047..f7996d22231 100644 --- a/go/vt/proto/vtctlservice/vtctlservice_grpc.pb.go +++ b/go/vt/proto/vtctlservice/vtctlservice_grpc.pb.go @@ -208,6 +208,8 @@ type VtctldClient interface { // FindAllShardsInKeyspace returns a map of shard names to shard references // for a given keyspace. FindAllShardsInKeyspace(ctx context.Context, in *vtctldata.FindAllShardsInKeyspaceRequest, opts ...grpc.CallOption) (*vtctldata.FindAllShardsInKeyspaceResponse, error) + // ForceCutOverSchemaMigration marks a schema migration for forced cut-over. + ForceCutOverSchemaMigration(ctx context.Context, in *vtctldata.ForceCutOverSchemaMigrationRequest, opts ...grpc.CallOption) (*vtctldata.ForceCutOverSchemaMigrationResponse, error) // GetBackups returns all the backups for a shard. GetBackups(ctx context.Context, in *vtctldata.GetBackupsRequest, opts ...grpc.CallOption) (*vtctldata.GetBackupsResponse, error) // GetCellInfo returns the information for a cell. @@ -731,6 +733,15 @@ func (c *vtctldClient) FindAllShardsInKeyspace(ctx context.Context, in *vtctldat return out, nil } +func (c *vtctldClient) ForceCutOverSchemaMigration(ctx context.Context, in *vtctldata.ForceCutOverSchemaMigrationRequest, opts ...grpc.CallOption) (*vtctldata.ForceCutOverSchemaMigrationResponse, error) { + out := new(vtctldata.ForceCutOverSchemaMigrationResponse) + err := c.cc.Invoke(ctx, "/vtctlservice.Vtctld/ForceCutOverSchemaMigration", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *vtctldClient) GetBackups(ctx context.Context, in *vtctldata.GetBackupsRequest, opts ...grpc.CallOption) (*vtctldata.GetBackupsResponse, error) { out := new(vtctldata.GetBackupsResponse) err := c.cc.Invoke(ctx, "/vtctlservice.Vtctld/GetBackups", in, out, opts...) @@ -1595,6 +1606,8 @@ type VtctldServer interface { // FindAllShardsInKeyspace returns a map of shard names to shard references // for a given keyspace. FindAllShardsInKeyspace(context.Context, *vtctldata.FindAllShardsInKeyspaceRequest) (*vtctldata.FindAllShardsInKeyspaceResponse, error) + // ForceCutOverSchemaMigration marks a schema migration for forced cut-over. + ForceCutOverSchemaMigration(context.Context, *vtctldata.ForceCutOverSchemaMigrationRequest) (*vtctldata.ForceCutOverSchemaMigrationResponse, error) // GetBackups returns all the backups for a shard. GetBackups(context.Context, *vtctldata.GetBackupsRequest) (*vtctldata.GetBackupsResponse, error) // GetCellInfo returns the information for a cell. @@ -1919,6 +1932,9 @@ func (UnimplementedVtctldServer) ExecuteHook(context.Context, *vtctldata.Execute func (UnimplementedVtctldServer) FindAllShardsInKeyspace(context.Context, *vtctldata.FindAllShardsInKeyspaceRequest) (*vtctldata.FindAllShardsInKeyspaceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindAllShardsInKeyspace not implemented") } +func (UnimplementedVtctldServer) ForceCutOverSchemaMigration(context.Context, *vtctldata.ForceCutOverSchemaMigrationRequest) (*vtctldata.ForceCutOverSchemaMigrationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ForceCutOverSchemaMigration not implemented") +} func (UnimplementedVtctldServer) GetBackups(context.Context, *vtctldata.GetBackupsRequest) (*vtctldata.GetBackupsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetBackups not implemented") } @@ -2643,6 +2659,24 @@ func _Vtctld_FindAllShardsInKeyspace_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _Vtctld_ForceCutOverSchemaMigration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(vtctldata.ForceCutOverSchemaMigrationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VtctldServer).ForceCutOverSchemaMigration(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/vtctlservice.Vtctld/ForceCutOverSchemaMigration", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VtctldServer).ForceCutOverSchemaMigration(ctx, req.(*vtctldata.ForceCutOverSchemaMigrationRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Vtctld_GetBackups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(vtctldata.GetBackupsRequest) if err := dec(in); err != nil { @@ -4275,6 +4309,10 @@ var Vtctld_ServiceDesc = grpc.ServiceDesc{ MethodName: "FindAllShardsInKeyspace", Handler: _Vtctld_FindAllShardsInKeyspace_Handler, }, + { + MethodName: "ForceCutOverSchemaMigration", + Handler: _Vtctld_ForceCutOverSchemaMigration_Handler, + }, { MethodName: "GetBackups", Handler: _Vtctld_GetBackups_Handler, diff --git a/go/vt/schema/ddl_strategy.go b/go/vt/schema/ddl_strategy.go index bc33c8cb3cf..71d434b5e09 100644 --- a/go/vt/schema/ddl_strategy.go +++ b/go/vt/schema/ddl_strategy.go @@ -27,9 +27,10 @@ import ( ) var ( - strategyParserRegexp = regexp.MustCompile(`^([\S]+)\s+(.*)$`) - cutOverThresholdFlagRegexp = regexp.MustCompile(fmt.Sprintf(`^[-]{1,2}%s=(.*?)$`, cutOverThresholdFlag)) - retainArtifactsFlagRegexp = regexp.MustCompile(fmt.Sprintf(`^[-]{1,2}%s=(.*?)$`, retainArtifactsFlag)) + strategyParserRegexp = regexp.MustCompile(`^([\S]+)\s+(.*)$`) + cutOverThresholdFlagRegexp = regexp.MustCompile(fmt.Sprintf(`^[-]{1,2}%s=(.*?)$`, cutOverThresholdFlag)) + forceCutOverAfterFlagRegexp = regexp.MustCompile(fmt.Sprintf(`^[-]{1,2}%s=(.*?)$`, forceCutOverAfterFlag)) + retainArtifactsFlagRegexp = regexp.MustCompile(fmt.Sprintf(`^[-]{1,2}%s=(.*?)$`, retainArtifactsFlag)) ) const ( @@ -45,6 +46,7 @@ const ( preferInstantDDL = "prefer-instant-ddl" fastRangeRotationFlag = "fast-range-rotation" cutOverThresholdFlag = "cut-over-threshold" + forceCutOverAfterFlag = "force-cut-over-after" retainArtifactsFlag = "retain-artifacts" vreplicationTestSuite = "vreplication-test-suite" allowForeignKeysFlag = "unsafe-allow-foreign-keys" @@ -116,6 +118,17 @@ func ParseDDLStrategy(strategyVariable string) (*DDLStrategySetting, error) { if _, err := setting.RetainArtifactsDuration(); err != nil { return nil, err } + cutoverAfter, err := setting.ForceCutOverAfter() + if err != nil { + return nil, err + } + switch setting.Strategy { + case DDLStrategyVitess, DDLStrategyOnline: + default: + if cutoverAfter != 0 { + return nil, fmt.Errorf("--force-cut-over-after is only valid in 'vitess' strategy. Found %v value in '%v' strategy", cutoverAfter, setting.Strategy) + } + } switch setting.Strategy { case DDLStrategyVitess, DDLStrategyOnline, DDLStrategyMySQL, DDLStrategyDirect: @@ -208,6 +221,15 @@ func isCutOverThresholdFlag(opt string) (string, bool) { return submatch[1], true } +// isForceCutOverFlag returns true when given option denotes a `--force-cut-over-after=[...]` flag +func isForceCutOverFlag(opt string) (string, bool) { + submatch := forceCutOverAfterFlagRegexp.FindStringSubmatch(opt) + if len(submatch) == 0 { + return "", false + } + return submatch[1], true +} + // isRetainArtifactsFlag returns true when given option denotes a `--retain-artifacts=[...]` flag func isRetainArtifactsFlag(opt string) (string, bool) { submatch := retainArtifactsFlagRegexp.FindStringSubmatch(opt) @@ -235,6 +257,24 @@ func (setting *DDLStrategySetting) CutOverThreshold() (d time.Duration, err erro return d, err } +// ForceCutOverAfter returns a the duration threshold indicated by --force-cut-over-after +func (setting *DDLStrategySetting) ForceCutOverAfter() (d time.Duration, err error) { + // We do some ugly manual parsing of --cut-over-threshold value + opts, _ := shlex.Split(setting.Options) + for _, opt := range opts { + if val, isCutOver := isForceCutOverFlag(opt); isCutOver { + // value is possibly quoted + if s, err := strconv.Unquote(val); err == nil { + val = s + } + if val != "" { + d, err = time.ParseDuration(val) + } + } + } + return d, err +} + // RetainArtifactsDuration returns a the duration indicated by --retain-artifacts func (setting *DDLStrategySetting) RetainArtifactsDuration() (d time.Duration, err error) { // We do some ugly manual parsing of --retain-artifacts @@ -276,6 +316,9 @@ func (setting *DDLStrategySetting) RuntimeOptions() []string { if _, ok := isCutOverThresholdFlag(opt); ok { continue } + if _, ok := isForceCutOverFlag(opt); ok { + continue + } if _, ok := isRetainArtifactsFlag(opt); ok { continue } diff --git a/go/vt/schema/ddl_strategy_test.go b/go/vt/schema/ddl_strategy_test.go index ba7d029b8b7..ae6c65815cc 100644 --- a/go/vt/schema/ddl_strategy_test.go +++ b/go/vt/schema/ddl_strategy_test.go @@ -198,6 +198,7 @@ func TestParseDDLStrategy(t *testing.T) { allowForeignKeys bool analyzeTable bool cutOverThreshold time.Duration + forceCutOverAfter time.Duration expireArtifacts time.Duration runtimeOptions string expectError string @@ -320,6 +321,25 @@ func TestParseDDLStrategy(t *testing.T) { runtimeOptions: "", cutOverThreshold: 5 * time.Minute, }, + { + strategyVariable: "vitess --force-cut-over-after=3m", + strategy: DDLStrategyVitess, + options: "--force-cut-over-after=3m", + runtimeOptions: "", + forceCutOverAfter: 3 * time.Minute, + }, + { + strategyVariable: "vitess --force-cut-over-after=r3m", + strategy: DDLStrategyVitess, + runtimeOptions: "", + expectError: "time: invalid duration", + }, + { + strategyVariable: "gh-ost --force-cut-over-after=3m", + strategy: DDLStrategyVitess, + runtimeOptions: "", + expectError: "--force-cut-over-after is only valid in 'vitess' strategy", + }, { strategyVariable: "vitess --retain-artifacts=4m", strategy: DDLStrategyVitess, @@ -338,14 +358,12 @@ func TestParseDDLStrategy(t *testing.T) { { strategyVariable: "vitess --alow-concrrnt", // intentional typo strategy: DDLStrategyVitess, - options: "", runtimeOptions: "", expectError: "invalid flags", }, { strategyVariable: "vitess --declarative --max-load=Threads_running=100", strategy: DDLStrategyVitess, - options: "--declarative --max-load=Threads_running=100", runtimeOptions: "--max-load=Threads_running=100", expectError: "invalid flags", }, @@ -372,6 +390,9 @@ func TestParseDDLStrategy(t *testing.T) { cutOverThreshold, err := setting.CutOverThreshold() assert.NoError(t, err) assert.Equal(t, ts.cutOverThreshold, cutOverThreshold) + forceCutOverAfter, err := setting.ForceCutOverAfter() + assert.NoError(t, err) + assert.Equal(t, ts.forceCutOverAfter, forceCutOverAfter) runtimeOptions := strings.Join(setting.RuntimeOptions(), " ") assert.Equal(t, ts.runtimeOptions, runtimeOptions) diff --git a/go/vt/sidecardb/schema/onlineddl/schema_migrations.sql b/go/vt/sidecardb/schema/onlineddl/schema_migrations.sql index 40fdeef2683..2926ec76f28 100644 --- a/go/vt/sidecardb/schema/onlineddl/schema_migrations.sql +++ b/go/vt/sidecardb/schema/onlineddl/schema_migrations.sql @@ -71,6 +71,8 @@ CREATE TABLE IF NOT EXISTS schema_migrations `reviewed_timestamp` timestamp NULL DEFAULT NULL, `ready_to_complete_timestamp` timestamp NULL DEFAULT NULL, `removed_foreign_key_names` text NOT NULL, + `last_cutover_attempt_timestamp` timestamp NULL DEFAULT NULL, + `force_cutover` tinyint unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `uuid_idx` (`migration_uuid`), KEY `keyspace_shard_idx` (`keyspace`(64), `shard`(64)), diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 299ca3bed51..863de56bfba 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -289,6 +289,10 @@ func (node *AlterMigration) Format(buf *TrackedBuffer) { alterType = "unthrottle" case UnthrottleAllMigrationType: alterType = "unthrottle all" + case ForceCutOverMigrationType: + alterType = "force_cutover" + case ForceCutOverAllMigrationType: + alterType = "force_cutover all" } buf.astPrintf(node, " %#s", alterType) if node.Expire != "" { diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index c951636d3f9..6f6f3594c18 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -416,6 +416,10 @@ func (node *AlterMigration) FormatFast(buf *TrackedBuffer) { alterType = "unthrottle" case UnthrottleAllMigrationType: alterType = "unthrottle all" + case ForceCutOverMigrationType: + alterType = "force_cutover" + case ForceCutOverAllMigrationType: + alterType = "force_cutover all" } buf.WriteByte(' ') buf.WriteString(alterType) diff --git a/go/vt/sqlparser/constants.go b/go/vt/sqlparser/constants.go index 56e8d4637b0..42b7cdb4c28 100644 --- a/go/vt/sqlparser/constants.go +++ b/go/vt/sqlparser/constants.go @@ -928,6 +928,8 @@ const ( ThrottleAllMigrationType UnthrottleMigrationType UnthrottleAllMigrationType + ForceCutOverMigrationType + ForceCutOverAllMigrationType ) // ColumnStorage constants diff --git a/go/vt/sqlparser/keywords.go b/go/vt/sqlparser/keywords.go index 6eaa41a0386..968c2da4e7e 100644 --- a/go/vt/sqlparser/keywords.go +++ b/go/vt/sqlparser/keywords.go @@ -285,6 +285,7 @@ var keywords = []keyword{ {"following", FOLLOWING}, {"for", FOR}, {"force", FORCE}, + {"force_cutover", FORCE_CUTOVER}, {"foreign", FOREIGN}, {"format", FORMAT}, {"format_bytes", FORMAT_BYTES}, diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index 4fe2cd8f247..d2396cabe17 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -2421,6 +2421,13 @@ var ( input: "alter vitess_migration complete all", }, { input: "alter vitess_migration '9748c3b7_7fdb_11eb_ac2c_f875a4d24e90' cancel", + }, { + input: "alter vitess_migration force_cutover all", + }, { + input: "alter vitess_migration '9748c3b7_7fdb_11eb_ac2c_f875a4d24e90' force_cutover", + }, { + input: "alter vitess_migration '9748c3b7_7fdb_11eb_ac2c_f875a4d24e90' FORCE_CUTOVER", + output: "alter vitess_migration '9748c3b7_7fdb_11eb_ac2c_f875a4d24e90' force_cutover", }, { input: "alter vitess_migration cancel all", }, { diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index aef17b630f1..d2e316fc722 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -324,426 +324,427 @@ const COMPLETE = 57633 const CLEANUP = 57634 const THROTTLE = 57635 const UNTHROTTLE = 57636 -const EXPIRE = 57637 -const RATIO = 57638 -const VITESS_THROTTLER = 57639 -const BEGIN = 57640 -const START = 57641 -const TRANSACTION = 57642 -const COMMIT = 57643 -const ROLLBACK = 57644 -const SAVEPOINT = 57645 -const RELEASE = 57646 -const WORK = 57647 -const CONSISTENT = 57648 -const SNAPSHOT = 57649 -const BIT = 57650 -const TINYINT = 57651 -const SMALLINT = 57652 -const MEDIUMINT = 57653 -const INT = 57654 -const INTEGER = 57655 -const BIGINT = 57656 -const INTNUM = 57657 -const REAL = 57658 -const DOUBLE = 57659 -const FLOAT_TYPE = 57660 -const FLOAT4_TYPE = 57661 -const FLOAT8_TYPE = 57662 -const DECIMAL_TYPE = 57663 -const NUMERIC = 57664 -const TIME = 57665 -const TIMESTAMP = 57666 -const DATETIME = 57667 -const YEAR = 57668 -const CHAR = 57669 -const VARCHAR = 57670 -const BOOL = 57671 -const CHARACTER = 57672 -const VARBINARY = 57673 -const NCHAR = 57674 -const TEXT = 57675 -const TINYTEXT = 57676 -const MEDIUMTEXT = 57677 -const LONGTEXT = 57678 -const BLOB = 57679 -const TINYBLOB = 57680 -const MEDIUMBLOB = 57681 -const LONGBLOB = 57682 -const JSON = 57683 -const JSON_SCHEMA_VALID = 57684 -const JSON_SCHEMA_VALIDATION_REPORT = 57685 -const ENUM = 57686 -const GEOMETRY = 57687 -const POINT = 57688 -const LINESTRING = 57689 -const POLYGON = 57690 -const GEOMCOLLECTION = 57691 -const GEOMETRYCOLLECTION = 57692 -const MULTIPOINT = 57693 -const MULTILINESTRING = 57694 -const MULTIPOLYGON = 57695 -const ASCII = 57696 -const UNICODE = 57697 -const NULLX = 57698 -const AUTO_INCREMENT = 57699 -const APPROXNUM = 57700 -const SIGNED = 57701 -const UNSIGNED = 57702 -const ZEROFILL = 57703 -const PURGE = 57704 -const BEFORE = 57705 -const CODE = 57706 -const COLLATION = 57707 -const COLUMNS = 57708 -const DATABASES = 57709 -const ENGINES = 57710 -const EVENT = 57711 -const EXTENDED = 57712 -const FIELDS = 57713 -const FULL = 57714 -const FUNCTION = 57715 -const GTID_EXECUTED = 57716 -const KEYSPACES = 57717 -const OPEN = 57718 -const PLUGINS = 57719 -const PRIVILEGES = 57720 -const PROCESSLIST = 57721 -const SCHEMAS = 57722 -const TABLES = 57723 -const TRIGGERS = 57724 -const USER = 57725 -const VGTID_EXECUTED = 57726 -const VITESS_KEYSPACES = 57727 -const VITESS_METADATA = 57728 -const VITESS_MIGRATIONS = 57729 -const VITESS_REPLICATION_STATUS = 57730 -const VITESS_SHARDS = 57731 -const VITESS_TABLETS = 57732 -const VITESS_TARGET = 57733 -const VSCHEMA = 57734 -const VITESS_THROTTLED_APPS = 57735 -const NAMES = 57736 -const GLOBAL = 57737 -const SESSION = 57738 -const ISOLATION = 57739 -const LEVEL = 57740 -const READ = 57741 -const WRITE = 57742 -const ONLY = 57743 -const REPEATABLE = 57744 -const COMMITTED = 57745 -const UNCOMMITTED = 57746 -const SERIALIZABLE = 57747 -const ADDDATE = 57748 -const CURRENT_TIMESTAMP = 57749 -const DATABASE = 57750 -const CURRENT_DATE = 57751 -const CURDATE = 57752 -const DATE_ADD = 57753 -const DATE_SUB = 57754 -const NOW = 57755 -const SUBDATE = 57756 -const CURTIME = 57757 -const CURRENT_TIME = 57758 -const LOCALTIME = 57759 -const LOCALTIMESTAMP = 57760 -const CURRENT_USER = 57761 -const UTC_DATE = 57762 -const UTC_TIME = 57763 -const UTC_TIMESTAMP = 57764 -const SYSDATE = 57765 -const DAY = 57766 -const DAY_HOUR = 57767 -const DAY_MICROSECOND = 57768 -const DAY_MINUTE = 57769 -const DAY_SECOND = 57770 -const HOUR = 57771 -const HOUR_MICROSECOND = 57772 -const HOUR_MINUTE = 57773 -const HOUR_SECOND = 57774 -const MICROSECOND = 57775 -const MINUTE = 57776 -const MINUTE_MICROSECOND = 57777 -const MINUTE_SECOND = 57778 -const MONTH = 57779 -const QUARTER = 57780 -const SECOND = 57781 -const SECOND_MICROSECOND = 57782 -const YEAR_MONTH = 57783 -const WEEK = 57784 -const SQL_TSI_DAY = 57785 -const SQL_TSI_WEEK = 57786 -const SQL_TSI_HOUR = 57787 -const SQL_TSI_MINUTE = 57788 -const SQL_TSI_MONTH = 57789 -const SQL_TSI_QUARTER = 57790 -const SQL_TSI_SECOND = 57791 -const SQL_TSI_MICROSECOND = 57792 -const SQL_TSI_YEAR = 57793 -const REPLACE = 57794 -const CONVERT = 57795 -const CAST = 57796 -const SUBSTR = 57797 -const SUBSTRING = 57798 -const SEPARATOR = 57799 -const TIMESTAMPADD = 57800 -const TIMESTAMPDIFF = 57801 -const WEIGHT_STRING = 57802 -const LTRIM = 57803 -const RTRIM = 57804 -const TRIM = 57805 -const JSON_ARRAY = 57806 -const JSON_OBJECT = 57807 -const JSON_QUOTE = 57808 -const JSON_DEPTH = 57809 -const JSON_TYPE = 57810 -const JSON_LENGTH = 57811 -const JSON_VALID = 57812 -const JSON_ARRAY_APPEND = 57813 -const JSON_ARRAY_INSERT = 57814 -const JSON_INSERT = 57815 -const JSON_MERGE = 57816 -const JSON_MERGE_PATCH = 57817 -const JSON_MERGE_PRESERVE = 57818 -const JSON_REMOVE = 57819 -const JSON_REPLACE = 57820 -const JSON_SET = 57821 -const JSON_UNQUOTE = 57822 -const COUNT = 57823 -const AVG = 57824 -const MAX = 57825 -const MIN = 57826 -const SUM = 57827 -const GROUP_CONCAT = 57828 -const BIT_AND = 57829 -const BIT_OR = 57830 -const BIT_XOR = 57831 -const STD = 57832 -const STDDEV = 57833 -const STDDEV_POP = 57834 -const STDDEV_SAMP = 57835 -const VAR_POP = 57836 -const VAR_SAMP = 57837 -const VARIANCE = 57838 -const ANY_VALUE = 57839 -const REGEXP_INSTR = 57840 -const REGEXP_LIKE = 57841 -const REGEXP_REPLACE = 57842 -const REGEXP_SUBSTR = 57843 -const ExtractValue = 57844 -const UpdateXML = 57845 -const GET_LOCK = 57846 -const RELEASE_LOCK = 57847 -const RELEASE_ALL_LOCKS = 57848 -const IS_FREE_LOCK = 57849 -const IS_USED_LOCK = 57850 -const LOCATE = 57851 -const POSITION = 57852 -const ST_GeometryCollectionFromText = 57853 -const ST_GeometryFromText = 57854 -const ST_LineStringFromText = 57855 -const ST_MultiLineStringFromText = 57856 -const ST_MultiPointFromText = 57857 -const ST_MultiPolygonFromText = 57858 -const ST_PointFromText = 57859 -const ST_PolygonFromText = 57860 -const ST_GeometryCollectionFromWKB = 57861 -const ST_GeometryFromWKB = 57862 -const ST_LineStringFromWKB = 57863 -const ST_MultiLineStringFromWKB = 57864 -const ST_MultiPointFromWKB = 57865 -const ST_MultiPolygonFromWKB = 57866 -const ST_PointFromWKB = 57867 -const ST_PolygonFromWKB = 57868 -const ST_AsBinary = 57869 -const ST_AsText = 57870 -const ST_Dimension = 57871 -const ST_Envelope = 57872 -const ST_IsSimple = 57873 -const ST_IsEmpty = 57874 -const ST_GeometryType = 57875 -const ST_X = 57876 -const ST_Y = 57877 -const ST_Latitude = 57878 -const ST_Longitude = 57879 -const ST_EndPoint = 57880 -const ST_IsClosed = 57881 -const ST_Length = 57882 -const ST_NumPoints = 57883 -const ST_StartPoint = 57884 -const ST_PointN = 57885 -const ST_Area = 57886 -const ST_Centroid = 57887 -const ST_ExteriorRing = 57888 -const ST_InteriorRingN = 57889 -const ST_NumInteriorRings = 57890 -const ST_NumGeometries = 57891 -const ST_GeometryN = 57892 -const ST_LongFromGeoHash = 57893 -const ST_PointFromGeoHash = 57894 -const ST_LatFromGeoHash = 57895 -const ST_GeoHash = 57896 -const ST_AsGeoJSON = 57897 -const ST_GeomFromGeoJSON = 57898 -const MATCH = 57899 -const AGAINST = 57900 -const BOOLEAN = 57901 -const LANGUAGE = 57902 -const WITH = 57903 -const QUERY = 57904 -const EXPANSION = 57905 -const WITHOUT = 57906 -const VALIDATION = 57907 -const UNUSED = 57908 -const ARRAY = 57909 -const BYTE = 57910 -const CUME_DIST = 57911 -const DESCRIPTION = 57912 -const DENSE_RANK = 57913 -const EMPTY = 57914 -const EXCEPT = 57915 -const FIRST_VALUE = 57916 -const GROUPING = 57917 -const GROUPS = 57918 -const JSON_TABLE = 57919 -const LAG = 57920 -const LAST_VALUE = 57921 -const LATERAL = 57922 -const LEAD = 57923 -const NTH_VALUE = 57924 -const NTILE = 57925 -const OF = 57926 -const OVER = 57927 -const PERCENT_RANK = 57928 -const RANK = 57929 -const RECURSIVE = 57930 -const ROW_NUMBER = 57931 -const SYSTEM = 57932 -const WINDOW = 57933 -const ACTIVE = 57934 -const ADMIN = 57935 -const AUTOEXTEND_SIZE = 57936 -const BUCKETS = 57937 -const CLONE = 57938 -const COLUMN_FORMAT = 57939 -const COMPONENT = 57940 -const DEFINITION = 57941 -const ENFORCED = 57942 -const ENGINE_ATTRIBUTE = 57943 -const EXCLUDE = 57944 -const FOLLOWING = 57945 -const GET_MASTER_PUBLIC_KEY = 57946 -const HISTOGRAM = 57947 -const HISTORY = 57948 -const INACTIVE = 57949 -const INVISIBLE = 57950 -const LOCKED = 57951 -const MASTER_COMPRESSION_ALGORITHMS = 57952 -const MASTER_PUBLIC_KEY_PATH = 57953 -const MASTER_TLS_CIPHERSUITES = 57954 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57955 -const NESTED = 57956 -const NETWORK_NAMESPACE = 57957 -const NOWAIT = 57958 -const NULLS = 57959 -const OJ = 57960 -const OLD = 57961 -const OPTIONAL = 57962 -const ORDINALITY = 57963 -const ORGANIZATION = 57964 -const OTHERS = 57965 -const PARTIAL = 57966 -const PATH = 57967 -const PERSIST = 57968 -const PERSIST_ONLY = 57969 -const PRECEDING = 57970 -const PRIVILEGE_CHECKS_USER = 57971 -const PROCESS = 57972 -const RANDOM = 57973 -const REFERENCE = 57974 -const REQUIRE_ROW_FORMAT = 57975 -const RESOURCE = 57976 -const RESPECT = 57977 -const RESTART = 57978 -const RETAIN = 57979 -const REUSE = 57980 -const ROLE = 57981 -const SECONDARY = 57982 -const SECONDARY_ENGINE = 57983 -const SECONDARY_ENGINE_ATTRIBUTE = 57984 -const SECONDARY_LOAD = 57985 -const SECONDARY_UNLOAD = 57986 -const SIMPLE = 57987 -const SKIP = 57988 -const SRID = 57989 -const THREAD_PRIORITY = 57990 -const TIES = 57991 -const UNBOUNDED = 57992 -const VCPU = 57993 -const VISIBLE = 57994 -const RETURNING = 57995 -const FORMAT_BYTES = 57996 -const FORMAT_PICO_TIME = 57997 -const PS_CURRENT_THREAD_ID = 57998 -const PS_THREAD_ID = 57999 -const GTID_SUBSET = 58000 -const GTID_SUBTRACT = 58001 -const WAIT_FOR_EXECUTED_GTID_SET = 58002 -const WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 58003 -const FORMAT = 58004 -const TREE = 58005 -const VITESS = 58006 -const TRADITIONAL = 58007 -const VTEXPLAIN = 58008 -const VEXPLAIN = 58009 -const PLAN = 58010 -const LOCAL = 58011 -const LOW_PRIORITY = 58012 -const NO_WRITE_TO_BINLOG = 58013 -const LOGS = 58014 -const ERROR = 58015 -const GENERAL = 58016 -const HOSTS = 58017 -const OPTIMIZER_COSTS = 58018 -const USER_RESOURCES = 58019 -const SLOW = 58020 -const CHANNEL = 58021 -const RELAY = 58022 -const EXPORT = 58023 -const CURRENT = 58024 -const ROW = 58025 -const ROWS = 58026 -const AVG_ROW_LENGTH = 58027 -const CONNECTION = 58028 -const CHECKSUM = 58029 -const DELAY_KEY_WRITE = 58030 -const ENCRYPTION = 58031 -const ENGINE = 58032 -const INSERT_METHOD = 58033 -const MAX_ROWS = 58034 -const MIN_ROWS = 58035 -const PACK_KEYS = 58036 -const PASSWORD = 58037 -const FIXED = 58038 -const DYNAMIC = 58039 -const COMPRESSED = 58040 -const REDUNDANT = 58041 -const COMPACT = 58042 -const ROW_FORMAT = 58043 -const STATS_AUTO_RECALC = 58044 -const STATS_PERSISTENT = 58045 -const STATS_SAMPLE_PAGES = 58046 -const STORAGE = 58047 -const MEMORY = 58048 -const DISK = 58049 -const PARTITIONS = 58050 -const LINEAR = 58051 -const RANGE = 58052 -const LIST = 58053 -const SUBPARTITION = 58054 -const SUBPARTITIONS = 58055 -const HASH = 58056 +const FORCE_CUTOVER = 57637 +const EXPIRE = 57638 +const RATIO = 57639 +const VITESS_THROTTLER = 57640 +const BEGIN = 57641 +const START = 57642 +const TRANSACTION = 57643 +const COMMIT = 57644 +const ROLLBACK = 57645 +const SAVEPOINT = 57646 +const RELEASE = 57647 +const WORK = 57648 +const CONSISTENT = 57649 +const SNAPSHOT = 57650 +const BIT = 57651 +const TINYINT = 57652 +const SMALLINT = 57653 +const MEDIUMINT = 57654 +const INT = 57655 +const INTEGER = 57656 +const BIGINT = 57657 +const INTNUM = 57658 +const REAL = 57659 +const DOUBLE = 57660 +const FLOAT_TYPE = 57661 +const FLOAT4_TYPE = 57662 +const FLOAT8_TYPE = 57663 +const DECIMAL_TYPE = 57664 +const NUMERIC = 57665 +const TIME = 57666 +const TIMESTAMP = 57667 +const DATETIME = 57668 +const YEAR = 57669 +const CHAR = 57670 +const VARCHAR = 57671 +const BOOL = 57672 +const CHARACTER = 57673 +const VARBINARY = 57674 +const NCHAR = 57675 +const TEXT = 57676 +const TINYTEXT = 57677 +const MEDIUMTEXT = 57678 +const LONGTEXT = 57679 +const BLOB = 57680 +const TINYBLOB = 57681 +const MEDIUMBLOB = 57682 +const LONGBLOB = 57683 +const JSON = 57684 +const JSON_SCHEMA_VALID = 57685 +const JSON_SCHEMA_VALIDATION_REPORT = 57686 +const ENUM = 57687 +const GEOMETRY = 57688 +const POINT = 57689 +const LINESTRING = 57690 +const POLYGON = 57691 +const GEOMCOLLECTION = 57692 +const GEOMETRYCOLLECTION = 57693 +const MULTIPOINT = 57694 +const MULTILINESTRING = 57695 +const MULTIPOLYGON = 57696 +const ASCII = 57697 +const UNICODE = 57698 +const NULLX = 57699 +const AUTO_INCREMENT = 57700 +const APPROXNUM = 57701 +const SIGNED = 57702 +const UNSIGNED = 57703 +const ZEROFILL = 57704 +const PURGE = 57705 +const BEFORE = 57706 +const CODE = 57707 +const COLLATION = 57708 +const COLUMNS = 57709 +const DATABASES = 57710 +const ENGINES = 57711 +const EVENT = 57712 +const EXTENDED = 57713 +const FIELDS = 57714 +const FULL = 57715 +const FUNCTION = 57716 +const GTID_EXECUTED = 57717 +const KEYSPACES = 57718 +const OPEN = 57719 +const PLUGINS = 57720 +const PRIVILEGES = 57721 +const PROCESSLIST = 57722 +const SCHEMAS = 57723 +const TABLES = 57724 +const TRIGGERS = 57725 +const USER = 57726 +const VGTID_EXECUTED = 57727 +const VITESS_KEYSPACES = 57728 +const VITESS_METADATA = 57729 +const VITESS_MIGRATIONS = 57730 +const VITESS_REPLICATION_STATUS = 57731 +const VITESS_SHARDS = 57732 +const VITESS_TABLETS = 57733 +const VITESS_TARGET = 57734 +const VSCHEMA = 57735 +const VITESS_THROTTLED_APPS = 57736 +const NAMES = 57737 +const GLOBAL = 57738 +const SESSION = 57739 +const ISOLATION = 57740 +const LEVEL = 57741 +const READ = 57742 +const WRITE = 57743 +const ONLY = 57744 +const REPEATABLE = 57745 +const COMMITTED = 57746 +const UNCOMMITTED = 57747 +const SERIALIZABLE = 57748 +const ADDDATE = 57749 +const CURRENT_TIMESTAMP = 57750 +const DATABASE = 57751 +const CURRENT_DATE = 57752 +const CURDATE = 57753 +const DATE_ADD = 57754 +const DATE_SUB = 57755 +const NOW = 57756 +const SUBDATE = 57757 +const CURTIME = 57758 +const CURRENT_TIME = 57759 +const LOCALTIME = 57760 +const LOCALTIMESTAMP = 57761 +const CURRENT_USER = 57762 +const UTC_DATE = 57763 +const UTC_TIME = 57764 +const UTC_TIMESTAMP = 57765 +const SYSDATE = 57766 +const DAY = 57767 +const DAY_HOUR = 57768 +const DAY_MICROSECOND = 57769 +const DAY_MINUTE = 57770 +const DAY_SECOND = 57771 +const HOUR = 57772 +const HOUR_MICROSECOND = 57773 +const HOUR_MINUTE = 57774 +const HOUR_SECOND = 57775 +const MICROSECOND = 57776 +const MINUTE = 57777 +const MINUTE_MICROSECOND = 57778 +const MINUTE_SECOND = 57779 +const MONTH = 57780 +const QUARTER = 57781 +const SECOND = 57782 +const SECOND_MICROSECOND = 57783 +const YEAR_MONTH = 57784 +const WEEK = 57785 +const SQL_TSI_DAY = 57786 +const SQL_TSI_WEEK = 57787 +const SQL_TSI_HOUR = 57788 +const SQL_TSI_MINUTE = 57789 +const SQL_TSI_MONTH = 57790 +const SQL_TSI_QUARTER = 57791 +const SQL_TSI_SECOND = 57792 +const SQL_TSI_MICROSECOND = 57793 +const SQL_TSI_YEAR = 57794 +const REPLACE = 57795 +const CONVERT = 57796 +const CAST = 57797 +const SUBSTR = 57798 +const SUBSTRING = 57799 +const SEPARATOR = 57800 +const TIMESTAMPADD = 57801 +const TIMESTAMPDIFF = 57802 +const WEIGHT_STRING = 57803 +const LTRIM = 57804 +const RTRIM = 57805 +const TRIM = 57806 +const JSON_ARRAY = 57807 +const JSON_OBJECT = 57808 +const JSON_QUOTE = 57809 +const JSON_DEPTH = 57810 +const JSON_TYPE = 57811 +const JSON_LENGTH = 57812 +const JSON_VALID = 57813 +const JSON_ARRAY_APPEND = 57814 +const JSON_ARRAY_INSERT = 57815 +const JSON_INSERT = 57816 +const JSON_MERGE = 57817 +const JSON_MERGE_PATCH = 57818 +const JSON_MERGE_PRESERVE = 57819 +const JSON_REMOVE = 57820 +const JSON_REPLACE = 57821 +const JSON_SET = 57822 +const JSON_UNQUOTE = 57823 +const COUNT = 57824 +const AVG = 57825 +const MAX = 57826 +const MIN = 57827 +const SUM = 57828 +const GROUP_CONCAT = 57829 +const BIT_AND = 57830 +const BIT_OR = 57831 +const BIT_XOR = 57832 +const STD = 57833 +const STDDEV = 57834 +const STDDEV_POP = 57835 +const STDDEV_SAMP = 57836 +const VAR_POP = 57837 +const VAR_SAMP = 57838 +const VARIANCE = 57839 +const ANY_VALUE = 57840 +const REGEXP_INSTR = 57841 +const REGEXP_LIKE = 57842 +const REGEXP_REPLACE = 57843 +const REGEXP_SUBSTR = 57844 +const ExtractValue = 57845 +const UpdateXML = 57846 +const GET_LOCK = 57847 +const RELEASE_LOCK = 57848 +const RELEASE_ALL_LOCKS = 57849 +const IS_FREE_LOCK = 57850 +const IS_USED_LOCK = 57851 +const LOCATE = 57852 +const POSITION = 57853 +const ST_GeometryCollectionFromText = 57854 +const ST_GeometryFromText = 57855 +const ST_LineStringFromText = 57856 +const ST_MultiLineStringFromText = 57857 +const ST_MultiPointFromText = 57858 +const ST_MultiPolygonFromText = 57859 +const ST_PointFromText = 57860 +const ST_PolygonFromText = 57861 +const ST_GeometryCollectionFromWKB = 57862 +const ST_GeometryFromWKB = 57863 +const ST_LineStringFromWKB = 57864 +const ST_MultiLineStringFromWKB = 57865 +const ST_MultiPointFromWKB = 57866 +const ST_MultiPolygonFromWKB = 57867 +const ST_PointFromWKB = 57868 +const ST_PolygonFromWKB = 57869 +const ST_AsBinary = 57870 +const ST_AsText = 57871 +const ST_Dimension = 57872 +const ST_Envelope = 57873 +const ST_IsSimple = 57874 +const ST_IsEmpty = 57875 +const ST_GeometryType = 57876 +const ST_X = 57877 +const ST_Y = 57878 +const ST_Latitude = 57879 +const ST_Longitude = 57880 +const ST_EndPoint = 57881 +const ST_IsClosed = 57882 +const ST_Length = 57883 +const ST_NumPoints = 57884 +const ST_StartPoint = 57885 +const ST_PointN = 57886 +const ST_Area = 57887 +const ST_Centroid = 57888 +const ST_ExteriorRing = 57889 +const ST_InteriorRingN = 57890 +const ST_NumInteriorRings = 57891 +const ST_NumGeometries = 57892 +const ST_GeometryN = 57893 +const ST_LongFromGeoHash = 57894 +const ST_PointFromGeoHash = 57895 +const ST_LatFromGeoHash = 57896 +const ST_GeoHash = 57897 +const ST_AsGeoJSON = 57898 +const ST_GeomFromGeoJSON = 57899 +const MATCH = 57900 +const AGAINST = 57901 +const BOOLEAN = 57902 +const LANGUAGE = 57903 +const WITH = 57904 +const QUERY = 57905 +const EXPANSION = 57906 +const WITHOUT = 57907 +const VALIDATION = 57908 +const UNUSED = 57909 +const ARRAY = 57910 +const BYTE = 57911 +const CUME_DIST = 57912 +const DESCRIPTION = 57913 +const DENSE_RANK = 57914 +const EMPTY = 57915 +const EXCEPT = 57916 +const FIRST_VALUE = 57917 +const GROUPING = 57918 +const GROUPS = 57919 +const JSON_TABLE = 57920 +const LAG = 57921 +const LAST_VALUE = 57922 +const LATERAL = 57923 +const LEAD = 57924 +const NTH_VALUE = 57925 +const NTILE = 57926 +const OF = 57927 +const OVER = 57928 +const PERCENT_RANK = 57929 +const RANK = 57930 +const RECURSIVE = 57931 +const ROW_NUMBER = 57932 +const SYSTEM = 57933 +const WINDOW = 57934 +const ACTIVE = 57935 +const ADMIN = 57936 +const AUTOEXTEND_SIZE = 57937 +const BUCKETS = 57938 +const CLONE = 57939 +const COLUMN_FORMAT = 57940 +const COMPONENT = 57941 +const DEFINITION = 57942 +const ENFORCED = 57943 +const ENGINE_ATTRIBUTE = 57944 +const EXCLUDE = 57945 +const FOLLOWING = 57946 +const GET_MASTER_PUBLIC_KEY = 57947 +const HISTOGRAM = 57948 +const HISTORY = 57949 +const INACTIVE = 57950 +const INVISIBLE = 57951 +const LOCKED = 57952 +const MASTER_COMPRESSION_ALGORITHMS = 57953 +const MASTER_PUBLIC_KEY_PATH = 57954 +const MASTER_TLS_CIPHERSUITES = 57955 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57956 +const NESTED = 57957 +const NETWORK_NAMESPACE = 57958 +const NOWAIT = 57959 +const NULLS = 57960 +const OJ = 57961 +const OLD = 57962 +const OPTIONAL = 57963 +const ORDINALITY = 57964 +const ORGANIZATION = 57965 +const OTHERS = 57966 +const PARTIAL = 57967 +const PATH = 57968 +const PERSIST = 57969 +const PERSIST_ONLY = 57970 +const PRECEDING = 57971 +const PRIVILEGE_CHECKS_USER = 57972 +const PROCESS = 57973 +const RANDOM = 57974 +const REFERENCE = 57975 +const REQUIRE_ROW_FORMAT = 57976 +const RESOURCE = 57977 +const RESPECT = 57978 +const RESTART = 57979 +const RETAIN = 57980 +const REUSE = 57981 +const ROLE = 57982 +const SECONDARY = 57983 +const SECONDARY_ENGINE = 57984 +const SECONDARY_ENGINE_ATTRIBUTE = 57985 +const SECONDARY_LOAD = 57986 +const SECONDARY_UNLOAD = 57987 +const SIMPLE = 57988 +const SKIP = 57989 +const SRID = 57990 +const THREAD_PRIORITY = 57991 +const TIES = 57992 +const UNBOUNDED = 57993 +const VCPU = 57994 +const VISIBLE = 57995 +const RETURNING = 57996 +const FORMAT_BYTES = 57997 +const FORMAT_PICO_TIME = 57998 +const PS_CURRENT_THREAD_ID = 57999 +const PS_THREAD_ID = 58000 +const GTID_SUBSET = 58001 +const GTID_SUBTRACT = 58002 +const WAIT_FOR_EXECUTED_GTID_SET = 58003 +const WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 58004 +const FORMAT = 58005 +const TREE = 58006 +const VITESS = 58007 +const TRADITIONAL = 58008 +const VTEXPLAIN = 58009 +const VEXPLAIN = 58010 +const PLAN = 58011 +const LOCAL = 58012 +const LOW_PRIORITY = 58013 +const NO_WRITE_TO_BINLOG = 58014 +const LOGS = 58015 +const ERROR = 58016 +const GENERAL = 58017 +const HOSTS = 58018 +const OPTIMIZER_COSTS = 58019 +const USER_RESOURCES = 58020 +const SLOW = 58021 +const CHANNEL = 58022 +const RELAY = 58023 +const EXPORT = 58024 +const CURRENT = 58025 +const ROW = 58026 +const ROWS = 58027 +const AVG_ROW_LENGTH = 58028 +const CONNECTION = 58029 +const CHECKSUM = 58030 +const DELAY_KEY_WRITE = 58031 +const ENCRYPTION = 58032 +const ENGINE = 58033 +const INSERT_METHOD = 58034 +const MAX_ROWS = 58035 +const MIN_ROWS = 58036 +const PACK_KEYS = 58037 +const PASSWORD = 58038 +const FIXED = 58039 +const DYNAMIC = 58040 +const COMPRESSED = 58041 +const REDUNDANT = 58042 +const COMPACT = 58043 +const ROW_FORMAT = 58044 +const STATS_AUTO_RECALC = 58045 +const STATS_PERSISTENT = 58046 +const STATS_SAMPLE_PAGES = 58047 +const STORAGE = 58048 +const MEMORY = 58049 +const DISK = 58050 +const PARTITIONS = 58051 +const LINEAR = 58052 +const RANGE = 58053 +const LIST = 58054 +const SUBPARTITION = 58055 +const SUBPARTITIONS = 58056 +const HASH = 58057 var yyToknames = [...]string{ "$end", @@ -1057,6 +1058,7 @@ var yyToknames = [...]string{ "CLEANUP", "THROTTLE", "UNTHROTTLE", + "FORCE_CUTOVER", "EXPIRE", "RATIO", "VITESS_THROTTLER", @@ -1497,29 +1499,29 @@ var yyExca = [...]int{ -2, 40, -1, 52, 1, 159, - 732, 159, + 733, 159, -2, 167, -1, 53, 136, 167, 178, 167, - 347, 167, + 348, 167, -2, 523, -1, 61, - 36, 775, - 241, 775, - 252, 775, - 287, 789, - 288, 789, - -2, 777, + 36, 777, + 241, 777, + 252, 777, + 287, 791, + 288, 791, + -2, 779, -1, 66, - 243, 813, - -2, 811, + 243, 815, + -2, 813, -1, 122, - 240, 1593, + 240, 1595, -2, 133, -1, 124, 1, 160, - 732, 160, + 733, 160, -2, 167, -1, 135, 137, 408, @@ -1528,45 +1530,45 @@ var yyExca = [...]int{ -1, 154, 136, 167, 178, 167, - 347, 167, + 348, 167, -2, 532, -1, 733, 164, 41, -2, 45, -1, 939, - 87, 1610, - -2, 1459, + 87, 1612, + -2, 1461, -1, 940, - 87, 1611, - 223, 1615, - -2, 1460, + 87, 1613, + 223, 1617, + -2, 1462, -1, 941, - 223, 1614, + 223, 1616, -2, 42, -1, 1024, - 60, 887, - -2, 902, + 60, 889, + -2, 904, -1, 1112, 251, 43, 256, 43, -2, 419, -1, 1197, 1, 580, - 732, 580, + 733, 580, -2, 167, -1, 1500, - 223, 1615, - -2, 1460, + 223, 1617, + -2, 1462, -1, 1709, - 60, 888, - -2, 907, + 60, 890, + -2, 909, -1, 1710, - 60, 889, - -2, 908, + 60, 891, + -2, 910, -1, 1765, 136, 167, 178, 167, - 347, 167, + 348, 167, -2, 458, -1, 1846, 137, 408, @@ -1576,164 +1578,164 @@ var yyExca = [...]int{ 251, 44, 256, 44, -2, 420, - -1, 2293, - 223, 1619, - -2, 1613, -1, 2294, - 223, 1615, - -2, 1611, - -1, 2396, + 223, 1621, + -2, 1615, + -1, 2295, + 223, 1617, + -2, 1613, + -1, 2397, 136, 167, 178, 167, - 347, 167, + 348, 167, -2, 459, - -1, 2403, + -1, 2404, 26, 188, -2, 190, - -1, 2857, + -1, 2860, 78, 98, 88, 98, - -2, 966, - -1, 2926, - 707, 698, - -2, 672, - -1, 3134, - 50, 1561, - -2, 1555, - -1, 3949, - 707, 698, - -2, 686, - -1, 4036, - 90, 630, - 95, 630, - 105, 630, - 180, 630, - 181, 630, - 182, 630, - 183, 630, - 184, 630, - 185, 630, - 186, 630, - 187, 630, - 188, 630, - 189, 630, - 190, 630, - 191, 630, - 192, 630, - 193, 630, - 194, 630, - 195, 630, - 196, 630, - 197, 630, - 198, 630, - 199, 630, - 200, 630, - 201, 630, - 202, 630, - 203, 630, - 204, 630, - 205, 630, - 206, 630, - 207, 630, - 208, 630, - 209, 630, - 210, 630, - 211, 630, - 212, 630, - 213, 630, - 214, 630, - 215, 630, - 216, 630, - 217, 630, - 218, 630, - 219, 630, - 220, 630, - 221, 630, - -2, 1982, + -2, 968, + -1, 2929, + 708, 700, + -2, 674, + -1, 3137, + 50, 1563, + -2, 1557, + -1, 3952, + 708, 700, + -2, 688, + -1, 4039, + 90, 632, + 95, 632, + 105, 632, + 180, 632, + 181, 632, + 182, 632, + 183, 632, + 184, 632, + 185, 632, + 186, 632, + 187, 632, + 188, 632, + 189, 632, + 190, 632, + 191, 632, + 192, 632, + 193, 632, + 194, 632, + 195, 632, + 196, 632, + 197, 632, + 198, 632, + 199, 632, + 200, 632, + 201, 632, + 202, 632, + 203, 632, + 204, 632, + 205, 632, + 206, 632, + 207, 632, + 208, 632, + 209, 632, + 210, 632, + 211, 632, + 212, 632, + 213, 632, + 214, 632, + 215, 632, + 216, 632, + 217, 632, + 218, 632, + 219, 632, + 220, 632, + 221, 632, + -2, 1984, } const yyPrivate = 57344 -const yyLast = 55650 +const yyLast = 56327 var yyAct = [...]int{ - 955, 3611, 3612, 87, 3610, 4034, 4111, 3930, 4015, 3286, - 4124, 943, 4078, 1265, 950, 3562, 942, 2087, 4079, 2393, - 1974, 4003, 3914, 3839, 2322, 3186, 3415, 3193, 3235, 2099, - 3244, 3249, 3246, 3245, 3243, 3248, 1768, 1263, 3147, 3912, - 2030, 3247, 2753, 5, 3549, 2324, 3264, 3087, 2467, 737, - 3201, 3263, 3151, 3148, 3649, 3460, 3454, 2990, 2348, 3135, - 904, 764, 908, 2430, 903, 42, 3266, 2364, 1724, 3980, - 1824, 2817, 732, 2891, 3293, 2367, 2972, 2923, 2455, 2435, - 2892, 2498, 3446, 3480, 1074, 2893, 1022, 163, 87, 2381, - 1042, 2842, 1144, 1871, 2823, 1019, 2368, 41, 1711, 2369, - 2809, 2793, 2245, 2122, 2277, 2289, 2083, 1022, 43, 2244, - 3145, 2964, 2476, 2038, 2454, 2356, 1853, 2515, 149, 2437, - 1102, 2884, 1084, 1107, 1757, 2859, 1737, 2371, 1512, 1690, - 2126, 100, 2058, 104, 1439, 731, 2342, 1424, 105, 1970, - 1081, 1078, 1860, 747, 1113, 3150, 2452, 1952, 1021, 1082, - 1025, 1120, 2426, 2427, 1108, 2830, 1110, 1109, 1756, 1059, - 1742, 1061, 2195, 2153, 99, 1031, 3644, 2134, 1041, 1044, - 1496, 3902, 2791, 2349, 107, 742, 1472, 2029, 1253, 1028, - 2290, 1982, 85, 167, 127, 1026, 125, 1819, 132, 905, - 1017, 126, 1845, 133, 1193, 1054, 1027, 93, 741, 734, - 1029, 98, 1261, 4112, 3550, 1239, 106, 1516, 3232, 84, - 2469, 1521, 724, 3965, 2914, 1049, 1053, 2469, 2470, 2471, - 2946, 2945, 2513, 3542, 1016, 1937, 1440, 4061, 2980, 2981, - 3961, 1034, 2319, 2320, 2045, 669, 128, 3505, 2044, 3966, - 2043, 2042, 1149, 1075, 1146, 3960, 134, 2041, 2040, 2013, - 1686, 1209, 666, 2561, 667, 2789, 4055, 1163, 1164, 1165, - 3131, 1168, 1169, 1170, 1171, 1035, 3615, 1174, 1175, 1176, - 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, - 1187, 1188, 1189, 1190, 2, 725, 4082, 735, 1124, 2819, - 1069, 1018, 1068, 1123, 1210, 1020, 3615, 3091, 4102, 1435, - 2502, 3939, 1099, 2916, 1043, 4134, 4077, 95, 128, 1098, - 1157, 1097, 1150, 1153, 1154, 1728, 1096, 1091, 3420, 3254, - 1726, 3254, 3419, 1718, 4117, 727, 4065, 709, 703, 111, - 112, 113, 3251, 116, 1450, 909, 122, 1086, 95, 191, - 95, 1166, 661, 709, 2501, 1729, 3961, 1456, 1015, 4116, - 1727, 4064, 2345, 3614, 722, 723, 4063, 2061, 2344, 2939, - 3915, 95, 2754, 2050, 1010, 1011, 1012, 1013, 3312, 3835, - 1100, 1024, 703, 3834, 1148, 3252, 128, 3252, 1147, 2936, - 4092, 4062, 3845, 3614, 4059, 959, 960, 961, 3555, 1426, - 3574, 3556, 959, 960, 961, 1067, 1071, 907, 3563, 1056, - 1057, 3258, 4004, 3258, 4012, 2495, 1067, 1071, 907, 86, - 3844, 2092, 4039, 86, 3332, 700, 1834, 3183, 3184, 3573, - 1095, 2790, 1202, 1203, 86, 2868, 3182, 2979, 2867, 2388, - 2389, 2869, 2567, 2833, 1440, 4016, 2022, 2023, 2387, 2570, - 703, 2963, 1446, 1090, 2500, 1438, 1092, 1758, 1229, 1759, - 1008, 703, 1217, 4044, 1205, 1007, 3931, 1218, 2834, 1217, - 1234, 1235, 3662, 685, 1218, 1216, 2880, 1215, 3320, 2917, - 1978, 4042, 1230, 1223, 703, 2446, 683, 703, 1093, 3290, - 4048, 4049, 703, 1453, 3318, 1454, 1455, 95, 3025, 3203, - 3204, 95, 2406, 2405, 2559, 3944, 4043, 2021, 2440, 1258, - 2826, 2827, 95, 2321, 2568, 3288, 717, 2025, 721, 1192, - 2965, 4020, 715, 1436, 3294, 3255, 680, 3255, 4020, 1754, - 2352, 1694, 2949, 2924, 1167, 695, 1927, 86, 2516, 2477, - 88, 2529, 2525, 2527, 2528, 2526, 2530, 2531, 4083, 704, - 690, 3886, 1450, 3887, 2537, 1095, 2538, 1087, 2539, 3281, - 693, 1425, 4114, 1953, 1089, 1088, 2162, 3282, 2520, 4084, - 1473, 1246, 2522, 1248, 1236, 1250, 1231, 1224, 1232, 1233, - 1928, 3291, 1929, 1255, 1237, 2562, 2563, 2565, 2564, 2953, - 2954, 1238, 3309, 704, 1474, 1475, 1476, 1477, 1478, 1479, - 1480, 1482, 1481, 1483, 1484, 3544, 1198, 3289, 3202, 2967, - 2519, 1245, 1247, 1093, 3543, 95, 1094, 1979, 1257, 2540, - 3205, 1173, 1172, 2521, 1256, 2518, 3819, 2523, 670, 3540, - 672, 686, 1697, 706, 2480, 705, 676, 3619, 674, 678, - 687, 679, 1060, 673, 2365, 684, 1104, 1142, 675, 688, - 689, 692, 696, 697, 698, 694, 691, 2439, 682, 707, - 1446, 704, 4056, 3026, 2154, 1141, 1103, 1140, 1838, 2156, - 1104, 1139, 704, 2161, 2157, 1138, 3457, 2158, 2159, 2160, - 1137, 1136, 2155, 2163, 2164, 2165, 2166, 2167, 2168, 2169, - 2170, 2171, 1135, 1130, 1143, 704, 1079, 3205, 704, 4135, - 1079, 1116, 4089, 704, 1077, 1079, 1115, 1971, 1152, 2453, - 1262, 2968, 1262, 1262, 1115, 3090, 1055, 1243, 1151, 2506, - 2505, 1244, 2350, 2351, 1967, 1070, 1064, 1062, 1427, 1160, - 3225, 1249, 2948, 1832, 1831, 1830, 1070, 1064, 1062, 4057, - 2934, 1094, 1968, 1828, 3539, 1208, 1445, 1442, 1443, 1444, - 1449, 1451, 1448, 660, 1447, 1755, 1242, 1488, 1489, 3927, - 1022, 1497, 1502, 1503, 1441, 1506, 1508, 1509, 1510, 1511, - 3494, 1514, 1515, 1517, 1517, 2918, 1517, 1517, 1522, 1522, + 955, 3614, 3615, 87, 3613, 4037, 4114, 3933, 943, 3289, + 4127, 4018, 4081, 1265, 950, 3565, 942, 2088, 4082, 4006, + 2394, 3917, 3189, 1263, 3247, 3196, 3418, 3252, 2100, 3842, + 2323, 3238, 3249, 3248, 3246, 3251, 1768, 3250, 3150, 3915, + 2756, 2031, 3552, 1975, 5, 2325, 3090, 3983, 3267, 3204, + 2468, 737, 3266, 3154, 3151, 3652, 3463, 3457, 2993, 2349, + 908, 2820, 2368, 42, 731, 3138, 3148, 764, 1724, 3449, + 1824, 732, 2365, 904, 903, 3269, 2894, 2431, 2975, 3296, + 2926, 3483, 2895, 2456, 2436, 2896, 1022, 163, 87, 2499, + 2382, 1042, 1074, 1019, 1144, 2845, 1871, 2370, 41, 43, + 2812, 2278, 1711, 2796, 2290, 2246, 2123, 1022, 2369, 2826, + 2245, 2967, 2084, 2039, 2477, 2455, 149, 2357, 2516, 1853, + 2438, 1102, 1084, 2887, 1107, 1757, 2862, 1737, 2372, 100, + 2833, 1690, 1512, 2127, 104, 2059, 105, 2343, 1439, 1424, + 1860, 1971, 1081, 747, 2453, 1952, 1021, 3153, 1025, 1078, + 1113, 1110, 1082, 734, 2427, 1108, 1109, 1756, 1059, 1742, + 1120, 1061, 2196, 2154, 2030, 1031, 2291, 1044, 2794, 3647, + 2428, 1041, 107, 3905, 2350, 742, 1496, 1472, 1253, 1983, + 1028, 167, 2135, 85, 1819, 99, 1026, 1027, 127, 905, + 1017, 125, 126, 1845, 132, 133, 1193, 1054, 93, 1029, + 741, 98, 1261, 1516, 106, 1239, 735, 4115, 2470, 2471, + 2472, 1521, 84, 3553, 3235, 3968, 2470, 2917, 1049, 1053, + 2514, 724, 2949, 2948, 3508, 3545, 1016, 4064, 2983, 1034, + 2984, 3963, 3964, 2046, 128, 1937, 669, 2320, 2321, 3618, + 2045, 3969, 1149, 2044, 1075, 2043, 1146, 134, 2042, 2041, + 1686, 2014, 1209, 666, 4058, 667, 2564, 2792, 3134, 1163, + 1164, 1165, 4085, 1168, 1169, 1170, 1171, 4137, 2503, 1174, + 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, + 1185, 1186, 1187, 1188, 1189, 1190, 1035, 1435, 1123, 1018, + 1210, 1069, 1068, 3257, 725, 1456, 1718, 1124, 1020, 2, + 3942, 1728, 2919, 1099, 2822, 1043, 128, 1150, 1153, 1154, + 95, 95, 2502, 1098, 3618, 1086, 1097, 1096, 3094, 1157, + 3257, 4080, 4120, 709, 4105, 727, 3617, 95, 3423, 1726, + 2062, 1729, 3964, 3254, 3422, 4068, 909, 2346, 959, 960, + 961, 4066, 1166, 2345, 111, 112, 113, 4119, 116, 3255, + 1015, 122, 703, 1091, 191, 2942, 3918, 661, 709, 1727, + 4067, 2757, 95, 2051, 3315, 3838, 4065, 3837, 3558, 722, + 723, 3559, 4095, 1148, 128, 3261, 3255, 1147, 3848, 1010, + 1011, 1012, 1013, 1067, 1071, 907, 1024, 4062, 4019, 2939, + 2573, 3577, 1426, 3566, 1100, 4007, 959, 960, 961, 2093, + 4015, 3617, 3261, 703, 2496, 3847, 4042, 1067, 1071, 907, + 3335, 1834, 86, 3185, 1056, 1057, 3186, 3187, 2956, 2957, + 4047, 2871, 2982, 1758, 2870, 1759, 1090, 2872, 703, 1092, + 2793, 1453, 86, 1454, 1455, 2570, 2836, 86, 4045, 2389, + 2390, 1095, 2388, 1202, 1203, 3576, 700, 4051, 4052, 2023, + 2024, 2966, 703, 1229, 1008, 2571, 3206, 3207, 1234, 1235, + 1258, 2837, 1007, 4046, 4023, 1217, 3934, 1230, 1979, 2501, + 1218, 1223, 1217, 2447, 2883, 1205, 3293, 1218, 2407, 2406, + 1440, 3665, 703, 86, 703, 1216, 88, 1215, 3028, 3258, + 95, 3291, 2829, 2830, 685, 703, 2441, 703, 3947, 1093, + 2562, 1436, 2022, 3323, 3321, 717, 2026, 683, 2322, 721, + 95, 1754, 3297, 2163, 4086, 95, 3258, 715, 2968, 1440, + 2927, 3889, 4023, 3890, 3284, 2353, 1167, 1958, 1095, 2478, + 1087, 1694, 3285, 4117, 2952, 4087, 2523, 1089, 1088, 2517, + 2353, 1927, 1953, 1250, 2540, 1192, 2541, 680, 2542, 1232, + 1233, 1255, 1238, 2970, 1425, 1198, 695, 3547, 3546, 2519, + 2543, 95, 1231, 1236, 704, 3205, 1224, 1173, 1473, 3294, + 1257, 690, 1172, 1237, 3822, 3543, 1256, 3208, 2565, 2566, + 2568, 2567, 693, 1133, 3292, 1928, 1093, 1929, 1450, 2481, + 3312, 2524, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1482, + 1481, 1483, 1484, 1103, 1838, 1131, 1980, 1104, 1122, 3460, + 1060, 2155, 3622, 2366, 2521, 704, 2157, 1104, 1142, 1141, + 2162, 2158, 1697, 1140, 2159, 2160, 2161, 1450, 1094, 2156, + 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 1139, + 704, 1138, 1137, 3208, 1136, 2440, 1135, 1143, 1130, 1487, + 670, 4059, 672, 686, 3029, 706, 2520, 705, 676, 2920, + 674, 678, 687, 679, 704, 673, 4138, 684, 4092, 2522, + 675, 688, 689, 692, 696, 697, 698, 694, 691, 1115, + 682, 707, 2530, 2526, 2528, 2529, 2527, 2531, 2532, 2533, + 3542, 1079, 1079, 1079, 704, 1077, 704, 1446, 1116, 1972, + 1262, 1055, 1262, 1262, 1070, 1064, 1062, 704, 2454, 704, + 2971, 1121, 2507, 1832, 1152, 1094, 1125, 1115, 2351, 2352, + 1115, 1127, 2506, 1968, 1151, 1128, 1126, 3093, 1070, 1064, + 1062, 1427, 1134, 2351, 2352, 2987, 1446, 1160, 1755, 1438, + 3228, 2951, 1961, 1831, 1959, 1960, 1129, 1962, 1963, 1964, + 1022, 1497, 1502, 1503, 1132, 1506, 1508, 1509, 1510, 1511, + 1830, 1514, 1515, 1517, 1517, 2954, 1517, 1517, 1522, 1522, 1522, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, @@ -1746,1035 +1748,1094 @@ var yyAct = [...]int{ 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, - 1644, 1645, 1646, 1494, 3938, 1251, 2915, 1647, 1101, 1649, - 1650, 1651, 1652, 1653, 1418, 1419, 1939, 1938, 1940, 1941, - 1942, 1522, 1522, 1522, 1522, 1522, 1522, 2499, 3503, 3504, - 956, 3572, 708, 703, 3613, 2951, 1660, 1661, 1662, 1663, + 1644, 1645, 1646, 1494, 3941, 1251, 2918, 1647, 3616, 1649, + 1650, 1651, 1652, 1653, 1418, 1419, 3506, 3507, 3461, 1507, + 4021, 1522, 1522, 1522, 1522, 1522, 1522, 1939, 1938, 1940, + 1941, 1942, 1417, 1101, 956, 956, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, - 1498, 1417, 1196, 701, 1445, 1442, 1443, 1444, 1449, 1451, - 1448, 956, 1447, 956, 3613, 1507, 4018, 1687, 702, 3189, - 1434, 1214, 1441, 4018, 3458, 1213, 2352, 1219, 1220, 1221, - 1222, 1518, 2938, 1519, 1520, 2443, 1487, 4047, 94, 1204, - 1523, 1524, 94, 3256, 3257, 3256, 3257, 89, 4017, 1133, - 1063, 1259, 1260, 94, 2569, 4017, 3260, 3310, 3260, 1201, - 1487, 1063, 1131, 1122, 3190, 1717, 1859, 1227, 3099, 2568, - 1693, 2991, 2971, 3403, 2962, 2444, 2937, 2961, 1684, 1022, - 3476, 4046, 2442, 1022, 2497, 1958, 2864, 2829, 3192, 1022, - 1122, 1490, 1491, 1492, 1493, 2794, 2796, 2766, 2095, 1746, - 1648, 1504, 1207, 1122, 2394, 3098, 3187, 1957, 124, 2824, - 668, 1487, 1484, 1685, 3181, 4128, 2445, 1718, 2593, 1240, - 1467, 1038, 2984, 1254, 3203, 3204, 2441, 1159, 2135, 1983, - 3952, 3188, 1477, 1478, 1479, 1480, 1482, 1481, 1483, 1484, - 1145, 1701, 2136, 3535, 3470, 1705, 2582, 2063, 2517, 119, - 2034, 1021, 1964, 2127, 1760, 2993, 94, 1122, 3011, 1095, - 1191, 2064, 1485, 1486, 2062, 3194, 1121, 1212, 2907, 2127, - 4093, 2602, 1703, 3658, 2494, 1858, 104, 1704, 1456, 1455, - 1685, 105, 1654, 1655, 1656, 1657, 1658, 1659, 1454, 1455, - 3510, 3509, 2484, 1121, 704, 1691, 2593, 3327, 1134, 1115, - 1118, 1119, 1868, 1079, 1867, 1857, 1121, 1112, 1116, 1678, - 2489, 1132, 1115, 1118, 1119, 1122, 1079, 107, 2350, 2351, - 1112, 1116, 120, 2492, 1195, 3003, 3002, 3001, 1111, 1133, - 2995, 4085, 2999, 3202, 2994, 2974, 2992, 1131, 2974, 1122, - 2973, 2997, 3495, 2973, 1033, 3205, 1699, 4136, 4130, 2493, - 2996, 1720, 1835, 1836, 1837, 1851, 3569, 1954, 3570, 1955, - 1121, 3827, 1956, 1718, 2795, 1125, 1115, 1241, 2998, 3000, - 1127, 1702, 1226, 2133, 1128, 1126, 1700, 1984, 3826, 1688, - 2496, 1976, 1922, 1228, 1873, 1844, 1874, 1018, 1876, 1878, - 3982, 1723, 1882, 1884, 1886, 1888, 1890, 1863, 1020, 1904, - 1961, 1197, 1959, 1960, 2489, 1962, 1963, 1456, 1718, 2282, - 1262, 1211, 1751, 1752, 1453, 2132, 1454, 1455, 1121, 1912, - 1913, 1947, 1862, 1125, 1115, 1918, 1919, 1456, 1127, 1194, - 1861, 1861, 1128, 1126, 4137, 3983, 4126, 1945, 1934, 4127, - 1827, 4125, 1121, 2491, 1158, 1094, 3817, 3285, 1155, 1456, - 1473, 3920, 2983, 1129, 1842, 2574, 2575, 2576, 1841, 1840, - 1854, 3191, 1479, 1480, 1482, 1481, 1483, 1484, 1706, 3585, - 2052, 2054, 2055, 1865, 1474, 1475, 1476, 1477, 1478, 1479, - 1480, 1482, 1481, 1483, 1484, 1946, 3584, 190, 1473, 3517, - 3516, 1469, 1718, 1470, 1908, 2053, 3921, 959, 960, 961, - 1900, 1944, 1933, 1903, 1972, 1905, 3506, 1471, 1485, 1486, - 1468, 129, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1482, - 1481, 1483, 1484, 1456, 172, 3233, 1473, 3221, 2889, 2888, - 2887, 2449, 2882, 4098, 1718, 1948, 1833, 1932, 1931, 1930, - 1920, 128, 1098, 1453, 1097, 1454, 1455, 1914, 2641, 1096, + 1498, 956, 4020, 2500, 89, 4050, 2572, 2885, 3575, 1434, + 1490, 1491, 1492, 1493, 708, 4131, 2921, 1687, 3259, 3260, + 1504, 1213, 3406, 1219, 1220, 1221, 1222, 1518, 4021, 1519, + 1520, 3263, 3192, 3616, 2444, 701, 1214, 1201, 1859, 1063, + 1523, 1524, 94, 2941, 1487, 3259, 3260, 1259, 1260, 4049, + 702, 1445, 1442, 1443, 1444, 1449, 1451, 1448, 3263, 1447, + 4020, 1122, 94, 1063, 2937, 1717, 3313, 94, 1969, 1441, + 1693, 1828, 1208, 660, 2445, 1204, 1684, 3193, 4060, 1022, + 1196, 2443, 2571, 1022, 2498, 3930, 3497, 2940, 1122, 1022, + 1445, 1442, 1443, 1444, 1449, 1451, 1448, 3102, 1447, 3479, + 1246, 3195, 1248, 2965, 2974, 2867, 2964, 1227, 1441, 2797, + 2799, 1488, 1489, 94, 1685, 2446, 2832, 2769, 2120, 3190, + 2096, 1746, 1648, 1207, 3101, 2442, 124, 2827, 1159, 2395, + 2585, 1479, 1480, 1482, 1481, 1483, 1484, 3206, 3207, 1701, + 1245, 1247, 668, 1705, 3191, 1487, 1484, 1858, 2136, 1021, + 3184, 2596, 1467, 1038, 3955, 1254, 1122, 1240, 1984, 1145, + 1212, 3538, 2137, 1718, 1121, 1477, 1478, 1479, 1480, 1482, + 1481, 1483, 1484, 1703, 1957, 1704, 3473, 104, 3197, 105, + 2518, 1685, 1654, 1655, 1656, 1657, 1658, 1659, 2035, 1965, + 1760, 1121, 3014, 2064, 2128, 119, 1691, 1115, 1118, 1119, + 1122, 1079, 2128, 2910, 2605, 1112, 1116, 2065, 1485, 1486, + 2063, 1678, 1454, 1455, 3661, 107, 2112, 2101, 2102, 2103, + 2104, 2114, 2105, 2106, 2107, 2119, 2115, 2108, 2109, 2116, + 2117, 2118, 2110, 2111, 2113, 4096, 4129, 1095, 1191, 4130, + 1122, 4128, 2596, 1456, 1455, 3513, 3205, 1243, 2977, 1699, + 3512, 1244, 2485, 2976, 1835, 1836, 1837, 2994, 3208, 1121, + 1868, 1249, 1867, 1851, 1857, 1115, 1118, 1119, 120, 1079, + 2977, 1702, 1720, 1112, 1116, 2976, 2495, 1700, 2798, 2493, + 2497, 1977, 1922, 1844, 1133, 1018, 1242, 1873, 1688, 1874, + 1723, 1876, 1878, 2134, 1111, 1882, 1884, 1886, 1888, 1890, + 1863, 1020, 1195, 1121, 1211, 1241, 1985, 1904, 1125, 1115, + 1262, 2490, 1226, 1127, 1751, 1752, 2490, 1128, 1126, 1197, + 1862, 1912, 1913, 1228, 1954, 1131, 1955, 1918, 1919, 1956, + 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1458, 1473, 1861, + 1861, 2996, 1827, 1121, 4139, 1158, 4088, 1456, 3498, 1155, + 2494, 2053, 2055, 2056, 3985, 2492, 3923, 1854, 1033, 1841, + 1842, 1840, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1482, + 1481, 1483, 1484, 1865, 1947, 3194, 2054, 1945, 3572, 1453, + 3573, 1454, 1455, 1706, 1474, 1475, 1476, 1477, 1478, 1479, + 1480, 1482, 1481, 1483, 1484, 1908, 1456, 1718, 4133, 3986, + 1900, 3924, 2283, 1903, 2133, 1905, 1973, 2602, 1194, 1456, + 3830, 3829, 3006, 3005, 3004, 1934, 2283, 2998, 3820, 3002, + 2280, 2997, 1456, 2995, 1094, 2577, 2578, 2579, 3000, 2282, + 3588, 4140, 1456, 2358, 2359, 3587, 3520, 2999, 1946, 128, + 3519, 1944, 1473, 954, 3509, 1469, 1098, 1470, 3236, 1097, + 1096, 1833, 959, 960, 961, 3001, 3003, 3224, 1456, 2892, + 2891, 1471, 1485, 1486, 1468, 1990, 1474, 1475, 1476, 1477, + 1478, 1479, 1480, 1482, 1481, 1483, 1484, 1262, 1262, 1933, + 2601, 1986, 1987, 1453, 2890, 1454, 1455, 2450, 3288, 2012, + 1948, 87, 3016, 1932, 87, 1991, 1473, 1931, 2986, 1930, + 1920, 709, 1998, 1999, 2000, 1914, 4101, 1718, 1911, 1910, + 1909, 1880, 2011, 1698, 1421, 190, 4099, 1718, 1754, 4089, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1482, 1481, 1483, - 1484, 1911, 190, 1453, 1910, 1454, 1455, 1989, 1460, 1461, - 1462, 1463, 1464, 1465, 1466, 1458, 1909, 1262, 1262, 1456, - 169, 1985, 1986, 170, 1880, 1453, 129, 1454, 1455, 2011, - 1473, 87, 1698, 1421, 87, 1990, 3500, 709, 709, 172, - 1754, 2629, 1997, 1998, 1999, 1473, 189, 2581, 2871, 709, - 4086, 1456, 2010, 3947, 1474, 1475, 1476, 1477, 1478, 1479, - 1480, 1482, 1481, 1483, 1484, 1456, 2465, 2464, 3946, 1474, + 1484, 3950, 1453, 110, 1454, 1455, 1731, 1456, 3949, 129, + 3927, 2120, 4029, 1718, 109, 1453, 108, 1454, 1455, 3503, + 709, 42, 172, 3926, 42, 103, 2874, 709, 1453, 3925, + 1454, 1455, 3825, 2091, 2091, 2089, 2089, 2092, 1453, 2642, + 1454, 1455, 2466, 2465, 1988, 2464, 2463, 2462, 2461, 1452, + 1718, 1992, 1732, 1994, 1995, 1996, 1997, 1456, 110, 3809, + 2001, 2057, 1456, 101, 1453, 2876, 1454, 1455, 3808, 109, + 103, 108, 2013, 2640, 102, 1456, 2818, 4116, 169, 2632, + 3660, 170, 101, 3658, 1718, 3198, 3584, 1456, 1683, 3202, + 1682, 4027, 1718, 102, 4076, 1718, 3201, 2592, 1681, 1684, + 1452, 1718, 1718, 2174, 189, 2818, 4014, 2818, 3993, 2112, + 2101, 2102, 2103, 2104, 2114, 2105, 2106, 2107, 2119, 2115, + 2108, 2109, 2116, 2117, 2118, 2110, 2111, 2113, 2036, 1718, + 3203, 2818, 3989, 3976, 1718, 3199, 3517, 1685, 3502, 1718, + 3200, 85, 2061, 1453, 85, 1454, 1455, 1718, 1718, 2019, + 2020, 3556, 3940, 3943, 2067, 1473, 2069, 2070, 2071, 2072, + 2073, 2074, 2076, 2078, 2079, 2080, 2081, 2082, 2083, 3833, + 1718, 4025, 1718, 2818, 3821, 3556, 1718, 2066, 3298, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1482, 1481, 1483, 1484, - 2463, 2462, 2873, 1475, 1476, 1477, 1478, 1479, 1480, 1482, - 1481, 1483, 1484, 42, 3924, 169, 42, 3923, 170, 1453, - 1456, 1454, 1455, 2090, 2090, 2088, 2088, 2091, 3013, 1456, - 2282, 2461, 2460, 1456, 2279, 1731, 3922, 1456, 1987, 2815, - 4113, 189, 2589, 2281, 3822, 1991, 3806, 1993, 1994, 1995, - 1996, 3805, 2056, 101, 2000, 4096, 1718, 954, 4073, 1718, - 103, 3195, 3657, 101, 102, 3199, 2012, 1452, 1718, 4026, - 1718, 1473, 3198, 110, 102, 1453, 3655, 1454, 1455, 3581, - 173, 1732, 2815, 4011, 109, 1683, 108, 2815, 3990, 179, - 1682, 1684, 1681, 1456, 2173, 1474, 1475, 1476, 1477, 1478, - 1479, 1480, 1482, 1481, 1483, 1484, 3200, 1453, 3514, 1454, - 1455, 3196, 3499, 4024, 1718, 1718, 3197, 4022, 1718, 1718, - 3940, 1453, 4087, 1454, 1455, 2639, 1685, 2815, 3986, 1718, - 85, 2035, 2060, 85, 3295, 1452, 1718, 3973, 1718, 2018, - 2019, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1482, 1481, - 1483, 1484, 2119, 1456, 1718, 173, 1453, 3292, 1454, 1455, - 3553, 3937, 3853, 1456, 179, 1453, 2065, 1454, 1455, 1453, - 3224, 1454, 1455, 1453, 3223, 1454, 1455, 3899, 1718, 3830, - 1718, 3852, 2293, 2815, 3818, 3553, 1718, 3810, 2094, 2292, - 2066, 2898, 2068, 2069, 2070, 2071, 2072, 2073, 2075, 2077, - 2078, 2079, 2080, 2081, 2082, 2885, 2291, 1498, 1680, 1456, - 2121, 2123, 2550, 164, 2137, 2138, 2139, 2140, 2815, 3551, - 3809, 2278, 110, 2549, 2128, 2489, 1718, 2172, 2151, 1453, - 2511, 1454, 1455, 109, 2510, 108, 2347, 3897, 1718, 3474, - 1718, 3561, 1456, 2327, 103, 2721, 1718, 3894, 1718, 2925, - 2111, 2100, 2101, 2102, 2103, 2113, 2104, 2105, 2106, 2118, - 2114, 2107, 2108, 2115, 2116, 2117, 2109, 2110, 2112, 3214, - 3213, 2903, 2373, 2014, 2187, 1980, 2296, 2297, 1456, 2067, - 2293, 3211, 3212, 3209, 3210, 3209, 3208, 2362, 164, 1453, - 103, 1454, 1455, 3876, 1718, 104, 2280, 2839, 1718, 1453, - 105, 1454, 1455, 1718, 2291, 2568, 2947, 1456, 2403, 1823, - 2928, 2921, 2922, 2815, 2814, 1456, 104, 2811, 2637, 2595, - 1718, 105, 1943, 2185, 2059, 2860, 3445, 1718, 109, 1456, - 2338, 1935, 103, 2196, 2375, 2093, 1718, 2490, 1456, 1925, - 2599, 2838, 1921, 1917, 1084, 1453, 1456, 1454, 1455, 1718, - 2295, 1916, 1915, 2298, 2299, 2860, 1823, 1822, 2412, 2413, - 2414, 2415, 3438, 1718, 2407, 1733, 2408, 2409, 2410, 2411, - 2314, 2398, 1034, 2397, 1766, 1765, 2326, 1084, 1453, 1252, - 1454, 1455, 2418, 2419, 2420, 2421, 2379, 2831, 2861, 2831, - 2595, 2332, 1718, 2333, 2402, 2489, 2839, 1452, 2863, 3435, - 1718, 3146, 2432, 2269, 2270, 2271, 2272, 2273, 2340, 2337, - 2401, 3469, 3469, 2598, 1453, 1452, 1454, 1455, 2861, 2478, - 3471, 2438, 3433, 1718, 2360, 1456, 4074, 3176, 2568, 1456, - 3395, 1718, 3978, 2384, 2385, 2383, 1789, 2568, 3951, 1456, - 2815, 2400, 2839, 1453, 2399, 1454, 1455, 1069, 3424, 1068, - 165, 1453, 3211, 1454, 1455, 2475, 3119, 177, 2316, 2839, - 2448, 3469, 2386, 2595, 2196, 1453, 2721, 1454, 1455, 2626, - 1456, 2625, 2489, 2472, 1453, 2355, 1454, 1455, 1722, 2317, - 2093, 2433, 1453, 2036, 1454, 1455, 2422, 2424, 2425, 2429, - 2020, 1023, 1966, 2447, 2483, 2451, 1753, 2486, 185, 2487, - 2459, 1456, 1106, 1105, 95, 1456, 4052, 3993, 2503, 3393, - 1718, 1456, 3236, 3389, 1718, 3841, 2433, 2482, 1456, 2481, - 1725, 1124, 2485, 3386, 1718, 165, 1123, 3807, 3669, 3534, - 3531, 1861, 177, 3512, 3337, 2507, 3336, 2504, 1825, 2508, - 2509, 166, 171, 168, 174, 175, 176, 178, 180, 181, - 182, 183, 1719, 1721, 3384, 1718, 2431, 184, 186, 187, - 188, 1453, 3283, 1454, 1455, 1453, 3238, 1454, 1455, 95, - 3234, 2573, 2929, 185, 2428, 1453, 2423, 1454, 1455, 2417, - 1456, 2416, 1777, 1950, 2514, 3382, 1718, 1856, 3287, 3380, - 1718, 1852, 1821, 121, 2119, 1508, 3935, 1508, 2894, 2895, - 1196, 3842, 3378, 1718, 3481, 3482, 1453, 3518, 1454, 1455, - 1896, 2446, 2330, 2585, 4108, 4106, 166, 171, 168, 174, - 175, 176, 178, 180, 181, 182, 183, 3522, 2543, 2293, - 4080, 3959, 184, 186, 187, 188, 2292, 1453, 3881, 1454, - 1455, 1453, 1456, 1454, 1455, 3484, 2895, 1453, 1456, 1454, - 1455, 3230, 2016, 2588, 1453, 3487, 1454, 1455, 3519, 3520, - 3521, 1897, 1898, 1899, 3376, 1718, 1790, 3229, 3228, 3146, - 2908, 2544, 2357, 2358, 3523, 3524, 3525, 1456, 2558, 3486, - 2844, 2847, 2848, 2849, 2845, 1456, 2846, 2850, 3165, 1456, - 3164, 2566, 2111, 2100, 2101, 2102, 2103, 2113, 2104, 2105, - 2106, 2118, 2114, 2107, 2108, 2115, 2116, 2117, 2109, 2110, - 2112, 3955, 3168, 1456, 2017, 2577, 1453, 3169, 1454, 1455, - 3166, 3170, 1456, 2848, 2849, 3167, 2060, 3814, 1803, 1806, - 1807, 1808, 1809, 1810, 1811, 1456, 1812, 1813, 1815, 1816, - 1814, 1817, 1818, 1791, 1792, 1793, 1794, 1775, 1776, 1804, - 3843, 1778, 665, 1779, 1780, 1781, 1782, 1783, 1784, 1785, - 1786, 1787, 3536, 1456, 1788, 1795, 1796, 1797, 1798, 3848, - 1799, 1800, 1801, 1802, 2890, 1456, 2601, 2346, 1453, 1730, - 1454, 1455, 2336, 2578, 1453, 2580, 1454, 1455, 3475, 3919, - 1892, 1456, 1036, 1735, 2583, 1456, 2584, 3374, 1718, 1456, - 2552, 2553, 3124, 2586, 1456, 2555, 3372, 1718, 3136, 3138, - 3123, 3648, 2765, 1453, 2556, 1454, 1455, 3139, 3650, 3370, - 1718, 1453, 1456, 1454, 1455, 1453, 726, 1454, 1455, 2635, - 3465, 3639, 1456, 3638, 3462, 1039, 1456, 1893, 1894, 1895, - 3133, 1037, 3461, 1040, 2797, 3207, 1965, 3368, 1718, 1453, - 1006, 1454, 1455, 2878, 2135, 2899, 1162, 1161, 1453, 1734, - 1454, 1455, 1022, 2090, 3303, 2088, 2800, 2894, 2136, 2977, - 1456, 1453, 2579, 1454, 1455, 3366, 1718, 1420, 1456, 3364, - 1718, 3637, 2935, 3362, 1718, 2836, 2837, 129, 3360, 1718, - 3467, 2798, 101, 101, 2373, 2357, 2358, 1022, 2856, 1453, - 103, 1454, 1455, 102, 102, 2608, 3358, 1718, 103, 4122, - 3226, 1453, 2547, 1454, 1455, 1456, 3356, 1718, 2059, 4031, - 3342, 1718, 2623, 3936, 3837, 2835, 2816, 1453, 110, 1454, - 1455, 1453, 3206, 1454, 1455, 1453, 1456, 1454, 1455, 109, - 1453, 108, 1454, 1455, 1456, 2852, 3447, 42, 2341, 1456, - 103, 1047, 1048, 2536, 3325, 1718, 2853, 2812, 1453, 2855, - 1454, 1455, 2786, 1718, 2572, 1691, 2825, 2788, 1453, 2854, - 1454, 1455, 1453, 3122, 1454, 1455, 1456, 2535, 2534, 1805, - 1456, 3121, 3907, 2533, 2801, 2532, 2803, 2881, 2883, 2808, - 110, 1685, 108, 1456, 3906, 3884, 3455, 3656, 3654, 2784, - 1718, 109, 2828, 108, 2874, 2813, 1453, 3653, 1454, 1455, - 1456, 2933, 2858, 3646, 1453, 1456, 1454, 1455, 3532, 1456, - 2759, 1718, 3466, 1456, 3464, 3239, 2862, 2473, 2736, 1718, - 1839, 2865, 1046, 2728, 1718, 2438, 2872, 109, 110, 3645, - 1456, 2831, 2875, 2130, 4110, 4109, 4109, 2944, 2131, 109, - 3623, 1453, 2897, 1454, 1455, 2811, 3027, 2900, 2901, 2886, - 2719, 1718, 2627, 2328, 2717, 1718, 1747, 1739, 114, 115, - 4110, 3925, 1453, 3498, 1454, 1455, 2896, 2704, 1718, 3, - 1453, 97, 1454, 1455, 2191, 1453, 2904, 1454, 1455, 2905, - 1, 2909, 2910, 2911, 2702, 1718, 1456, 1014, 1423, 2700, - 1718, 1456, 2941, 2698, 1718, 1456, 2033, 2696, 1718, 10, - 1422, 1844, 1453, 1456, 1454, 1455, 1453, 1456, 1454, 1455, - 3502, 2930, 2931, 1456, 2694, 1718, 4041, 681, 2318, 1453, - 2920, 1454, 1455, 2987, 2988, 2031, 2940, 1689, 9, 2032, - 1456, 4081, 8, 4037, 4038, 1456, 1453, 1936, 1454, 1455, - 1926, 1453, 3564, 1454, 1455, 1453, 2243, 1454, 1455, 1453, - 3838, 1454, 1455, 1456, 2275, 3242, 2479, 2966, 3004, 3530, - 2436, 1114, 154, 1456, 2985, 2395, 1453, 2969, 1454, 1455, - 2692, 1718, 2396, 4006, 1456, 2690, 1718, 118, 1072, 2688, - 1718, 117, 1117, 1225, 2308, 2474, 3554, 2686, 1718, 2879, - 2404, 2684, 1718, 1456, 1772, 1770, 1771, 2682, 1718, 1456, - 1769, 1719, 2315, 1774, 1773, 2942, 3311, 2628, 3005, 3008, - 1456, 3402, 2024, 716, 2680, 1718, 2851, 710, 192, 2678, - 1718, 1761, 1453, 1740, 1454, 1455, 3416, 1453, 1156, 1454, - 1455, 1453, 671, 1454, 1455, 3215, 2339, 2676, 1718, 1453, - 2512, 1454, 1455, 1453, 677, 1454, 1455, 2674, 1718, 1453, - 1505, 1454, 1455, 2015, 3120, 1456, 3029, 2866, 2672, 1718, - 1456, 1066, 1058, 2329, 2802, 3085, 1453, 2975, 1454, 1455, - 2976, 1453, 1065, 1454, 1455, 3815, 3154, 2670, 1718, 3459, - 3132, 3134, 2818, 2665, 1718, 3137, 3130, 3918, 3647, 1453, - 3991, 1454, 1455, 2876, 3489, 2989, 1736, 3423, 2600, 1453, - 2125, 1454, 1455, 3006, 1495, 2372, 3618, 2051, 739, 3092, - 1453, 738, 1454, 1455, 3103, 736, 3094, 2804, 2832, 1459, - 944, 2792, 2373, 1748, 3020, 2843, 1456, 2841, 2278, 1453, - 2278, 1454, 1455, 2840, 3065, 1453, 2545, 1454, 1455, 2661, - 1718, 2380, 2450, 3483, 3440, 3153, 1453, 87, 1454, 1455, - 2373, 2373, 2373, 2373, 2373, 3007, 1456, 3075, 3076, 3077, - 3078, 3079, 3479, 4033, 2374, 2370, 2810, 895, 894, 748, - 2373, 740, 3093, 2373, 3095, 730, 1456, 3103, 893, 892, - 2986, 3102, 3269, 1456, 2375, 3270, 2950, 3158, 1976, 3284, - 2952, 1453, 3175, 1454, 1455, 2877, 1453, 3127, 1454, 1455, - 3280, 3118, 1437, 2280, 3114, 2280, 1456, 1708, 1085, 1025, - 2659, 1718, 2375, 2375, 2375, 2375, 2375, 3308, 3942, 3125, - 2571, 3128, 3331, 1707, 3949, 3140, 3141, 3250, 3548, 1456, - 2591, 3231, 2375, 2926, 2466, 2375, 69, 3259, 46, 3913, - 2590, 3157, 3979, 887, 1026, 3177, 3159, 3267, 3178, 3162, - 3160, 3161, 3171, 3163, 104, 1027, 3115, 3116, 3117, 105, - 2652, 1718, 1453, 3179, 1454, 1455, 1456, 2650, 1718, 884, - 3620, 3185, 3621, 3622, 3088, 3126, 3089, 1456, 3962, 3963, - 883, 3964, 3216, 2180, 3218, 3067, 1433, 3069, 3217, 1430, - 3436, 4054, 1453, 1456, 1454, 1455, 2026, 3219, 3220, 96, - 36, 35, 34, 3080, 3081, 3082, 3083, 3271, 3268, 3143, - 33, 3272, 1453, 3401, 1454, 1455, 3240, 2438, 3261, 1453, - 32, 1454, 1455, 26, 25, 24, 23, 22, 3278, 29, - 19, 21, 20, 3149, 1456, 18, 3253, 4076, 3149, 1456, - 4121, 123, 1453, 1456, 1454, 1455, 55, 52, 50, 131, - 3397, 3296, 130, 53, 3299, 49, 3298, 1199, 47, 31, - 30, 3334, 17, 16, 15, 1453, 3306, 1454, 1455, 3316, - 14, 13, 3313, 3314, 12, 3315, 3262, 3333, 3317, 11, - 3319, 7, 3321, 2844, 2847, 2848, 2849, 2845, 6, 2846, - 2850, 39, 38, 3481, 3482, 37, 28, 27, 40, 4, - 2913, 2468, 1453, 0, 1454, 1455, 0, 1508, 0, 0, - 2587, 1508, 0, 1453, 2592, 1454, 1455, 0, 3330, 0, - 0, 0, 0, 2782, 3241, 0, 0, 2781, 0, 1453, - 0, 1454, 1455, 0, 0, 0, 0, 2596, 0, 2597, - 3418, 0, 0, 0, 2604, 0, 0, 3422, 2606, 2607, - 0, 0, 0, 0, 0, 0, 0, 2613, 2614, 2615, - 2616, 2617, 2618, 2619, 2620, 2621, 2622, 0, 2624, 0, - 1453, 0, 1454, 1455, 0, 1453, 0, 1454, 1455, 1453, - 3152, 1454, 1455, 0, 0, 0, 0, 2373, 0, 0, - 0, 2630, 2631, 2632, 2633, 2634, 0, 2636, 0, 1456, - 3496, 2638, 0, 0, 3463, 2643, 2644, 728, 2645, 3448, - 3449, 2648, 3456, 2649, 2651, 2653, 2654, 2655, 2656, 2657, - 2658, 2660, 2662, 2663, 2664, 2666, 0, 2668, 2669, 2671, - 2673, 2675, 2677, 2679, 2681, 2683, 2685, 2687, 2689, 2691, - 2693, 2695, 2697, 2699, 2701, 2703, 2705, 2706, 2707, 2375, - 2709, 3488, 2711, 3490, 2713, 2714, 3485, 2716, 2718, 2720, - 3271, 3268, 3491, 2723, 3272, 3451, 3497, 2727, 3468, 1456, - 0, 2732, 2733, 2734, 2735, 0, 0, 3513, 0, 3515, - 3301, 3302, 3307, 2777, 2746, 2747, 2748, 2749, 2750, 2751, - 0, 3453, 2755, 2756, 0, 3558, 3559, 0, 0, 0, - 2758, 0, 3507, 3508, 0, 2764, 3425, 0, 3427, 3428, - 3429, 2767, 2768, 2769, 2770, 2771, 1045, 1456, 0, 1051, - 1051, 957, 2778, 2779, 3478, 2780, 958, 0, 2783, 2785, - 2339, 0, 2787, 1716, 1712, 1453, 2089, 1454, 1455, 0, - 0, 0, 2799, 3492, 3493, 0, 0, 0, 1713, 0, - 0, 1716, 1712, 2776, 0, 3541, 0, 0, 3560, 3545, - 3546, 3547, 0, 0, 0, 0, 1713, 0, 0, 0, - 1456, 0, 0, 2334, 2335, 1715, 0, 1714, 0, 0, - 0, 0, 0, 3576, 0, 3537, 3538, 0, 0, 0, - 1456, 1709, 1710, 1715, 0, 1714, 0, 0, 0, 1456, - 0, 2775, 0, 1456, 0, 1453, 0, 1454, 1455, 1456, - 0, 964, 965, 966, 967, 968, 969, 970, 971, 972, - 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, - 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, - 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 1453, 2774, 1454, 1455, 3636, 0, 3640, - 3641, 0, 0, 0, 0, 3626, 0, 3627, 3628, 3629, - 1456, 3616, 0, 0, 2773, 0, 0, 1456, 0, 0, - 0, 1456, 3153, 2772, 87, 3642, 3153, 2763, 0, 0, - 0, 0, 0, 2762, 1456, 0, 0, 0, 1456, 0, - 0, 0, 0, 0, 0, 0, 1453, 0, 1454, 1455, - 3580, 0, 1456, 0, 2090, 0, 2088, 3671, 0, 0, - 3643, 0, 0, 3651, 3663, 3652, 1453, 0, 1454, 1455, - 0, 0, 0, 3659, 3661, 1453, 0, 1454, 1455, 1453, - 0, 1454, 1455, 0, 0, 1453, 42, 1454, 1455, 0, - 0, 3821, 0, 0, 2761, 0, 0, 0, 3675, 0, - 0, 2760, 0, 0, 0, 2757, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2752, 0, - 0, 0, 2745, 0, 0, 0, 0, 0, 0, 0, - 0, 3813, 0, 3812, 0, 0, 2744, 0, 0, 0, - 0, 0, 0, 3828, 0, 3811, 1453, 0, 1454, 1455, - 3833, 3840, 3832, 1453, 0, 1454, 1455, 1453, 0, 1454, - 1455, 0, 3878, 3879, 3015, 3016, 3017, 3018, 3019, 0, - 1453, 3665, 1454, 1455, 1453, 0, 1454, 1455, 0, 0, - 2090, 0, 2088, 3882, 3024, 3823, 3824, 3825, 1453, 0, - 1454, 1455, 0, 0, 0, 0, 3672, 3673, 3607, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3149, - 0, 0, 0, 3153, 0, 0, 0, 0, 3885, 3667, - 0, 3816, 3888, 0, 0, 0, 0, 1525, 1526, 1527, - 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, - 1538, 1539, 1540, 1541, 1542, 1543, 1545, 1546, 1547, 1548, - 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, - 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, - 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, - 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, - 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, - 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, - 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, - 1619, 1620, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, - 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1643, 1644, - 1645, 1646, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, - 1668, 1669, 1670, 1671, 1672, 1673, 3929, 3152, 3926, 3883, - 3911, 3152, 3908, 3909, 1456, 3910, 0, 0, 0, 0, - 3943, 0, 1456, 0, 0, 0, 0, 1456, 0, 0, - 0, 1456, 0, 0, 0, 1456, 3928, 0, 87, 0, - 0, 0, 3155, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1456, 0, 0, 0, - 3173, 0, 0, 3932, 1456, 0, 0, 0, 0, 3945, - 1456, 0, 0, 0, 0, 3948, 3820, 0, 3950, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1456, 0, - 0, 0, 0, 0, 0, 0, 0, 3917, 2743, 0, - 42, 0, 0, 0, 0, 0, 2742, 0, 0, 0, - 0, 2741, 0, 0, 0, 2740, 0, 0, 0, 2739, - 0, 0, 0, 0, 0, 0, 0, 1457, 3968, 0, - 0, 3969, 3988, 0, 0, 0, 0, 87, 0, 0, - 2738, 0, 0, 0, 3934, 0, 0, 0, 2737, 0, - 1453, 3977, 1454, 1455, 2731, 0, 0, 1513, 1453, 0, - 1454, 1455, 0, 1453, 3984, 1454, 1455, 1453, 3994, 1454, - 1455, 1453, 2730, 1454, 1455, 4005, 4019, 3992, 3953, 0, - 3997, 4002, 3999, 3998, 3996, 4001, 0, 0, 3305, 3840, - 4008, 4000, 1453, 0, 1454, 1455, 0, 0, 3152, 42, - 1453, 4029, 1454, 1455, 0, 0, 1453, 0, 1454, 1455, - 3322, 3323, 4032, 3324, 4050, 3326, 3328, 4040, 0, 4045, - 0, 4058, 0, 0, 1453, 4060, 1454, 1455, 4019, 3335, - 0, 0, 4071, 0, 3339, 3340, 3341, 3343, 3344, 3345, + 3295, 3227, 2294, 1453, 3226, 1454, 1455, 2901, 1453, 2888, + 1454, 1455, 2292, 1680, 2095, 2553, 2122, 2124, 2068, 1456, + 2552, 1453, 2512, 1454, 1455, 2818, 3554, 1498, 173, 1456, + 2490, 1718, 2293, 1453, 2511, 1454, 1455, 179, 3477, 1718, + 1473, 2348, 2724, 1718, 2129, 2281, 2328, 2173, 2188, 2138, + 2139, 2140, 2141, 1473, 2279, 2584, 1456, 3217, 3216, 3214, + 3215, 3856, 2644, 2152, 1474, 1475, 1476, 1477, 1478, 1479, + 1480, 1482, 1481, 1483, 1484, 3212, 3213, 1474, 1475, 1476, + 1477, 1478, 1479, 1480, 1482, 1481, 1483, 1484, 3212, 3211, + 2842, 1718, 2374, 2571, 2950, 2297, 2298, 1823, 2931, 1456, + 2294, 2924, 2925, 3902, 1718, 2818, 2817, 2598, 1718, 3855, + 2292, 103, 2863, 3900, 1718, 3813, 104, 2015, 105, 1475, + 1476, 1477, 1478, 1479, 1480, 1482, 1481, 1483, 1484, 2404, + 2363, 2094, 1718, 3812, 1456, 2863, 2814, 104, 1981, 105, + 3897, 1718, 3564, 2186, 1943, 2060, 1935, 1925, 1921, 1456, + 1917, 103, 2376, 2197, 2339, 1453, 2296, 1454, 1455, 2299, + 2300, 1916, 164, 1456, 1084, 1453, 1915, 1454, 1455, 1733, + 1718, 1823, 1822, 2594, 1252, 2864, 1456, 1766, 1765, 2413, + 2414, 2415, 2416, 2593, 2408, 2866, 2409, 2410, 2411, 2412, + 1034, 1456, 1453, 2398, 1454, 1455, 2327, 1084, 2864, 2399, + 2928, 3149, 2419, 2420, 2421, 2422, 2380, 2834, 2571, 2598, + 1456, 2315, 3472, 2491, 2333, 2338, 2334, 2834, 3879, 1718, + 3179, 2906, 109, 2270, 2271, 2272, 2273, 2274, 2341, 2403, + 2571, 2402, 3472, 3448, 1718, 1453, 2433, 1454, 1455, 1452, + 3474, 2479, 3981, 2361, 3954, 2841, 2439, 3441, 1718, 1456, + 2818, 2842, 2385, 2386, 3427, 2384, 3214, 3122, 1456, 2387, + 3438, 1718, 2401, 2400, 2598, 2724, 2629, 2628, 1069, 1068, + 1453, 2490, 1454, 1455, 2490, 3436, 1718, 2473, 2317, 2842, + 2356, 1722, 2449, 2476, 2197, 1453, 1456, 1454, 1455, 3472, + 1456, 1452, 2318, 2094, 3398, 1718, 2037, 1456, 2021, 1453, + 2842, 1454, 1455, 1967, 1753, 1456, 1023, 1106, 1105, 2434, + 95, 2430, 1453, 2452, 1454, 1455, 2448, 2484, 2460, 1456, + 2487, 4055, 2488, 2423, 2425, 2426, 1456, 1453, 3996, 1454, + 1455, 3844, 3239, 3396, 1718, 1456, 2504, 1735, 1725, 2483, + 2486, 1123, 3392, 1718, 2434, 2482, 1453, 1456, 1454, 1455, + 1124, 3810, 3672, 3537, 3534, 3515, 190, 3340, 3339, 2505, + 1861, 2508, 3521, 1825, 2432, 2509, 2510, 3286, 3241, 2897, + 3389, 1718, 1719, 1721, 3387, 1718, 3237, 2932, 2429, 1456, + 129, 3385, 1718, 1456, 95, 1453, 2424, 1454, 1455, 3383, + 1718, 2418, 2576, 172, 1453, 2417, 1454, 1455, 1456, 165, + 1950, 1856, 3290, 1734, 2515, 1852, 177, 1821, 121, 2898, + 3381, 1718, 3845, 3522, 3523, 3524, 1508, 2898, 1508, 3379, + 1718, 1196, 1453, 2447, 1454, 1455, 1453, 1456, 1454, 1455, + 2331, 3377, 1718, 1453, 2588, 1454, 1455, 3484, 3485, 1456, + 4111, 1453, 2017, 1454, 1455, 1456, 4109, 185, 4083, 169, + 2294, 2546, 170, 3962, 3884, 1453, 1456, 1454, 1455, 3487, + 2591, 3233, 1453, 3851, 1454, 1455, 1456, 3375, 1718, 3232, + 1456, 1453, 3231, 1454, 1455, 189, 3149, 1456, 2911, 3525, + 2293, 2547, 3492, 1453, 3490, 1454, 1455, 3489, 3168, 1456, + 166, 171, 168, 174, 175, 176, 178, 180, 181, 182, + 183, 2561, 1456, 3167, 2018, 665, 184, 186, 187, 188, + 1730, 3373, 1718, 3958, 1456, 1453, 2569, 1454, 1455, 1453, + 3846, 1454, 1455, 3371, 1718, 1456, 3526, 3527, 3528, 3369, + 1718, 2347, 2337, 3330, 1453, 1456, 1454, 1455, 3478, 2580, + 3367, 1718, 2847, 2850, 2851, 2852, 2848, 2061, 2849, 2853, + 3365, 1718, 1456, 3127, 3363, 1718, 3922, 3126, 2581, 1456, + 2583, 3361, 1718, 1453, 1456, 1454, 1455, 3139, 3141, 2586, + 3651, 2587, 1456, 3359, 1718, 1453, 3142, 1454, 1455, 726, + 3171, 1453, 3468, 1454, 1455, 3172, 3345, 1718, 3653, 173, + 1036, 1456, 1453, 3136, 1454, 1455, 3169, 1966, 179, 1718, + 2604, 3170, 1453, 1006, 1454, 1455, 1453, 3210, 1454, 1455, + 1718, 2881, 2582, 1453, 2902, 1454, 1455, 2555, 2556, 3328, + 1718, 1456, 2558, 3306, 2589, 1453, 3465, 1454, 1455, 1456, + 1162, 2559, 1892, 2768, 3464, 1456, 2789, 1718, 1453, 1037, + 1454, 1455, 1161, 2787, 1718, 2897, 2980, 1456, 2762, 1718, + 1453, 1039, 1454, 1455, 2638, 1420, 2739, 1718, 2136, 1040, + 1456, 1453, 2938, 1454, 1455, 2800, 3173, 1456, 2851, 2852, + 129, 1453, 2137, 1454, 1455, 2731, 1718, 3470, 1456, 1893, + 1894, 1895, 101, 1022, 2091, 101, 2089, 2803, 1453, 103, + 1454, 1455, 1456, 102, 103, 1453, 102, 1454, 1455, 3642, + 1453, 3641, 1454, 1455, 1456, 3443, 2839, 2840, 1453, 4034, + 1454, 1455, 2801, 2722, 1718, 2374, 1456, 4125, 1022, 2859, + 4090, 2358, 2359, 164, 3229, 2550, 2611, 1453, 3939, 1454, + 1455, 2720, 1718, 3840, 2804, 1456, 2806, 3209, 3125, 2855, + 2060, 2342, 110, 2626, 2707, 1718, 3124, 2838, 2819, 3640, + 1456, 2705, 1718, 109, 1456, 108, 2539, 1453, 3450, 1454, + 1455, 1456, 2703, 1718, 103, 1453, 42, 1454, 1455, 2538, + 1896, 1453, 2537, 1454, 1455, 2856, 3439, 2857, 2858, 1047, + 1048, 1456, 2815, 1453, 2536, 1454, 1455, 1691, 2701, 1718, + 2791, 2535, 2534, 1456, 2575, 108, 1453, 109, 1454, 1455, + 2699, 1718, 2828, 1453, 3910, 1454, 1455, 3909, 2811, 2884, + 2886, 1456, 3887, 1685, 1453, 3659, 1454, 1455, 3657, 2697, + 1718, 1897, 1898, 1899, 2831, 2877, 2816, 3458, 1453, 3656, + 1454, 1455, 2936, 2861, 2695, 1718, 3649, 1456, 2693, 1718, + 1453, 1456, 1454, 1455, 3535, 2691, 1718, 3469, 2865, 1456, + 3467, 3242, 1453, 2868, 1454, 1455, 2474, 3648, 2875, 1456, + 1839, 2439, 1046, 2131, 2878, 2689, 1718, 2834, 2132, 2947, + 4112, 1453, 110, 1454, 1455, 2900, 110, 2687, 1718, 1456, + 2903, 2904, 2889, 109, 1456, 108, 1453, 109, 1454, 1455, + 1453, 3626, 1454, 1455, 2814, 2685, 1718, 1453, 2899, 1454, + 1455, 4113, 4112, 3, 2192, 3030, 2630, 2329, 1747, 2907, + 1456, 2908, 1739, 2912, 2913, 2914, 4113, 1453, 3928, 1454, + 1455, 2683, 1718, 114, 115, 3404, 2944, 3501, 97, 1453, + 1844, 1454, 1455, 2681, 1718, 2034, 2032, 1, 10, 9, + 1456, 1014, 1423, 2679, 1718, 2933, 2934, 1453, 2033, 1454, + 1455, 8, 2923, 1456, 1422, 2990, 2991, 3505, 1456, 2943, + 165, 4044, 681, 2677, 1718, 2319, 1456, 177, 2675, 1718, + 1689, 4084, 4040, 1453, 4041, 1454, 1455, 1453, 1456, 1454, + 1455, 1936, 1926, 3567, 2276, 1453, 1456, 1454, 1455, 2969, + 1456, 2244, 3007, 3841, 3400, 1453, 2988, 1454, 1455, 1456, + 2972, 3245, 2480, 1456, 3533, 2437, 1114, 154, 185, 2396, + 2397, 4009, 118, 1072, 2309, 1453, 117, 1454, 1455, 1117, + 1453, 1225, 1454, 1455, 2673, 1718, 2475, 3557, 2882, 2405, + 1456, 1719, 2316, 1772, 1770, 1771, 2945, 2668, 1718, 1769, + 1774, 1773, 2664, 1718, 3314, 3011, 1453, 3008, 1454, 1455, + 3337, 166, 171, 168, 174, 175, 176, 178, 180, 181, + 182, 183, 2662, 1718, 2631, 3405, 2340, 184, 186, 187, + 188, 3938, 1456, 2025, 2655, 1718, 1453, 716, 1454, 1455, + 1456, 2854, 2992, 2653, 1718, 710, 1456, 192, 3817, 1453, + 3009, 1454, 1455, 1761, 1453, 3032, 1454, 1455, 3088, 1740, + 2978, 3419, 1453, 2979, 1454, 1455, 1156, 671, 3218, 2513, + 677, 1505, 2016, 3123, 1453, 3539, 1454, 1455, 2869, 1716, + 1712, 1456, 1453, 1066, 1454, 1455, 1453, 1058, 1454, 1455, + 2330, 2805, 2989, 3106, 1713, 1453, 1065, 1454, 1455, 1453, + 3095, 1454, 1455, 3818, 3157, 3462, 3135, 3137, 3097, 2821, + 3140, 3133, 3921, 3650, 3994, 2374, 3336, 3023, 2879, 2335, + 2336, 1715, 1736, 1714, 3333, 2281, 1453, 2281, 1454, 1455, + 3068, 2893, 2451, 3426, 2279, 2603, 2279, 1456, 3156, 2126, + 87, 1495, 2373, 2374, 2374, 2374, 2374, 2374, 3010, 3621, + 2052, 3078, 3079, 3080, 3081, 3082, 3106, 739, 738, 736, + 2807, 2835, 3096, 2374, 3098, 2785, 2374, 1459, 1453, 944, + 1454, 1455, 1456, 3105, 2795, 2376, 1453, 3130, 1454, 1455, + 3161, 1977, 1453, 1456, 1454, 1455, 1748, 2846, 2844, 2843, + 2548, 3178, 2381, 3486, 3482, 4036, 2375, 3121, 1456, 3117, + 1025, 2371, 1456, 2376, 2376, 2376, 2376, 2376, 2813, 895, + 894, 748, 3128, 740, 730, 893, 1456, 1453, 3131, 1454, + 1455, 2784, 892, 2376, 3272, 3180, 2376, 3273, 3181, 2953, + 3262, 3287, 2955, 3143, 3144, 2880, 3283, 3160, 1026, 1027, + 3270, 3163, 3164, 3129, 3166, 1456, 1437, 1708, 104, 3174, + 105, 3162, 1085, 3311, 3165, 1456, 2780, 3182, 3118, 3119, + 3120, 3945, 2574, 3334, 3188, 1707, 3952, 2779, 3253, 3551, + 3234, 2929, 1456, 1453, 2467, 1454, 1455, 1456, 3070, 3221, + 3072, 3220, 2778, 3219, 69, 1456, 2777, 46, 3916, 3982, + 887, 884, 3222, 3223, 3623, 3624, 3083, 3084, 3085, 3086, + 2776, 3625, 3091, 1716, 1712, 3146, 1456, 3271, 1453, 3092, + 1454, 1455, 3965, 3274, 3275, 2439, 3264, 3243, 1713, 1453, + 3966, 1454, 1455, 883, 3281, 1456, 3152, 3967, 2181, 2775, + 1456, 3152, 1433, 1430, 1453, 4057, 1454, 1455, 1453, 2766, + 1454, 1455, 2027, 1709, 1710, 1715, 96, 1714, 36, 3299, + 3302, 3301, 1453, 35, 1454, 1455, 2765, 34, 3309, 33, + 32, 2764, 1456, 26, 25, 3316, 3317, 24, 3318, 2763, + 3265, 3320, 23, 3322, 22, 3324, 3319, 29, 19, 21, + 20, 1453, 18, 1454, 1455, 3256, 4079, 4124, 123, 55, + 2760, 1453, 52, 1454, 1455, 50, 4077, 131, 130, 53, + 1508, 2590, 49, 1199, 1508, 2595, 1789, 47, 1453, 2755, + 1454, 1455, 31, 1453, 2748, 1454, 1455, 3244, 30, 17, + 16, 1453, 15, 1454, 1455, 14, 13, 12, 2599, 11, + 2600, 3421, 7, 6, 39, 2607, 38, 37, 3425, 2609, + 2610, 28, 1453, 27, 1454, 1455, 2747, 40, 2616, 2617, + 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 4, 2627, + 2916, 1453, 2469, 1454, 1455, 0, 1453, 0, 1454, 1455, + 0, 0, 0, 0, 3155, 0, 0, 0, 0, 0, + 2374, 0, 2633, 2634, 2635, 2636, 2637, 3454, 2639, 3451, + 3452, 0, 2641, 3499, 3310, 3459, 2646, 2647, 1453, 2648, + 1454, 1455, 2651, 3466, 2652, 2654, 2656, 2657, 2658, 2659, + 2660, 2661, 2663, 2665, 2666, 2667, 2669, 3471, 2671, 2672, + 2674, 2676, 2678, 2680, 2682, 2684, 2686, 2688, 2690, 2692, + 2694, 2696, 2698, 2700, 2702, 2704, 2706, 2708, 2709, 2710, + 2376, 2712, 3494, 2714, 3491, 2716, 2717, 3488, 2719, 2721, + 2723, 3493, 1777, 3428, 2726, 3430, 3431, 3432, 2730, 3456, + 3271, 0, 2735, 2736, 2737, 2738, 3274, 3275, 3500, 3304, + 3305, 3516, 0, 3518, 0, 2749, 2750, 2751, 2752, 2753, + 2754, 0, 0, 2758, 2759, 3561, 3562, 0, 0, 0, + 0, 2761, 3481, 0, 0, 0, 2767, 3510, 3511, 0, + 0, 0, 2770, 2771, 2772, 2773, 2774, 0, 0, 1456, + 0, 3495, 3496, 2781, 2782, 0, 2783, 0, 0, 2786, + 2788, 2340, 0, 2790, 2847, 2850, 2851, 2852, 2848, 0, + 2849, 2853, 0, 2802, 3484, 3485, 1790, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1456, + 3544, 3563, 0, 0, 3548, 3549, 3550, 0, 0, 0, + 0, 0, 1456, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3579, 0, 3540, + 3541, 0, 0, 0, 1456, 0, 0, 0, 0, 0, + 0, 0, 0, 2746, 1456, 0, 0, 0, 0, 1803, + 1806, 1807, 1808, 1809, 1810, 1811, 0, 1812, 1813, 1815, + 1816, 1814, 1817, 1818, 1791, 1792, 1793, 1794, 1775, 1776, + 1804, 1456, 1778, 0, 1779, 1780, 1781, 1782, 1783, 1784, + 1785, 1786, 1787, 2745, 0, 1788, 1795, 1796, 1797, 1798, + 1456, 1799, 1800, 1801, 1802, 1453, 2744, 1454, 1455, 0, + 3639, 0, 3643, 3644, 0, 1456, 0, 3629, 0, 3630, + 3631, 3632, 0, 1456, 0, 3619, 0, 0, 2743, 0, + 1456, 0, 0, 0, 1456, 3156, 0, 87, 2742, 3156, + 0, 0, 0, 0, 3645, 1453, 0, 1454, 1455, 0, + 0, 1456, 0, 0, 0, 0, 0, 0, 1453, 0, + 1454, 1455, 0, 0, 0, 2741, 3583, 2091, 1456, 2089, + 3674, 0, 0, 0, 3646, 0, 1456, 3654, 3666, 3655, + 1453, 0, 1454, 1455, 2740, 0, 0, 3662, 3664, 0, + 1453, 0, 1454, 1455, 0, 0, 0, 42, 0, 2734, + 0, 0, 0, 0, 3824, 0, 0, 2733, 0, 0, + 0, 0, 0, 3678, 2732, 0, 0, 1453, 2729, 1454, + 1455, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2728, 1453, 0, 1454, 1455, + 0, 0, 0, 0, 0, 0, 3816, 3815, 0, 0, + 3843, 1453, 2727, 1454, 1455, 0, 3831, 0, 3814, 1453, + 2725, 1454, 1455, 0, 3835, 3836, 1453, 0, 1454, 1455, + 1453, 0, 1454, 1455, 0, 3881, 3882, 3018, 3019, 3020, + 3021, 3022, 0, 0, 3675, 3676, 3668, 1453, 0, 1454, + 1455, 0, 0, 2091, 0, 2089, 3885, 3027, 0, 0, + 3826, 3827, 3828, 0, 1453, 0, 1454, 1455, 0, 0, + 1805, 3610, 1453, 0, 1454, 1455, 0, 0, 0, 0, + 0, 0, 3152, 0, 0, 0, 3156, 0, 0, 0, + 3888, 0, 3670, 0, 3891, 3819, 0, 0, 0, 0, + 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, + 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1545, + 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, + 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, + 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, + 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, + 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, + 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, + 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, + 1616, 1617, 1618, 1619, 1620, 1622, 1623, 1624, 1625, 1626, + 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, + 1637, 1643, 1644, 1645, 1646, 1660, 1661, 1662, 1663, 1664, + 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 728, + 3932, 3155, 3886, 3929, 3913, 3155, 3914, 3911, 3912, 1456, + 0, 0, 0, 3946, 1456, 0, 0, 0, 0, 0, + 1456, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 87, 3931, 0, 0, 3158, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1456, 0, 0, + 0, 0, 0, 3176, 0, 0, 3935, 0, 1456, 0, + 0, 0, 3948, 0, 0, 0, 3951, 0, 0, 0, + 3823, 0, 3953, 0, 0, 0, 0, 1456, 0, 0, + 0, 1456, 0, 0, 0, 0, 0, 0, 0, 0, + 3920, 42, 0, 2718, 0, 0, 0, 0, 2715, 0, + 0, 0, 0, 0, 2713, 0, 0, 0, 1045, 0, + 0, 1051, 1051, 0, 0, 0, 0, 0, 0, 3971, + 0, 0, 3972, 0, 0, 3991, 0, 0, 0, 0, + 87, 2711, 0, 0, 0, 0, 0, 0, 3937, 0, + 0, 0, 2670, 0, 3980, 1453, 0, 1454, 1455, 0, + 1453, 0, 1454, 1455, 0, 0, 1453, 3987, 1454, 1455, + 0, 2650, 0, 0, 3997, 2649, 4022, 4000, 3843, 4011, + 4005, 3995, 3956, 0, 4008, 4002, 4001, 3999, 4004, 0, + 4003, 3308, 0, 1453, 0, 1454, 1455, 0, 0, 0, + 42, 0, 3155, 4032, 1453, 0, 1454, 1455, 0, 0, + 0, 0, 0, 3325, 3326, 4053, 3327, 4043, 3329, 3331, + 4048, 4035, 0, 1453, 4061, 1454, 1455, 1453, 4022, 1454, + 1455, 4063, 3338, 0, 0, 4074, 0, 3342, 3343, 3344, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, - 3357, 3359, 3361, 3363, 3365, 3367, 3369, 3371, 3373, 3375, - 3377, 3379, 3381, 3383, 3385, 3387, 3388, 3390, 3391, 3392, - 3394, 1976, 4075, 3396, 4091, 3398, 3399, 3400, 4090, 4101, - 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, - 3414, 2090, 4107, 2088, 4104, 4103, 4094, 4105, 4100, 3421, - 4070, 3989, 4115, 3426, 1456, 4019, 0, 3430, 3431, 1456, - 3432, 3434, 4123, 3437, 3439, 3149, 3441, 3442, 3443, 3444, - 4131, 4129, 0, 1456, 3450, 0, 0, 3957, 1456, 0, - 0, 0, 0, 0, 0, 3967, 0, 1456, 0, 0, - 4140, 4141, 3879, 4139, 0, 0, 0, 1456, 0, 2090, - 0, 2088, 4138, 1456, 0, 3941, 0, 1456, 0, 3472, - 3473, 0, 1456, 3477, 0, 0, 1456, 0, 0, 0, - 1456, 0, 0, 0, 1789, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1456, 2729, 4088, - 0, 0, 0, 2726, 1456, 0, 0, 0, 0, 0, - 1456, 0, 0, 0, 0, 0, 0, 2725, 0, 0, - 0, 0, 2724, 0, 0, 0, 0, 0, 0, 0, - 4066, 2722, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2715, 0, 0, 0, 0, 0, 2712, 0, 0, - 1453, 2710, 1454, 1455, 1738, 1453, 2708, 1454, 1455, 0, - 2667, 1456, 0, 0, 2647, 957, 1456, 2282, 0, 1453, - 958, 1454, 1455, 0, 1453, 0, 1454, 1455, 0, 3552, - 2089, 2646, 0, 1453, 0, 1454, 1455, 0, 2642, 0, - 0, 0, 1826, 1453, 2640, 1454, 1455, 0, 0, 1453, - 0, 1454, 1455, 1453, 0, 1454, 1455, 0, 1453, 0, - 1454, 1455, 1453, 0, 1454, 1455, 1453, 0, 1454, 1455, - 0, 0, 0, 0, 3571, 0, 0, 3575, 0, 0, - 1777, 0, 0, 1453, 0, 1454, 1455, 0, 0, 0, - 1453, 0, 1454, 1455, 0, 2605, 1453, 0, 1454, 1455, - 2594, 0, 0, 940, 3586, 964, 965, 966, 967, 968, + 3356, 3357, 3358, 3360, 3362, 3364, 3366, 3368, 3370, 3372, + 3374, 3376, 3378, 3380, 3382, 3384, 3386, 3388, 3390, 3391, + 3393, 3394, 3395, 3397, 1977, 4078, 3399, 4094, 3401, 3402, + 3403, 4073, 4104, 3407, 3408, 3409, 3410, 3411, 3412, 3413, + 3414, 3415, 3416, 3417, 2091, 4110, 2089, 4107, 4097, 4106, + 4108, 4103, 3424, 1456, 4093, 4022, 3429, 3992, 4118, 0, + 3433, 3434, 0, 3435, 3437, 4126, 3440, 3442, 3152, 3444, + 3445, 3446, 3447, 4134, 4132, 1456, 0, 3453, 0, 1456, + 3960, 0, 190, 0, 0, 1456, 0, 0, 3970, 0, + 0, 0, 0, 4143, 4144, 3882, 4142, 0, 0, 0, + 0, 0, 2091, 0, 2089, 4141, 129, 0, 151, 3944, + 0, 0, 3475, 3476, 0, 0, 3480, 0, 0, 172, + 0, 0, 0, 0, 0, 0, 0, 4069, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2645, 0, 0, + 0, 0, 0, 4091, 0, 0, 0, 0, 0, 0, + 162, 0, 0, 0, 0, 0, 150, 0, 0, 2643, + 0, 0, 0, 2608, 0, 0, 0, 0, 0, 2597, + 0, 0, 0, 0, 0, 169, 0, 0, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, + 0, 1454, 1455, 0, 0, 0, 0, 138, 139, 161, + 160, 189, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1453, 0, 1454, 1455, 1453, 0, 1454, 1455, 0, + 0, 1453, 3555, 1454, 1455, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2922, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 129, 0, 151, 0, 3574, 0, 0, + 3578, 0, 0, 0, 0, 0, 172, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3589, 0, 0, + 0, 0, 155, 136, 158, 143, 135, 162, 156, 157, + 0, 0, 0, 150, 0, 173, 0, 0, 0, 0, + 0, 0, 0, 0, 179, 144, 0, 0, 0, 0, + 0, 0, 169, 0, 0, 170, 0, 0, 0, 147, + 145, 140, 141, 142, 146, 0, 0, 0, 0, 0, + 0, 137, 0, 0, 1847, 1848, 161, 160, 189, 0, + 148, 3612, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3620, 0, 0, 0, 0, 0, + 0, 0, 3627, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, + 44, 45, 88, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 48, 76, 77, 0, 74, 78, 164, + 0, 0, 0, 0, 0, 0, 75, 0, 0, 155, + 1849, 158, 0, 1846, 0, 156, 157, 0, 0, 0, + 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, + 0, 179, 0, 0, 0, 62, 0, 0, 0, 1457, + 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3832, 0, 0, + 0, 0, 0, 0, 0, 0, 3839, 0, 0, 1513, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3849, 3850, 0, 3852, + 0, 3853, 3854, 83, 0, 159, 3857, 3858, 3859, 3860, + 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3870, + 3871, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 0, 3880, + 3883, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3892, 3893, 3894, 3895, 3896, + 3898, 3899, 3901, 3903, 3904, 3906, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 164, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3936, 0, 0, 0, 51, 54, 57, + 56, 59, 0, 73, 0, 957, 82, 79, 0, 0, + 958, 0, 0, 152, 0, 0, 153, 0, 0, 0, + 2090, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 61, 91, 90, 0, 0, 71, 72, 58, 0, 0, + 0, 0, 0, 80, 81, 0, 165, 0, 0, 0, + 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, + 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 63, 64, 0, 65, + 66, 67, 68, 0, 185, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, - 999, 1000, 1001, 1002, 1003, 1004, 1005, 1453, 0, 1454, - 1455, 0, 1453, 0, 1454, 1455, 0, 0, 0, 195, - 0, 0, 195, 0, 1790, 0, 714, 0, 3609, 0, - 1981, 720, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3617, 195, 0, 0, 0, 0, 0, 0, 3624, - 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, + 999, 1000, 1001, 1002, 1003, 1004, 1005, 166, 171, 168, + 174, 175, 176, 178, 180, 181, 182, 183, 0, 0, + 60, 0, 0, 184, 186, 187, 188, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1738, 0, 0, 0, + 152, 0, 0, 153, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3961, 0, 0, + 0, 0, 0, 165, 1826, 0, 0, 0, 0, 0, + 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3977, 0, 0, 0, 0, 0, 3978, 3979, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 89, 0, 0, 0, 0, 0, 0, 0, 0, 3990, + 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 940, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4016, 4017, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4024, + 4026, 4028, 0, 0, 166, 171, 168, 174, 175, 176, + 178, 180, 181, 182, 183, 0, 0, 0, 0, 0, + 184, 186, 187, 188, 4056, 0, 0, 0, 0, 195, + 0, 0, 195, 0, 0, 0, 714, 0, 0, 0, + 0, 720, 1982, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 195, 0, 0, 0, 0, 0, 0, 94, + 0, 0, 4075, 0, 0, 0, 0, 0, 195, 0, + 0, 0, 0, 0, 0, 0, 957, 0, 2283, 0, + 0, 958, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2090, 0, 720, 195, 720, 4098, 4100, 4102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 720, 195, 720, 1803, 1806, 1807, 1808, - 1809, 1810, 1811, 0, 1812, 1813, 1815, 1816, 1814, 1817, - 1818, 1791, 1792, 1793, 1794, 1775, 1776, 1804, 0, 1778, - 0, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, - 0, 0, 1788, 1795, 1796, 1797, 1798, 0, 1799, 1800, - 1801, 1802, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4135, 4136, 0, + 0, 1692, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 70, 964, 965, 966, 967, + 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, + 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, + 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, + 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 0, 0, + 663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3829, 0, 0, 0, 0, 0, - 0, 0, 0, 3836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3846, 3847, 0, 3849, 0, 3850, 3851, - 0, 0, 0, 3854, 3855, 3856, 3857, 3858, 3859, 3860, - 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3870, - 3871, 3872, 3873, 3874, 3875, 0, 3877, 3880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3889, 3890, 3891, 3892, 3893, 3895, 3896, 3898, - 3900, 3901, 3903, 0, 0, 0, 0, 0, 0, 0, - 2046, 2047, 2048, 2049, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2057, 0, 0, 0, 0, + 0, 0, 1080, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2047, 2048, 2049, 2050, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2096, 2097, 0, 0, 0, 0, 2120, 1051, 1051, 2124, - 0, 0, 0, 2129, 0, 0, 0, 1805, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2141, 2142, - 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 0, 2152, - 0, 0, 0, 2174, 2175, 2176, 2177, 2178, 2179, 2181, - 0, 2186, 0, 2188, 2189, 2190, 0, 2192, 2193, 2194, - 0, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, - 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, - 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, - 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, - 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2246, 2247, 2248, - 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, - 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, - 0, 0, 0, 0, 0, 2274, 0, 2276, 0, 2283, - 2284, 2285, 2286, 2287, 2288, 1051, 0, 1051, 1051, 1051, - 1051, 1051, 0, 0, 0, 0, 0, 0, 2300, 2301, - 2302, 2303, 2304, 2305, 2306, 2307, 0, 2309, 2310, 2311, - 2312, 2313, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1051, 0, 3974, 0, - 0, 0, 0, 0, 3975, 3976, 0, 0, 190, 0, + 0, 0, 2097, 2098, 0, 0, 0, 0, 2121, 1051, + 1051, 2125, 0, 0, 0, 2130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2353, 2354, 0, 0, 3987, 0, 0, 0, - 0, 0, 129, 0, 151, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 172, 0, 0, 2392, 0, - 0, 0, 4013, 4014, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4021, 4023, 4025, 0, - 0, 0, 0, 0, 0, 0, 162, 0, 1692, 0, - 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, - 0, 4053, 0, 0, 195, 0, 195, 0, 0, 0, - 0, 169, 0, 0, 170, 0, 0, 0, 0, 2434, + 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, + 0, 2153, 0, 0, 0, 2175, 2176, 2177, 2178, 2179, + 2180, 2182, 0, 2187, 0, 2189, 2190, 2191, 0, 2193, + 2194, 2195, 0, 2198, 2199, 2200, 2201, 2202, 2203, 2204, + 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, + 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, + 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, + 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2247, + 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, + 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, + 2268, 2269, 0, 0, 0, 0, 0, 2275, 0, 2277, + 0, 2284, 2285, 2286, 2287, 2288, 2289, 1051, 0, 1051, + 1051, 1051, 1051, 1051, 0, 0, 0, 0, 0, 0, + 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 0, 2310, + 2311, 2312, 2313, 2314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 138, 139, 161, 160, 189, 0, 4072, - 0, 0, 0, 720, 0, 720, 720, 663, 0, 0, - 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2919, 720, 195, 1009, 0, 0, - 0, 0, 0, 4095, 4097, 4099, 0, 129, 0, 151, + 0, 0, 0, 0, 1789, 0, 0, 0, 0, 0, + 0, 190, 0, 0, 0, 0, 0, 0, 1051, 0, + 0, 0, 1843, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 129, 0, 151, 0, 0, + 0, 0, 0, 0, 2354, 2355, 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 172, 0, 0, 0, 1500, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4120, 0, 0, 1080, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 162, 0, 0, 4132, 4133, 0, 150, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 155, 136, - 158, 143, 135, 0, 156, 157, 169, 0, 0, 170, - 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, - 179, 144, 0, 0, 0, 0, 0, 0, 1847, 1848, - 161, 160, 189, 0, 0, 147, 145, 140, 141, 142, - 146, 0, 0, 0, 0, 0, 0, 137, 0, 0, - 0, 0, 0, 0, 0, 0, 148, 0, 0, 0, + 2393, 0, 0, 0, 0, 0, 0, 0, 0, 162, + 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 169, 0, 0, 170, 0, 0, + 0, 0, 0, 0, 195, 0, 195, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1847, 1848, 161, 160, + 189, 2435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1777, 0, 0, 720, 0, 720, 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 720, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 155, 1849, 158, 0, 1846, 0, 156, - 157, 0, 0, 0, 164, 0, 173, 0, 0, 0, - 0, 0, 0, 0, 1500, 179, 0, 0, 0, 0, + 0, 155, 1849, 158, 1790, 1846, 0, 156, 157, 0, + 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, + 0, 0, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2603, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2609, 2610, 2611, 2612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 195, 0, 0, 0, 720, 720, 0, 0, 0, + 0, 0, 1200, 0, 1206, 0, 0, 1803, 1806, 1807, + 1808, 1809, 1810, 1811, 0, 1812, 1813, 1815, 1816, 1814, + 1817, 1818, 1791, 1792, 1793, 1794, 1775, 1776, 1804, 0, + 1778, 0, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, + 1787, 0, 0, 1788, 1795, 1796, 1797, 1798, 0, 1799, + 1800, 1801, 1802, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 195, 0, 0, 0, 1513, 0, - 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 720, 0, 0, 195, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 720, 0, 0, 0, 0, 0, 0, 195, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2606, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2612, 2613, + 2614, 2615, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 195, 0, 0, 0, 720, 720, 0, 0, 0, + 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, + 0, 1513, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 720, 0, 0, 195, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 720, 0, 0, 0, 0, 0, 0, 195, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1805, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1500, 0, 0, - 0, 0, 0, 720, 720, 0, 720, 0, 720, 720, - 0, 720, 720, 720, 720, 720, 720, 0, 152, 0, - 0, 153, 0, 0, 1500, 0, 0, 1500, 720, 1500, + 0, 0, 152, 720, 720, 153, 720, 0, 720, 720, + 0, 720, 720, 720, 720, 720, 720, 0, 0, 0, + 0, 0, 0, 0, 1500, 0, 0, 1500, 720, 1500, + 195, 0, 0, 0, 0, 165, 0, 0, 0, 0, + 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, - 195, 165, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 0, 720, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 720, - 0, 195, 195, 1738, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 195, 185, - 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, + 0, 195, 195, 185, 0, 0, 1738, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, + 0, 0, 0, 0, 0, 195, 1750, 0, 0, 0, 0, 0, 0, 0, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 720, 0, 0, 0, 0, 0, 0, + 195, 195, 195, 720, 0, 1767, 166, 171, 168, 174, + 175, 176, 178, 180, 181, 182, 183, 0, 0, 0, + 0, 0, 184, 186, 187, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 171, 168, 174, 175, 176, 178, 180, - 181, 182, 183, 152, 0, 0, 153, 0, 184, 186, - 187, 188, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1200, - 0, 1206, 0, 0, 0, 0, 165, 0, 0, 0, - 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 185, 0, 0, 0, 0, 0, - 0, 1429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1906, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 171, 168, - 174, 175, 176, 178, 180, 181, 182, 183, 0, 0, - 720, 720, 0, 184, 186, 187, 188, 0, 0, 0, - 0, 2982, 0, 720, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1951, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1978, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1989, 0, 0, 0, + 0, 0, 0, 1993, 0, 0, 0, 0, 0, 0, + 720, 720, 0, 0, 2004, 2005, 2006, 2007, 2008, 2009, + 2010, 0, 0, 720, 0, 0, 2985, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1051, 0, 0, 3009, 3010, 0, 0, - 3012, 0, 0, 3014, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3021, 3022, 3023, 0, 0, 0, 0, - 0, 720, 0, 0, 0, 3028, 0, 0, 3030, 3031, - 3032, 1500, 0, 0, 3033, 3034, 0, 0, 3035, 0, - 3036, 0, 0, 0, 0, 0, 0, 3037, 1500, 3038, - 0, 0, 0, 3039, 0, 3040, 0, 0, 3041, 0, - 3042, 0, 3043, 0, 3044, 0, 3045, 0, 3046, 0, - 3047, 0, 3048, 0, 3049, 0, 3050, 0, 3051, 0, - 3052, 0, 3053, 0, 3054, 0, 3055, 0, 3056, 0, - 3057, 0, 3058, 0, 0, 0, 3059, 0, 3060, 0, - 3061, 0, 0, 3062, 0, 3063, 0, 3064, 0, 2246, - 3066, 0, 0, 3068, 0, 0, 3070, 3071, 3072, 3073, - 0, 0, 0, 0, 3074, 2246, 2246, 2246, 2246, 2246, - 0, 0, 0, 0, 0, 0, 0, 0, 939, 0, - 3084, 0, 0, 0, 0, 0, 0, 0, 3097, 0, - 0, 3101, 0, 1051, 0, 0, 0, 0, 0, 0, - 3104, 3105, 3106, 3107, 3108, 3109, 0, 0, 0, 3110, - 3111, 0, 3112, 0, 3113, 0, 0, 0, 0, 0, - 0, 0, 2294, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 699, 0, 0, 0, 0, 0, 719, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3144, - 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, - 0, 720, 0, 1750, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3174, 0, 0, 0, 0, 0, - 0, 0, 1767, 0, 0, 0, 195, 0, 719, 720, - 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1051, 0, + 0, 3012, 3013, 0, 0, 3015, 0, 0, 3017, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3024, 3025, + 3026, 720, 0, 0, 0, 0, 0, 0, 0, 0, + 3031, 1500, 0, 3033, 3034, 3035, 0, 0, 0, 3036, + 3037, 0, 0, 3038, 0, 3039, 0, 0, 1500, 0, + 0, 0, 3040, 0, 3041, 0, 0, 0, 3042, 0, + 3043, 0, 0, 3044, 0, 3045, 0, 3046, 0, 3047, + 0, 3048, 0, 3049, 0, 3050, 0, 3051, 0, 3052, + 0, 3053, 0, 3054, 0, 3055, 0, 3056, 0, 3057, + 0, 3058, 0, 3059, 0, 3060, 0, 3061, 0, 0, + 0, 3062, 0, 3063, 0, 3064, 0, 0, 3065, 0, + 3066, 0, 3067, 0, 2247, 3069, 0, 0, 3071, 0, + 0, 3073, 3074, 3075, 3076, 0, 0, 0, 0, 3077, + 2247, 2247, 2247, 2247, 2247, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3087, 0, 0, 0, 0, + 2040, 0, 0, 3100, 0, 0, 3104, 0, 1051, 0, + 0, 0, 0, 0, 0, 3107, 3108, 3109, 3110, 3111, + 3112, 0, 0, 0, 3113, 3114, 0, 3115, 0, 3116, + 0, 0, 2295, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3147, 0, 195, 0, 0, 0, + 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3177, + 0, 0, 0, 0, 0, 0, 195, 0, 0, 720, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 720, 0, 0, - 2294, 195, 0, 195, 0, 195, 195, 0, 0, 0, + 2295, 195, 0, 195, 0, 195, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 720, 0, 0, 0, 0, 3237, 0, 0, 0, 0, + 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1906, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1951, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 720, 0, 0, 1977, 0, 0, - 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3329, 0, 1988, 0, 0, 0, 0, 0, 0, - 1992, 0, 0, 0, 0, 3338, 0, 0, 0, 0, - 0, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 0, 0, - 86, 44, 45, 88, 0, 0, 0, 720, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 720, 0, 0, 0, 0, 0, + 720, 0, 0, 0, 0, 0, 0, 0, 939, 0, + 0, 0, 0, 0, 0, 0, 3332, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3341, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, 0, 720, 0, 0, 0, 720, 720, 0, 0, - 92, 0, 0, 0, 48, 76, 77, 0, 74, 78, - 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, + 0, 2360, 0, 0, 0, 0, 0, 0, 0, 2364, + 699, 2367, 0, 0, 2040, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, - 0, 195, 0, 0, 0, 0, 62, 0, 0, 0, - 195, 195, 0, 0, 195, 0, 195, 0, 95, 0, - 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, - 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, + 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 195, 195, 0, 0, 195, 0, 195, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 195, 719, 0, + 719, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, - 0, 0, 0, 0, 83, 0, 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 195, 0, 0, 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 190, 0, 0, 0, 0, 0, 0, 2039, 0, 0, - 0, 1843, 3533, 0, 0, 0, 0, 1500, 0, 2294, - 0, 0, 0, 0, 129, 0, 151, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 172, 51, 54, - 57, 56, 59, 0, 73, 3557, 0, 82, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, - 0, 61, 91, 90, 150, 0, 71, 72, 58, 0, - 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, - 0, 0, 0, 169, 0, 0, 170, 0, 0, 0, - 0, 0, 0, 3577, 0, 3578, 0, 0, 3579, 0, - 0, 3582, 3583, 0, 0, 1847, 1848, 161, 160, 189, - 3587, 0, 0, 0, 0, 0, 63, 64, 0, 65, - 66, 67, 68, 0, 3588, 0, 3589, 0, 3590, 0, - 3591, 0, 3592, 0, 3593, 0, 3594, 0, 3595, 0, - 3596, 0, 3597, 0, 3598, 0, 3599, 0, 3600, 0, - 3601, 0, 3602, 0, 3603, 0, 0, 3604, 0, 0, - 0, 3605, 0, 3606, 0, 0, 0, 0, 0, 3608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3625, 0, 0, 0, 0, 0, 0, 0, - 0, 3630, 0, 3631, 3632, 0, 3633, 0, 3634, 0, - 155, 1849, 158, 3635, 1846, 0, 156, 157, 719, 1416, - 719, 719, 0, 173, 0, 0, 0, 0, 0, 0, - 0, 195, 179, 0, 0, 0, 0, 0, 3660, 195, - 719, 0, 0, 0, 0, 0, 0, 0, 0, 3668, - 720, 0, 3670, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 720, 3674, 0, 0, 0, 0, 1499, - 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3808, 0, 0, 0, 0, 0, 0, 195, 0, 0, - 0, 0, 195, 0, 0, 0, 0, 0, 2359, 0, - 0, 0, 0, 0, 0, 0, 2363, 0, 2366, 0, - 0, 2039, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3536, 1500, 0, + 2295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3560, 0, 2040, 0, 0, 0, 0, 0, 0, 2525, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2544, + 2545, 0, 0, 2549, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2554, 0, 0, 0, 0, + 0, 0, 2557, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3580, 0, + 3581, 0, 0, 3582, 0, 0, 3585, 3586, 2560, 0, + 0, 0, 0, 0, 0, 3590, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3591, + 0, 3592, 0, 3593, 0, 3594, 0, 3595, 0, 3596, + 0, 3597, 0, 3598, 0, 3599, 0, 3600, 0, 3601, + 0, 3602, 0, 3603, 0, 3604, 0, 3605, 0, 3606, + 0, 0, 3607, 0, 0, 0, 3608, 0, 3609, 0, + 0, 0, 0, 0, 3611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 164, 0, 0, 0, - 720, 0, 0, 0, 0, 0, 195, 0, 0, 0, - 0, 0, 0, 195, 0, 0, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 0, 720, 0, 0, - 0, 0, 0, 0, 720, 0, 0, 0, 0, 0, - 0, 0, 0, 720, 0, 0, 0, 897, 0, 0, - 0, 0, 0, 3916, 0, 0, 0, 0, 0, 1500, + 0, 0, 0, 0, 0, 0, 0, 3628, 0, 0, + 0, 0, 0, 0, 0, 0, 3633, 0, 3634, 3635, + 0, 3636, 0, 3637, 0, 0, 0, 0, 3638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 195, 195, 195, 195, 195, 0, 0, + 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, + 195, 0, 0, 3663, 0, 0, 0, 0, 0, 0, + 0, 720, 0, 0, 3671, 0, 0, 3673, 0, 0, + 0, 0, 0, 0, 720, 0, 0, 0, 0, 3677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 159, 0, 0, 0, 0, 195, 195, 0, - 0, 0, 0, 193, 0, 0, 664, 0, 0, 1499, + 0, 0, 0, 0, 0, 3811, 0, 0, 195, 0, + 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 0, 0, 70, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1032, 0, 0, 720, 0, 0, 0, 2039, - 0, 0, 0, 0, 0, 0, 2524, 0, 0, 1052, - 1052, 0, 0, 0, 0, 2541, 2542, 0, 664, 2546, - 719, 719, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2551, 0, 0, 0, 0, 0, 0, 2554, 0, - 0, 0, 0, 720, 0, 0, 0, 0, 0, 0, - 152, 0, 0, 153, 0, 0, 0, 0, 0, 0, - 719, 0, 0, 0, 2557, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, - 0, 0, 0, 165, 0, 0, 1820, 0, 0, 0, - 177, 0, 0, 0, 0, 0, 1829, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3956, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, - 0, 1855, 0, 0, 0, 0, 0, 0, 0, 1864, - 0, 185, 1499, 1866, 0, 0, 1869, 1870, 719, 719, - 0, 719, 0, 719, 719, 0, 719, 719, 719, 719, - 719, 719, 3970, 0, 0, 3971, 0, 3972, 720, 1499, - 1901, 1902, 1499, 719, 1499, 0, 1907, 0, 0, 0, - 720, 0, 0, 0, 166, 171, 168, 174, 175, 176, - 178, 180, 181, 182, 183, 0, 0, 0, 0, 0, - 184, 186, 187, 188, 0, 0, 0, 0, 719, 0, - 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1969, 0, 0, 719, 195, 0, 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 720, 0, 0, 0, 1500, 0, 0, - 720, 720, 1500, 195, 195, 195, 195, 195, 0, 0, - 0, 4051, 0, 0, 0, 195, 0, 0, 719, 0, - 0, 195, 0, 195, 0, 0, 195, 195, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4067, 0, 4068, 0, 4069, 0, 0, 0, 95, 0, - 0, 957, 0, 0, 0, 945, 958, 959, 960, 961, - 946, 0, 0, 947, 948, 0, 949, 0, 0, 0, - 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, - 954, 962, 963, 0, 0, 720, 0, 0, 1500, 0, - 0, 0, 0, 720, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 0, 4118, 0, 4119, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3273, - 3274, 0, 195, 0, 0, 195, 0, 0, 0, 0, - 0, 964, 965, 966, 967, 968, 969, 970, 971, 972, - 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, - 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, - 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 0, 0, 719, 719, 2857, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, + 0, 897, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 720, 0, 0, 0, 0, 0, 195, 0, 0, + 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 720, 0, + 0, 0, 0, 0, 0, 720, 0, 0, 0, 0, + 0, 0, 0, 0, 720, 0, 0, 193, 0, 0, + 664, 0, 0, 0, 0, 0, 0, 0, 3919, 0, + 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 664, 0, 0, 195, 195, 195, 195, 195, 195, 0, + 0, 0, 0, 0, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 195, 195, 0, 1052, 1052, 0, 0, 0, 0, 0, + 0, 2860, 664, 0, 0, 0, 0, 0, 719, 1416, + 719, 719, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3275, 0, 0, 0, 0, 0, + 719, 0, 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 720, - 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, - 0, 2906, 0, 0, 0, 0, 1499, 0, 0, 0, - 0, 0, 0, 0, 0, 2098, 0, 0, 0, 0, - 0, 0, 0, 1499, 195, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 896, 3276, 3277, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, - 664, 0, 0, 0, 0, 0, 0, 2955, 2956, 2957, - 2958, 2959, 2960, 0, 0, 0, 0, 0, 0, 0, - 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2039, 2970, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 718, 195, - 0, 0, 0, 0, 0, 0, 0, 2978, 0, 0, - 664, 0, 0, 0, 0, 910, 0, 0, 0, 195, - 0, 914, 195, 195, 195, 911, 912, 0, 0, 0, - 913, 915, 720, 720, 0, 0, 0, 0, 1501, 0, - 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, - 1076, 0, 1083, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2909, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 720, 720, 720, 720, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 719, 0, 0, 719, 0, 0, 0, 0, + 0, 2958, 2959, 2960, 2961, 2962, 2963, 0, 0, 0, + 0, 3959, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2040, 2973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2981, 0, 0, 0, 3973, 0, 0, + 3974, 720, 3975, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 720, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 195, 1499, + 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, + 1500, 0, 0, 720, 720, 1500, 195, 195, 195, 195, + 195, 0, 0, 0, 0, 0, 4054, 0, 195, 0, + 0, 0, 0, 0, 195, 0, 195, 0, 0, 195, + 195, 195, 0, 0, 0, 0, 0, 0, 0, 0, + 719, 719, 0, 0, 0, 4070, 0, 4071, 0, 4072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, + 719, 0, 0, 0, 0, 0, 0, 0, 720, 0, + 0, 1500, 0, 0, 0, 719, 720, 0, 0, 0, + 0, 195, 0, 0, 0, 0, 1820, 0, 0, 0, + 0, 0, 0, 0, 0, 195, 1829, 0, 0, 4121, + 0, 4122, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 195, 0, 0, 195, 719, + 0, 1855, 0, 0, 0, 0, 0, 0, 0, 1864, + 0, 0, 1499, 1866, 0, 0, 1869, 1870, 719, 719, + 0, 719, 0, 719, 719, 0, 719, 719, 719, 719, + 719, 719, 0, 0, 0, 0, 0, 0, 0, 1499, + 1901, 1902, 1499, 719, 1499, 0, 1907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 719, 0, 0, 0, 0, 0, 0, 2456, - 2457, 2458, 0, 0, 0, 0, 0, 0, 1501, 0, - 0, 0, 0, 0, 195, 0, 0, 0, 0, 719, - 0, 0, 0, 0, 0, 719, 1864, 0, 0, 1864, - 0, 1864, 0, 1500, 0, 0, 0, 2488, 720, 0, - 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, - 0, 0, 719, 0, 0, 0, 0, 719, 0, 0, - 0, 719, 719, 0, 0, 0, 0, 0, 1032, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 720, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 195, 664, 0, 720, 0, 0, 3227, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 720, 0, 0, - 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3265, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3279, 0, 0, + 0, 1970, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3297, 0, 0, - 3300, 1501, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, - 720, 0, 0, 0, 720, 720, 0, 0, 1501, 0, - 0, 1501, 0, 1501, 664, 0, 0, 0, 0, 0, + 0, 0, 720, 3230, 0, 0, 0, 0, 0, 0, + 0, 0, 664, 0, 664, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 719, 3268, + 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, + 0, 0, 0, 3282, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 896, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3300, 0, 0, 3303, 0, 0, 0, + 0, 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 720, 1923, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, + 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, + 0, 0, 1501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1499, 0, 719, 1975, 664, 0, 0, 0, + 0, 718, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 664, 0, 0, 0, 0, 0, 0, 664, - 0, 0, 0, 0, 0, 0, 0, 0, 2001, 2002, - 664, 664, 664, 664, 664, 664, 664, 0, 0, 0, + 0, 0, 195, 0, 0, 195, 195, 195, 0, 0, + 0, 0, 0, 0, 0, 720, 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3452, + 0, 0, 0, 1076, 0, 1083, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 719, 719, 0, 0, 0, + 0, 0, 0, 0, 720, 720, 720, 720, 719, 0, + 0, 0, 0, 0, 0, 3455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1499, 0, 0, 0, + 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, + 0, 0, 0, 1499, 0, 0, 0, 0, 0, 0, + 3514, 0, 1501, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3529, 0, 0, 3530, 3531, 3532, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1264, 0, 1264, 1264, 0, 720, 195, 0, 0, 0, - 0, 0, 0, 0, 3511, 0, 0, 0, 0, 0, - 0, 0, 1428, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3526, 0, 0, 3527, 3528, 3529, + 0, 0, 1032, 0, 0, 0, 1500, 0, 0, 0, + 0, 720, 0, 720, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 664, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 720, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1500, - 0, 720, 0, 0, 0, 0, 664, 0, 0, 0, - 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 720, 2294, 0, 719, 0, + 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 195, 0, 0, 720, 0, 0, + 0, 0, 0, 0, 0, 1501, 719, 0, 0, 0, + 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 720, 0, 0, + 0, 0, 1501, 0, 719, 1501, 0, 1501, 664, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 719, 0, 0, 719, 0, 0, 1923, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 664, 0, 719, 0, 0, 0, 0, + 0, 0, 0, 720, 0, 0, 0, 720, 720, 1976, + 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 664, 0, 0, 0, + 0, 0, 0, 664, 0, 0, 720, 0, 0, 0, + 0, 0, 2002, 2003, 664, 664, 664, 664, 664, 664, + 664, 0, 719, 0, 0, 0, 0, 0, 0, 2457, + 2458, 2459, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, + 0, 0, 0, 0, 0, 719, 1864, 0, 0, 1864, + 0, 1864, 0, 0, 0, 0, 0, 2489, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 719, 0, 0, 0, 0, 719, 0, 0, + 0, 719, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 195, 720, 0, 0, 1501, 0, 0, 0, 0, - 0, 0, 0, 2870, 0, 0, 0, 1052, 1052, 0, - 0, 0, 1501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 719, 720, 0, 0, 0, - 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 720, 0, 720, 0, 0, - 0, 0, 719, 0, 0, 0, 0, 0, 0, 719, - 0, 0, 0, 1864, 1864, 0, 0, 0, 719, 0, + 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1264, 0, 1264, 1264, 0, 720, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1499, 2943, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1052, 1975, 1052, 1052, 1052, - 1052, 1052, 1695, 1696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1500, 0, 720, 0, 0, 0, 0, 1501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1052, 1052, 0, 0, 0, 1501, 0, 720, 2295, + 0, 0, 0, 1499, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1923, 0, 1744, 0, 0, 0, 0, 0, 0, 0, - 719, 0, 0, 0, 0, 0, 1052, 1762, 0, 0, + 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 195, 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, - 0, 0, 0, 0, 1975, 664, 0, 664, 719, 664, - 2382, 1076, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1872, 1872, 0, 1872, 0, 1872, 1872, 0, 1881, 1872, - 1872, 1872, 1872, 1872, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1076, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3957, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 720, + 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 720, 0, + 720, 0, 0, 0, 0, 0, 0, 0, 0, 1052, + 1976, 1052, 1052, 1052, 1052, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1949, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, + 0, 0, 0, 0, 1923, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1264, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, + 1052, 0, 0, 0, 0, 1695, 1696, 0, 0, 0, + 0, 0, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, - 0, 0, 1499, 0, 0, 719, 719, 1499, 664, 0, - 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, - 0, 0, 0, 0, 664, 664, 0, 0, 664, 0, - 2548, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 0, 0, 0, 0, 0, 0, 664, 0, 0, - 0, 3954, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3222, 0, - 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, + 0, 664, 0, 0, 0, 0, 0, 0, 1976, 664, + 0, 664, 0, 664, 2383, 1744, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, + 1762, 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 719, 0, 0, 1499, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1264, 1264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2027, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1076, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2873, 0, 0, 0, 0, 0, + 0, 0, 0, 1872, 1872, 0, 1872, 0, 1872, 1872, + 0, 1881, 1872, 1872, 1872, 1872, 1872, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1076, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3304, 1501, 0, 1975, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1949, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 719, 0, 0, 0, 0, 0, 1974, + 719, 0, 0, 0, 1864, 1864, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2084, 0, + 0, 0, 0, 0, 0, 1499, 2946, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 664, 1264, 0, 0, 0, 0, 0, 664, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, + 664, 0, 0, 664, 0, 2551, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, + 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, + 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 95, 0, 0, 957, 0, 0, 0, 945, 958, + 959, 960, 961, 946, 0, 0, 947, 948, 0, 949, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 719, 0, 954, 962, 963, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1501, 0, 1976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1264, 1264, 3276, 3277, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2028, 964, 965, 966, 967, 968, 969, + 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, + 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, + 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, + 1000, 1001, 1002, 1003, 1004, 1005, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, + 0, 2085, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3278, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 719, 0, 0, 0, 1499, 0, 0, 719, 719, + 1499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3279, 3280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 664, 0, 0, 0, 0, 0, 0, 0, 1923, 0, + 0, 3225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1264, + 0, 0, 1264, 719, 0, 0, 1499, 0, 0, 0, + 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 664, 0, 0, 910, + 0, 664, 0, 0, 0, 914, 0, 0, 0, 911, + 912, 0, 0, 0, 913, 915, 0, 0, 0, 0, + 0, 2332, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3307, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3501, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, - 0, 0, 0, 1923, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2331, 0, - 0, 0, 0, 0, 0, 0, 0, 719, 719, 0, + 0, 0, 0, 0, 0, 0, 0, 1744, 0, 0, + 1264, 0, 0, 0, 0, 664, 0, 0, 0, 0, + 0, 0, 2915, 0, 0, 0, 0, 0, 0, 0, + 1076, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2343, 0, 0, 0, - 0, 664, 0, 0, 0, 0, 664, 0, 0, 0, - 0, 0, 0, 0, 1744, 0, 0, 1264, 0, 0, - 0, 0, 0, 0, 0, 0, 719, 719, 719, 719, - 0, 0, 0, 0, 0, 0, 0, 1076, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1501, 0, + 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, + 0, 664, 664, 664, 664, 664, 664, 1083, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 664, 664, + 0, 0, 0, 0, 1076, 0, 0, 0, 0, 0, + 1083, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 0, 0, 0, 0, 0, 0, 2912, 0, 0, - 0, 0, 0, 0, 1083, 0, 0, 0, 0, 0, + 1052, 0, 0, 0, 0, 0, 0, 1076, 0, 0, + 0, 0, 2085, 0, 0, 0, 2085, 2085, 0, 0, + 0, 0, 0, 0, 0, 0, 3504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1076, 0, 0, 0, 0, 0, 1083, 0, 0, - 0, 0, 0, 1501, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 664, 664, 664, - 664, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 664, 664, 0, 1076, 0, 0, 0, 0, 2084, - 0, 0, 0, 2084, 2084, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1499, 0, - 0, 0, 0, 719, 0, 719, 0, 0, 0, 0, - 0, 0, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 719, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, - 0, 0, 0, 0, 0, 2560, 0, 0, 0, 0, - 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, + 719, 719, 719, 0, 0, 0, 0, 0, 0, 2563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1264, 0, 0, 0, - 0, 0, 0, 0, 0, 719, 0, 0, 0, 719, - 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1052, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, + 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, + 1264, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1501, 0, + 0, 0, 0, 1501, 664, 664, 664, 664, 664, 0, + 0, 0, 0, 0, 0, 0, 3175, 0, 0, 0, + 0, 0, 1923, 0, 664, 0, 0, 664, 3183, 1976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1501, 0, 0, 0, 0, 1501, 664, 664, 664, - 664, 664, 0, 0, 0, 0, 0, 0, 0, 3172, - 0, 0, 0, 0, 0, 1923, 0, 664, 0, 0, - 664, 3180, 1975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1499, 0, 0, 0, 0, 719, 0, 719, 0, + 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1501, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 0, 0, 0, + 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, - 0, 0, 1501, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 0, 0, 0, - 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 664, 0, 0, 664, - 0, 0, 0, 0, 0, 0, 0, 2805, 0, 0, + 0, 0, 0, 664, 0, 0, 664, 0, 0, 0, + 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2820, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1499, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2808, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2823, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, + 0, 0, 719, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 719, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 719, 0, 0, 0, 0, 2902, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, + 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2343, 0, 0, 0, 664, 0, - 0, 2927, 0, 0, 0, 0, 0, 0, 0, 0, - 2932, 0, 0, 0, 0, 0, 0, 0, 0, 719, + 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 664, 0, 0, 0, 0, 0, - 719, 0, 719, 0, 0, 0, 0, 0, 0, 0, + 0, 2905, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2344, 0, + 0, 664, 0, 0, 0, 2930, 0, 0, 0, 0, + 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 664, 0, 0, 664, 664, 664, 0, - 0, 0, 2084, 0, 0, 0, 0, 0, 0, 0, + 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 664, 0, 0, 664, 664, 664, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3696, - 3698, 3697, 3761, 3762, 3763, 3764, 3765, 3766, 3767, 789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2084, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3699, 3701, + 3700, 3764, 3765, 3766, 3767, 3768, 3769, 3770, 789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2085, 719, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1499, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 719, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3086, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1264, 0, 0, + 0, 0, 0, 0, 0, 1923, 0, 0, 0, 0, + 0, 3089, 719, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1264, 1501, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 719, 1872, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1872, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1923, 0, - 0, 0, 0, 0, 0, 0, 3129, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1501, 0, 0, - 1264, 0, 0, 0, 0, 0, 0, 3156, 1872, 0, + 0, 0, 3132, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1264, 0, 0, 0, + 0, 0, 0, 3159, 1872, 0, 0, 0, 0, 0, + 0, 0, 1923, 0, 0, 3705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3702, 0, 0, 0, 0, + 3713, 3714, 0, 0, 3789, 3788, 3787, 0, 0, 3785, + 3786, 3784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3710, 3711, 0, 0, 3786, 3785, 3784, 0, 0, 3782, - 3783, 3781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1923, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1076, 0, 0, 0, 0, 0, 0, 0, - 2343, 0, 0, 0, 3787, 910, 0, 765, 766, 3788, - 3789, 914, 3790, 768, 769, 911, 912, 0, 763, 767, + 0, 0, 0, 0, 0, 0, 0, 0, 1076, 0, + 0, 0, 0, 0, 3790, 910, 2344, 765, 766, 3791, + 3792, 914, 3793, 768, 769, 911, 912, 0, 763, 767, 913, 915, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3693, 3694, 3695, 3699, - 3700, 3701, 3712, 3759, 3760, 3768, 3770, 866, 3769, 3771, - 3772, 3773, 3776, 3777, 3778, 3779, 3774, 3775, 3780, 3676, - 3680, 3677, 3678, 3679, 3691, 3681, 3682, 3683, 3684, 3685, - 3686, 3687, 3688, 3689, 3690, 3692, 3791, 3792, 3793, 3794, - 3795, 3796, 3705, 3709, 3708, 3706, 3707, 3703, 3704, 3731, - 3730, 3732, 3733, 3734, 3735, 3736, 3737, 3739, 3738, 3740, - 3741, 3742, 3743, 3744, 3745, 3713, 3714, 3717, 3718, 3716, - 3715, 3719, 3728, 3729, 3720, 3721, 3722, 3723, 3724, 3725, - 3727, 3726, 3746, 3747, 3748, 3749, 3750, 3752, 3751, 3755, - 3756, 3754, 3753, 3758, 3757, 0, 3417, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 916, 0, 917, + 0, 0, 0, 0, 0, 0, 3696, 3697, 3698, 3702, + 3703, 3704, 3715, 3762, 3763, 3771, 3773, 866, 3772, 3774, + 3775, 3776, 3779, 3780, 3781, 3782, 3777, 3778, 3783, 3679, + 3683, 3680, 3681, 3682, 3694, 3684, 3685, 3686, 3687, 3688, + 3689, 3690, 3691, 3692, 3693, 3695, 3794, 3795, 3796, 3797, + 3798, 3799, 3708, 3712, 3711, 3709, 3710, 3706, 3707, 3734, + 3733, 3735, 3736, 3737, 3738, 3739, 3740, 3742, 3741, 3743, + 3744, 3745, 3746, 3747, 3748, 3716, 3717, 3720, 3721, 3719, + 3718, 3722, 3731, 3732, 3723, 3724, 3725, 3726, 3727, 3728, + 3730, 3729, 3749, 3750, 3751, 3752, 3753, 3755, 3754, 3758, + 3759, 3757, 3756, 3761, 3760, 0, 0, 0, 0, 0, + 0, 0, 3420, 0, 0, 0, 0, 916, 0, 917, 0, 0, 921, 0, 0, 0, 923, 922, 0, 924, 886, 885, 0, 0, 918, 919, 0, 920, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1923, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1923, 3797, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1501, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2344, 2344, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2343, - 2343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1923, 0, 3568, 3569, 3570, 3571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1501, 0, 0, 0, 0, 3565, 3566, - 3567, 3568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1923, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3664, 0, 3666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3667, 0, 3669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3831, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2344, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3904, 0, 0, - 0, 3904, 3904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2343, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3907, 0, 0, 0, 3907, 3907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2785,197 +2846,54 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2343, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3981, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1264, 1264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4027, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 4035, + 0, 0, 3984, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3988, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1264, 1264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4030, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4038, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 392, 3417, 0, 4035, 1399, 1385, 520, 0, 1327, - 1402, 1296, 1315, 1412, 1318, 1321, 1364, 1274, 1342, 411, - 1312, 1267, 1300, 1269, 1307, 1270, 1298, 1329, 269, 1295, - 1387, 1346, 1401, 362, 266, 1276, 1301, 425, 1317, 203, - 1366, 481, 251, 373, 370, 575, 281, 272, 268, 249, - 315, 381, 423, 510, 417, 1408, 366, 1352, 0, 491, - 396, 0, 0, 0, 1331, 1391, 1340, 1378, 1326, 1365, - 1284, 1351, 1403, 1313, 1361, 1404, 321, 247, 323, 202, - 408, 492, 285, 0, 0, 0, 0, 4009, 941, 0, - 0, 0, 0, 4010, 0, 0, 0, 0, 237, 0, - 0, 244, 0, 0, 0, 347, 356, 355, 336, 337, - 339, 341, 346, 353, 359, 1309, 1358, 1398, 1310, 1360, - 264, 319, 271, 263, 572, 1409, 1390, 1273, 1339, 1397, - 1334, 0, 0, 228, 1400, 1333, 0, 1363, 0, 1415, - 1268, 1354, 0, 1271, 1275, 1411, 1395, 1304, 274, 0, - 0, 0, 0, 0, 0, 0, 1330, 1341, 1375, 1379, - 1324, 0, 0, 0, 0, 0, 0, 0, 0, 1302, - 0, 1350, 0, 0, 0, 1280, 1272, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1328, - 0, 0, 0, 0, 1283, 0, 1303, 1376, 0, 1266, - 296, 1277, 397, 256, 0, 448, 1383, 1394, 1325, 616, - 1396, 1323, 1322, 1370, 1281, 1389, 1316, 361, 1279, 328, - 197, 224, 0, 1314, 407, 456, 468, 1388, 1299, 1308, - 252, 1306, 466, 421, 594, 232, 283, 453, 427, 464, - 435, 286, 1349, 1368, 465, 368, 577, 445, 591, 617, - 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, - 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, - 365, 623, 223, 474, 367, 241, 230, 579, 600, 288, - 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, - 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, - 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, - 639, 227, 610, 219, 1278, 609, 403, 576, 587, 390, - 379, 218, 585, 388, 378, 332, 351, 352, 279, 305, - 442, 371, 443, 304, 306, 399, 398, 400, 206, 598, - 0, 207, 0, 493, 599, 640, 447, 211, 233, 234, - 236, 1294, 278, 282, 290, 293, 301, 302, 311, 363, - 414, 441, 437, 446, 1384, 571, 592, 604, 615, 621, - 622, 624, 625, 626, 627, 628, 631, 629, 402, 309, - 489, 331, 369, 1373, 1414, 420, 467, 239, 596, 490, - 199, 1288, 1293, 1286, 0, 253, 254, 1355, 567, 1289, - 1287, 1344, 1345, 1290, 1405, 1406, 1407, 1392, 641, 642, - 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, - 653, 654, 655, 656, 657, 658, 636, 500, 506, 501, - 502, 503, 504, 505, 0, 507, 1377, 1282, 0, 1291, - 1292, 1386, 583, 584, 659, 380, 480, 593, 333, 345, - 348, 338, 357, 0, 358, 334, 335, 340, 342, 343, - 344, 349, 350, 354, 360, 248, 209, 386, 394, 570, - 310, 215, 216, 217, 516, 517, 518, 519, 607, 608, - 612, 204, 457, 458, 459, 460, 291, 602, 307, 463, - 462, 329, 330, 375, 444, 532, 534, 545, 549, 551, - 553, 559, 562, 533, 535, 546, 550, 552, 554, 560, - 563, 522, 524, 526, 528, 541, 540, 537, 565, 566, - 543, 548, 527, 539, 544, 557, 564, 561, 521, 525, - 529, 538, 556, 555, 536, 547, 558, 542, 530, 523, - 531, 1348, 196, 220, 364, 1410, 449, 287, 637, 606, - 601, 205, 222, 1285, 261, 1297, 1305, 0, 1311, 1319, - 1320, 1332, 1335, 1336, 1337, 1338, 1356, 1357, 1359, 1367, - 1369, 1372, 1374, 1381, 1393, 1413, 198, 200, 208, 221, - 231, 235, 242, 260, 275, 277, 284, 297, 308, 316, - 317, 320, 326, 376, 382, 383, 384, 385, 404, 405, - 406, 409, 412, 413, 416, 418, 419, 422, 426, 430, - 431, 432, 434, 436, 438, 450, 455, 469, 470, 471, - 472, 473, 476, 477, 482, 483, 484, 485, 486, 494, - 495, 508, 578, 580, 595, 613, 619, 475, 299, 300, - 439, 440, 312, 313, 633, 634, 298, 590, 620, 588, - 632, 614, 433, 374, 1347, 1353, 377, 280, 303, 318, - 1362, 605, 496, 226, 461, 289, 250, 1380, 1382, 210, - 245, 229, 258, 273, 276, 322, 387, 395, 424, 429, - 295, 270, 243, 454, 240, 479, 511, 512, 513, 515, - 391, 265, 428, 1343, 1371, 372, 568, 569, 314, 392, - 0, 0, 0, 1399, 1385, 520, 0, 1327, 1402, 1296, - 1315, 1412, 1318, 1321, 1364, 1274, 1342, 411, 1312, 1267, - 1300, 1269, 1307, 1270, 1298, 1329, 269, 1295, 1387, 1346, - 1401, 362, 266, 1276, 1301, 425, 1317, 203, 1366, 481, - 251, 373, 370, 575, 281, 272, 268, 249, 315, 381, - 423, 510, 417, 1408, 366, 1352, 0, 491, 396, 0, - 0, 0, 1331, 1391, 1340, 1378, 1326, 1365, 1284, 1351, - 1403, 1313, 1361, 1404, 321, 247, 323, 202, 408, 492, - 285, 0, 0, 0, 0, 0, 194, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, - 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, - 346, 353, 359, 1309, 1358, 1398, 1310, 1360, 264, 319, - 271, 263, 572, 1409, 1390, 1273, 1339, 1397, 1334, 0, - 0, 228, 1400, 1333, 0, 1363, 0, 1415, 1268, 1354, - 0, 1271, 1275, 1411, 1395, 1304, 274, 0, 0, 0, - 0, 0, 0, 0, 1330, 1341, 1375, 1379, 1324, 0, - 0, 0, 0, 0, 0, 3181, 0, 1302, 0, 1350, - 0, 0, 0, 1280, 1272, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1328, 0, 0, - 0, 0, 1283, 0, 1303, 1376, 0, 1266, 296, 1277, - 397, 256, 0, 448, 1383, 1394, 1325, 616, 1396, 1323, - 1322, 1370, 1281, 1389, 1316, 361, 1279, 328, 197, 224, - 0, 1314, 407, 456, 468, 1388, 1299, 1308, 252, 1306, - 466, 421, 594, 232, 283, 453, 427, 464, 435, 286, - 1349, 1368, 465, 368, 577, 445, 591, 617, 618, 262, - 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, - 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, - 223, 474, 367, 241, 230, 579, 600, 288, 451, 630, - 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, - 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, - 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, - 610, 219, 1278, 609, 403, 576, 587, 390, 379, 218, - 585, 388, 378, 332, 351, 352, 279, 305, 442, 371, - 443, 304, 306, 399, 398, 400, 206, 598, 0, 207, - 0, 493, 599, 640, 447, 211, 233, 234, 236, 1294, - 278, 282, 290, 293, 301, 302, 311, 363, 414, 441, - 437, 446, 1384, 571, 592, 604, 615, 621, 622, 624, - 625, 626, 627, 628, 631, 629, 402, 309, 489, 331, - 369, 1373, 1414, 420, 467, 239, 596, 490, 199, 1288, - 1293, 1286, 0, 253, 254, 1355, 567, 1289, 1287, 1344, - 1345, 1290, 1405, 1406, 1407, 1392, 641, 642, 643, 644, - 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, - 655, 656, 657, 658, 636, 500, 506, 501, 502, 503, - 504, 505, 0, 507, 1377, 1282, 0, 1291, 1292, 1386, - 583, 584, 659, 380, 480, 593, 333, 345, 348, 338, - 357, 0, 358, 334, 335, 340, 342, 343, 344, 349, - 350, 354, 360, 248, 209, 386, 394, 570, 310, 215, - 216, 217, 516, 517, 518, 519, 607, 608, 612, 204, - 457, 458, 459, 460, 291, 602, 307, 463, 462, 329, - 330, 375, 444, 532, 534, 545, 549, 551, 553, 559, - 562, 533, 535, 546, 550, 552, 554, 560, 563, 522, - 524, 526, 528, 541, 540, 537, 565, 566, 543, 548, - 527, 539, 544, 557, 564, 561, 521, 525, 529, 538, - 556, 555, 536, 547, 558, 542, 530, 523, 531, 1348, - 196, 220, 364, 1410, 449, 287, 637, 606, 601, 205, - 222, 1285, 261, 1297, 1305, 0, 1311, 1319, 1320, 1332, - 1335, 1336, 1337, 1338, 1356, 1357, 1359, 1367, 1369, 1372, - 1374, 1381, 1393, 1413, 198, 200, 208, 221, 231, 235, - 242, 260, 275, 277, 284, 297, 308, 316, 317, 320, - 326, 376, 382, 383, 384, 385, 404, 405, 406, 409, - 412, 413, 416, 418, 419, 422, 426, 430, 431, 432, - 434, 436, 438, 450, 455, 469, 470, 471, 472, 473, - 476, 477, 482, 483, 484, 485, 486, 494, 495, 508, - 578, 580, 595, 613, 619, 475, 299, 300, 439, 440, - 312, 313, 633, 634, 298, 590, 620, 588, 632, 614, - 433, 374, 1347, 1353, 377, 280, 303, 318, 1362, 605, - 496, 226, 461, 289, 250, 1380, 1382, 210, 245, 229, - 258, 273, 276, 322, 387, 395, 424, 429, 295, 270, - 243, 454, 240, 479, 511, 512, 513, 515, 391, 265, - 428, 1343, 1371, 372, 568, 569, 314, 392, 0, 0, - 0, 1399, 1385, 520, 0, 1327, 1402, 1296, 1315, 1412, - 1318, 1321, 1364, 1274, 1342, 411, 1312, 1267, 1300, 1269, - 1307, 1270, 1298, 1329, 269, 1295, 1387, 1346, 1401, 362, - 266, 1276, 1301, 425, 1317, 203, 1366, 481, 251, 373, - 370, 575, 281, 272, 268, 249, 315, 381, 423, 510, - 417, 1408, 366, 1352, 0, 491, 396, 0, 0, 0, - 1331, 1391, 1340, 1378, 1326, 1365, 1284, 1351, 1403, 1313, - 1361, 1404, 321, 247, 323, 202, 408, 492, 285, 0, - 0, 0, 0, 0, 709, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, - 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, - 359, 1309, 1358, 1398, 1310, 1360, 264, 319, 271, 263, - 572, 1409, 1390, 1273, 1339, 1397, 1334, 0, 0, 228, - 1400, 1333, 0, 1363, 0, 1415, 1268, 1354, 0, 1271, - 1275, 1411, 1395, 1304, 274, 0, 0, 0, 0, 0, - 0, 0, 1330, 1341, 1375, 1379, 1324, 0, 0, 0, - 0, 0, 0, 3142, 0, 1302, 0, 1350, 0, 0, - 0, 1280, 1272, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 392, 3420, 0, + 4038, 1399, 1385, 520, 0, 1327, 1402, 1296, 1315, 1412, + 1318, 1321, 1364, 1274, 1342, 411, 1312, 1267, 1300, 1269, + 1307, 1270, 1298, 1329, 269, 1295, 1387, 1346, 1401, 362, + 266, 1276, 1301, 425, 1317, 203, 1366, 481, 251, 373, + 370, 575, 281, 272, 268, 249, 315, 381, 423, 510, + 417, 1408, 366, 1352, 0, 491, 396, 0, 0, 0, + 1331, 1391, 1340, 1378, 1326, 1365, 1284, 1351, 1403, 1313, + 1361, 1404, 321, 247, 323, 202, 408, 492, 285, 0, + 0, 0, 0, 4012, 941, 0, 0, 0, 0, 4013, + 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, + 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, + 359, 1309, 1358, 1398, 1310, 1360, 264, 319, 271, 263, + 572, 1409, 1390, 1273, 1339, 1397, 1334, 0, 0, 228, + 1400, 1333, 0, 1363, 0, 1415, 1268, 1354, 0, 1271, + 1275, 1411, 1395, 1304, 274, 0, 0, 0, 0, 0, + 0, 0, 1330, 1341, 1375, 1379, 1324, 0, 0, 0, + 0, 0, 0, 0, 0, 1302, 0, 1350, 0, 0, + 0, 1280, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2988,7 +2906,80 @@ var yyAct = [...]int{ 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, - 367, 241, 230, 579, 600, 288, 451, 630, 212, 509, + 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, + 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, + 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, + 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, + 219, 1278, 609, 403, 576, 587, 390, 379, 218, 585, + 388, 378, 332, 351, 352, 279, 305, 442, 371, 443, + 304, 306, 399, 398, 400, 206, 598, 0, 207, 0, + 493, 599, 640, 447, 211, 233, 234, 236, 1294, 278, + 282, 290, 293, 301, 302, 311, 363, 414, 441, 437, + 446, 1384, 571, 592, 604, 615, 621, 622, 624, 625, + 626, 627, 628, 631, 629, 402, 309, 489, 331, 369, + 1373, 1414, 420, 467, 239, 596, 490, 199, 1288, 1293, + 1286, 0, 253, 254, 1355, 567, 1289, 1287, 1344, 1345, + 1290, 1405, 1406, 1407, 1392, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, + 656, 657, 658, 636, 500, 506, 501, 502, 503, 504, + 505, 0, 507, 1377, 1282, 0, 1291, 1292, 1386, 583, + 584, 659, 380, 480, 593, 333, 345, 348, 338, 357, + 0, 358, 334, 335, 340, 342, 343, 344, 349, 350, + 354, 360, 248, 209, 386, 394, 570, 310, 215, 216, + 217, 516, 517, 518, 519, 607, 608, 612, 204, 457, + 458, 459, 460, 291, 602, 307, 463, 462, 329, 330, + 375, 444, 532, 534, 545, 549, 551, 553, 559, 562, + 533, 535, 546, 550, 552, 554, 560, 563, 522, 524, + 526, 528, 541, 540, 537, 565, 566, 543, 548, 527, + 539, 544, 557, 564, 561, 521, 525, 529, 538, 556, + 555, 536, 547, 558, 542, 530, 523, 531, 1348, 196, + 220, 364, 1410, 449, 287, 637, 606, 601, 205, 222, + 1285, 261, 1297, 1305, 0, 1311, 1319, 1320, 1332, 1335, + 1336, 1337, 1338, 1356, 1357, 1359, 1367, 1369, 1372, 1374, + 1381, 1393, 1413, 198, 200, 208, 221, 231, 235, 242, + 260, 275, 277, 284, 297, 308, 316, 317, 320, 326, + 376, 382, 383, 384, 385, 404, 405, 406, 409, 412, + 413, 416, 418, 419, 422, 426, 430, 431, 432, 434, + 436, 438, 450, 455, 469, 470, 471, 472, 473, 476, + 477, 482, 483, 484, 485, 486, 494, 495, 508, 578, + 580, 595, 613, 619, 475, 299, 300, 439, 440, 312, + 313, 633, 634, 298, 590, 620, 588, 632, 614, 433, + 374, 1347, 1353, 377, 280, 303, 318, 1362, 605, 496, + 226, 461, 289, 250, 1380, 1382, 210, 245, 229, 258, + 273, 276, 322, 387, 395, 424, 429, 295, 270, 243, + 454, 240, 479, 511, 512, 513, 515, 391, 265, 428, + 1343, 1371, 372, 568, 569, 314, 392, 0, 0, 0, + 1399, 1385, 520, 0, 1327, 1402, 1296, 1315, 1412, 1318, + 1321, 1364, 1274, 1342, 411, 1312, 1267, 1300, 1269, 1307, + 1270, 1298, 1329, 269, 1295, 1387, 1346, 1401, 362, 266, + 1276, 1301, 425, 1317, 203, 1366, 481, 251, 373, 370, + 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, + 1408, 366, 1352, 0, 491, 396, 0, 0, 0, 1331, + 1391, 1340, 1378, 1326, 1365, 1284, 1351, 1403, 1313, 1361, + 1404, 321, 247, 323, 202, 408, 492, 285, 0, 0, + 0, 0, 0, 194, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, + 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, + 1309, 1358, 1398, 1310, 1360, 264, 319, 271, 263, 572, + 1409, 1390, 1273, 1339, 1397, 1334, 0, 0, 228, 1400, + 1333, 0, 1363, 0, 1415, 1268, 1354, 0, 1271, 1275, + 1411, 1395, 1304, 274, 0, 0, 0, 0, 0, 0, + 0, 1330, 1341, 1375, 1379, 1324, 0, 0, 0, 0, + 0, 0, 3184, 0, 1302, 0, 1350, 0, 0, 0, + 1280, 1272, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1328, 0, 0, 0, 0, 1283, + 0, 1303, 1376, 0, 1266, 296, 1277, 397, 256, 0, + 448, 1383, 1394, 1325, 616, 1396, 1323, 1322, 1370, 1281, + 1389, 1316, 361, 1279, 328, 197, 224, 0, 1314, 407, + 456, 468, 1388, 1299, 1308, 252, 1306, 466, 421, 594, + 232, 283, 453, 427, 464, 435, 286, 1349, 1368, 465, + 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, + 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, + 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, + 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, @@ -3039,7 +3030,7 @@ var yyAct = [...]int{ 366, 1352, 0, 491, 396, 0, 0, 0, 1331, 1391, 1340, 1378, 1326, 1365, 1284, 1351, 1403, 1313, 1361, 1404, 321, 247, 323, 202, 408, 492, 285, 0, 0, 0, - 0, 0, 941, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, 1309, 1358, 1398, 1310, 1360, 264, 319, 271, 263, 572, 1409, @@ -3047,7 +3038,7 @@ var yyAct = [...]int{ 0, 1363, 0, 1415, 1268, 1354, 0, 1271, 1275, 1411, 1395, 1304, 274, 0, 0, 0, 0, 0, 0, 0, 1330, 1341, 1375, 1379, 1324, 0, 0, 0, 0, 0, - 0, 2361, 0, 1302, 0, 1350, 0, 0, 0, 1280, + 0, 3145, 0, 1302, 0, 1350, 0, 0, 0, 1280, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3061,7 +3052,80 @@ var yyAct = [...]int{ 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, - 230, 579, 600, 288, 451, 630, 212, 509, 589, 238, + 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, + 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, + 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, + 257, 410, 581, 582, 255, 639, 227, 610, 219, 1278, + 609, 403, 576, 587, 390, 379, 218, 585, 388, 378, + 332, 351, 352, 279, 305, 442, 371, 443, 304, 306, + 399, 398, 400, 206, 598, 0, 207, 0, 493, 599, + 640, 447, 211, 233, 234, 236, 1294, 278, 282, 290, + 293, 301, 302, 311, 363, 414, 441, 437, 446, 1384, + 571, 592, 604, 615, 621, 622, 624, 625, 626, 627, + 628, 631, 629, 402, 309, 489, 331, 369, 1373, 1414, + 420, 467, 239, 596, 490, 199, 1288, 1293, 1286, 0, + 253, 254, 1355, 567, 1289, 1287, 1344, 1345, 1290, 1405, + 1406, 1407, 1392, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 636, 500, 506, 501, 502, 503, 504, 505, 0, + 507, 1377, 1282, 0, 1291, 1292, 1386, 583, 584, 659, + 380, 480, 593, 333, 345, 348, 338, 357, 0, 358, + 334, 335, 340, 342, 343, 344, 349, 350, 354, 360, + 248, 209, 386, 394, 570, 310, 215, 216, 217, 516, + 517, 518, 519, 607, 608, 612, 204, 457, 458, 459, + 460, 291, 602, 307, 463, 462, 329, 330, 375, 444, + 532, 534, 545, 549, 551, 553, 559, 562, 533, 535, + 546, 550, 552, 554, 560, 563, 522, 524, 526, 528, + 541, 540, 537, 565, 566, 543, 548, 527, 539, 544, + 557, 564, 561, 521, 525, 529, 538, 556, 555, 536, + 547, 558, 542, 530, 523, 531, 1348, 196, 220, 364, + 1410, 449, 287, 637, 606, 601, 205, 222, 1285, 261, + 1297, 1305, 0, 1311, 1319, 1320, 1332, 1335, 1336, 1337, + 1338, 1356, 1357, 1359, 1367, 1369, 1372, 1374, 1381, 1393, + 1413, 198, 200, 208, 221, 231, 235, 242, 260, 275, + 277, 284, 297, 308, 316, 317, 320, 326, 376, 382, + 383, 384, 385, 404, 405, 406, 409, 412, 413, 416, + 418, 419, 422, 426, 430, 431, 432, 434, 436, 438, + 450, 455, 469, 470, 471, 472, 473, 476, 477, 482, + 483, 484, 485, 486, 494, 495, 508, 578, 580, 595, + 613, 619, 475, 299, 300, 439, 440, 312, 313, 633, + 634, 298, 590, 620, 588, 632, 614, 433, 374, 1347, + 1353, 377, 280, 303, 318, 1362, 605, 496, 226, 461, + 289, 250, 1380, 1382, 210, 245, 229, 258, 273, 276, + 322, 387, 395, 424, 429, 295, 270, 243, 454, 240, + 479, 511, 512, 513, 515, 391, 265, 428, 1343, 1371, + 372, 568, 569, 314, 392, 0, 0, 0, 1399, 1385, + 520, 0, 1327, 1402, 1296, 1315, 1412, 1318, 1321, 1364, + 1274, 1342, 411, 1312, 1267, 1300, 1269, 1307, 1270, 1298, + 1329, 269, 1295, 1387, 1346, 1401, 362, 266, 1276, 1301, + 425, 1317, 203, 1366, 481, 251, 373, 370, 575, 281, + 272, 268, 249, 315, 381, 423, 510, 417, 1408, 366, + 1352, 0, 491, 396, 0, 0, 0, 1331, 1391, 1340, + 1378, 1326, 1365, 1284, 1351, 1403, 1313, 1361, 1404, 321, + 247, 323, 202, 408, 492, 285, 0, 0, 0, 0, + 0, 941, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, + 355, 336, 337, 339, 341, 346, 353, 359, 1309, 1358, + 1398, 1310, 1360, 264, 319, 271, 263, 572, 1409, 1390, + 1273, 1339, 1397, 1334, 0, 0, 228, 1400, 1333, 0, + 1363, 0, 1415, 1268, 1354, 0, 1271, 1275, 1411, 1395, + 1304, 274, 0, 0, 0, 0, 0, 0, 0, 1330, + 1341, 1375, 1379, 1324, 0, 0, 0, 0, 0, 0, + 2362, 0, 1302, 0, 1350, 0, 0, 0, 1280, 1272, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1328, 0, 0, 0, 0, 1283, 0, 1303, + 1376, 0, 1266, 296, 1277, 397, 256, 0, 448, 1383, + 1394, 1325, 616, 1396, 1323, 1322, 1370, 1281, 1389, 1316, + 361, 1279, 328, 197, 224, 0, 1314, 407, 456, 468, + 1388, 1299, 1308, 252, 1306, 466, 421, 594, 232, 283, + 453, 427, 464, 435, 286, 1349, 1368, 465, 368, 577, + 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, + 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, + 487, 294, 201, 365, 623, 223, 474, 367, 241, 230, + 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, 1278, 609, @@ -3134,7 +3198,80 @@ var yyAct = [...]int{ 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, 230, 579, - 600, 288, 451, 630, 212, 509, 589, 238, 478, 0, + 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, + 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, + 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, + 581, 582, 255, 639, 227, 610, 219, 1278, 609, 403, + 576, 587, 390, 379, 218, 585, 388, 378, 332, 351, + 352, 279, 305, 442, 371, 443, 304, 306, 399, 398, + 400, 206, 598, 0, 207, 0, 493, 599, 640, 447, + 211, 233, 234, 236, 1294, 278, 282, 290, 293, 301, + 302, 311, 363, 414, 441, 437, 446, 1384, 571, 592, + 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, + 629, 402, 309, 489, 331, 369, 1373, 1414, 420, 467, + 239, 596, 490, 199, 1288, 1293, 1286, 0, 253, 254, + 1355, 567, 1289, 1287, 1344, 1345, 1290, 1405, 1406, 1407, + 1392, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, + 500, 506, 501, 502, 503, 504, 505, 0, 507, 1377, + 1282, 0, 1291, 1292, 1386, 583, 584, 659, 380, 480, + 593, 333, 345, 348, 338, 357, 0, 358, 334, 335, + 340, 342, 343, 344, 349, 350, 354, 360, 248, 209, + 386, 394, 570, 310, 215, 216, 217, 516, 517, 518, + 519, 607, 608, 612, 204, 457, 458, 459, 460, 291, + 602, 307, 463, 462, 329, 330, 375, 444, 532, 534, + 545, 549, 551, 553, 559, 562, 533, 535, 546, 550, + 552, 554, 560, 563, 522, 524, 526, 528, 541, 540, + 537, 565, 566, 543, 548, 527, 539, 544, 557, 564, + 561, 521, 525, 529, 538, 556, 555, 536, 547, 558, + 542, 530, 523, 531, 1348, 196, 220, 364, 1410, 449, + 287, 637, 606, 601, 205, 222, 1285, 261, 1297, 1305, + 0, 1311, 1319, 1320, 1332, 1335, 1336, 1337, 1338, 1356, + 1357, 1359, 1367, 1369, 1372, 1374, 1381, 1393, 1413, 198, + 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, + 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, + 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, + 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, + 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, + 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, + 475, 299, 300, 439, 440, 312, 313, 633, 634, 298, + 590, 620, 588, 632, 614, 433, 374, 1347, 1353, 377, + 280, 303, 318, 1362, 605, 496, 226, 461, 289, 250, + 1380, 1382, 210, 245, 229, 258, 273, 276, 322, 387, + 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, + 512, 513, 515, 391, 265, 428, 1343, 1371, 372, 568, + 569, 314, 392, 0, 0, 0, 1399, 1385, 520, 0, + 1327, 1402, 1296, 1315, 1412, 1318, 1321, 1364, 1274, 1342, + 411, 1312, 1267, 1300, 1269, 1307, 1270, 1298, 1329, 269, + 1295, 1387, 1346, 1401, 362, 266, 1276, 1301, 425, 1317, + 203, 1366, 481, 251, 373, 370, 575, 281, 272, 268, + 249, 315, 381, 423, 510, 417, 1408, 366, 1352, 0, + 491, 396, 0, 0, 0, 1331, 1391, 1340, 1378, 1326, + 1365, 1284, 1351, 1403, 1313, 1361, 1404, 321, 247, 323, + 202, 408, 492, 285, 0, 0, 0, 0, 0, 194, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, + 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, + 337, 339, 341, 346, 353, 359, 1309, 1358, 1398, 1310, + 1360, 264, 319, 271, 263, 572, 1409, 1390, 1273, 1339, + 1397, 1334, 0, 0, 228, 1400, 1333, 0, 1363, 0, + 1415, 1268, 1354, 0, 1271, 1275, 1411, 1395, 1304, 274, + 0, 0, 0, 0, 0, 0, 0, 1330, 1341, 1375, + 1379, 1324, 0, 0, 0, 0, 0, 0, 0, 0, + 1302, 0, 1350, 0, 0, 0, 1280, 1272, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1328, 0, 0, 0, 0, 1283, 0, 1303, 1376, 0, + 1266, 296, 1277, 397, 256, 0, 448, 1383, 1394, 1325, + 616, 1396, 1323, 1322, 1370, 1281, 1389, 1316, 361, 1279, + 328, 197, 224, 0, 1314, 407, 456, 468, 1388, 1299, + 1308, 252, 1306, 466, 421, 594, 232, 283, 453, 427, + 464, 435, 286, 1349, 1368, 465, 368, 577, 445, 591, + 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, + 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, + 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, + 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, 1278, 609, 403, 576, @@ -3184,7 +3321,7 @@ var yyAct = [...]int{ 315, 381, 423, 510, 417, 1408, 366, 1352, 0, 491, 396, 0, 0, 0, 1331, 1391, 1340, 1378, 1326, 1365, 1284, 1351, 1403, 1313, 1361, 1404, 321, 247, 323, 202, - 408, 492, 285, 0, 0, 0, 0, 0, 194, 0, + 408, 492, 285, 0, 0, 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, 1309, 1358, 1398, 1310, 1360, @@ -3206,7 +3343,80 @@ var yyAct = [...]int{ 435, 286, 1349, 1368, 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, - 365, 623, 223, 474, 367, 241, 230, 579, 600, 288, + 365, 623, 223, 474, 367, 241, 230, 579, 600, 0, + 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, + 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, + 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, + 255, 639, 227, 610, 219, 1278, 609, 403, 576, 587, + 390, 379, 218, 585, 388, 378, 332, 351, 352, 279, + 305, 442, 371, 443, 304, 306, 399, 398, 400, 206, + 598, 0, 207, 0, 493, 599, 640, 447, 211, 233, + 234, 236, 1294, 278, 282, 290, 293, 301, 302, 311, + 363, 414, 441, 437, 446, 1384, 571, 592, 604, 615, + 621, 622, 624, 625, 626, 627, 628, 631, 629, 402, + 309, 489, 331, 369, 1373, 1414, 420, 467, 239, 596, + 490, 199, 1288, 1293, 1286, 0, 253, 254, 1355, 567, + 1289, 1287, 1344, 1345, 1290, 1405, 1406, 1407, 1392, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 636, 500, 506, + 501, 502, 503, 504, 505, 0, 507, 1377, 1282, 0, + 1291, 1292, 1386, 583, 584, 659, 380, 480, 593, 333, + 345, 348, 338, 357, 0, 358, 334, 335, 340, 342, + 343, 344, 349, 350, 354, 360, 248, 209, 386, 394, + 570, 310, 215, 216, 217, 516, 517, 518, 519, 607, + 608, 612, 204, 457, 458, 459, 460, 291, 602, 307, + 463, 462, 329, 330, 375, 444, 532, 534, 545, 549, + 551, 553, 559, 562, 533, 535, 546, 550, 552, 554, + 560, 563, 522, 524, 526, 528, 541, 540, 537, 565, + 566, 543, 548, 527, 539, 544, 557, 564, 561, 521, + 525, 529, 538, 556, 555, 536, 547, 558, 542, 530, + 523, 531, 1348, 196, 220, 364, 1410, 449, 287, 637, + 606, 601, 205, 222, 1285, 261, 1297, 1305, 0, 1311, + 1319, 1320, 1332, 1335, 1336, 1337, 1338, 1356, 1357, 1359, + 1367, 1369, 1372, 1374, 1381, 1393, 1413, 198, 200, 208, + 221, 231, 235, 242, 260, 275, 277, 284, 297, 308, + 316, 317, 320, 326, 376, 382, 383, 384, 385, 404, + 405, 406, 409, 412, 413, 416, 418, 419, 422, 426, + 430, 431, 432, 434, 436, 438, 450, 455, 469, 470, + 471, 472, 473, 476, 477, 482, 483, 484, 485, 486, + 494, 495, 508, 578, 580, 595, 613, 619, 475, 299, + 300, 439, 440, 312, 313, 633, 634, 298, 590, 620, + 588, 632, 614, 433, 374, 1347, 1353, 377, 280, 303, + 318, 1362, 605, 496, 226, 461, 289, 250, 1380, 1382, + 210, 245, 229, 258, 273, 276, 322, 387, 395, 424, + 429, 295, 270, 243, 454, 240, 479, 511, 512, 513, + 515, 391, 265, 428, 1343, 1371, 372, 568, 569, 314, + 392, 0, 0, 0, 1399, 1385, 520, 0, 1327, 1402, + 1296, 1315, 1412, 1318, 1321, 1364, 1274, 1342, 411, 1312, + 1267, 1300, 1269, 1307, 1270, 1298, 1329, 269, 1295, 1387, + 1346, 1401, 362, 266, 1276, 1301, 425, 1317, 203, 1366, + 481, 251, 373, 370, 575, 281, 272, 268, 249, 315, + 381, 423, 510, 417, 1408, 366, 1352, 0, 491, 396, + 0, 0, 0, 1331, 1391, 1340, 1378, 1326, 1365, 1284, + 1351, 1403, 1313, 1361, 1404, 321, 247, 323, 202, 408, + 492, 285, 0, 0, 0, 0, 0, 941, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, + 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, + 341, 346, 353, 359, 1309, 1358, 1398, 1310, 1360, 264, + 319, 271, 263, 572, 1409, 1390, 1273, 1339, 1397, 1334, + 0, 0, 228, 1400, 1333, 0, 1363, 0, 1415, 1268, + 1354, 0, 1271, 1275, 1411, 1395, 1304, 274, 0, 0, + 0, 0, 0, 0, 0, 1330, 1341, 1375, 1379, 1324, + 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, + 1350, 0, 0, 0, 1280, 1272, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1328, 0, + 0, 0, 0, 1283, 0, 1303, 1376, 0, 1266, 296, + 1277, 397, 256, 0, 448, 1383, 1394, 1325, 616, 1396, + 1323, 1322, 1370, 1281, 1389, 1316, 361, 1279, 328, 197, + 224, 0, 1314, 407, 456, 468, 1388, 1299, 1308, 252, + 1306, 466, 421, 594, 232, 283, 453, 427, 464, 435, + 286, 1349, 1368, 465, 368, 577, 445, 591, 617, 618, + 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, + 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, + 623, 223, 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, @@ -3249,327 +3459,37 @@ var yyAct = [...]int{ 245, 229, 258, 273, 276, 322, 387, 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, 512, 513, 515, 391, 265, 428, 1343, 1371, 372, 568, 569, 314, 392, - 0, 0, 0, 1399, 1385, 520, 0, 1327, 1402, 1296, - 1315, 1412, 1318, 1321, 1364, 1274, 1342, 411, 1312, 1267, - 1300, 1269, 1307, 1270, 1298, 1329, 269, 1295, 1387, 1346, - 1401, 362, 266, 1276, 1301, 425, 1317, 203, 1366, 481, + 0, 0, 0, 0, 0, 520, 0, 761, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 411, 0, 0, + 0, 0, 749, 0, 0, 0, 269, 754, 0, 0, + 0, 362, 266, 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, 249, 315, 381, - 423, 510, 417, 1408, 366, 1352, 0, 491, 396, 0, - 0, 0, 1331, 1391, 1340, 1378, 1326, 1365, 1284, 1351, - 1403, 1313, 1361, 1404, 321, 247, 323, 202, 408, 492, - 285, 0, 0, 0, 0, 0, 709, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, - 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, - 346, 353, 359, 1309, 1358, 1398, 1310, 1360, 264, 319, - 271, 263, 572, 1409, 1390, 1273, 1339, 1397, 1334, 0, - 0, 228, 1400, 1333, 0, 1363, 0, 1415, 1268, 1354, - 0, 1271, 1275, 1411, 1395, 1304, 274, 0, 0, 0, - 0, 0, 0, 0, 1330, 1341, 1375, 1379, 1324, 0, - 0, 0, 0, 0, 0, 0, 0, 1302, 0, 1350, - 0, 0, 0, 1280, 1272, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1328, 0, 0, - 0, 0, 1283, 0, 1303, 1376, 0, 1266, 296, 1277, - 397, 256, 0, 448, 1383, 1394, 1325, 616, 1396, 1323, - 1322, 1370, 1281, 1389, 1316, 361, 1279, 328, 197, 224, - 0, 1314, 407, 456, 468, 1388, 1299, 1308, 252, 1306, + 423, 510, 417, 760, 366, 0, 0, 491, 396, 0, + 0, 0, 0, 0, 756, 757, 0, 0, 0, 0, + 0, 0, 0, 0, 321, 247, 323, 202, 408, 492, + 285, 0, 95, 0, 0, 957, 941, 733, 907, 945, + 958, 959, 960, 961, 946, 0, 237, 947, 948, 244, + 949, 0, 906, 791, 793, 792, 856, 857, 858, 859, + 860, 861, 862, 789, 954, 962, 963, 0, 264, 319, + 271, 263, 572, 0, 0, 2183, 2184, 2185, 0, 0, + 0, 228, 0, 0, 0, 0, 0, 0, 0, 729, + 746, 0, 759, 0, 0, 0, 274, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 743, 744, 0, 0, 0, 0, 901, + 0, 745, 0, 0, 753, 964, 965, 966, 967, 968, + 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, + 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, + 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, + 999, 1000, 1001, 1002, 1003, 1004, 1005, 755, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, + 397, 256, 0, 448, 900, 0, 0, 616, 0, 0, + 898, 0, 0, 0, 0, 361, 0, 328, 197, 224, + 0, 0, 407, 456, 468, 0, 0, 0, 951, 0, 466, 421, 594, 232, 283, 453, 427, 464, 435, 286, - 1349, 1368, 465, 368, 577, 445, 591, 617, 618, 262, + 0, 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, - 223, 474, 367, 241, 230, 579, 600, 288, 451, 630, - 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, - 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, - 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, - 610, 219, 1278, 609, 403, 576, 587, 390, 379, 218, - 585, 388, 378, 332, 351, 352, 279, 305, 442, 371, - 443, 304, 306, 399, 398, 400, 206, 598, 0, 207, - 0, 493, 599, 640, 447, 211, 233, 234, 236, 1294, - 278, 282, 290, 293, 301, 302, 311, 363, 414, 441, - 437, 446, 1384, 571, 592, 604, 615, 621, 622, 624, - 625, 626, 627, 628, 631, 629, 402, 309, 489, 331, - 369, 1373, 1414, 420, 467, 239, 596, 490, 199, 1288, - 1293, 1286, 0, 253, 254, 1355, 567, 1289, 1287, 1344, - 1345, 1290, 1405, 1406, 1407, 1392, 641, 642, 643, 644, - 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, - 655, 656, 657, 658, 636, 500, 506, 501, 502, 503, - 504, 505, 0, 507, 1377, 1282, 0, 1291, 1292, 1386, - 583, 584, 659, 380, 480, 593, 333, 345, 348, 338, - 357, 0, 358, 334, 335, 340, 342, 343, 344, 349, - 350, 354, 360, 248, 209, 386, 394, 570, 310, 215, - 216, 217, 516, 517, 518, 519, 607, 608, 612, 204, - 457, 458, 459, 460, 291, 602, 307, 463, 462, 329, - 330, 375, 444, 532, 534, 545, 549, 551, 553, 559, - 562, 533, 535, 546, 550, 552, 554, 560, 563, 522, - 524, 526, 528, 541, 540, 537, 565, 566, 543, 548, - 527, 539, 544, 557, 564, 561, 521, 525, 529, 538, - 556, 555, 536, 547, 558, 542, 530, 523, 531, 1348, - 196, 220, 364, 1410, 449, 287, 637, 606, 601, 205, - 222, 1285, 261, 1297, 1305, 0, 1311, 1319, 1320, 1332, - 1335, 1336, 1337, 1338, 1356, 1357, 1359, 1367, 1369, 1372, - 1374, 1381, 1393, 1413, 198, 200, 208, 221, 231, 235, - 242, 260, 275, 277, 284, 297, 308, 316, 317, 320, - 326, 376, 382, 383, 384, 385, 404, 405, 406, 409, - 412, 413, 416, 418, 419, 422, 426, 430, 431, 432, - 434, 436, 438, 450, 455, 469, 470, 471, 472, 473, - 476, 477, 482, 483, 484, 485, 486, 494, 495, 508, - 578, 580, 595, 613, 619, 475, 299, 300, 439, 440, - 312, 313, 633, 634, 298, 590, 620, 588, 632, 614, - 433, 374, 1347, 1353, 377, 280, 303, 318, 1362, 605, - 496, 226, 461, 289, 250, 1380, 1382, 210, 245, 229, - 258, 273, 276, 322, 387, 395, 424, 429, 295, 270, - 243, 454, 240, 479, 511, 512, 513, 515, 391, 265, - 428, 1343, 1371, 372, 568, 569, 314, 392, 0, 0, - 0, 1399, 1385, 520, 0, 1327, 1402, 1296, 1315, 1412, - 1318, 1321, 1364, 1274, 1342, 411, 1312, 1267, 1300, 1269, - 1307, 1270, 1298, 1329, 269, 1295, 1387, 1346, 1401, 362, - 266, 1276, 1301, 425, 1317, 203, 1366, 481, 251, 373, - 370, 575, 281, 272, 268, 249, 315, 381, 423, 510, - 417, 1408, 366, 1352, 0, 491, 396, 0, 0, 0, - 1331, 1391, 1340, 1378, 1326, 1365, 1284, 1351, 1403, 1313, - 1361, 1404, 321, 247, 323, 202, 408, 492, 285, 0, - 0, 0, 0, 0, 941, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, - 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, - 359, 1309, 1358, 1398, 1310, 1360, 264, 319, 271, 263, - 572, 1409, 1390, 1273, 1339, 1397, 1334, 0, 0, 228, - 1400, 1333, 0, 1363, 0, 1415, 1268, 1354, 0, 1271, - 1275, 1411, 1395, 1304, 274, 0, 0, 0, 0, 0, - 0, 0, 1330, 1341, 1375, 1379, 1324, 0, 0, 0, - 0, 0, 0, 0, 0, 1302, 0, 1350, 0, 0, - 0, 1280, 1272, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1328, 0, 0, 0, 0, - 1283, 0, 1303, 1376, 0, 1266, 296, 1277, 397, 256, - 0, 448, 1383, 1394, 1325, 616, 1396, 1323, 1322, 1370, - 1281, 1389, 1316, 361, 1279, 328, 197, 224, 0, 1314, - 407, 456, 468, 1388, 1299, 1308, 252, 1306, 466, 421, - 594, 232, 283, 453, 427, 464, 435, 286, 1349, 1368, - 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, - 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, - 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, - 367, 241, 230, 579, 600, 288, 451, 630, 212, 509, - 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, - 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, - 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, - 1278, 609, 403, 576, 587, 390, 379, 218, 585, 388, - 378, 332, 351, 352, 279, 305, 442, 371, 443, 304, - 306, 399, 398, 400, 206, 598, 0, 207, 0, 493, - 599, 640, 447, 211, 233, 234, 236, 1294, 278, 282, - 290, 293, 301, 302, 311, 363, 414, 441, 437, 446, - 1384, 571, 592, 604, 615, 621, 622, 624, 625, 626, - 627, 628, 631, 629, 402, 309, 489, 331, 369, 1373, - 1414, 420, 467, 239, 596, 490, 199, 1288, 1293, 1286, - 0, 253, 254, 1355, 567, 1289, 1287, 1344, 1345, 1290, - 1405, 1406, 1407, 1392, 641, 642, 643, 644, 645, 646, - 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, - 657, 658, 636, 500, 506, 501, 502, 503, 504, 505, - 0, 507, 1377, 1282, 0, 1291, 1292, 1386, 583, 584, - 659, 380, 480, 593, 333, 345, 348, 338, 357, 0, - 358, 334, 335, 340, 342, 343, 344, 349, 350, 354, - 360, 248, 209, 386, 394, 570, 310, 215, 216, 217, - 516, 517, 518, 519, 607, 608, 612, 204, 457, 458, - 459, 460, 291, 602, 307, 463, 462, 329, 330, 375, - 444, 532, 534, 545, 549, 551, 553, 559, 562, 533, - 535, 546, 550, 552, 554, 560, 563, 522, 524, 526, - 528, 541, 540, 537, 565, 566, 543, 548, 527, 539, - 544, 557, 564, 561, 521, 525, 529, 538, 556, 555, - 536, 547, 558, 542, 530, 523, 531, 1348, 196, 220, - 364, 1410, 449, 287, 637, 606, 601, 205, 222, 1285, - 261, 1297, 1305, 0, 1311, 1319, 1320, 1332, 1335, 1336, - 1337, 1338, 1356, 1357, 1359, 1367, 1369, 1372, 1374, 1381, - 1393, 1413, 198, 200, 208, 221, 231, 235, 242, 260, - 275, 277, 284, 297, 308, 316, 317, 320, 326, 376, - 382, 383, 384, 385, 404, 405, 406, 409, 412, 413, - 416, 418, 419, 422, 426, 430, 431, 432, 434, 436, - 438, 450, 455, 469, 470, 471, 472, 473, 476, 477, - 482, 483, 484, 485, 486, 494, 495, 508, 578, 580, - 595, 613, 619, 475, 299, 300, 439, 440, 312, 313, - 633, 634, 298, 590, 620, 588, 632, 614, 433, 374, - 1347, 1353, 377, 280, 303, 318, 1362, 605, 496, 226, - 461, 289, 250, 1380, 1382, 210, 245, 229, 258, 273, - 276, 322, 387, 395, 424, 429, 295, 270, 243, 454, - 240, 479, 511, 512, 513, 515, 391, 265, 428, 1343, - 1371, 372, 568, 569, 314, 392, 0, 0, 0, 0, - 0, 520, 0, 761, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 411, 0, 0, 0, 0, 749, 0, - 0, 0, 269, 754, 0, 0, 0, 362, 266, 0, - 0, 425, 0, 203, 0, 481, 251, 373, 370, 575, - 281, 272, 268, 249, 315, 381, 423, 510, 417, 760, - 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, - 756, 757, 0, 0, 0, 0, 0, 0, 0, 0, - 321, 247, 323, 202, 408, 492, 285, 0, 95, 0, - 0, 957, 941, 733, 907, 945, 958, 959, 960, 961, - 946, 0, 237, 947, 948, 244, 949, 0, 906, 791, - 793, 792, 856, 857, 858, 859, 860, 861, 862, 789, - 954, 962, 963, 0, 264, 319, 271, 263, 572, 0, - 0, 2182, 2183, 2184, 0, 0, 0, 228, 0, 0, - 0, 0, 0, 0, 0, 729, 746, 0, 759, 0, - 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 743, - 744, 0, 0, 0, 0, 901, 0, 745, 0, 0, - 753, 964, 965, 966, 967, 968, 969, 970, 971, 972, - 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, - 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, - 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, - 1003, 1004, 1005, 755, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 296, 0, 397, 256, 0, 448, - 900, 0, 0, 616, 0, 0, 898, 0, 0, 0, - 0, 361, 0, 328, 197, 224, 0, 0, 407, 456, - 468, 0, 0, 0, 951, 0, 466, 421, 594, 232, - 283, 453, 427, 464, 435, 286, 0, 0, 465, 368, - 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, - 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, - 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, - 230, 579, 600, 288, 451, 630, 212, 509, 589, 238, - 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, - 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, - 410, 952, 953, 255, 639, 797, 610, 219, 0, 609, - 403, 576, 587, 390, 379, 218, 585, 388, 378, 332, - 805, 806, 279, 305, 882, 881, 880, 304, 306, 878, - 879, 877, 206, 598, 0, 207, 0, 493, 599, 640, - 447, 211, 233, 234, 236, 0, 278, 282, 290, 293, - 301, 302, 311, 363, 414, 441, 437, 446, 0, 571, - 592, 604, 615, 621, 622, 624, 625, 626, 627, 628, - 631, 629, 402, 309, 489, 331, 369, 0, 0, 420, - 467, 239, 596, 490, 888, 910, 899, 765, 766, 889, - 890, 914, 891, 768, 769, 911, 912, 762, 763, 767, - 913, 915, 641, 642, 643, 644, 645, 646, 647, 648, - 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, - 636, 500, 506, 501, 502, 503, 504, 505, 0, 507, - 902, 752, 751, 0, 758, 0, 787, 788, 790, 794, - 795, 796, 807, 854, 855, 863, 865, 866, 864, 867, - 868, 869, 872, 873, 874, 875, 870, 871, 876, 770, - 774, 771, 772, 773, 785, 775, 776, 777, 778, 779, - 780, 781, 782, 783, 784, 786, 925, 926, 927, 928, - 929, 930, 800, 804, 803, 801, 802, 798, 799, 826, - 825, 827, 828, 829, 830, 831, 832, 834, 833, 835, - 836, 837, 838, 839, 840, 808, 809, 812, 813, 811, - 810, 814, 823, 824, 815, 816, 817, 818, 819, 820, - 822, 821, 841, 842, 843, 844, 845, 847, 846, 850, - 851, 849, 848, 853, 852, 750, 196, 220, 364, 0, - 449, 287, 637, 606, 601, 205, 222, 916, 261, 917, - 0, 0, 921, 0, 0, 0, 923, 922, 0, 924, - 886, 885, 0, 0, 918, 919, 0, 920, 0, 0, - 198, 200, 208, 221, 231, 235, 242, 260, 275, 277, - 284, 297, 308, 316, 317, 320, 326, 376, 382, 383, - 384, 385, 404, 405, 406, 409, 412, 413, 416, 418, - 419, 422, 426, 430, 431, 432, 434, 436, 438, 450, - 455, 469, 470, 471, 472, 473, 476, 477, 482, 483, - 484, 485, 486, 494, 495, 508, 578, 580, 595, 613, - 619, 475, 931, 932, 933, 934, 935, 936, 937, 938, - 298, 590, 620, 588, 632, 614, 433, 374, 0, 0, - 377, 280, 303, 318, 0, 605, 496, 226, 461, 289, - 250, 956, 0, 210, 245, 229, 258, 273, 276, 322, - 387, 395, 424, 429, 295, 270, 243, 454, 240, 479, - 511, 512, 513, 515, 391, 265, 428, 392, 0, 372, - 568, 569, 314, 520, 0, 761, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 411, 0, 0, 0, 0, - 749, 0, 0, 0, 269, 754, 0, 0, 0, 362, - 266, 0, 0, 425, 0, 203, 0, 481, 251, 373, - 370, 575, 281, 272, 268, 249, 315, 381, 423, 510, - 417, 760, 366, 0, 0, 491, 396, 0, 0, 0, - 0, 0, 756, 757, 0, 0, 0, 0, 0, 0, - 2390, 0, 321, 247, 323, 202, 408, 492, 285, 0, - 95, 0, 0, 957, 941, 733, 907, 945, 958, 959, - 960, 961, 946, 0, 237, 947, 948, 244, 949, 0, - 906, 791, 793, 792, 856, 857, 858, 859, 860, 861, - 862, 789, 954, 962, 963, 2391, 264, 319, 271, 263, - 572, 0, 0, 0, 0, 0, 0, 0, 0, 228, - 0, 0, 0, 0, 0, 0, 0, 729, 746, 0, - 759, 0, 0, 0, 274, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 743, 744, 0, 0, 0, 0, 901, 0, 745, - 0, 0, 753, 964, 965, 966, 967, 968, 969, 970, - 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, - 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, - 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, - 1001, 1002, 1003, 1004, 1005, 755, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 296, 0, 397, 256, - 0, 448, 900, 0, 0, 616, 0, 0, 898, 0, - 0, 0, 0, 361, 0, 328, 197, 224, 0, 0, - 407, 456, 468, 0, 0, 0, 951, 0, 466, 421, - 594, 232, 283, 453, 427, 464, 435, 286, 0, 0, - 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, - 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, - 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, - 367, 241, 230, 579, 600, 288, 451, 630, 212, 509, - 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, - 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, - 0, 257, 410, 952, 953, 255, 639, 797, 610, 219, - 0, 609, 403, 576, 587, 390, 379, 218, 585, 388, - 378, 332, 805, 806, 279, 305, 882, 881, 880, 304, - 306, 878, 879, 877, 206, 598, 0, 207, 0, 493, - 599, 640, 447, 211, 233, 234, 236, 0, 278, 282, - 290, 293, 301, 302, 311, 363, 414, 441, 437, 446, - 0, 571, 592, 604, 615, 621, 622, 624, 625, 626, - 627, 628, 631, 629, 402, 309, 489, 331, 369, 0, - 0, 420, 467, 239, 596, 490, 888, 910, 899, 765, - 766, 889, 890, 914, 891, 768, 769, 911, 912, 762, - 763, 767, 913, 915, 641, 642, 643, 644, 645, 646, - 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, - 657, 658, 636, 500, 506, 501, 502, 503, 504, 505, - 0, 507, 902, 752, 751, 0, 758, 0, 787, 788, - 790, 794, 795, 796, 807, 854, 855, 863, 865, 866, - 864, 867, 868, 869, 872, 873, 874, 875, 870, 871, - 876, 770, 774, 771, 772, 773, 785, 775, 776, 777, - 778, 779, 780, 781, 782, 783, 784, 786, 925, 926, - 927, 928, 929, 930, 800, 804, 803, 801, 802, 798, - 799, 826, 825, 827, 828, 829, 830, 831, 832, 834, - 833, 835, 836, 837, 838, 839, 840, 808, 809, 812, - 813, 811, 810, 814, 823, 824, 815, 816, 817, 818, - 819, 820, 822, 821, 841, 842, 843, 844, 845, 847, - 846, 850, 851, 849, 848, 853, 852, 750, 196, 220, - 364, 0, 449, 287, 637, 606, 601, 205, 222, 916, - 261, 917, 0, 0, 921, 0, 0, 0, 923, 922, - 0, 924, 886, 885, 0, 0, 918, 919, 0, 920, - 0, 0, 198, 200, 208, 221, 231, 235, 242, 260, - 275, 277, 284, 297, 308, 316, 317, 320, 326, 376, - 382, 383, 384, 385, 404, 405, 406, 409, 412, 413, - 416, 418, 419, 422, 426, 430, 431, 432, 434, 436, - 438, 450, 455, 469, 470, 471, 472, 473, 476, 477, - 482, 483, 484, 485, 486, 494, 495, 508, 578, 580, - 595, 613, 619, 475, 931, 932, 933, 934, 935, 936, - 937, 938, 298, 590, 620, 588, 632, 614, 433, 374, - 0, 0, 377, 280, 303, 318, 0, 605, 496, 226, - 461, 289, 250, 956, 0, 210, 245, 229, 258, 273, - 276, 322, 387, 395, 424, 429, 295, 270, 243, 454, - 240, 479, 511, 512, 513, 515, 391, 265, 428, 0, - 392, 372, 568, 569, 314, 86, 520, 0, 761, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 411, 0, - 0, 0, 0, 749, 0, 0, 0, 269, 754, 0, - 0, 0, 362, 266, 0, 0, 425, 0, 203, 0, - 481, 251, 373, 370, 575, 281, 272, 268, 249, 315, - 381, 423, 510, 417, 760, 366, 0, 0, 491, 396, - 0, 0, 0, 0, 0, 756, 757, 0, 0, 0, - 0, 0, 0, 0, 0, 321, 247, 323, 202, 408, - 492, 285, 0, 95, 0, 0, 957, 941, 733, 907, - 945, 958, 959, 960, 961, 946, 0, 237, 947, 948, - 244, 949, 0, 906, 791, 793, 792, 856, 857, 858, - 859, 860, 861, 862, 789, 954, 962, 963, 0, 264, - 319, 271, 263, 572, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, - 729, 746, 0, 759, 0, 0, 0, 274, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 743, 744, 0, 0, 0, 0, - 901, 0, 745, 0, 0, 753, 964, 965, 966, 967, - 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, - 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, - 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, - 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 755, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 0, 397, 256, 0, 448, 900, 0, 0, 616, 0, - 0, 898, 0, 0, 0, 0, 361, 0, 328, 197, - 224, 0, 0, 407, 456, 468, 0, 0, 0, 951, - 0, 466, 421, 594, 232, 283, 453, 427, 464, 435, - 286, 0, 0, 465, 368, 577, 445, 591, 617, 618, - 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, - 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, - 623, 223, 474, 367, 241, 230, 579, 600, 288, 451, + 223, 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 952, 953, 255, 639, @@ -3596,7 +3516,7 @@ var yyAct = [...]int{ 808, 809, 812, 813, 811, 810, 814, 823, 824, 815, 816, 817, 818, 819, 820, 822, 821, 841, 842, 843, 844, 845, 847, 846, 850, 851, 849, 848, 853, 852, - 750, 196, 220, 364, 94, 449, 287, 637, 606, 601, + 750, 196, 220, 364, 0, 449, 287, 637, 606, 601, 205, 222, 916, 261, 917, 0, 0, 921, 0, 0, 0, 923, 922, 0, 924, 886, 885, 0, 0, 918, 919, 0, 920, 0, 0, 198, 200, 208, 221, 231, @@ -3618,12 +3538,12 @@ var yyAct = [...]int{ 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, 760, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 756, 757, 0, - 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, + 0, 0, 0, 0, 0, 2391, 0, 321, 247, 323, 202, 408, 492, 285, 0, 95, 0, 0, 957, 941, 733, 907, 945, 958, 959, 960, 961, 946, 0, 237, 947, 948, 244, 949, 0, 906, 791, 793, 792, 856, 857, 858, 859, 860, 861, 862, 789, 954, 962, 963, - 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, + 2392, 264, 319, 271, 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 729, 746, 0, 759, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3638,125 +3558,53 @@ var yyAct = [...]int{ 616, 0, 0, 898, 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, 0, 951, 0, 466, 421, 594, 232, 283, 453, 427, - 464, 435, 286, 3995, 0, 465, 368, 577, 445, 591, + 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, - 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, - 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, - 0, 452, 267, 292, 0, 0, 257, 410, 952, 953, - 255, 639, 797, 610, 219, 0, 609, 403, 576, 587, - 390, 379, 218, 585, 388, 378, 332, 805, 806, 279, - 305, 882, 881, 880, 304, 306, 878, 879, 877, 206, - 598, 0, 207, 0, 493, 599, 640, 447, 211, 233, - 234, 236, 0, 278, 282, 290, 293, 301, 302, 311, - 363, 414, 441, 437, 446, 0, 571, 592, 604, 615, - 621, 622, 624, 625, 626, 627, 628, 631, 629, 402, - 309, 489, 331, 369, 0, 0, 420, 467, 239, 596, - 490, 888, 910, 899, 765, 766, 889, 890, 914, 891, - 768, 769, 911, 912, 762, 763, 767, 913, 915, 641, - 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, - 652, 653, 654, 655, 656, 657, 658, 636, 500, 506, - 501, 502, 503, 504, 505, 0, 507, 902, 752, 751, - 0, 758, 0, 787, 788, 790, 794, 795, 796, 807, - 854, 855, 863, 865, 866, 864, 867, 868, 869, 872, - 873, 874, 875, 870, 871, 876, 770, 774, 771, 772, - 773, 785, 775, 776, 777, 778, 779, 780, 781, 782, - 783, 784, 786, 925, 926, 927, 928, 929, 930, 800, - 804, 803, 801, 802, 798, 799, 826, 825, 827, 828, - 829, 830, 831, 832, 834, 833, 835, 836, 837, 838, - 839, 840, 808, 809, 812, 813, 811, 810, 814, 823, - 824, 815, 816, 817, 818, 819, 820, 822, 821, 841, - 842, 843, 844, 845, 847, 846, 850, 851, 849, 848, - 853, 852, 750, 196, 220, 364, 0, 449, 287, 637, - 606, 601, 205, 222, 916, 261, 917, 0, 0, 921, - 0, 0, 0, 923, 922, 0, 924, 886, 885, 0, - 0, 918, 919, 0, 920, 0, 0, 198, 200, 208, - 221, 231, 235, 242, 260, 275, 277, 284, 297, 308, - 316, 317, 320, 326, 376, 382, 383, 384, 385, 404, - 405, 406, 409, 412, 413, 416, 418, 419, 422, 426, - 430, 431, 432, 434, 436, 438, 450, 455, 469, 470, - 471, 472, 473, 476, 477, 482, 483, 484, 485, 486, - 494, 495, 508, 578, 580, 595, 613, 619, 475, 931, - 932, 933, 934, 935, 936, 937, 938, 298, 590, 620, - 588, 632, 614, 433, 374, 0, 0, 377, 280, 303, - 318, 0, 605, 496, 226, 461, 289, 250, 956, 0, - 210, 245, 229, 258, 273, 276, 322, 387, 395, 424, - 429, 295, 270, 243, 454, 240, 479, 511, 512, 513, - 515, 391, 265, 428, 392, 0, 372, 568, 569, 314, - 520, 0, 761, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 411, 0, 0, 0, 0, 749, 0, 0, - 0, 269, 754, 0, 0, 0, 362, 266, 0, 0, - 425, 0, 203, 0, 481, 251, 373, 370, 575, 281, - 272, 268, 249, 315, 381, 423, 510, 417, 760, 366, - 0, 0, 491, 396, 0, 0, 0, 0, 0, 756, - 757, 0, 0, 0, 0, 0, 0, 0, 0, 321, - 247, 323, 202, 408, 492, 285, 0, 95, 0, 1718, - 957, 941, 733, 907, 945, 958, 959, 960, 961, 946, - 0, 237, 947, 948, 244, 949, 0, 906, 791, 793, - 792, 856, 857, 858, 859, 860, 861, 862, 789, 954, - 962, 963, 0, 264, 319, 271, 263, 572, 0, 0, - 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, - 0, 0, 0, 0, 729, 746, 0, 759, 0, 0, - 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 743, 744, - 0, 0, 0, 0, 901, 0, 745, 0, 0, 753, - 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, - 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, - 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, - 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, - 1004, 1005, 755, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 0, 397, 256, 0, 448, 900, - 0, 0, 616, 0, 0, 898, 0, 0, 0, 0, - 361, 0, 328, 197, 224, 0, 0, 407, 456, 468, - 0, 0, 0, 951, 0, 466, 421, 594, 232, 283, - 453, 427, 464, 435, 286, 0, 0, 465, 368, 577, - 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, - 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, - 487, 294, 201, 365, 623, 223, 474, 367, 241, 230, - 579, 600, 288, 451, 630, 212, 509, 589, 238, 478, - 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, - 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, - 952, 953, 255, 639, 797, 610, 219, 0, 609, 403, - 576, 587, 390, 379, 218, 585, 388, 378, 332, 805, - 806, 279, 305, 882, 881, 880, 304, 306, 878, 879, - 877, 206, 598, 0, 207, 0, 493, 599, 640, 447, - 211, 233, 234, 236, 0, 278, 282, 290, 293, 301, - 302, 311, 363, 414, 441, 437, 446, 0, 571, 592, - 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, - 629, 402, 309, 489, 331, 369, 0, 0, 420, 467, - 239, 596, 490, 888, 910, 899, 765, 766, 889, 890, - 914, 891, 768, 769, 911, 912, 762, 763, 767, 913, - 915, 641, 642, 643, 644, 645, 646, 647, 648, 649, - 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, - 500, 506, 501, 502, 503, 504, 505, 0, 507, 902, - 752, 751, 0, 758, 0, 787, 788, 790, 794, 795, - 796, 807, 854, 855, 863, 865, 866, 864, 867, 868, - 869, 872, 873, 874, 875, 870, 871, 876, 770, 774, - 771, 772, 773, 785, 775, 776, 777, 778, 779, 780, - 781, 782, 783, 784, 786, 925, 926, 927, 928, 929, - 930, 800, 804, 803, 801, 802, 798, 799, 826, 825, - 827, 828, 829, 830, 831, 832, 834, 833, 835, 836, - 837, 838, 839, 840, 808, 809, 812, 813, 811, 810, - 814, 823, 824, 815, 816, 817, 818, 819, 820, 822, - 821, 841, 842, 843, 844, 845, 847, 846, 850, 851, - 849, 848, 853, 852, 750, 196, 220, 364, 0, 449, - 287, 637, 606, 601, 205, 222, 916, 261, 917, 0, - 0, 921, 0, 0, 0, 923, 922, 0, 924, 886, - 885, 0, 0, 918, 919, 0, 920, 0, 0, 198, - 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, - 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, - 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, - 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, - 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, - 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, - 475, 931, 932, 933, 934, 935, 936, 937, 938, 298, - 590, 620, 588, 632, 614, 433, 374, 0, 0, 377, - 280, 303, 318, 0, 605, 496, 226, 461, 289, 250, - 956, 0, 210, 245, 229, 258, 273, 276, 322, 387, - 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, - 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, - 569, 314, 520, 0, 761, 0, 0, 0, 0, 0, + 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, + 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, + 213, 0, 452, 267, 292, 0, 0, 257, 410, 952, + 953, 255, 639, 797, 610, 219, 0, 609, 403, 576, + 587, 390, 379, 218, 585, 388, 378, 332, 805, 806, + 279, 305, 882, 881, 880, 304, 306, 878, 879, 877, + 206, 598, 0, 207, 0, 493, 599, 640, 447, 211, + 233, 234, 236, 0, 278, 282, 290, 293, 301, 302, + 311, 363, 414, 441, 437, 446, 0, 571, 592, 604, + 615, 621, 622, 624, 625, 626, 627, 628, 631, 629, + 402, 309, 489, 331, 369, 0, 0, 420, 467, 239, + 596, 490, 888, 910, 899, 765, 766, 889, 890, 914, + 891, 768, 769, 911, 912, 762, 763, 767, 913, 915, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 636, 500, + 506, 501, 502, 503, 504, 505, 0, 507, 902, 752, + 751, 0, 758, 0, 787, 788, 790, 794, 795, 796, + 807, 854, 855, 863, 865, 866, 864, 867, 868, 869, + 872, 873, 874, 875, 870, 871, 876, 770, 774, 771, + 772, 773, 785, 775, 776, 777, 778, 779, 780, 781, + 782, 783, 784, 786, 925, 926, 927, 928, 929, 930, + 800, 804, 803, 801, 802, 798, 799, 826, 825, 827, + 828, 829, 830, 831, 832, 834, 833, 835, 836, 837, + 838, 839, 840, 808, 809, 812, 813, 811, 810, 814, + 823, 824, 815, 816, 817, 818, 819, 820, 822, 821, + 841, 842, 843, 844, 845, 847, 846, 850, 851, 849, + 848, 853, 852, 750, 196, 220, 364, 0, 449, 287, + 637, 606, 601, 205, 222, 916, 261, 917, 0, 0, + 921, 0, 0, 0, 923, 922, 0, 924, 886, 885, + 0, 0, 918, 919, 0, 920, 0, 0, 198, 200, + 208, 221, 231, 235, 242, 260, 275, 277, 284, 297, + 308, 316, 317, 320, 326, 376, 382, 383, 384, 385, + 404, 405, 406, 409, 412, 413, 416, 418, 419, 422, + 426, 430, 431, 432, 434, 436, 438, 450, 455, 469, + 470, 471, 472, 473, 476, 477, 482, 483, 484, 485, + 486, 494, 495, 508, 578, 580, 595, 613, 619, 475, + 931, 932, 933, 934, 935, 936, 937, 938, 298, 590, + 620, 588, 632, 614, 433, 374, 0, 0, 377, 280, + 303, 318, 0, 605, 496, 226, 461, 289, 250, 956, + 0, 210, 245, 229, 258, 273, 276, 322, 387, 395, + 424, 429, 295, 270, 243, 454, 240, 479, 511, 512, + 513, 515, 391, 265, 428, 0, 392, 372, 568, 569, + 314, 86, 520, 0, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 0, 0, 0, 0, 749, 0, 0, 0, 269, 754, 0, 0, 0, 362, 266, 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, @@ -3772,7 +3620,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 729, 746, 0, 759, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 743, 744, 1050, 0, 0, 0, 901, 0, 745, 0, + 743, 744, 0, 0, 0, 0, 901, 0, 745, 0, 0, 753, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, @@ -3786,7 +3634,224 @@ var yyAct = [...]int{ 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, - 241, 230, 579, 600, 288, 451, 630, 212, 509, 589, + 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, + 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, + 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, + 0, 257, 410, 952, 953, 255, 639, 797, 610, 219, + 0, 609, 403, 576, 587, 390, 379, 218, 585, 388, + 378, 332, 805, 806, 279, 305, 882, 881, 880, 304, + 306, 878, 879, 877, 206, 598, 0, 207, 0, 493, + 599, 640, 447, 211, 233, 234, 236, 0, 278, 282, + 290, 293, 301, 302, 311, 363, 414, 441, 437, 446, + 0, 571, 592, 604, 615, 621, 622, 624, 625, 626, + 627, 628, 631, 629, 402, 309, 489, 331, 369, 0, + 0, 420, 467, 239, 596, 490, 888, 910, 899, 765, + 766, 889, 890, 914, 891, 768, 769, 911, 912, 762, + 763, 767, 913, 915, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 636, 500, 506, 501, 502, 503, 504, 505, + 0, 507, 902, 752, 751, 0, 758, 0, 787, 788, + 790, 794, 795, 796, 807, 854, 855, 863, 865, 866, + 864, 867, 868, 869, 872, 873, 874, 875, 870, 871, + 876, 770, 774, 771, 772, 773, 785, 775, 776, 777, + 778, 779, 780, 781, 782, 783, 784, 786, 925, 926, + 927, 928, 929, 930, 800, 804, 803, 801, 802, 798, + 799, 826, 825, 827, 828, 829, 830, 831, 832, 834, + 833, 835, 836, 837, 838, 839, 840, 808, 809, 812, + 813, 811, 810, 814, 823, 824, 815, 816, 817, 818, + 819, 820, 822, 821, 841, 842, 843, 844, 845, 847, + 846, 850, 851, 849, 848, 853, 852, 750, 196, 220, + 364, 94, 449, 287, 637, 606, 601, 205, 222, 916, + 261, 917, 0, 0, 921, 0, 0, 0, 923, 922, + 0, 924, 886, 885, 0, 0, 918, 919, 0, 920, + 0, 0, 198, 200, 208, 221, 231, 235, 242, 260, + 275, 277, 284, 297, 308, 316, 317, 320, 326, 376, + 382, 383, 384, 385, 404, 405, 406, 409, 412, 413, + 416, 418, 419, 422, 426, 430, 431, 432, 434, 436, + 438, 450, 455, 469, 470, 471, 472, 473, 476, 477, + 482, 483, 484, 485, 486, 494, 495, 508, 578, 580, + 595, 613, 619, 475, 931, 932, 933, 934, 935, 936, + 937, 938, 298, 590, 620, 588, 632, 614, 433, 374, + 0, 0, 377, 280, 303, 318, 0, 605, 496, 226, + 461, 289, 250, 956, 0, 210, 245, 229, 258, 273, + 276, 322, 387, 395, 424, 429, 295, 270, 243, 454, + 240, 479, 511, 512, 513, 515, 391, 265, 428, 392, + 0, 372, 568, 569, 314, 520, 0, 761, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 411, 0, 0, + 0, 0, 749, 0, 0, 0, 269, 754, 0, 0, + 0, 362, 266, 0, 0, 425, 0, 203, 0, 481, + 251, 373, 370, 575, 281, 272, 268, 249, 315, 381, + 423, 510, 417, 760, 366, 0, 0, 491, 396, 0, + 0, 0, 0, 0, 756, 757, 0, 0, 0, 0, + 0, 0, 0, 0, 321, 247, 323, 202, 408, 492, + 285, 0, 95, 0, 0, 957, 941, 733, 907, 945, + 958, 959, 960, 961, 946, 0, 237, 947, 948, 244, + 949, 0, 906, 791, 793, 792, 856, 857, 858, 859, + 860, 861, 862, 789, 954, 962, 963, 0, 264, 319, + 271, 263, 572, 0, 0, 0, 0, 0, 0, 0, + 0, 228, 0, 0, 0, 0, 0, 0, 0, 729, + 746, 0, 759, 0, 0, 0, 274, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 743, 744, 0, 0, 0, 0, 901, + 0, 745, 0, 0, 753, 964, 965, 966, 967, 968, + 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, + 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, + 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, + 999, 1000, 1001, 1002, 1003, 1004, 1005, 755, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, + 397, 256, 0, 448, 900, 0, 0, 616, 0, 0, + 898, 0, 0, 0, 0, 361, 0, 328, 197, 224, + 0, 0, 407, 456, 468, 0, 0, 0, 951, 0, + 466, 421, 594, 232, 283, 453, 427, 464, 435, 286, + 3998, 0, 465, 368, 577, 445, 591, 617, 618, 262, + 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, + 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, + 223, 474, 367, 241, 230, 579, 600, 0, 288, 451, + 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, + 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, + 267, 292, 0, 0, 257, 410, 952, 953, 255, 639, + 797, 610, 219, 0, 609, 403, 576, 587, 390, 379, + 218, 585, 388, 378, 332, 805, 806, 279, 305, 882, + 881, 880, 304, 306, 878, 879, 877, 206, 598, 0, + 207, 0, 493, 599, 640, 447, 211, 233, 234, 236, + 0, 278, 282, 290, 293, 301, 302, 311, 363, 414, + 441, 437, 446, 0, 571, 592, 604, 615, 621, 622, + 624, 625, 626, 627, 628, 631, 629, 402, 309, 489, + 331, 369, 0, 0, 420, 467, 239, 596, 490, 888, + 910, 899, 765, 766, 889, 890, 914, 891, 768, 769, + 911, 912, 762, 763, 767, 913, 915, 641, 642, 643, + 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, + 654, 655, 656, 657, 658, 636, 500, 506, 501, 502, + 503, 504, 505, 0, 507, 902, 752, 751, 0, 758, + 0, 787, 788, 790, 794, 795, 796, 807, 854, 855, + 863, 865, 866, 864, 867, 868, 869, 872, 873, 874, + 875, 870, 871, 876, 770, 774, 771, 772, 773, 785, + 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, + 786, 925, 926, 927, 928, 929, 930, 800, 804, 803, + 801, 802, 798, 799, 826, 825, 827, 828, 829, 830, + 831, 832, 834, 833, 835, 836, 837, 838, 839, 840, + 808, 809, 812, 813, 811, 810, 814, 823, 824, 815, + 816, 817, 818, 819, 820, 822, 821, 841, 842, 843, + 844, 845, 847, 846, 850, 851, 849, 848, 853, 852, + 750, 196, 220, 364, 0, 449, 287, 637, 606, 601, + 205, 222, 916, 261, 917, 0, 0, 921, 0, 0, + 0, 923, 922, 0, 924, 886, 885, 0, 0, 918, + 919, 0, 920, 0, 0, 198, 200, 208, 221, 231, + 235, 242, 260, 275, 277, 284, 297, 308, 316, 317, + 320, 326, 376, 382, 383, 384, 385, 404, 405, 406, + 409, 412, 413, 416, 418, 419, 422, 426, 430, 431, + 432, 434, 436, 438, 450, 455, 469, 470, 471, 472, + 473, 476, 477, 482, 483, 484, 485, 486, 494, 495, + 508, 578, 580, 595, 613, 619, 475, 931, 932, 933, + 934, 935, 936, 937, 938, 298, 590, 620, 588, 632, + 614, 433, 374, 0, 0, 377, 280, 303, 318, 0, + 605, 496, 226, 461, 289, 250, 956, 0, 210, 245, + 229, 258, 273, 276, 322, 387, 395, 424, 429, 295, + 270, 243, 454, 240, 479, 511, 512, 513, 515, 391, + 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, + 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 411, 0, 0, 0, 0, 749, 0, 0, 0, 269, + 754, 0, 0, 0, 362, 266, 0, 0, 425, 0, + 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, + 249, 315, 381, 423, 510, 417, 760, 366, 0, 0, + 491, 396, 0, 0, 0, 0, 0, 756, 757, 0, + 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, + 202, 408, 492, 285, 0, 95, 0, 1718, 957, 941, + 733, 907, 945, 958, 959, 960, 961, 946, 0, 237, + 947, 948, 244, 949, 0, 906, 791, 793, 792, 856, + 857, 858, 859, 860, 861, 862, 789, 954, 962, 963, + 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, + 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, + 0, 0, 729, 746, 0, 759, 0, 0, 0, 274, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 743, 744, 0, 0, + 0, 0, 901, 0, 745, 0, 0, 753, 964, 965, + 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, + 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, + 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, + 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, + 755, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 296, 0, 397, 256, 0, 448, 900, 0, 0, + 616, 0, 0, 898, 0, 0, 0, 0, 361, 0, + 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, + 0, 951, 0, 466, 421, 594, 232, 283, 453, 427, + 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, + 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, + 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, + 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, + 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, + 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, + 213, 0, 452, 267, 292, 0, 0, 257, 410, 952, + 953, 255, 639, 797, 610, 219, 0, 609, 403, 576, + 587, 390, 379, 218, 585, 388, 378, 332, 805, 806, + 279, 305, 882, 881, 880, 304, 306, 878, 879, 877, + 206, 598, 0, 207, 0, 493, 599, 640, 447, 211, + 233, 234, 236, 0, 278, 282, 290, 293, 301, 302, + 311, 363, 414, 441, 437, 446, 0, 571, 592, 604, + 615, 621, 622, 624, 625, 626, 627, 628, 631, 629, + 402, 309, 489, 331, 369, 0, 0, 420, 467, 239, + 596, 490, 888, 910, 899, 765, 766, 889, 890, 914, + 891, 768, 769, 911, 912, 762, 763, 767, 913, 915, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 636, 500, + 506, 501, 502, 503, 504, 505, 0, 507, 902, 752, + 751, 0, 758, 0, 787, 788, 790, 794, 795, 796, + 807, 854, 855, 863, 865, 866, 864, 867, 868, 869, + 872, 873, 874, 875, 870, 871, 876, 770, 774, 771, + 772, 773, 785, 775, 776, 777, 778, 779, 780, 781, + 782, 783, 784, 786, 925, 926, 927, 928, 929, 930, + 800, 804, 803, 801, 802, 798, 799, 826, 825, 827, + 828, 829, 830, 831, 832, 834, 833, 835, 836, 837, + 838, 839, 840, 808, 809, 812, 813, 811, 810, 814, + 823, 824, 815, 816, 817, 818, 819, 820, 822, 821, + 841, 842, 843, 844, 845, 847, 846, 850, 851, 849, + 848, 853, 852, 750, 196, 220, 364, 0, 449, 287, + 637, 606, 601, 205, 222, 916, 261, 917, 0, 0, + 921, 0, 0, 0, 923, 922, 0, 924, 886, 885, + 0, 0, 918, 919, 0, 920, 0, 0, 198, 200, + 208, 221, 231, 235, 242, 260, 275, 277, 284, 297, + 308, 316, 317, 320, 326, 376, 382, 383, 384, 385, + 404, 405, 406, 409, 412, 413, 416, 418, 419, 422, + 426, 430, 431, 432, 434, 436, 438, 450, 455, 469, + 470, 471, 472, 473, 476, 477, 482, 483, 484, 485, + 486, 494, 495, 508, 578, 580, 595, 613, 619, 475, + 931, 932, 933, 934, 935, 936, 937, 938, 298, 590, + 620, 588, 632, 614, 433, 374, 0, 0, 377, 280, + 303, 318, 0, 605, 496, 226, 461, 289, 250, 956, + 0, 210, 245, 229, 258, 273, 276, 322, 387, 395, + 424, 429, 295, 270, 243, 454, 240, 479, 511, 512, + 513, 515, 391, 265, 428, 392, 0, 372, 568, 569, + 314, 520, 0, 761, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 411, 0, 0, 0, 0, 749, 0, + 0, 0, 269, 754, 0, 0, 0, 362, 266, 0, + 0, 425, 0, 203, 0, 481, 251, 373, 370, 575, + 281, 272, 268, 249, 315, 381, 423, 510, 417, 760, + 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, + 756, 757, 0, 0, 0, 0, 0, 0, 0, 0, + 321, 247, 323, 202, 408, 492, 285, 0, 95, 0, + 0, 957, 941, 733, 907, 945, 958, 959, 960, 961, + 946, 0, 237, 947, 948, 244, 949, 0, 906, 791, + 793, 792, 856, 857, 858, 859, 860, 861, 862, 789, + 954, 962, 963, 0, 264, 319, 271, 263, 572, 0, + 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, + 0, 0, 0, 0, 0, 729, 746, 0, 759, 0, + 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 743, + 744, 1050, 0, 0, 0, 901, 0, 745, 0, 0, + 753, 964, 965, 966, 967, 968, 969, 970, 971, 972, + 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, + 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, + 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, + 1003, 1004, 1005, 755, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 296, 0, 397, 256, 0, 448, + 900, 0, 0, 616, 0, 0, 898, 0, 0, 0, + 0, 361, 0, 328, 197, 224, 0, 0, 407, 456, + 468, 0, 0, 0, 951, 0, 466, 421, 594, 232, + 283, 453, 427, 464, 435, 286, 0, 0, 465, 368, + 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, + 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, + 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, + 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 952, 953, 255, 639, 797, 610, 219, 0, @@ -3858,151 +3923,79 @@ var yyAct = [...]int{ 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, - 474, 367, 241, 230, 579, 600, 288, 451, 630, 212, - 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, - 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, - 0, 0, 257, 410, 952, 953, 255, 639, 797, 610, - 219, 0, 609, 403, 576, 587, 390, 379, 218, 585, - 388, 378, 332, 805, 806, 279, 305, 882, 881, 880, - 304, 306, 878, 879, 877, 206, 598, 0, 207, 0, - 493, 599, 640, 447, 211, 233, 234, 236, 0, 278, - 282, 290, 293, 301, 302, 311, 363, 414, 441, 437, - 446, 0, 571, 592, 604, 615, 621, 622, 624, 625, - 626, 627, 628, 631, 629, 402, 309, 489, 331, 369, - 0, 0, 420, 467, 239, 596, 490, 888, 910, 899, - 765, 766, 889, 890, 914, 891, 768, 769, 911, 912, - 762, 763, 767, 913, 915, 641, 642, 643, 644, 645, - 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, - 656, 657, 658, 636, 500, 506, 501, 502, 503, 504, - 505, 0, 507, 902, 752, 751, 0, 758, 0, 787, - 788, 790, 794, 795, 796, 807, 854, 855, 863, 865, - 866, 864, 867, 868, 869, 872, 873, 874, 875, 870, - 871, 876, 770, 774, 771, 772, 773, 785, 775, 776, - 777, 778, 779, 780, 781, 782, 783, 784, 786, 925, - 926, 927, 928, 929, 930, 800, 804, 803, 801, 802, - 798, 799, 826, 825, 827, 828, 829, 830, 831, 832, - 834, 833, 835, 836, 837, 838, 839, 840, 808, 809, - 812, 813, 811, 810, 814, 823, 824, 815, 816, 817, - 818, 819, 820, 822, 821, 841, 842, 843, 844, 845, - 847, 846, 850, 851, 849, 848, 853, 852, 750, 196, - 220, 364, 0, 449, 287, 637, 606, 601, 205, 222, - 916, 261, 917, 0, 0, 921, 0, 0, 0, 923, - 922, 0, 924, 886, 885, 0, 0, 918, 919, 0, - 920, 0, 0, 198, 200, 208, 221, 231, 235, 242, - 260, 275, 277, 284, 297, 308, 316, 317, 320, 326, - 376, 382, 383, 384, 385, 404, 405, 406, 409, 412, - 413, 416, 418, 419, 422, 426, 430, 431, 432, 434, - 436, 438, 450, 455, 469, 470, 471, 472, 473, 476, - 477, 482, 483, 484, 485, 486, 494, 495, 508, 578, - 580, 595, 613, 619, 475, 931, 932, 933, 934, 935, - 936, 937, 938, 298, 590, 620, 588, 632, 614, 433, - 374, 0, 0, 377, 280, 303, 318, 0, 605, 496, - 226, 461, 289, 250, 956, 0, 210, 245, 229, 258, - 273, 276, 322, 387, 395, 424, 429, 295, 270, 243, - 454, 240, 479, 511, 512, 513, 515, 391, 265, 428, - 392, 0, 372, 568, 569, 314, 520, 0, 761, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 411, 0, - 0, 0, 0, 749, 0, 0, 0, 269, 754, 0, - 0, 0, 362, 266, 0, 0, 425, 0, 203, 0, - 481, 251, 373, 370, 575, 281, 272, 268, 249, 315, - 381, 423, 510, 417, 760, 366, 0, 0, 491, 396, - 0, 0, 0, 0, 0, 756, 757, 0, 0, 0, - 0, 0, 0, 0, 0, 321, 247, 323, 202, 408, - 492, 285, 0, 95, 0, 0, 957, 941, 733, 907, - 945, 958, 959, 960, 961, 946, 0, 237, 947, 948, - 244, 949, 0, 906, 791, 793, 792, 856, 857, 858, - 859, 860, 861, 862, 789, 954, 962, 963, 0, 264, - 319, 271, 263, 572, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, - 729, 746, 0, 759, 0, 0, 0, 274, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 743, 744, 0, 0, 0, 0, - 901, 0, 745, 0, 0, 753, 964, 965, 966, 967, - 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, - 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, - 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, - 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 3100, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 0, 397, 256, 0, 448, 900, 0, 0, 616, 0, - 0, 898, 0, 0, 0, 0, 361, 0, 328, 197, - 224, 0, 0, 407, 456, 468, 0, 0, 0, 951, - 0, 466, 421, 594, 232, 283, 453, 427, 464, 435, - 286, 0, 0, 465, 368, 577, 445, 591, 617, 618, - 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, - 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, - 623, 223, 474, 367, 241, 230, 579, 600, 288, 451, - 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, - 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, - 267, 292, 0, 0, 257, 410, 952, 953, 255, 639, - 797, 610, 219, 0, 609, 403, 576, 587, 390, 379, - 218, 585, 388, 378, 332, 805, 806, 279, 305, 882, - 881, 880, 304, 306, 878, 879, 877, 206, 598, 0, - 207, 0, 493, 599, 640, 447, 211, 233, 234, 236, - 0, 278, 282, 290, 293, 301, 302, 311, 363, 414, - 441, 437, 446, 0, 571, 592, 604, 615, 621, 622, - 624, 625, 626, 627, 628, 631, 629, 402, 309, 489, - 331, 369, 0, 0, 420, 467, 239, 596, 490, 888, - 910, 899, 765, 766, 889, 890, 914, 891, 768, 769, - 911, 912, 762, 763, 767, 913, 915, 641, 642, 643, - 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, - 654, 655, 656, 657, 658, 636, 500, 506, 501, 502, - 503, 504, 505, 0, 507, 902, 752, 751, 0, 758, - 0, 787, 788, 790, 794, 795, 796, 807, 854, 855, - 863, 865, 866, 864, 867, 868, 869, 872, 873, 874, - 875, 870, 871, 876, 770, 774, 771, 772, 773, 785, - 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, - 786, 925, 926, 927, 928, 929, 930, 800, 804, 803, - 801, 802, 798, 799, 826, 825, 827, 828, 829, 830, - 831, 832, 834, 833, 835, 836, 837, 838, 839, 840, - 808, 809, 812, 813, 811, 810, 814, 823, 824, 815, - 816, 817, 818, 819, 820, 822, 821, 841, 842, 843, - 844, 845, 847, 846, 850, 851, 849, 848, 853, 852, - 750, 196, 220, 364, 0, 449, 287, 637, 606, 601, - 205, 222, 916, 261, 917, 0, 0, 921, 0, 0, - 0, 923, 922, 0, 924, 886, 885, 0, 0, 918, - 919, 0, 920, 0, 0, 198, 200, 208, 221, 231, - 235, 242, 260, 275, 277, 284, 297, 308, 316, 317, - 320, 326, 376, 382, 383, 384, 385, 404, 405, 406, - 409, 412, 413, 416, 418, 419, 422, 426, 430, 431, - 432, 434, 436, 438, 450, 455, 469, 470, 471, 472, - 473, 476, 477, 482, 483, 484, 485, 486, 494, 495, - 508, 578, 580, 595, 613, 619, 475, 931, 932, 933, - 934, 935, 936, 937, 938, 298, 590, 620, 588, 632, - 614, 433, 374, 0, 0, 377, 280, 303, 318, 0, - 605, 496, 226, 461, 289, 250, 956, 0, 210, 245, - 229, 258, 273, 276, 322, 387, 395, 424, 429, 295, - 270, 243, 454, 240, 479, 511, 512, 513, 515, 391, - 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, - 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 411, 0, 0, 0, 0, 749, 0, 0, 0, 269, - 754, 0, 0, 0, 362, 266, 0, 0, 425, 0, - 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, - 249, 315, 381, 423, 510, 417, 760, 366, 0, 0, - 491, 396, 0, 0, 0, 0, 0, 756, 757, 0, - 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, - 202, 408, 492, 285, 0, 95, 0, 0, 957, 941, - 733, 907, 945, 958, 959, 960, 961, 946, 0, 237, - 947, 948, 244, 949, 0, 906, 791, 793, 792, 856, - 857, 858, 859, 860, 861, 862, 789, 954, 962, 963, - 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, - 0, 0, 729, 746, 0, 759, 0, 0, 0, 274, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 743, 744, 0, 0, - 0, 0, 901, 0, 745, 0, 0, 753, 964, 965, - 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, - 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, - 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, - 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, - 3096, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 0, 397, 256, 0, 448, 900, 0, 0, - 616, 0, 0, 898, 0, 0, 0, 0, 361, 0, - 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, - 0, 951, 0, 466, 421, 594, 232, 283, 453, 427, - 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, - 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, - 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, - 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, + 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, + 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, + 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, + 292, 0, 0, 257, 410, 952, 953, 255, 639, 797, + 610, 219, 0, 609, 403, 576, 587, 390, 379, 218, + 585, 388, 378, 332, 805, 806, 279, 305, 882, 881, + 880, 304, 306, 878, 879, 877, 206, 598, 0, 207, + 0, 493, 599, 640, 447, 211, 233, 234, 236, 0, + 278, 282, 290, 293, 301, 302, 311, 363, 414, 441, + 437, 446, 0, 571, 592, 604, 615, 621, 622, 624, + 625, 626, 627, 628, 631, 629, 402, 309, 489, 331, + 369, 0, 0, 420, 467, 239, 596, 490, 888, 910, + 899, 765, 766, 889, 890, 914, 891, 768, 769, 911, + 912, 762, 763, 767, 913, 915, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 636, 500, 506, 501, 502, 503, + 504, 505, 0, 507, 902, 752, 751, 0, 758, 0, + 787, 788, 790, 794, 795, 796, 807, 854, 855, 863, + 865, 866, 864, 867, 868, 869, 872, 873, 874, 875, + 870, 871, 876, 770, 774, 771, 772, 773, 785, 775, + 776, 777, 778, 779, 780, 781, 782, 783, 784, 786, + 925, 926, 927, 928, 929, 930, 800, 804, 803, 801, + 802, 798, 799, 826, 825, 827, 828, 829, 830, 831, + 832, 834, 833, 835, 836, 837, 838, 839, 840, 808, + 809, 812, 813, 811, 810, 814, 823, 824, 815, 816, + 817, 818, 819, 820, 822, 821, 841, 842, 843, 844, + 845, 847, 846, 850, 851, 849, 848, 853, 852, 750, + 196, 220, 364, 0, 449, 287, 637, 606, 601, 205, + 222, 916, 261, 917, 0, 0, 921, 0, 0, 0, + 923, 922, 0, 924, 886, 885, 0, 0, 918, 919, + 0, 920, 0, 0, 198, 200, 208, 221, 231, 235, + 242, 260, 275, 277, 284, 297, 308, 316, 317, 320, + 326, 376, 382, 383, 384, 385, 404, 405, 406, 409, + 412, 413, 416, 418, 419, 422, 426, 430, 431, 432, + 434, 436, 438, 450, 455, 469, 470, 471, 472, 473, + 476, 477, 482, 483, 484, 485, 486, 494, 495, 508, + 578, 580, 595, 613, 619, 475, 931, 932, 933, 934, + 935, 936, 937, 938, 298, 590, 620, 588, 632, 614, + 433, 374, 0, 0, 377, 280, 303, 318, 0, 605, + 496, 226, 461, 289, 250, 956, 0, 210, 245, 229, + 258, 273, 276, 322, 387, 395, 424, 429, 295, 270, + 243, 454, 240, 479, 511, 512, 513, 515, 391, 265, + 428, 392, 0, 372, 568, 569, 314, 520, 0, 761, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, + 0, 0, 0, 0, 749, 0, 0, 0, 269, 754, + 0, 0, 0, 362, 266, 0, 0, 425, 0, 203, + 0, 481, 251, 373, 370, 575, 281, 272, 268, 249, + 315, 381, 423, 510, 417, 760, 366, 0, 0, 491, + 396, 0, 0, 0, 0, 0, 756, 757, 0, 0, + 0, 0, 0, 0, 0, 0, 321, 247, 323, 202, + 408, 492, 285, 0, 95, 0, 0, 957, 941, 733, + 907, 945, 958, 959, 960, 961, 946, 0, 237, 947, + 948, 244, 949, 0, 906, 791, 793, 792, 856, 857, + 858, 859, 860, 861, 862, 789, 954, 962, 963, 0, + 264, 319, 271, 263, 572, 0, 0, 0, 0, 0, + 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, + 0, 729, 746, 0, 759, 0, 0, 0, 274, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 743, 744, 0, 0, 0, + 0, 901, 0, 745, 0, 0, 753, 964, 965, 966, + 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, + 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, + 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, + 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 3103, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 296, 0, 397, 256, 0, 448, 900, 0, 0, 616, + 0, 0, 898, 0, 0, 0, 0, 361, 0, 328, + 197, 224, 0, 0, 407, 456, 468, 0, 0, 0, + 951, 0, 466, 421, 594, 232, 283, 453, 427, 464, + 435, 286, 0, 0, 465, 368, 577, 445, 591, 617, + 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, + 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, + 365, 623, 223, 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 952, 953, @@ -4053,12 +4046,12 @@ var yyAct = [...]int{ 0, 0, 491, 396, 0, 0, 0, 0, 0, 756, 757, 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, 0, 95, 0, 0, - 957, 941, 1071, 907, 945, 958, 959, 960, 961, 946, + 957, 941, 733, 907, 945, 958, 959, 960, 961, 946, 0, 237, 947, 948, 244, 949, 0, 906, 791, 793, 792, 856, 857, 858, 859, 860, 861, 862, 789, 954, 962, 963, 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, - 0, 0, 0, 0, 0, 746, 0, 759, 0, 0, + 0, 0, 0, 0, 729, 746, 0, 759, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 743, 744, 0, 0, 0, 0, 901, 0, 745, 0, 0, 753, @@ -4066,7 +4059,7 @@ var yyAct = [...]int{ 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, - 1004, 1005, 755, 0, 0, 0, 0, 0, 0, 0, + 1004, 1005, 3099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, 448, 900, 0, 0, 616, 0, 0, 898, 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, 456, 468, @@ -4075,151 +4068,79 @@ var yyAct = [...]int{ 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, 230, - 579, 600, 288, 451, 630, 212, 509, 589, 238, 478, - 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, - 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, - 952, 953, 255, 639, 797, 610, 219, 0, 609, 403, - 576, 587, 390, 379, 218, 585, 388, 378, 332, 805, - 806, 279, 305, 882, 881, 880, 304, 306, 878, 879, - 877, 206, 598, 0, 207, 0, 493, 599, 640, 447, - 211, 233, 234, 236, 0, 278, 282, 290, 293, 301, - 302, 311, 363, 414, 441, 437, 446, 0, 571, 592, - 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, - 629, 402, 309, 489, 331, 369, 0, 0, 420, 467, - 239, 596, 490, 888, 910, 899, 765, 766, 889, 890, - 914, 891, 768, 769, 911, 912, 762, 763, 767, 913, - 915, 641, 642, 643, 644, 645, 646, 647, 648, 649, - 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, - 500, 506, 501, 502, 503, 504, 505, 0, 507, 902, - 752, 751, 0, 758, 0, 787, 788, 790, 794, 795, - 796, 807, 854, 855, 863, 865, 866, 864, 867, 868, - 869, 872, 873, 874, 875, 870, 871, 876, 770, 774, - 771, 772, 773, 785, 775, 776, 777, 778, 779, 780, - 781, 782, 783, 784, 786, 925, 926, 927, 928, 929, - 930, 800, 804, 803, 801, 802, 798, 799, 826, 825, - 827, 828, 829, 830, 831, 832, 834, 833, 835, 836, - 837, 838, 839, 840, 808, 809, 812, 813, 811, 810, - 814, 823, 824, 815, 816, 817, 818, 819, 820, 822, - 821, 841, 842, 843, 844, 845, 847, 846, 850, 851, - 849, 848, 853, 852, 750, 196, 220, 364, 0, 449, - 287, 637, 606, 601, 205, 222, 916, 261, 917, 0, - 0, 921, 0, 0, 0, 923, 922, 0, 924, 886, - 885, 0, 0, 918, 919, 0, 920, 0, 0, 198, - 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, - 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, - 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, - 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, - 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, - 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, - 475, 931, 932, 933, 934, 935, 936, 937, 938, 298, - 590, 620, 588, 632, 614, 433, 374, 0, 0, 377, - 280, 303, 318, 0, 605, 496, 226, 461, 289, 250, - 956, 0, 210, 245, 229, 258, 273, 276, 322, 387, - 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, - 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, - 569, 314, 520, 0, 761, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 411, 0, 0, 0, 0, 749, - 0, 0, 0, 269, 754, 0, 0, 0, 362, 266, - 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, - 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, - 760, 366, 0, 0, 491, 396, 0, 0, 0, 0, - 0, 756, 757, 0, 0, 0, 0, 0, 0, 0, - 0, 321, 247, 323, 202, 408, 492, 285, 0, 95, - 0, 0, 957, 941, 1071, 907, 945, 958, 959, 960, - 961, 946, 0, 237, 947, 948, 244, 949, 0, 906, - 791, 793, 792, 856, 857, 858, 859, 860, 861, 862, - 789, 954, 962, 963, 0, 264, 319, 271, 263, 572, - 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, - 0, 0, 0, 0, 0, 0, 0, 746, 0, 759, - 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 743, 744, 0, 0, 0, 0, 901, 0, 745, 0, - 0, 753, 964, 965, 966, 967, 968, 969, 970, 971, - 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, - 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, - 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, - 1002, 1003, 1004, 1005, 2076, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, - 448, 900, 0, 0, 616, 0, 0, 898, 0, 0, - 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, - 456, 468, 0, 0, 0, 951, 0, 466, 421, 594, - 232, 283, 453, 427, 464, 435, 286, 0, 0, 465, - 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, - 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, - 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, - 241, 230, 579, 600, 288, 451, 630, 212, 509, 589, - 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, - 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, - 257, 410, 952, 953, 255, 639, 797, 610, 219, 0, - 609, 403, 576, 587, 390, 379, 218, 585, 388, 378, - 332, 805, 806, 279, 305, 882, 881, 880, 304, 306, - 878, 879, 877, 206, 598, 0, 207, 0, 493, 599, - 640, 447, 211, 233, 234, 236, 0, 278, 282, 290, - 293, 301, 302, 311, 363, 414, 441, 437, 446, 0, - 571, 592, 604, 615, 621, 622, 624, 625, 626, 627, - 628, 631, 629, 402, 309, 489, 331, 369, 0, 0, - 420, 467, 239, 596, 490, 888, 910, 899, 765, 766, - 889, 890, 914, 891, 768, 769, 911, 912, 762, 763, - 767, 913, 915, 641, 642, 643, 644, 645, 646, 647, - 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, - 658, 636, 500, 506, 501, 502, 503, 504, 505, 0, - 507, 902, 752, 751, 0, 758, 0, 787, 788, 790, - 794, 795, 796, 807, 854, 855, 863, 865, 866, 864, - 867, 868, 869, 872, 873, 874, 875, 870, 871, 876, - 770, 774, 771, 772, 773, 785, 775, 776, 777, 778, - 779, 780, 781, 782, 783, 784, 786, 925, 926, 927, - 928, 929, 930, 800, 804, 803, 801, 802, 798, 799, - 826, 825, 827, 828, 829, 830, 831, 832, 834, 833, - 835, 836, 837, 838, 839, 840, 808, 809, 812, 813, - 811, 810, 814, 823, 824, 815, 816, 817, 818, 819, - 820, 822, 821, 841, 842, 843, 844, 845, 847, 846, - 850, 851, 849, 848, 853, 852, 750, 196, 220, 364, - 0, 449, 287, 637, 606, 601, 205, 222, 916, 261, - 917, 0, 0, 921, 0, 0, 0, 923, 922, 0, - 924, 886, 885, 0, 0, 918, 919, 0, 920, 0, - 0, 198, 200, 208, 221, 231, 235, 242, 260, 275, - 277, 284, 297, 308, 316, 317, 320, 326, 376, 382, - 383, 384, 385, 404, 405, 406, 409, 412, 413, 416, - 418, 419, 422, 426, 430, 431, 432, 434, 436, 438, - 450, 455, 469, 470, 471, 472, 473, 476, 477, 482, - 483, 484, 485, 486, 494, 495, 508, 578, 580, 595, - 613, 619, 475, 931, 932, 933, 934, 935, 936, 937, - 938, 298, 590, 620, 588, 632, 614, 433, 374, 0, - 0, 377, 280, 303, 318, 0, 605, 496, 226, 461, - 289, 250, 956, 0, 210, 245, 229, 258, 273, 276, - 322, 387, 395, 424, 429, 295, 270, 243, 454, 240, - 479, 511, 512, 513, 515, 391, 265, 428, 392, 0, - 372, 568, 569, 314, 520, 0, 761, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 411, 0, 0, 0, - 0, 749, 0, 0, 0, 269, 754, 0, 0, 0, - 362, 266, 0, 0, 425, 0, 203, 0, 481, 251, - 373, 370, 575, 281, 272, 268, 249, 315, 381, 423, - 510, 417, 760, 366, 0, 0, 491, 396, 0, 0, - 0, 0, 0, 756, 757, 0, 0, 0, 0, 0, - 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, - 0, 95, 0, 0, 957, 941, 1071, 907, 945, 958, - 959, 960, 961, 946, 0, 237, 947, 948, 244, 949, - 0, 906, 791, 793, 792, 856, 857, 858, 859, 860, - 861, 862, 789, 954, 962, 963, 0, 264, 319, 271, - 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 0, 0, 0, 0, 0, 0, 0, 0, 746, - 0, 759, 0, 0, 0, 274, 0, 0, 0, 0, + 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, + 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, + 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, + 410, 952, 953, 255, 639, 797, 610, 219, 0, 609, + 403, 576, 587, 390, 379, 218, 585, 388, 378, 332, + 805, 806, 279, 305, 882, 881, 880, 304, 306, 878, + 879, 877, 206, 598, 0, 207, 0, 493, 599, 640, + 447, 211, 233, 234, 236, 0, 278, 282, 290, 293, + 301, 302, 311, 363, 414, 441, 437, 446, 0, 571, + 592, 604, 615, 621, 622, 624, 625, 626, 627, 628, + 631, 629, 402, 309, 489, 331, 369, 0, 0, 420, + 467, 239, 596, 490, 888, 910, 899, 765, 766, 889, + 890, 914, 891, 768, 769, 911, 912, 762, 763, 767, + 913, 915, 641, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 636, 500, 506, 501, 502, 503, 504, 505, 0, 507, + 902, 752, 751, 0, 758, 0, 787, 788, 790, 794, + 795, 796, 807, 854, 855, 863, 865, 866, 864, 867, + 868, 869, 872, 873, 874, 875, 870, 871, 876, 770, + 774, 771, 772, 773, 785, 775, 776, 777, 778, 779, + 780, 781, 782, 783, 784, 786, 925, 926, 927, 928, + 929, 930, 800, 804, 803, 801, 802, 798, 799, 826, + 825, 827, 828, 829, 830, 831, 832, 834, 833, 835, + 836, 837, 838, 839, 840, 808, 809, 812, 813, 811, + 810, 814, 823, 824, 815, 816, 817, 818, 819, 820, + 822, 821, 841, 842, 843, 844, 845, 847, 846, 850, + 851, 849, 848, 853, 852, 750, 196, 220, 364, 0, + 449, 287, 637, 606, 601, 205, 222, 916, 261, 917, + 0, 0, 921, 0, 0, 0, 923, 922, 0, 924, + 886, 885, 0, 0, 918, 919, 0, 920, 0, 0, + 198, 200, 208, 221, 231, 235, 242, 260, 275, 277, + 284, 297, 308, 316, 317, 320, 326, 376, 382, 383, + 384, 385, 404, 405, 406, 409, 412, 413, 416, 418, + 419, 422, 426, 430, 431, 432, 434, 436, 438, 450, + 455, 469, 470, 471, 472, 473, 476, 477, 482, 483, + 484, 485, 486, 494, 495, 508, 578, 580, 595, 613, + 619, 475, 931, 932, 933, 934, 935, 936, 937, 938, + 298, 590, 620, 588, 632, 614, 433, 374, 0, 0, + 377, 280, 303, 318, 0, 605, 496, 226, 461, 289, + 250, 956, 0, 210, 245, 229, 258, 273, 276, 322, + 387, 395, 424, 429, 295, 270, 243, 454, 240, 479, + 511, 512, 513, 515, 391, 265, 428, 392, 0, 372, + 568, 569, 314, 520, 0, 761, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 411, 0, 0, 0, 0, + 749, 0, 0, 0, 269, 754, 0, 0, 0, 362, + 266, 0, 0, 425, 0, 203, 0, 481, 251, 373, + 370, 575, 281, 272, 268, 249, 315, 381, 423, 510, + 417, 760, 366, 0, 0, 491, 396, 0, 0, 0, + 0, 0, 756, 757, 0, 0, 0, 0, 0, 0, + 0, 0, 321, 247, 323, 202, 408, 492, 285, 0, + 95, 0, 0, 957, 941, 1071, 907, 945, 958, 959, + 960, 961, 946, 0, 237, 947, 948, 244, 949, 0, + 906, 791, 793, 792, 856, 857, 858, 859, 860, 861, + 862, 789, 954, 962, 963, 0, 264, 319, 271, 263, + 572, 0, 0, 0, 0, 0, 0, 0, 0, 228, + 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, + 759, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 743, 744, 0, 0, 0, 0, 901, 0, - 745, 0, 0, 753, 964, 965, 966, 967, 968, 969, - 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, - 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, - 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, - 1000, 1001, 1002, 1003, 1004, 1005, 2074, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 0, 397, - 256, 0, 448, 900, 0, 0, 616, 0, 0, 898, - 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, - 0, 407, 456, 468, 0, 0, 0, 951, 0, 466, - 421, 594, 232, 283, 453, 427, 464, 435, 286, 0, - 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, - 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, - 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, - 474, 367, 241, 230, 579, 600, 288, 451, 630, 212, + 0, 743, 744, 0, 0, 0, 0, 901, 0, 745, + 0, 0, 753, 964, 965, 966, 967, 968, 969, 970, + 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, + 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, + 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, + 1001, 1002, 1003, 1004, 1005, 755, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 296, 0, 397, 256, + 0, 448, 900, 0, 0, 616, 0, 0, 898, 0, + 0, 0, 0, 361, 0, 328, 197, 224, 0, 0, + 407, 456, 468, 0, 0, 0, 951, 0, 466, 421, + 594, 232, 283, 453, 427, 464, 435, 286, 0, 0, + 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, + 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, + 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, + 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 952, 953, 255, 639, 797, 610, @@ -4261,37 +4182,254 @@ var yyAct = [...]int{ 226, 461, 289, 250, 956, 0, 210, 245, 229, 258, 273, 276, 322, 387, 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, 512, 513, 515, 391, 265, 428, - 392, 0, 372, 568, 569, 314, 520, 0, 0, 0, + 392, 0, 372, 568, 569, 314, 520, 0, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 0, - 0, 0, 0, 0, 0, 0, 0, 269, 0, 0, + 0, 0, 0, 749, 0, 0, 0, 269, 754, 0, 0, 0, 362, 266, 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, 249, 315, - 381, 423, 510, 417, 0, 366, 0, 0, 491, 396, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 381, 423, 510, 417, 760, 366, 0, 0, 491, 396, + 0, 0, 0, 0, 0, 756, 757, 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, 202, 408, - 492, 285, 0, 0, 0, 0, 0, 709, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, - 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, - 341, 346, 353, 359, 0, 0, 0, 0, 0, 264, + 492, 285, 0, 95, 0, 0, 957, 941, 1071, 907, + 945, 958, 959, 960, 961, 946, 0, 237, 947, 948, + 244, 949, 0, 906, 791, 793, 792, 856, 857, 858, + 859, 860, 861, 862, 789, 954, 962, 963, 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 0, 1122, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, + 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, + 0, 746, 0, 759, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 743, 744, 0, 0, 0, 0, + 901, 0, 745, 0, 0, 753, 964, 965, 966, 967, + 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, + 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, + 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, + 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 2077, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, + 0, 397, 256, 0, 448, 900, 0, 0, 616, 0, + 0, 898, 0, 0, 0, 0, 361, 0, 328, 197, + 224, 0, 0, 407, 456, 468, 0, 0, 0, 951, + 0, 466, 421, 594, 232, 283, 453, 427, 464, 435, + 286, 0, 0, 465, 368, 577, 445, 591, 617, 618, + 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, + 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, + 623, 223, 474, 367, 241, 230, 579, 600, 0, 288, + 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, + 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, + 452, 267, 292, 0, 0, 257, 410, 952, 953, 255, + 639, 797, 610, 219, 0, 609, 403, 576, 587, 390, + 379, 218, 585, 388, 378, 332, 805, 806, 279, 305, + 882, 881, 880, 304, 306, 878, 879, 877, 206, 598, + 0, 207, 0, 493, 599, 640, 447, 211, 233, 234, + 236, 0, 278, 282, 290, 293, 301, 302, 311, 363, + 414, 441, 437, 446, 0, 571, 592, 604, 615, 621, + 622, 624, 625, 626, 627, 628, 631, 629, 402, 309, + 489, 331, 369, 0, 0, 420, 467, 239, 596, 490, + 888, 910, 899, 765, 766, 889, 890, 914, 891, 768, + 769, 911, 912, 762, 763, 767, 913, 915, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 636, 500, 506, 501, + 502, 503, 504, 505, 0, 507, 902, 752, 751, 0, + 758, 0, 787, 788, 790, 794, 795, 796, 807, 854, + 855, 863, 865, 866, 864, 867, 868, 869, 872, 873, + 874, 875, 870, 871, 876, 770, 774, 771, 772, 773, + 785, 775, 776, 777, 778, 779, 780, 781, 782, 783, + 784, 786, 925, 926, 927, 928, 929, 930, 800, 804, + 803, 801, 802, 798, 799, 826, 825, 827, 828, 829, + 830, 831, 832, 834, 833, 835, 836, 837, 838, 839, + 840, 808, 809, 812, 813, 811, 810, 814, 823, 824, + 815, 816, 817, 818, 819, 820, 822, 821, 841, 842, + 843, 844, 845, 847, 846, 850, 851, 849, 848, 853, + 852, 750, 196, 220, 364, 0, 449, 287, 637, 606, + 601, 205, 222, 916, 261, 917, 0, 0, 921, 0, + 0, 0, 923, 922, 0, 924, 886, 885, 0, 0, + 918, 919, 0, 920, 0, 0, 198, 200, 208, 221, + 231, 235, 242, 260, 275, 277, 284, 297, 308, 316, + 317, 320, 326, 376, 382, 383, 384, 385, 404, 405, + 406, 409, 412, 413, 416, 418, 419, 422, 426, 430, + 431, 432, 434, 436, 438, 450, 455, 469, 470, 471, + 472, 473, 476, 477, 482, 483, 484, 485, 486, 494, + 495, 508, 578, 580, 595, 613, 619, 475, 931, 932, + 933, 934, 935, 936, 937, 938, 298, 590, 620, 588, + 632, 614, 433, 374, 0, 0, 377, 280, 303, 318, + 0, 605, 496, 226, 461, 289, 250, 956, 0, 210, + 245, 229, 258, 273, 276, 322, 387, 395, 424, 429, + 295, 270, 243, 454, 240, 479, 511, 512, 513, 515, + 391, 265, 428, 392, 0, 372, 568, 569, 314, 520, + 0, 761, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 411, 0, 0, 0, 0, 749, 0, 0, 0, + 269, 754, 0, 0, 0, 362, 266, 0, 0, 425, + 0, 203, 0, 481, 251, 373, 370, 575, 281, 272, + 268, 249, 315, 381, 423, 510, 417, 760, 366, 0, + 0, 491, 396, 0, 0, 0, 0, 0, 756, 757, + 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, + 323, 202, 408, 492, 285, 0, 95, 0, 0, 957, + 941, 1071, 907, 945, 958, 959, 960, 961, 946, 0, + 237, 947, 948, 244, 949, 0, 906, 791, 793, 792, + 856, 857, 858, 859, 860, 861, 862, 789, 954, 962, + 963, 0, 264, 319, 271, 263, 572, 0, 0, 0, + 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, + 0, 0, 0, 0, 746, 0, 759, 0, 0, 0, + 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 743, 744, 0, + 0, 0, 0, 901, 0, 745, 0, 0, 753, 964, + 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, + 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, + 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, + 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, + 1005, 2075, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 296, 0, 397, 256, 0, 448, 900, 0, + 0, 616, 0, 0, 898, 0, 0, 0, 0, 361, + 0, 328, 197, 224, 0, 0, 407, 456, 468, 0, + 0, 0, 951, 0, 466, 421, 594, 232, 283, 453, + 427, 464, 435, 286, 0, 0, 465, 368, 577, 445, + 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, + 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, + 294, 201, 365, 623, 223, 474, 367, 241, 230, 579, + 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, + 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, + 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, + 952, 953, 255, 639, 797, 610, 219, 0, 609, 403, + 576, 587, 390, 379, 218, 585, 388, 378, 332, 805, + 806, 279, 305, 882, 881, 880, 304, 306, 878, 879, + 877, 206, 598, 0, 207, 0, 493, 599, 640, 447, + 211, 233, 234, 236, 0, 278, 282, 290, 293, 301, + 302, 311, 363, 414, 441, 437, 446, 0, 571, 592, + 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, + 629, 402, 309, 489, 331, 369, 0, 0, 420, 467, + 239, 596, 490, 888, 910, 899, 765, 766, 889, 890, + 914, 891, 768, 769, 911, 912, 762, 763, 767, 913, + 915, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, + 500, 506, 501, 502, 503, 504, 505, 0, 507, 902, + 752, 751, 0, 758, 0, 787, 788, 790, 794, 795, + 796, 807, 854, 855, 863, 865, 866, 864, 867, 868, + 869, 872, 873, 874, 875, 870, 871, 876, 770, 774, + 771, 772, 773, 785, 775, 776, 777, 778, 779, 780, + 781, 782, 783, 784, 786, 925, 926, 927, 928, 929, + 930, 800, 804, 803, 801, 802, 798, 799, 826, 825, + 827, 828, 829, 830, 831, 832, 834, 833, 835, 836, + 837, 838, 839, 840, 808, 809, 812, 813, 811, 810, + 814, 823, 824, 815, 816, 817, 818, 819, 820, 822, + 821, 841, 842, 843, 844, 845, 847, 846, 850, 851, + 849, 848, 853, 852, 750, 196, 220, 364, 0, 449, + 287, 637, 606, 601, 205, 222, 916, 261, 917, 0, + 0, 921, 0, 0, 0, 923, 922, 0, 924, 886, + 885, 0, 0, 918, 919, 0, 920, 0, 0, 198, + 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, + 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, + 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, + 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, + 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, + 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, + 475, 931, 932, 933, 934, 935, 936, 937, 938, 298, + 590, 620, 588, 632, 614, 433, 374, 0, 0, 377, + 280, 303, 318, 0, 605, 496, 226, 461, 289, 250, + 956, 0, 210, 245, 229, 258, 273, 276, 322, 387, + 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, + 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, + 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 411, 0, 0, 0, 0, 0, + 0, 0, 0, 269, 0, 0, 0, 0, 362, 266, + 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, + 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, + 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, + 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, + 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, + 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, + 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, + 1122, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 0, 397, 256, 0, 448, 0, 0, 1121, 616, 0, - 0, 0, 0, 0, 1118, 1119, 361, 1079, 328, 197, - 224, 1112, 1116, 407, 456, 468, 0, 0, 0, 252, - 0, 466, 421, 594, 232, 283, 453, 427, 464, 435, - 286, 0, 0, 465, 368, 577, 445, 591, 617, 618, - 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, - 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, - 623, 223, 474, 367, 241, 230, 579, 600, 288, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, + 448, 0, 0, 1121, 616, 0, 0, 0, 0, 0, + 1118, 1119, 361, 1079, 328, 197, 224, 1112, 1116, 407, + 456, 468, 0, 0, 0, 252, 0, 466, 421, 594, + 232, 283, 453, 427, 464, 435, 286, 0, 0, 465, + 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, + 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, + 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, + 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, + 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, + 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, + 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, + 0, 609, 403, 576, 587, 390, 379, 218, 585, 388, + 378, 332, 351, 352, 279, 305, 442, 371, 443, 304, + 306, 399, 398, 400, 206, 598, 0, 207, 0, 493, + 599, 640, 447, 211, 233, 234, 236, 0, 278, 282, + 290, 293, 301, 302, 311, 363, 414, 441, 437, 446, + 0, 571, 592, 604, 615, 621, 622, 624, 625, 626, + 627, 628, 631, 629, 402, 309, 489, 331, 369, 0, + 0, 420, 467, 239, 596, 490, 199, 0, 0, 0, + 0, 253, 254, 0, 567, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 636, 500, 506, 501, 502, 503, 504, 505, + 0, 507, 0, 0, 0, 0, 0, 0, 583, 584, + 659, 380, 480, 593, 333, 345, 348, 338, 357, 0, + 358, 334, 335, 340, 342, 343, 344, 349, 350, 354, + 360, 248, 209, 386, 394, 570, 310, 215, 216, 217, + 516, 517, 518, 519, 607, 608, 612, 204, 457, 458, + 459, 460, 291, 602, 307, 463, 462, 329, 330, 375, + 444, 532, 534, 545, 549, 551, 553, 559, 562, 533, + 535, 546, 550, 552, 554, 560, 563, 522, 524, 526, + 528, 541, 540, 537, 565, 566, 543, 548, 527, 539, + 544, 557, 564, 561, 521, 525, 529, 538, 556, 555, + 536, 547, 558, 542, 530, 523, 531, 0, 196, 220, + 364, 0, 449, 287, 637, 606, 601, 205, 222, 0, + 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 198, 200, 208, 221, 231, 235, 242, 260, + 275, 277, 284, 297, 308, 316, 317, 320, 326, 376, + 382, 383, 384, 385, 404, 405, 406, 409, 412, 413, + 416, 418, 419, 422, 426, 430, 431, 432, 434, 436, + 438, 450, 455, 469, 470, 471, 472, 473, 476, 477, + 482, 483, 484, 485, 486, 494, 495, 508, 578, 580, + 595, 613, 619, 475, 299, 300, 439, 440, 312, 313, + 633, 634, 298, 590, 620, 588, 632, 614, 433, 374, + 0, 0, 377, 280, 303, 318, 0, 605, 496, 226, + 461, 289, 250, 0, 0, 210, 245, 229, 258, 273, + 276, 322, 387, 395, 424, 429, 295, 270, 243, 454, + 240, 479, 511, 512, 513, 515, 391, 265, 428, 392, + 0, 372, 568, 569, 314, 520, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 411, 0, 0, + 0, 0, 0, 0, 0, 0, 269, 0, 0, 0, + 0, 362, 266, 0, 0, 425, 0, 203, 0, 481, + 251, 373, 370, 575, 281, 272, 268, 249, 315, 381, + 423, 510, 417, 0, 366, 0, 0, 491, 396, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 321, 247, 323, 202, 408, 492, + 285, 0, 0, 0, 0, 1680, 941, 0, 0, 1677, + 0, 0, 0, 0, 1675, 0, 237, 1676, 1674, 244, + 1679, 0, 906, 347, 356, 355, 336, 337, 339, 341, + 346, 353, 359, 0, 0, 0, 0, 0, 264, 319, + 271, 263, 572, 0, 0, 0, 0, 0, 0, 0, + 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, + 397, 256, 0, 448, 0, 0, 0, 616, 0, 0, + 0, 0, 0, 0, 0, 361, 0, 328, 197, 224, + 0, 0, 407, 456, 468, 0, 0, 0, 252, 0, + 466, 421, 594, 232, 283, 453, 427, 464, 435, 286, + 0, 0, 465, 368, 577, 445, 591, 617, 618, 262, + 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, + 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, + 223, 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, @@ -4333,182 +4471,110 @@ var yyAct = [...]int{ 605, 496, 226, 461, 289, 250, 0, 0, 210, 245, 229, 258, 273, 276, 322, 387, 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, 512, 513, 515, 391, - 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 411, 0, 0, 0, 0, 0, 0, 0, 0, 269, - 0, 0, 0, 0, 362, 266, 0, 0, 425, 0, - 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, - 249, 315, 381, 423, 510, 417, 0, 366, 0, 0, - 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, - 202, 408, 492, 285, 0, 0, 0, 0, 1680, 941, - 0, 0, 1677, 0, 0, 0, 0, 1675, 0, 237, - 1676, 1674, 244, 1679, 0, 906, 347, 356, 355, 336, - 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, - 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 0, 397, 256, 0, 448, 0, 0, 0, - 616, 0, 0, 0, 0, 0, 0, 0, 361, 0, - 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, - 0, 252, 0, 466, 421, 594, 232, 283, 453, 427, - 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, - 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, - 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, - 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, - 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, - 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, - 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, - 255, 639, 227, 610, 219, 0, 609, 403, 576, 587, - 390, 379, 218, 585, 388, 378, 332, 351, 352, 279, - 305, 442, 371, 443, 304, 306, 399, 398, 400, 206, - 598, 0, 207, 0, 493, 599, 640, 447, 211, 233, - 234, 236, 0, 278, 282, 290, 293, 301, 302, 311, - 363, 414, 441, 437, 446, 0, 571, 592, 604, 615, - 621, 622, 624, 625, 626, 627, 628, 631, 629, 402, - 309, 489, 331, 369, 0, 0, 420, 467, 239, 596, - 490, 199, 0, 0, 0, 0, 253, 254, 0, 567, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, - 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, - 652, 653, 654, 655, 656, 657, 658, 636, 500, 506, - 501, 502, 503, 504, 505, 0, 507, 0, 0, 0, - 0, 0, 0, 583, 584, 659, 380, 480, 593, 333, - 345, 348, 338, 357, 0, 358, 334, 335, 340, 342, - 343, 344, 349, 350, 354, 360, 248, 209, 386, 394, - 570, 310, 215, 216, 217, 516, 517, 518, 519, 607, - 608, 612, 204, 457, 458, 459, 460, 291, 602, 307, - 463, 462, 329, 330, 375, 444, 532, 534, 545, 549, - 551, 553, 559, 562, 533, 535, 546, 550, 552, 554, - 560, 563, 522, 524, 526, 528, 541, 540, 537, 565, - 566, 543, 548, 527, 539, 544, 557, 564, 561, 521, - 525, 529, 538, 556, 555, 536, 547, 558, 542, 530, - 523, 531, 0, 196, 220, 364, 0, 449, 287, 637, - 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 198, 200, 208, - 221, 231, 235, 242, 260, 275, 277, 284, 297, 308, - 316, 317, 320, 326, 376, 382, 383, 384, 385, 404, - 405, 406, 409, 412, 413, 416, 418, 419, 422, 426, - 430, 431, 432, 434, 436, 438, 450, 455, 469, 470, - 471, 472, 473, 476, 477, 482, 483, 484, 485, 486, - 494, 495, 508, 578, 580, 595, 613, 619, 475, 299, - 300, 439, 440, 312, 313, 633, 634, 298, 590, 620, - 588, 632, 614, 433, 374, 0, 0, 377, 280, 303, - 318, 0, 605, 496, 226, 461, 289, 250, 0, 0, - 210, 245, 229, 258, 273, 276, 322, 387, 395, 424, - 429, 295, 270, 243, 454, 240, 479, 511, 512, 513, - 515, 391, 265, 428, 0, 392, 372, 568, 569, 314, - 86, 520, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 411, 0, 0, 0, 0, 0, 0, - 0, 0, 269, 0, 0, 0, 0, 362, 266, 0, - 0, 425, 0, 203, 0, 481, 251, 373, 370, 575, - 281, 272, 268, 249, 315, 381, 423, 510, 417, 0, - 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 321, 247, 323, 202, 408, 492, 285, 0, 95, 0, - 0, 0, 194, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 237, 0, 0, 244, 0, 0, 0, 347, - 356, 355, 336, 337, 339, 341, 346, 353, 359, 0, - 0, 0, 0, 0, 264, 319, 271, 263, 572, 0, - 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 265, 428, 0, 392, 372, 568, 569, 314, 86, 520, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 411, 0, 0, 0, 0, 0, 0, 0, 0, + 269, 0, 0, 0, 0, 362, 266, 0, 0, 425, + 0, 203, 0, 481, 251, 373, 370, 575, 281, 272, + 268, 249, 315, 381, 423, 510, 417, 0, 366, 0, + 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, + 323, 202, 408, 492, 285, 0, 95, 0, 0, 0, + 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 237, 0, 0, 244, 0, 0, 0, 347, 356, 355, + 336, 337, 339, 341, 346, 353, 359, 0, 0, 0, + 0, 0, 264, 319, 271, 263, 572, 0, 0, 0, + 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 296, 0, 397, 256, 0, 448, - 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, - 0, 361, 0, 328, 197, 224, 0, 0, 407, 456, - 468, 0, 0, 0, 252, 0, 466, 421, 594, 232, - 283, 453, 427, 464, 435, 286, 0, 0, 465, 368, - 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, - 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, - 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, - 230, 579, 600, 288, 451, 630, 212, 509, 589, 238, - 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, - 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, - 410, 581, 582, 255, 639, 227, 610, 219, 0, 609, - 403, 576, 587, 390, 379, 218, 585, 388, 378, 332, - 351, 352, 279, 305, 442, 371, 443, 304, 306, 399, - 398, 400, 206, 598, 0, 207, 0, 493, 599, 640, - 447, 211, 233, 234, 236, 0, 278, 282, 290, 293, - 301, 302, 311, 363, 414, 441, 437, 446, 0, 571, - 592, 604, 615, 621, 622, 624, 625, 626, 627, 628, - 631, 629, 402, 309, 489, 331, 369, 0, 0, 420, - 467, 239, 596, 490, 199, 0, 0, 0, 0, 253, - 254, 0, 567, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 641, 642, 643, 644, 645, 646, 647, 648, - 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, - 636, 500, 506, 501, 502, 503, 504, 505, 0, 507, - 0, 0, 0, 0, 0, 0, 583, 584, 659, 380, - 480, 593, 333, 345, 348, 338, 357, 0, 358, 334, - 335, 340, 342, 343, 344, 349, 350, 354, 360, 248, - 209, 386, 394, 570, 310, 215, 216, 217, 516, 517, - 518, 519, 607, 608, 612, 204, 457, 458, 459, 460, - 291, 602, 307, 463, 462, 329, 330, 375, 444, 532, - 534, 545, 549, 551, 553, 559, 562, 533, 535, 546, - 550, 552, 554, 560, 563, 522, 524, 526, 528, 541, - 540, 537, 565, 566, 543, 548, 527, 539, 544, 557, - 564, 561, 521, 525, 529, 538, 556, 555, 536, 547, - 558, 542, 530, 523, 531, 0, 196, 220, 364, 94, - 449, 287, 637, 606, 601, 205, 222, 0, 261, 0, - 0, 0, 0, 0, 0, 2377, 0, 0, 2376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 198, 200, 208, 221, 231, 235, 242, 260, 275, 277, - 284, 297, 308, 316, 317, 320, 326, 376, 382, 383, - 384, 385, 404, 405, 406, 409, 412, 413, 416, 418, - 419, 422, 426, 430, 431, 432, 434, 436, 438, 450, - 455, 469, 470, 471, 472, 473, 476, 477, 482, 483, - 484, 485, 486, 494, 495, 508, 578, 580, 595, 613, - 619, 475, 299, 300, 439, 440, 312, 313, 633, 634, - 298, 590, 620, 588, 632, 614, 433, 374, 0, 0, - 377, 280, 303, 318, 0, 605, 496, 226, 461, 289, - 250, 0, 0, 210, 245, 229, 258, 273, 276, 322, - 387, 395, 424, 429, 295, 270, 243, 454, 240, 479, - 511, 512, 513, 515, 391, 265, 428, 1741, 0, 372, - 568, 569, 314, 520, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 411, 0, 0, 0, 1743, - 0, 0, 0, 0, 269, 0, 0, 0, 0, 362, - 266, 0, 0, 425, 0, 203, 0, 481, 251, 373, - 370, 575, 281, 272, 268, 249, 315, 381, 423, 510, - 417, 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 321, 247, 323, 202, 408, 492, 285, 0, - 0, 0, 0, 1745, 709, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, - 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, - 359, 0, 0, 0, 0, 0, 264, 319, 271, 263, - 572, 0, 0, 0, 0, 0, 0, 0, 0, 228, - 0, 0, 0, 1453, 0, 1454, 1455, 0, 0, 0, - 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 296, 0, 397, 256, 0, 448, 0, 0, + 0, 616, 0, 0, 0, 0, 0, 0, 0, 361, + 0, 328, 197, 224, 0, 0, 407, 456, 468, 0, + 0, 0, 252, 0, 466, 421, 594, 232, 283, 453, + 427, 464, 435, 286, 0, 0, 465, 368, 577, 445, + 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, + 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, + 294, 201, 365, 623, 223, 474, 367, 241, 230, 579, + 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, + 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, + 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, + 581, 582, 255, 639, 227, 610, 219, 0, 609, 403, + 576, 587, 390, 379, 218, 585, 388, 378, 332, 351, + 352, 279, 305, 442, 371, 443, 304, 306, 399, 398, + 400, 206, 598, 0, 207, 0, 493, 599, 640, 447, + 211, 233, 234, 236, 0, 278, 282, 290, 293, 301, + 302, 311, 363, 414, 441, 437, 446, 0, 571, 592, + 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, + 629, 402, 309, 489, 331, 369, 0, 0, 420, 467, + 239, 596, 490, 199, 0, 0, 0, 0, 253, 254, + 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, + 500, 506, 501, 502, 503, 504, 505, 0, 507, 0, + 0, 0, 0, 0, 0, 583, 584, 659, 380, 480, + 593, 333, 345, 348, 338, 357, 0, 358, 334, 335, + 340, 342, 343, 344, 349, 350, 354, 360, 248, 209, + 386, 394, 570, 310, 215, 216, 217, 516, 517, 518, + 519, 607, 608, 612, 204, 457, 458, 459, 460, 291, + 602, 307, 463, 462, 329, 330, 375, 444, 532, 534, + 545, 549, 551, 553, 559, 562, 533, 535, 546, 550, + 552, 554, 560, 563, 522, 524, 526, 528, 541, 540, + 537, 565, 566, 543, 548, 527, 539, 544, 557, 564, + 561, 521, 525, 529, 538, 556, 555, 536, 547, 558, + 542, 530, 523, 531, 0, 196, 220, 364, 94, 449, + 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, + 0, 0, 0, 0, 2378, 0, 0, 2377, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, + 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, + 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, + 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, + 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, + 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, + 475, 299, 300, 439, 440, 312, 313, 633, 634, 298, + 590, 620, 588, 632, 614, 433, 374, 0, 0, 377, + 280, 303, 318, 0, 605, 496, 226, 461, 289, 250, + 0, 0, 210, 245, 229, 258, 273, 276, 322, 387, + 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, + 512, 513, 515, 391, 265, 428, 1741, 0, 372, 568, + 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 411, 0, 0, 0, 1743, 0, + 0, 0, 0, 269, 0, 0, 0, 0, 362, 266, + 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, + 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, + 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, + 0, 0, 1745, 709, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, + 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, + 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, + 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, + 0, 0, 1453, 0, 1454, 1455, 0, 0, 0, 0, + 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 296, 0, 397, 256, - 0, 448, 0, 0, 0, 616, 0, 0, 0, 0, - 0, 0, 0, 361, 0, 328, 197, 224, 0, 0, - 407, 456, 468, 0, 0, 0, 252, 0, 466, 421, - 594, 232, 283, 453, 427, 464, 435, 286, 0, 0, - 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, - 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, - 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, - 367, 241, 230, 579, 600, 288, 451, 630, 212, 509, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, + 448, 0, 0, 0, 616, 0, 0, 0, 0, 0, + 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, + 456, 468, 0, 0, 0, 252, 0, 466, 421, 594, + 232, 283, 453, 427, 464, 435, 286, 0, 0, 465, + 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, + 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, + 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, + 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, @@ -4580,7 +4646,224 @@ var yyAct = [...]int{ 286, 0, 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, - 623, 223, 474, 367, 241, 230, 579, 600, 288, 451, + 623, 223, 474, 367, 241, 230, 579, 600, 0, 288, + 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, + 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, + 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, + 639, 227, 610, 219, 0, 609, 403, 576, 587, 390, + 379, 218, 585, 388, 378, 332, 351, 352, 279, 305, + 442, 371, 443, 304, 306, 399, 398, 400, 206, 598, + 0, 207, 0, 493, 599, 640, 447, 211, 233, 234, + 236, 0, 278, 282, 290, 293, 301, 302, 311, 363, + 414, 441, 437, 446, 0, 571, 592, 604, 615, 621, + 622, 624, 625, 626, 627, 628, 631, 629, 402, 309, + 489, 331, 369, 0, 0, 420, 467, 239, 596, 490, + 199, 0, 0, 0, 0, 253, 254, 0, 567, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 636, 500, 506, 501, + 502, 503, 504, 505, 0, 507, 0, 0, 0, 0, + 0, 0, 583, 584, 659, 380, 480, 593, 333, 345, + 348, 338, 357, 0, 358, 334, 335, 340, 342, 343, + 344, 349, 350, 354, 360, 248, 209, 386, 394, 570, + 310, 215, 216, 217, 516, 517, 518, 519, 607, 608, + 612, 204, 457, 458, 459, 460, 291, 602, 307, 463, + 462, 329, 330, 375, 444, 532, 534, 545, 549, 551, + 553, 559, 562, 533, 535, 546, 550, 552, 554, 560, + 563, 522, 524, 526, 528, 541, 540, 537, 565, 566, + 543, 548, 527, 539, 544, 557, 564, 561, 521, 525, + 529, 538, 556, 555, 536, 547, 558, 542, 530, 523, + 531, 0, 196, 220, 364, 94, 449, 287, 637, 606, + 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 198, 200, 208, 221, + 231, 235, 242, 260, 275, 277, 284, 297, 308, 316, + 317, 320, 326, 376, 382, 383, 384, 385, 404, 405, + 406, 409, 412, 413, 416, 418, 419, 422, 426, 430, + 431, 432, 434, 436, 438, 450, 455, 469, 470, 471, + 472, 473, 476, 477, 482, 483, 484, 485, 486, 494, + 495, 508, 578, 580, 595, 613, 619, 475, 299, 300, + 439, 440, 312, 313, 633, 634, 298, 590, 620, 588, + 632, 614, 433, 374, 0, 0, 377, 280, 303, 318, + 0, 605, 496, 226, 461, 289, 250, 0, 0, 210, + 245, 229, 258, 273, 276, 322, 387, 395, 424, 429, + 295, 270, 243, 454, 240, 479, 511, 512, 513, 515, + 391, 265, 428, 392, 0, 372, 568, 569, 314, 520, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 411, 0, 0, 0, 0, 0, 0, 0, 0, + 269, 0, 0, 0, 0, 362, 266, 0, 0, 425, + 0, 203, 0, 481, 251, 373, 370, 575, 281, 272, + 268, 249, 315, 381, 423, 510, 417, 0, 366, 0, + 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, + 323, 202, 408, 492, 285, 0, 95, 0, 0, 0, + 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 237, 0, 0, 244, 0, 0, 0, 347, 356, 355, + 336, 337, 339, 341, 346, 353, 359, 0, 0, 0, + 0, 0, 264, 319, 271, 263, 572, 0, 0, 0, + 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 296, 0, 397, 256, 0, 448, 0, 0, + 0, 616, 0, 0, 0, 0, 0, 0, 0, 361, + 0, 328, 197, 224, 0, 0, 407, 456, 468, 0, + 0, 0, 252, 0, 466, 421, 594, 232, 283, 453, + 427, 464, 435, 286, 0, 0, 465, 368, 577, 445, + 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, + 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, + 294, 201, 365, 623, 223, 474, 367, 241, 230, 579, + 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, + 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, + 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, + 581, 582, 255, 639, 227, 610, 219, 0, 609, 403, + 576, 587, 390, 379, 218, 585, 388, 378, 332, 351, + 352, 279, 305, 442, 371, 443, 304, 306, 399, 398, + 400, 206, 598, 0, 207, 0, 493, 599, 640, 447, + 211, 233, 234, 236, 0, 278, 282, 290, 293, 301, + 302, 311, 363, 414, 441, 437, 446, 0, 571, 592, + 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, + 629, 402, 309, 489, 331, 369, 0, 0, 420, 467, + 239, 596, 490, 199, 0, 0, 0, 0, 253, 254, + 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, + 500, 506, 501, 502, 503, 504, 505, 0, 507, 0, + 0, 0, 0, 0, 0, 583, 584, 659, 380, 480, + 593, 333, 345, 348, 338, 357, 0, 358, 334, 335, + 340, 342, 343, 344, 349, 350, 354, 360, 248, 209, + 386, 394, 570, 310, 215, 216, 217, 516, 517, 518, + 519, 607, 608, 612, 204, 457, 458, 459, 460, 291, + 602, 307, 463, 462, 329, 330, 375, 444, 532, 534, + 545, 549, 551, 553, 559, 562, 533, 535, 546, 550, + 552, 554, 560, 563, 522, 524, 526, 528, 541, 540, + 537, 565, 566, 543, 548, 527, 539, 544, 557, 564, + 561, 521, 525, 529, 538, 556, 555, 536, 547, 558, + 542, 530, 523, 531, 0, 196, 220, 364, 0, 449, + 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, + 0, 0, 0, 0, 2378, 0, 0, 2377, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, + 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, + 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, + 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, + 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, + 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, + 475, 299, 300, 439, 440, 312, 313, 633, 634, 298, + 590, 620, 588, 632, 614, 433, 374, 0, 0, 377, + 280, 303, 318, 0, 605, 496, 226, 461, 289, 250, + 0, 0, 210, 245, 229, 258, 273, 276, 322, 387, + 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, + 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, + 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 411, 0, 0, 0, 2326, 0, + 0, 0, 0, 269, 0, 0, 0, 0, 362, 266, + 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, + 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, + 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, + 0, 0, 1924, 194, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, + 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, + 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, + 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, + 448, 0, 0, 0, 616, 0, 0, 0, 0, 0, + 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, + 456, 468, 0, 0, 0, 252, 0, 466, 421, 594, + 232, 283, 453, 427, 464, 435, 286, 0, 2324, 465, + 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, + 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, + 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, + 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, + 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, + 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, + 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, + 0, 609, 403, 576, 587, 390, 379, 218, 585, 388, + 378, 332, 351, 352, 279, 305, 442, 371, 443, 304, + 306, 399, 398, 400, 206, 598, 0, 207, 0, 493, + 599, 640, 447, 211, 233, 234, 236, 0, 278, 282, + 290, 293, 301, 302, 311, 363, 414, 441, 437, 446, + 0, 571, 592, 604, 615, 621, 622, 624, 625, 626, + 627, 628, 631, 629, 402, 309, 489, 331, 369, 0, + 0, 420, 467, 239, 596, 490, 199, 0, 0, 0, + 0, 253, 254, 0, 567, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 636, 500, 506, 501, 502, 503, 504, 505, + 0, 507, 0, 0, 0, 0, 0, 0, 583, 584, + 659, 380, 480, 593, 333, 345, 348, 338, 357, 0, + 358, 334, 335, 340, 342, 343, 344, 349, 350, 354, + 360, 248, 209, 386, 394, 570, 310, 215, 216, 217, + 516, 517, 518, 519, 607, 608, 612, 204, 457, 458, + 459, 460, 291, 602, 307, 463, 462, 329, 330, 375, + 444, 532, 534, 545, 549, 551, 553, 559, 562, 533, + 535, 546, 550, 552, 554, 560, 563, 522, 524, 526, + 528, 541, 540, 537, 565, 566, 543, 548, 527, 539, + 544, 557, 564, 561, 521, 525, 529, 538, 556, 555, + 536, 547, 558, 542, 530, 523, 531, 0, 196, 220, + 364, 0, 449, 287, 637, 606, 601, 205, 222, 0, + 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 198, 200, 208, 221, 231, 235, 242, 260, + 275, 277, 284, 297, 308, 316, 317, 320, 326, 376, + 382, 383, 384, 385, 404, 405, 406, 409, 412, 413, + 416, 418, 419, 422, 426, 430, 431, 432, 434, 436, + 438, 450, 455, 469, 470, 471, 472, 473, 476, 477, + 482, 483, 484, 485, 486, 494, 495, 508, 578, 580, + 595, 613, 619, 475, 299, 300, 439, 440, 312, 313, + 633, 634, 298, 590, 620, 588, 632, 614, 433, 374, + 0, 0, 377, 280, 303, 318, 0, 605, 496, 226, + 461, 289, 250, 0, 0, 210, 245, 229, 258, 273, + 276, 322, 387, 395, 424, 429, 295, 270, 243, 454, + 240, 479, 511, 512, 513, 515, 391, 265, 428, 392, + 0, 372, 568, 569, 314, 520, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 411, 0, 0, + 0, 0, 0, 0, 0, 0, 269, 0, 0, 0, + 0, 362, 266, 0, 0, 425, 0, 203, 0, 481, + 251, 373, 370, 575, 281, 272, 268, 249, 315, 381, + 423, 510, 417, 0, 366, 0, 0, 491, 396, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 321, 247, 323, 202, 408, 492, + 285, 0, 0, 0, 0, 0, 709, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, + 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, + 346, 353, 359, 0, 0, 0, 0, 0, 264, 319, + 271, 263, 572, 0, 0, 0, 0, 0, 0, 0, + 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, + 0, 0, 0, 0, 0, 1073, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, + 397, 256, 0, 448, 0, 0, 0, 616, 0, 0, + 0, 0, 0, 0, 0, 361, 1079, 328, 197, 224, + 1077, 0, 407, 456, 468, 0, 0, 0, 252, 0, + 466, 421, 594, 232, 283, 453, 427, 464, 435, 286, + 0, 0, 465, 368, 577, 445, 591, 617, 618, 262, + 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, + 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, + 223, 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, @@ -4607,7 +4890,7 @@ var yyAct = [...]int{ 522, 524, 526, 528, 541, 540, 537, 565, 566, 543, 548, 527, 539, 544, 557, 564, 561, 521, 525, 529, 538, 556, 555, 536, 547, 558, 542, 530, 523, 531, - 0, 196, 220, 364, 94, 449, 287, 637, 606, 601, + 0, 196, 220, 364, 0, 449, 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 200, 208, 221, 231, @@ -4622,94 +4905,21 @@ var yyAct = [...]int{ 605, 496, 226, 461, 289, 250, 0, 0, 210, 245, 229, 258, 273, 276, 322, 387, 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, 512, 513, 515, 391, - 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 411, 0, 0, 0, 0, 0, 0, 0, 0, 269, - 0, 0, 0, 0, 362, 266, 0, 0, 425, 0, - 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, - 249, 315, 381, 423, 510, 417, 0, 366, 0, 0, - 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, - 202, 408, 492, 285, 0, 95, 0, 0, 0, 194, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, - 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, - 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, - 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 0, 397, 256, 0, 448, 0, 0, 0, - 616, 0, 0, 0, 0, 0, 0, 0, 361, 0, - 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, - 0, 252, 0, 466, 421, 594, 232, 283, 453, 427, - 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, - 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, - 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, - 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, - 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, - 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, - 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, - 255, 639, 227, 610, 219, 0, 609, 403, 576, 587, - 390, 379, 218, 585, 388, 378, 332, 351, 352, 279, - 305, 442, 371, 443, 304, 306, 399, 398, 400, 206, - 598, 0, 207, 0, 493, 599, 640, 447, 211, 233, - 234, 236, 0, 278, 282, 290, 293, 301, 302, 311, - 363, 414, 441, 437, 446, 0, 571, 592, 604, 615, - 621, 622, 624, 625, 626, 627, 628, 631, 629, 402, - 309, 489, 331, 369, 0, 0, 420, 467, 239, 596, - 490, 199, 0, 0, 0, 0, 253, 254, 0, 567, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, - 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, - 652, 653, 654, 655, 656, 657, 658, 636, 500, 506, - 501, 502, 503, 504, 505, 0, 507, 0, 0, 0, - 0, 0, 0, 583, 584, 659, 380, 480, 593, 333, - 345, 348, 338, 357, 0, 358, 334, 335, 340, 342, - 343, 344, 349, 350, 354, 360, 248, 209, 386, 394, - 570, 310, 215, 216, 217, 516, 517, 518, 519, 607, - 608, 612, 204, 457, 458, 459, 460, 291, 602, 307, - 463, 462, 329, 330, 375, 444, 532, 534, 545, 549, - 551, 553, 559, 562, 533, 535, 546, 550, 552, 554, - 560, 563, 522, 524, 526, 528, 541, 540, 537, 565, - 566, 543, 548, 527, 539, 544, 557, 564, 561, 521, - 525, 529, 538, 556, 555, 536, 547, 558, 542, 530, - 523, 531, 0, 196, 220, 364, 0, 449, 287, 637, - 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, - 0, 0, 2377, 0, 0, 2376, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 198, 200, 208, - 221, 231, 235, 242, 260, 275, 277, 284, 297, 308, - 316, 317, 320, 326, 376, 382, 383, 384, 385, 404, - 405, 406, 409, 412, 413, 416, 418, 419, 422, 426, - 430, 431, 432, 434, 436, 438, 450, 455, 469, 470, - 471, 472, 473, 476, 477, 482, 483, 484, 485, 486, - 494, 495, 508, 578, 580, 595, 613, 619, 475, 299, - 300, 439, 440, 312, 313, 633, 634, 298, 590, 620, - 588, 632, 614, 433, 374, 0, 0, 377, 280, 303, - 318, 0, 605, 496, 226, 461, 289, 250, 0, 0, - 210, 245, 229, 258, 273, 276, 322, 387, 395, 424, - 429, 295, 270, 243, 454, 240, 479, 511, 512, 513, - 515, 391, 265, 428, 392, 0, 372, 568, 569, 314, - 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 411, 0, 0, 0, 2325, 0, 0, 0, - 0, 269, 0, 0, 0, 0, 362, 266, 0, 0, - 425, 0, 203, 0, 481, 251, 373, 370, 575, 281, - 272, 268, 249, 315, 381, 423, 510, 417, 0, 366, - 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, - 247, 323, 202, 408, 492, 285, 0, 0, 0, 0, - 1924, 194, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, - 355, 336, 337, 339, 341, 346, 353, 359, 0, 0, - 0, 0, 0, 264, 319, 271, 263, 572, 0, 0, - 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, + 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, + 411, 0, 0, 0, 2326, 0, 0, 0, 0, 269, + 0, 0, 0, 0, 362, 266, 0, 0, 425, 0, + 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, + 249, 315, 381, 423, 510, 417, 0, 366, 0, 0, + 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, + 202, 408, 492, 285, 0, 0, 0, 0, 1924, 194, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, + 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, + 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, + 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, + 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4717,87 +4927,88 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 0, 397, 256, 0, 448, 0, - 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, - 361, 0, 328, 197, 224, 0, 0, 407, 456, 468, - 0, 0, 0, 252, 0, 466, 421, 594, 232, 283, - 453, 427, 464, 435, 286, 0, 2323, 465, 368, 577, - 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, - 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, - 487, 294, 201, 365, 623, 223, 474, 367, 241, 230, - 579, 600, 288, 451, 630, 212, 509, 589, 238, 478, - 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, - 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, - 581, 582, 255, 639, 227, 610, 219, 0, 609, 403, - 576, 587, 390, 379, 218, 585, 388, 378, 332, 351, - 352, 279, 305, 442, 371, 443, 304, 306, 399, 398, - 400, 206, 598, 0, 207, 0, 493, 599, 640, 447, - 211, 233, 234, 236, 0, 278, 282, 290, 293, 301, - 302, 311, 363, 414, 441, 437, 446, 0, 571, 592, - 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, - 629, 402, 309, 489, 331, 369, 0, 0, 420, 467, - 239, 596, 490, 199, 0, 0, 0, 0, 253, 254, - 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 641, 642, 643, 644, 645, 646, 647, 648, 649, - 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, - 500, 506, 501, 502, 503, 504, 505, 0, 507, 0, - 0, 0, 0, 0, 0, 583, 584, 659, 380, 480, - 593, 333, 345, 348, 338, 357, 0, 358, 334, 335, - 340, 342, 343, 344, 349, 350, 354, 360, 248, 209, - 386, 394, 570, 310, 215, 216, 217, 516, 517, 518, - 519, 607, 608, 612, 204, 457, 458, 459, 460, 291, - 602, 307, 463, 462, 329, 330, 375, 444, 532, 534, - 545, 549, 551, 553, 559, 562, 533, 535, 546, 550, - 552, 554, 560, 563, 522, 524, 526, 528, 541, 540, - 537, 565, 566, 543, 548, 527, 539, 544, 557, 564, - 561, 521, 525, 529, 538, 556, 555, 536, 547, 558, - 542, 530, 523, 531, 0, 196, 220, 364, 0, 449, - 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, - 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, - 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, - 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, - 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, - 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, - 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, - 475, 299, 300, 439, 440, 312, 313, 633, 634, 298, - 590, 620, 588, 632, 614, 433, 374, 0, 0, 377, - 280, 303, 318, 0, 605, 496, 226, 461, 289, 250, - 0, 0, 210, 245, 229, 258, 273, 276, 322, 387, - 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, - 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, - 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 411, 0, 0, 0, 0, 0, - 0, 0, 0, 269, 0, 0, 0, 0, 362, 266, - 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, - 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, - 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, + 0, 296, 0, 397, 256, 0, 448, 0, 0, 0, + 616, 0, 0, 0, 0, 0, 0, 0, 361, 0, + 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, + 0, 252, 0, 466, 421, 594, 232, 283, 453, 427, + 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, + 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, + 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, + 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, + 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, + 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, + 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, + 582, 255, 639, 227, 610, 219, 0, 609, 403, 576, + 587, 390, 379, 218, 585, 388, 378, 332, 351, 352, + 279, 305, 442, 371, 443, 304, 306, 399, 398, 400, + 206, 598, 0, 207, 0, 493, 599, 640, 447, 211, + 233, 234, 236, 0, 278, 282, 290, 293, 301, 302, + 311, 363, 414, 441, 437, 446, 0, 571, 592, 604, + 615, 621, 622, 624, 625, 626, 627, 628, 631, 629, + 402, 309, 489, 331, 369, 0, 0, 420, 467, 239, + 596, 490, 199, 0, 0, 0, 0, 253, 254, 0, + 567, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 636, 500, + 506, 501, 502, 503, 504, 505, 0, 507, 0, 0, + 0, 0, 0, 0, 583, 584, 659, 380, 480, 593, + 333, 345, 348, 338, 357, 0, 358, 334, 335, 340, + 342, 343, 344, 349, 350, 354, 360, 248, 209, 386, + 394, 570, 310, 215, 216, 217, 516, 517, 518, 519, + 607, 608, 612, 204, 457, 458, 459, 460, 291, 602, + 307, 463, 462, 329, 330, 375, 444, 532, 534, 545, + 549, 551, 553, 559, 562, 533, 535, 546, 550, 552, + 554, 560, 563, 522, 524, 526, 528, 541, 540, 537, + 565, 566, 543, 548, 527, 539, 544, 557, 564, 561, + 521, 525, 529, 538, 556, 555, 536, 547, 558, 542, + 530, 523, 531, 0, 196, 220, 364, 0, 449, 287, + 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, - 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, - 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, - 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, - 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 198, 200, + 208, 221, 231, 235, 242, 260, 275, 277, 284, 297, + 308, 316, 317, 320, 326, 376, 382, 383, 384, 385, + 404, 405, 406, 409, 412, 413, 416, 418, 419, 422, + 426, 430, 431, 432, 434, 436, 438, 450, 455, 469, + 470, 471, 472, 473, 476, 477, 482, 483, 484, 485, + 486, 494, 495, 508, 578, 580, 595, 613, 619, 475, + 299, 300, 439, 440, 312, 313, 633, 634, 298, 590, + 620, 588, 632, 614, 433, 374, 0, 0, 377, 280, + 303, 318, 0, 605, 496, 226, 461, 289, 250, 0, + 0, 210, 245, 229, 258, 273, 276, 322, 387, 395, + 424, 429, 295, 270, 243, 454, 240, 479, 511, 512, + 513, 515, 391, 265, 428, 392, 0, 372, 568, 569, + 314, 520, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 411, 0, 0, 0, 0, 0, 0, + 0, 0, 269, 0, 0, 0, 0, 362, 266, 0, + 0, 425, 0, 203, 0, 481, 251, 373, 370, 575, + 281, 272, 268, 249, 315, 381, 423, 510, 417, 0, + 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, - 0, 0, 1073, 0, 0, 0, 0, 0, 0, 0, + 321, 247, 323, 202, 408, 492, 285, 0, 0, 0, + 1718, 0, 709, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 237, 0, 0, 244, 0, 0, 0, 347, + 356, 355, 336, 337, 339, 341, 346, 353, 359, 0, + 0, 0, 0, 0, 264, 319, 271, 263, 572, 0, + 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, - 448, 0, 0, 0, 616, 0, 0, 0, 0, 0, - 0, 0, 361, 1079, 328, 197, 224, 1077, 0, 407, - 456, 468, 0, 0, 0, 252, 0, 466, 421, 594, - 232, 283, 453, 427, 464, 435, 286, 0, 0, 465, - 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, - 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, - 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, - 241, 230, 579, 600, 288, 451, 630, 212, 509, 589, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 296, 0, 397, 256, 0, 448, + 0, 0, 0, 616, 0, 0, 0, 3908, 0, 0, + 0, 361, 0, 328, 197, 224, 0, 0, 407, 456, + 468, 0, 0, 0, 252, 0, 466, 421, 594, 232, + 283, 453, 427, 464, 435, 286, 0, 0, 465, 368, + 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, + 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, + 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, + 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, 0, @@ -4841,179 +5052,107 @@ var yyAct = [...]int{ 479, 511, 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 0, 0, 0, - 2325, 0, 0, 0, 0, 269, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 269, 0, 0, 0, 0, 362, 266, 0, 0, 425, 0, 203, 0, 481, 251, - 373, 370, 575, 281, 272, 268, 249, 315, 381, 423, - 510, 417, 0, 366, 0, 0, 491, 396, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, - 0, 0, 0, 0, 1924, 194, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, - 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, - 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, - 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 0, 397, - 256, 0, 448, 0, 0, 0, 616, 0, 0, 0, - 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, - 0, 407, 456, 468, 0, 0, 0, 252, 0, 466, - 421, 594, 232, 283, 453, 427, 464, 435, 286, 0, - 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, - 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, - 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, - 474, 367, 241, 230, 579, 600, 288, 451, 630, 212, - 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, - 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, - 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, - 219, 0, 609, 403, 576, 587, 390, 379, 218, 585, - 388, 378, 332, 351, 352, 279, 305, 442, 371, 443, - 304, 306, 399, 398, 400, 206, 598, 0, 207, 0, - 493, 599, 640, 447, 211, 233, 234, 236, 0, 278, - 282, 290, 293, 301, 302, 311, 363, 414, 441, 437, - 446, 0, 571, 592, 604, 615, 621, 622, 624, 625, - 626, 627, 628, 631, 629, 402, 309, 489, 331, 369, - 0, 0, 420, 467, 239, 596, 490, 199, 0, 0, - 0, 0, 253, 254, 0, 567, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 641, 642, 643, 644, 645, - 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, - 656, 657, 658, 636, 500, 506, 501, 502, 503, 504, - 505, 0, 507, 0, 0, 0, 0, 0, 0, 583, - 584, 659, 380, 480, 593, 333, 345, 348, 338, 357, - 0, 358, 334, 335, 340, 342, 343, 344, 349, 350, - 354, 360, 248, 209, 386, 394, 570, 310, 215, 216, - 217, 516, 517, 518, 519, 607, 608, 612, 204, 457, - 458, 459, 460, 291, 602, 307, 463, 462, 329, 330, - 375, 444, 532, 534, 545, 549, 551, 553, 559, 562, - 533, 535, 546, 550, 552, 554, 560, 563, 522, 524, - 526, 528, 541, 540, 537, 565, 566, 543, 548, 527, - 539, 544, 557, 564, 561, 521, 525, 529, 538, 556, - 555, 536, 547, 558, 542, 530, 523, 531, 0, 196, - 220, 364, 0, 449, 287, 637, 606, 601, 205, 222, - 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 198, 200, 208, 221, 231, 235, 242, - 260, 275, 277, 284, 297, 308, 316, 317, 320, 326, - 376, 382, 383, 384, 385, 404, 405, 406, 409, 412, - 413, 416, 418, 419, 422, 426, 430, 431, 432, 434, - 436, 438, 450, 455, 469, 470, 471, 472, 473, 476, - 477, 482, 483, 484, 485, 486, 494, 495, 508, 578, - 580, 595, 613, 619, 475, 299, 300, 439, 440, 312, - 313, 633, 634, 298, 590, 620, 588, 632, 614, 433, - 374, 0, 0, 377, 280, 303, 318, 0, 605, 496, - 226, 461, 289, 250, 0, 0, 210, 245, 229, 258, - 273, 276, 322, 387, 395, 424, 429, 295, 270, 243, - 454, 240, 479, 511, 512, 513, 515, 391, 265, 428, - 392, 0, 372, 568, 569, 314, 520, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 411, 0, - 0, 0, 0, 0, 0, 0, 0, 269, 0, 0, - 0, 0, 362, 266, 0, 0, 425, 0, 203, 0, - 481, 251, 373, 370, 575, 281, 272, 268, 249, 315, - 381, 423, 510, 417, 0, 366, 0, 0, 491, 396, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 321, 247, 323, 202, 408, - 492, 285, 0, 0, 0, 1718, 0, 709, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, - 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, - 341, 346, 353, 359, 0, 0, 0, 0, 0, 264, - 319, 271, 263, 572, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 0, 397, 256, 0, 448, 0, 0, 0, 616, 0, - 0, 0, 3905, 0, 0, 0, 361, 0, 328, 197, - 224, 0, 0, 407, 456, 468, 0, 0, 0, 252, - 0, 466, 421, 594, 232, 283, 453, 427, 464, 435, - 286, 0, 0, 465, 368, 577, 445, 591, 617, 618, - 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, - 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, - 623, 223, 474, 367, 241, 230, 579, 600, 288, 451, - 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, - 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, - 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, - 227, 610, 219, 0, 609, 403, 576, 587, 390, 379, - 218, 585, 388, 378, 332, 351, 352, 279, 305, 442, - 371, 443, 304, 306, 399, 398, 400, 206, 598, 0, - 207, 0, 493, 599, 640, 447, 211, 233, 234, 236, - 0, 278, 282, 290, 293, 301, 302, 311, 363, 414, - 441, 437, 446, 0, 571, 592, 604, 615, 621, 622, - 624, 625, 626, 627, 628, 631, 629, 402, 309, 489, - 331, 369, 0, 0, 420, 467, 239, 596, 490, 199, - 0, 0, 0, 0, 253, 254, 0, 567, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 641, 642, 643, - 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, - 654, 655, 656, 657, 658, 636, 500, 506, 501, 502, - 503, 504, 505, 0, 507, 0, 0, 0, 0, 0, - 0, 583, 584, 659, 380, 480, 593, 333, 345, 348, - 338, 357, 0, 358, 334, 335, 340, 342, 343, 344, - 349, 350, 354, 360, 248, 209, 386, 394, 570, 310, - 215, 216, 217, 516, 517, 518, 519, 607, 608, 612, - 204, 457, 458, 459, 460, 291, 602, 307, 463, 462, - 329, 330, 375, 444, 532, 534, 545, 549, 551, 553, - 559, 562, 533, 535, 546, 550, 552, 554, 560, 563, - 522, 524, 526, 528, 541, 540, 537, 565, 566, 543, - 548, 527, 539, 544, 557, 564, 561, 521, 525, 529, - 538, 556, 555, 536, 547, 558, 542, 530, 523, 531, - 0, 196, 220, 364, 0, 449, 287, 637, 606, 601, - 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, + 373, 370, 575, 281, 272, 268, 249, 315, 381, 423, + 510, 417, 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 198, 200, 208, 221, 231, - 235, 242, 260, 275, 277, 284, 297, 308, 316, 317, - 320, 326, 376, 382, 383, 384, 385, 404, 405, 406, - 409, 412, 413, 416, 418, 419, 422, 426, 430, 431, - 432, 434, 436, 438, 450, 455, 469, 470, 471, 472, - 473, 476, 477, 482, 483, 484, 485, 486, 494, 495, - 508, 578, 580, 595, 613, 619, 475, 299, 300, 439, - 440, 312, 313, 633, 634, 298, 590, 620, 588, 632, - 614, 433, 374, 0, 0, 377, 280, 303, 318, 0, - 605, 496, 226, 461, 289, 250, 0, 0, 210, 245, - 229, 258, 273, 276, 322, 387, 395, 424, 429, 295, - 270, 243, 454, 240, 479, 511, 512, 513, 515, 391, - 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, + 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, + 0, 0, 0, 0, 2086, 709, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, + 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, + 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, + 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, + 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 411, 0, 0, 0, 0, 0, 0, 0, 0, 269, - 0, 0, 0, 0, 362, 266, 0, 0, 425, 0, - 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, - 249, 315, 381, 423, 510, 417, 0, 366, 0, 0, - 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, - 202, 408, 492, 285, 0, 0, 0, 0, 2085, 709, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, - 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, - 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, - 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2087, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 296, 0, 397, + 256, 0, 448, 0, 0, 0, 616, 0, 0, 0, + 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, + 0, 407, 456, 468, 0, 0, 0, 252, 0, 466, + 421, 594, 232, 283, 453, 427, 464, 435, 286, 0, + 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, + 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, + 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, + 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, + 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, + 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, + 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, + 610, 219, 0, 609, 403, 576, 587, 390, 379, 218, + 585, 388, 378, 332, 351, 352, 279, 305, 442, 371, + 443, 304, 306, 399, 398, 400, 206, 598, 0, 207, + 0, 493, 599, 640, 447, 211, 233, 234, 236, 0, + 278, 282, 290, 293, 301, 302, 311, 363, 414, 441, + 437, 446, 0, 571, 592, 604, 615, 621, 622, 624, + 625, 626, 627, 628, 631, 629, 402, 309, 489, 331, + 369, 0, 0, 420, 467, 239, 596, 490, 199, 0, + 0, 0, 0, 253, 254, 0, 567, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 636, 500, 506, 501, 502, 503, + 504, 505, 0, 507, 0, 0, 0, 0, 0, 0, + 583, 584, 659, 380, 480, 593, 333, 345, 348, 338, + 357, 0, 358, 334, 335, 340, 342, 343, 344, 349, + 350, 354, 360, 248, 209, 386, 394, 570, 310, 215, + 216, 217, 516, 517, 518, 519, 607, 608, 612, 204, + 457, 458, 459, 460, 291, 602, 307, 463, 462, 329, + 330, 375, 444, 532, 534, 545, 549, 551, 553, 559, + 562, 533, 535, 546, 550, 552, 554, 560, 563, 522, + 524, 526, 528, 541, 540, 537, 565, 566, 543, 548, + 527, 539, 544, 557, 564, 561, 521, 525, 529, 538, + 556, 555, 536, 547, 558, 542, 530, 523, 531, 0, + 196, 220, 364, 0, 449, 287, 637, 606, 601, 205, + 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 198, 200, 208, 221, 231, 235, + 242, 260, 275, 277, 284, 297, 308, 316, 317, 320, + 326, 376, 382, 383, 384, 385, 404, 405, 406, 409, + 412, 413, 416, 418, 419, 422, 426, 430, 431, 432, + 434, 436, 438, 450, 455, 469, 470, 471, 472, 473, + 476, 477, 482, 483, 484, 485, 486, 494, 495, 508, + 578, 580, 595, 613, 619, 475, 299, 300, 439, 440, + 312, 313, 633, 634, 298, 590, 620, 588, 632, 614, + 433, 374, 0, 0, 377, 280, 303, 318, 0, 605, + 496, 226, 461, 289, 250, 0, 0, 210, 245, 229, + 258, 273, 276, 322, 387, 395, 424, 429, 295, 270, + 243, 454, 240, 479, 511, 512, 513, 515, 391, 265, + 428, 392, 0, 372, 568, 569, 314, 520, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, + 0, 0, 0, 0, 0, 0, 0, 0, 269, 0, + 0, 0, 0, 362, 266, 0, 0, 425, 0, 203, + 0, 481, 251, 373, 370, 575, 281, 272, 268, 249, + 315, 381, 423, 510, 417, 0, 366, 0, 0, 491, + 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 321, 247, 323, 202, + 408, 492, 285, 0, 0, 0, 0, 2824, 709, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, + 0, 244, 0, 0, 0, 347, 356, 355, 336, 337, + 339, 341, 346, 353, 359, 0, 0, 0, 0, 0, + 264, 319, 271, 263, 572, 0, 0, 0, 0, 0, + 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 0, 397, 256, 0, 448, 0, 0, 0, - 616, 0, 0, 0, 0, 0, 0, 0, 361, 0, - 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, - 0, 252, 0, 466, 421, 594, 232, 283, 453, 427, - 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, - 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, - 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, - 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 296, 0, 397, 256, 0, 448, 0, 0, 0, 616, + 0, 0, 0, 0, 0, 0, 0, 361, 0, 328, + 197, 224, 0, 0, 407, 456, 468, 0, 0, 0, + 252, 0, 466, 421, 594, 232, 283, 453, 427, 464, + 435, 286, 0, 0, 465, 368, 577, 445, 591, 617, + 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, + 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, + 365, 623, 223, 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, @@ -5064,15 +5203,15 @@ var yyAct = [...]int{ 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, 0, 0, - 2821, 709, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, + 0, 709, 0, 0, 0, 0, 2809, 0, 0, 0, + 0, 237, 0, 0, 244, 2810, 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2822, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5086,135 +5225,63 @@ var yyAct = [...]int{ 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, 230, - 579, 600, 288, 451, 630, 212, 509, 589, 238, 478, - 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, - 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, - 581, 582, 255, 639, 227, 610, 219, 0, 609, 403, - 576, 587, 390, 379, 218, 585, 388, 378, 332, 351, - 352, 279, 305, 442, 371, 443, 304, 306, 399, 398, - 400, 206, 598, 0, 207, 0, 493, 599, 640, 447, - 211, 233, 234, 236, 0, 278, 282, 290, 293, 301, - 302, 311, 363, 414, 441, 437, 446, 0, 571, 592, - 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, - 629, 402, 309, 489, 331, 369, 0, 0, 420, 467, - 239, 596, 490, 199, 0, 0, 0, 0, 253, 254, - 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 641, 642, 643, 644, 645, 646, 647, 648, 649, - 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, - 500, 506, 501, 502, 503, 504, 505, 0, 507, 0, - 0, 0, 0, 0, 0, 583, 584, 659, 380, 480, - 593, 333, 345, 348, 338, 357, 0, 358, 334, 335, - 340, 342, 343, 344, 349, 350, 354, 360, 248, 209, - 386, 394, 570, 310, 215, 216, 217, 516, 517, 518, - 519, 607, 608, 612, 204, 457, 458, 459, 460, 291, - 602, 307, 463, 462, 329, 330, 375, 444, 532, 534, - 545, 549, 551, 553, 559, 562, 533, 535, 546, 550, - 552, 554, 560, 563, 522, 524, 526, 528, 541, 540, - 537, 565, 566, 543, 548, 527, 539, 544, 557, 564, - 561, 521, 525, 529, 538, 556, 555, 536, 547, 558, - 542, 530, 523, 531, 0, 196, 220, 364, 0, 449, - 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, - 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, - 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, - 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, - 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, - 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, - 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, - 475, 299, 300, 439, 440, 312, 313, 633, 634, 298, - 590, 620, 588, 632, 614, 433, 374, 0, 0, 377, - 280, 303, 318, 0, 605, 496, 226, 461, 289, 250, - 0, 0, 210, 245, 229, 258, 273, 276, 322, 387, - 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, - 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, - 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 411, 0, 0, 0, 0, 0, - 0, 0, 0, 269, 0, 0, 0, 0, 362, 266, - 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, - 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, - 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, - 0, 0, 0, 709, 0, 0, 0, 0, 2806, 0, - 0, 0, 0, 237, 0, 0, 244, 2807, 0, 0, - 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, - 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, - 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, + 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, + 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, + 410, 581, 582, 255, 639, 227, 610, 219, 0, 609, + 403, 576, 587, 390, 379, 218, 585, 388, 378, 332, + 351, 352, 279, 305, 442, 371, 443, 304, 306, 399, + 398, 400, 206, 598, 0, 207, 0, 493, 599, 640, + 447, 211, 233, 234, 236, 0, 278, 282, 290, 293, + 301, 302, 311, 363, 414, 441, 437, 446, 0, 571, + 592, 604, 615, 621, 622, 624, 625, 626, 627, 628, + 631, 629, 402, 309, 489, 331, 369, 0, 0, 420, + 467, 239, 596, 490, 199, 0, 0, 0, 0, 253, + 254, 0, 567, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 641, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 636, 500, 506, 501, 502, 503, 504, 505, 0, 507, + 0, 0, 0, 0, 0, 0, 583, 584, 659, 380, + 480, 593, 333, 345, 348, 338, 357, 0, 358, 334, + 335, 340, 342, 343, 344, 349, 350, 354, 360, 248, + 209, 386, 394, 570, 310, 215, 216, 217, 516, 517, + 518, 519, 607, 608, 612, 204, 457, 458, 459, 460, + 291, 602, 307, 463, 462, 329, 330, 375, 444, 532, + 534, 545, 549, 551, 553, 559, 562, 533, 535, 546, + 550, 552, 554, 560, 563, 522, 524, 526, 528, 541, + 540, 537, 565, 566, 543, 548, 527, 539, 544, 557, + 564, 561, 521, 525, 529, 538, 556, 555, 536, 547, + 558, 542, 530, 523, 531, 0, 196, 220, 364, 0, + 449, 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, - 448, 0, 0, 0, 616, 0, 0, 0, 0, 0, - 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, - 456, 468, 0, 0, 0, 252, 0, 466, 421, 594, - 232, 283, 453, 427, 464, 435, 286, 0, 0, 465, - 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, - 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, - 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, - 241, 230, 579, 600, 288, 451, 630, 212, 509, 589, - 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, - 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, - 257, 410, 581, 582, 255, 639, 227, 610, 219, 0, - 609, 403, 576, 587, 390, 379, 218, 585, 388, 378, - 332, 351, 352, 279, 305, 442, 371, 443, 304, 306, - 399, 398, 400, 206, 598, 0, 207, 0, 493, 599, - 640, 447, 211, 233, 234, 236, 0, 278, 282, 290, - 293, 301, 302, 311, 363, 414, 441, 437, 446, 0, - 571, 592, 604, 615, 621, 622, 624, 625, 626, 627, - 628, 631, 629, 402, 309, 489, 331, 369, 0, 0, - 420, 467, 239, 596, 490, 199, 0, 0, 0, 0, - 253, 254, 0, 567, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 641, 642, 643, 644, 645, 646, 647, - 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, - 658, 636, 500, 506, 501, 502, 503, 504, 505, 0, - 507, 0, 0, 0, 0, 0, 0, 583, 584, 659, - 380, 480, 593, 333, 345, 348, 338, 357, 0, 358, - 334, 335, 340, 342, 343, 344, 349, 350, 354, 360, - 248, 209, 386, 394, 570, 310, 215, 216, 217, 516, - 517, 518, 519, 607, 608, 612, 204, 457, 458, 459, - 460, 291, 602, 307, 463, 462, 329, 330, 375, 444, - 532, 534, 545, 549, 551, 553, 559, 562, 533, 535, - 546, 550, 552, 554, 560, 563, 522, 524, 526, 528, - 541, 540, 537, 565, 566, 543, 548, 527, 539, 544, - 557, 564, 561, 521, 525, 529, 538, 556, 555, 536, - 547, 558, 542, 530, 523, 531, 0, 196, 220, 364, - 0, 449, 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 198, 200, 208, 221, 231, 235, 242, 260, 275, 277, + 284, 297, 308, 316, 317, 320, 326, 376, 382, 383, + 384, 385, 404, 405, 406, 409, 412, 413, 416, 418, + 419, 422, 426, 430, 431, 432, 434, 436, 438, 450, + 455, 469, 470, 471, 472, 473, 476, 477, 482, 483, + 484, 485, 486, 494, 495, 508, 578, 580, 595, 613, + 619, 475, 299, 300, 439, 440, 312, 313, 633, 634, + 298, 590, 620, 588, 632, 614, 433, 374, 0, 0, + 377, 280, 303, 318, 0, 605, 496, 226, 461, 289, + 250, 0, 0, 210, 245, 229, 258, 273, 276, 322, + 387, 395, 424, 429, 295, 270, 243, 454, 240, 479, + 511, 512, 513, 515, 391, 265, 428, 392, 0, 372, + 568, 569, 314, 520, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 411, 0, 0, 0, 0, + 0, 0, 0, 0, 269, 1764, 0, 0, 0, 362, + 266, 0, 0, 425, 0, 203, 0, 481, 251, 373, + 370, 575, 281, 272, 268, 249, 315, 381, 423, 510, + 417, 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 198, 200, 208, 221, 231, 235, 242, 260, 275, - 277, 284, 297, 308, 316, 317, 320, 326, 376, 382, - 383, 384, 385, 404, 405, 406, 409, 412, 413, 416, - 418, 419, 422, 426, 430, 431, 432, 434, 436, 438, - 450, 455, 469, 470, 471, 472, 473, 476, 477, 482, - 483, 484, 485, 486, 494, 495, 508, 578, 580, 595, - 613, 619, 475, 299, 300, 439, 440, 312, 313, 633, - 634, 298, 590, 620, 588, 632, 614, 433, 374, 0, - 0, 377, 280, 303, 318, 0, 605, 496, 226, 461, - 289, 250, 0, 0, 210, 245, 229, 258, 273, 276, - 322, 387, 395, 424, 429, 295, 270, 243, 454, 240, - 479, 511, 512, 513, 515, 391, 265, 428, 392, 0, - 372, 568, 569, 314, 520, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 411, 0, 0, 0, - 0, 0, 0, 0, 0, 269, 1764, 0, 0, 0, - 362, 266, 0, 0, 425, 0, 203, 0, 481, 251, - 373, 370, 575, 281, 272, 268, 249, 315, 381, 423, - 510, 417, 0, 366, 0, 0, 491, 396, 0, 0, + 0, 0, 321, 247, 323, 202, 408, 492, 285, 0, + 0, 0, 0, 1763, 709, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, + 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, + 359, 0, 0, 0, 0, 0, 264, 319, 271, 263, + 572, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, - 0, 0, 0, 0, 1763, 709, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, - 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, - 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, - 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, + 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5222,15 +5289,15 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 0, 397, - 256, 0, 448, 0, 0, 0, 616, 0, 0, 0, - 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, - 0, 407, 456, 468, 0, 0, 0, 252, 0, 466, - 421, 594, 232, 283, 453, 427, 464, 435, 286, 0, - 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, - 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, - 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, - 474, 367, 241, 230, 579, 600, 288, 451, 630, 212, + 0, 0, 0, 0, 0, 0, 296, 0, 397, 256, + 0, 448, 0, 0, 0, 616, 0, 0, 0, 0, + 0, 0, 0, 361, 0, 328, 197, 224, 0, 0, + 407, 456, 468, 0, 0, 0, 252, 0, 466, 421, + 594, 232, 283, 453, 427, 464, 435, 286, 0, 0, + 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, + 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, + 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, + 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, @@ -5302,7 +5369,224 @@ var yyAct = [...]int{ 286, 0, 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, - 623, 223, 474, 367, 241, 230, 579, 600, 288, 451, + 623, 223, 474, 367, 241, 230, 579, 600, 0, 288, + 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, + 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, + 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, + 639, 227, 610, 219, 0, 609, 403, 576, 587, 390, + 379, 218, 585, 388, 378, 332, 351, 352, 279, 305, + 442, 371, 443, 304, 306, 399, 398, 400, 206, 598, + 0, 207, 0, 493, 599, 640, 447, 211, 233, 234, + 236, 0, 278, 282, 290, 293, 301, 302, 311, 363, + 414, 441, 437, 446, 0, 571, 592, 604, 615, 621, + 622, 624, 625, 626, 627, 628, 631, 629, 402, 309, + 489, 331, 369, 0, 0, 420, 467, 239, 596, 490, + 199, 0, 0, 0, 0, 253, 254, 0, 567, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 636, 500, 506, 501, + 502, 503, 504, 505, 0, 507, 0, 0, 0, 0, + 0, 0, 583, 584, 659, 380, 480, 593, 333, 345, + 348, 338, 357, 0, 358, 334, 335, 340, 342, 343, + 344, 349, 350, 354, 360, 248, 209, 386, 394, 570, + 310, 215, 216, 217, 516, 517, 518, 519, 607, 608, + 612, 204, 457, 458, 459, 460, 291, 602, 307, 463, + 462, 329, 330, 375, 444, 532, 534, 545, 549, 551, + 553, 559, 562, 533, 535, 546, 550, 552, 554, 560, + 563, 522, 524, 526, 528, 541, 540, 537, 565, 566, + 543, 548, 527, 539, 544, 557, 564, 561, 521, 525, + 529, 538, 556, 555, 536, 547, 558, 542, 530, 523, + 531, 0, 196, 220, 364, 0, 449, 287, 637, 606, + 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 198, 200, 208, 221, + 231, 235, 242, 260, 275, 277, 284, 297, 308, 316, + 317, 320, 326, 376, 382, 383, 384, 385, 404, 405, + 406, 409, 412, 413, 416, 418, 419, 422, 426, 430, + 431, 432, 434, 436, 438, 450, 455, 469, 470, 471, + 472, 473, 476, 477, 482, 483, 484, 485, 486, 494, + 495, 508, 578, 580, 595, 613, 619, 475, 299, 300, + 439, 440, 312, 313, 633, 634, 298, 590, 620, 588, + 632, 614, 433, 374, 0, 0, 377, 280, 303, 318, + 0, 605, 496, 226, 461, 289, 250, 0, 0, 210, + 245, 229, 258, 273, 276, 322, 387, 395, 424, 429, + 295, 270, 243, 454, 240, 479, 511, 512, 513, 515, + 391, 265, 428, 392, 0, 372, 568, 569, 314, 520, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 411, 0, 0, 0, 0, 0, 0, 0, 0, + 269, 0, 0, 0, 0, 362, 266, 0, 0, 425, + 0, 203, 0, 481, 251, 373, 370, 575, 281, 272, + 268, 249, 315, 381, 423, 510, 417, 0, 366, 0, + 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, + 323, 202, 408, 492, 285, 0, 0, 0, 0, 0, + 709, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 237, 0, 0, 244, 0, 0, 0, 347, 356, 355, + 336, 337, 339, 341, 346, 353, 359, 0, 0, 0, + 0, 0, 264, 319, 271, 263, 572, 0, 0, 0, + 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 296, 0, 397, 256, 0, 448, 0, 0, + 0, 616, 0, 0, 0, 4031, 0, 0, 0, 361, + 0, 328, 197, 224, 0, 0, 407, 456, 468, 0, + 0, 0, 252, 0, 466, 421, 594, 232, 283, 453, + 427, 464, 435, 286, 0, 0, 465, 368, 577, 445, + 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, + 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, + 294, 201, 365, 623, 223, 474, 367, 241, 230, 579, + 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, + 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, + 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, + 581, 582, 255, 639, 227, 610, 219, 0, 609, 403, + 576, 587, 390, 379, 218, 585, 388, 378, 332, 351, + 352, 279, 305, 442, 371, 443, 304, 306, 399, 398, + 400, 206, 598, 0, 207, 0, 493, 599, 640, 447, + 211, 233, 234, 236, 0, 278, 282, 290, 293, 301, + 302, 311, 363, 414, 441, 437, 446, 0, 571, 592, + 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, + 629, 402, 309, 489, 331, 369, 0, 0, 420, 467, + 239, 596, 490, 199, 0, 0, 0, 0, 253, 254, + 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, + 500, 506, 501, 502, 503, 504, 505, 0, 507, 0, + 0, 0, 0, 0, 0, 583, 584, 659, 380, 480, + 593, 333, 345, 348, 338, 357, 0, 358, 334, 335, + 340, 342, 343, 344, 349, 350, 354, 360, 248, 209, + 386, 394, 570, 310, 215, 216, 217, 516, 517, 518, + 519, 607, 608, 612, 204, 457, 458, 459, 460, 291, + 602, 307, 463, 462, 329, 330, 375, 444, 532, 534, + 545, 549, 551, 553, 559, 562, 533, 535, 546, 550, + 552, 554, 560, 563, 522, 524, 526, 528, 541, 540, + 537, 565, 566, 543, 548, 527, 539, 544, 557, 564, + 561, 521, 525, 529, 538, 556, 555, 536, 547, 558, + 542, 530, 523, 531, 0, 196, 220, 364, 0, 449, + 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, + 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, + 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, + 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, + 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, + 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, + 475, 299, 300, 439, 440, 312, 313, 633, 634, 298, + 590, 620, 588, 632, 614, 433, 374, 0, 0, 377, + 280, 303, 318, 0, 605, 496, 226, 461, 289, 250, + 0, 0, 210, 245, 229, 258, 273, 276, 322, 387, + 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, + 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, + 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 411, 0, 0, 0, 0, 0, + 0, 0, 0, 269, 0, 0, 0, 0, 362, 266, + 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, + 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, + 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, + 0, 0, 1924, 194, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, + 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, + 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, + 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, + 448, 0, 0, 0, 616, 0, 0, 0, 0, 0, + 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, + 456, 468, 0, 0, 0, 252, 0, 466, 421, 594, + 232, 283, 453, 427, 464, 435, 286, 0, 0, 465, + 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, + 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, + 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, + 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, + 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, + 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, + 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, + 0, 609, 403, 576, 587, 390, 379, 218, 585, 388, + 378, 332, 351, 352, 279, 305, 442, 371, 443, 304, + 306, 399, 398, 400, 206, 598, 0, 207, 0, 493, + 599, 640, 447, 211, 233, 234, 236, 0, 278, 282, + 290, 293, 301, 302, 311, 363, 414, 441, 437, 446, + 0, 571, 592, 604, 615, 621, 622, 624, 625, 626, + 627, 628, 631, 629, 402, 309, 489, 331, 369, 0, + 0, 420, 467, 239, 596, 490, 199, 0, 0, 0, + 0, 253, 254, 0, 567, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 636, 500, 506, 501, 502, 503, 504, 505, + 0, 507, 0, 0, 0, 0, 0, 0, 583, 584, + 659, 380, 480, 593, 333, 345, 348, 338, 357, 0, + 358, 334, 335, 340, 342, 343, 344, 349, 350, 354, + 360, 248, 209, 386, 394, 570, 310, 215, 216, 217, + 516, 517, 518, 519, 607, 608, 612, 204, 457, 458, + 459, 460, 291, 602, 307, 463, 462, 329, 330, 375, + 444, 532, 534, 545, 549, 551, 553, 559, 562, 533, + 535, 546, 550, 552, 554, 560, 563, 522, 524, 526, + 528, 541, 540, 537, 565, 566, 543, 548, 527, 539, + 544, 557, 564, 561, 521, 525, 529, 538, 556, 555, + 536, 547, 558, 542, 530, 523, 531, 0, 196, 220, + 364, 0, 449, 287, 637, 606, 601, 205, 222, 0, + 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 198, 200, 208, 221, 231, 235, 242, 260, + 275, 277, 284, 297, 308, 316, 317, 320, 326, 376, + 382, 383, 384, 385, 404, 405, 406, 409, 412, 413, + 416, 418, 419, 422, 426, 430, 431, 432, 434, 436, + 438, 450, 455, 469, 470, 471, 472, 473, 476, 477, + 482, 483, 484, 485, 486, 494, 495, 508, 578, 580, + 595, 613, 619, 475, 299, 300, 439, 440, 312, 313, + 633, 634, 298, 590, 620, 588, 632, 614, 433, 374, + 0, 0, 377, 280, 303, 318, 0, 605, 496, 226, + 461, 289, 250, 0, 0, 210, 245, 229, 258, 273, + 276, 322, 387, 395, 424, 429, 295, 270, 243, 454, + 240, 479, 511, 512, 513, 515, 391, 265, 428, 392, + 0, 372, 568, 569, 314, 520, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 411, 0, 0, + 0, 0, 0, 0, 0, 0, 269, 0, 0, 0, + 0, 362, 266, 0, 0, 425, 0, 203, 0, 481, + 251, 373, 370, 575, 281, 272, 268, 249, 315, 381, + 423, 510, 417, 0, 366, 0, 0, 491, 396, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 321, 247, 323, 202, 408, 492, + 285, 0, 0, 0, 0, 0, 709, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, + 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, + 346, 353, 359, 0, 0, 0, 0, 0, 264, 319, + 271, 263, 572, 0, 0, 0, 0, 0, 0, 0, + 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, + 397, 256, 0, 448, 0, 0, 0, 616, 0, 0, + 0, 3908, 0, 0, 0, 361, 0, 328, 197, 224, + 0, 0, 407, 456, 468, 0, 0, 0, 252, 0, + 466, 421, 594, 232, 283, 453, 427, 464, 435, 286, + 0, 0, 465, 368, 577, 445, 591, 617, 618, 262, + 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, + 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, + 223, 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, @@ -5352,86 +5636,14 @@ var yyAct = [...]int{ 249, 315, 381, 423, 510, 417, 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, - 202, 408, 492, 285, 0, 0, 0, 0, 0, 709, + 202, 408, 492, 285, 0, 95, 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, - 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 0, 397, 256, 0, 448, 0, 0, 0, - 616, 0, 0, 0, 4028, 0, 0, 0, 361, 0, - 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, - 0, 252, 0, 466, 421, 594, 232, 283, 453, 427, - 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, - 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, - 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, - 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, - 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, - 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, - 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, - 255, 639, 227, 610, 219, 0, 609, 403, 576, 587, - 390, 379, 218, 585, 388, 378, 332, 351, 352, 279, - 305, 442, 371, 443, 304, 306, 399, 398, 400, 206, - 598, 0, 207, 0, 493, 599, 640, 447, 211, 233, - 234, 236, 0, 278, 282, 290, 293, 301, 302, 311, - 363, 414, 441, 437, 446, 0, 571, 592, 604, 615, - 621, 622, 624, 625, 626, 627, 628, 631, 629, 402, - 309, 489, 331, 369, 0, 0, 420, 467, 239, 596, - 490, 199, 0, 0, 0, 0, 253, 254, 0, 567, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, - 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, - 652, 653, 654, 655, 656, 657, 658, 636, 500, 506, - 501, 502, 503, 504, 505, 0, 507, 0, 0, 0, - 0, 0, 0, 583, 584, 659, 380, 480, 593, 333, - 345, 348, 338, 357, 0, 358, 334, 335, 340, 342, - 343, 344, 349, 350, 354, 360, 248, 209, 386, 394, - 570, 310, 215, 216, 217, 516, 517, 518, 519, 607, - 608, 612, 204, 457, 458, 459, 460, 291, 602, 307, - 463, 462, 329, 330, 375, 444, 532, 534, 545, 549, - 551, 553, 559, 562, 533, 535, 546, 550, 552, 554, - 560, 563, 522, 524, 526, 528, 541, 540, 537, 565, - 566, 543, 548, 527, 539, 544, 557, 564, 561, 521, - 525, 529, 538, 556, 555, 536, 547, 558, 542, 530, - 523, 531, 0, 196, 220, 364, 0, 449, 287, 637, - 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 198, 200, 208, - 221, 231, 235, 242, 260, 275, 277, 284, 297, 308, - 316, 317, 320, 326, 376, 382, 383, 384, 385, 404, - 405, 406, 409, 412, 413, 416, 418, 419, 422, 426, - 430, 431, 432, 434, 436, 438, 450, 455, 469, 470, - 471, 472, 473, 476, 477, 482, 483, 484, 485, 486, - 494, 495, 508, 578, 580, 595, 613, 619, 475, 299, - 300, 439, 440, 312, 313, 633, 634, 298, 590, 620, - 588, 632, 614, 433, 374, 0, 0, 377, 280, 303, - 318, 0, 605, 496, 226, 461, 289, 250, 0, 0, - 210, 245, 229, 258, 273, 276, 322, 387, 395, 424, - 429, 295, 270, 243, 454, 240, 479, 511, 512, 513, - 515, 391, 265, 428, 392, 0, 372, 568, 569, 314, - 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 411, 0, 0, 0, 0, 0, 0, 0, - 0, 269, 0, 0, 0, 0, 362, 266, 0, 0, - 425, 0, 203, 0, 481, 251, 373, 370, 575, 281, - 272, 268, 249, 315, 381, 423, 510, 417, 0, 366, - 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, - 247, 323, 202, 408, 492, 285, 0, 0, 0, 0, - 1924, 194, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, - 355, 336, 337, 339, 341, 346, 353, 359, 0, 0, - 0, 0, 0, 264, 319, 271, 263, 572, 0, 0, - 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, + 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, + 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5439,71 +5651,71 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 0, 397, 256, 0, 448, 0, - 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, - 361, 0, 328, 197, 224, 0, 0, 407, 456, 468, - 0, 0, 0, 252, 0, 466, 421, 594, 232, 283, - 453, 427, 464, 435, 286, 0, 0, 465, 368, 577, - 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, - 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, - 487, 294, 201, 365, 623, 223, 474, 367, 241, 230, - 579, 600, 288, 451, 630, 212, 509, 589, 238, 478, - 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, - 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, - 581, 582, 255, 639, 227, 610, 219, 0, 609, 403, - 576, 587, 390, 379, 218, 585, 388, 378, 332, 351, - 352, 279, 305, 442, 371, 443, 304, 306, 399, 398, - 400, 206, 598, 0, 207, 0, 493, 599, 640, 447, - 211, 233, 234, 236, 0, 278, 282, 290, 293, 301, - 302, 311, 363, 414, 441, 437, 446, 0, 571, 592, - 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, - 629, 402, 309, 489, 331, 369, 0, 0, 420, 467, - 239, 596, 490, 199, 0, 0, 0, 0, 253, 254, - 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 641, 642, 643, 644, 645, 646, 647, 648, 649, - 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, - 500, 506, 501, 502, 503, 504, 505, 0, 507, 0, - 0, 0, 0, 0, 0, 583, 584, 659, 380, 480, - 593, 333, 345, 348, 338, 357, 0, 358, 334, 335, - 340, 342, 343, 344, 349, 350, 354, 360, 248, 209, - 386, 394, 570, 310, 215, 216, 217, 516, 517, 518, - 519, 607, 608, 612, 204, 457, 458, 459, 460, 291, - 602, 307, 463, 462, 329, 330, 375, 444, 532, 534, - 545, 549, 551, 553, 559, 562, 533, 535, 546, 550, - 552, 554, 560, 563, 522, 524, 526, 528, 541, 540, - 537, 565, 566, 543, 548, 527, 539, 544, 557, 564, - 561, 521, 525, 529, 538, 556, 555, 536, 547, 558, - 542, 530, 523, 531, 0, 196, 220, 364, 0, 449, - 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, + 0, 296, 0, 397, 256, 0, 448, 0, 0, 0, + 616, 0, 0, 0, 0, 0, 0, 0, 361, 0, + 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, + 0, 252, 0, 466, 421, 594, 232, 283, 453, 427, + 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, + 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, + 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, + 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, + 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, + 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, + 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, + 582, 255, 639, 227, 610, 219, 0, 609, 403, 576, + 587, 390, 379, 218, 585, 388, 378, 332, 351, 352, + 279, 305, 442, 371, 443, 304, 306, 399, 398, 400, + 206, 598, 0, 207, 0, 493, 599, 640, 447, 211, + 233, 234, 236, 0, 278, 282, 290, 293, 301, 302, + 311, 363, 414, 441, 437, 446, 0, 571, 592, 604, + 615, 621, 622, 624, 625, 626, 627, 628, 631, 629, + 402, 309, 489, 331, 369, 0, 0, 420, 467, 239, + 596, 490, 199, 0, 0, 0, 0, 253, 254, 0, + 567, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 636, 500, + 506, 501, 502, 503, 504, 505, 0, 507, 0, 0, + 0, 0, 0, 0, 583, 584, 659, 380, 480, 593, + 333, 345, 348, 338, 357, 0, 358, 334, 335, 340, + 342, 343, 344, 349, 350, 354, 360, 248, 209, 386, + 394, 570, 310, 215, 216, 217, 516, 517, 518, 519, + 607, 608, 612, 204, 457, 458, 459, 460, 291, 602, + 307, 463, 462, 329, 330, 375, 444, 532, 534, 545, + 549, 551, 553, 559, 562, 533, 535, 546, 550, 552, + 554, 560, 563, 522, 524, 526, 528, 541, 540, 537, + 565, 566, 543, 548, 527, 539, 544, 557, 564, 561, + 521, 525, 529, 538, 556, 555, 536, 547, 558, 542, + 530, 523, 531, 0, 196, 220, 364, 0, 449, 287, + 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, - 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, - 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, - 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, - 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, - 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, - 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, - 475, 299, 300, 439, 440, 312, 313, 633, 634, 298, - 590, 620, 588, 632, 614, 433, 374, 0, 0, 377, - 280, 303, 318, 0, 605, 496, 226, 461, 289, 250, - 0, 0, 210, 245, 229, 258, 273, 276, 322, 387, - 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, - 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, - 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 411, 0, 0, 0, 0, 0, - 0, 0, 0, 269, 0, 0, 0, 0, 362, 266, - 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, - 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, - 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 198, 200, + 208, 221, 231, 235, 242, 260, 275, 277, 284, 297, + 308, 316, 317, 320, 326, 376, 382, 383, 384, 385, + 404, 405, 406, 409, 412, 413, 416, 418, 419, 422, + 426, 430, 431, 432, 434, 436, 438, 450, 455, 469, + 470, 471, 472, 473, 476, 477, 482, 483, 484, 485, + 486, 494, 495, 508, 578, 580, 595, 613, 619, 475, + 299, 300, 439, 440, 312, 313, 633, 634, 298, 590, + 620, 588, 632, 614, 433, 374, 0, 0, 377, 280, + 303, 318, 0, 605, 496, 226, 461, 289, 250, 0, + 0, 210, 245, 229, 258, 273, 276, 322, 387, 395, + 424, 429, 295, 270, 243, 454, 240, 479, 511, 512, + 513, 515, 391, 265, 428, 392, 0, 372, 568, 569, + 314, 520, 0, 0, 0, 0, 2379, 0, 0, 0, + 0, 0, 0, 411, 0, 0, 0, 0, 0, 0, + 0, 0, 269, 0, 0, 0, 0, 362, 266, 0, + 0, 425, 0, 203, 0, 481, 251, 373, 370, 575, + 281, 272, 268, 249, 315, 381, 423, 510, 417, 0, + 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, - 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, - 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, - 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, - 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, + 321, 247, 323, 202, 408, 492, 285, 0, 0, 0, + 0, 0, 194, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 237, 0, 0, 244, 0, 0, 0, 347, + 356, 355, 336, 337, 339, 341, 346, 353, 359, 0, + 0, 0, 0, 0, 264, 319, 271, 263, 572, 0, + 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, + 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5511,15 +5723,15 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, - 448, 0, 0, 0, 616, 0, 0, 0, 3905, 0, - 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, - 456, 468, 0, 0, 0, 252, 0, 466, 421, 594, - 232, 283, 453, 427, 464, 435, 286, 0, 0, 465, - 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, - 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, - 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, - 241, 230, 579, 600, 288, 451, 630, 212, 509, 589, + 0, 0, 0, 0, 296, 0, 397, 256, 0, 448, + 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, + 0, 361, 0, 328, 197, 224, 0, 0, 407, 456, + 468, 0, 0, 0, 252, 0, 466, 421, 594, 232, + 283, 453, 427, 464, 435, 286, 0, 0, 465, 368, + 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, + 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, + 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, + 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, 0, @@ -5569,173 +5781,101 @@ var yyAct = [...]int{ 510, 417, 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, - 0, 95, 0, 0, 0, 709, 0, 0, 0, 0, + 0, 0, 0, 0, 1745, 709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, - 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, - 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 0, 397, - 256, 0, 448, 0, 0, 0, 616, 0, 0, 0, - 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, - 0, 407, 456, 468, 0, 0, 0, 252, 0, 466, - 421, 594, 232, 283, 453, 427, 464, 435, 286, 0, - 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, - 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, - 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, - 474, 367, 241, 230, 579, 600, 288, 451, 630, 212, - 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, - 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, - 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, - 219, 0, 609, 403, 576, 587, 390, 379, 218, 585, - 388, 378, 332, 351, 352, 279, 305, 442, 371, 443, - 304, 306, 399, 398, 400, 206, 598, 0, 207, 0, - 493, 599, 640, 447, 211, 233, 234, 236, 0, 278, - 282, 290, 293, 301, 302, 311, 363, 414, 441, 437, - 446, 0, 571, 592, 604, 615, 621, 622, 624, 625, - 626, 627, 628, 631, 629, 402, 309, 489, 331, 369, - 0, 0, 420, 467, 239, 596, 490, 199, 0, 0, - 0, 0, 253, 254, 0, 567, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 641, 642, 643, 644, 645, - 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, - 656, 657, 658, 636, 500, 506, 501, 502, 503, 504, - 505, 0, 507, 0, 0, 0, 0, 0, 0, 583, - 584, 659, 380, 480, 593, 333, 345, 348, 338, 357, - 0, 358, 334, 335, 340, 342, 343, 344, 349, 350, - 354, 360, 248, 209, 386, 394, 570, 310, 215, 216, - 217, 516, 517, 518, 519, 607, 608, 612, 204, 457, - 458, 459, 460, 291, 602, 307, 463, 462, 329, 330, - 375, 444, 532, 534, 545, 549, 551, 553, 559, 562, - 533, 535, 546, 550, 552, 554, 560, 563, 522, 524, - 526, 528, 541, 540, 537, 565, 566, 543, 548, 527, - 539, 544, 557, 564, 561, 521, 525, 529, 538, 556, - 555, 536, 547, 558, 542, 530, 523, 531, 0, 196, - 220, 364, 0, 449, 287, 637, 606, 601, 205, 222, - 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 198, 200, 208, 221, 231, 235, 242, - 260, 275, 277, 284, 297, 308, 316, 317, 320, 326, - 376, 382, 383, 384, 385, 404, 405, 406, 409, 412, - 413, 416, 418, 419, 422, 426, 430, 431, 432, 434, - 436, 438, 450, 455, 469, 470, 471, 472, 473, 476, - 477, 482, 483, 484, 485, 486, 494, 495, 508, 578, - 580, 595, 613, 619, 475, 299, 300, 439, 440, 312, - 313, 633, 634, 298, 590, 620, 588, 632, 614, 433, - 374, 0, 0, 377, 280, 303, 318, 0, 605, 496, - 226, 461, 289, 250, 0, 0, 210, 245, 229, 258, - 273, 276, 322, 387, 395, 424, 429, 295, 270, 243, - 454, 240, 479, 511, 512, 513, 515, 391, 265, 428, - 392, 0, 372, 568, 569, 314, 520, 0, 0, 0, - 0, 2378, 0, 0, 0, 0, 0, 0, 411, 0, - 0, 0, 0, 0, 0, 0, 0, 269, 0, 0, - 0, 0, 362, 266, 0, 0, 425, 0, 203, 0, - 481, 251, 373, 370, 575, 281, 272, 268, 249, 315, - 381, 423, 510, 417, 0, 366, 0, 0, 491, 396, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 321, 247, 323, 202, 408, - 492, 285, 0, 0, 0, 0, 0, 194, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, - 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, - 341, 346, 353, 359, 0, 0, 0, 0, 0, 264, - 319, 271, 263, 572, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 0, 397, 256, 0, 448, 0, 0, 0, 616, 0, - 0, 0, 0, 0, 0, 0, 361, 0, 328, 197, - 224, 0, 0, 407, 456, 468, 0, 0, 0, 252, - 0, 466, 421, 594, 232, 283, 453, 427, 464, 435, - 286, 0, 0, 465, 368, 577, 445, 591, 617, 618, - 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, - 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, - 623, 223, 474, 367, 241, 230, 579, 600, 288, 451, - 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, - 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, - 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, - 227, 610, 219, 0, 609, 403, 576, 587, 390, 379, - 218, 585, 388, 378, 332, 351, 352, 279, 305, 442, - 371, 443, 304, 306, 399, 398, 400, 206, 598, 0, - 207, 0, 493, 599, 640, 447, 211, 233, 234, 236, - 0, 278, 282, 290, 293, 301, 302, 311, 363, 414, - 441, 437, 446, 0, 571, 592, 604, 615, 621, 622, - 624, 625, 626, 627, 628, 631, 629, 402, 309, 489, - 331, 369, 0, 0, 420, 467, 239, 596, 490, 199, - 0, 0, 0, 0, 253, 254, 0, 567, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 641, 642, 643, - 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, - 654, 655, 656, 657, 658, 636, 500, 506, 501, 502, - 503, 504, 505, 0, 507, 0, 0, 0, 0, 0, - 0, 583, 584, 659, 380, 480, 593, 333, 345, 348, - 338, 357, 0, 358, 334, 335, 340, 342, 343, 344, - 349, 350, 354, 360, 248, 209, 386, 394, 570, 310, - 215, 216, 217, 516, 517, 518, 519, 607, 608, 612, - 204, 457, 458, 459, 460, 291, 602, 307, 463, 462, - 329, 330, 375, 444, 532, 534, 545, 549, 551, 553, - 559, 562, 533, 535, 546, 550, 552, 554, 560, 563, - 522, 524, 526, 528, 541, 540, 537, 565, 566, 543, - 548, 527, 539, 544, 557, 564, 561, 521, 525, 529, - 538, 556, 555, 536, 547, 558, 542, 530, 523, 531, - 0, 196, 220, 364, 0, 449, 287, 637, 606, 601, - 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 198, 200, 208, 221, 231, - 235, 242, 260, 275, 277, 284, 297, 308, 316, 317, - 320, 326, 376, 382, 383, 384, 385, 404, 405, 406, - 409, 412, 413, 416, 418, 419, 422, 426, 430, 431, - 432, 434, 436, 438, 450, 455, 469, 470, 471, 472, - 473, 476, 477, 482, 483, 484, 485, 486, 494, 495, - 508, 578, 580, 595, 613, 619, 475, 299, 300, 439, - 440, 312, 313, 633, 634, 298, 590, 620, 588, 632, - 614, 433, 374, 0, 0, 377, 280, 303, 318, 0, - 605, 496, 226, 461, 289, 250, 0, 0, 210, 245, - 229, 258, 273, 276, 322, 387, 395, 424, 429, 295, - 270, 243, 454, 240, 479, 511, 512, 513, 515, 391, - 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, + 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, + 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, + 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 411, 0, 0, 0, 0, 0, 0, 0, 0, 269, - 0, 0, 0, 0, 362, 266, 0, 0, 425, 0, - 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, - 249, 315, 381, 423, 510, 417, 0, 366, 0, 0, - 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, - 202, 408, 492, 285, 0, 0, 0, 0, 1745, 709, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, - 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, - 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, - 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 296, 0, 397, + 256, 0, 448, 0, 0, 0, 616, 0, 0, 0, + 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, + 0, 407, 456, 468, 0, 0, 0, 252, 0, 466, + 421, 594, 232, 283, 453, 427, 464, 435, 286, 0, + 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, + 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, + 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, + 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, + 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, + 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, + 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, + 610, 219, 0, 609, 403, 576, 587, 390, 379, 218, + 585, 388, 378, 332, 351, 352, 279, 305, 442, 371, + 443, 304, 306, 399, 398, 400, 206, 598, 0, 207, + 0, 493, 599, 640, 447, 211, 233, 234, 236, 0, + 278, 282, 290, 293, 301, 302, 311, 363, 414, 441, + 437, 446, 0, 571, 592, 604, 615, 621, 622, 624, + 625, 626, 627, 628, 631, 629, 402, 309, 489, 331, + 369, 0, 0, 420, 467, 239, 596, 490, 199, 0, + 0, 0, 0, 253, 254, 0, 567, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 636, 500, 506, 501, 502, 503, + 504, 505, 0, 507, 0, 0, 0, 0, 0, 0, + 583, 584, 659, 380, 480, 593, 333, 345, 348, 338, + 357, 0, 358, 334, 335, 340, 342, 343, 344, 349, + 350, 354, 360, 248, 209, 386, 394, 570, 310, 215, + 216, 217, 516, 517, 518, 519, 607, 608, 612, 204, + 457, 458, 459, 460, 291, 602, 307, 463, 462, 329, + 330, 375, 444, 532, 534, 545, 549, 551, 553, 559, + 562, 533, 535, 546, 550, 552, 554, 560, 563, 522, + 524, 526, 528, 541, 540, 537, 565, 566, 543, 548, + 527, 539, 544, 557, 564, 561, 521, 525, 529, 538, + 556, 555, 536, 547, 558, 542, 530, 523, 531, 0, + 196, 220, 364, 0, 449, 287, 637, 606, 601, 205, + 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 198, 200, 208, 221, 231, 235, + 242, 260, 275, 277, 284, 297, 308, 316, 317, 320, + 326, 376, 382, 383, 384, 385, 404, 405, 406, 409, + 412, 413, 416, 418, 419, 422, 426, 430, 431, 432, + 434, 436, 438, 450, 455, 469, 470, 471, 472, 473, + 476, 477, 482, 483, 484, 485, 486, 494, 495, 508, + 578, 580, 595, 613, 619, 475, 299, 300, 439, 440, + 312, 313, 633, 634, 298, 590, 620, 588, 632, 614, + 433, 374, 0, 0, 377, 280, 303, 318, 0, 605, + 496, 226, 461, 289, 250, 0, 0, 210, 245, 229, + 258, 273, 276, 322, 387, 395, 424, 429, 295, 270, + 243, 454, 240, 479, 511, 512, 513, 515, 391, 265, + 428, 392, 0, 372, 568, 569, 314, 520, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, + 0, 0, 0, 0, 0, 0, 0, 0, 269, 0, + 0, 0, 0, 362, 266, 0, 0, 425, 0, 203, + 0, 481, 251, 373, 370, 575, 281, 272, 268, 249, + 315, 381, 423, 510, 417, 0, 366, 0, 0, 491, + 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 321, 247, 323, 202, + 408, 492, 285, 0, 0, 0, 0, 0, 194, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, + 0, 244, 0, 0, 0, 347, 356, 355, 336, 337, + 339, 341, 346, 353, 359, 0, 0, 0, 0, 0, + 264, 319, 271, 263, 572, 0, 0, 0, 0, 0, + 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 0, 397, 256, 0, 448, 0, 0, 0, - 616, 0, 0, 0, 0, 0, 0, 0, 361, 0, - 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, - 0, 252, 0, 466, 421, 594, 232, 283, 453, 427, - 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, - 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, - 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, - 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 296, 0, 397, 256, 0, 448, 0, 0, 0, 616, + 0, 0, 0, 0, 0, 0, 0, 361, 0, 328, + 197, 224, 0, 0, 407, 456, 468, 0, 0, 0, + 252, 0, 466, 421, 594, 232, 283, 453, 427, 464, + 435, 286, 0, 0, 465, 368, 577, 445, 591, 617, + 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, + 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, + 365, 623, 223, 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, @@ -5762,7 +5902,7 @@ var yyAct = [...]int{ 560, 563, 522, 524, 526, 528, 541, 540, 537, 565, 566, 543, 548, 527, 539, 544, 557, 564, 561, 521, 525, 529, 538, 556, 555, 536, 547, 558, 542, 530, - 523, 531, 0, 196, 220, 364, 0, 449, 287, 637, + 523, 531, 0, 196, 220, 364, 2038, 449, 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 200, 208, @@ -5786,7 +5926,7 @@ var yyAct = [...]int{ 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, 0, 0, - 0, 194, 0, 0, 0, 0, 0, 0, 0, 0, + 2029, 709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, 0, 0, @@ -5808,135 +5948,63 @@ var yyAct = [...]int{ 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, 230, - 579, 600, 288, 451, 630, 212, 509, 589, 238, 478, - 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, - 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, - 581, 582, 255, 639, 227, 610, 219, 0, 609, 403, - 576, 587, 390, 379, 218, 585, 388, 378, 332, 351, - 352, 279, 305, 442, 371, 443, 304, 306, 399, 398, - 400, 206, 598, 0, 207, 0, 493, 599, 640, 447, - 211, 233, 234, 236, 0, 278, 282, 290, 293, 301, - 302, 311, 363, 414, 441, 437, 446, 0, 571, 592, - 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, - 629, 402, 309, 489, 331, 369, 0, 0, 420, 467, - 239, 596, 490, 199, 0, 0, 0, 0, 253, 254, - 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 641, 642, 643, 644, 645, 646, 647, 648, 649, - 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, - 500, 506, 501, 502, 503, 504, 505, 0, 507, 0, - 0, 0, 0, 0, 0, 583, 584, 659, 380, 480, - 593, 333, 345, 348, 338, 357, 0, 358, 334, 335, - 340, 342, 343, 344, 349, 350, 354, 360, 248, 209, - 386, 394, 570, 310, 215, 216, 217, 516, 517, 518, - 519, 607, 608, 612, 204, 457, 458, 459, 460, 291, - 602, 307, 463, 462, 329, 330, 375, 444, 532, 534, - 545, 549, 551, 553, 559, 562, 533, 535, 546, 550, - 552, 554, 560, 563, 522, 524, 526, 528, 541, 540, - 537, 565, 566, 543, 548, 527, 539, 544, 557, 564, - 561, 521, 525, 529, 538, 556, 555, 536, 547, 558, - 542, 530, 523, 531, 0, 196, 220, 364, 2037, 449, - 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, - 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, - 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, - 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, - 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, - 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, - 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, - 475, 299, 300, 439, 440, 312, 313, 633, 634, 298, - 590, 620, 588, 632, 614, 433, 374, 0, 0, 377, - 280, 303, 318, 0, 605, 496, 226, 461, 289, 250, - 0, 0, 210, 245, 229, 258, 273, 276, 322, 387, - 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, - 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, - 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 411, 0, 0, 0, 0, 0, - 0, 0, 0, 269, 0, 0, 0, 0, 362, 266, - 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, - 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, - 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, - 0, 0, 2028, 709, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, - 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, - 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, - 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, + 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, + 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, + 410, 581, 582, 255, 639, 227, 610, 219, 0, 609, + 403, 576, 587, 390, 379, 218, 585, 388, 378, 332, + 351, 352, 279, 305, 442, 371, 443, 304, 306, 399, + 398, 400, 206, 598, 0, 207, 0, 493, 599, 640, + 447, 211, 233, 234, 236, 0, 278, 282, 290, 293, + 301, 302, 311, 363, 414, 441, 437, 446, 0, 571, + 592, 604, 615, 621, 622, 624, 625, 626, 627, 628, + 631, 629, 402, 309, 489, 331, 369, 0, 0, 420, + 467, 239, 596, 490, 199, 0, 0, 0, 0, 253, + 254, 0, 567, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 641, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 636, 500, 506, 501, 502, 503, 504, 505, 0, 507, + 0, 0, 0, 0, 0, 0, 583, 584, 659, 380, + 480, 593, 333, 345, 348, 338, 357, 0, 358, 334, + 335, 340, 342, 343, 344, 349, 350, 354, 360, 248, + 209, 386, 394, 570, 310, 215, 216, 217, 516, 517, + 518, 519, 607, 608, 612, 204, 457, 458, 459, 460, + 291, 602, 307, 463, 462, 329, 330, 375, 444, 532, + 534, 545, 549, 551, 553, 559, 562, 533, 535, 546, + 550, 552, 554, 560, 563, 522, 524, 526, 528, 541, + 540, 537, 565, 566, 543, 548, 527, 539, 544, 557, + 564, 561, 521, 525, 529, 538, 556, 555, 536, 547, + 558, 542, 530, 523, 531, 0, 196, 220, 364, 0, + 449, 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, - 448, 0, 0, 0, 616, 0, 0, 0, 0, 0, - 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, - 456, 468, 0, 0, 0, 252, 0, 466, 421, 594, - 232, 283, 453, 427, 464, 435, 286, 0, 0, 465, - 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, - 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, - 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, - 241, 230, 579, 600, 288, 451, 630, 212, 509, 589, - 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, - 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, - 257, 410, 581, 582, 255, 639, 227, 610, 219, 0, - 609, 403, 576, 587, 390, 379, 218, 585, 388, 378, - 332, 351, 352, 279, 305, 442, 371, 443, 304, 306, - 399, 398, 400, 206, 598, 0, 207, 0, 493, 599, - 640, 447, 211, 233, 234, 236, 0, 278, 282, 290, - 293, 301, 302, 311, 363, 414, 441, 437, 446, 0, - 571, 592, 604, 615, 621, 622, 624, 625, 626, 627, - 628, 631, 629, 402, 309, 489, 331, 369, 0, 0, - 420, 467, 239, 596, 490, 199, 0, 0, 0, 0, - 253, 254, 0, 567, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 641, 642, 643, 644, 645, 646, 647, - 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, - 658, 636, 500, 506, 501, 502, 503, 504, 505, 0, - 507, 0, 0, 0, 0, 0, 0, 583, 584, 659, - 380, 480, 593, 333, 345, 348, 338, 357, 0, 358, - 334, 335, 340, 342, 343, 344, 349, 350, 354, 360, - 248, 209, 386, 394, 570, 310, 215, 216, 217, 516, - 517, 518, 519, 607, 608, 612, 204, 457, 458, 459, - 460, 291, 602, 307, 463, 462, 329, 330, 375, 444, - 532, 534, 545, 549, 551, 553, 559, 562, 533, 535, - 546, 550, 552, 554, 560, 563, 522, 524, 526, 528, - 541, 540, 537, 565, 566, 543, 548, 527, 539, 544, - 557, 564, 561, 521, 525, 529, 538, 556, 555, 536, - 547, 558, 542, 530, 523, 531, 0, 196, 220, 364, - 0, 449, 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 198, 200, 208, 221, 231, 235, 242, 260, 275, 277, + 284, 297, 308, 316, 317, 320, 326, 376, 382, 383, + 384, 385, 404, 405, 406, 409, 412, 413, 416, 418, + 419, 422, 426, 430, 431, 432, 434, 436, 438, 450, + 455, 469, 470, 471, 472, 473, 476, 477, 482, 483, + 484, 485, 486, 494, 495, 508, 578, 580, 595, 613, + 619, 475, 299, 300, 439, 440, 312, 313, 633, 634, + 298, 590, 620, 588, 632, 614, 433, 374, 0, 0, + 377, 280, 303, 318, 0, 605, 496, 226, 461, 289, + 250, 0, 0, 210, 245, 229, 258, 273, 276, 322, + 387, 395, 424, 429, 295, 270, 243, 454, 240, 479, + 511, 512, 513, 515, 391, 265, 428, 392, 0, 372, + 568, 569, 314, 520, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 411, 0, 1891, 0, 0, + 0, 0, 0, 0, 269, 0, 0, 0, 0, 362, + 266, 0, 0, 425, 0, 203, 0, 481, 251, 373, + 370, 575, 281, 272, 268, 249, 315, 381, 423, 510, + 417, 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 198, 200, 208, 221, 231, 235, 242, 260, 275, - 277, 284, 297, 308, 316, 317, 320, 326, 376, 382, - 383, 384, 385, 404, 405, 406, 409, 412, 413, 416, - 418, 419, 422, 426, 430, 431, 432, 434, 436, 438, - 450, 455, 469, 470, 471, 472, 473, 476, 477, 482, - 483, 484, 485, 486, 494, 495, 508, 578, 580, 595, - 613, 619, 475, 299, 300, 439, 440, 312, 313, 633, - 634, 298, 590, 620, 588, 632, 614, 433, 374, 0, - 0, 377, 280, 303, 318, 0, 605, 496, 226, 461, - 289, 250, 0, 0, 210, 245, 229, 258, 273, 276, - 322, 387, 395, 424, 429, 295, 270, 243, 454, 240, - 479, 511, 512, 513, 515, 391, 265, 428, 392, 0, - 372, 568, 569, 314, 520, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 411, 0, 1891, 0, - 0, 0, 0, 0, 0, 269, 0, 0, 0, 0, - 362, 266, 0, 0, 425, 0, 203, 0, 481, 251, - 373, 370, 575, 281, 272, 268, 249, 315, 381, 423, - 510, 417, 0, 366, 0, 0, 491, 396, 0, 0, + 0, 0, 321, 247, 323, 202, 408, 492, 285, 0, + 0, 0, 0, 0, 709, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, + 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, + 359, 0, 0, 0, 0, 0, 264, 319, 271, 263, + 572, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, - 0, 0, 0, 0, 0, 709, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, - 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, - 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, - 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, + 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5944,15 +6012,15 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 0, 397, - 256, 0, 448, 0, 0, 0, 616, 0, 0, 0, - 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, - 0, 407, 456, 468, 0, 0, 0, 252, 0, 466, - 421, 594, 232, 283, 453, 427, 464, 435, 286, 0, - 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, - 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, - 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, - 474, 367, 241, 230, 579, 600, 288, 451, 630, 212, + 0, 0, 0, 0, 0, 0, 296, 0, 397, 256, + 0, 448, 0, 0, 0, 616, 0, 0, 0, 0, + 0, 0, 0, 361, 0, 328, 197, 224, 0, 0, + 407, 456, 468, 0, 0, 0, 252, 0, 466, 421, + 594, 232, 283, 453, 427, 464, 435, 286, 0, 0, + 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, + 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, + 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, + 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, @@ -6024,7 +6092,224 @@ var yyAct = [...]int{ 286, 0, 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, - 623, 223, 474, 367, 241, 230, 579, 600, 288, 451, + 623, 223, 474, 367, 241, 230, 579, 600, 0, 288, + 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, + 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, + 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, + 639, 227, 610, 219, 0, 609, 403, 576, 587, 390, + 379, 218, 585, 388, 378, 332, 351, 352, 279, 305, + 442, 371, 443, 304, 306, 399, 398, 400, 206, 598, + 0, 207, 0, 493, 599, 640, 447, 211, 233, 234, + 236, 0, 278, 282, 290, 293, 301, 302, 311, 363, + 414, 441, 437, 446, 0, 571, 592, 604, 615, 621, + 622, 624, 625, 626, 627, 628, 631, 629, 402, 309, + 489, 331, 369, 0, 0, 420, 467, 239, 596, 490, + 199, 0, 0, 0, 0, 253, 254, 0, 567, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 636, 500, 506, 501, + 502, 503, 504, 505, 0, 507, 0, 0, 0, 0, + 0, 0, 583, 584, 659, 380, 480, 593, 333, 345, + 348, 338, 357, 0, 358, 334, 335, 340, 342, 343, + 344, 349, 350, 354, 360, 248, 209, 386, 394, 570, + 310, 215, 216, 217, 516, 517, 518, 519, 607, 608, + 612, 204, 457, 458, 459, 460, 291, 602, 307, 463, + 462, 329, 330, 375, 444, 532, 534, 545, 549, 551, + 553, 559, 562, 533, 535, 546, 550, 552, 554, 560, + 563, 522, 524, 526, 528, 541, 540, 537, 565, 566, + 543, 548, 527, 539, 544, 557, 564, 561, 521, 525, + 529, 538, 556, 555, 536, 547, 558, 542, 530, 523, + 531, 0, 196, 220, 364, 0, 449, 287, 637, 606, + 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 198, 200, 208, 221, + 231, 235, 242, 260, 275, 277, 284, 297, 308, 316, + 317, 320, 326, 376, 382, 383, 384, 385, 404, 405, + 406, 409, 412, 413, 416, 418, 419, 422, 426, 430, + 431, 432, 434, 436, 438, 450, 455, 469, 470, 471, + 472, 473, 476, 477, 482, 483, 484, 485, 486, 494, + 495, 508, 578, 580, 595, 613, 619, 475, 299, 300, + 439, 440, 312, 313, 633, 634, 298, 590, 620, 588, + 632, 614, 433, 374, 0, 0, 377, 280, 303, 318, + 0, 605, 496, 226, 461, 289, 250, 0, 0, 210, + 245, 229, 258, 273, 276, 322, 387, 395, 424, 429, + 295, 270, 243, 454, 240, 479, 511, 512, 513, 515, + 391, 265, 428, 392, 0, 372, 568, 569, 314, 520, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 411, 0, 1887, 0, 0, 0, 0, 0, 0, + 269, 0, 0, 0, 0, 362, 266, 0, 0, 425, + 0, 203, 0, 481, 251, 373, 370, 575, 281, 272, + 268, 249, 315, 381, 423, 510, 417, 0, 366, 0, + 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, + 323, 202, 408, 492, 285, 0, 0, 0, 0, 0, + 709, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 237, 0, 0, 244, 0, 0, 0, 347, 356, 355, + 336, 337, 339, 341, 346, 353, 359, 0, 0, 0, + 0, 0, 264, 319, 271, 263, 572, 0, 0, 0, + 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 296, 0, 397, 256, 0, 448, 0, 0, + 0, 616, 0, 0, 0, 0, 0, 0, 0, 361, + 0, 328, 197, 224, 0, 0, 407, 456, 468, 0, + 0, 0, 252, 0, 466, 421, 594, 232, 283, 453, + 427, 464, 435, 286, 0, 0, 465, 368, 577, 445, + 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, + 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, + 294, 201, 365, 623, 223, 474, 367, 241, 230, 579, + 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, + 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, + 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, + 581, 582, 255, 639, 227, 610, 219, 0, 609, 403, + 576, 587, 390, 379, 218, 585, 388, 378, 332, 351, + 352, 279, 305, 442, 371, 443, 304, 306, 399, 398, + 400, 206, 598, 0, 207, 0, 493, 599, 640, 447, + 211, 233, 234, 236, 0, 278, 282, 290, 293, 301, + 302, 311, 363, 414, 441, 437, 446, 0, 571, 592, + 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, + 629, 402, 309, 489, 331, 369, 0, 0, 420, 467, + 239, 596, 490, 199, 0, 0, 0, 0, 253, 254, + 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, + 500, 506, 501, 502, 503, 504, 505, 0, 507, 0, + 0, 0, 0, 0, 0, 583, 584, 659, 380, 480, + 593, 333, 345, 348, 338, 357, 0, 358, 334, 335, + 340, 342, 343, 344, 349, 350, 354, 360, 248, 209, + 386, 394, 570, 310, 215, 216, 217, 516, 517, 518, + 519, 607, 608, 612, 204, 457, 458, 459, 460, 291, + 602, 307, 463, 462, 329, 330, 375, 444, 532, 534, + 545, 549, 551, 553, 559, 562, 533, 535, 546, 550, + 552, 554, 560, 563, 522, 524, 526, 528, 541, 540, + 537, 565, 566, 543, 548, 527, 539, 544, 557, 564, + 561, 521, 525, 529, 538, 556, 555, 536, 547, 558, + 542, 530, 523, 531, 0, 196, 220, 364, 0, 449, + 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, + 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, + 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, + 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, + 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, + 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, + 475, 299, 300, 439, 440, 312, 313, 633, 634, 298, + 590, 620, 588, 632, 614, 433, 374, 0, 0, 377, + 280, 303, 318, 0, 605, 496, 226, 461, 289, 250, + 0, 0, 210, 245, 229, 258, 273, 276, 322, 387, + 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, + 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, + 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 411, 0, 1885, 0, 0, 0, + 0, 0, 0, 269, 0, 0, 0, 0, 362, 266, + 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, + 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, + 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, + 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, + 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, + 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, + 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, + 448, 0, 0, 0, 616, 0, 0, 0, 0, 0, + 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, + 456, 468, 0, 0, 0, 252, 0, 466, 421, 594, + 232, 283, 453, 427, 464, 435, 286, 0, 0, 465, + 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, + 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, + 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, + 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, + 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, + 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, + 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, + 0, 609, 403, 576, 587, 390, 379, 218, 585, 388, + 378, 332, 351, 352, 279, 305, 442, 371, 443, 304, + 306, 399, 398, 400, 206, 598, 0, 207, 0, 493, + 599, 640, 447, 211, 233, 234, 236, 0, 278, 282, + 290, 293, 301, 302, 311, 363, 414, 441, 437, 446, + 0, 571, 592, 604, 615, 621, 622, 624, 625, 626, + 627, 628, 631, 629, 402, 309, 489, 331, 369, 0, + 0, 420, 467, 239, 596, 490, 199, 0, 0, 0, + 0, 253, 254, 0, 567, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 636, 500, 506, 501, 502, 503, 504, 505, + 0, 507, 0, 0, 0, 0, 0, 0, 583, 584, + 659, 380, 480, 593, 333, 345, 348, 338, 357, 0, + 358, 334, 335, 340, 342, 343, 344, 349, 350, 354, + 360, 248, 209, 386, 394, 570, 310, 215, 216, 217, + 516, 517, 518, 519, 607, 608, 612, 204, 457, 458, + 459, 460, 291, 602, 307, 463, 462, 329, 330, 375, + 444, 532, 534, 545, 549, 551, 553, 559, 562, 533, + 535, 546, 550, 552, 554, 560, 563, 522, 524, 526, + 528, 541, 540, 537, 565, 566, 543, 548, 527, 539, + 544, 557, 564, 561, 521, 525, 529, 538, 556, 555, + 536, 547, 558, 542, 530, 523, 531, 0, 196, 220, + 364, 0, 449, 287, 637, 606, 601, 205, 222, 0, + 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 198, 200, 208, 221, 231, 235, 242, 260, + 275, 277, 284, 297, 308, 316, 317, 320, 326, 376, + 382, 383, 384, 385, 404, 405, 406, 409, 412, 413, + 416, 418, 419, 422, 426, 430, 431, 432, 434, 436, + 438, 450, 455, 469, 470, 471, 472, 473, 476, 477, + 482, 483, 484, 485, 486, 494, 495, 508, 578, 580, + 595, 613, 619, 475, 299, 300, 439, 440, 312, 313, + 633, 634, 298, 590, 620, 588, 632, 614, 433, 374, + 0, 0, 377, 280, 303, 318, 0, 605, 496, 226, + 461, 289, 250, 0, 0, 210, 245, 229, 258, 273, + 276, 322, 387, 395, 424, 429, 295, 270, 243, 454, + 240, 479, 511, 512, 513, 515, 391, 265, 428, 392, + 0, 372, 568, 569, 314, 520, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 411, 0, 1883, + 0, 0, 0, 0, 0, 0, 269, 0, 0, 0, + 0, 362, 266, 0, 0, 425, 0, 203, 0, 481, + 251, 373, 370, 575, 281, 272, 268, 249, 315, 381, + 423, 510, 417, 0, 366, 0, 0, 491, 396, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 321, 247, 323, 202, 408, 492, + 285, 0, 0, 0, 0, 0, 709, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, + 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, + 346, 353, 359, 0, 0, 0, 0, 0, 264, 319, + 271, 263, 572, 0, 0, 0, 0, 0, 0, 0, + 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, + 397, 256, 0, 448, 0, 0, 0, 616, 0, 0, + 0, 0, 0, 0, 0, 361, 0, 328, 197, 224, + 0, 0, 407, 456, 468, 0, 0, 0, 252, 0, + 466, 421, 594, 232, 283, 453, 427, 464, 435, 286, + 0, 0, 465, 368, 577, 445, 591, 617, 618, 262, + 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, + 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, + 223, 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, @@ -6062,98 +6347,25 @@ var yyAct = [...]int{ 473, 476, 477, 482, 483, 484, 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, 475, 299, 300, 439, 440, 312, 313, 633, 634, 298, 590, 620, 588, 632, - 614, 433, 374, 0, 0, 377, 280, 303, 318, 0, - 605, 496, 226, 461, 289, 250, 0, 0, 210, 245, - 229, 258, 273, 276, 322, 387, 395, 424, 429, 295, - 270, 243, 454, 240, 479, 511, 512, 513, 515, 391, - 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 411, 0, 1887, 0, 0, 0, 0, 0, 0, 269, - 0, 0, 0, 0, 362, 266, 0, 0, 425, 0, - 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, - 249, 315, 381, 423, 510, 417, 0, 366, 0, 0, - 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, - 202, 408, 492, 285, 0, 0, 0, 0, 0, 709, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, - 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, - 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, - 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 0, 397, 256, 0, 448, 0, 0, 0, - 616, 0, 0, 0, 0, 0, 0, 0, 361, 0, - 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, - 0, 252, 0, 466, 421, 594, 232, 283, 453, 427, - 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, - 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, - 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, - 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, - 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, - 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, - 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, - 255, 639, 227, 610, 219, 0, 609, 403, 576, 587, - 390, 379, 218, 585, 388, 378, 332, 351, 352, 279, - 305, 442, 371, 443, 304, 306, 399, 398, 400, 206, - 598, 0, 207, 0, 493, 599, 640, 447, 211, 233, - 234, 236, 0, 278, 282, 290, 293, 301, 302, 311, - 363, 414, 441, 437, 446, 0, 571, 592, 604, 615, - 621, 622, 624, 625, 626, 627, 628, 631, 629, 402, - 309, 489, 331, 369, 0, 0, 420, 467, 239, 596, - 490, 199, 0, 0, 0, 0, 253, 254, 0, 567, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, - 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, - 652, 653, 654, 655, 656, 657, 658, 636, 500, 506, - 501, 502, 503, 504, 505, 0, 507, 0, 0, 0, - 0, 0, 0, 583, 584, 659, 380, 480, 593, 333, - 345, 348, 338, 357, 0, 358, 334, 335, 340, 342, - 343, 344, 349, 350, 354, 360, 248, 209, 386, 394, - 570, 310, 215, 216, 217, 516, 517, 518, 519, 607, - 608, 612, 204, 457, 458, 459, 460, 291, 602, 307, - 463, 462, 329, 330, 375, 444, 532, 534, 545, 549, - 551, 553, 559, 562, 533, 535, 546, 550, 552, 554, - 560, 563, 522, 524, 526, 528, 541, 540, 537, 565, - 566, 543, 548, 527, 539, 544, 557, 564, 561, 521, - 525, 529, 538, 556, 555, 536, 547, 558, 542, 530, - 523, 531, 0, 196, 220, 364, 0, 449, 287, 637, - 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 198, 200, 208, - 221, 231, 235, 242, 260, 275, 277, 284, 297, 308, - 316, 317, 320, 326, 376, 382, 383, 384, 385, 404, - 405, 406, 409, 412, 413, 416, 418, 419, 422, 426, - 430, 431, 432, 434, 436, 438, 450, 455, 469, 470, - 471, 472, 473, 476, 477, 482, 483, 484, 485, 486, - 494, 495, 508, 578, 580, 595, 613, 619, 475, 299, - 300, 439, 440, 312, 313, 633, 634, 298, 590, 620, - 588, 632, 614, 433, 374, 0, 0, 377, 280, 303, - 318, 0, 605, 496, 226, 461, 289, 250, 0, 0, - 210, 245, 229, 258, 273, 276, 322, 387, 395, 424, - 429, 295, 270, 243, 454, 240, 479, 511, 512, 513, - 515, 391, 265, 428, 392, 0, 372, 568, 569, 314, - 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 411, 0, 1885, 0, 0, 0, 0, 0, - 0, 269, 0, 0, 0, 0, 362, 266, 0, 0, - 425, 0, 203, 0, 481, 251, 373, 370, 575, 281, - 272, 268, 249, 315, 381, 423, 510, 417, 0, 366, - 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, - 247, 323, 202, 408, 492, 285, 0, 0, 0, 0, - 0, 709, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, - 355, 336, 337, 339, 341, 346, 353, 359, 0, 0, - 0, 0, 0, 264, 319, 271, 263, 572, 0, 0, - 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, + 614, 433, 374, 0, 0, 377, 280, 303, 318, 0, + 605, 496, 226, 461, 289, 250, 0, 0, 210, 245, + 229, 258, 273, 276, 322, 387, 395, 424, 429, 295, + 270, 243, 454, 240, 479, 511, 512, 513, 515, 391, + 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, + 411, 0, 1879, 0, 0, 0, 0, 0, 0, 269, + 0, 0, 0, 0, 362, 266, 0, 0, 425, 0, + 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, + 249, 315, 381, 423, 510, 417, 0, 366, 0, 0, + 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, + 202, 408, 492, 285, 0, 0, 0, 0, 0, 709, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, + 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, + 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, + 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, + 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6161,87 +6373,88 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 0, 397, 256, 0, 448, 0, - 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, - 361, 0, 328, 197, 224, 0, 0, 407, 456, 468, - 0, 0, 0, 252, 0, 466, 421, 594, 232, 283, - 453, 427, 464, 435, 286, 0, 0, 465, 368, 577, - 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, - 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, - 487, 294, 201, 365, 623, 223, 474, 367, 241, 230, - 579, 600, 288, 451, 630, 212, 509, 589, 238, 478, - 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, - 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, - 581, 582, 255, 639, 227, 610, 219, 0, 609, 403, - 576, 587, 390, 379, 218, 585, 388, 378, 332, 351, - 352, 279, 305, 442, 371, 443, 304, 306, 399, 398, - 400, 206, 598, 0, 207, 0, 493, 599, 640, 447, - 211, 233, 234, 236, 0, 278, 282, 290, 293, 301, - 302, 311, 363, 414, 441, 437, 446, 0, 571, 592, - 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, - 629, 402, 309, 489, 331, 369, 0, 0, 420, 467, - 239, 596, 490, 199, 0, 0, 0, 0, 253, 254, - 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 641, 642, 643, 644, 645, 646, 647, 648, 649, - 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, - 500, 506, 501, 502, 503, 504, 505, 0, 507, 0, - 0, 0, 0, 0, 0, 583, 584, 659, 380, 480, - 593, 333, 345, 348, 338, 357, 0, 358, 334, 335, - 340, 342, 343, 344, 349, 350, 354, 360, 248, 209, - 386, 394, 570, 310, 215, 216, 217, 516, 517, 518, - 519, 607, 608, 612, 204, 457, 458, 459, 460, 291, - 602, 307, 463, 462, 329, 330, 375, 444, 532, 534, - 545, 549, 551, 553, 559, 562, 533, 535, 546, 550, - 552, 554, 560, 563, 522, 524, 526, 528, 541, 540, - 537, 565, 566, 543, 548, 527, 539, 544, 557, 564, - 561, 521, 525, 529, 538, 556, 555, 536, 547, 558, - 542, 530, 523, 531, 0, 196, 220, 364, 0, 449, - 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, - 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, - 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, - 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, - 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, - 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, - 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, - 475, 299, 300, 439, 440, 312, 313, 633, 634, 298, - 590, 620, 588, 632, 614, 433, 374, 0, 0, 377, - 280, 303, 318, 0, 605, 496, 226, 461, 289, 250, - 0, 0, 210, 245, 229, 258, 273, 276, 322, 387, - 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, - 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, - 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 411, 0, 1883, 0, 0, 0, - 0, 0, 0, 269, 0, 0, 0, 0, 362, 266, - 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, - 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, - 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, + 0, 296, 0, 397, 256, 0, 448, 0, 0, 0, + 616, 0, 0, 0, 0, 0, 0, 0, 361, 0, + 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, + 0, 252, 0, 466, 421, 594, 232, 283, 453, 427, + 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, + 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, + 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, + 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, + 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, + 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, + 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, + 582, 255, 639, 227, 610, 219, 0, 609, 403, 576, + 587, 390, 379, 218, 585, 388, 378, 332, 351, 352, + 279, 305, 442, 371, 443, 304, 306, 399, 398, 400, + 206, 598, 0, 207, 0, 493, 599, 640, 447, 211, + 233, 234, 236, 0, 278, 282, 290, 293, 301, 302, + 311, 363, 414, 441, 437, 446, 0, 571, 592, 604, + 615, 621, 622, 624, 625, 626, 627, 628, 631, 629, + 402, 309, 489, 331, 369, 0, 0, 420, 467, 239, + 596, 490, 199, 0, 0, 0, 0, 253, 254, 0, + 567, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 636, 500, + 506, 501, 502, 503, 504, 505, 0, 507, 0, 0, + 0, 0, 0, 0, 583, 584, 659, 380, 480, 593, + 333, 345, 348, 338, 357, 0, 358, 334, 335, 340, + 342, 343, 344, 349, 350, 354, 360, 248, 209, 386, + 394, 570, 310, 215, 216, 217, 516, 517, 518, 519, + 607, 608, 612, 204, 457, 458, 459, 460, 291, 602, + 307, 463, 462, 329, 330, 375, 444, 532, 534, 545, + 549, 551, 553, 559, 562, 533, 535, 546, 550, 552, + 554, 560, 563, 522, 524, 526, 528, 541, 540, 537, + 565, 566, 543, 548, 527, 539, 544, 557, 564, 561, + 521, 525, 529, 538, 556, 555, 536, 547, 558, 542, + 530, 523, 531, 0, 196, 220, 364, 0, 449, 287, + 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, - 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, - 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, - 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, - 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 198, 200, + 208, 221, 231, 235, 242, 260, 275, 277, 284, 297, + 308, 316, 317, 320, 326, 376, 382, 383, 384, 385, + 404, 405, 406, 409, 412, 413, 416, 418, 419, 422, + 426, 430, 431, 432, 434, 436, 438, 450, 455, 469, + 470, 471, 472, 473, 476, 477, 482, 483, 484, 485, + 486, 494, 495, 508, 578, 580, 595, 613, 619, 475, + 299, 300, 439, 440, 312, 313, 633, 634, 298, 590, + 620, 588, 632, 614, 433, 374, 0, 0, 377, 280, + 303, 318, 0, 605, 496, 226, 461, 289, 250, 0, + 0, 210, 245, 229, 258, 273, 276, 322, 387, 395, + 424, 429, 295, 270, 243, 454, 240, 479, 511, 512, + 513, 515, 391, 265, 428, 392, 0, 372, 568, 569, + 314, 520, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 411, 0, 1877, 0, 0, 0, 0, + 0, 0, 269, 0, 0, 0, 0, 362, 266, 0, + 0, 425, 0, 203, 0, 481, 251, 373, 370, 575, + 281, 272, 268, 249, 315, 381, 423, 510, 417, 0, + 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, + 321, 247, 323, 202, 408, 492, 285, 0, 0, 0, + 0, 0, 709, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 237, 0, 0, 244, 0, 0, 0, 347, + 356, 355, 336, 337, 339, 341, 346, 353, 359, 0, + 0, 0, 0, 0, 264, 319, 271, 263, 572, 0, + 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, - 448, 0, 0, 0, 616, 0, 0, 0, 0, 0, - 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, - 456, 468, 0, 0, 0, 252, 0, 466, 421, 594, - 232, 283, 453, 427, 464, 435, 286, 0, 0, 465, - 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, - 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, - 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, - 241, 230, 579, 600, 288, 451, 630, 212, 509, 589, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 296, 0, 397, 256, 0, 448, + 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, + 0, 361, 0, 328, 197, 224, 0, 0, 407, 456, + 468, 0, 0, 0, 252, 0, 466, 421, 594, 232, + 283, 453, 427, 464, 435, 286, 0, 0, 465, 368, + 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, + 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, + 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, + 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, 0, @@ -6284,7 +6497,7 @@ var yyAct = [...]int{ 322, 387, 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 411, 0, 1879, 0, + 0, 0, 0, 0, 0, 0, 411, 0, 1875, 0, 0, 0, 0, 0, 0, 269, 0, 0, 0, 0, 362, 266, 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, 249, 315, 381, 423, @@ -6293,155 +6506,83 @@ var yyAct = [...]int{ 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, - 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, - 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, - 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 0, 397, - 256, 0, 448, 0, 0, 0, 616, 0, 0, 0, - 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, - 0, 407, 456, 468, 0, 0, 0, 252, 0, 466, - 421, 594, 232, 283, 453, 427, 464, 435, 286, 0, - 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, - 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, - 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, - 474, 367, 241, 230, 579, 600, 288, 451, 630, 212, - 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, - 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, - 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, - 219, 0, 609, 403, 576, 587, 390, 379, 218, 585, - 388, 378, 332, 351, 352, 279, 305, 442, 371, 443, - 304, 306, 399, 398, 400, 206, 598, 0, 207, 0, - 493, 599, 640, 447, 211, 233, 234, 236, 0, 278, - 282, 290, 293, 301, 302, 311, 363, 414, 441, 437, - 446, 0, 571, 592, 604, 615, 621, 622, 624, 625, - 626, 627, 628, 631, 629, 402, 309, 489, 331, 369, - 0, 0, 420, 467, 239, 596, 490, 199, 0, 0, - 0, 0, 253, 254, 0, 567, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 641, 642, 643, 644, 645, - 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, - 656, 657, 658, 636, 500, 506, 501, 502, 503, 504, - 505, 0, 507, 0, 0, 0, 0, 0, 0, 583, - 584, 659, 380, 480, 593, 333, 345, 348, 338, 357, - 0, 358, 334, 335, 340, 342, 343, 344, 349, 350, - 354, 360, 248, 209, 386, 394, 570, 310, 215, 216, - 217, 516, 517, 518, 519, 607, 608, 612, 204, 457, - 458, 459, 460, 291, 602, 307, 463, 462, 329, 330, - 375, 444, 532, 534, 545, 549, 551, 553, 559, 562, - 533, 535, 546, 550, 552, 554, 560, 563, 522, 524, - 526, 528, 541, 540, 537, 565, 566, 543, 548, 527, - 539, 544, 557, 564, 561, 521, 525, 529, 538, 556, - 555, 536, 547, 558, 542, 530, 523, 531, 0, 196, - 220, 364, 0, 449, 287, 637, 606, 601, 205, 222, - 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 198, 200, 208, 221, 231, 235, 242, - 260, 275, 277, 284, 297, 308, 316, 317, 320, 326, - 376, 382, 383, 384, 385, 404, 405, 406, 409, 412, - 413, 416, 418, 419, 422, 426, 430, 431, 432, 434, - 436, 438, 450, 455, 469, 470, 471, 472, 473, 476, - 477, 482, 483, 484, 485, 486, 494, 495, 508, 578, - 580, 595, 613, 619, 475, 299, 300, 439, 440, 312, - 313, 633, 634, 298, 590, 620, 588, 632, 614, 433, - 374, 0, 0, 377, 280, 303, 318, 0, 605, 496, - 226, 461, 289, 250, 0, 0, 210, 245, 229, 258, - 273, 276, 322, 387, 395, 424, 429, 295, 270, 243, - 454, 240, 479, 511, 512, 513, 515, 391, 265, 428, - 392, 0, 372, 568, 569, 314, 520, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 411, 0, - 1877, 0, 0, 0, 0, 0, 0, 269, 0, 0, - 0, 0, 362, 266, 0, 0, 425, 0, 203, 0, - 481, 251, 373, 370, 575, 281, 272, 268, 249, 315, - 381, 423, 510, 417, 0, 366, 0, 0, 491, 396, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 321, 247, 323, 202, 408, - 492, 285, 0, 0, 0, 0, 0, 709, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, - 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, - 341, 346, 353, 359, 0, 0, 0, 0, 0, 264, - 319, 271, 263, 572, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 0, 397, 256, 0, 448, 0, 0, 0, 616, 0, - 0, 0, 0, 0, 0, 0, 361, 0, 328, 197, - 224, 0, 0, 407, 456, 468, 0, 0, 0, 252, - 0, 466, 421, 594, 232, 283, 453, 427, 464, 435, - 286, 0, 0, 465, 368, 577, 445, 591, 617, 618, - 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, - 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, - 623, 223, 474, 367, 241, 230, 579, 600, 288, 451, - 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, - 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, - 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, - 227, 610, 219, 0, 609, 403, 576, 587, 390, 379, - 218, 585, 388, 378, 332, 351, 352, 279, 305, 442, - 371, 443, 304, 306, 399, 398, 400, 206, 598, 0, - 207, 0, 493, 599, 640, 447, 211, 233, 234, 236, - 0, 278, 282, 290, 293, 301, 302, 311, 363, 414, - 441, 437, 446, 0, 571, 592, 604, 615, 621, 622, - 624, 625, 626, 627, 628, 631, 629, 402, 309, 489, - 331, 369, 0, 0, 420, 467, 239, 596, 490, 199, - 0, 0, 0, 0, 253, 254, 0, 567, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 641, 642, 643, - 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, - 654, 655, 656, 657, 658, 636, 500, 506, 501, 502, - 503, 504, 505, 0, 507, 0, 0, 0, 0, 0, - 0, 583, 584, 659, 380, 480, 593, 333, 345, 348, - 338, 357, 0, 358, 334, 335, 340, 342, 343, 344, - 349, 350, 354, 360, 248, 209, 386, 394, 570, 310, - 215, 216, 217, 516, 517, 518, 519, 607, 608, 612, - 204, 457, 458, 459, 460, 291, 602, 307, 463, 462, - 329, 330, 375, 444, 532, 534, 545, 549, 551, 553, - 559, 562, 533, 535, 546, 550, 552, 554, 560, 563, - 522, 524, 526, 528, 541, 540, 537, 565, 566, 543, - 548, 527, 539, 544, 557, 564, 561, 521, 525, 529, - 538, 556, 555, 536, 547, 558, 542, 530, 523, 531, - 0, 196, 220, 364, 0, 449, 287, 637, 606, 601, - 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, + 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, + 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, + 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, + 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 198, 200, 208, 221, 231, - 235, 242, 260, 275, 277, 284, 297, 308, 316, 317, - 320, 326, 376, 382, 383, 384, 385, 404, 405, 406, - 409, 412, 413, 416, 418, 419, 422, 426, 430, 431, - 432, 434, 436, 438, 450, 455, 469, 470, 471, 472, - 473, 476, 477, 482, 483, 484, 485, 486, 494, 495, - 508, 578, 580, 595, 613, 619, 475, 299, 300, 439, - 440, 312, 313, 633, 634, 298, 590, 620, 588, 632, - 614, 433, 374, 0, 0, 377, 280, 303, 318, 0, - 605, 496, 226, 461, 289, 250, 0, 0, 210, 245, - 229, 258, 273, 276, 322, 387, 395, 424, 429, 295, - 270, 243, 454, 240, 479, 511, 512, 513, 515, 391, - 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 411, 0, 1875, 0, 0, 0, 0, 0, 0, 269, - 0, 0, 0, 0, 362, 266, 0, 0, 425, 0, - 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, - 249, 315, 381, 423, 510, 417, 0, 366, 0, 0, - 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, - 202, 408, 492, 285, 0, 0, 0, 0, 0, 709, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, - 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, - 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, - 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 296, 0, 397, + 256, 0, 448, 0, 0, 0, 616, 0, 0, 0, + 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, + 0, 407, 456, 468, 0, 0, 0, 252, 0, 466, + 421, 594, 232, 283, 453, 427, 464, 435, 286, 0, + 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, + 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, + 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, + 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, + 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, + 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, + 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, + 610, 219, 0, 609, 403, 576, 587, 390, 379, 218, + 585, 388, 378, 332, 351, 352, 279, 305, 442, 371, + 443, 304, 306, 399, 398, 400, 206, 598, 0, 207, + 0, 493, 599, 640, 447, 211, 233, 234, 236, 0, + 278, 282, 290, 293, 301, 302, 311, 363, 414, 441, + 437, 446, 0, 571, 592, 604, 615, 621, 622, 624, + 625, 626, 627, 628, 631, 629, 402, 309, 489, 331, + 369, 0, 0, 420, 467, 239, 596, 490, 199, 0, + 0, 0, 0, 253, 254, 0, 567, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 636, 500, 506, 501, 502, 503, + 504, 505, 0, 507, 0, 0, 0, 0, 0, 0, + 583, 584, 659, 380, 480, 593, 333, 345, 348, 338, + 357, 0, 358, 334, 335, 340, 342, 343, 344, 349, + 350, 354, 360, 248, 209, 386, 394, 570, 310, 215, + 216, 217, 516, 517, 518, 519, 607, 608, 612, 204, + 457, 458, 459, 460, 291, 602, 307, 463, 462, 329, + 330, 375, 444, 532, 534, 545, 549, 551, 553, 559, + 562, 533, 535, 546, 550, 552, 554, 560, 563, 522, + 524, 526, 528, 541, 540, 537, 565, 566, 543, 548, + 527, 539, 544, 557, 564, 561, 521, 525, 529, 538, + 556, 555, 536, 547, 558, 542, 530, 523, 531, 0, + 196, 220, 364, 0, 449, 287, 637, 606, 601, 205, + 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 198, 200, 208, 221, 231, 235, + 242, 260, 275, 277, 284, 297, 308, 316, 317, 320, + 326, 376, 382, 383, 384, 385, 404, 405, 406, 409, + 412, 413, 416, 418, 419, 422, 426, 430, 431, 432, + 434, 436, 438, 450, 455, 469, 470, 471, 472, 473, + 476, 477, 482, 483, 484, 485, 486, 494, 495, 508, + 578, 580, 595, 613, 619, 475, 299, 300, 439, 440, + 312, 313, 633, 634, 298, 590, 620, 588, 632, 614, + 433, 374, 0, 0, 377, 280, 303, 318, 0, 605, + 496, 226, 461, 289, 250, 0, 0, 210, 245, 229, + 258, 273, 276, 322, 387, 395, 424, 429, 295, 270, + 243, 454, 240, 479, 511, 512, 513, 515, 391, 265, + 428, 392, 0, 372, 568, 569, 314, 520, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, + 0, 0, 0, 0, 0, 0, 0, 0, 269, 0, + 0, 0, 0, 362, 266, 0, 0, 425, 0, 203, + 0, 481, 251, 373, 370, 575, 281, 272, 268, 249, + 315, 381, 423, 510, 417, 0, 366, 0, 0, 491, + 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 321, 247, 323, 202, + 408, 492, 285, 0, 1850, 0, 0, 0, 709, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, + 0, 244, 0, 0, 0, 347, 356, 355, 336, 337, + 339, 341, 346, 353, 359, 0, 0, 0, 0, 0, + 264, 319, 271, 263, 572, 0, 0, 0, 0, 0, + 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6450,14 +6591,14 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 0, 397, 256, 0, 448, 0, 0, 0, - 616, 0, 0, 0, 0, 0, 0, 0, 361, 0, - 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, - 0, 252, 0, 466, 421, 594, 232, 283, 453, 427, - 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, - 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, - 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, - 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, + 296, 0, 397, 256, 0, 448, 0, 0, 0, 616, + 0, 0, 0, 0, 0, 0, 0, 361, 0, 328, + 197, 224, 0, 0, 407, 456, 468, 0, 0, 0, + 252, 0, 466, 421, 594, 232, 283, 453, 427, 464, + 435, 286, 0, 0, 465, 368, 577, 445, 591, 617, + 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, + 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, + 365, 623, 223, 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, @@ -6502,13 +6643,13 @@ var yyAct = [...]int{ 515, 391, 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 0, 0, 0, 0, 0, 0, 0, - 0, 269, 0, 0, 0, 0, 362, 266, 0, 0, + 1749, 269, 0, 0, 0, 0, 362, 266, 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, - 247, 323, 202, 408, 492, 285, 0, 1850, 0, 0, - 0, 709, 0, 0, 0, 0, 0, 0, 0, 0, + 247, 323, 202, 408, 492, 285, 0, 0, 0, 0, + 0, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, 0, 0, @@ -6530,135 +6671,63 @@ var yyAct = [...]int{ 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, 230, - 579, 600, 288, 451, 630, 212, 509, 589, 238, 478, - 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, - 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, - 581, 582, 255, 639, 227, 610, 219, 0, 609, 403, - 576, 587, 390, 379, 218, 585, 388, 378, 332, 351, - 352, 279, 305, 442, 371, 443, 304, 306, 399, 398, - 400, 206, 598, 0, 207, 0, 493, 599, 640, 447, - 211, 233, 234, 236, 0, 278, 282, 290, 293, 301, - 302, 311, 363, 414, 441, 437, 446, 0, 571, 592, - 604, 615, 621, 622, 624, 625, 626, 627, 628, 631, - 629, 402, 309, 489, 331, 369, 0, 0, 420, 467, - 239, 596, 490, 199, 0, 0, 0, 0, 253, 254, - 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 641, 642, 643, 644, 645, 646, 647, 648, 649, - 650, 651, 652, 653, 654, 655, 656, 657, 658, 636, - 500, 506, 501, 502, 503, 504, 505, 0, 507, 0, - 0, 0, 0, 0, 0, 583, 584, 659, 380, 480, - 593, 333, 345, 348, 338, 357, 0, 358, 334, 335, - 340, 342, 343, 344, 349, 350, 354, 360, 248, 209, - 386, 394, 570, 310, 215, 216, 217, 516, 517, 518, - 519, 607, 608, 612, 204, 457, 458, 459, 460, 291, - 602, 307, 463, 462, 329, 330, 375, 444, 532, 534, - 545, 549, 551, 553, 559, 562, 533, 535, 546, 550, - 552, 554, 560, 563, 522, 524, 526, 528, 541, 540, - 537, 565, 566, 543, 548, 527, 539, 544, 557, 564, - 561, 521, 525, 529, 538, 556, 555, 536, 547, 558, - 542, 530, 523, 531, 0, 196, 220, 364, 0, 449, - 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, - 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, - 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, - 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, - 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, - 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, - 485, 486, 494, 495, 508, 578, 580, 595, 613, 619, - 475, 299, 300, 439, 440, 312, 313, 633, 634, 298, - 590, 620, 588, 632, 614, 433, 374, 0, 0, 377, - 280, 303, 318, 0, 605, 496, 226, 461, 289, 250, - 0, 0, 210, 245, 229, 258, 273, 276, 322, 387, - 395, 424, 429, 295, 270, 243, 454, 240, 479, 511, - 512, 513, 515, 391, 265, 428, 392, 0, 372, 568, - 569, 314, 520, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 411, 0, 0, 0, 0, 0, - 0, 0, 1749, 269, 0, 0, 0, 0, 362, 266, - 0, 0, 425, 0, 203, 0, 481, 251, 373, 370, - 575, 281, 272, 268, 249, 315, 381, 423, 510, 417, - 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, - 0, 0, 0, 194, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, - 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, - 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, - 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, + 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, + 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, + 410, 581, 582, 255, 639, 227, 610, 219, 0, 609, + 403, 576, 587, 390, 379, 218, 585, 388, 378, 332, + 351, 352, 279, 305, 442, 371, 443, 304, 306, 399, + 398, 400, 206, 598, 0, 207, 0, 493, 599, 640, + 447, 211, 233, 234, 236, 0, 278, 282, 290, 293, + 301, 302, 311, 363, 414, 441, 437, 446, 0, 571, + 592, 604, 615, 621, 622, 624, 625, 626, 627, 628, + 631, 629, 402, 309, 489, 331, 369, 0, 0, 420, + 467, 239, 596, 490, 199, 0, 0, 0, 0, 253, + 254, 0, 567, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 641, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, + 636, 500, 506, 501, 502, 503, 504, 505, 0, 507, + 0, 0, 0, 0, 0, 0, 583, 584, 659, 380, + 480, 593, 333, 345, 348, 338, 357, 0, 358, 334, + 335, 340, 342, 343, 344, 349, 350, 354, 360, 248, + 209, 386, 394, 570, 310, 215, 216, 217, 516, 517, + 518, 519, 607, 608, 612, 204, 457, 458, 459, 460, + 291, 602, 307, 463, 462, 329, 330, 375, 444, 532, + 534, 545, 549, 551, 553, 559, 562, 533, 535, 546, + 550, 552, 554, 560, 563, 522, 524, 526, 528, 541, + 540, 537, 565, 566, 543, 548, 527, 539, 544, 557, + 564, 561, 521, 525, 529, 538, 556, 555, 536, 547, + 558, 542, 530, 523, 531, 0, 196, 220, 364, 0, + 449, 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, - 448, 0, 0, 0, 616, 0, 0, 0, 0, 0, - 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, - 456, 468, 0, 0, 0, 252, 0, 466, 421, 594, - 232, 283, 453, 427, 464, 435, 286, 0, 0, 465, - 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, - 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, - 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, - 241, 230, 579, 600, 288, 451, 630, 212, 509, 589, - 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, - 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, - 257, 410, 581, 582, 255, 639, 227, 610, 219, 0, - 609, 403, 576, 587, 390, 379, 218, 585, 388, 378, - 332, 351, 352, 279, 305, 442, 371, 443, 304, 306, - 399, 398, 400, 206, 598, 0, 207, 0, 493, 599, - 640, 447, 211, 233, 234, 236, 0, 278, 282, 290, - 293, 301, 302, 311, 363, 414, 441, 437, 446, 0, - 571, 592, 604, 615, 621, 622, 624, 625, 626, 627, - 628, 631, 629, 402, 309, 489, 331, 369, 0, 0, - 420, 467, 239, 596, 490, 199, 0, 0, 0, 0, - 253, 254, 0, 567, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 641, 642, 643, 644, 645, 646, 647, - 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, - 658, 636, 500, 506, 501, 502, 503, 504, 505, 0, - 507, 0, 0, 0, 0, 0, 0, 583, 584, 659, - 380, 480, 593, 333, 345, 348, 338, 357, 0, 358, - 334, 335, 340, 342, 343, 344, 349, 350, 354, 360, - 248, 209, 386, 394, 570, 310, 215, 216, 217, 516, - 517, 518, 519, 607, 608, 612, 204, 457, 458, 459, - 460, 291, 602, 307, 463, 462, 329, 330, 375, 444, - 532, 534, 545, 549, 551, 553, 559, 562, 533, 535, - 546, 550, 552, 554, 560, 563, 522, 524, 526, 528, - 541, 540, 537, 565, 566, 543, 548, 527, 539, 544, - 557, 564, 561, 521, 525, 529, 538, 556, 555, 536, - 547, 558, 542, 530, 523, 531, 0, 196, 220, 364, - 0, 449, 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 198, 200, 208, 221, 231, 235, 242, 260, 275, 277, + 284, 297, 308, 316, 317, 320, 326, 376, 382, 383, + 384, 385, 404, 405, 406, 409, 412, 413, 416, 418, + 419, 422, 426, 430, 431, 432, 434, 436, 438, 450, + 455, 469, 470, 471, 472, 473, 476, 477, 482, 483, + 484, 485, 486, 494, 495, 508, 578, 580, 595, 613, + 619, 475, 299, 300, 439, 440, 312, 313, 633, 634, + 298, 590, 620, 588, 632, 614, 433, 374, 0, 0, + 377, 280, 303, 318, 0, 605, 496, 226, 461, 289, + 250, 0, 0, 210, 245, 229, 258, 273, 276, 322, + 387, 395, 424, 429, 295, 270, 243, 454, 240, 479, + 511, 512, 513, 515, 391, 265, 428, 392, 0, 372, + 568, 569, 314, 520, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 411, 0, 0, 0, 0, + 0, 0, 0, 0, 269, 0, 0, 0, 0, 362, + 266, 0, 0, 425, 0, 203, 0, 481, 251, 373, + 370, 575, 281, 272, 268, 249, 315, 381, 423, 510, + 417, 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 198, 200, 208, 221, 231, 235, 242, 260, 275, - 277, 284, 297, 308, 316, 317, 320, 326, 376, 382, - 383, 384, 385, 404, 405, 406, 409, 412, 413, 416, - 418, 419, 422, 426, 430, 431, 432, 434, 436, 438, - 450, 455, 469, 470, 471, 472, 473, 476, 477, 482, - 483, 484, 485, 486, 494, 495, 508, 578, 580, 595, - 613, 619, 475, 299, 300, 439, 440, 312, 313, 633, - 634, 298, 590, 620, 588, 632, 614, 433, 374, 0, - 0, 377, 280, 303, 318, 0, 605, 496, 226, 461, - 289, 250, 0, 0, 210, 245, 229, 258, 273, 276, - 322, 387, 395, 424, 429, 295, 270, 243, 454, 240, - 479, 511, 512, 513, 515, 391, 265, 428, 392, 0, - 372, 568, 569, 314, 520, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 411, 0, 0, 0, - 0, 0, 0, 0, 0, 269, 0, 0, 0, 0, - 362, 266, 0, 0, 425, 0, 203, 0, 481, 251, - 373, 370, 575, 281, 272, 268, 249, 315, 381, 423, - 510, 417, 0, 366, 0, 0, 491, 396, 0, 0, + 0, 0, 321, 247, 323, 202, 408, 492, 285, 0, + 95, 0, 0, 0, 941, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, + 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, + 359, 0, 0, 0, 0, 0, 264, 319, 271, 263, + 572, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, - 0, 95, 0, 0, 0, 941, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, - 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, - 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, - 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, + 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6666,15 +6735,15 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 0, 397, - 256, 0, 448, 0, 0, 0, 616, 0, 0, 0, - 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, - 0, 407, 456, 468, 0, 0, 0, 252, 0, 466, - 421, 594, 232, 283, 453, 427, 464, 435, 286, 0, - 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, - 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, - 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, - 474, 367, 241, 230, 579, 600, 288, 451, 630, 212, + 0, 0, 0, 0, 0, 0, 296, 0, 397, 256, + 0, 448, 0, 0, 0, 616, 0, 0, 0, 0, + 0, 0, 0, 361, 0, 328, 197, 224, 0, 0, + 407, 456, 468, 0, 0, 0, 252, 0, 466, 421, + 594, 232, 283, 453, 427, 464, 435, 286, 0, 0, + 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, + 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, + 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, + 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, @@ -6746,136 +6815,64 @@ var yyAct = [...]int{ 286, 0, 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, - 623, 223, 474, 367, 241, 230, 579, 600, 288, 451, - 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, - 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, - 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, - 227, 610, 219, 0, 609, 403, 576, 587, 390, 379, - 218, 585, 388, 378, 332, 351, 352, 279, 305, 442, - 371, 443, 304, 306, 399, 398, 400, 206, 598, 0, - 207, 0, 493, 599, 640, 447, 211, 233, 234, 236, - 0, 278, 282, 290, 293, 301, 302, 311, 363, 414, - 441, 437, 446, 0, 571, 592, 604, 615, 621, 622, - 624, 625, 626, 627, 628, 631, 629, 402, 309, 489, - 331, 369, 0, 0, 420, 467, 239, 596, 490, 199, - 0, 0, 0, 0, 253, 254, 0, 567, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 641, 642, 643, - 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, - 654, 655, 656, 657, 658, 636, 500, 506, 501, 502, - 503, 504, 505, 0, 507, 0, 0, 0, 0, 0, - 0, 583, 584, 659, 380, 480, 593, 333, 345, 348, - 338, 357, 0, 358, 334, 335, 340, 342, 343, 344, - 349, 350, 354, 360, 248, 209, 386, 394, 570, 310, - 215, 216, 217, 516, 517, 518, 519, 607, 608, 612, - 204, 457, 458, 459, 460, 291, 602, 307, 463, 462, - 329, 330, 375, 444, 532, 534, 545, 549, 551, 553, - 559, 562, 533, 535, 546, 550, 552, 554, 560, 563, - 522, 524, 526, 528, 541, 540, 537, 565, 566, 543, - 548, 527, 539, 544, 557, 564, 561, 521, 525, 529, - 538, 556, 555, 536, 547, 558, 542, 530, 523, 531, - 0, 196, 220, 364, 0, 449, 287, 637, 606, 601, - 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 198, 200, 208, 221, 231, - 235, 242, 260, 275, 277, 284, 297, 308, 316, 317, - 320, 326, 376, 382, 383, 384, 385, 404, 405, 406, - 409, 412, 413, 416, 418, 419, 422, 426, 430, 431, - 432, 434, 436, 438, 450, 455, 469, 470, 471, 472, - 473, 476, 477, 482, 483, 484, 485, 486, 494, 495, - 508, 578, 580, 595, 613, 619, 475, 299, 300, 439, - 440, 312, 313, 633, 634, 1431, 590, 620, 588, 632, - 614, 433, 374, 0, 0, 377, 280, 303, 318, 0, - 605, 496, 226, 461, 289, 250, 0, 0, 210, 245, - 229, 258, 273, 276, 322, 387, 395, 424, 429, 295, - 270, 243, 454, 240, 479, 511, 512, 513, 515, 391, - 265, 428, 392, 0, 372, 568, 569, 314, 520, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 411, 0, 0, 0, 0, 0, 0, 0, 0, 269, - 0, 0, 0, 0, 362, 266, 0, 0, 425, 0, - 203, 0, 481, 251, 373, 370, 575, 281, 272, 268, - 249, 315, 381, 423, 510, 417, 0, 366, 0, 0, - 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, - 202, 408, 492, 285, 0, 0, 0, 0, 0, 194, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, - 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, - 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, - 0, 264, 319, 271, 263, 572, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 0, 397, 256, 0, 448, 0, 0, 0, - 616, 0, 0, 0, 0, 0, 0, 0, 361, 0, - 328, 197, 224, 0, 0, 407, 456, 468, 0, 0, - 0, 252, 0, 466, 421, 594, 232, 283, 453, 427, - 464, 435, 286, 0, 0, 465, 368, 577, 445, 591, - 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, - 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, - 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, - 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, - 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, - 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, - 255, 639, 227, 610, 219, 0, 609, 403, 576, 587, - 390, 379, 218, 585, 388, 378, 332, 351, 352, 279, - 305, 442, 371, 443, 304, 306, 399, 398, 400, 206, - 598, 0, 207, 0, 493, 599, 640, 447, 211, 233, - 234, 236, 0, 278, 282, 290, 293, 301, 302, 311, - 363, 414, 441, 437, 446, 0, 571, 592, 604, 615, - 621, 622, 624, 625, 626, 627, 628, 631, 629, 402, - 309, 489, 331, 369, 0, 0, 420, 467, 239, 596, - 490, 199, 0, 0, 0, 0, 253, 254, 0, 567, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, - 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, - 652, 653, 654, 655, 656, 657, 658, 636, 500, 506, - 501, 502, 503, 504, 505, 0, 507, 0, 0, 0, - 0, 0, 0, 583, 584, 659, 380, 480, 593, 333, - 345, 348, 338, 357, 0, 358, 334, 335, 340, 342, - 343, 344, 349, 350, 354, 360, 248, 209, 386, 394, - 570, 310, 215, 216, 217, 516, 517, 518, 519, 607, - 608, 612, 204, 457, 458, 459, 460, 291, 602, 307, - 463, 462, 329, 330, 375, 444, 532, 534, 545, 549, - 551, 553, 559, 562, 533, 535, 546, 550, 552, 554, - 560, 563, 522, 524, 526, 528, 541, 540, 537, 565, - 566, 543, 548, 527, 539, 544, 557, 564, 561, 521, - 525, 529, 538, 556, 555, 536, 547, 558, 542, 530, - 523, 531, 0, 196, 220, 364, 0, 449, 287, 637, - 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, + 623, 223, 474, 367, 241, 230, 579, 600, 0, 288, + 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, + 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, + 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, + 639, 227, 610, 219, 0, 609, 403, 576, 587, 390, + 379, 218, 585, 388, 378, 332, 351, 352, 279, 305, + 442, 371, 443, 304, 306, 399, 398, 400, 206, 598, + 0, 207, 0, 493, 599, 640, 447, 211, 233, 234, + 236, 0, 278, 282, 290, 293, 301, 302, 311, 363, + 414, 441, 437, 446, 0, 571, 592, 604, 615, 621, + 622, 624, 625, 626, 627, 628, 631, 629, 402, 309, + 489, 331, 369, 0, 0, 420, 467, 239, 596, 490, + 199, 0, 0, 0, 0, 253, 254, 0, 567, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 641, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 636, 500, 506, 501, + 502, 503, 504, 505, 0, 507, 0, 0, 0, 0, + 0, 0, 583, 584, 659, 380, 480, 593, 333, 345, + 348, 338, 357, 0, 358, 334, 335, 340, 342, 343, + 344, 349, 350, 354, 360, 248, 209, 386, 394, 570, + 310, 215, 216, 217, 516, 517, 518, 519, 607, 608, + 612, 204, 457, 458, 459, 460, 291, 602, 307, 463, + 462, 329, 330, 375, 444, 532, 534, 545, 549, 551, + 553, 559, 562, 533, 535, 546, 550, 552, 554, 560, + 563, 522, 524, 526, 528, 541, 540, 537, 565, 566, + 543, 548, 527, 539, 544, 557, 564, 561, 521, 525, + 529, 538, 556, 555, 536, 547, 558, 542, 530, 523, + 531, 0, 196, 220, 364, 0, 449, 287, 637, 606, + 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1030, 0, 0, 0, 198, 200, 208, - 221, 231, 235, 242, 260, 275, 277, 284, 297, 308, - 316, 317, 320, 326, 376, 382, 383, 384, 385, 404, - 405, 406, 409, 412, 413, 416, 418, 419, 422, 426, - 430, 431, 432, 434, 436, 438, 450, 455, 469, 470, - 471, 472, 473, 476, 477, 482, 483, 484, 485, 486, - 494, 495, 508, 578, 580, 595, 613, 619, 475, 299, - 300, 439, 440, 312, 313, 633, 634, 298, 590, 620, - 588, 632, 614, 433, 374, 0, 0, 377, 280, 303, - 318, 0, 605, 496, 226, 461, 289, 250, 0, 0, - 210, 245, 229, 258, 273, 276, 322, 387, 395, 424, - 429, 295, 270, 243, 454, 240, 479, 511, 512, 513, - 515, 391, 265, 428, 392, 0, 372, 568, 569, 314, - 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 411, 0, 0, 0, 0, 0, 0, 0, - 0, 269, 0, 0, 0, 0, 362, 266, 0, 0, - 425, 0, 203, 0, 481, 251, 373, 370, 575, 281, - 272, 268, 249, 315, 381, 423, 510, 417, 0, 366, - 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, - 247, 323, 202, 408, 492, 285, 0, 0, 0, 0, - 0, 194, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, - 355, 336, 337, 339, 341, 346, 353, 359, 0, 0, - 0, 0, 0, 264, 319, 271, 263, 572, 0, 0, - 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 198, 200, 208, 221, + 231, 235, 242, 260, 275, 277, 284, 297, 308, 316, + 317, 320, 326, 376, 382, 383, 384, 385, 404, 405, + 406, 409, 412, 413, 416, 418, 419, 422, 426, 430, + 431, 432, 434, 436, 438, 450, 455, 469, 470, 471, + 472, 473, 476, 477, 482, 483, 484, 485, 486, 494, + 495, 508, 578, 580, 595, 613, 619, 475, 299, 300, + 439, 440, 312, 313, 633, 634, 1431, 590, 620, 588, + 632, 614, 433, 374, 0, 0, 377, 280, 303, 318, + 0, 605, 496, 226, 461, 289, 250, 0, 0, 210, + 245, 229, 258, 273, 276, 322, 387, 395, 424, 429, + 295, 270, 243, 454, 240, 479, 511, 512, 513, 515, + 391, 265, 428, 392, 0, 372, 568, 569, 314, 520, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 411, 0, 0, 0, 0, 0, 0, 0, 0, + 269, 0, 0, 0, 0, 362, 266, 0, 0, 425, + 0, 203, 0, 481, 251, 373, 370, 575, 281, 272, + 268, 249, 315, 381, 423, 510, 417, 0, 366, 0, + 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, + 323, 202, 408, 492, 285, 0, 0, 0, 0, 0, + 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 237, 0, 0, 244, 0, 0, 0, 347, 356, 355, + 336, 337, 339, 341, 346, 353, 359, 0, 0, 0, + 0, 0, 264, 319, 271, 263, 572, 0, 0, 0, + 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, + 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6883,15 +6880,15 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 0, 397, 256, 0, 448, 0, - 662, 0, 616, 0, 0, 0, 0, 0, 0, 0, - 361, 0, 328, 197, 224, 0, 0, 407, 456, 468, - 0, 0, 0, 252, 0, 466, 421, 594, 232, 283, - 453, 427, 464, 435, 286, 0, 0, 465, 368, 577, - 445, 591, 617, 618, 262, 401, 603, 514, 611, 635, - 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, - 487, 294, 201, 365, 623, 223, 474, 367, 241, 230, - 579, 600, 288, 451, 630, 212, 509, 589, 238, 478, + 0, 0, 296, 0, 397, 256, 0, 448, 0, 0, + 0, 616, 0, 0, 0, 0, 0, 0, 0, 361, + 0, 328, 197, 224, 0, 0, 407, 456, 468, 0, + 0, 0, 252, 0, 466, 421, 594, 232, 283, 453, + 427, 464, 435, 286, 0, 0, 465, 368, 577, 445, + 591, 617, 618, 262, 401, 603, 514, 611, 635, 225, + 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, + 294, 201, 365, 623, 223, 474, 367, 241, 230, 579, + 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, 0, 609, 403, @@ -6920,7 +6917,7 @@ var yyAct = [...]int{ 542, 530, 523, 531, 0, 196, 220, 364, 0, 449, 287, 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 0, 0, 0, 0, 0, 1030, 0, 0, 0, 198, 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, 297, 308, 316, 317, 320, 326, 376, 382, 383, 384, 385, 404, 405, 406, 409, 412, 413, 416, 418, 419, @@ -6941,173 +6938,101 @@ var yyAct = [...]int{ 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, 0, 0, - 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, - 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, - 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, - 448, 0, 0, 0, 616, 0, 0, 0, 0, 0, - 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, - 456, 468, 0, 0, 0, 252, 0, 466, 421, 594, - 232, 283, 453, 427, 464, 435, 286, 0, 0, 465, - 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, - 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, - 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, - 241, 230, 579, 600, 288, 451, 630, 212, 509, 589, - 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, - 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, - 257, 410, 581, 582, 255, 639, 227, 610, 219, 0, - 609, 403, 576, 587, 390, 379, 218, 585, 388, 378, - 332, 351, 352, 279, 305, 442, 371, 443, 304, 306, - 399, 398, 400, 206, 598, 0, 207, 0, 493, 599, - 640, 447, 211, 233, 234, 236, 0, 278, 282, 290, - 293, 301, 302, 311, 363, 414, 441, 437, 446, 0, - 571, 592, 604, 615, 621, 622, 624, 625, 626, 627, - 628, 631, 629, 402, 309, 489, 331, 369, 0, 0, - 420, 467, 239, 596, 490, 199, 0, 0, 0, 0, - 253, 254, 0, 567, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 641, 642, 643, 644, 645, 646, 647, - 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, - 658, 636, 500, 506, 501, 502, 503, 504, 505, 0, - 507, 0, 0, 0, 0, 0, 0, 583, 584, 659, - 380, 480, 593, 333, 345, 348, 338, 357, 0, 358, - 334, 335, 340, 342, 343, 344, 349, 350, 354, 360, - 248, 209, 386, 394, 570, 310, 215, 216, 217, 516, - 517, 518, 519, 607, 608, 612, 204, 457, 458, 459, - 460, 291, 602, 307, 463, 462, 329, 330, 375, 444, - 532, 534, 545, 549, 551, 553, 559, 562, 533, 535, - 546, 550, 552, 554, 560, 563, 522, 524, 526, 528, - 541, 540, 537, 565, 566, 543, 548, 527, 539, 544, - 557, 564, 561, 521, 525, 529, 538, 556, 555, 536, - 547, 558, 542, 530, 523, 531, 0, 196, 220, 364, - 0, 449, 287, 637, 606, 601, 205, 222, 0, 261, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 198, 200, 208, 221, 231, 235, 242, 260, 275, - 277, 284, 297, 308, 316, 317, 320, 326, 376, 382, - 383, 384, 385, 4036, 405, 406, 409, 412, 413, 416, - 418, 419, 422, 426, 430, 431, 432, 434, 436, 438, - 450, 455, 469, 470, 471, 472, 473, 476, 477, 482, - 483, 484, 485, 486, 494, 495, 508, 578, 580, 595, - 613, 619, 475, 299, 300, 439, 440, 312, 313, 633, - 634, 298, 590, 620, 588, 632, 614, 433, 374, 0, - 0, 377, 280, 303, 318, 0, 605, 496, 226, 461, - 289, 250, 0, 0, 210, 245, 229, 258, 273, 276, - 322, 387, 395, 424, 429, 295, 270, 243, 454, 240, - 479, 511, 512, 513, 515, 391, 265, 428, 392, 0, - 372, 568, 569, 314, 520, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 411, 0, 0, 0, - 0, 0, 0, 0, 0, 269, 0, 0, 0, 0, - 362, 266, 0, 0, 425, 0, 203, 0, 481, 251, - 373, 370, 575, 281, 272, 268, 249, 315, 381, 423, - 510, 417, 0, 366, 0, 0, 491, 396, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, - 0, 0, 0, 0, 0, 709, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, - 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, - 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, - 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 264, 319, 271, 263, 572, + 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 0, 397, - 256, 0, 448, 0, 0, 0, 616, 0, 0, 0, - 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, - 0, 407, 456, 468, 0, 0, 0, 252, 0, 466, - 421, 594, 232, 283, 453, 427, 464, 435, 286, 0, - 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, - 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, - 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, - 474, 367, 241, 230, 579, 600, 288, 451, 630, 212, - 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, - 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, - 0, 0, 257, 410, 581, 582, 255, 639, 227, 610, - 219, 0, 609, 403, 576, 587, 390, 379, 218, 585, - 388, 378, 332, 351, 352, 279, 305, 442, 371, 443, - 304, 306, 399, 398, 400, 206, 598, 0, 207, 0, - 493, 599, 640, 447, 211, 233, 234, 236, 0, 278, - 282, 290, 293, 301, 302, 311, 363, 414, 441, 437, - 446, 0, 571, 592, 604, 615, 621, 622, 624, 625, - 626, 627, 628, 631, 629, 402, 309, 489, 331, 369, - 0, 0, 420, 467, 239, 596, 490, 199, 0, 0, - 0, 0, 253, 254, 0, 567, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 641, 642, 643, 644, 645, - 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, - 656, 657, 658, 636, 500, 506, 501, 502, 503, 504, - 505, 0, 507, 0, 0, 0, 0, 0, 0, 583, - 584, 659, 380, 480, 593, 333, 345, 348, 338, 357, - 0, 358, 334, 335, 340, 342, 343, 344, 349, 350, - 354, 360, 248, 209, 386, 394, 570, 310, 215, 216, - 217, 516, 517, 518, 519, 607, 608, 612, 204, 457, - 458, 459, 460, 291, 602, 307, 463, 462, 329, 330, - 375, 444, 532, 534, 545, 549, 551, 553, 559, 562, - 533, 535, 546, 550, 552, 554, 560, 563, 522, 524, - 526, 528, 541, 540, 537, 565, 566, 543, 548, 527, - 539, 544, 557, 564, 561, 521, 525, 529, 538, 556, - 555, 536, 547, 558, 542, 530, 523, 531, 0, 196, - 220, 364, 0, 449, 287, 637, 606, 601, 205, 222, - 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 198, 200, 208, 221, 231, 235, 242, - 260, 275, 277, 284, 297, 308, 316, 317, 320, 326, - 376, 382, 383, 384, 385, 404, 405, 406, 409, 412, - 413, 416, 418, 419, 422, 426, 430, 431, 432, 434, - 436, 438, 450, 455, 469, 470, 471, 472, 473, 476, - 477, 482, 483, 484, 485, 486, 494, 495, 508, 578, - 580, 595, 613, 619, 475, 299, 300, 439, 440, 312, - 313, 633, 634, 298, 590, 620, 588, 632, 614, 433, - 374, 0, 0, 377, 280, 303, 318, 0, 605, 496, - 226, 461, 289, 250, 0, 0, 210, 245, 229, 258, - 273, 276, 322, 387, 395, 424, 429, 295, 270, 243, - 454, 240, 479, 511, 512, 513, 515, 391, 265, 428, - 392, 0, 372, 568, 569, 314, 520, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 411, 0, - 0, 0, 0, 0, 0, 0, 0, 269, 0, 0, - 0, 0, 362, 266, 0, 0, 425, 0, 203, 0, - 481, 251, 373, 370, 575, 281, 272, 268, 249, 315, - 381, 423, 510, 417, 0, 366, 0, 0, 491, 396, + 0, 0, 0, 0, 0, 296, 0, 397, 256, 0, + 448, 0, 662, 0, 616, 0, 0, 0, 0, 0, + 0, 0, 361, 0, 328, 197, 224, 0, 0, 407, + 456, 468, 0, 0, 0, 252, 0, 466, 421, 594, + 232, 283, 453, 427, 464, 435, 286, 0, 0, 465, + 368, 577, 445, 591, 617, 618, 262, 401, 603, 514, + 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, + 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, + 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, + 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, + 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, + 0, 257, 410, 581, 582, 255, 639, 227, 610, 219, + 0, 609, 403, 576, 587, 390, 379, 218, 585, 388, + 378, 332, 351, 352, 279, 305, 442, 371, 443, 304, + 306, 399, 398, 400, 206, 598, 0, 207, 0, 493, + 599, 640, 447, 211, 233, 234, 236, 0, 278, 282, + 290, 293, 301, 302, 311, 363, 414, 441, 437, 446, + 0, 571, 592, 604, 615, 621, 622, 624, 625, 626, + 627, 628, 631, 629, 402, 309, 489, 331, 369, 0, + 0, 420, 467, 239, 596, 490, 199, 0, 0, 0, + 0, 253, 254, 0, 567, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 641, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 636, 500, 506, 501, 502, 503, 504, 505, + 0, 507, 0, 0, 0, 0, 0, 0, 583, 584, + 659, 380, 480, 593, 333, 345, 348, 338, 357, 0, + 358, 334, 335, 340, 342, 343, 344, 349, 350, 354, + 360, 248, 209, 386, 394, 570, 310, 215, 216, 217, + 516, 517, 518, 519, 607, 608, 612, 204, 457, 458, + 459, 460, 291, 602, 307, 463, 462, 329, 330, 375, + 444, 532, 534, 545, 549, 551, 553, 559, 562, 533, + 535, 546, 550, 552, 554, 560, 563, 522, 524, 526, + 528, 541, 540, 537, 565, 566, 543, 548, 527, 539, + 544, 557, 564, 561, 521, 525, 529, 538, 556, 555, + 536, 547, 558, 542, 530, 523, 531, 0, 196, 220, + 364, 0, 449, 287, 637, 606, 601, 205, 222, 0, + 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 321, 247, 323, 202, 408, - 492, 285, 0, 0, 0, 0, 0, 941, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, - 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, - 341, 346, 353, 359, 0, 0, 0, 0, 0, 264, - 319, 271, 263, 572, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, + 0, 0, 198, 200, 208, 221, 231, 235, 242, 260, + 275, 277, 284, 297, 308, 316, 317, 320, 326, 376, + 382, 383, 384, 385, 404, 405, 406, 409, 412, 413, + 416, 418, 419, 422, 426, 430, 431, 432, 434, 436, + 438, 450, 455, 469, 470, 471, 472, 473, 476, 477, + 482, 483, 484, 485, 486, 494, 495, 508, 578, 580, + 595, 613, 619, 475, 299, 300, 439, 440, 312, 313, + 633, 634, 298, 590, 620, 588, 632, 614, 433, 374, + 0, 0, 377, 280, 303, 318, 0, 605, 496, 226, + 461, 289, 250, 0, 0, 210, 245, 229, 258, 273, + 276, 322, 387, 395, 424, 429, 295, 270, 243, 454, + 240, 479, 511, 512, 513, 515, 391, 265, 428, 392, + 0, 372, 568, 569, 314, 520, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 411, 0, 0, + 0, 0, 0, 0, 0, 0, 269, 0, 0, 0, + 0, 362, 266, 0, 0, 425, 0, 203, 0, 481, + 251, 373, 370, 575, 281, 272, 268, 249, 315, 381, + 423, 510, 417, 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 321, 247, 323, 202, 408, 492, + 285, 0, 0, 0, 0, 0, 709, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, + 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, + 346, 353, 359, 0, 0, 0, 0, 0, 264, 319, + 271, 263, 572, 0, 0, 0, 0, 0, 0, 0, + 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 0, 397, 256, 0, 448, 0, 0, 0, 616, 0, - 0, 0, 0, 0, 0, 0, 361, 0, 328, 197, - 224, 0, 0, 407, 456, 468, 0, 0, 0, 252, - 0, 466, 421, 594, 232, 283, 453, 427, 464, 435, - 286, 0, 0, 465, 368, 577, 445, 591, 617, 618, - 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, - 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, - 623, 223, 474, 367, 241, 230, 579, 600, 288, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, + 397, 256, 0, 448, 0, 0, 0, 616, 0, 0, + 0, 0, 0, 0, 0, 361, 0, 328, 197, 224, + 0, 0, 407, 456, 468, 0, 0, 0, 252, 0, + 466, 421, 594, 232, 283, 453, 427, 464, 435, 286, + 0, 0, 465, 368, 577, 445, 591, 617, 618, 262, + 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, + 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, + 223, 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, 255, 639, @@ -7139,7 +7064,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 200, 208, 221, 231, 235, 242, 260, 275, 277, 284, 297, 308, 316, 317, - 320, 326, 376, 382, 383, 384, 385, 404, 405, 406, + 320, 326, 376, 382, 383, 384, 385, 4039, 405, 406, 409, 412, 413, 416, 418, 419, 422, 426, 430, 431, 432, 434, 436, 438, 450, 455, 469, 470, 471, 472, 473, 476, 477, 482, 483, 484, 485, 486, 494, 495, @@ -7157,7 +7082,7 @@ var yyAct = [...]int{ 249, 315, 381, 423, 510, 417, 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 247, 323, - 202, 408, 492, 285, 0, 0, 0, 0, 0, 194, + 202, 408, 492, 285, 0, 0, 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, 353, 359, 0, 0, 0, 0, @@ -7180,73 +7105,216 @@ var yyAct = [...]int{ 617, 618, 262, 401, 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, 230, 579, 600, - 288, 451, 630, 212, 509, 589, 238, 478, 0, 0, - 638, 246, 498, 214, 586, 497, 389, 324, 325, 213, - 0, 452, 267, 292, 0, 0, 257, 410, 581, 582, - 255, 639, 227, 610, 219, 0, 609, 403, 576, 587, - 390, 379, 218, 585, 388, 378, 332, 351, 352, 279, - 305, 442, 371, 443, 304, 306, 399, 398, 400, 206, - 598, 0, 207, 0, 493, 599, 640, 447, 211, 233, - 234, 236, 0, 278, 282, 290, 293, 301, 302, 311, - 363, 414, 441, 437, 446, 0, 571, 592, 604, 615, - 621, 622, 624, 625, 626, 627, 628, 631, 629, 402, - 309, 489, 331, 369, 0, 0, 420, 467, 239, 596, - 490, 199, 0, 0, 0, 0, 253, 254, 0, 567, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, - 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, - 652, 653, 654, 655, 656, 657, 658, 636, 500, 506, - 501, 502, 503, 504, 505, 0, 507, 0, 0, 0, - 0, 0, 0, 583, 584, 659, 380, 480, 593, 333, - 345, 348, 338, 357, 0, 358, 334, 335, 340, 342, - 343, 344, 349, 350, 354, 360, 248, 209, 386, 394, - 570, 310, 215, 216, 217, 516, 517, 518, 519, 607, - 608, 612, 204, 457, 458, 459, 460, 291, 602, 307, - 463, 462, 329, 330, 375, 444, 532, 534, 545, 549, - 551, 553, 559, 562, 533, 535, 546, 550, 552, 554, - 560, 563, 522, 524, 526, 528, 541, 540, 537, 565, - 566, 543, 548, 527, 539, 544, 557, 564, 561, 521, - 525, 529, 538, 556, 555, 536, 547, 558, 542, 530, - 523, 531, 0, 196, 220, 364, 0, 449, 287, 637, - 606, 601, 205, 222, 0, 261, 0, 0, 0, 0, + 0, 288, 451, 630, 212, 509, 589, 238, 478, 0, + 0, 638, 246, 498, 214, 586, 497, 389, 324, 325, + 213, 0, 452, 267, 292, 0, 0, 257, 410, 581, + 582, 255, 639, 227, 610, 219, 0, 609, 403, 576, + 587, 390, 379, 218, 585, 388, 378, 332, 351, 352, + 279, 305, 442, 371, 443, 304, 306, 399, 398, 400, + 206, 598, 0, 207, 0, 493, 599, 640, 447, 211, + 233, 234, 236, 0, 278, 282, 290, 293, 301, 302, + 311, 363, 414, 441, 437, 446, 0, 571, 592, 604, + 615, 621, 622, 624, 625, 626, 627, 628, 631, 629, + 402, 309, 489, 331, 369, 0, 0, 420, 467, 239, + 596, 490, 199, 0, 0, 0, 0, 253, 254, 0, + 567, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 636, 500, + 506, 501, 502, 503, 504, 505, 0, 507, 0, 0, + 0, 0, 0, 0, 583, 584, 659, 380, 480, 593, + 333, 345, 348, 338, 357, 0, 358, 334, 335, 340, + 342, 343, 344, 349, 350, 354, 360, 248, 209, 386, + 394, 570, 310, 215, 216, 217, 516, 517, 518, 519, + 607, 608, 612, 204, 457, 458, 459, 460, 291, 602, + 307, 463, 462, 329, 330, 375, 444, 532, 534, 545, + 549, 551, 553, 559, 562, 533, 535, 546, 550, 552, + 554, 560, 563, 522, 524, 526, 528, 541, 540, 537, + 565, 566, 543, 548, 527, 539, 544, 557, 564, 561, + 521, 525, 529, 538, 556, 555, 536, 547, 558, 542, + 530, 523, 531, 0, 196, 220, 364, 0, 449, 287, + 637, 606, 601, 205, 222, 0, 261, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 198, 200, + 208, 221, 231, 235, 242, 260, 275, 277, 284, 297, + 308, 316, 317, 320, 326, 376, 382, 383, 384, 385, + 404, 405, 406, 409, 412, 413, 416, 418, 419, 422, + 426, 430, 431, 432, 434, 436, 438, 450, 455, 469, + 470, 471, 472, 473, 476, 477, 482, 483, 484, 485, + 486, 494, 495, 508, 578, 580, 595, 613, 619, 475, + 299, 300, 439, 440, 312, 313, 633, 634, 298, 590, + 620, 588, 632, 614, 433, 374, 0, 0, 377, 280, + 303, 318, 0, 605, 496, 226, 461, 289, 250, 0, + 0, 210, 245, 229, 258, 273, 276, 322, 387, 395, + 424, 429, 295, 270, 243, 454, 240, 479, 511, 512, + 513, 515, 391, 265, 428, 392, 0, 372, 568, 569, + 314, 520, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 411, 0, 0, 0, 0, 0, 0, + 0, 0, 269, 0, 0, 0, 0, 362, 266, 0, + 0, 425, 0, 203, 0, 481, 251, 373, 370, 575, + 281, 272, 268, 249, 315, 381, 423, 510, 417, 0, + 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 321, 247, 323, 202, 408, 492, 285, 0, 0, 0, + 0, 0, 941, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 237, 0, 0, 244, 0, 0, 0, 347, + 356, 355, 336, 337, 339, 341, 346, 353, 359, 0, + 0, 0, 0, 0, 264, 319, 271, 263, 572, 0, + 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 296, 0, 397, 256, 0, 448, + 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, + 0, 361, 0, 328, 197, 224, 0, 0, 407, 456, + 468, 0, 0, 0, 252, 0, 466, 421, 594, 232, + 283, 453, 427, 464, 435, 286, 0, 0, 465, 368, + 577, 445, 591, 617, 618, 262, 401, 603, 514, 611, + 635, 225, 259, 415, 499, 597, 488, 393, 573, 574, + 327, 487, 294, 201, 365, 623, 223, 474, 367, 241, + 230, 579, 600, 0, 288, 451, 630, 212, 509, 589, + 238, 478, 0, 0, 638, 246, 498, 214, 586, 497, + 389, 324, 325, 213, 0, 452, 267, 292, 0, 0, + 257, 410, 581, 582, 255, 639, 227, 610, 219, 0, + 609, 403, 576, 587, 390, 379, 218, 585, 388, 378, + 332, 351, 352, 279, 305, 442, 371, 443, 304, 306, + 399, 398, 400, 206, 598, 0, 207, 0, 493, 599, + 640, 447, 211, 233, 234, 236, 0, 278, 282, 290, + 293, 301, 302, 311, 363, 414, 441, 437, 446, 0, + 571, 592, 604, 615, 621, 622, 624, 625, 626, 627, + 628, 631, 629, 402, 309, 489, 331, 369, 0, 0, + 420, 467, 239, 596, 490, 199, 0, 0, 0, 0, + 253, 254, 0, 567, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 641, 642, 643, 644, 645, 646, 647, + 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, + 658, 636, 500, 506, 501, 502, 503, 504, 505, 0, + 507, 0, 0, 0, 0, 0, 0, 583, 584, 659, + 380, 480, 593, 333, 345, 348, 338, 357, 0, 358, + 334, 335, 340, 342, 343, 344, 349, 350, 354, 360, + 248, 209, 386, 394, 570, 310, 215, 216, 217, 516, + 517, 518, 519, 607, 608, 612, 204, 457, 458, 459, + 460, 291, 602, 307, 463, 462, 329, 330, 375, 444, + 532, 534, 545, 549, 551, 553, 559, 562, 533, 535, + 546, 550, 552, 554, 560, 563, 522, 524, 526, 528, + 541, 540, 537, 565, 566, 543, 548, 527, 539, 544, + 557, 564, 561, 521, 525, 529, 538, 556, 555, 536, + 547, 558, 542, 530, 523, 531, 0, 196, 220, 364, + 0, 449, 287, 637, 606, 601, 205, 222, 0, 261, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 198, 200, 208, 221, 231, 235, 242, 260, 275, + 277, 284, 297, 308, 316, 317, 320, 326, 376, 382, + 383, 384, 385, 404, 405, 406, 409, 412, 413, 416, + 418, 419, 422, 426, 430, 431, 432, 434, 436, 438, + 450, 455, 469, 470, 471, 472, 473, 476, 477, 482, + 483, 484, 485, 486, 494, 495, 508, 578, 580, 595, + 613, 619, 475, 299, 300, 439, 440, 312, 313, 633, + 634, 298, 590, 620, 588, 632, 614, 433, 374, 0, + 0, 377, 280, 303, 318, 0, 605, 496, 226, 461, + 289, 250, 0, 0, 210, 245, 229, 258, 273, 276, + 322, 387, 395, 424, 429, 295, 270, 243, 454, 240, + 479, 511, 512, 513, 515, 391, 265, 428, 392, 0, + 372, 568, 569, 314, 520, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 411, 0, 0, 0, + 0, 0, 0, 0, 0, 269, 0, 0, 0, 0, + 362, 266, 0, 0, 425, 0, 203, 0, 481, 251, + 373, 370, 575, 281, 272, 268, 249, 315, 381, 423, + 510, 417, 0, 366, 0, 0, 491, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 198, 200, 208, - 221, 231, 235, 242, 260, 275, 277, 284, 297, 308, - 316, 317, 320, 326, 376, 382, 383, 384, 385, 404, - 405, 406, 409, 412, 413, 416, 418, 419, 422, 426, - 430, 431, 432, 434, 436, 438, 450, 455, 469, 470, - 471, 472, 473, 476, 477, 482, 483, 484, 485, 486, - 494, 495, 508, 578, 580, 595, 613, 619, 475, 299, - 300, 439, 440, 312, 313, 633, 634, 298, 590, 620, - 588, 632, 614, 433, 374, 0, 0, 377, 280, 303, - 318, 0, 605, 496, 226, 461, 289, 250, 0, 0, - 210, 245, 229, 258, 273, 276, 322, 387, 395, 424, - 429, 295, 270, 243, 454, 240, 479, 511, 512, 513, - 515, 391, 265, 428, 0, 0, 372, 568, 569, 314, + 0, 0, 0, 321, 247, 323, 202, 408, 492, 285, + 0, 0, 0, 0, 0, 194, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 237, 0, 0, 244, 0, + 0, 0, 347, 356, 355, 336, 337, 339, 341, 346, + 353, 359, 0, 0, 0, 0, 0, 264, 319, 271, + 263, 572, 0, 0, 0, 0, 0, 0, 0, 0, + 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 296, 0, 397, + 256, 0, 448, 0, 0, 0, 616, 0, 0, 0, + 0, 0, 0, 0, 361, 0, 328, 197, 224, 0, + 0, 407, 456, 468, 0, 0, 0, 252, 0, 466, + 421, 594, 232, 283, 453, 427, 464, 435, 286, 0, + 0, 465, 368, 577, 445, 591, 617, 618, 262, 401, + 603, 514, 611, 635, 225, 259, 415, 499, 597, 488, + 393, 573, 574, 327, 487, 294, 201, 365, 623, 223, + 474, 367, 241, 230, 579, 600, 0, 288, 451, 630, + 212, 509, 589, 238, 478, 0, 0, 638, 246, 498, + 214, 586, 497, 389, 324, 325, 213, 0, 452, 267, + 292, 0, 0, 257, 410, 581, 582, 255, 639, 227, + 610, 219, 0, 609, 403, 576, 587, 390, 379, 218, + 585, 388, 378, 332, 351, 352, 279, 305, 442, 371, + 443, 304, 306, 399, 398, 400, 206, 598, 0, 207, + 0, 493, 599, 640, 447, 211, 233, 234, 236, 0, + 278, 282, 290, 293, 301, 302, 311, 363, 414, 441, + 437, 446, 0, 571, 592, 604, 615, 621, 622, 624, + 625, 626, 627, 628, 631, 629, 402, 309, 489, 331, + 369, 0, 0, 420, 467, 239, 596, 490, 199, 0, + 0, 0, 0, 253, 254, 0, 567, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 636, 500, 506, 501, 502, 503, + 504, 505, 0, 507, 0, 0, 0, 0, 0, 0, + 583, 584, 659, 380, 480, 593, 333, 345, 348, 338, + 357, 0, 358, 334, 335, 340, 342, 343, 344, 349, + 350, 354, 360, 248, 209, 386, 394, 570, 310, 215, + 216, 217, 516, 517, 518, 519, 607, 608, 612, 204, + 457, 458, 459, 460, 291, 602, 307, 463, 462, 329, + 330, 375, 444, 532, 534, 545, 549, 551, 553, 559, + 562, 533, 535, 546, 550, 552, 554, 560, 563, 522, + 524, 526, 528, 541, 540, 537, 565, 566, 543, 548, + 527, 539, 544, 557, 564, 561, 521, 525, 529, 538, + 556, 555, 536, 547, 558, 542, 530, 523, 531, 0, + 196, 220, 364, 0, 449, 287, 637, 606, 601, 205, + 222, 0, 261, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 198, 200, 208, 221, 231, 235, + 242, 260, 275, 277, 284, 297, 308, 316, 317, 320, + 326, 376, 382, 383, 384, 385, 404, 405, 406, 409, + 412, 413, 416, 418, 419, 422, 426, 430, 431, 432, + 434, 436, 438, 450, 455, 469, 470, 471, 472, 473, + 476, 477, 482, 483, 484, 485, 486, 494, 495, 508, + 578, 580, 595, 613, 619, 475, 299, 300, 439, 440, + 312, 313, 633, 634, 298, 590, 620, 588, 632, 614, + 433, 374, 0, 0, 377, 280, 303, 318, 0, 605, + 496, 226, 461, 289, 250, 0, 0, 210, 245, 229, + 258, 273, 276, 322, 387, 395, 424, 429, 295, 270, + 243, 454, 240, 479, 511, 512, 513, 515, 391, 265, + 428, 0, 0, 372, 568, 569, 314, } var yyPact = [...]int{ - -1000, -1000, 6231, -1000, -531, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 4460, -1000, -532, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 2350, 2400, -1000, -1000, -1000, -1000, 2535, -1000, 1002, - 1986, -1000, 2335, 4910, -1000, 54918, 503, -1000, 52030, -434, - 871, 236, 36146, -1000, 195, -1000, 184, 53474, 188, -1000, - -1000, -1000, -1000, -434, 21704, 2285, 57, 52, 54918, -1000, - -1000, -1000, -1000, -355, 2510, 1962, -1000, 415, -1000, -1000, - -1000, -1000, -1000, -1000, 51308, -1000, 1084, -1000, -1000, 2358, - 2349, 2259, 898, 2272, -1000, 2451, 1962, -1000, 21704, 2492, - 2407, 20982, 20982, 462, -1000, -1000, 315, -1000, -1000, 31092, - 54918, 39034, 306, -1000, 2335, -1000, -1000, -1000, 192, -1000, - 384, 1895, -1000, 1894, -1000, 892, 1017, 407, 875, 862, - 406, 395, 394, 389, 385, 381, 379, 361, 413, -1000, - 928, 928, -204, -208, 1319, 457, 449, 449, 1041, 476, - 2301, 2300, -1000, -1000, 928, 928, 928, 346, 928, 928, - 928, 928, 328, 327, 928, 928, 928, 928, 928, 928, - 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, - 928, 860, 2335, 310, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 2319, 2394, -1000, -1000, -1000, -1000, 2570, -1000, 1048, + 1981, -1000, 2298, 4124, -1000, 55594, 773, -1000, 52702, -434, + 903, 267, 36796, -1000, 199, -1000, 182, 54148, 188, -1000, + -1000, -1000, -1000, -434, 22334, 2218, 63, 55, 55594, -1000, + -1000, -1000, -1000, -354, 2528, 1957, -1000, 428, -1000, -1000, + -1000, -1000, -1000, -1000, 51979, -1000, 1198, -1000, -1000, 2324, + 2322, 2237, 930, 2268, -1000, 2434, 1957, -1000, 22334, 2502, + 2415, 21611, 21611, 457, -1000, -1000, 292, -1000, -1000, 31735, + 55594, 39688, 289, -1000, 2298, -1000, -1000, -1000, 216, -1000, + 331, 1880, -1000, 1879, -1000, 958, 470, 372, 478, 456, + 370, 368, 366, 365, 363, 347, 343, 342, 376, -1000, + 947, 947, -206, -210, 2008, 473, 432, 432, 1042, 494, + 2266, 2254, -1000, -1000, 947, 947, 947, 348, 947, 947, + 947, 947, 288, 283, 947, 947, 947, 947, 947, 947, + 947, 947, 947, 947, 947, 947, 947, 947, 947, 947, + 947, 938, 2298, 269, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -7291,68 +7359,68 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 54918, 181, 54918, -1000, 819, 495, -1000, -1000, -438, 1091, - 1091, 69, 1091, 1091, 1091, 1091, 186, 971, 50, -1000, - 185, 281, 173, 294, 1044, 321, -1000, -1000, 277, 1044, - 1769, -1000, 903, 286, 216, -1000, 1091, 1091, -1000, 14459, - 252, 14459, 14459, -1000, 2324, -1000, -1000, -1000, -1000, -1000, - 1341, -1000, -1000, -1000, -1000, -27, 475, -1000, -1000, -1000, - -1000, 53474, 50586, 275, -1000, -1000, 47, 1807, 1263, 21704, - 1256, 896, -1000, -1000, 1187, 873, -1000, -1000, -1000, -1000, - -1000, 522, -1000, 23870, 23870, 23870, 23870, -1000, -1000, 1897, - 49864, 1897, 1897, 23870, 1897, 23870, 1897, 1897, 1897, 21704, - 1897, 1897, 1897, 1897, -1000, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, -1000, -1000, -1000, -1000, 1897, 817, 1897, 1897, - 1897, 1897, 1897, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1897, 1897, 1897, 1897, 1897, 1897, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 26758, 1482, 1480, 1475, -1000, 18816, 1897, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 55594, 202, 55594, -1000, 840, 772, -1000, -1000, -438, 1084, + 1084, 88, 1084, 1084, 1084, 1084, 184, 1011, 54, -1000, + 180, 262, 171, 265, 1082, 800, -1000, -1000, 255, 1082, + 1744, -1000, 935, 264, 177, -1000, 1084, 1084, -1000, 15079, + 232, 15079, 15079, -1000, 2282, -1000, -1000, -1000, -1000, -1000, + 1362, -1000, -1000, -1000, -1000, -25, 488, -1000, -1000, -1000, + -1000, 54148, 51256, 263, -1000, -1000, 340, 1811, 1179, 22334, + 1118, 928, -1000, -1000, 1241, 907, -1000, -1000, -1000, -1000, + -1000, 826, -1000, 24503, 24503, 24503, 24503, -1000, -1000, 1883, + 50533, 1883, 1883, 24503, 1883, 24503, 1883, 1883, 1883, 22334, + 1883, 1883, 1883, 1883, -1000, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, -1000, -1000, -1000, -1000, 1883, 839, 1883, 1883, + 1883, 1883, 1883, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1883, 1883, 1883, 1883, 1883, 1883, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 27395, 1478, 1470, 1468, -1000, 19442, 1883, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 54918, -1000, 1897, - 217, 53474, 53474, 349, 1336, -1000, -1000, 2451, 1962, -1000, - 2510, 2462, 415, -1000, 3317, 1694, 1510, 1506, 1962, 1870, - 54918, -1000, 1913, -1000, -1000, -1000, -313, -318, 2197, 1471, - 1755, -1000, -1000, -1000, -1000, 2251, 21704, -1000, -1000, 2532, - -1000, 28203, 816, 2531, 49142, -1000, 462, 462, 1888, 428, - 33, -1000, -1000, -1000, -1000, 942, 35424, -1000, -1000, -1000, - -1000, -1000, 1766, 54918, -1000, -1000, 4141, 1347, -1000, 1985, - -1000, 1748, -1000, 1931, 21704, 1998, 493, 1347, 484, 483, - 482, -1000, -53, -1000, -1000, -1000, -1000, -1000, -1000, 928, - 928, 928, -1000, 387, 2490, 4910, 6412, -1000, -1000, -1000, - 48420, 1984, 1347, -1000, 1980, -1000, 1007, 869, 865, 865, - 1347, -1000, -1000, 54196, 1347, 1006, 1004, 1347, 1347, 53474, - 53474, -1000, 47698, -1000, 46976, 46254, 1328, 53474, 45532, 44810, - 44088, 43366, 42644, -1000, 2238, -1000, 2058, -1000, -1000, -1000, - 54196, 1347, 1347, 54196, 53474, 54196, 54918, 1347, -1000, -1000, - 338, -1000, -1000, 1320, 1308, 1305, 928, 928, 1291, 1742, - 1741, 1733, 928, 928, 1284, 1732, 37590, 1729, 269, 1283, - 1282, 1281, 1246, 1721, 193, 1712, 1245, 1229, 1279, 53474, - 1976, 54918, -1000, 262, 970, 935, 940, 2335, 2281, 1884, - 471, 492, 1347, 452, 452, 53474, -1000, 15187, 54918, 227, - -1000, 1665, 21704, -1000, 1054, 1044, 1044, -1000, -1000, -1000, - -1000, -1000, -1000, 1091, 54918, 1054, -1000, -1000, -1000, 1044, - 1091, 54918, 1091, 1091, 1091, 1091, 1044, 1044, 1044, 1091, - 54918, 54918, 54918, 54918, 54918, 54918, 54918, 54918, 54918, 14459, - 903, 1091, -440, -1000, 1663, -1000, -1000, -1000, 2117, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 55594, -1000, 1883, + 227, 54148, 54148, 349, 1357, -1000, -1000, 2434, 1957, -1000, + 2528, 2524, 428, -1000, 2979, 1465, 1510, 1483, 1957, 1853, + 55594, -1000, 1911, -1000, -1000, -1000, -305, -333, 2108, 1432, + 1739, -1000, -1000, -1000, -1000, 1975, 22334, -1000, -1000, 2557, + -1000, 28842, 838, 2553, 49810, -1000, 457, 457, 1876, 420, + 8, -1000, -1000, -1000, -1000, 978, 36073, -1000, -1000, -1000, + -1000, -1000, 1749, 55594, -1000, -1000, 5471, 1350, -1000, 1980, + -1000, 1743, -1000, 1936, 22334, 1999, 771, 1350, 519, 502, + 472, -1000, -59, -1000, -1000, -1000, -1000, -1000, -1000, 947, + 947, 947, -1000, 333, 2500, 4124, 5503, -1000, -1000, -1000, + 49087, 1978, 1350, -1000, 1974, -1000, 1066, 841, 863, 863, + 1350, -1000, -1000, 54871, 1350, 1064, 1062, 1350, 1350, 54148, + 54148, -1000, 48364, -1000, 47641, 46918, 1355, 54148, 46195, 45472, + 44749, 44026, 43303, -1000, 2260, -1000, 2398, -1000, -1000, -1000, + 54871, 1350, 1350, 54871, 54148, 54871, 55594, 1350, -1000, -1000, + 359, -1000, -1000, 1354, 1353, 1352, 947, 947, 1349, 1736, + 1731, 1720, 947, 947, 1344, 1718, 38242, 1717, 284, 1343, + 1341, 1337, 1323, 1716, 203, 1714, 1285, 1282, 1334, 54148, + 1973, 55594, -1000, 251, 1037, 437, 977, 2298, 2212, 1875, + 480, 768, 1350, 454, 454, 54148, -1000, 15808, 55594, 225, + -1000, 1708, 22334, -1000, 1083, 1082, 1082, -1000, -1000, -1000, + -1000, -1000, -1000, 1084, 55594, 1083, -1000, -1000, -1000, 1082, + 1084, 55594, 1084, 1084, 1084, 1084, 1082, 1082, 1082, 1084, + 55594, 55594, 55594, 55594, 55594, 55594, 55594, 55594, 55594, 15079, + 935, 1084, -439, -1000, 1687, -1000, -1000, -1000, 2087, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -7366,328 +7434,330 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 14459, 14459, -1000, -1000, - -1000, -1000, -1000, 1882, -1000, 174, 19, 187, -1000, 41922, - 518, 938, -1000, 518, -1000, -1000, -1000, 1875, 41200, -1000, - -441, -442, -448, -449, -1000, -1000, -1000, -451, -455, -1000, - -1000, -1000, 21704, 21704, 21704, 21704, -238, -1000, 1191, 23870, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 21704, 251, 941, - 23870, 23870, 23870, 23870, 23870, 23870, 23870, 25314, 24592, 23870, - 23870, 23870, 23870, 23870, 23870, -1000, -1000, 33258, 3221, 3221, - 873, 873, 873, 873, -1000, -164, 1872, 54196, -1000, -1000, - -1000, 815, 21704, 21704, 873, -1000, 1347, 1289, 18816, 20982, - 20982, 21704, 945, 1263, 54196, 21704, -1000, 1506, -1000, -1000, - -1000, -1000, 1159, -1000, -1000, 1043, 2309, 2309, 2309, 2309, - 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, - 2309, 21704, 213, 213, 1731, 21704, 21704, 21704, 21704, 21704, - 21704, 17371, 21704, 21704, 23870, 21704, 21704, 21704, 1506, 21704, - 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, - 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, - 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, - 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, - 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, - 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, - 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, - 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 1506, 21704, - 1418, 21704, 21704, 21704, 21704, 21704, 21704, 20982, 16643, 20982, - 20982, 20982, 20982, 20982, -1000, -1000, -1000, -1000, -1000, -1000, - 21704, 21704, 21704, 21704, 21704, 21704, 21704, 21704, 1506, 21704, - 21704, 21704, 21704, 21704, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1545, 1520, 1459, 21704, -1000, 1871, - -1000, -184, 30370, 21704, 1633, 2528, 2014, 53474, -1000, -1000, - -1000, -1000, 2451, -1000, 2451, 1545, 3299, 2202, 20982, -1000, - -1000, 3299, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1740, -1000, 54918, 1870, 2402, 53474, -1000, -268, -1000, -274, - 2194, 1626, 341, -1000, 21704, 21704, 1867, -1000, 2124, 54918, - -1000, -238, -1000, 40478, -1000, -1000, 13731, 54918, 358, 54918, - -1000, 29648, 39756, 304, -1000, 33, 1854, -1000, 23, 12, - 18093, 866, -1000, -1000, -1000, 1319, 26036, 1785, 866, 116, - -1000, -1000, -1000, 1931, -1000, 1931, 1931, 1931, 1931, 341, - 341, 341, 341, -1000, -1000, -1000, -1000, -1000, 1974, 1972, - -1000, 1931, 1931, 1931, 1931, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1969, 1969, 1969, 1967, 1967, 1949, 1949, 444, - -1000, 21704, 397, 39034, 2347, 1275, 1243, 262, 454, 2013, - 1347, 1347, 1347, 454, -1000, 1421, 1390, 1376, -1000, -509, - 1865, -1000, -1000, 2487, -1000, -1000, 905, 1050, 1042, 959, - 53474, 228, 348, -1000, 435, -1000, 39034, 1347, 994, 865, - 1347, -1000, 1347, -1000, -1000, -1000, -1000, -1000, 1347, -1000, - -1000, 1864, -1000, 1787, 1156, 1036, 1062, 987, 1864, -1000, - -1000, -173, 1864, -1000, 1864, -1000, 1864, -1000, 1864, -1000, - 1864, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 991, 300, -325, 53474, 228, 467, -1000, 466, 33258, -1000, - -1000, -1000, 33258, 33258, -1000, -1000, -1000, -1000, 1624, 1620, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 15079, 15079, -1000, -1000, + -1000, -1000, -1000, 1870, -1000, 178, 31, 185, -1000, 42580, + 474, 976, -1000, 474, -1000, -1000, -1000, 1868, 41857, -1000, + -441, -442, -445, -447, -1000, -1000, -1000, -450, -457, -1000, + -1000, -1000, 22334, 22334, 22334, 22334, -239, -1000, 1172, 24503, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 22334, 224, 987, + 24503, 24503, 24503, 24503, 24503, 24503, 24503, 25949, 25226, 24503, + 24503, 24503, 24503, 24503, 24503, -1000, -1000, 33904, 4605, 4605, + 907, 907, 907, 907, -1000, -177, 1865, 54871, -1000, -1000, + -1000, 837, 22334, 22334, 907, -1000, 1350, 1137, 19442, 21611, + 21611, 22334, 986, 1179, 54871, 22334, -1000, 1483, -1000, -1000, + -1000, -1000, 1248, -1000, -1000, 1063, 2293, 2293, 2293, 2293, + 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, + 2293, 22334, 169, 169, 714, 22334, 22334, 22334, 22334, 22334, + 22334, 17995, 22334, 22334, 24503, 22334, 22334, 22334, 1483, 22334, + 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, + 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, + 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, + 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, + 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, + 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, + 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, + 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 1483, 22334, + 1264, 22334, 22334, 22334, 22334, 22334, 22334, 21611, 17266, 21611, + 21611, 21611, 21611, 21611, -1000, -1000, -1000, -1000, -1000, -1000, + 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 1483, 22334, + 22334, 22334, 22334, 22334, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1520, 1529, 1482, 22334, -1000, 1864, + -1000, -180, 31012, 22334, 1616, 2552, 2012, 54148, -1000, -1000, + -1000, -1000, 2434, -1000, 2434, 1520, 2755, 2132, 21611, -1000, + -1000, 2755, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1741, -1000, 55594, 1853, 2375, 54148, -1000, -284, -1000, -290, + 2128, 1611, 346, -1000, 22334, 22334, 1852, -1000, 1345, 55594, + -1000, -239, -1000, 41134, -1000, -1000, 14350, 55594, 337, 55594, + -1000, 30289, 40411, 316, -1000, 8, 1831, -1000, 26, 21, + 18718, 891, -1000, -1000, -1000, 2008, 26672, 1800, 891, 101, + -1000, -1000, -1000, 1936, -1000, 1936, 1936, 1936, 1936, 346, + 346, 346, 346, -1000, -1000, -1000, -1000, -1000, 1968, 1964, + -1000, 1936, 1936, 1936, 1936, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -500, - 54918, -1000, 235, 936, 333, 318, 322, 54918, 226, 2441, - 2439, 2434, 2433, 2409, 250, 325, 54918, 54918, 452, 2074, - 54918, 2365, 54918, -1000, -1000, -1000, -1000, -1000, 1613, 1602, - -1000, 1263, 54918, -1000, -1000, 1091, 1091, -1000, -1000, 54918, - 1091, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1091, + -1000, -1000, 1959, 1959, 1959, 1951, 1951, 1937, 1937, 441, + -1000, 22334, 395, 39688, 2353, 1331, 2181, 251, 463, 2005, + 1350, 1350, 1350, 463, -1000, 1427, 1425, 1422, -1000, -519, + 1849, -1000, -1000, 2496, -1000, -1000, 890, 1138, 1097, 1002, + 54148, 228, 313, -1000, 442, -1000, 39688, 1350, 1054, 863, + 1350, -1000, 1350, -1000, -1000, -1000, -1000, -1000, 1350, -1000, + -1000, 1846, -1000, 1843, 1168, 1092, 1163, 1089, 1846, -1000, + -1000, -175, 1846, -1000, 1846, -1000, 1846, -1000, 1846, -1000, + 1846, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 991, 325, -358, 54148, 228, 479, -1000, 469, 33904, -1000, + -1000, -1000, 33904, 33904, -1000, -1000, -1000, -1000, 1604, 1592, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 54918, -1000, -1000, -1000, -1000, - -27, 170, -1000, -1000, 53474, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -105, -1000, 255, 16, 416, -1000, - -1000, -1000, -1000, -1000, 2421, -1000, 1263, 986, 976, -1000, - 1897, -1000, -1000, 1176, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 251, 23870, 23870, 23870, 1304, 822, 1410, 1456, - 1317, 904, 904, 1132, 23870, 1132, 23870, 877, 877, 877, - 877, 877, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1598, -1000, 1897, 54196, 1727, 16643, 1496, 2842, 1506, 890, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -503, + 55594, -1000, 246, 968, 277, 374, 296, 55594, 377, 2428, + 2427, 2420, 2408, 2405, 2392, 250, 276, 55594, 55594, 454, + 2064, 55594, 2358, 55594, -1000, -1000, -1000, -1000, -1000, 1590, + 1585, -1000, 1179, 55594, -1000, -1000, 1084, 1084, -1000, -1000, + 55594, 1084, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1084, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 55594, -1000, -1000, -1000, + -1000, -25, 175, -1000, -1000, 54148, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -103, -1000, 301, 18, 367, + -1000, -1000, -1000, -1000, -1000, 2431, -1000, 1179, 1010, 1041, + -1000, 1883, -1000, -1000, 1246, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 224, 24503, 24503, 24503, 1572, 806, 1484, + 1159, 1613, 937, 937, 901, 24503, 901, 24503, 911, 911, + 911, 911, 911, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1583, -1000, 1883, 54871, 1703, 17266, 1541, 1755, 1483, + 923, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 4252, 1711, -1000, 1711, 1805, 961, -1000, 21704, 1506, 4247, - -1000, -1000, 1506, 1506, 21704, -1000, -1000, 21704, 21704, 21704, - 21704, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, - 1243, 21704, 1243, 1863, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 4131, 1679, -1000, 1679, 1332, 994, -1000, 22334, 1483, + 4125, -1000, -1000, 1483, 1483, 22334, -1000, -1000, 22334, 22334, + 22334, 22334, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, + 2181, 2181, 22334, 2181, 1839, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1861, 2527, 1415, 1243, 1243, 1243, 1243, 1243, - 21704, 1783, -1000, -1000, -1000, 1527, 4196, 1225, 4190, 1243, - 1243, -1000, 1243, 4183, 4166, 1506, 1807, 2869, 2862, 1243, - 1243, 1243, 1243, 1243, 2812, 2741, 1243, 1243, 2685, 1243, - 4162, 1243, 2679, 2660, 2649, 2639, 2621, 2616, 2599, 2593, - 2589, 2581, 2577, 2572, 2516, 2499, 2495, 2491, 2486, 2469, - 1243, 1243, 1243, 4158, 1243, 4153, 1243, 4149, 1243, 1243, - 4143, 2456, 2452, 1506, 1858, -1000, 4133, 1243, 4124, 4119, - 4105, 2425, 4100, 3884, 3866, 1243, 1243, 1243, 2420, 3860, - 3852, 3831, 3827, 3823, 3818, 3810, 3498, 3484, 1243, 1459, - 1459, 1459, 1459, 1459, 3480, -240, 1243, 1506, -1000, -1000, - -1000, -1000, -1000, 3467, 2412, 3463, 3456, 3395, 3389, 1506, - 1855, 1897, 814, -1000, -1000, 1711, 1506, 1506, 1711, 1711, - 3385, 3376, 3356, 3303, 3255, 3185, 1243, 1243, -1000, 1243, - 3029, 3025, 2391, 2354, 1506, -1000, 1459, 54918, -1000, -431, - -1000, 4, 960, 1897, -1000, 37590, 1506, -1000, 4165, -1000, - 1157, -1000, -1000, -1000, -1000, -1000, 34702, 1782, 3299, -1000, - -1000, 1897, 1705, -1000, -1000, -1000, -1000, 341, 76, 33980, - 870, 870, 129, 1263, 1263, 21704, -1000, -1000, -1000, -1000, - -1000, -1000, 804, 2505, 400, 1897, -1000, 1788, 2093, -1000, - -1000, -1000, 2399, 27481, -1000, -1000, 1897, 1897, 54918, 1820, - 1790, -1000, 803, -1000, 1349, 1854, 33, 9, -1000, -1000, - -1000, -1000, 1263, -1000, 1358, 360, 1394, -1000, 439, -1000, - -1000, -1000, -1000, 2292, 88, -1000, -1000, -1000, 787, 341, - -1000, -1000, -1000, -1000, -1000, -1000, 1595, 1595, -1000, -1000, - -1000, -1000, -1000, 1274, -1000, -1000, -1000, -1000, 1273, -1000, - -1000, 1272, -1000, -1000, 2165, 2044, 397, -1000, -1000, 928, - 1581, -1000, -1000, 2295, 928, 928, 53474, -1000, -1000, 1662, - 2347, 235, 54918, 964, 2073, -1000, 2013, 2013, 2013, 54918, - -1000, -1000, -1000, -1000, -1000, -1000, -511, 165, 382, -1000, - -1000, -1000, 5045, 53474, 1703, -1000, 221, -1000, 1640, -1000, - 53474, -1000, 1701, 1965, 1347, 1347, -1000, -1000, -1000, 53474, - 1897, -1000, -1000, -1000, -1000, 490, 2330, 347, -1000, -1000, - -258, -1000, -1000, 228, 221, 54196, 1347, 866, -1000, -1000, - -1000, -1000, -1000, -503, 1697, 480, 222, 489, 54918, 54918, - 54918, 54918, 54918, 54918, 785, -1000, -1000, 35, -1000, -1000, - 198, -1000, -1000, -1000, -1000, 198, -1000, -1000, -1000, -1000, - 314, 458, -1000, 54918, 54918, 924, -1000, -1000, -1000, -1000, - -1000, 1044, -1000, -1000, 1044, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2315, 54918, 11, - -470, -1000, -467, 21704, -1000, -1000, -1000, -1000, 1149, 798, - 1410, 23870, 23870, 1289, 1289, 23870, -1000, -1000, -1000, 832, - 832, 33258, -1000, 23870, 21704, 20982, -1000, -1000, 21704, 21704, - 947, -1000, 21704, 1359, -1000, 21704, -1000, -1000, 1459, 1243, - 1243, 1243, 1243, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1789, -1000, 21704, 21704, 21704, 1506, 309, - -1000, -1000, -1000, -1000, -1000, 2521, -1000, 21704, -1000, 33258, - 21704, 21704, 21704, -1000, -1000, -1000, 21704, 21704, -1000, -1000, - 21704, -1000, 21704, -1000, -1000, -1000, -1000, -1000, -1000, 21704, - -1000, 21704, -1000, -1000, -1000, 21704, -1000, 21704, -1000, -1000, - 21704, -1000, 21704, -1000, 21704, -1000, 21704, -1000, 21704, -1000, - 21704, -1000, 21704, -1000, 21704, -1000, 21704, -1000, 21704, -1000, - 21704, -1000, 21704, -1000, 21704, -1000, 21704, -1000, 21704, -1000, - 21704, -1000, 21704, -1000, 21704, -1000, -1000, -1000, 21704, -1000, - 21704, -1000, 21704, -1000, -1000, 21704, -1000, 21704, -1000, 21704, - -1000, 21704, 21704, -1000, 21704, 21704, 21704, -1000, 21704, 21704, - 21704, 21704, -1000, -1000, -1000, -1000, 21704, 21704, 21704, 21704, - 21704, 21704, 21704, 21704, 21704, 21704, -1000, -1000, -1000, -1000, - -1000, -1000, 21704, -1000, 39034, 53, -240, 1418, 53, 1418, - 23148, 823, 786, 22426, -1000, 20982, 15915, -1000, -1000, -1000, - -1000, -1000, 21704, 21704, 21704, 21704, 21704, 21704, -1000, -1000, - -1000, 21704, 21704, -1000, 21704, -1000, 21704, -1000, -1000, -1000, - -1000, -1000, 960, -1000, 865, 865, 865, 53474, -1000, -1000, - -1000, -1000, 1848, -1000, 2438, -1000, 2232, 2224, 2520, 2505, - -1000, 29648, 3299, -1000, -1000, 53474, -419, -1000, 2273, 2240, - 870, 870, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 13003, - 2451, 21704, 2072, 54196, 253, -1000, 28926, 53474, 54196, 29648, - 29648, 29648, 29648, 29648, -1000, 2103, 2101, -1000, 2133, 2125, - 2134, 54918, -1000, 1545, 1689, -1000, 21704, 31814, 1829, 29648, - -1000, -1000, 29648, 54918, 12275, -1000, -1000, 10, -3, -1000, - -1000, -1000, -1000, 1319, -1000, -1000, 927, 2386, 2283, -1000, - -1000, -1000, -1000, -1000, 1677, -1000, 1675, 1844, 1673, 1661, - 300, -1000, 1997, 2313, 928, 928, -1000, 1271, -1000, 1347, - 1564, 1560, -1000, -1000, -1000, 478, -1000, 2363, 54918, 2071, - 2070, 2054, -1000, -521, 1269, 1963, 1910, 21704, 1959, 2485, - 1832, 53474, -1000, -1000, 54196, -1000, 274, -1000, 397, 53474, - -1000, -1000, -1000, 348, 54918, -1000, 7141, -1000, -1000, -1000, - 221, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 54918, 258, - -1000, 1955, 1195, -1000, -1000, 1990, -1000, -1000, -1000, -1000, - -1000, 223, 197, 1547, 201, 1524, 201, -1000, 54918, 921, - 2044, 54918, -1000, -1000, -1000, 1091, 1091, -1000, -1000, 2310, - -1000, 1347, 1243, 23870, 23870, -1000, 873, -1000, -1000, 419, - -216, 1931, 1931, -1000, 1931, 1949, -1000, 1931, 154, 1931, - 138, 1931, -1000, -1000, 1506, 1506, -1000, 1459, -1000, 2346, - 1114, -1000, 1263, 21704, 3020, -1000, -1000, -1000, -1000, -1000, - -60, 2979, 2963, 1243, -1000, 1929, 1927, 21704, 1243, 1506, - 2312, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, - 1243, 1243, 1243, 2308, 2298, 2280, 2275, 2271, 2267, 2239, - 2211, 2198, 2189, 2056, 1994, 1981, 1977, 1946, 1915, 1243, - 1243, 1905, 1243, 1901, 1822, -1000, 1263, 1459, 2952, 1459, - 1243, 1243, 2915, 343, 1243, 1637, 1637, 1637, 1637, 1637, - 1459, 1459, 1459, 1459, 1243, 53474, -1000, -240, -1000, -1000, - -312, -316, -1000, 1506, -240, 1840, 23870, 1243, 23870, 23870, - 23870, 1243, 1506, -1000, 1814, 1791, 2892, 1754, 1243, 2746, - 1243, 1243, 1243, 1718, -1000, 2403, 2403, 2403, 1617, 1157, - 54918, -1000, -1000, -1000, -1000, 2505, 2459, 1834, -1000, -1000, - 76, 614, -1000, 2266, 2240, -1000, 2484, 2260, 2482, -1000, - -1000, -1000, -1000, -1000, 1263, -1000, 2339, 1804, -1000, 932, - 1812, -1000, -1000, 20260, 1631, 2210, 797, 1617, 1853, 2093, - 2007, 2048, 3006, -1000, -1000, -1000, -1000, 2092, -1000, 2068, - -1000, -1000, 1913, -1000, 2696, 358, 29648, 1851, 1851, -1000, - 537, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1063, 7141, - 2540, -1000, 1502, -1000, 1346, 205, 1250, -1000, -1000, 928, - 928, -1000, 993, 992, -1000, 54918, 1926, -1000, 341, 1498, - 341, 1234, -1000, -1000, 1233, -1000, -1000, -1000, -1000, 2055, - 2075, -1000, -1000, -1000, -1000, 54918, -1000, -1000, 54918, 54918, - 54918, 1923, 2478, -1000, 21704, 1922, 931, 2153, 53474, 53474, + -1000, -1000, -1000, 1838, 2551, 1523, 2181, 2181, 2181, 2181, + 2181, 22334, 1528, -1000, -1000, -1000, 1431, 4121, 1559, 4099, + 2181, 2181, -1000, 2181, 3887, 3883, 1483, 1811, 2655, 2646, + 2181, 2181, 2181, 2181, 2181, 2634, 2614, 2181, 2181, 2609, + 2181, 3864, 2181, 2596, 2540, 2535, 2515, 2505, 2493, 2467, + 2449, 2437, 2417, 2410, 2406, 2391, 2372, 2360, 2334, 2323, + 2316, 2181, 2181, 2181, 3853, 2181, 3826, 2181, 3820, 2181, + 2181, 3815, 2303, 2285, 1483, 1837, -1000, 3512, 2181, 3504, + 3487, 3470, 2247, 3466, 3459, 3451, 2181, 2181, 2181, 2228, + 3436, 3417, 3390, 3380, 3358, 3345, 3305, 3058, 3026, 2181, + 1482, 1482, 1482, 1482, 1482, 3021, -242, 2181, 1483, -1000, + -1000, -1000, -1000, -1000, 3002, 2220, 2981, 2973, 2968, 2951, + 1483, 1836, 1883, 834, -1000, -1000, 1679, 1483, 1483, 1679, + 1679, 2941, 2912, 2898, 2894, 2879, 2868, 2181, 2181, -1000, + 2181, 2833, 2777, 2215, 2208, 1483, -1000, 1482, 55594, -1000, + -430, -1000, 12, 974, 1883, -1000, 38242, 1483, -1000, 4966, + -1000, 1250, -1000, -1000, -1000, -1000, -1000, 35350, 1781, 2755, + -1000, -1000, 1883, 1677, -1000, -1000, -1000, -1000, 346, 81, + 34627, 888, 888, 120, 1179, 1179, 22334, -1000, -1000, -1000, + -1000, -1000, -1000, 833, 2511, 403, 1883, -1000, 1872, 2135, + -1000, -1000, -1000, 2373, 28119, -1000, -1000, 1883, 1883, 55594, + 1780, 1757, -1000, 822, -1000, 1367, 1831, 8, 4, -1000, + -1000, -1000, -1000, 1179, -1000, 1406, 341, 1447, -1000, 440, + -1000, -1000, -1000, -1000, 2230, 95, -1000, -1000, -1000, 361, + 346, -1000, -1000, -1000, -1000, -1000, -1000, 1579, 1579, -1000, + -1000, -1000, -1000, -1000, 1328, -1000, -1000, -1000, -1000, 1304, + -1000, -1000, 1303, -1000, -1000, 2742, 1995, 395, -1000, -1000, + 947, 1577, -1000, -1000, 2234, 947, 947, 54148, -1000, -1000, + 1792, 2353, 246, 55594, 999, 2061, -1000, 2005, 2005, 2005, + 55594, -1000, -1000, -1000, -1000, -1000, -1000, -509, 164, 572, + -1000, -1000, -1000, 4281, 54148, 1673, -1000, 218, -1000, 1771, + -1000, 54148, -1000, 1669, 1950, 1350, 1350, -1000, -1000, -1000, + 54148, 1883, -1000, -1000, -1000, -1000, 764, 2290, 357, -1000, + -1000, -263, -1000, -1000, 228, 218, 54871, 1350, 891, -1000, + -1000, -1000, -1000, -1000, -502, 1665, 499, 234, 328, 55594, + 55594, 55594, 55594, 55594, 55594, 814, -1000, -1000, 44, -1000, + -1000, 205, -1000, -1000, -1000, -1000, -1000, 205, -1000, -1000, + -1000, -1000, -1000, 268, 467, -1000, 55594, 55594, 956, -1000, + -1000, -1000, -1000, -1000, 1082, -1000, -1000, 1082, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 456, 928, -484, 320, 311, 928, 928, 928, -525, - -1000, -1000, 1610, 1577, -1000, -190, -1000, 21704, -1000, -1000, - -1000, -1000, -1000, 1241, 1241, 1482, 1480, 1475, -1000, 1913, - -1000, -1000, -1000, 1632, -1000, -1000, -180, 53474, 53474, 53474, - 53474, -1000, -1000, -1000, 1100, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 873, 1506, 345, - -189, 1506, -1000, -1000, 341, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 21704, -1000, 21704, -1000, 1263, - 21704, 2451, 1469, 21704, 21704, -1000, 1230, 1213, 1243, -1000, - -1000, -1000, 21704, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 21704, -1000, 21704, -1000, - 21704, -1000, 21704, -1000, 21704, -1000, 21704, -1000, 21704, -1000, - 21704, -1000, 21704, -1000, 21704, -1000, 21704, -1000, 21704, -1000, - 21704, -1000, 21704, -1000, 21704, -1000, 21704, -1000, -1000, 21704, - -1000, -1000, -1000, 21704, -1000, 21704, -1000, 21704, -1000, -1000, - -1000, 21704, 234, 832, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1506, 351, -1000, -1000, -1000, - -1000, 2515, -1000, 1506, 21704, 1289, -1000, 1289, 1289, 1289, - -1000, -1000, -1000, 21704, -1000, 21704, 21704, -1000, 21704, -1000, - 21704, -1000, -1000, -1000, -1000, 21704, 1897, 2294, 1897, 1897, - 31814, -1000, -1000, 2459, 2501, 2473, 2237, 2245, 2245, 2266, - -1000, 2467, 2458, -1000, 1466, 2457, 1452, 975, -1000, 54196, - 21704, 253, -1000, 404, 53474, 253, 53474, -1000, 2498, -1000, - -1000, 21704, 1921, -1000, 21704, -1000, -1000, -1000, -1000, 3221, - 2505, 1851, -1000, -1000, 884, -1000, 21704, -1000, 9991, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1441, 1436, -1000, - -1000, 1920, 21704, -1000, -1000, -1000, 1611, 1578, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1913, -1000, -1000, -1000, - -1000, 348, -516, 2118, 53474, 1190, -1000, 1575, 1832, 337, - 253, 1434, 928, 928, 928, 1122, 1105, 37590, 1571, -1000, - 53474, 429, -1000, 348, -1000, -209, -213, 1243, -1000, -1000, - 2378, -1000, -1000, 15915, -1000, -1000, 1908, 2003, -1000, -1000, - -1000, -1000, 2167, -167, -198, -1000, -1000, 1243, 1243, 2161, - 1506, -1000, 1243, 1243, 1572, 1553, -1000, 1243, 1243, 1243, - 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, - 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1459, 1685, -1000, - 234, 1506, 2041, -1000, -1000, 3221, -1000, -1000, 2498, 2455, - 53, -1000, -1000, 240, 53, 1263, 968, 1506, 1506, 968, - 1639, 1243, 1629, 1569, 1243, 1243, 32536, -1000, 2454, 2442, - 38312, 38312, 960, 2501, -248, 21704, 21704, 2214, 1214, -1000, - -1000, -1000, -1000, 1426, 1407, -1000, 1404, -1000, 2538, -1000, - 1263, -1000, 253, -1000, 526, 1812, -1000, 2451, 1263, 53474, - 1263, 73, 2498, -1000, 1243, -1000, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, -1000, -1000, 53474, 1987, -1000, - -1000, 2377, 1552, 163, -1000, 1511, 1832, -1000, -1000, 220, - -1000, 21704, -1000, 37590, 1378, 1363, -1000, -1000, -1000, -1000, - -525, -1000, -1000, -1000, -1000, -1000, -1000, 415, 1830, -1000, - 918, 53474, 54918, -1000, 2128, -1000, -1000, -1000, 21704, -1000, + 2272, 55594, 5, -471, -1000, -467, 22334, -1000, -1000, -1000, + -1000, 1295, 471, 1484, 24503, 24503, 1137, 1137, 24503, -1000, + -1000, -1000, 1018, 1018, 33904, -1000, 24503, 22334, 21611, -1000, + -1000, 22334, 22334, 981, -1000, 22334, 1283, -1000, 22334, -1000, + -1000, 1482, 2181, 2181, 2181, 2181, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1863, -1000, 22334, 22334, + 22334, 1483, 309, -1000, -1000, -1000, -1000, -1000, 2550, -1000, + 22334, -1000, 33904, 22334, 22334, 22334, -1000, -1000, -1000, 22334, + 22334, -1000, -1000, 22334, -1000, 22334, -1000, -1000, -1000, -1000, + -1000, -1000, 22334, -1000, 22334, -1000, -1000, -1000, 22334, -1000, + 22334, -1000, -1000, 22334, -1000, 22334, -1000, 22334, -1000, 22334, + -1000, 22334, -1000, 22334, -1000, 22334, -1000, 22334, -1000, 22334, + -1000, 22334, -1000, 22334, -1000, 22334, -1000, 22334, -1000, 22334, + -1000, 22334, -1000, 22334, -1000, 22334, -1000, 22334, -1000, -1000, + -1000, 22334, -1000, 22334, -1000, 22334, -1000, -1000, 22334, -1000, + 22334, -1000, 22334, -1000, 22334, 22334, -1000, 22334, 22334, 22334, + -1000, 22334, 22334, 22334, 22334, -1000, -1000, -1000, -1000, 22334, + 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, 22334, -1000, + -1000, -1000, -1000, -1000, -1000, 22334, -1000, 39688, 74, -242, + 1264, 74, 1264, 23780, 842, 815, 23057, -1000, 21611, 16537, + -1000, -1000, -1000, -1000, -1000, 22334, 22334, 22334, 22334, 22334, + 22334, -1000, -1000, -1000, 22334, 22334, -1000, 22334, -1000, 22334, + -1000, -1000, -1000, -1000, -1000, 974, -1000, 863, 863, 863, + 54148, -1000, -1000, -1000, -1000, 1829, -1000, 2383, -1000, 2159, + 2155, 2539, 2511, -1000, 30289, 2755, -1000, -1000, 54148, -422, + -1000, 2206, 2179, 888, 888, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 13621, 2434, 22334, 2059, 54871, 240, -1000, 29566, + 54148, 54871, 30289, 30289, 30289, 30289, 30289, -1000, 2096, 2081, + -1000, 2189, 2173, 2259, 55594, -1000, 1520, 1662, -1000, 22334, + 32458, 1802, 30289, -1000, -1000, 30289, 55594, 12892, -1000, -1000, + -4, -5, -1000, -1000, -1000, -1000, 2008, -1000, -1000, 940, + 2371, 2225, -1000, -1000, -1000, -1000, -1000, 1660, -1000, 1647, + 1828, 1631, 1629, 325, -1000, 1987, 2271, 947, 947, -1000, + 1301, -1000, 1350, 1574, 1571, -1000, -1000, -1000, 498, -1000, + 2357, 55594, 2055, 2052, 2044, -1000, -516, 1292, 1949, 1910, + 22334, 1941, 2491, 1822, 54148, -1000, -1000, 54871, -1000, 275, + -1000, 395, 54148, -1000, -1000, -1000, 313, 55594, -1000, 9344, + -1000, -1000, -1000, 218, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 55594, 233, -1000, 1940, 1336, -1000, -1000, 1984, -1000, + -1000, -1000, -1000, -1000, 209, 194, 1570, 198, 1558, 198, + -1000, 55594, 934, 1995, 55594, -1000, -1000, -1000, 1084, 1084, + -1000, -1000, 2249, -1000, 1350, 2181, 24503, 24503, -1000, 907, + -1000, -1000, 427, -221, 1936, 1936, -1000, 1936, 1937, -1000, + 1936, 173, 1936, 172, 1936, -1000, -1000, 1483, 1483, -1000, + 1482, -1000, 2191, 2170, -1000, 1179, 22334, 2736, -1000, -1000, + -1000, -1000, -1000, -65, 2728, 2622, 2181, -1000, 1931, 1930, + 22334, 2181, 1483, 2158, 2181, 2181, 2181, 2181, 2181, 2181, + 2181, 2181, 2181, 2181, 2181, 2181, 2145, 2133, 2126, 2122, + 2112, 2101, 2095, 2083, 2039, 2003, 1991, 1982, 1961, 1953, + 1946, 1942, 2181, 2181, 1914, 2181, 1905, 1866, -1000, 1179, + 1482, 2566, 1482, 2181, 2181, 2497, 291, 2181, 1614, 1614, + 1614, 1614, 1614, 1482, 1482, 1482, 1482, 2181, 54148, -1000, + -242, -1000, -1000, -301, -307, -1000, 1483, -242, 1826, 24503, + 2181, 24503, 24503, 24503, 2181, 1483, -1000, 1847, 1832, 2348, + 1819, 2181, 2277, 2181, 2181, 2181, 1805, -1000, 2395, 2395, + 2395, 1602, 1250, 55594, -1000, -1000, -1000, -1000, 2511, 2470, + 1823, -1000, -1000, 81, 557, -1000, 2238, 2179, -1000, 2490, + 2192, 2487, -1000, -1000, -1000, -1000, -1000, 1179, -1000, 2306, + 1784, -1000, 964, 1812, -1000, -1000, 20888, 1610, 2140, 816, + 1602, 1861, 2135, 2020, 2042, 3257, -1000, -1000, -1000, -1000, + 2080, -1000, 2077, -1000, -1000, 1911, -1000, 2054, 337, 30289, + 1851, 1851, -1000, 803, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1169, 9344, 2574, -1000, 1518, -1000, 1399, 192, 1288, + -1000, -1000, 947, 947, -1000, 1052, 1047, -1000, 55594, 1928, + -1000, 346, 1516, 346, 1284, -1000, -1000, 1280, -1000, -1000, + -1000, -1000, 1990, 2107, -1000, -1000, -1000, -1000, 55594, -1000, + -1000, 55594, 55594, 55594, 1927, 2484, -1000, 22334, 1926, 949, + 2686, 54148, 54148, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 412, 947, -483, 274, 273, 947, + 947, 947, -517, -1000, -1000, 1597, 1557, -1000, -211, -1000, + 22334, -1000, -1000, -1000, -1000, -1000, 1296, 1296, 1478, 1470, + 1468, -1000, 1911, -1000, -1000, -1000, 1713, -1000, -1000, -186, + 54148, 54148, 54148, 54148, -1000, -1000, -1000, 1222, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 907, 1483, 371, -189, 1483, -1000, -1000, 346, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 22334, -1000, + 22334, -1000, 1179, 22334, 2434, 1466, 22334, 22334, -1000, 1279, + 1274, 2181, -1000, -1000, -1000, 22334, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 22334, + -1000, 22334, -1000, 22334, -1000, 22334, -1000, 22334, -1000, 22334, + -1000, 22334, -1000, 22334, -1000, 22334, -1000, 22334, -1000, 22334, + -1000, 22334, -1000, 22334, -1000, 22334, -1000, 22334, -1000, 22334, + -1000, -1000, 22334, -1000, -1000, -1000, 22334, -1000, 22334, -1000, + 22334, -1000, -1000, -1000, 22334, 207, 1018, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1483, 336, + -1000, -1000, -1000, -1000, 2536, -1000, 1483, 22334, 1137, -1000, + 1137, 1137, 1137, -1000, -1000, -1000, 22334, -1000, 22334, 22334, + -1000, 22334, -1000, 22334, -1000, -1000, -1000, -1000, 22334, 1883, + 2342, 1883, 1883, 32458, -1000, -1000, 2470, 2499, 2476, 2176, + 2195, 2195, 2238, -1000, 2469, 2458, -1000, 1463, 2455, 1460, + 1016, -1000, 54871, 22334, 240, -1000, 423, 54148, 240, 54148, + -1000, 2438, -1000, -1000, 22334, 1925, -1000, 22334, -1000, -1000, + -1000, -1000, 4605, 2511, 1851, -1000, -1000, 920, -1000, 22334, + -1000, 10600, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1448, 1439, -1000, -1000, 1924, 22334, -1000, -1000, -1000, 1704, + 1686, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1911, + -1000, -1000, -1000, -1000, 313, -511, 2659, 54148, 1262, -1000, + 1555, 1822, 295, 240, 1412, 947, 947, 947, 1255, 1254, + 38242, 1551, -1000, 54148, 385, -1000, 313, -1000, -216, -218, + 2181, -1000, -1000, 2367, -1000, -1000, 16537, -1000, -1000, 1904, + 1994, -1000, -1000, -1000, -1000, 2117, -173, -203, -1000, -1000, + 2181, 2181, 2035, 1483, -1000, 2181, 2181, 1680, 1632, -1000, + 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, + 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, + 1482, 1790, -1000, 207, 1483, 2037, -1000, -1000, 4605, -1000, + -1000, 2438, 2452, 74, -1000, -1000, 220, 74, 1179, 1014, + 1483, 1483, 1014, 1712, 2181, 1685, 1675, 2181, 2181, 33181, + -1000, 2447, 2444, 38965, 38965, 974, 2499, -253, 22334, 22334, + 2161, 1219, -1000, -1000, -1000, -1000, 1409, 1403, -1000, 1390, + -1000, 2565, -1000, 1179, -1000, 240, -1000, 802, 1812, -1000, + 2434, 1179, 54148, 1179, 82, 2438, -1000, 2181, -1000, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, + 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, -1000, -1000, + 54148, 2642, -1000, -1000, 2362, 1533, 162, -1000, 1534, 1822, + -1000, -1000, 223, -1000, 22334, -1000, 38242, 1388, 1381, -1000, + -1000, -1000, -1000, -517, -1000, -1000, -1000, -1000, -1000, -1000, + 428, 1816, -1000, 942, 54148, 55594, -1000, 2110, -1000, -1000, + -1000, 22334, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 21704, -1000, 1506, 2034, - -1000, -344, -1000, -488, 21704, -240, -1000, -1000, -240, -1000, - -1000, -1000, -1000, -1000, 21704, -1000, -1000, 21704, -1000, 21704, - -1000, -1000, 1529, -1000, -1000, -1000, -1000, -1000, 1529, 1529, - -1000, -248, -1000, 1824, -1000, 53474, 1263, 1807, -1000, 1153, - -1000, -1000, -1000, -1000, -1000, 54196, 1812, 53474, -1000, 1519, - 1506, 1897, 2451, -1000, 1479, -1000, 415, -1000, 1900, 1910, - -1000, -1000, -1000, 19538, -1000, -1000, -1000, -1000, -1000, 276, - -176, 15915, 11547, 1474, -1000, -174, 1243, 1459, -1000, -460, - -1000, -1000, -1000, -1000, 289, -1000, -1000, 1807, -1000, -1000, - 1509, 1505, 1461, 36868, -1000, -1000, -1000, -1000, -248, -1000, - -1000, 2373, -1000, -1000, 1803, -1000, -1000, 31814, 52752, -1000, - -162, 352, -176, 21704, 1899, 1506, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -34, -1000, -1000, 506, -1000, -1000, - -1000, 1990, -195, -1000, -1000, -1000, 296, -473, -264, -294, - 23870, -1000, 21704, -1000, 21704, -1000, 21704, -1000, -1000, -1000, - 53474, 1897, -1000, 1450, -1000, 1883, -336, 2033, -1000, -103, - -1000, -1000, -1000, 1052, 1360, -1000, -1000, -1000, -1000, -1000, - -1000, 1513, 53474, -1000, 441, -1000, -1000, 15187, -180, -200, - 967, -1000, -1000, -1000, -1000, -1000, 1289, 1447, 1285, 1243, - -1000, 53474, -1000, 52752, -340, 866, 3221, -1000, 2018, 2017, - 2511, -1000, -1000, -1000, -1000, -1000, -1000, -527, 1431, 260, - -1000, -1000, -1000, 296, -296, -1000, 21704, -1000, 21704, -1000, - 1506, -1000, -1000, 2362, 73, -1000, 2537, -1000, 2512, 1022, - 1022, -1000, 1092, -527, -1000, -1000, -1000, -1000, 1243, 1243, - -1000, -337, -1000, -1000, -1000, -1000, -1000, 436, 1155, -1000, - -1000, -1000, -1000, -1000, 3221, -1000, -1000, -1000, 264, 264, - -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 22334, + -1000, 1483, 2036, -1000, -359, -1000, -487, 22334, -242, -1000, + -1000, -242, -1000, -1000, -1000, -1000, -1000, 22334, -1000, -1000, + 22334, -1000, 22334, -1000, -1000, 1515, -1000, -1000, -1000, -1000, + -1000, 1515, 1515, -1000, -253, -1000, 1814, -1000, 54148, 1179, + 1811, -1000, 1217, -1000, -1000, -1000, -1000, -1000, 54871, 1812, + 54148, -1000, 1513, 1483, 1883, 2434, -1000, 1489, -1000, 428, + -1000, 1901, 1910, -1000, -1000, -1000, 20165, -1000, -1000, -1000, + -1000, -1000, 248, -184, 16537, 12163, 1487, -1000, -179, 2181, + 1482, -1000, -459, -1000, -1000, -1000, -1000, 242, -1000, -1000, + 1811, -1000, -1000, 1553, 1473, 1394, 37519, -1000, -1000, -1000, + -1000, -253, -1000, -1000, 2343, -1000, -1000, 1804, -1000, -1000, + 32458, 53425, -1000, -169, 319, -184, 22334, 1894, 1483, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -36, -1000, -1000, + 795, -1000, -1000, -1000, 1984, -193, -1000, -1000, -1000, 300, + -474, -280, -286, 24503, -1000, 22334, -1000, 22334, -1000, 22334, + -1000, -1000, -1000, 54148, 1883, -1000, 1476, -1000, 3073, -322, + 2031, -1000, -128, -1000, -1000, -1000, 1167, 1369, -1000, -1000, + -1000, -1000, -1000, -1000, 2291, 54148, -1000, 417, -1000, -1000, + 15808, -186, -209, 1032, -1000, -1000, -1000, -1000, -1000, 1137, + 1368, 1358, 2181, -1000, 54148, -1000, 53425, -315, 891, 4605, + -1000, 2029, 2023, 2548, -1000, -1000, -1000, -1000, -1000, -1000, + -524, 1458, 241, -1000, -1000, -1000, 300, -299, -1000, 22334, + -1000, 22334, -1000, 1483, -1000, -1000, 2350, 82, -1000, 2563, + -1000, 2516, 922, 922, -1000, 1242, -524, -1000, -1000, -1000, + -1000, 2181, 2181, -1000, -376, -1000, -1000, -1000, -1000, -1000, + 413, 1252, -1000, -1000, -1000, -1000, -1000, 4605, -1000, -1000, + -1000, 282, 282, -1000, -1000, } var yyPgo = [...]int{ - 0, 3091, 3090, 28, 6, 41, 35, 3089, 3088, 3087, - 177, 3086, 3085, 3082, 3081, 3078, 3071, 2619, 2615, 2586, - 3069, 3064, 3061, 3060, 3054, 3053, 3052, 3050, 3049, 40, - 108, 62, 97, 209, 197, 3048, 179, 165, 200, 3047, - 3045, 3043, 118, 192, 80, 85, 193, 3042, 3039, 73, - 3038, 3037, 3036, 191, 186, 184, 1048, 3031, 183, 112, - 48, 3030, 3027, 3026, 3025, 3022, 3021, 3020, 3019, 3017, - 3016, 3015, 3014, 3013, 3010, 3000, 2992, 2991, 2990, 284, - 2989, 2986, 21, 2981, 76, 2979, 2976, 2973, 2971, 2970, - 8, 2969, 2968, 26, 42, 2966, 2964, 47, 2963, 2962, - 2960, 2959, 2933, 69, 2932, 22, 2929, 39, 2928, 2926, - 120, 2924, 2923, 2921, 44, 2918, 2917, 2914, 29, 163, - 2913, 2912, 134, 2910, 2908, 2907, 167, 206, 2898, 2232, - 180, 105, 103, 2897, 2892, 98, 194, 2890, 117, 2885, - 2880, 2879, 147, 2876, 3197, 2875, 2872, 60, 66, 199, - 2869, 2868, 287, 64, 11, 16, 17, 2865, 2861, 61, - 72, 2859, 104, 2858, 2857, 100, 75, 2856, 96, 99, - 2855, 2854, 5, 7, 2853, 1, 4, 2, 83, 2852, - 2833, 113, 2831, 2826, 2823, 91, 2817, 2815, 4988, 2813, - 89, 127, 101, 82, 2811, 172, 155, 2810, 2809, 2808, - 2807, 2805, 49, 2801, 2798, 2797, 132, 250, 162, 2796, - 145, 335, 52, 143, 2795, 189, 77, 198, 170, 2794, - 2790, 130, 128, 2788, 2787, 56, 166, 190, 2786, 95, - 126, 115, 168, 90, 131, 2783, 2780, 54, 71, 2778, - 2777, 2776, 2775, 176, 2772, 2771, 59, 2770, 55, 2769, - 164, 2766, 136, 68, 2765, 171, 175, 2762, 135, 2754, - 2753, 67, 93, 110, 38, 2752, 158, 161, 124, 173, - 2751, 2747, 53, 2744, 2743, 2740, 195, 289, 2734, 2730, - 294, 178, 139, 146, 81, 2725, 337, 2722, 2718, 13, - 4343, 7480, 2716, 37, 160, 2713, 2711, 6837, 20, 45, - 24, 2708, 205, 2707, 2706, 2703, 2702, 212, 202, 106, - 159, 57, 2701, 2697, 2696, 36, 2694, 2693, 2690, 2686, - 2685, 2684, 70, 34, 33, 32, 211, 58, 19, 94, - 153, 152, 63, 2680, 2679, 2676, 121, 84, 2675, 157, - 154, 123, 151, 2673, 181, 142, 116, 2672, 92, 31, - 2671, 2668, 2667, 2663, 87, 2662, 2655, 2652, 2651, 149, - 140, 119, 78, 2650, 79, 114, 144, 141, 51, 2649, - 46, 2646, 2645, 30, 188, 23, 2640, 15, 102, 109, - 2636, 5948, 187, 2632, 9, 317, 156, 2630, 2627, 10, - 12, 18, 2624, 2623, 2621, 2617, 129, 2608, 2607, 2606, - 2600, 27, 50, 25, 14, 111, 74, 2590, 2578, 137, - 2577, 2570, 2561, 0, 1005, 125, 2559, 207, + 0, 3162, 3160, 31, 6, 37, 35, 3158, 3147, 3143, + 164, 3141, 3137, 3136, 3134, 3133, 3132, 2608, 2596, 2595, + 3129, 3127, 3126, 3125, 3122, 3120, 3119, 3118, 3112, 41, + 99, 60, 98, 212, 198, 3107, 180, 165, 199, 3103, + 3102, 3099, 116, 193, 82, 85, 195, 3098, 3097, 76, + 3095, 3092, 3089, 192, 191, 188, 1066, 3088, 181, 114, + 50, 3087, 3086, 3085, 3082, 3080, 3079, 3078, 3077, 3074, + 3072, 3067, 3064, 3063, 3060, 3059, 3057, 3053, 3048, 299, + 3046, 3042, 19, 3035, 78, 3033, 3032, 3028, 3027, 3023, + 11, 3020, 3012, 26, 40, 3009, 3002, 46, 3001, 2995, + 2994, 2991, 2990, 47, 2989, 21, 2988, 39, 2987, 2984, + 121, 2974, 2971, 2970, 42, 2969, 2968, 2966, 28, 163, + 2965, 2963, 138, 2962, 2961, 2953, 182, 204, 2952, 2165, + 166, 104, 106, 2947, 2946, 102, 196, 2936, 118, 2935, + 2932, 2931, 145, 2929, 3809, 2927, 2924, 73, 75, 153, + 2922, 2915, 206, 74, 8, 16, 17, 2914, 2913, 67, + 71, 2911, 101, 2910, 2909, 100, 62, 2908, 108, 97, + 2901, 2896, 5, 7, 2895, 1, 4, 2, 81, 2894, + 2893, 113, 2892, 2890, 2889, 95, 2888, 2887, 5131, 2886, + 90, 128, 103, 69, 2874, 168, 130, 2869, 2867, 2861, + 2860, 2859, 51, 2858, 2857, 2850, 135, 250, 162, 2849, + 147, 336, 53, 143, 2842, 189, 80, 200, 176, 2841, + 2839, 133, 132, 2835, 2833, 57, 169, 190, 2822, 93, + 127, 117, 171, 91, 129, 2818, 2814, 55, 61, 2813, + 2812, 2811, 2810, 177, 2809, 2807, 65, 2806, 56, 2805, + 185, 2804, 137, 68, 2803, 173, 175, 2796, 64, 2791, + 2790, 72, 96, 66, 38, 2787, 157, 161, 125, 174, + 2783, 2778, 54, 2773, 2772, 2771, 197, 304, 2770, 2769, + 290, 178, 141, 144, 89, 2768, 315, 2767, 2766, 13, + 4953, 8093, 2761, 23, 159, 2759, 2753, 7391, 43, 45, + 30, 2747, 205, 2745, 2741, 2737, 2733, 221, 202, 112, + 158, 58, 2725, 2724, 2704, 36, 2701, 2700, 2699, 2695, + 2694, 2693, 70, 34, 33, 32, 211, 59, 20, 109, + 170, 154, 77, 2689, 2688, 2687, 123, 92, 2686, 156, + 155, 124, 160, 2681, 179, 140, 119, 2679, 94, 27, + 2676, 2673, 2672, 2671, 87, 2670, 2669, 2667, 2666, 152, + 142, 120, 83, 2665, 84, 115, 150, 149, 52, 2664, + 48, 2662, 2661, 24, 194, 29, 2653, 15, 105, 110, + 2651, 6818, 184, 2643, 9, 353, 151, 2642, 2641, 10, + 12, 18, 2634, 2632, 2631, 2630, 131, 2625, 2622, 2621, + 2617, 25, 49, 22, 14, 111, 79, 2614, 2602, 139, + 2601, 2597, 2588, 0, 1005, 126, 2563, 203, } -//line sql.y:8599 +//line sql.y:8612 type yySymType struct { union any empty struct{} @@ -8432,61 +8502,62 @@ var yyR1 = [...]int{ 43, 43, 43, 43, 43, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 110, 110, 111, 111, 111, - 111, 113, 113, 113, 369, 369, 60, 60, 3, 3, - 171, 173, 174, 174, 172, 172, 172, 172, 172, 172, - 62, 62, 61, 61, 176, 175, 177, 177, 177, 1, - 1, 2, 2, 4, 4, 374, 374, 374, 374, 374, + 23, 23, 23, 23, 23, 23, 23, 110, 110, 111, + 111, 111, 111, 113, 113, 113, 369, 369, 60, 60, + 3, 3, 171, 173, 174, 174, 172, 172, 172, 172, + 172, 172, 62, 62, 61, 61, 176, 175, 177, 177, + 177, 1, 1, 2, 2, 4, 4, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, - 374, 374, 374, 374, 374, 374, 374, 335, 335, 335, - 368, 368, 370, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 116, 115, 115, 114, 117, 117, 117, - 117, 117, 117, 117, 117, 372, 372, 372, 63, 63, - 373, 323, 324, 325, 5, 6, 349, 371, 124, 124, - 24, 39, 39, 25, 25, 25, 25, 26, 26, 64, - 67, 67, 65, 65, 65, 65, 65, 65, 65, 65, + 374, 374, 374, 374, 374, 374, 374, 374, 374, 335, + 335, 335, 368, 368, 370, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 116, 115, 115, 114, 117, + 117, 117, 117, 117, 117, 117, 117, 372, 372, 372, + 63, 63, 373, 323, 324, 325, 5, 6, 349, 371, + 124, 124, 24, 39, 39, 25, 25, 25, 25, 26, + 26, 64, 67, 67, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 65, 65, 65, 278, 278, 287, 287, 277, - 277, 302, 302, 302, 280, 280, 280, 281, 281, 398, - 398, 398, 274, 274, 66, 66, 66, 303, 303, 303, - 303, 69, 69, 407, 407, 408, 408, 409, 409, 409, - 70, 71, 71, 305, 305, 306, 306, 72, 73, 85, - 85, 85, 85, 85, 85, 85, 86, 86, 86, 86, - 109, 109, 109, 10, 10, 10, 10, 81, 81, 81, - 9, 9, 11, 68, 68, 75, 395, 395, 396, 397, - 397, 397, 397, 76, 78, 27, 27, 27, 27, 27, - 27, 134, 134, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 129, 129, 129, 123, 123, - 416, 79, 80, 80, 127, 127, 127, 120, 120, 120, - 126, 126, 126, 12, 12, 13, 260, 260, 14, 14, - 131, 131, 133, 133, 133, 133, 133, 135, 135, 135, - 135, 135, 135, 135, 130, 130, 132, 132, 132, 132, - 295, 295, 295, 294, 294, 165, 165, 167, 166, 166, - 168, 168, 169, 169, 169, 169, 214, 214, 191, 191, - 253, 253, 254, 254, 252, 252, 259, 259, 255, 255, - 255, 255, 262, 262, 170, 170, 170, 170, 178, 178, - 179, 179, 180, 180, 304, 304, 300, 300, 300, 299, - 299, 184, 184, 184, 186, 185, 185, 185, 185, 187, - 187, 189, 189, 188, 188, 190, 195, 195, 194, 194, - 192, 192, 192, 192, 193, 193, 193, 193, 196, 196, - 144, 144, 144, 144, 144, 144, 144, 144, 157, 157, - 157, 157, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 243, 243, 149, 149, 149, 149, 149, + 65, 65, 65, 65, 65, 65, 65, 278, 278, 287, + 287, 277, 277, 302, 302, 302, 280, 280, 280, 281, + 281, 398, 398, 398, 274, 274, 66, 66, 66, 303, + 303, 303, 303, 69, 69, 407, 407, 408, 408, 409, + 409, 409, 70, 71, 71, 305, 305, 306, 306, 72, + 73, 85, 85, 85, 85, 85, 85, 85, 86, 86, + 86, 86, 109, 109, 109, 10, 10, 10, 10, 81, + 81, 81, 9, 9, 11, 68, 68, 75, 395, 395, + 396, 397, 397, 397, 397, 76, 78, 27, 27, 27, + 27, 27, 27, 134, 134, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 129, 129, 129, + 123, 123, 416, 79, 80, 80, 127, 127, 127, 120, + 120, 120, 126, 126, 126, 12, 12, 13, 260, 260, + 14, 14, 131, 131, 133, 133, 133, 133, 133, 135, + 135, 135, 135, 135, 135, 135, 130, 130, 132, 132, + 132, 132, 295, 295, 295, 294, 294, 165, 165, 167, + 166, 166, 168, 168, 169, 169, 169, 169, 214, 214, + 191, 191, 253, 253, 254, 254, 252, 252, 259, 259, + 255, 255, 255, 255, 262, 262, 170, 170, 170, 170, + 178, 178, 179, 179, 180, 180, 304, 304, 300, 300, + 300, 299, 299, 184, 184, 184, 186, 185, 185, 185, + 185, 187, 187, 189, 189, 188, 188, 190, 195, 195, + 194, 194, 192, 192, 192, 192, 193, 193, 193, 193, + 196, 196, 144, 144, 144, 144, 144, 144, 144, 144, + 157, 157, 157, 157, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 243, 243, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 219, 219, 218, 218, 87, - 87, 87, 88, 88, 89, 89, 89, 89, 89, 90, - 90, 90, 90, 90, 90, 90, 92, 92, 91, 91, - 209, 209, 292, 292, 93, 94, 94, 97, 97, 96, - 95, 95, 101, 101, 98, 98, 100, 100, 99, 102, - 102, 103, 104, 104, 275, 275, 197, 197, 205, 205, - 205, 205, 198, 198, 198, 198, 198, 198, 198, 206, - 206, 206, 213, 207, 207, 203, 203, 201, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 202, 202, 202, + 152, 152, 152, 152, 152, 152, 152, 219, 219, 218, + 218, 87, 87, 87, 88, 88, 89, 89, 89, 89, + 89, 90, 90, 90, 90, 90, 90, 90, 92, 92, + 91, 91, 209, 209, 292, 292, 93, 94, 94, 97, + 97, 96, 95, 95, 101, 101, 98, 98, 100, 100, + 99, 102, 102, 103, 104, 104, 275, 275, 197, 197, + 205, 205, 205, 205, 198, 198, 198, 198, 198, 198, + 198, 206, 206, 206, 213, 207, 207, 203, 203, 201, + 201, 201, 201, 201, 201, 201, 201, 201, 201, 202, + 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, @@ -8505,36 +8576,35 @@ var yyR1 = [...]int{ 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 202, 202, 202, 202, 202, 202, 202, 162, 162, - 162, 162, 224, 224, 150, 150, 150, 150, 150, 150, - 150, 150, 150, 150, 150, 150, 150, 150, 150, 151, - 151, 163, 163, 163, 163, 164, 164, 164, 164, 164, - 164, 164, 312, 312, 118, 118, 118, 118, 118, 118, + 162, 162, 162, 162, 224, 224, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 151, 151, 163, 163, 163, 163, 164, 164, 164, + 164, 164, 164, 164, 312, 312, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, + 118, 118, 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 417, 417, 326, 326, 326, 204, 204, 204, - 204, 204, 125, 125, 125, 125, 125, 309, 309, 309, - 313, 313, 313, 311, 311, 311, 311, 311, 311, 311, - 311, 311, 311, 311, 311, 311, 311, 311, 314, 314, - 222, 222, 121, 121, 220, 220, 221, 223, 223, 215, - 215, 215, 215, 217, 217, 200, 200, 200, 225, 225, - 226, 226, 105, 106, 106, 107, 107, 227, 227, 229, - 228, 228, 230, 231, 231, 231, 232, 232, 233, 233, - 233, 49, 49, 49, 49, 49, 44, 44, 44, 44, - 45, 45, 45, 45, 136, 136, 136, 136, 138, 138, - 137, 137, 82, 82, 83, 83, 83, 142, 142, 143, - 143, 143, 140, 140, 141, 141, 250, 250, 250, 250, - 250, 250, 250, 234, 234, 234, 241, 241, 241, 237, - 237, 239, 239, 239, 240, 240, 240, 238, 247, 247, - 249, 249, 248, 248, 244, 244, 245, 245, 246, 246, - 246, 242, 242, 199, 199, 199, 199, 199, 251, 251, - 251, 251, 263, 263, 210, 210, 212, 212, 211, 211, - 161, 264, 264, 272, 269, 269, 270, 270, 296, 296, - 296, 273, 273, 286, 286, 282, 282, 283, 283, 276, - 276, 288, 288, 288, 77, 208, 208, 365, 365, 362, - 291, 291, 293, 293, 297, 297, 301, 301, 298, 298, - 8, 410, 410, 410, 289, 289, 289, 289, 289, 289, + 119, 119, 119, 119, 417, 417, 326, 326, 326, 204, + 204, 204, 204, 204, 125, 125, 125, 125, 125, 309, + 309, 309, 313, 313, 313, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 314, 314, 222, 222, 121, 121, 220, 220, 221, 223, + 223, 215, 215, 215, 215, 217, 217, 200, 200, 200, + 225, 225, 226, 226, 105, 106, 106, 107, 107, 227, + 227, 229, 228, 228, 230, 231, 231, 231, 232, 232, + 233, 233, 233, 49, 49, 49, 49, 49, 44, 44, + 44, 44, 45, 45, 45, 45, 136, 136, 136, 136, + 138, 138, 137, 137, 82, 82, 83, 83, 83, 142, + 142, 143, 143, 143, 140, 140, 141, 141, 250, 250, + 250, 250, 250, 250, 250, 234, 234, 234, 241, 241, + 241, 237, 237, 239, 239, 239, 240, 240, 240, 238, + 247, 247, 249, 249, 248, 248, 244, 244, 245, 245, + 246, 246, 246, 242, 242, 199, 199, 199, 199, 199, + 251, 251, 251, 251, 263, 263, 210, 210, 212, 212, + 211, 211, 161, 264, 264, 272, 269, 269, 270, 270, + 296, 296, 296, 273, 273, 286, 286, 282, 282, 283, + 283, 276, 276, 288, 288, 288, 77, 208, 208, 365, + 365, 362, 291, 291, 293, 293, 297, 297, 301, 301, + 298, 298, 8, 410, 410, 410, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, @@ -8549,7 +8619,7 @@ var yyR1 = [...]int{ 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 290, 290, 290, 290, 290, 290, + 289, 289, 289, 289, 289, 289, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, @@ -8595,8 +8665,8 @@ var yyR1 = [...]int{ 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 290, 290, 290, 413, 414, - 307, 308, 308, 308, + 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, + 413, 414, 307, 308, 308, 308, } var yyR2 = [...]int{ @@ -8660,109 +8730,109 @@ var yyR2 = [...]int{ 3, 3, 3, 2, 2, 3, 4, 4, 2, 11, 3, 6, 8, 6, 6, 6, 13, 8, 6, 6, 10, 7, 5, 5, 5, 7, 5, 5, 5, 5, - 5, 7, 7, 5, 5, 0, 6, 5, 6, 4, - 5, 0, 8, 9, 0, 3, 0, 1, 0, 3, - 8, 4, 1, 3, 3, 6, 7, 7, 8, 4, - 0, 1, 0, 1, 3, 3, 1, 1, 2, 1, - 1, 0, 2, 0, 2, 5, 3, 7, 4, 4, - 4, 4, 3, 3, 3, 7, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 0, 2, 2, - 1, 3, 2, 0, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 3, 1, 3, 3, 0, 2, 2, - 2, 2, 2, 2, 2, 4, 4, 3, 0, 1, - 4, 3, 4, 4, 3, 3, 3, 2, 1, 3, - 3, 3, 5, 7, 7, 6, 5, 3, 2, 4, - 5, 5, 3, 3, 7, 3, 3, 3, 3, 4, - 7, 5, 2, 4, 4, 4, 4, 4, 5, 5, - 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, - 4, 4, 4, 4, 4, 2, 3, 3, 3, 3, - 3, 5, 2, 3, 3, 2, 3, 4, 4, 4, - 3, 4, 4, 5, 3, 0, 1, 0, 1, 1, - 1, 0, 2, 2, 0, 2, 2, 0, 2, 0, - 1, 1, 1, 1, 2, 1, 3, 1, 1, 1, - 1, 1, 3, 0, 1, 1, 3, 3, 2, 2, - 1, 1, 5, 0, 1, 0, 1, 2, 3, 0, - 3, 3, 3, 3, 3, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, - 4, 4, 4, 2, 2, 3, 1, 3, 2, 1, - 2, 1, 2, 2, 4, 3, 3, 6, 4, 7, - 6, 1, 3, 2, 2, 2, 2, 1, 1, 1, - 3, 2, 1, 1, 1, 0, 1, 1, 0, 3, - 0, 2, 0, 2, 1, 2, 2, 0, 1, 1, - 0, 1, 1, 5, 5, 4, 0, 2, 4, 4, - 0, 1, 0, 1, 2, 3, 4, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 1, 2, 3, 5, - 0, 1, 2, 1, 1, 0, 1, 2, 1, 3, - 1, 1, 1, 4, 3, 1, 1, 2, 3, 7, - 0, 3, 0, 1, 1, 3, 1, 3, 1, 1, - 3, 3, 1, 3, 4, 4, 4, 3, 2, 4, - 0, 1, 0, 2, 0, 1, 0, 1, 2, 1, - 1, 1, 2, 2, 1, 2, 3, 2, 3, 2, - 2, 2, 1, 1, 3, 3, 0, 1, 1, 2, - 6, 5, 6, 6, 0, 2, 3, 3, 0, 2, - 3, 3, 3, 2, 3, 1, 3, 6, 3, 4, - 3, 1, 3, 4, 5, 6, 3, 4, 5, 6, - 3, 4, 1, 1, 1, 3, 3, 3, 3, 3, - 3, 5, 5, 3, 3, 3, 3, 3, 3, 1, - 1, 1, 1, 1, 3, 1, 1, 1, 2, 2, - 2, 2, 1, 1, 2, 7, 7, 6, 6, 2, - 2, 5, 6, 3, 3, 1, 3, 1, 3, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 2, 2, 4, 2, 4, 0, 1, 2, 5, - 0, 3, 0, 1, 4, 4, 2, 0, 1, 1, - 2, 2, 1, 1, 2, 2, 0, 1, 1, 1, - 1, 5, 1, 3, 0, 3, 1, 1, 1, 2, - 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 4, 6, 4, 4, 8, - 6, 8, 6, 5, 4, 10, 2, 2, 1, 2, - 2, 2, 2, 2, 4, 5, 5, 5, 5, 5, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 8, 4, 8, 8, 6, 5, 4, 4, 4, 4, - 4, 7, 4, 4, 6, 6, 6, 8, 6, 6, - 4, 4, 3, 4, 6, 6, 4, 4, 6, 4, - 6, 4, 4, 4, 4, 4, 4, 6, 4, 6, - 4, 4, 4, 6, 4, 6, 4, 4, 6, 4, - 6, 4, 6, 8, 4, 6, 8, 4, 6, 8, - 4, 6, 8, 4, 6, 8, 4, 6, 8, 4, + 5, 7, 7, 5, 5, 5, 5, 0, 6, 5, + 6, 4, 5, 0, 8, 9, 0, 3, 0, 1, + 0, 3, 8, 4, 1, 3, 3, 6, 7, 7, + 8, 4, 0, 1, 0, 1, 3, 3, 1, 1, + 2, 1, 1, 0, 2, 0, 2, 5, 3, 7, + 4, 4, 4, 4, 3, 3, 3, 7, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 2, 0, + 2, 2, 1, 3, 2, 0, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 3, 1, 3, 3, 0, + 2, 2, 2, 2, 2, 2, 2, 4, 4, 3, + 0, 1, 4, 3, 4, 4, 3, 3, 3, 2, + 1, 3, 3, 3, 5, 7, 7, 6, 5, 3, + 2, 4, 5, 5, 3, 3, 7, 3, 3, 3, + 3, 4, 7, 5, 2, 4, 4, 4, 4, 4, + 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, + 2, 2, 4, 4, 4, 4, 4, 2, 3, 3, + 3, 3, 3, 5, 2, 3, 3, 2, 3, 4, + 4, 4, 3, 4, 4, 5, 3, 0, 1, 0, + 1, 1, 1, 0, 2, 2, 0, 2, 2, 0, + 2, 0, 1, 1, 1, 1, 2, 1, 3, 1, + 1, 1, 1, 1, 3, 0, 1, 1, 3, 3, + 2, 2, 1, 1, 5, 0, 1, 0, 1, 2, + 3, 0, 3, 3, 3, 3, 3, 1, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 4, 4, 4, 2, 2, 3, 1, 3, + 2, 1, 2, 1, 2, 2, 4, 3, 3, 6, + 4, 7, 6, 1, 3, 2, 2, 2, 2, 1, + 1, 1, 3, 2, 1, 1, 1, 0, 1, 1, + 0, 3, 0, 2, 0, 2, 1, 2, 2, 0, + 1, 1, 0, 1, 1, 5, 5, 4, 0, 2, + 4, 4, 0, 1, 0, 1, 2, 3, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, + 3, 5, 0, 1, 2, 1, 1, 0, 1, 2, + 1, 3, 1, 1, 1, 4, 3, 1, 1, 2, + 3, 7, 0, 3, 0, 1, 1, 3, 1, 3, + 1, 1, 3, 3, 1, 3, 4, 4, 4, 3, + 2, 4, 0, 1, 0, 2, 0, 1, 0, 1, + 2, 1, 1, 1, 2, 2, 1, 2, 3, 2, + 3, 2, 2, 2, 1, 1, 3, 3, 0, 1, + 1, 2, 6, 5, 6, 6, 0, 2, 3, 3, + 0, 2, 3, 3, 3, 2, 3, 1, 3, 6, + 3, 4, 3, 1, 3, 4, 5, 6, 3, 4, + 5, 6, 3, 4, 1, 1, 1, 3, 3, 3, + 3, 3, 3, 5, 5, 3, 3, 3, 3, 3, + 3, 1, 1, 1, 1, 1, 3, 1, 1, 1, + 2, 2, 2, 2, 1, 1, 2, 7, 7, 6, + 6, 2, 2, 5, 6, 3, 3, 1, 3, 1, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 2, 2, 4, 2, 4, 0, 1, + 2, 5, 0, 3, 0, 1, 4, 4, 2, 0, + 1, 1, 2, 2, 1, 1, 2, 2, 0, 1, + 1, 1, 1, 5, 1, 3, 0, 3, 1, 1, + 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 4, 6, 4, + 4, 8, 6, 8, 6, 5, 4, 10, 2, 2, + 1, 2, 2, 2, 2, 2, 4, 5, 5, 5, + 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 8, 4, 8, 8, 6, 5, 4, 4, + 4, 4, 4, 7, 4, 4, 6, 6, 6, 8, + 6, 6, 4, 4, 3, 4, 6, 6, 4, 4, + 6, 4, 6, 4, 4, 4, 4, 4, 4, 6, + 4, 6, 4, 4, 4, 6, 4, 6, 4, 4, + 6, 4, 6, 4, 6, 8, 4, 6, 8, 4, 6, 8, 4, 6, 8, 4, 6, 8, 4, 6, 8, 4, 6, 8, 4, 6, 8, 4, 6, 8, 4, 6, 8, 4, 6, 8, 4, 6, 8, 4, - 4, 4, 6, 4, 6, 4, 8, 6, 4, 4, - 6, 4, 6, 8, 4, 6, 8, 4, 4, 6, - 8, 6, 4, 6, 6, 8, 10, 7, 8, 8, - 9, 4, 4, 4, 4, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, - 4, 6, 4, 6, 5, 9, 6, 9, 8, 6, - 8, 8, 8, 6, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 2, 6, 8, 10, 12, 14, 6, - 8, 8, 10, 12, 14, 6, 8, 10, 12, 6, - 8, 4, 4, 3, 4, 6, 6, 4, 6, 4, - 6, 8, 0, 2, 1, 1, 1, 1, 1, 1, + 6, 8, 4, 6, 8, 4, 6, 8, 4, 6, + 8, 4, 4, 4, 6, 4, 6, 4, 8, 6, + 4, 4, 6, 4, 6, 8, 4, 6, 8, 4, + 4, 6, 8, 6, 4, 6, 6, 8, 10, 7, + 8, 8, 9, 4, 4, 4, 4, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, + 4, 4, 4, 6, 4, 6, 5, 9, 6, 9, + 8, 6, 8, 8, 8, 6, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 2, 6, 8, 10, 12, + 14, 6, 8, 8, 10, 12, 14, 6, 8, 10, + 12, 6, 8, 4, 4, 3, 4, 6, 6, 4, + 6, 4, 6, 8, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 2, 0, 2, 3, 4, 4, 4, - 4, 4, 0, 3, 4, 7, 3, 1, 1, 1, - 0, 5, 5, 2, 3, 1, 2, 2, 1, 2, - 1, 2, 2, 1, 2, 2, 1, 1, 0, 1, - 0, 1, 0, 2, 1, 2, 4, 0, 2, 1, - 1, 3, 5, 1, 1, 1, 2, 2, 0, 3, - 0, 2, 2, 1, 3, 0, 1, 0, 1, 3, - 1, 3, 2, 0, 1, 1, 0, 1, 2, 4, - 4, 0, 2, 2, 1, 1, 3, 3, 3, 3, - 3, 3, 3, 3, 0, 3, 3, 3, 0, 3, - 1, 1, 0, 4, 0, 1, 1, 0, 3, 1, - 3, 2, 1, 1, 0, 1, 2, 3, 4, 2, - 3, 4, 4, 9, 3, 5, 0, 3, 3, 0, - 1, 0, 2, 2, 0, 2, 2, 2, 0, 2, - 1, 2, 3, 3, 0, 2, 1, 2, 3, 4, - 3, 0, 1, 2, 1, 5, 4, 4, 1, 3, - 3, 5, 0, 5, 1, 3, 1, 2, 3, 4, - 1, 1, 3, 3, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 0, 1, 0, 2, 0, 3, 0, - 1, 0, 1, 1, 5, 0, 1, 0, 1, 2, - 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, - 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 2, 0, 2, 3, 4, + 4, 4, 4, 4, 0, 3, 4, 7, 3, 1, + 1, 1, 0, 5, 5, 2, 3, 1, 2, 2, + 1, 2, 1, 2, 2, 1, 2, 2, 1, 1, + 0, 1, 0, 1, 0, 2, 1, 2, 4, 0, + 2, 1, 1, 3, 5, 1, 1, 1, 2, 2, + 0, 3, 0, 2, 2, 1, 3, 0, 1, 0, + 1, 3, 1, 3, 2, 0, 1, 1, 0, 1, + 2, 4, 4, 0, 2, 2, 1, 1, 3, 3, + 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, + 0, 3, 1, 1, 0, 4, 0, 1, 1, 0, + 3, 1, 3, 2, 1, 1, 0, 1, 2, 3, + 4, 2, 3, 4, 4, 9, 3, 5, 0, 3, + 3, 0, 1, 0, 2, 2, 0, 2, 2, 2, + 0, 2, 1, 2, 3, 3, 0, 2, 1, 2, + 3, 4, 3, 0, 1, 2, 1, 5, 4, 4, + 1, 3, 3, 5, 0, 5, 1, 3, 1, 2, + 3, 4, 1, 1, 3, 3, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 0, 1, 0, 2, 0, + 3, 0, 1, 0, 1, 1, 5, 0, 1, 0, + 1, 2, 1, 1, 1, 1, 1, 1, 0, 1, + 1, 1, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -8824,7 +8894,7 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 1, 1, + 1, 1, 0, 0, 1, 1, } var yyChk = [...]int{ @@ -8834,146 +8904,146 @@ var yyChk = [...]int{ -27, -28, -74, -75, -76, -77, -78, -12, -13, -14, -8, -32, -31, -30, 10, 11, -108, -35, 33, -40, -50, 227, -51, -41, 228, -52, 230, 229, 267, 231, - 379, 260, 75, 315, 316, 318, 319, 320, 321, -109, - 684, 265, 266, 233, 37, 46, 34, 35, 38, 237, - 273, 274, 236, 133, -33, -36, 9, -413, 12, 469, - 262, 261, 29, -34, 578, 87, -80, -412, 732, -250, + 380, 260, 75, 316, 317, 319, 320, 321, 322, -109, + 685, 265, 266, 233, 37, 46, 34, 35, 38, 237, + 273, 274, 236, 133, -33, -36, 9, -413, 12, 470, + 262, 261, 29, -34, 579, 87, -80, -412, 733, -250, -234, 23, 34, 30, -233, -229, -127, -234, 21, 19, 8, -79, -79, -79, 13, 14, -79, -350, -352, 87, 160, 87, -79, -57, -56, -54, -53, -55, -58, 32, -47, -48, -374, -46, -43, 232, 229, 277, 123, 124, 267, 268, 269, 231, 251, 266, 270, 265, 286, -42, - 82, 34, 578, 581, -357, 228, 234, 235, 230, 470, - 126, 125, 76, -354, 374, 611, 702, -58, 704, 101, - 104, 703, 45, 241, 705, 706, 707, 618, 708, 250, - 709, 710, 711, 712, 718, 659, 719, 720, 721, 127, - 8, -79, -301, -297, 91, -290, 575, 253, 609, 423, - 610, 302, 82, 42, 514, 584, 371, 374, 611, 499, - 702, 380, 315, 331, 325, 504, 505, 506, 354, 346, - 576, 612, 585, 305, 254, 290, 696, 344, 136, 704, - 309, 613, 268, 381, 382, 614, 383, 101, 318, 420, - 717, 308, 615, 715, 104, 703, 323, 80, 498, 52, - 699, 45, 263, 428, 429, 342, 236, 338, 705, 291, - 616, 587, 284, 126, 123, 724, 37, 334, 51, 31, - 714, 125, 50, 706, 151, 617, 707, 618, 385, 361, - 690, 49, 386, 269, 619, 85, 274, 580, 312, 698, - 387, 519, 335, 388, 301, 713, 233, 620, 679, 671, - 672, 389, 390, 691, 366, 362, 367, 521, 621, 412, - 503, 391, 675, 676, 731, 53, 622, 623, 692, 124, - 624, 79, 708, 81, 329, 330, 625, 299, 252, 524, - 525, 414, 358, 481, 488, 489, 111, 112, 484, 113, - 490, 114, 491, 492, 493, 482, 115, 108, 483, 494, - 495, 359, 360, 116, 496, 110, 109, 485, 487, 117, - 497, 250, 36, 392, 577, 303, 59, 307, 278, 415, - 47, 364, 728, 46, 686, 526, 626, 689, 357, 353, - 478, 54, 627, 628, 629, 630, 500, 709, 356, 328, - 352, 723, 4, 296, 501, 710, 63, 235, 369, 368, - 370, 285, 411, 349, 631, 632, 633, 257, 83, 634, - 339, 22, 635, 636, 393, 292, 637, 57, 638, 639, - 418, 266, 640, 55, 711, 40, 641, 271, 725, 712, - 642, 643, 644, 685, 645, 273, 646, 395, 647, 673, - 674, 394, 363, 365, 527, 280, 396, 379, 238, 579, - 648, 313, 333, 270, 716, 649, 258, 515, 516, 517, - 518, 697, 523, 522, 272, 277, 265, 419, 259, 650, - 651, 652, 653, 654, 306, 670, 655, 656, 319, 718, - 479, 44, 657, 658, 659, 660, 661, 300, 295, 413, - 422, 62, 84, 376, 662, 663, 695, 327, 324, 293, - 460, 462, 463, 464, 465, 466, 461, 468, 664, 316, - 56, 719, 720, 721, 287, 722, 507, 508, 509, 510, - 10, 561, 544, 572, 545, 562, 546, 555, 547, 563, - 571, 573, 528, 536, 529, 537, 567, 550, 564, 556, - 549, 548, 570, 553, 557, 530, 538, 568, 554, 531, - 539, 532, 540, 533, 541, 566, 565, 558, 569, 534, - 542, 560, 535, 543, 559, 551, 552, 431, 729, 730, - 502, 398, 127, 297, 298, 48, 350, 279, 665, 310, - 666, 340, 341, 475, 476, 355, 326, 351, 682, 317, - 680, 281, 399, 480, 267, 667, 421, 294, 372, 377, - 311, 583, 520, 286, 400, 694, 582, 511, 512, 348, - 345, 288, 513, 668, 684, 401, 242, 282, 283, 669, - 681, 402, 403, 304, 404, 405, 406, 407, 408, 410, - 314, 409, 683, 677, 678, 289, 459, 581, 322, 343, - 378, 441, 442, 443, 444, 445, 446, 447, 448, 449, - 450, 451, 452, 453, 454, 455, 456, 457, 458, 477, - 240, -79, 240, -188, -297, -129, 686, 688, 179, -269, - 382, -287, 384, 397, 392, 402, 390, -278, 393, 395, - 280, -398, 412, 240, 399, 227, 385, 394, 403, 404, - 304, 410, 405, 314, 409, 289, 406, 407, 408, -381, - 179, 707, 722, 136, 347, 389, 387, 413, 686, 91, - -303, 91, 92, 93, -290, 317, -305, 322, -291, -381, - -290, 320, -79, -79, -307, -307, -129, -207, -144, 144, + 82, 34, 579, 582, -357, 228, 234, 235, 230, 471, + 126, 125, 76, -354, 375, 612, 703, -58, 705, 101, + 104, 704, 45, 241, 706, 707, 708, 619, 709, 250, + 710, 711, 712, 713, 719, 660, 720, 721, 722, 127, + 8, -79, -301, -297, 91, -290, 576, 253, 610, 424, + 611, 302, 82, 42, 515, 585, 372, 375, 612, 500, + 703, 381, 316, 332, 326, 505, 506, 507, 355, 347, + 577, 613, 586, 305, 254, 290, 697, 345, 136, 705, + 309, 614, 268, 382, 383, 615, 384, 101, 319, 421, + 718, 308, 616, 716, 104, 704, 324, 80, 499, 52, + 700, 45, 263, 429, 430, 343, 236, 339, 706, 291, + 617, 588, 284, 126, 123, 725, 37, 335, 51, 31, + 715, 125, 50, 707, 151, 618, 708, 619, 386, 362, + 691, 49, 387, 269, 620, 85, 274, 581, 313, 699, + 388, 520, 336, 389, 301, 714, 233, 621, 680, 672, + 673, 390, 391, 692, 367, 363, 368, 522, 622, 413, + 504, 392, 676, 677, 732, 53, 623, 624, 693, 124, + 625, 79, 709, 81, 330, 331, 626, 299, 252, 525, + 526, 415, 359, 482, 489, 490, 111, 112, 485, 113, + 491, 114, 492, 493, 494, 483, 115, 108, 484, 495, + 496, 360, 361, 116, 497, 110, 109, 486, 488, 117, + 498, 250, 36, 393, 578, 303, 59, 307, 278, 416, + 47, 365, 729, 46, 687, 527, 627, 690, 358, 354, + 479, 54, 628, 629, 630, 631, 501, 710, 357, 329, + 353, 724, 4, 296, 502, 711, 63, 235, 370, 369, + 371, 285, 412, 350, 632, 633, 634, 257, 83, 635, + 340, 22, 636, 637, 394, 292, 638, 57, 639, 640, + 419, 266, 641, 55, 712, 40, 642, 271, 726, 713, + 643, 644, 645, 686, 646, 273, 647, 396, 648, 674, + 675, 395, 364, 366, 528, 280, 397, 380, 238, 580, + 649, 314, 334, 270, 717, 650, 258, 516, 517, 518, + 519, 698, 524, 523, 272, 277, 265, 420, 259, 651, + 652, 653, 654, 655, 306, 671, 656, 657, 320, 719, + 480, 44, 658, 659, 660, 661, 662, 300, 295, 414, + 423, 62, 84, 377, 663, 664, 696, 328, 325, 293, + 461, 463, 464, 465, 466, 467, 462, 469, 665, 317, + 56, 720, 721, 722, 287, 723, 508, 509, 510, 511, + 10, 562, 545, 573, 546, 563, 547, 556, 548, 564, + 572, 574, 529, 537, 530, 538, 568, 551, 565, 557, + 550, 549, 571, 554, 558, 531, 539, 569, 555, 532, + 540, 533, 541, 534, 542, 567, 566, 559, 570, 535, + 543, 561, 536, 544, 560, 552, 553, 432, 730, 731, + 503, 399, 127, 297, 298, 48, 351, 279, 666, 310, + 667, 341, 342, 476, 477, 356, 327, 352, 683, 318, + 681, 281, 400, 481, 267, 668, 422, 294, 373, 378, + 311, 584, 521, 286, 401, 695, 583, 512, 513, 349, + 346, 288, 514, 669, 685, 402, 242, 282, 283, 670, + 682, 403, 404, 304, 405, 406, 407, 408, 409, 411, + 315, 410, 684, 678, 679, 289, 460, 582, 323, 344, + 379, 442, 443, 444, 445, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 478, + 240, -79, 240, -188, -297, -129, 687, 689, 179, -269, + 383, -287, 385, 398, 393, 403, 391, -278, 394, 396, + 280, -398, 413, 240, 400, 227, 386, 395, 404, 405, + 304, 411, 406, 315, 410, 289, 407, 408, 409, -381, + 179, 708, 723, 136, 348, 390, 388, 414, 687, 91, + -303, 91, 92, 93, -290, 318, -305, 323, -291, -381, + -290, 321, -79, -79, -307, -307, -129, -207, -144, 144, -157, -258, -160, 92, -149, -152, -201, -202, -203, -204, -158, -217, -256, 168, 169, 176, 145, -213, -161, 27, - 574, 471, 470, 179, 32, 222, 69, 70, 473, 147, - 58, 12, 436, 437, -159, 426, 427, 438, 432, 433, - 498, 500, 501, 502, 499, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 503, 514, 475, 476, 118, - 477, 108, 110, 109, 478, 479, 480, 344, 526, 527, - 521, 524, 525, 523, 522, 359, 360, 481, 544, 545, - 549, 548, 546, 547, 550, 553, 554, 555, 556, 557, - 558, 560, 559, 551, 552, 529, 528, 530, 531, 532, - 533, 534, 535, 537, 536, 538, 539, 540, 541, 542, - 543, 561, 562, 563, 564, 565, 567, 566, 571, 570, - 568, 569, 573, 572, 482, 483, 111, 112, 113, 114, - 115, 116, 117, 484, 487, 485, 486, 488, 489, 490, - 495, 496, 491, 492, 493, 494, 497, 370, 368, 369, - 365, 364, 363, -89, -101, 600, 599, -102, 423, 428, - 429, 431, -150, -151, -163, -164, -291, -297, 245, 425, - 239, 174, 469, -153, -147, -215, 107, 93, -31, -211, - 424, 434, 435, 439, 430, 440, 586, 588, 603, 604, - 606, 591, 596, 595, 598, 515, 516, 517, 518, 519, - 520, 671, 672, 673, 674, 675, 676, 677, 678, -381, + 575, 472, 471, 179, 32, 222, 69, 70, 474, 147, + 58, 12, 437, 438, -159, 427, 428, 439, 433, 434, + 499, 501, 502, 503, 500, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 504, 515, 476, 477, 118, + 478, 108, 110, 109, 479, 480, 481, 345, 527, 528, + 522, 525, 526, 524, 523, 360, 361, 482, 545, 546, + 550, 549, 547, 548, 551, 554, 555, 556, 557, 558, + 559, 561, 560, 552, 553, 530, 529, 531, 532, 533, + 534, 535, 536, 538, 537, 539, 540, 541, 542, 543, + 544, 562, 563, 564, 565, 566, 568, 567, 572, 571, + 569, 570, 574, 573, 483, 484, 111, 112, 113, 114, + 115, 116, 117, 485, 488, 486, 487, 489, 490, 491, + 496, 497, 492, 493, 494, 495, 498, 371, 369, 370, + 366, 365, 364, -89, -101, 601, 600, -102, 424, 429, + 430, 432, -150, -151, -163, -164, -291, -297, 245, 426, + 239, 174, 470, -153, -147, -215, 107, 93, -31, -211, + 425, 435, 436, 440, 431, 441, 587, 589, 604, 605, + 607, 592, 597, 596, 599, 516, 517, 518, 519, 520, + 521, 672, 673, 674, 675, 676, 677, 678, 679, -381, -290, 91, -155, -154, -197, 94, 99, 102, 103, 105, - -404, 263, 340, 341, 119, -413, 700, 90, 95, 96, + -404, 263, 341, 342, 119, -413, 701, 90, 95, 96, 97, 98, 120, 121, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 45, 398, 398, -188, - -79, -79, -79, -79, -410, 703, 579, -227, -127, -229, + 216, 217, 218, 219, 220, 221, 45, 399, 399, -188, + -79, -79, -79, -79, -410, 704, 580, -227, -127, -229, -33, -31, -413, 9, -79, -31, -32, -30, -36, -38, - 605, -37, -297, 100, -234, -250, 13, 62, 163, 43, + 606, -37, -297, 100, -234, -250, 13, 62, 163, 43, 51, -232, -233, -34, -31, -144, 20, 24, 25, -132, 170, -144, -297, -132, -276, 244, -79, -79, -265, -310, - 317, -267, 413, 686, 412, -257, -270, 91, -256, -269, - 411, 92, -351, 160, -337, -341, -291, 255, -367, 251, + 318, -267, 414, 687, 413, -257, -270, 91, -256, -269, + 412, 92, -351, 160, -337, -341, -291, 255, -367, 251, -188, -360, -359, -291, -413, -128, -286, 241, 249, 248, - 137, -385, 140, 297, 425, 239, -53, -54, -55, -269, - 178, 706, -110, 272, 276, 88, 88, -341, -340, -339, + 137, -385, 140, 297, 426, 239, -53, -54, -55, -269, + 178, 707, -110, 272, 276, 88, 88, -341, -340, -339, -386, 276, 255, -366, -358, 247, 256, -347, 248, 249, -342, 241, 138, -386, -342, 246, 256, 251, 255, 276, 276, 127, 276, 127, 276, 276, 276, 276, 276, 276, - 276, 276, 276, 271, -348, 152, -348, 582, 582, -354, + 276, 276, 276, 271, -348, 152, -348, 583, 583, -354, -386, 251, 241, -386, -386, 247, -288, -342, 243, 26, 243, 36, 36, -348, -348, -348, -269, 178, -348, -348, -348, -348, 284, 284, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, - -348, 240, -385, -136, 409, 304, 82, -56, 286, -39, - -188, -286, 241, 242, -385, 273, -188, 223, 240, 689, - -280, 160, 16, -280, -277, 398, 396, 383, 388, -280, - -280, -280, -280, 287, 381, -343, 241, 36, 252, 398, - 287, 381, 287, 288, 287, 288, 391, 401, 287, -302, - 15, 163, 425, 386, 390, 280, 240, 281, 242, 400, - 288, -302, 90, -281, 160, 287, 398, 392, 283, -280, + -348, 240, -385, -136, 410, 304, 82, -56, 286, -39, + -188, -286, 241, 242, -385, 273, -188, 223, 240, 690, + -280, 160, 16, -280, -277, 399, 397, 384, 389, -280, + -280, -280, -280, 287, 382, -343, 241, 36, 252, 399, + 287, 382, 287, 288, 287, 288, 392, 402, 287, -302, + 15, 163, 426, 387, 391, 280, 240, 281, 242, 401, + 288, -302, 90, -281, 160, 287, 399, 393, 283, -280, -280, -308, -413, -293, -291, -289, 232, 24, 143, 26, - 28, 146, 179, 130, 20, 147, 38, 234, 347, 251, - 178, 247, 470, 227, 73, 586, 426, 433, 424, 432, - 436, 472, 473, 425, 384, 32, 14, 588, 29, 261, - 25, 39, 172, 229, 150, 589, 264, 27, 262, 118, - 121, 591, 23, 76, 256, 15, 249, 41, 17, 592, - 593, 18, 245, 244, 163, 241, 71, 12, 222, 30, - 159, 67, 594, 138, 133, 595, 596, 597, 598, 131, - 69, 160, 21, 726, 434, 435, 34, 687, 574, 275, - 174, 74, 60, 688, 144, 430, 599, 600, 119, 601, - 122, 77, 693, 140, 19, 72, 43, 602, 276, 603, - 246, 727, 604, 416, 605, 161, 230, 469, 70, 162, - 700, 606, 701, 239, 397, 9, 474, 33, 260, 248, - 129, 68, 440, 607, 240, 149, 243, 132, 120, 8, - 137, 35, 13, 75, 78, 437, 438, 439, 58, 128, - 578, 148, 16, 608, 417, 142, -381, 689, -308, -308, - 33, 92, -407, -408, -409, 578, 416, 243, -291, -188, - -85, 679, 231, -86, 685, 24, 238, -134, 398, -122, - 179, 707, 690, 691, 692, 689, 395, 697, 695, 693, - 287, 694, 88, 140, 142, 143, 4, -144, 159, -198, + 28, 146, 179, 130, 20, 147, 38, 234, 348, 251, + 178, 247, 471, 227, 73, 587, 427, 434, 425, 433, + 437, 473, 474, 426, 385, 32, 14, 589, 29, 261, + 25, 39, 172, 229, 150, 590, 264, 27, 262, 118, + 121, 592, 23, 76, 256, 15, 249, 41, 17, 593, + 594, 18, 245, 244, 163, 241, 71, 12, 222, 30, + 159, 67, 595, 138, 133, 596, 597, 598, 599, 131, + 69, 160, 21, 727, 435, 436, 34, 688, 575, 275, + 174, 74, 60, 689, 144, 431, 600, 601, 119, 602, + 122, 77, 694, 140, 19, 72, 43, 603, 276, 604, + 246, 728, 605, 417, 606, 161, 230, 470, 70, 162, + 701, 607, 702, 239, 398, 9, 475, 33, 260, 248, + 129, 68, 441, 608, 240, 149, 243, 132, 120, 8, + 137, 35, 13, 75, 78, 438, 439, 440, 58, 128, + 579, 148, 16, 609, 418, 142, -381, 690, -308, -308, + 33, 92, -407, -408, -409, 579, 417, 243, -291, -188, + -85, 680, 231, -86, 686, 24, 238, -134, 399, -122, + 179, 708, 691, 692, 693, 690, 396, 698, 696, 694, + 287, 695, 88, 140, 142, 143, 4, -144, 159, -198, 152, 153, 154, 155, 156, 157, 158, 164, 163, 144, 146, 160, -243, 141, 165, 166, 167, 168, 169, 170, 171, 173, 172, 174, 175, 161, 162, 178, 225, 226, @@ -9000,18 +9070,18 @@ var yyChk = [...]int{ -396, -191, -188, -413, 304, -291, -291, 273, 96, -232, -34, -31, -227, -233, -229, -31, -79, -120, -133, 64, 65, -135, 25, 39, 68, 66, 24, -414, 89, -414, - -250, -414, 88, -38, -253, 87, 633, 663, 633, 663, + -250, -414, 88, -38, -253, 87, 634, 664, 634, 664, 62, 44, 90, 90, 88, 22, -228, -230, -144, 15, -295, 4, -294, 26, -291, 90, 223, 15, -189, 30, - -188, -276, -276, 88, 91, 317, -266, -268, 414, 416, + -188, -276, -276, 88, 91, 318, -266, -268, 415, 417, 152, -296, -291, 90, 32, 89, 88, -188, -315, -318, - -320, -319, -321, -316, -317, 344, 345, 179, 348, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 361, 33, - 263, 340, 341, 342, 343, 362, 363, 364, 365, 367, - 368, 369, 370, 325, 346, 576, 326, 327, 328, 329, - 330, 331, 333, 334, 337, 335, 336, 338, 339, -382, + -320, -319, -321, -316, -317, 345, 346, 179, 349, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 362, 33, + 263, 341, 342, 343, 344, 363, 364, 365, 366, 368, + 369, 370, 371, 326, 347, 577, 327, 328, 329, 330, + 331, 332, 334, 335, 338, 336, 337, 339, 340, -382, -381, 87, 89, 88, -322, 87, -144, -136, 240, -381, - 241, 241, 241, -79, 469, -348, -348, -348, 271, 20, + 241, 241, 241, -79, 470, -348, -348, -348, 271, 20, -46, -43, -374, 19, -42, -43, 232, 123, 124, 229, 87, -337, 87, -346, -382, -381, 87, 138, 246, 137, -345, -342, -345, -346, -381, -215, -381, 138, 138, -381, @@ -9021,388 +9091,388 @@ var yyChk = [...]int{ -215, -381, -381, -215, -337, -215, -188, -381, -269, 96, 96, 96, -348, -348, 96, 90, 90, 90, -348, -348, 96, 90, -299, -297, 90, 90, -387, 257, 301, 303, - 96, 96, 96, 96, 32, 90, -388, 32, 714, 713, - 715, 716, 717, 90, 96, 32, 96, 32, 96, -291, + 96, 96, 96, 96, 32, 90, -388, 32, 715, 714, + 716, 717, 718, 90, 96, 32, 96, 32, 96, -291, 87, -188, -142, 291, 227, 229, 232, 77, 90, 307, - 308, 305, 310, 311, 152, 45, 88, 243, 240, -381, - -282, 245, -282, -291, -298, -297, -289, -188, 243, 380, - 90, -144, -344, 15, 163, -302, -302, -280, -188, -344, - -302, -280, -188, -280, -280, -280, -280, -302, -302, -302, - -280, -297, -297, -188, -188, -188, -188, -188, -188, -188, - -308, -281, -280, 689, 90, -274, 15, 77, -308, -308, - 88, 323, 417, 418, -306, 320, -81, -291, 90, -10, - -29, -18, -17, -19, 152, -10, 88, 578, -181, -188, - 689, 689, 689, 689, 689, 689, -144, -144, -144, -144, - 601, -205, 119, 144, 120, 121, -160, -144, -206, -211, - -213, 106, 163, 146, 160, -243, -149, -152, -149, -149, - -149, -149, -149, -149, 222, -149, 222, -149, -149, -149, - -149, -149, -149, -309, -291, 90, 179, -156, -155, 105, - -404, -156, 575, 88, -218, 223, -144, -144, -381, -118, - 442, 443, 444, 445, 447, 448, 449, 452, 453, 457, - 458, 441, 459, 446, 451, 454, 455, 456, 450, 343, - -144, -130, -132, -130, -144, -220, -221, 148, -215, -144, - -414, -414, 96, 170, -126, 25, 39, -126, -126, -126, - -126, -144, -144, -144, -144, -144, -144, -144, -144, -144, - -144, -126, -144, -119, 441, 459, 446, 451, 454, 455, - 456, 450, 343, 460, 461, 462, 463, 464, 465, 466, - 467, 468, -119, -118, -144, -144, -144, -144, -144, -144, - -87, -144, 130, 131, 132, -207, -144, -149, -144, -144, - -144, -414, -144, -144, -144, -208, -207, -144, -144, -144, + 308, 305, 310, 311, 312, 152, 45, 88, 243, 240, + -381, -282, 245, -282, -291, -298, -297, -289, -188, 243, + 381, 90, -144, -344, 15, 163, -302, -302, -280, -188, + -344, -302, -280, -188, -280, -280, -280, -280, -302, -302, + -302, -280, -297, -297, -188, -188, -188, -188, -188, -188, + -188, -308, -281, -280, 690, 90, -274, 15, 77, -308, + -308, 88, 324, 418, 419, -306, 321, -81, -291, 90, + -10, -29, -18, -17, -19, 152, -10, 88, 579, -181, + -188, 690, 690, 690, 690, 690, 690, -144, -144, -144, + -144, 602, -205, 119, 144, 120, 121, -160, -144, -206, + -211, -213, 106, 163, 146, 160, -243, -149, -152, -149, + -149, -149, -149, -149, -149, 222, -149, 222, -149, -149, + -149, -149, -149, -149, -309, -291, 90, 179, -156, -155, + 105, -404, -156, 576, 88, -218, 223, -144, -144, -381, + -118, 443, 444, 445, 446, 448, 449, 450, 453, 454, + 458, 459, 442, 460, 447, 452, 455, 456, 457, 451, + 344, -144, -130, -132, -130, -144, -220, -221, 148, -215, + -144, -414, -414, 96, 170, -126, 25, 39, -126, -126, + -126, -126, -144, -144, -144, -144, -144, -144, -144, -144, + -144, -144, -126, -144, -119, 442, 460, 447, 452, 455, + 456, 457, 451, 344, 461, 462, 463, 464, 465, 466, + 467, 468, 469, -119, -118, -144, -144, -144, -144, -144, + -144, -87, -144, 130, 131, 132, -207, -144, -149, -144, + -144, -144, -414, -144, -144, -144, -208, -207, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, - -144, -144, -144, -380, -379, -378, -144, -144, -144, -144, + -144, -144, -144, -144, -380, -379, -378, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, - -144, -144, -144, -144, -144, -144, -144, -144, -144, -207, - -207, -207, -207, -207, -144, -414, -144, -162, -147, 96, - -258, 105, 92, -144, -144, -144, -144, -144, -144, -131, - -130, -293, -298, -289, -290, -130, -131, -131, -130, -130, - -144, -144, -144, -144, -144, -144, -144, -144, -414, -144, - -144, -144, -144, -144, -250, -414, -207, 88, -397, 416, - 417, 687, -300, 276, -299, 26, -208, 90, 15, -260, - 78, -291, -232, -232, 64, 65, 60, -130, -135, -414, - -37, 26, -252, -291, 626, 626, 63, 90, -327, -269, - 371, 372, 179, -144, -144, 88, -231, 28, 29, -188, - -294, 170, -298, -188, -261, 276, -188, -166, -168, -169, - -170, -191, -214, -413, -171, -31, 597, 594, 15, -181, - -182, -190, -297, -267, -310, -266, 88, 415, 417, 418, - 77, 122, -144, -328, 178, -356, -355, -354, -337, -339, - -340, -341, 89, -328, -333, 377, 376, -322, -322, -322, - -322, -322, -327, -327, -327, -327, 87, 87, -322, -322, - -322, -322, -330, 87, -330, -330, -331, -330, 87, -331, - -332, 87, -332, -367, -144, -364, -363, -361, -362, 250, - 101, 669, 625, 578, 618, 659, 78, -359, -231, 96, - -414, -142, -283, 245, -365, -362, -381, -381, -381, -283, - 91, 90, 91, 90, 91, 90, -111, -60, -1, 726, - 727, 728, 88, 20, -338, -337, -59, 301, -370, -371, - 276, -366, -360, -346, 138, -345, -346, -346, -381, 88, - 30, 127, 127, 127, 127, 578, 229, 33, -284, 617, - 144, 669, 625, -337, -59, 243, 243, -309, -309, -309, - 90, 90, -279, 722, -181, -138, 293, 152, 282, 282, - 240, 295, 240, 295, -188, 306, 309, 307, 308, 305, - 310, 311, 24, 24, 24, 24, 24, 294, 296, 298, - 284, -188, -188, -282, 77, -183, -188, 27, -297, 90, - 90, -188, -280, -280, -188, -280, -280, -188, -409, 324, - -291, 358, 680, 681, 683, 682, -122, 416, 88, 578, - 23, -123, 23, -413, 119, 120, 121, -206, -149, -152, - -149, 143, 264, -149, -149, -413, -215, -414, -293, 26, - 88, 78, -414, 168, 88, 88, -414, -414, 88, 15, - -223, -221, 150, -144, -414, 88, -414, -414, -207, -144, - -144, -144, -144, -414, -414, -414, -414, -414, -414, -414, - -414, -414, -414, -207, -414, 88, 88, 15, -313, 26, - -414, -414, -414, -414, -414, -222, -414, 15, -414, 78, - 88, 163, 88, -414, -414, -414, 88, 88, -414, -414, - 88, -414, 88, -414, -414, -414, -414, -414, -414, 88, - -414, 88, -414, -414, -414, 88, -414, 88, -414, -414, - 88, -414, 88, -414, 88, -414, 88, -414, 88, -414, - 88, -414, 88, -414, 88, -414, 88, -414, 88, -414, - 88, -414, 88, -414, 88, -414, 88, -414, 88, -414, - 88, -414, 88, -414, 88, -414, -414, -414, 88, -414, - 88, -414, 88, -414, -414, 88, -414, 88, -414, 88, - -414, 88, 88, -414, 88, 88, 88, -414, 88, 88, - 88, 88, -414, -414, -414, -414, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, -414, -414, -414, -414, - -414, -414, 88, -94, 602, -414, -414, 88, -414, 88, - 88, 88, 88, 88, -414, -413, 223, -414, -414, -414, - -414, -414, 88, 88, 88, 88, 88, 88, -414, -414, - -414, 88, 88, -414, 88, -414, 88, -414, -396, 686, - 417, -195, -194, -192, 75, 244, 76, -413, -299, -414, - -156, -258, -259, -258, -200, -291, 96, 105, -234, -165, - -167, 15, -135, -213, 89, 88, -327, -238, -244, -277, - -291, 90, 179, -329, 179, -329, 371, 372, -230, 223, - -196, 16, -199, 33, 58, -29, -413, -413, 33, 88, - -184, -186, -185, -187, 67, 71, 73, 68, 69, 70, - 74, -304, 26, -31, -166, -31, -413, -188, -181, -415, - 15, 78, -415, 88, 223, -268, -271, 419, 416, 422, - -381, 90, -110, 88, -354, -341, -235, -139, 41, -334, - 378, -327, 585, -327, -336, 90, -336, 96, 96, 96, - 89, -49, -44, -45, 34, 82, -361, -348, 90, 40, - -348, -348, -291, 89, -231, -138, -188, 144, 77, -365, - -365, -365, -297, -2, 725, 731, 138, 87, 383, 19, - -252, 88, 89, -216, 302, 89, -112, -291, 89, 87, - -346, -346, -291, -413, 240, 32, 32, 669, 625, 617, - -59, -216, -215, -381, -328, 724, 723, 89, 242, 300, - -143, 436, -140, 90, 91, -188, -188, -188, -188, -188, - -188, 232, 229, 406, -405, 312, -405, 285, 243, -181, - -188, 88, -84, 259, 254, -302, -302, 34, -188, 416, - 698, 696, -144, 143, 264, -160, -152, -118, -118, -149, - -311, 179, 344, 263, 342, 338, 358, 349, 376, 340, - 377, 335, 334, 333, -311, -309, -149, -207, -132, -144, - -144, 151, -144, 149, -144, -414, -414, -414, -414, -414, - -227, -144, -144, -144, -414, 179, 344, 15, -144, -309, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, + -207, -207, -207, -207, -207, -144, -414, -144, -162, -147, + 96, -258, 105, 92, -144, -144, -144, -144, -144, -144, + -131, -130, -293, -298, -289, -290, -130, -131, -131, -130, + -130, -144, -144, -144, -144, -144, -144, -144, -144, -414, + -144, -144, -144, -144, -144, -250, -414, -207, 88, -397, + 417, 418, 688, -300, 276, -299, 26, -208, 90, 15, + -260, 78, -291, -232, -232, 64, 65, 60, -130, -135, + -414, -37, 26, -252, -291, 627, 627, 63, 90, -327, + -269, 372, 373, 179, -144, -144, 88, -231, 28, 29, + -188, -294, 170, -298, -188, -261, 276, -188, -166, -168, + -169, -170, -191, -214, -413, -171, -31, 598, 595, 15, + -181, -182, -190, -297, -267, -310, -266, 88, 416, 418, + 419, 77, 122, -144, -328, 178, -356, -355, -354, -337, + -339, -340, -341, 89, -328, -333, 378, 377, -322, -322, + -322, -322, -322, -327, -327, -327, -327, 87, 87, -322, + -322, -322, -322, -330, 87, -330, -330, -331, -330, 87, + -331, -332, 87, -332, -367, -144, -364, -363, -361, -362, + 250, 101, 670, 626, 579, 619, 660, 78, -359, -231, + 96, -414, -142, -283, 245, -365, -362, -381, -381, -381, + -283, 91, 90, 91, 90, 91, 90, -111, -60, -1, + 727, 728, 729, 88, 20, -338, -337, -59, 301, -370, + -371, 276, -366, -360, -346, 138, -345, -346, -346, -381, + 88, 30, 127, 127, 127, 127, 579, 229, 33, -284, + 618, 144, 670, 626, -337, -59, 243, 243, -309, -309, + -309, 90, 90, -279, 723, -181, -138, 293, 152, 282, + 282, 240, 295, 240, 295, -188, 306, 309, 307, 308, + 305, 310, 311, 312, 24, 24, 24, 24, 24, 24, + 294, 296, 298, 284, -188, -188, -282, 77, -183, -188, + 27, -297, 90, 90, -188, -280, -280, -188, -280, -280, + -188, -409, 325, -291, 359, 681, 682, 684, 683, -122, + 417, 88, 579, 23, -123, 23, -413, 119, 120, 121, + -206, -149, -152, -149, 143, 264, -149, -149, -413, -215, + -414, -293, 26, 88, 78, -414, 168, 88, 88, -414, + -414, 88, 15, -223, -221, 150, -144, -414, 88, -414, + -414, -207, -144, -144, -144, -144, -414, -414, -414, -414, + -414, -414, -414, -414, -414, -414, -207, -414, 88, 88, + 15, -313, 26, -414, -414, -414, -414, -414, -222, -414, + 15, -414, 78, 88, 163, 88, -414, -414, -414, 88, + 88, -414, -414, 88, -414, 88, -414, -414, -414, -414, + -414, -414, 88, -414, 88, -414, -414, -414, 88, -414, + 88, -414, -414, 88, -414, 88, -414, 88, -414, 88, + -414, 88, -414, 88, -414, 88, -414, 88, -414, 88, + -414, 88, -414, 88, -414, 88, -414, 88, -414, 88, + -414, 88, -414, 88, -414, 88, -414, 88, -414, -414, + -414, 88, -414, 88, -414, 88, -414, -414, 88, -414, + 88, -414, 88, -414, 88, 88, -414, 88, 88, 88, + -414, 88, 88, 88, 88, -414, -414, -414, -414, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, -414, + -414, -414, -414, -414, -414, 88, -94, 603, -414, -414, + 88, -414, 88, 88, 88, 88, 88, -414, -413, 223, + -414, -414, -414, -414, -414, 88, 88, 88, 88, 88, + 88, -414, -414, -414, 88, 88, -414, 88, -414, 88, + -414, -396, 687, 418, -195, -194, -192, 75, 244, 76, + -413, -299, -414, -156, -258, -259, -258, -200, -291, 96, + 105, -234, -165, -167, 15, -135, -213, 89, 88, -327, + -238, -244, -277, -291, 90, 179, -329, 179, -329, 372, + 373, -230, 223, -196, 16, -199, 33, 58, -29, -413, + -413, 33, 88, -184, -186, -185, -187, 67, 71, 73, + 68, 69, 70, 74, -304, 26, -31, -166, -31, -413, + -188, -181, -415, 15, 78, -415, 88, 223, -268, -271, + 420, 417, 423, -381, 90, -110, 88, -354, -341, -235, + -139, 41, -334, 379, -327, 586, -327, -336, 90, -336, + 96, 96, 96, 89, -49, -44, -45, 34, 82, -361, + -348, 90, 40, -348, -348, -291, 89, -231, -138, -188, + 144, 77, -365, -365, -365, -297, -2, 726, 732, 138, + 87, 384, 19, -252, 88, 89, -216, 302, 89, -112, + -291, 89, 87, -346, -346, -291, -413, 240, 32, 32, + 670, 626, 618, -59, -216, -215, -381, -328, 725, 724, + 89, 242, 300, -143, 437, -140, 90, 91, -188, -188, + -188, -188, -188, -188, 232, 229, 407, -405, 313, -405, + 285, 243, -181, -188, 88, -84, 259, 254, -302, -302, + 34, -188, 417, 699, 697, -144, 143, 264, -160, -152, + -118, -118, -149, -311, 179, 345, 263, 343, 339, 359, + 350, 377, 341, 378, 336, 335, 334, -311, -309, -149, + -207, -132, -144, -144, 151, -144, 149, -144, -414, -414, + -414, -414, -414, -227, -144, -144, -144, -414, 179, 345, + 15, -144, -309, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, - -144, -144, -144, -144, -144, -378, -144, -207, -144, -207, - -144, -144, -144, -144, -144, -379, -379, -379, -379, -379, - -207, -207, -207, -207, -144, -413, -291, -97, -96, -95, - 652, 244, -94, -162, -97, -162, 222, -144, 222, 222, - 222, -144, -131, -293, -144, -144, -144, -144, -144, -144, - -144, -144, -144, -144, -192, -342, -342, -342, -262, 88, - -273, 23, 15, 58, 58, -165, -196, -166, -135, -291, - -241, 679, -247, 47, -245, -246, 48, -242, 49, 57, - -329, -329, 170, -232, -144, -263, 77, -264, -272, -215, - -210, -212, -211, -413, -251, -414, -291, -262, -264, -168, - -169, -169, -168, -169, 67, 67, 67, 72, 67, 72, - 67, -185, -297, -414, -144, -300, 78, -166, -166, -190, - -297, 170, 416, 420, 421, -354, -403, 119, 144, 32, - 77, 374, 101, -401, 178, 614, 664, 669, 625, 618, - 659, -402, 246, 137, 138, 258, 26, 42, 89, 88, - 89, 88, 89, 89, 88, -285, -284, -45, -44, -348, - -348, 96, -381, 90, 90, 242, 27, -188, 77, 77, - 77, -113, 729, 96, 87, -3, 82, -144, 87, 20, - -337, -215, -372, -323, -373, -324, -325, -5, -6, -349, - -116, 58, 101, -63, 45, 241, 709, 710, 127, -413, - 722, -364, -252, -368, -370, -188, -148, -413, -159, -146, - -145, -147, -153, 168, 169, 263, 340, 341, -216, -188, - -137, 291, 299, 87, -141, 92, -384, 78, 282, 374, - 282, 374, 90, -406, 313, 90, -406, -188, -84, -49, - -188, -280, -280, 34, -381, -414, -160, -152, -125, 163, - 578, -314, 584, -322, -322, -322, -332, -322, 330, -322, - 330, -322, -414, -414, -414, 88, -414, 23, -414, -144, - 88, -121, 474, 88, 88, -414, 87, 87, -144, -414, - -414, -414, 88, -414, -414, -414, -414, -414, -414, -414, - -414, -414, -414, -414, -414, -414, 88, -414, 88, -414, - 88, -414, 88, -414, 88, -414, 88, -414, 88, -414, - 88, -414, 88, -414, 88, -414, 88, -414, 88, -414, - 88, -414, 88, -414, 88, -414, 88, -414, -414, 88, - -414, -414, -414, 88, -414, 88, -414, 88, -414, -414, - -414, 88, -312, 670, -414, -414, -414, -414, -414, -414, - -414, -414, -414, -414, -414, -93, -292, -291, -94, 634, - 634, -414, -94, -224, 88, -149, -414, -149, -149, -149, - -414, -414, -414, 88, -414, 88, 88, -414, 88, -414, - 88, -414, -414, -414, -414, 88, -193, 23, -193, -193, - -414, -258, -188, -196, -225, 17, -238, 52, 350, -249, - -248, 56, 48, -246, 20, 50, 20, 31, -263, 88, - 152, 88, -414, -414, 88, 58, 223, -414, -196, -179, - -178, 77, 78, -180, 77, -178, 67, 67, -253, 88, - -261, -166, -196, -196, 223, 119, -413, -148, 13, 90, - 90, -381, -400, 713, 714, 32, 96, -348, -348, 138, - 138, -188, 87, -327, 90, -327, 96, 96, 32, 83, - 84, 85, 32, 79, 80, 81, -188, -188, -188, -188, - -369, 87, 20, -144, 87, 152, 89, -252, -252, 278, - 163, -348, 707, 284, 284, -348, -348, -348, -115, -114, - 729, 89, -414, 88, -335, 578, 581, -144, -154, -154, - -253, 89, -377, 578, -383, -291, -291, -291, -291, 96, - 98, -414, 576, 74, 579, -414, -327, -144, -144, -144, - -232, 90, -144, -144, 96, 96, -414, -144, -144, -144, + -144, -144, -144, -144, -144, -144, -144, -144, -378, -144, + -207, -144, -207, -144, -144, -144, -144, -144, -379, -379, + -379, -379, -379, -207, -207, -207, -207, -144, -413, -291, + -97, -96, -95, 653, 244, -94, -162, -97, -162, 222, + -144, 222, 222, 222, -144, -131, -293, -144, -144, -144, + -144, -144, -144, -144, -144, -144, -144, -192, -342, -342, + -342, -262, 88, -273, 23, 15, 58, 58, -165, -196, + -166, -135, -291, -241, 680, -247, 47, -245, -246, 48, + -242, 49, 57, -329, -329, 170, -232, -144, -263, 77, + -264, -272, -215, -210, -212, -211, -413, -251, -414, -291, + -262, -264, -168, -169, -169, -168, -169, 67, 67, 67, + 72, 67, 72, 67, -185, -297, -414, -144, -300, 78, + -166, -166, -190, -297, 170, 417, 421, 422, -354, -403, + 119, 144, 32, 77, 375, 101, -401, 178, 615, 665, + 670, 626, 619, 660, -402, 246, 137, 138, 258, 26, + 42, 89, 88, 89, 88, 89, 89, 88, -285, -284, + -45, -44, -348, -348, 96, -381, 90, 90, 242, 27, + -188, 77, 77, 77, -113, 730, 96, 87, -3, 82, + -144, 87, 20, -337, -215, -372, -323, -373, -324, -325, + -5, -6, -349, -116, 58, 101, -63, 45, 241, 710, + 711, 127, -413, 723, -364, -252, -368, -370, -188, -148, + -413, -159, -146, -145, -147, -153, 168, 169, 263, 341, + 342, -216, -188, -137, 291, 299, 87, -141, 92, -384, + 78, 282, 375, 282, 375, 90, -406, 314, 90, -406, + -188, -84, -49, -188, -280, -280, 34, -381, -414, -160, + -152, -125, 163, 579, -314, 585, -322, -322, -322, -332, + -322, 331, -322, 331, -322, -414, -414, -414, 88, -414, + 23, -414, -144, 88, -121, 475, 88, 88, -414, 87, + 87, -144, -414, -414, -414, 88, -414, -414, -414, -414, + -414, -414, -414, -414, -414, -414, -414, -414, -414, 88, + -414, 88, -414, 88, -414, 88, -414, 88, -414, 88, + -414, 88, -414, 88, -414, 88, -414, 88, -414, 88, + -414, 88, -414, 88, -414, 88, -414, 88, -414, 88, + -414, -414, 88, -414, -414, -414, 88, -414, 88, -414, + 88, -414, -414, -414, 88, -312, 671, -414, -414, -414, + -414, -414, -414, -414, -414, -414, -414, -414, -93, -292, + -291, -94, 635, 635, -414, -94, -224, 88, -149, -414, + -149, -149, -149, -414, -414, -414, 88, -414, 88, 88, + -414, 88, -414, 88, -414, -414, -414, -414, 88, -193, + 23, -193, -193, -414, -258, -188, -196, -225, 17, -238, + 52, 351, -249, -248, 56, 48, -246, 20, 50, 20, + 31, -263, 88, 152, 88, -414, -414, 88, 58, 223, + -414, -196, -179, -178, 77, 78, -180, 77, -178, 67, + 67, -253, 88, -261, -166, -196, -196, 223, 119, -413, + -148, 13, 90, 90, -381, -400, 714, 715, 32, 96, + -348, -348, 138, 138, -188, 87, -327, 90, -327, 96, + 96, 32, 83, 84, 85, 32, 79, 80, 81, -188, + -188, -188, -188, -369, 87, 20, -144, 87, 152, 89, + -252, -252, 278, 163, -348, 708, 284, 284, -348, -348, + -348, -115, -114, 730, 89, -414, 88, -335, 579, 582, + -144, -154, -154, -253, 89, -377, 579, -383, -291, -291, + -291, -291, 96, 98, -414, 577, 74, 580, -414, -327, + -144, -144, -144, -232, 90, -144, -144, 96, 96, -414, -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, - -144, -144, -144, -144, -144, -144, -144, -207, -144, -414, - -176, -175, -177, 690, 119, 32, -311, -414, -209, 276, - -100, -99, -98, 15, -414, -144, -118, -118, -118, -118, - -144, -144, -144, -144, -144, -144, -413, 67, 19, 17, - -413, -413, -300, -225, -226, 18, 20, -239, 54, -237, - 53, -237, -248, 20, 20, 90, 20, 90, 138, -272, - -144, -212, 58, -29, -291, -210, -291, -227, -144, 87, - -144, -156, -196, -196, -144, -202, 498, 500, 501, 502, - 499, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 503, 514, 475, 476, 477, 108, 110, 109, 478, - 479, 480, 344, 526, 527, 521, 524, 525, 523, 522, - 359, 360, 481, 544, 545, 549, 548, 546, 547, 550, - 553, 554, 555, 556, 557, 558, 560, 559, 551, 552, - 529, 528, 530, 531, 532, 533, 534, 535, 537, 536, - 538, 539, 540, 541, 542, 543, 561, 562, 563, 564, - 565, 567, 566, 571, 570, 568, 569, 573, 572, 482, - 483, 111, 112, 113, 114, 115, 116, 117, 484, 487, - 485, 488, 489, 490, 495, 496, 491, 492, 493, 494, - 497, 370, 368, 369, 365, 364, 363, 423, 428, 429, - 431, 515, 516, 517, 518, 519, 520, 671, 672, 673, - 674, 675, 676, 677, 678, 90, 90, 87, -144, 89, - 89, -253, -368, -60, 89, -254, -252, 96, 89, 279, - -211, -413, 90, -348, -348, -348, 96, 96, -299, -414, - 88, -291, -402, -370, 582, 582, -414, 26, -376, -375, - -293, 87, 78, 63, 577, 580, -414, -414, 88, -414, - -414, -414, 89, 89, -414, -414, -414, -414, -414, -414, + -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, + -207, -144, -414, -176, -175, -177, 691, 119, 32, -311, + -414, -209, 276, -100, -99, -98, 15, -414, -144, -118, + -118, -118, -118, -144, -144, -144, -144, -144, -144, -413, + 67, 19, 17, -413, -413, -300, -225, -226, 18, 20, + -239, 54, -237, 53, -237, -248, 20, 20, 90, 20, + 90, 138, -272, -144, -212, 58, -29, -291, -210, -291, + -227, -144, 87, -144, -156, -196, -196, -144, -202, 499, + 501, 502, 503, 500, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 504, 515, 476, 477, 478, 108, + 110, 109, 479, 480, 481, 345, 527, 528, 522, 525, + 526, 524, 523, 360, 361, 482, 545, 546, 550, 549, + 547, 548, 551, 554, 555, 556, 557, 558, 559, 561, + 560, 552, 553, 530, 529, 531, 532, 533, 534, 535, + 536, 538, 537, 539, 540, 541, 542, 543, 544, 562, + 563, 564, 565, 566, 568, 567, 572, 571, 569, 570, + 574, 573, 483, 484, 111, 112, 113, 114, 115, 116, + 117, 485, 488, 486, 489, 490, 491, 496, 497, 492, + 493, 494, 495, 498, 371, 369, 370, 366, 365, 364, + 424, 429, 430, 432, 516, 517, 518, 519, 520, 521, + 672, 673, 674, 675, 676, 677, 678, 679, 90, 90, + 87, -144, 89, 89, -253, -368, -60, 89, -254, -252, + 96, 89, 279, -211, -413, 90, -348, -348, -348, 96, + 96, -299, -414, 88, -291, -402, -370, 583, 583, -414, + 26, -376, -375, -293, 87, 78, 63, 578, 581, -414, + -414, 88, -414, -414, -414, 89, 89, -414, -414, -414, -414, -414, -414, -414, -414, -414, -414, -414, -414, -414, - -414, -414, -414, -414, -414, -414, 88, -414, -175, -177, - -414, 77, -156, -227, 20, -97, 301, 303, -97, -414, - -414, -414, -414, -414, 88, -414, -414, 88, -414, 88, - -414, -414, -255, -414, -291, 246, 20, 20, -255, -255, - -195, -226, -107, -106, -105, 608, -144, -207, -240, 55, - 77, 122, 90, 90, 90, 13, -210, 223, -232, -252, - -173, 383, -227, -414, -252, 89, 26, 89, 731, 138, - 89, -211, -124, -413, 275, -299, 90, 90, -114, -117, - -29, 88, 152, -252, -188, 63, -144, -207, -414, 77, - 589, 690, -92, -91, -88, 701, 727, -207, -94, -94, - -144, -144, -144, 88, -414, -414, -414, -107, 88, -104, - -103, -291, 77, 122, -264, -291, 89, -414, -413, -232, - 89, -236, -29, 87, -3, 275, -323, -373, -324, -325, - -5, -6, -349, -82, 578, -375, -353, -297, -293, 90, - 96, 89, 578, -414, -414, -90, 146, 699, 667, -154, - 222, -414, 88, -414, 88, -414, 88, -291, 246, -105, - 88, 26, -300, -174, -172, -291, 631, -393, -392, 574, - -403, -399, 119, 144, 101, -401, 669, 625, 128, 129, - -82, -144, 87, -414, -83, 290, 686, 223, -384, 579, - -90, 700, 645, 620, 645, 620, -149, -144, -144, -144, - -103, -413, -414, 88, 23, -315, -62, 642, -390, -391, - 77, -394, 389, 641, 662, 119, 90, 89, -252, 251, - -298, -377, 580, 143, -118, -414, 88, -414, 88, -414, - -93, -172, 638, -328, -156, -391, 77, -390, 77, 14, - 13, -4, 730, 89, 292, -90, 645, 620, -144, -144, - -414, -61, 27, -173, -389, 259, 254, 257, 33, -389, - 96, -4, -414, -414, 642, 253, 32, 119, -156, -176, - -175, -175, + -414, -414, -414, -414, -414, -414, -414, -414, -414, 88, + -414, -175, -177, -414, 77, -156, -227, 20, -97, 301, + 303, -97, -414, -414, -414, -414, -414, 88, -414, -414, + 88, -414, 88, -414, -414, -255, -414, -291, 246, 20, + 20, -255, -255, -195, -226, -107, -106, -105, 609, -144, + -207, -240, 55, 77, 122, 90, 90, 90, 13, -210, + 223, -232, -252, -173, 384, -227, -414, -252, 89, 26, + 89, 732, 138, 89, -211, -124, -413, 275, -299, 90, + 90, -114, -117, -29, 88, 152, -252, -188, 63, -144, + -207, -414, 77, 590, 691, -92, -91, -88, 702, 728, + -207, -94, -94, -144, -144, -144, 88, -414, -414, -414, + -107, 88, -104, -103, -291, 77, 122, -264, -291, 89, + -414, -413, -232, 89, -236, -29, 87, -3, 275, -323, + -373, -324, -325, -5, -6, -349, -82, 579, -375, -353, + -297, -293, 90, 96, 89, 579, -414, -414, -90, 146, + 700, 668, -154, 222, -414, 88, -414, 88, -414, 88, + -291, 246, -105, 88, 26, -300, -174, -172, -291, 632, + -393, -392, 575, -403, -399, 119, 144, 101, -401, 670, + 626, 128, 129, -82, -144, 87, -414, -83, 290, 687, + 223, -384, 580, -90, 701, 646, 621, 646, 621, -149, + -144, -144, -144, -103, -413, -414, 88, 23, -315, -62, + 643, -390, -391, 77, -394, 390, 642, 663, 119, 90, + 89, -252, 251, -298, -377, 581, 143, -118, -414, 88, + -414, 88, -414, -93, -172, 639, -328, -156, -391, 77, + -390, 77, 14, 13, -4, 731, 89, 292, -90, 646, + 621, -144, -144, -414, -61, 27, -173, -389, 259, 254, + 257, 33, -389, 96, -4, -414, -414, 643, 253, 32, + 119, -156, -176, -175, -175, } var yyDef = [...]int{ - 880, -2, -2, 882, 2, 4, 5, 6, 7, 8, + 882, -2, -2, 884, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 72, 74, 75, 880, 880, 880, 0, 880, 0, - 0, 880, -2, -2, 880, 1616, 0, 880, 0, 875, - 0, -2, 795, 801, 0, 810, -2, 0, 0, 880, - 880, 2240, 2240, 875, 0, 0, 0, 0, 0, 880, - 880, 880, 880, 1621, 1477, 52, 880, 0, 87, 88, - 830, 831, 832, 67, 0, 2238, 881, 1, 3, 73, - 77, 0, 0, 0, 60, 1486, 0, 80, 0, 0, - 884, 0, 0, 1599, 880, 880, 0, 128, 129, 0, + 39, 72, 74, 75, 882, 882, 882, 0, 882, 0, + 0, 882, -2, -2, 882, 1618, 0, 882, 0, 877, + 0, -2, 797, 803, 0, 812, -2, 0, 0, 882, + 882, 2242, 2242, 877, 0, 0, 0, 0, 0, 882, + 882, 882, 882, 1623, 1479, 52, 882, 0, 87, 88, + 832, 833, 834, 67, 0, 2240, 883, 1, 3, 73, + 77, 0, 0, 0, 60, 1488, 0, 80, 0, 0, + 886, 0, 0, 1601, 882, 882, 0, 128, 129, 0, 0, 0, -2, 132, -2, 161, 162, 163, 0, 168, - 605, 526, 578, 524, 563, -2, 512, 0, 0, 0, + 607, 526, 578, 524, 563, -2, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, - 401, 401, 0, 0, -2, 512, 512, 512, 1601, 0, + 401, 401, 0, 0, -2, 512, 512, 512, 1603, 0, 0, 0, 560, 463, 401, 401, 401, 0, 401, 401, 401, 401, 0, 0, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 1504, 167, 1617, 1614, 1615, 1774, 1775, 1776, 1777, - 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, - 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, - 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, - 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, - 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, - 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, - 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, - 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, - 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, - 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, - 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, - 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, - 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, - 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, - 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, - 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, - 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, - 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, - 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, - 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, - 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, - 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, - 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, - 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, - 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, - 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, - 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, - 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, - 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, - 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, - 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, - 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, - 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, - 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, - 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, - 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, - 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, - 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, - 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, - 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, - 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, - 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, - 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, - 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, - 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, - 0, 1593, 0, 718, 983, 0, 876, 877, 0, 784, - 784, 0, 784, 784, 784, 784, 0, 0, 0, 732, - 0, 0, 0, 0, 781, 0, 748, 749, 0, 781, - 0, 755, 787, 0, 0, 762, 784, 784, 765, 2241, - 0, 2241, 2241, 1584, 0, 778, 776, 790, 791, 42, - 794, 797, 798, 799, 800, 803, 0, 814, 817, 1610, - 1611, 0, 819, 826, 843, 844, 0, 47, 1133, 0, - 1005, 0, 1011, -2, 1022, 1039, 1040, 1041, 1042, 1043, - 1045, 1046, 1047, 0, 0, 0, 0, 1052, 1053, 0, - 0, 0, 0, 0, 1114, 0, 0, 0, 0, 1450, - 0, 0, 1412, 1412, 1148, 1412, 1412, 1414, 1414, 1414, - 1826, 1964, 1972, 2148, 1787, 1793, 1794, 1795, 2094, 2095, - 2096, 2097, 2185, 2186, 2190, 1888, 1782, 2161, 2162, 0, - 2237, 1925, 1933, 1934, 1958, 2058, 2171, 1805, 1953, 2022, - 1885, 1907, 1908, 2040, 2041, 1929, 1930, 1911, 2100, 2102, - 2118, 2119, 2104, 2106, 2115, 2121, 2126, 2105, 2117, 2122, - 2135, 2139, 2142, 2143, 2144, 2112, 2110, 2123, 2127, 2129, - 2131, 2137, 2140, 2113, 2111, 2124, 2128, 2130, 2132, 2138, - 2141, 2099, 2103, 2107, 2116, 2134, 2114, 2133, 2108, 2120, - 2125, 2136, 2109, 2101, 1923, 1926, 1914, 1915, 1917, 1919, - 1924, 1931, 1937, 1916, 1936, 1935, 0, 1912, 1913, 1918, - 1928, 1932, 1920, 1921, 1922, 1927, 1938, 1978, 1977, 1976, - 2021, 1949, 2020, 0, 0, 0, 0, 0, 1777, 1831, - 1832, 2145, 1334, 1335, 1336, 1337, 0, 0, 0, 0, - 0, 0, 0, 293, 294, 1463, 1464, 46, 1132, 1580, - 1414, 1414, 1414, 1414, 1414, 1414, 1074, 1075, 1076, 1077, - 1078, 1102, 1103, 1109, 1110, 2035, 2036, 2037, 2038, 1869, - 2180, 1877, 1878, 2017, 2018, 1890, 1891, 2211, 2212, -2, + 401, 1506, 167, 1619, 1616, 1617, 1776, 1777, 1778, 1779, + 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, + 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, + 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, + 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, + 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, + 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, + 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, + 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, + 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, + 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, + 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, + 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, + 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, + 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, + 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, + 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, + 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, + 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, + 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, + 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, + 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, + 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, + 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, + 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, + 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, + 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, + 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, + 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, + 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, + 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, + 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, + 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, + 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, + 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, + 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, + 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, + 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149, + 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, + 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, + 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, + 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, + 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199, + 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, + 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, + 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, + 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, + 0, 1595, 0, 720, 985, 0, 878, 879, 0, 786, + 786, 0, 786, 786, 786, 786, 0, 0, 0, 734, + 0, 0, 0, 0, 783, 0, 750, 751, 0, 783, + 0, 757, 789, 0, 0, 764, 786, 786, 767, 2243, + 0, 2243, 2243, 1586, 0, 780, 778, 792, 793, 42, + 796, 799, 800, 801, 802, 805, 0, 816, 819, 1612, + 1613, 0, 821, 828, 845, 846, 0, 47, 1135, 0, + 1007, 0, 1013, -2, 1024, 1041, 1042, 1043, 1044, 1045, + 1047, 1048, 1049, 0, 0, 0, 0, 1054, 1055, 0, + 0, 0, 0, 0, 1116, 0, 0, 0, 0, 1452, + 0, 0, 1414, 1414, 1150, 1414, 1414, 1416, 1416, 1416, + 1828, 1966, 1974, 2150, 1789, 1795, 1796, 1797, 2096, 2097, + 2098, 2099, 2187, 2188, 2192, 1890, 1784, 2163, 2164, 0, + 2239, 1927, 1935, 1936, 1960, 2060, 2173, 1807, 1955, 2024, + 1887, 1909, 1910, 2042, 2043, 1931, 1932, 1913, 2102, 2104, + 2120, 2121, 2106, 2108, 2117, 2123, 2128, 2107, 2119, 2124, + 2137, 2141, 2144, 2145, 2146, 2114, 2112, 2125, 2129, 2131, + 2133, 2139, 2142, 2115, 2113, 2126, 2130, 2132, 2134, 2140, + 2143, 2101, 2105, 2109, 2118, 2136, 2116, 2135, 2110, 2122, + 2127, 2138, 2111, 2103, 1925, 1928, 1916, 1917, 1919, 1921, + 1926, 1933, 1939, 1918, 1938, 1937, 0, 1914, 1915, 1920, + 1930, 1934, 1922, 1923, 1924, 1929, 1940, 1980, 1979, 1978, + 2023, 1951, 2022, 0, 0, 0, 0, 0, 1779, 1833, + 1834, 2147, 1336, 1337, 1338, 1339, 0, 0, 0, 0, + 0, 0, 0, 293, 294, 1465, 1466, 46, 1134, 1582, + 1416, 1416, 1416, 1416, 1416, 1416, 1076, 1077, 1078, 1079, + 1080, 1104, 1105, 1111, 1112, 2037, 2038, 2039, 2040, 1871, + 2182, 1879, 1880, 2019, 2020, 1892, 1893, 2213, 2214, -2, -2, -2, 234, 235, 236, 237, 238, 239, 240, 241, - 0, 1830, 2159, 2160, 230, 0, 0, 298, 299, 295, - 296, 297, 1116, 1117, 251, 252, 253, 254, 255, 256, + 0, 1832, 2161, 2162, 230, 0, 0, 298, 299, 295, + 296, 297, 1118, 1119, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 2240, 0, 853, 0, - 0, 0, 0, 0, 0, 1622, 1623, 1486, 0, 1478, - 1477, 65, 0, 880, -2, 0, 0, 0, 0, 49, - 0, 54, 940, 883, 79, 78, 1526, 1529, 0, 0, - 0, 61, 1487, 69, 71, 1488, 0, 885, 886, 0, - 916, 920, 0, 0, 0, 1600, 1599, 1599, 104, 0, - 0, 105, 125, 126, 127, 0, 0, 111, 112, 1586, - 1587, 45, 0, 0, 179, 180, 0, 43, 428, 0, - 175, 0, 421, 360, 0, 1504, 0, 0, 0, 0, - 0, 880, 0, 1594, 156, 157, 164, 165, 166, 401, + 287, 288, 289, 290, 291, 292, 2242, 0, 855, 0, + 0, 0, 0, 0, 0, 1624, 1625, 1488, 0, 1480, + 1479, 65, 0, 882, -2, 0, 0, 0, 0, 49, + 0, 54, 942, 885, 79, 78, 1528, 1531, 0, 0, + 0, 61, 1489, 69, 71, 1490, 0, 887, 888, 0, + 918, 922, 0, 0, 0, 1602, 1601, 1601, 104, 0, + 0, 105, 125, 126, 127, 0, 0, 111, 112, 1588, + 1589, 45, 0, 0, 179, 180, 0, 43, 428, 0, + 175, 0, 421, 360, 0, 1506, 0, 0, 0, 0, + 0, 882, 0, 1596, 156, 157, 164, 165, 166, 401, 401, 401, 575, 0, 0, 167, 167, 533, 534, 535, 0, 0, -2, 426, 0, 513, 0, 0, 415, 415, 419, 417, 418, 0, 0, 0, 0, 0, 0, 0, 0, 552, 0, 553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 666, 0, 402, 0, 573, 574, 464, - 0, 0, 0, 0, 0, 0, 0, 0, 1602, 1603, + 0, 0, 0, 668, 0, 402, 0, 573, 574, 464, + 0, 0, 0, 0, 0, 0, 0, 0, 1604, 1605, 0, 550, 551, 0, 0, 0, 401, 401, 0, 0, 0, 0, 401, 401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 155, 1517, 0, 0, 0, -2, 0, 710, - 0, 0, 0, 1595, 1595, 0, 717, 0, 0, 0, - 722, 0, 0, 723, 0, 781, 781, 779, 780, 725, - 726, 727, 728, 784, 0, 0, 410, 411, 412, 781, - 784, 0, 784, 784, 784, 784, 781, 781, 781, 784, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2241, - 787, 784, 0, 756, 0, 757, 758, 759, 760, 763, - 764, 766, 2242, 2243, 1612, 1613, 1624, 1625, 1626, 1627, - 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, - 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, - 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, - 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, - 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, - 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, - 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, - 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, - 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, - 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, - 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, - 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, - 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, - 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, - 1768, 1769, 1770, 1771, 1772, 1773, 2241, 2241, 770, 774, - 1585, 796, 802, 804, 805, 0, 0, 815, 818, 837, - 51, 1876, 825, 51, 827, 828, 829, 855, 856, 861, - 0, 0, 0, 0, 867, 868, 869, 0, 0, 872, - 873, 874, 0, 0, 0, 0, 0, 1003, 0, 0, - 1122, 1123, 1124, 1125, 1126, 1127, 1128, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1023, 1024, 0, 0, 0, - 1048, 1049, 1050, 1051, 1054, 0, 1065, 0, 1067, 1459, - -2, 0, 0, 0, 1059, 1060, 0, 0, 0, 0, - 0, 0, 0, 1451, 0, 0, 1146, 0, 1147, 1149, - 1150, 1151, 0, 1152, 1153, 890, 890, 890, 890, 890, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 890, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1605, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 155, 1519, 0, 0, 0, -2, 0, 712, + 0, 0, 0, 1597, 1597, 0, 719, 0, 0, 0, + 724, 0, 0, 725, 0, 783, 783, 781, 782, 727, + 728, 729, 730, 786, 0, 0, 410, 411, 412, 783, + 786, 0, 786, 786, 786, 786, 783, 783, 783, 786, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2243, + 789, 786, 0, 758, 0, 759, 760, 761, 762, 765, + 766, 768, 2244, 2245, 1614, 1615, 1626, 1627, 1628, 1629, + 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, + 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, + 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, + 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, + 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, + 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, + 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, + 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, + 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, + 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, + 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, + 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, + 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, + 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, + 1770, 1771, 1772, 1773, 1774, 1775, 2243, 2243, 772, 776, + 1587, 798, 804, 806, 807, 0, 0, 817, 820, 839, + 51, 1878, 827, 51, 829, 830, 831, 857, 858, 863, + 0, 0, 0, 0, 869, 870, 871, 0, 0, 874, + 875, 876, 0, 0, 0, 0, 0, 1005, 0, 0, + 1124, 1125, 1126, 1127, 1128, 1129, 1130, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1025, 1026, 0, 0, 0, + 1050, 1051, 1052, 1053, 1056, 0, 1067, 0, 1069, 1461, + -2, 0, 0, 0, 1061, 1062, 0, 0, 0, 0, + 0, 0, 0, 1453, 0, 0, 1148, 0, 1149, 1151, + 1152, 1153, 0, 1154, 1155, 892, 892, 892, 892, 892, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 892, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -9410,257 +9480,257 @@ var yyDef = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 900, 0, 0, - 900, 900, 0, 0, 222, 223, 224, 225, 226, 227, + 0, 0, 0, 0, 0, 0, 0, 902, 0, 0, + 902, 902, 0, 0, 222, 223, 224, 225, 226, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 243, 244, 245, 246, 247, - 300, 248, 249, 250, 1132, 0, 0, 0, 48, 845, - 846, 0, 966, 1605, 0, 0, 896, 0, 1620, 59, - 68, 70, 1486, 63, 1486, 0, 902, 0, 0, -2, - -2, 903, 909, 910, 911, 912, 913, 56, 2239, 57, - 0, 76, 0, 50, 0, 0, 1527, 0, 1530, 0, - 0, 0, 374, 1534, 0, 0, 1479, 1480, 1483, 0, - 917, 1970, 921, 0, 923, 924, 0, 0, 102, 0, - 982, 0, 0, 0, 113, 0, 115, 116, 0, 0, - 0, 385, 1588, 1589, 1590, -2, 408, 0, 385, 369, + 300, 248, 249, 250, 1134, 0, 0, 0, 48, 847, + 848, 0, 968, 1607, 0, 0, 898, 0, 1622, 59, + 68, 70, 1488, 63, 1488, 0, 904, 0, 0, -2, + -2, 905, 911, 912, 913, 914, 915, 56, 2241, 57, + 0, 76, 0, 50, 0, 0, 1529, 0, 1532, 0, + 0, 0, 374, 1536, 0, 0, 1481, 1482, 1485, 0, + 919, 1972, 923, 0, 925, 926, 0, 0, 102, 0, + 984, 0, 0, 0, 113, 0, 115, 116, 0, 0, + 0, 385, 1590, 1591, 1592, -2, 408, 0, 385, 369, 308, 309, 310, 360, 312, 360, 360, 360, 360, 374, 374, 374, 374, 343, 344, 345, 346, 347, 0, 0, 329, 360, 360, 360, 360, 350, 351, 352, 353, 354, 355, 356, 357, 313, 314, 315, 316, 317, 318, 319, 320, 321, 362, 362, 362, 362, 362, 366, 366, 0, - 44, 0, 389, 0, 1483, 0, 0, 1517, 1597, 1607, - 0, 0, 0, 1597, 134, 0, 0, 0, 576, 616, + 44, 0, 389, 0, 1485, 0, 0, 1519, 1599, 1609, + 0, 0, 0, 1599, 134, 0, 0, 0, 576, 618, 527, 564, 577, 0, 530, 531, -2, 0, 0, 512, 0, 514, 0, 409, 0, -2, 0, 419, 0, 415, 419, 416, 419, 407, 420, 554, 555, 556, 0, 558, - 559, 646, 952, 0, 0, 0, 0, 0, 652, 653, - 654, 0, 656, 657, 658, 659, 660, 661, 662, 663, - 664, 665, 565, 566, 567, 568, 569, 570, 571, 572, + 559, 648, 954, 0, 0, 0, 0, 0, 654, 655, + 656, 0, 658, 659, 660, 661, 662, 663, 664, 665, + 666, 667, 565, 566, 567, 568, 569, 570, 571, 572, 0, 0, 0, 0, 514, 0, 561, 0, 0, 465, 466, 467, 0, 0, 470, 471, 472, 473, 0, 0, - 476, 477, 478, 969, 970, 479, 480, 505, 506, 507, + 476, 477, 478, 971, 972, 479, 480, 505, 506, 507, 481, 482, 483, 484, 485, 486, 487, 499, 500, 501, 502, 503, 504, 488, 489, 490, 491, 492, 493, 496, - 0, 149, 1508, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1595, 0, - 0, 0, 0, 899, 984, 1618, 1619, 719, 0, 0, - 785, 786, 0, 413, 414, 784, 784, 729, 771, 0, - 784, 733, 772, 734, 736, 735, 737, 750, 751, 784, - 740, 782, 783, 741, 742, 743, 744, 745, 746, 747, - 767, 752, 753, 754, 788, 0, 792, 793, 768, 769, - 0, 0, 808, 809, 0, 816, 840, 838, 839, 841, - 833, 834, 835, 836, 0, 842, 0, 0, 858, 98, - 863, 864, 865, 866, 878, 871, 1134, 1000, 1001, 1002, - 0, 1004, 1008, 0, 1118, 1120, 1010, 1006, 1012, 1129, - 1130, 1131, 0, 0, 0, 0, 0, 1016, 1020, 1025, - 1026, 1027, 1028, 1029, 0, 1030, 0, 1033, 1034, 1035, - 1036, 1037, 1038, 1044, 1427, 1428, 1429, 1063, 301, 302, - 0, 1064, 0, 0, 0, 0, 0, 0, 0, 0, - 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, - 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, - 1133, 0, 914, 0, 0, 1457, 1454, 0, 0, 0, - 1413, 1415, 0, 0, 0, 891, 892, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1394, 1395, 1396, 1397, 1398, 1399, - 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, - 1410, 1411, 0, 0, 1430, 0, 0, 0, 0, 0, - 1450, 0, 1069, 1070, 1071, 0, 0, 0, 0, 0, - 0, 1192, 0, 0, 0, 0, 1606, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 144, 145, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1338, 1339, - 1340, 1341, 41, 0, 0, 0, 0, 0, 0, 0, - 901, 1461, 0, -2, -2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1363, 0, - 0, 0, 0, 0, 0, 1578, 0, 0, 848, 849, - 851, 0, 986, 0, 967, 0, 0, 854, 0, 895, - 0, 898, 62, 64, 907, 908, 0, 925, 904, 58, - 53, 0, 0, 944, 1528, 1531, 1532, 374, 1554, 0, - 383, 383, 380, 1489, 1490, 0, 1482, 1484, 1485, 81, - 922, 918, 0, 998, 0, 0, 981, 0, 928, 930, - 931, 932, 964, 0, 935, 936, 0, 0, 0, 0, - 0, 100, 983, 106, 0, 114, 0, 0, 119, 120, - 107, 108, 109, 110, 0, 605, -2, 460, 181, 183, - 184, 185, 176, -2, 372, 370, 371, 311, 374, 374, - 337, 338, 339, 340, 341, 342, 0, 0, 330, 331, - 332, 333, 322, 0, 323, 324, 325, 364, 0, 326, - 327, 0, 328, 427, 0, 1491, 390, 391, 393, 401, - 0, 396, 397, 0, 401, 401, 0, 422, 423, 0, - 1483, 1508, 0, 0, 0, 1608, 1607, 1607, 1607, 0, - 169, 170, 171, 172, 173, 174, 641, 0, 0, 617, - 639, 640, 167, 0, 0, 177, 516, 515, 0, 673, - 0, 425, 0, 0, 419, 419, 404, 405, 557, 0, - 0, 648, 649, 650, 651, 0, 0, 0, 543, 454, - 0, 544, 545, 514, 516, 0, 0, 385, 468, 469, - 474, 475, 494, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 592, 593, 594, 597, 599, - 518, 603, 596, 598, 600, 518, 604, 1505, 1506, 1507, - 0, 0, 711, 0, 0, 451, 96, 1596, 716, 720, - 721, 781, 739, 773, 781, 731, 738, 761, 806, 807, - 812, 820, 821, 822, 823, 824, 862, 0, 0, 0, - 0, 870, 0, 0, 1009, 1119, 1121, 1013, 0, 1017, - 1021, 0, 0, 0, 0, 0, 1068, 1066, 1461, 0, - 0, 0, 1115, 0, 0, 0, 1137, 1138, 0, 0, - 0, 1455, 0, 0, 1144, 0, 1416, 1154, 0, 0, - 0, 0, 0, 1160, 1161, 1162, 1163, 1164, 1165, 1166, - 1167, 1168, 1169, 1477, 1171, 0, 0, 0, 0, 0, - 1176, 1177, 1178, 1179, 1180, 0, 1182, 0, 1183, 0, - 0, 0, 0, 1190, 1191, 1193, 0, 0, 1196, 1197, - 0, 1199, 0, 1201, 1202, 1203, 1204, 1205, 1206, 0, - 1208, 0, 1210, 1211, 1212, 0, 1214, 0, 1216, 1217, - 0, 1219, 0, 1221, 0, 1224, 0, 1227, 0, 1230, - 0, 1233, 0, 1236, 0, 1239, 0, 1242, 0, 1245, - 0, 1248, 0, 1251, 0, 1254, 0, 1257, 0, 1260, - 0, 1263, 0, 1266, 0, 1269, 1270, 1271, 0, 1273, - 0, 1275, 0, 1278, 1279, 0, 1281, 0, 1284, 0, - 1287, 0, 0, 1288, 0, 0, 0, 1292, 0, 0, - 0, 0, 1301, 1302, 1303, 1304, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1315, 1316, 1317, 1318, - 1319, 1320, 0, 1322, 0, 1097, 0, 0, 1097, 0, - 0, 0, 0, 0, 1135, 900, 0, 1417, 1418, 1419, - 1420, 1421, 0, 0, 0, 0, 0, 0, 1361, 1362, - 1364, 0, 0, 1367, 0, 1369, 0, 1579, 847, 850, - 852, 938, 987, 988, 0, 0, 0, 0, 968, 1604, - 893, 894, 897, 946, 0, 1465, 0, 0, 925, 998, - 926, 0, 905, 55, 941, 0, 1536, 1535, 1548, 1561, - 383, 383, 377, 378, 384, 379, 381, 382, 1481, 0, - 1486, 0, 1572, 0, 0, 1564, 0, 0, 0, 0, - 0, 0, 0, 0, 971, 0, 0, 974, 0, 0, - 0, 0, 965, 936, 0, 937, 0, -2, 0, 0, - 94, 95, 0, 0, 0, 117, 118, 0, 0, 124, - 386, 387, 158, 167, 462, 182, 435, 0, 0, 307, - 373, 334, 335, 336, 0, 358, 0, 0, 0, 0, - 456, 130, 1495, 1494, 401, 401, 392, 0, 395, 0, - 0, 0, 1609, 361, 424, 0, 148, 0, 0, 0, - 0, 0, 154, 611, 0, 0, 618, 0, 0, 0, - 525, 0, 536, 537, 0, 645, -2, 707, 389, 0, - 403, 406, 953, 0, 0, 538, 0, 541, 542, 455, - 516, 547, 548, 562, 549, 497, 498, 495, 0, 0, - 1518, 1519, 1524, 1522, 1523, 135, 583, 585, 589, 584, - 588, 0, 0, 0, 520, 0, 520, 581, 0, 451, - 1491, 0, 715, 452, 453, 784, 784, 857, 99, 0, - 860, 0, 0, 0, 0, 1014, 1018, 1031, 1032, 1422, - 1448, 360, 360, 1435, 360, 366, 1438, 360, 1440, 360, - 1443, 360, 1446, 1447, 0, 0, 1061, 0, 915, 0, - 0, 1143, 1458, 0, 0, 1155, 1156, 1157, 1158, 1159, - 1452, 0, 0, 0, 1175, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 146, 147, 0, 0, 0, - 0, 0, 0, 1372, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1092, 1096, 0, 1098, 1099, - 0, 0, 1324, 0, 0, 1342, 0, 0, 0, 0, - 0, 0, 0, 1462, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 989, 994, 994, 994, 0, 0, - 0, 1591, 1592, 1466, 1467, 998, 1468, 927, 906, 945, - 1554, 0, 1547, 0, -2, 1556, 0, 0, 0, 1562, - 375, 376, 919, 82, 999, 85, 0, 1572, 1581, 0, - 1563, 1574, 1576, 0, 0, 0, 1568, 0, 998, 929, - 960, 962, 0, 957, 972, 973, 975, 0, 977, 0, - 979, 980, 940, 934, 0, 102, 0, 998, 998, 101, - 0, 985, 121, 122, 123, 461, 186, 191, 0, 0, - 0, 196, 0, 198, 0, 0, 0, 203, 204, 401, - 401, 436, 0, 304, 306, 0, 0, 189, 374, 0, - 374, 0, 365, 367, 0, 437, 457, 1492, 1493, 0, - 0, 394, 398, 399, 400, 0, 1598, 150, 0, 0, - 0, 614, 0, 642, 0, 0, 0, 0, 0, 0, - 178, 517, 674, 675, 676, 677, 678, 679, 680, 681, - 682, 0, 401, 0, 0, 0, 401, 401, 401, 0, - 699, 388, 0, 0, 670, 667, 539, 0, 220, 221, - 228, 229, 231, 0, 0, 0, 0, 0, 546, 940, - 1509, 1510, 1511, 0, 1521, 1525, 138, 0, 0, 0, - 0, 591, 595, 601, 0, 519, 602, 712, 713, 714, - 97, 724, 730, 859, 879, 1007, 1015, 1019, 0, 0, - 0, 0, 1449, 1433, 374, 1436, 1437, 1439, 1441, 1442, - 1444, 1445, 1057, 1058, 1062, 0, 1140, 0, 1142, 1456, - 0, 1486, 0, 0, 0, 1174, 0, 0, 0, 1185, - 1184, 1186, 0, 1188, 1189, 1194, 1195, 1198, 1200, 1207, - 1209, 1213, 1215, 1218, 1220, 1222, 0, 1225, 0, 1228, - 0, 1231, 0, 1234, 0, 1237, 0, 1240, 0, 1243, - 0, 1246, 0, 1249, 0, 1252, 0, 1255, 0, 1258, - 0, 1261, 0, 1264, 0, 1267, 0, 1272, 1274, 0, - 1277, 1280, 1282, 0, 1285, 0, 1289, 0, 1291, 1293, - 1294, 0, 0, 0, 1305, 1306, 1307, 1308, 1309, 1310, - 1311, 1312, 1313, 1314, 1321, 0, 1090, 1093, 1323, 1100, - 1101, 1106, 1326, 0, 0, 0, 1329, 0, 0, 0, - 1333, 1136, 1344, 0, 1349, 0, 0, 1355, 0, 1359, - 0, 1365, 1366, 1368, 1370, 0, 0, 0, 0, 0, - 966, 947, 66, 1468, 1470, 0, 1541, 1539, 1539, 1549, - 1550, 0, 0, 1557, 0, 0, 0, 0, 86, 0, - 0, 0, 1577, 0, 0, 0, 0, 103, 1477, 954, - 961, 0, 0, 955, 0, 956, 976, 978, 933, 0, - 998, 998, 92, 93, 0, 192, 0, 194, 0, 197, - 199, 200, 201, 207, 208, 209, 202, 0, 0, 303, - 305, 0, 0, 348, 359, 349, 0, 0, 1496, 1497, - 1498, 1499, 1500, 1501, 1502, 1503, 940, 151, 152, 153, - 606, 0, 616, 0, 942, 0, 609, 0, 528, 0, - 0, 0, 401, 401, 401, 0, 0, 0, 0, 684, - 0, 0, 647, 0, 655, 0, 0, 0, 232, 233, - 0, 1520, 582, 0, 136, 137, 0, 0, 587, 521, - 522, 1055, 0, 0, 0, 1056, 1434, 0, 0, 0, - 0, 1453, 0, 0, 0, 0, 1181, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1297, - 0, 0, 0, 636, 637, 0, 1373, 1095, 1477, 0, - 1097, 1107, 1108, 0, 1097, 1343, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 995, 0, 0, - 0, 0, 986, 1470, 1475, 0, 0, 1544, 0, 1537, - 1540, 1538, 1551, 0, 0, 1558, 0, 1560, 0, 1582, - 1583, 1575, 0, 1567, 1570, 1566, 1569, 1486, 958, 0, - 963, 0, 1477, 91, 0, 195, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 205, 206, 0, 0, 363, - 368, 0, 0, 0, 607, 0, 943, 619, 610, 0, - 697, 0, 701, 0, 0, 0, 704, 705, 706, 683, - 0, 687, 429, 671, 668, 669, 540, 0, 139, 140, - 0, 0, 0, 1423, 0, 1426, 1139, 1141, 0, 1170, - 1172, 1173, 1431, 1432, 1187, 1223, 1226, 1229, 1232, 1235, - 1238, 1241, 1244, 1247, 1250, 1253, 1256, 1259, 1262, 1265, - 1268, 1276, 1283, 1286, 1290, 1295, 0, 1298, 0, 0, - 1299, 0, 638, 1086, 0, 0, 1104, 1105, 0, 1328, - 1330, 1331, 1332, 1345, 0, 1350, 1351, 0, 1356, 0, - 1360, 1371, 0, 991, 948, 949, 996, 997, 0, 0, - 939, 1475, 84, 1476, 1473, 0, 1471, 1469, 1533, 0, - 1542, 1543, 1552, 1553, 1559, 0, 1565, 0, 89, 0, - 0, 0, 1486, 193, 0, 212, 0, 615, 0, 618, - 608, 695, 696, 0, 708, 700, 702, 703, 685, -2, - 1512, 0, 0, 0, 590, 1424, 0, 0, 1300, 0, - 634, 635, 1094, 1087, 0, 1072, 1073, 1091, 1325, 1327, - 0, 0, 0, 0, 990, 992, 993, 83, 0, 1472, - 1112, 0, 1545, 1546, 1573, 1571, 959, 966, 0, 90, - 442, 435, 1512, 0, 0, 0, 688, 689, 690, 691, - 692, 693, 694, 579, 1514, 141, 142, 0, 509, 510, - 511, 135, 0, 1145, 1296, 1088, 0, 0, 0, 0, - 0, 1346, 0, 1352, 0, 1357, 0, 950, 951, 1474, - 0, 0, 620, 0, 622, 0, -2, 430, 443, 0, - 187, 213, 214, 0, 0, 217, 218, 219, 210, 211, - 131, 0, 0, 709, 0, 1515, 1516, 0, 138, 0, - 0, 1079, 1080, 1081, 1082, 1084, 0, 0, 0, 0, - 1113, 1092, 621, 0, 0, 385, 0, 631, 431, 432, - 0, 438, 439, 440, 441, 215, 216, 643, 0, 0, - 508, 586, 1425, 0, 0, 1347, 0, 1353, 0, 1358, - 0, 623, 624, 632, 0, 433, 0, 434, 0, 0, - 0, 612, 0, 643, 1513, 1089, 1083, 1085, 0, 0, - 1111, 0, 633, 629, 444, 446, 447, 0, 0, 445, - 644, 613, 1348, 1354, 0, 448, 449, 450, 625, 626, - 627, 628, + 0, 149, 1510, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1597, + 0, 0, 0, 0, 901, 986, 1620, 1621, 721, 0, + 0, 787, 788, 0, 413, 414, 786, 786, 731, 773, + 0, 786, 735, 774, 736, 738, 737, 739, 752, 753, + 786, 742, 784, 785, 743, 744, 745, 746, 747, 748, + 749, 769, 754, 755, 756, 790, 0, 794, 795, 770, + 771, 0, 0, 810, 811, 0, 818, 842, 840, 841, + 843, 835, 836, 837, 838, 0, 844, 0, 0, 860, + 98, 865, 866, 867, 868, 880, 873, 1136, 1002, 1003, + 1004, 0, 1006, 1010, 0, 1120, 1122, 1012, 1008, 1014, + 1131, 1132, 1133, 0, 0, 0, 0, 0, 1018, 1022, + 1027, 1028, 1029, 1030, 1031, 0, 1032, 0, 1035, 1036, + 1037, 1038, 1039, 1040, 1046, 1429, 1430, 1431, 1065, 301, + 302, 0, 1066, 0, 0, 0, 0, 0, 0, 0, + 0, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, + 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, + 1395, 1135, 0, 916, 0, 0, 1459, 1456, 0, 0, + 0, 1415, 1417, 0, 0, 0, 893, 894, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1396, 1397, 1398, 1399, 1400, + 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, + 1411, 1412, 1413, 0, 0, 1432, 0, 0, 0, 0, + 0, 1452, 0, 1071, 1072, 1073, 0, 0, 0, 0, + 0, 0, 1194, 0, 0, 0, 0, 1608, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 144, 145, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1340, + 1341, 1342, 1343, 41, 0, 0, 0, 0, 0, 0, + 0, 903, 1463, 0, -2, -2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1365, + 0, 0, 0, 0, 0, 0, 1580, 0, 0, 850, + 851, 853, 0, 988, 0, 969, 0, 0, 856, 0, + 897, 0, 900, 62, 64, 909, 910, 0, 927, 906, + 58, 53, 0, 0, 946, 1530, 1533, 1534, 374, 1556, + 0, 383, 383, 380, 1491, 1492, 0, 1484, 1486, 1487, + 81, 924, 920, 0, 1000, 0, 0, 983, 0, 930, + 932, 933, 934, 966, 0, 937, 938, 0, 0, 0, + 0, 0, 100, 985, 106, 0, 114, 0, 0, 119, + 120, 107, 108, 109, 110, 0, 607, -2, 460, 181, + 183, 184, 185, 176, -2, 372, 370, 371, 311, 374, + 374, 337, 338, 339, 340, 341, 342, 0, 0, 330, + 331, 332, 333, 322, 0, 323, 324, 325, 364, 0, + 326, 327, 0, 328, 427, 0, 1493, 390, 391, 393, + 401, 0, 396, 397, 0, 401, 401, 0, 422, 423, + 0, 1485, 1510, 0, 0, 0, 1610, 1609, 1609, 1609, + 0, 169, 170, 171, 172, 173, 174, 643, 0, 0, + 619, 641, 642, 167, 0, 0, 177, 516, 515, 0, + 675, 0, 425, 0, 0, 419, 419, 404, 405, 557, + 0, 0, 650, 651, 652, 653, 0, 0, 0, 543, + 454, 0, 544, 545, 514, 516, 0, 0, 385, 468, + 469, 474, 475, 494, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 592, 593, 594, 597, + 599, 518, 603, 605, 596, 598, 600, 518, 604, 606, + 1507, 1508, 1509, 0, 0, 713, 0, 0, 451, 96, + 1598, 718, 722, 723, 783, 741, 775, 783, 733, 740, + 763, 808, 809, 814, 822, 823, 824, 825, 826, 864, + 0, 0, 0, 0, 872, 0, 0, 1011, 1121, 1123, + 1015, 0, 1019, 1023, 0, 0, 0, 0, 0, 1070, + 1068, 1463, 0, 0, 0, 1117, 0, 0, 0, 1139, + 1140, 0, 0, 0, 1457, 0, 0, 1146, 0, 1418, + 1156, 0, 0, 0, 0, 0, 1162, 1163, 1164, 1165, + 1166, 1167, 1168, 1169, 1170, 1171, 1479, 1173, 0, 0, + 0, 0, 0, 1178, 1179, 1180, 1181, 1182, 0, 1184, + 0, 1185, 0, 0, 0, 0, 1192, 1193, 1195, 0, + 0, 1198, 1199, 0, 1201, 0, 1203, 1204, 1205, 1206, + 1207, 1208, 0, 1210, 0, 1212, 1213, 1214, 0, 1216, + 0, 1218, 1219, 0, 1221, 0, 1223, 0, 1226, 0, + 1229, 0, 1232, 0, 1235, 0, 1238, 0, 1241, 0, + 1244, 0, 1247, 0, 1250, 0, 1253, 0, 1256, 0, + 1259, 0, 1262, 0, 1265, 0, 1268, 0, 1271, 1272, + 1273, 0, 1275, 0, 1277, 0, 1280, 1281, 0, 1283, + 0, 1286, 0, 1289, 0, 0, 1290, 0, 0, 0, + 1294, 0, 0, 0, 0, 1303, 1304, 1305, 1306, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1317, + 1318, 1319, 1320, 1321, 1322, 0, 1324, 0, 1099, 0, + 0, 1099, 0, 0, 0, 0, 0, 1137, 902, 0, + 1419, 1420, 1421, 1422, 1423, 0, 0, 0, 0, 0, + 0, 1363, 1364, 1366, 0, 0, 1369, 0, 1371, 0, + 1581, 849, 852, 854, 940, 989, 990, 0, 0, 0, + 0, 970, 1606, 895, 896, 899, 948, 0, 1467, 0, + 0, 927, 1000, 928, 0, 907, 55, 943, 0, 1538, + 1537, 1550, 1563, 383, 383, 377, 378, 384, 379, 381, + 382, 1483, 0, 1488, 0, 1574, 0, 0, 1566, 0, + 0, 0, 0, 0, 0, 0, 0, 973, 0, 0, + 976, 0, 0, 0, 0, 967, 938, 0, 939, 0, + -2, 0, 0, 94, 95, 0, 0, 0, 117, 118, + 0, 0, 124, 386, 387, 158, 167, 462, 182, 435, + 0, 0, 307, 373, 334, 335, 336, 0, 358, 0, + 0, 0, 0, 456, 130, 1497, 1496, 401, 401, 392, + 0, 395, 0, 0, 0, 1611, 361, 424, 0, 148, + 0, 0, 0, 0, 0, 154, 613, 0, 0, 620, + 0, 0, 0, 525, 0, 536, 537, 0, 647, -2, + 709, 389, 0, 403, 406, 955, 0, 0, 538, 0, + 541, 542, 455, 516, 547, 548, 562, 549, 497, 498, + 495, 0, 0, 1520, 1521, 1526, 1524, 1525, 135, 583, + 585, 589, 584, 588, 0, 0, 0, 520, 0, 520, + 581, 0, 451, 1493, 0, 717, 452, 453, 786, 786, + 859, 99, 0, 862, 0, 0, 0, 0, 1016, 1020, + 1033, 1034, 1424, 1450, 360, 360, 1437, 360, 366, 1440, + 360, 1442, 360, 1445, 360, 1448, 1449, 0, 0, 1063, + 0, 917, 0, 0, 1145, 1460, 0, 0, 1157, 1158, + 1159, 1160, 1161, 1454, 0, 0, 0, 1177, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 146, 147, + 0, 0, 0, 0, 0, 0, 1374, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1094, 1098, + 0, 1100, 1101, 0, 0, 1326, 0, 0, 1344, 0, + 0, 0, 0, 0, 0, 0, 1464, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 991, 996, 996, + 996, 0, 0, 0, 1593, 1594, 1468, 1469, 1000, 1470, + 929, 908, 947, 1556, 0, 1549, 0, -2, 1558, 0, + 0, 0, 1564, 375, 376, 921, 82, 1001, 85, 0, + 1574, 1583, 0, 1565, 1576, 1578, 0, 0, 0, 1570, + 0, 1000, 931, 962, 964, 0, 959, 974, 975, 977, + 0, 979, 0, 981, 982, 942, 936, 0, 102, 0, + 1000, 1000, 101, 0, 987, 121, 122, 123, 461, 186, + 191, 0, 0, 0, 196, 0, 198, 0, 0, 0, + 203, 204, 401, 401, 436, 0, 304, 306, 0, 0, + 189, 374, 0, 374, 0, 365, 367, 0, 437, 457, + 1494, 1495, 0, 0, 394, 398, 399, 400, 0, 1600, + 150, 0, 0, 0, 616, 0, 644, 0, 0, 0, + 0, 0, 0, 178, 517, 676, 677, 678, 679, 680, + 681, 682, 683, 684, 0, 401, 0, 0, 0, 401, + 401, 401, 0, 701, 388, 0, 0, 672, 669, 539, + 0, 220, 221, 228, 229, 231, 0, 0, 0, 0, + 0, 546, 942, 1511, 1512, 1513, 0, 1523, 1527, 138, + 0, 0, 0, 0, 591, 595, 601, 0, 519, 602, + 714, 715, 716, 97, 726, 732, 861, 881, 1009, 1017, + 1021, 0, 0, 0, 0, 1451, 1435, 374, 1438, 1439, + 1441, 1443, 1444, 1446, 1447, 1059, 1060, 1064, 0, 1142, + 0, 1144, 1458, 0, 1488, 0, 0, 0, 1176, 0, + 0, 0, 1187, 1186, 1188, 0, 1190, 1191, 1196, 1197, + 1200, 1202, 1209, 1211, 1215, 1217, 1220, 1222, 1224, 0, + 1227, 0, 1230, 0, 1233, 0, 1236, 0, 1239, 0, + 1242, 0, 1245, 0, 1248, 0, 1251, 0, 1254, 0, + 1257, 0, 1260, 0, 1263, 0, 1266, 0, 1269, 0, + 1274, 1276, 0, 1279, 1282, 1284, 0, 1287, 0, 1291, + 0, 1293, 1295, 1296, 0, 0, 0, 1307, 1308, 1309, + 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1323, 0, 1092, + 1095, 1325, 1102, 1103, 1108, 1328, 0, 0, 0, 1331, + 0, 0, 0, 1335, 1138, 1346, 0, 1351, 0, 0, + 1357, 0, 1361, 0, 1367, 1368, 1370, 1372, 0, 0, + 0, 0, 0, 968, 949, 66, 1470, 1472, 0, 1543, + 1541, 1541, 1551, 1552, 0, 0, 1559, 0, 0, 0, + 0, 86, 0, 0, 0, 1579, 0, 0, 0, 0, + 103, 1479, 956, 963, 0, 0, 957, 0, 958, 978, + 980, 935, 0, 1000, 1000, 92, 93, 0, 192, 0, + 194, 0, 197, 199, 200, 201, 207, 208, 209, 202, + 0, 0, 303, 305, 0, 0, 348, 359, 349, 0, + 0, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 942, + 151, 152, 153, 608, 0, 618, 0, 944, 0, 611, + 0, 528, 0, 0, 0, 401, 401, 401, 0, 0, + 0, 0, 686, 0, 0, 649, 0, 657, 0, 0, + 0, 232, 233, 0, 1522, 582, 0, 136, 137, 0, + 0, 587, 521, 522, 1057, 0, 0, 0, 1058, 1436, + 0, 0, 0, 0, 1455, 0, 0, 0, 0, 1183, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1299, 0, 0, 0, 638, 639, 0, 1375, + 1097, 1479, 0, 1099, 1109, 1110, 0, 1099, 1345, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 997, 0, 0, 0, 0, 988, 1472, 1477, 0, 0, + 1546, 0, 1539, 1542, 1540, 1553, 0, 0, 1560, 0, + 1562, 0, 1584, 1585, 1577, 0, 1569, 1572, 1568, 1571, + 1488, 960, 0, 965, 0, 1479, 91, 0, 195, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 205, 206, + 0, 0, 363, 368, 0, 0, 0, 609, 0, 945, + 621, 612, 0, 699, 0, 703, 0, 0, 0, 706, + 707, 708, 685, 0, 689, 429, 673, 670, 671, 540, + 0, 139, 140, 0, 0, 0, 1425, 0, 1428, 1141, + 1143, 0, 1172, 1174, 1175, 1433, 1434, 1189, 1225, 1228, + 1231, 1234, 1237, 1240, 1243, 1246, 1249, 1252, 1255, 1258, + 1261, 1264, 1267, 1270, 1278, 1285, 1288, 1292, 1297, 0, + 1300, 0, 0, 1301, 0, 640, 1088, 0, 0, 1106, + 1107, 0, 1330, 1332, 1333, 1334, 1347, 0, 1352, 1353, + 0, 1358, 0, 1362, 1373, 0, 993, 950, 951, 998, + 999, 0, 0, 941, 1477, 84, 1478, 1475, 0, 1473, + 1471, 1535, 0, 1544, 1545, 1554, 1555, 1561, 0, 1567, + 0, 89, 0, 0, 0, 1488, 193, 0, 212, 0, + 617, 0, 620, 610, 697, 698, 0, 710, 702, 704, + 705, 687, -2, 1514, 0, 0, 0, 590, 1426, 0, + 0, 1302, 0, 636, 637, 1096, 1089, 0, 1074, 1075, + 1093, 1327, 1329, 0, 0, 0, 0, 992, 994, 995, + 83, 0, 1474, 1114, 0, 1547, 1548, 1575, 1573, 961, + 968, 0, 90, 442, 435, 1514, 0, 0, 0, 690, + 691, 692, 693, 694, 695, 696, 579, 1516, 141, 142, + 0, 509, 510, 511, 135, 0, 1147, 1298, 1090, 0, + 0, 0, 0, 0, 1348, 0, 1354, 0, 1359, 0, + 952, 953, 1476, 0, 0, 622, 0, 624, 0, -2, + 430, 443, 0, 187, 213, 214, 0, 0, 217, 218, + 219, 210, 211, 131, 0, 0, 711, 0, 1517, 1518, + 0, 138, 0, 0, 1081, 1082, 1083, 1084, 1086, 0, + 0, 0, 0, 1115, 1094, 623, 0, 0, 385, 0, + 633, 431, 432, 0, 438, 439, 440, 441, 215, 216, + 645, 0, 0, 508, 586, 1427, 0, 0, 1349, 0, + 1355, 0, 1360, 0, 625, 626, 634, 0, 433, 0, + 434, 0, 0, 0, 614, 0, 645, 1515, 1091, 1085, + 1087, 0, 0, 1113, 0, 635, 631, 444, 446, 447, + 0, 0, 445, 646, 615, 1350, 1356, 0, 448, 449, + 450, 627, 628, 629, 630, } var yyTok1 = [...]int{ @@ -9669,7 +9739,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 145, 3, 3, 3, 173, 165, 3, 87, 89, 170, 168, 88, 169, 223, 171, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 732, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 733, 153, 152, 154, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -9800,7 +9870,7 @@ var yyTok3 = [...]int{ 58040, 715, 58041, 716, 58042, 717, 58043, 718, 58044, 719, 58045, 720, 58046, 721, 58047, 722, 58048, 723, 58049, 724, 58050, 725, 58051, 726, 58052, 727, 58053, 728, 58054, 729, - 58055, 730, 58056, 731, 0, + 58055, 730, 58056, 731, 58057, 732, 0, } var yyErrorMessages = [...]struct { @@ -14398,17 +14468,38 @@ yydefault: } yyVAL.union = yyLOCAL case 605: + yyDollar = yyS[yypt-5 : yypt+1] + var yyLOCAL Statement +//line sql.y:3369 + { + yyLOCAL = &AlterMigration{ + Type: ForceCutOverMigrationType, + UUID: string(yyDollar[4].str), + } + } + yyVAL.union = yyLOCAL + case 606: + yyDollar = yyS[yypt-5 : yypt+1] + var yyLOCAL Statement +//line sql.y:3376 + { + yyLOCAL = &AlterMigration{ + Type: ForceCutOverAllMigrationType, + } + } + yyVAL.union = yyLOCAL + case 607: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3370 +//line sql.y:3383 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 606: + case 608: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3374 +//line sql.y:3387 { yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion() yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion() @@ -14416,10 +14507,10 @@ yydefault: yyLOCAL = yyDollar[3].partitionOptionUnion() } yyVAL.union = yyLOCAL - case 607: + case 609: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3383 +//line sql.y:3396 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -14428,10 +14519,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 608: + case 610: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3391 +//line sql.y:3404 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -14441,10 +14532,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 609: + case 611: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3400 +//line sql.y:3413 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -14452,10 +14543,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 610: + case 612: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3407 +//line sql.y:3420 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -14463,18 +14554,18 @@ yydefault: } } yyVAL.union = yyLOCAL - case 611: + case 613: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3415 +//line sql.y:3428 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 612: + case 614: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3419 +//line sql.y:3432 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -14484,10 +14575,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 613: + case 615: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3428 +//line sql.y:3441 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -14498,682 +14589,682 @@ yydefault: } } yyVAL.union = yyLOCAL - case 614: + case 616: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3439 +//line sql.y:3452 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 615: + case 617: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3443 +//line sql.y:3456 { yyLOCAL = yyDollar[2].partDefsUnion() } yyVAL.union = yyLOCAL - case 616: + case 618: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3448 +//line sql.y:3461 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 617: + case 619: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3452 +//line sql.y:3465 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 618: + case 620: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3457 +//line sql.y:3470 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 619: + case 621: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3461 +//line sql.y:3474 { yyLOCAL = convertStringToInt(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 620: + case 622: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL TableExpr -//line sql.y:3467 +//line sql.y:3480 { yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].identifierCS} } yyVAL.union = yyLOCAL - case 621: + case 623: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3473 +//line sql.y:3486 { yyLOCAL = yyDollar[3].jtColumnListUnion() } yyVAL.union = yyLOCAL - case 622: + case 624: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3479 +//line sql.y:3492 { yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()} } yyVAL.union = yyLOCAL - case 623: + case 625: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3483 +//line sql.y:3496 { yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion()) } - case 624: + case 626: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3489 +//line sql.y:3502 { yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].identifierCI}} } yyVAL.union = yyLOCAL - case 625: + case 627: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3493 +//line sql.y:3506 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()} yyLOCAL = &JtColumnDefinition{JtPath: jtPath} } yyVAL.union = yyLOCAL - case 626: + case 628: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3499 +//line sql.y:3512 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} yyLOCAL = &JtColumnDefinition{JtPath: jtPath} } yyVAL.union = yyLOCAL - case 627: + case 629: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3505 +//line sql.y:3518 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} yyLOCAL = &JtColumnDefinition{JtPath: jtPath} } yyVAL.union = yyLOCAL - case 628: + case 630: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3511 +//line sql.y:3524 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} yyLOCAL = &JtColumnDefinition{JtPath: jtPath} } yyVAL.union = yyLOCAL - case 629: + case 631: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3517 +//line sql.y:3530 { jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()} yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath} } yyVAL.union = yyLOCAL - case 630: + case 632: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3523 +//line sql.y:3536 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 631: + case 633: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3527 +//line sql.y:3540 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 632: + case 634: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3531 +//line sql.y:3544 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 633: + case 635: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3535 +//line sql.y:3548 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 634: + case 636: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3541 +//line sql.y:3554 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } yyVAL.union = yyLOCAL - case 635: + case 637: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3547 +//line sql.y:3560 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } yyVAL.union = yyLOCAL - case 636: + case 638: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3553 +//line sql.y:3566 { yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType} } yyVAL.union = yyLOCAL - case 637: + case 639: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3557 +//line sql.y:3570 { yyLOCAL = &JtOnResponse{ResponseType: NullJSONType} } yyVAL.union = yyLOCAL - case 638: + case 640: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3561 +//line sql.y:3574 { yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 639: + case 641: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3567 +//line sql.y:3580 { yyLOCAL = RangeType } yyVAL.union = yyLOCAL - case 640: + case 642: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3571 +//line sql.y:3584 { yyLOCAL = ListType } yyVAL.union = yyLOCAL - case 641: + case 643: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3576 +//line sql.y:3589 { yyLOCAL = -1 } yyVAL.union = yyLOCAL - case 642: + case 644: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3580 +//line sql.y:3593 { yyLOCAL = convertStringToInt(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 643: + case 645: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3585 +//line sql.y:3598 { yyLOCAL = -1 } yyVAL.union = yyLOCAL - case 644: + case 646: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3589 +//line sql.y:3602 { yyLOCAL = convertStringToInt(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 645: + case 647: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3595 +//line sql.y:3608 { yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}} } yyVAL.union = yyLOCAL - case 646: + case 648: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3599 +//line sql.y:3612 { yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()} } yyVAL.union = yyLOCAL - case 647: + case 649: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3603 +//line sql.y:3616 { yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()} } yyVAL.union = yyLOCAL - case 648: + case 650: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3607 +//line sql.y:3620 { yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()} } yyVAL.union = yyLOCAL - case 649: + case 651: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3611 +//line sql.y:3624 { yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true} } yyVAL.union = yyLOCAL - case 650: + case 652: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3615 +//line sql.y:3628 { yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()} } yyVAL.union = yyLOCAL - case 651: + case 653: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3619 +//line sql.y:3632 { yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true} } yyVAL.union = yyLOCAL - case 652: + case 654: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3623 +//line sql.y:3636 { yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()} } yyVAL.union = yyLOCAL - case 653: + case 655: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3627 +//line sql.y:3640 { yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true} } yyVAL.union = yyLOCAL - case 654: + case 656: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3631 +//line sql.y:3644 { yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)} } yyVAL.union = yyLOCAL - case 655: + case 657: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3635 +//line sql.y:3648 { yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].identifierCI}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()} } yyVAL.union = yyLOCAL - case 656: + case 658: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3639 +//line sql.y:3652 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()} } yyVAL.union = yyLOCAL - case 657: + case 659: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3643 +//line sql.y:3656 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true} } yyVAL.union = yyLOCAL - case 658: + case 660: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3647 +//line sql.y:3660 { yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()} } yyVAL.union = yyLOCAL - case 659: + case 661: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3651 +//line sql.y:3664 { yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true} } yyVAL.union = yyLOCAL - case 660: + case 662: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3655 +//line sql.y:3668 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()} } yyVAL.union = yyLOCAL - case 661: + case 663: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3659 +//line sql.y:3672 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true} } yyVAL.union = yyLOCAL - case 662: + case 664: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3663 +//line sql.y:3676 { yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()} } yyVAL.union = yyLOCAL - case 663: + case 665: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3667 +//line sql.y:3680 { yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true} } yyVAL.union = yyLOCAL - case 664: + case 666: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3671 +//line sql.y:3684 { yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()} } yyVAL.union = yyLOCAL - case 665: + case 667: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3675 +//line sql.y:3688 { yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true} } yyVAL.union = yyLOCAL - case 666: + case 668: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3679 +//line sql.y:3692 { yyLOCAL = &PartitionSpec{Action: UpgradeAction} } yyVAL.union = yyLOCAL - case 667: + case 669: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3684 +//line sql.y:3697 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 668: + case 670: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3688 +//line sql.y:3701 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 669: + case 671: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3692 +//line sql.y:3705 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 670: + case 672: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3698 +//line sql.y:3711 { yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()} } yyVAL.union = yyLOCAL - case 671: + case 673: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3702 +//line sql.y:3715 { yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].partDefUnion()) } - case 672: + case 674: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3708 +//line sql.y:3721 { yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion() } - case 673: + case 675: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3713 +//line sql.y:3726 { yyLOCAL = &PartitionDefinitionOptions{} } yyVAL.union = yyLOCAL - case 674: + case 676: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3717 +//line sql.y:3730 { yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 675: + case 677: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3722 +//line sql.y:3735 { yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 676: + case 678: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3727 +//line sql.y:3740 { yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 677: + case 679: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3732 +//line sql.y:3745 { yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 678: + case 680: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3737 +//line sql.y:3750 { yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 679: + case 681: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3742 +//line sql.y:3755 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = &val yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 680: + case 682: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3748 +//line sql.y:3761 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MinRows = &val yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 681: + case 683: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3754 +//line sql.y:3767 { yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 682: + case 684: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3759 +//line sql.y:3772 { yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 683: + case 685: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3765 +//line sql.y:3778 { yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion() } yyVAL.union = yyLOCAL - case 684: + case 686: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3771 +//line sql.y:3784 { yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()} } yyVAL.union = yyLOCAL - case 685: + case 687: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3775 +//line sql.y:3788 { yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion()) } - case 686: + case 688: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SubPartitionDefinition -//line sql.y:3781 +//line sql.y:3794 { yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].identifierCI, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()} } yyVAL.union = yyLOCAL - case 687: + case 689: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3786 +//line sql.y:3799 { yyLOCAL = &SubPartitionDefinitionOptions{} } yyVAL.union = yyLOCAL - case 688: + case 690: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3790 +//line sql.y:3803 { yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 689: + case 691: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3795 +//line sql.y:3808 { yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 690: + case 692: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3800 +//line sql.y:3813 { yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 691: + case 693: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3805 +//line sql.y:3818 { yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 692: + case 694: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3810 +//line sql.y:3823 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = &val yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 693: + case 695: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3816 +//line sql.y:3829 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = &val yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 694: + case 696: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3822 +//line sql.y:3835 { yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() } yyVAL.union = yyLOCAL - case 695: + case 697: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3829 +//line sql.y:3842 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -15181,10 +15272,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 696: + case 698: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3836 +//line sql.y:3849 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -15192,10 +15283,10 @@ yydefault: } } yyVAL.union = yyLOCAL - case 697: + case 699: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3843 +//line sql.y:3856 { yyLOCAL = &PartitionValueRange{ Type: InType, @@ -15203,131 +15294,131 @@ yydefault: } } yyVAL.union = yyLOCAL - case 698: + case 700: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3851 +//line sql.y:3864 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 699: + case 701: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3855 +//line sql.y:3868 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 700: + case 702: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionEngine -//line sql.y:3861 +//line sql.y:3874 { yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].identifierCS.String()} } yyVAL.union = yyLOCAL - case 701: + case 703: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:3867 +//line sql.y:3880 { yyLOCAL = NewStrLiteral(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 702: + case 704: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3873 +//line sql.y:3886 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 703: + case 705: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3879 +//line sql.y:3892 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } yyVAL.union = yyLOCAL - case 704: + case 706: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3885 +//line sql.y:3898 { yyLOCAL = convertStringToInt(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 705: + case 707: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3891 +//line sql.y:3904 { yyLOCAL = convertStringToInt(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 706: + case 708: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3897 +//line sql.y:3910 { yyVAL.str = yyDollar[3].identifierCS.String() } - case 707: + case 709: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinition -//line sql.y:3903 +//line sql.y:3916 { yyLOCAL = &PartitionDefinition{Name: yyDollar[2].identifierCI} } yyVAL.union = yyLOCAL - case 708: + case 710: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3909 +//line sql.y:3922 { yyVAL.str = "" } - case 709: + case 711: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3913 +//line sql.y:3926 { yyVAL.str = "" } - case 710: + case 712: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3919 +//line sql.y:3932 { yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()} } yyVAL.union = yyLOCAL - case 711: + case 713: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*RenameTablePair -//line sql.y:3925 +//line sql.y:3938 { yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} } yyVAL.union = yyLOCAL - case 712: + case 714: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3929 +//line sql.y:3942 { yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) } - case 713: + case 715: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3935 +//line sql.y:3948 { yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL - case 714: + case 716: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3939 +//line sql.y:3952 { // Change this to an alter statement if yyDollar[4].identifierCI.Lowered() == "primary" { @@ -15337,1343 +15428,1343 @@ yydefault: } } yyVAL.union = yyLOCAL - case 715: + case 717: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3948 +//line sql.y:3961 { yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()} } yyVAL.union = yyLOCAL - case 716: + case 718: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3952 +//line sql.y:3965 { yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].identifierCS, IfExists: yyDollar[4].booleanUnion()} } yyVAL.union = yyLOCAL - case 717: + case 719: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3958 +//line sql.y:3971 { yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName} } yyVAL.union = yyLOCAL - case 718: + case 720: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3962 +//line sql.y:3975 { yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName} } yyVAL.union = yyLOCAL - case 719: + case 721: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3968 +//line sql.y:3981 { yyLOCAL = &Analyze{IsLocal: yyDollar[2].booleanUnion(), Table: yyDollar[4].tableName} } yyVAL.union = yyLOCAL - case 720: + case 722: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3974 +//line sql.y:3987 { yyLOCAL = &PurgeBinaryLogs{To: string(yyDollar[5].str)} } yyVAL.union = yyLOCAL - case 721: + case 723: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3978 +//line sql.y:3991 { yyLOCAL = &PurgeBinaryLogs{Before: string(yyDollar[5].str)} } yyVAL.union = yyLOCAL - case 722: + case 724: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3984 +//line sql.y:3997 { yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 723: + case 725: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3988 +//line sql.y:4001 { yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 724: + case 726: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3992 +//line sql.y:4005 { yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 725: + case 727: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3996 +//line sql.y:4009 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 726: + case 728: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4000 +//line sql.y:4013 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 727: + case 729: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4004 +//line sql.y:4017 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 728: + case 730: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4008 +//line sql.y:4021 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 729: + case 731: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4012 +//line sql.y:4025 { yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 730: + case 732: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:4016 +//line sql.y:4029 { yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 731: + case 733: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4020 +//line sql.y:4033 { yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 732: + case 734: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4024 +//line sql.y:4037 { yyLOCAL = &Show{&ShowBasic{Command: Privilege}} } yyVAL.union = yyLOCAL - case 733: + case 735: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4028 +//line sql.y:4041 { yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 734: + case 736: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4032 +//line sql.y:4045 { yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 735: + case 737: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4036 +//line sql.y:4049 { yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 736: + case 738: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4040 +//line sql.y:4053 { yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 737: + case 739: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4044 +//line sql.y:4057 { yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 738: + case 740: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4048 +//line sql.y:4061 { yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 739: + case 741: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4052 +//line sql.y:4065 { yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 740: + case 742: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4056 +//line sql.y:4069 { yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].identifierCS, Filter: yyDollar[4].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 741: + case 743: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4060 +//line sql.y:4073 { yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}} } yyVAL.union = yyLOCAL - case 742: + case 744: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4064 +//line sql.y:4077 { yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}} } yyVAL.union = yyLOCAL - case 743: + case 745: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4068 +//line sql.y:4081 { yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}} } yyVAL.union = yyLOCAL - case 744: + case 746: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4072 +//line sql.y:4085 { yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}} } yyVAL.union = yyLOCAL - case 745: + case 747: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4076 +//line sql.y:4089 { yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}} } yyVAL.union = yyLOCAL - case 746: + case 748: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4080 +//line sql.y:4093 { yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}} } yyVAL.union = yyLOCAL - case 747: + case 749: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4084 +//line sql.y:4097 { yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}} } yyVAL.union = yyLOCAL - case 748: + case 750: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4088 +//line sql.y:4101 { yyLOCAL = &Show{&ShowBasic{Command: Engines}} } yyVAL.union = yyLOCAL - case 749: + case 751: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4092 +//line sql.y:4105 { yyLOCAL = &Show{&ShowBasic{Command: Plugins}} } yyVAL.union = yyLOCAL - case 750: + case 752: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4096 +//line sql.y:4109 { yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].identifierCS}} } yyVAL.union = yyLOCAL - case 751: + case 753: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4100 +//line sql.y:4113 { yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].identifierCS}} } yyVAL.union = yyLOCAL - case 752: + case 754: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4104 +//line sql.y:4117 { yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 753: + case 755: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4108 +//line sql.y:4121 { yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].identifierCS}} } yyVAL.union = yyLOCAL - case 754: + case 756: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4112 +//line sql.y:4125 { yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)} } yyVAL.union = yyLOCAL - case 755: + case 757: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4116 +//line sql.y:4129 { yyLOCAL = &ShowThrottledApps{} } yyVAL.union = yyLOCAL - case 756: + case 758: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4120 +//line sql.y:4133 { yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 757: + case 759: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4124 +//line sql.y:4137 { yyLOCAL = &ShowThrottlerStatus{} } yyVAL.union = yyLOCAL - case 758: + case 760: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4128 +//line sql.y:4141 { yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}} } yyVAL.union = yyLOCAL - case 759: + case 761: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4132 +//line sql.y:4145 { yyLOCAL = &Show{&ShowBasic{Command: VschemaKeyspaces}} } yyVAL.union = yyLOCAL - case 760: + case 762: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4136 +//line sql.y:4149 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}} } yyVAL.union = yyLOCAL - case 761: + case 763: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4140 +//line sql.y:4153 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}} } yyVAL.union = yyLOCAL - case 762: + case 764: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4144 +//line sql.y:4157 { yyLOCAL = &Show{&ShowBasic{Command: Warnings}} } yyVAL.union = yyLOCAL - case 763: + case 765: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4148 +//line sql.y:4161 { yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 764: + case 766: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4152 +//line sql.y:4165 { yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}} } yyVAL.union = yyLOCAL - case 765: + case 767: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4156 +//line sql.y:4169 { yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}} } yyVAL.union = yyLOCAL - case 766: + case 768: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4163 +//line sql.y:4176 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].identifierCI.String())}} } yyVAL.union = yyLOCAL - case 767: + case 769: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4167 +//line sql.y:4180 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } yyVAL.union = yyLOCAL - case 768: + case 770: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4171 +//line sql.y:4184 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String()}} } yyVAL.union = yyLOCAL - case 769: + case 771: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4175 +//line sql.y:4188 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } yyVAL.union = yyLOCAL - case 770: + case 772: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4179 +//line sql.y:4192 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } yyVAL.union = yyLOCAL - case 771: + case 773: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4183 +//line sql.y:4196 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } yyVAL.union = yyLOCAL - case 772: + case 774: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4187 +//line sql.y:4200 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } yyVAL.union = yyLOCAL - case 773: + case 775: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4191 +//line sql.y:4204 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}} } yyVAL.union = yyLOCAL - case 774: + case 776: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4195 +//line sql.y:4208 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } yyVAL.union = yyLOCAL - case 775: + case 777: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4201 +//line sql.y:4214 { yyVAL.str = "" } - case 776: + case 778: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4205 +//line sql.y:4218 { yyVAL.str = "extended " } - case 777: + case 779: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4211 +//line sql.y:4224 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 778: + case 780: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4215 +//line sql.y:4228 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 779: + case 781: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4221 +//line sql.y:4234 { yyVAL.str = string(yyDollar[1].str) } - case 780: + case 782: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4225 +//line sql.y:4238 { yyVAL.str = string(yyDollar[1].str) } - case 781: + case 783: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4231 +//line sql.y:4244 { yyVAL.identifierCS = NewIdentifierCS("") } - case 782: + case 784: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4235 +//line sql.y:4248 { yyVAL.identifierCS = yyDollar[2].identifierCS } - case 783: + case 785: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4239 +//line sql.y:4252 { yyVAL.identifierCS = yyDollar[2].identifierCS } - case 784: + case 786: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4245 +//line sql.y:4258 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 785: + case 787: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4249 +//line sql.y:4262 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } yyVAL.union = yyLOCAL - case 786: + case 788: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4253 +//line sql.y:4266 { yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 787: + case 789: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4259 +//line sql.y:4272 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 788: + case 790: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4263 +//line sql.y:4276 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } yyVAL.union = yyLOCAL - case 789: + case 791: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4269 +//line sql.y:4282 { yyVAL.empty = struct{}{} } - case 790: + case 792: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4273 +//line sql.y:4286 { yyVAL.empty = struct{}{} } - case 791: + case 793: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4277 +//line sql.y:4290 { yyVAL.empty = struct{}{} } - case 792: + case 794: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4283 +//line sql.y:4296 { yyVAL.str = string(yyDollar[1].str) } - case 793: + case 795: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4287 +//line sql.y:4300 { yyVAL.str = string(yyDollar[1].str) } - case 794: + case 796: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4293 +//line sql.y:4306 { yyLOCAL = &Use{DBName: yyDollar[2].identifierCS} } yyVAL.union = yyLOCAL - case 795: + case 797: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4297 +//line sql.y:4310 { yyLOCAL = &Use{DBName: IdentifierCS{v: ""}} } yyVAL.union = yyLOCAL - case 796: + case 798: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4301 +//line sql.y:4314 { yyLOCAL = &Use{DBName: NewIdentifierCS(yyDollar[2].identifierCS.String() + "@" + string(yyDollar[3].str))} } yyVAL.union = yyLOCAL - case 797: + case 799: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4308 +//line sql.y:4321 { yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) } - case 798: + case 800: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4312 +//line sql.y:4325 { yyVAL.identifierCS = NewIdentifierCS("@" + string(yyDollar[1].str)) } - case 799: + case 801: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4316 +//line sql.y:4329 { yyVAL.identifierCS = NewIdentifierCS("@@" + string(yyDollar[1].str)) } - case 800: + case 802: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4320 +//line sql.y:4333 { yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) } - case 801: + case 803: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4327 +//line sql.y:4340 { yyLOCAL = &Begin{} } yyVAL.union = yyLOCAL - case 802: + case 804: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4331 +//line sql.y:4344 { yyLOCAL = &Begin{TxAccessModes: yyDollar[3].txAccessModesUnion()} } yyVAL.union = yyLOCAL - case 803: + case 805: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []TxAccessMode -//line sql.y:4336 +//line sql.y:4349 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 804: + case 806: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []TxAccessMode -//line sql.y:4340 +//line sql.y:4353 { yyLOCAL = yyDollar[1].txAccessModesUnion() } yyVAL.union = yyLOCAL - case 805: + case 807: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []TxAccessMode -//line sql.y:4346 +//line sql.y:4359 { yyLOCAL = []TxAccessMode{yyDollar[1].txAccessModeUnion()} } yyVAL.union = yyLOCAL - case 806: + case 808: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4350 +//line sql.y:4363 { yySLICE := (*[]TxAccessMode)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].txAccessModeUnion()) } - case 807: + case 809: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TxAccessMode -//line sql.y:4356 +//line sql.y:4369 { yyLOCAL = WithConsistentSnapshot } yyVAL.union = yyLOCAL - case 808: + case 810: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TxAccessMode -//line sql.y:4360 +//line sql.y:4373 { yyLOCAL = ReadWrite } yyVAL.union = yyLOCAL - case 809: + case 811: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TxAccessMode -//line sql.y:4364 +//line sql.y:4377 { yyLOCAL = ReadOnly } yyVAL.union = yyLOCAL - case 810: + case 812: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4371 +//line sql.y:4384 { yyLOCAL = &Commit{} } yyVAL.union = yyLOCAL - case 811: + case 813: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4377 +//line sql.y:4390 { yyLOCAL = &Rollback{} } yyVAL.union = yyLOCAL - case 812: + case 814: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4381 +//line sql.y:4394 { yyLOCAL = &SRollback{Name: yyDollar[5].identifierCI} } yyVAL.union = yyLOCAL - case 813: + case 815: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4386 +//line sql.y:4399 { yyVAL.empty = struct{}{} } - case 814: + case 816: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4388 +//line sql.y:4401 { yyVAL.empty = struct{}{} } - case 815: + case 817: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4391 +//line sql.y:4404 { yyVAL.empty = struct{}{} } - case 816: + case 818: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4393 +//line sql.y:4406 { yyVAL.empty = struct{}{} } - case 817: + case 819: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4397 +//line sql.y:4410 { yyLOCAL = &Savepoint{Name: yyDollar[2].identifierCI} } yyVAL.union = yyLOCAL - case 818: + case 820: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4403 +//line sql.y:4416 { yyLOCAL = &Release{Name: yyDollar[3].identifierCI} } yyVAL.union = yyLOCAL - case 819: + case 821: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4408 +//line sql.y:4421 { yyLOCAL = EmptyType } yyVAL.union = yyLOCAL - case 820: + case 822: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4412 +//line sql.y:4425 { yyLOCAL = JSONType } yyVAL.union = yyLOCAL - case 821: + case 823: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4416 +//line sql.y:4429 { yyLOCAL = TreeType } yyVAL.union = yyLOCAL - case 822: + case 824: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4420 +//line sql.y:4433 { yyLOCAL = VitessType } yyVAL.union = yyLOCAL - case 823: + case 825: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4424 +//line sql.y:4437 { yyLOCAL = VTExplainType } yyVAL.union = yyLOCAL - case 824: + case 826: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4428 +//line sql.y:4441 { yyLOCAL = TraditionalType } yyVAL.union = yyLOCAL - case 825: + case 827: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4432 +//line sql.y:4445 { yyLOCAL = AnalyzeType } yyVAL.union = yyLOCAL - case 826: + case 828: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL VExplainType -//line sql.y:4437 +//line sql.y:4450 { yyLOCAL = PlanVExplainType } yyVAL.union = yyLOCAL - case 827: + case 829: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL VExplainType -//line sql.y:4441 +//line sql.y:4454 { yyLOCAL = PlanVExplainType } yyVAL.union = yyLOCAL - case 828: + case 830: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL VExplainType -//line sql.y:4445 +//line sql.y:4458 { yyLOCAL = AllVExplainType } yyVAL.union = yyLOCAL - case 829: + case 831: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL VExplainType -//line sql.y:4449 +//line sql.y:4462 { yyLOCAL = QueriesVExplainType } yyVAL.union = yyLOCAL - case 830: + case 832: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4455 +//line sql.y:4468 { yyVAL.str = yyDollar[1].str } - case 831: + case 833: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4459 +//line sql.y:4472 { yyVAL.str = yyDollar[1].str } - case 832: + case 834: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4463 +//line sql.y:4476 { yyVAL.str = yyDollar[1].str } - case 833: + case 835: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4469 +//line sql.y:4482 { yyLOCAL = yyDollar[1].selStmtUnion() } yyVAL.union = yyLOCAL - case 834: + case 836: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4473 +//line sql.y:4486 { yyLOCAL = yyDollar[1].statementUnion() } yyVAL.union = yyLOCAL - case 835: + case 837: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4477 +//line sql.y:4490 { yyLOCAL = yyDollar[1].statementUnion() } yyVAL.union = yyLOCAL - case 836: + case 838: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4481 +//line sql.y:4494 { yyLOCAL = yyDollar[1].statementUnion() } yyVAL.union = yyLOCAL - case 837: + case 839: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4486 +//line sql.y:4499 { yyVAL.str = "" } - case 838: + case 840: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4490 +//line sql.y:4503 { yyVAL.str = yyDollar[1].identifierCI.val } - case 839: + case 841: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4494 +//line sql.y:4507 { yyVAL.str = encodeSQLString(yyDollar[1].str) } - case 840: + case 842: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4500 +//line sql.y:4513 { yyLOCAL = &ExplainTab{Table: yyDollar[3].tableName, Wild: yyDollar[4].str} } yyVAL.union = yyLOCAL - case 841: + case 843: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4504 +//line sql.y:4517 { yyLOCAL = &ExplainStmt{Type: yyDollar[3].explainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()} } yyVAL.union = yyLOCAL - case 842: + case 844: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4510 +//line sql.y:4523 { yyLOCAL = &VExplainStmt{Type: yyDollar[3].vexplainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()} } yyVAL.union = yyLOCAL - case 843: + case 845: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4516 +//line sql.y:4529 { yyLOCAL = &OtherAdmin{} } yyVAL.union = yyLOCAL - case 844: + case 846: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4520 +//line sql.y:4533 { yyLOCAL = &OtherAdmin{} } yyVAL.union = yyLOCAL - case 845: + case 847: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4526 +//line sql.y:4539 { yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()} } yyVAL.union = yyLOCAL - case 846: + case 848: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableAndLockTypes -//line sql.y:4532 +//line sql.y:4545 { yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()} } yyVAL.union = yyLOCAL - case 847: + case 849: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4536 +//line sql.y:4549 { yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion()) } - case 848: + case 850: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *TableAndLockType -//line sql.y:4542 +//line sql.y:4555 { yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()} } yyVAL.union = yyLOCAL - case 849: + case 851: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4548 +//line sql.y:4561 { yyLOCAL = Read } yyVAL.union = yyLOCAL - case 850: + case 852: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4552 +//line sql.y:4565 { yyLOCAL = ReadLocal } yyVAL.union = yyLOCAL - case 851: + case 853: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4556 +//line sql.y:4569 { yyLOCAL = Write } yyVAL.union = yyLOCAL - case 852: + case 854: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4560 +//line sql.y:4573 { yyLOCAL = LowPriorityWrite } yyVAL.union = yyLOCAL - case 853: + case 855: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4566 +//line sql.y:4579 { yyLOCAL = &UnlockTables{} } yyVAL.union = yyLOCAL - case 854: + case 856: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4572 +//line sql.y:4585 { yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 855: + case 857: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4578 +//line sql.y:4591 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs} } yyVAL.union = yyLOCAL - case 856: + case 858: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4582 +//line sql.y:4595 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()} } yyVAL.union = yyLOCAL - case 857: + case 859: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4586 +//line sql.y:4599 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true} } yyVAL.union = yyLOCAL - case 858: + case 860: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4590 +//line sql.y:4603 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()} } yyVAL.union = yyLOCAL - case 859: + case 861: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:4594 +//line sql.y:4607 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true} } yyVAL.union = yyLOCAL - case 860: + case 862: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4598 +//line sql.y:4611 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true} } yyVAL.union = yyLOCAL - case 861: + case 863: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4604 +//line sql.y:4617 { yyVAL.strs = []string{yyDollar[1].str} } - case 862: + case 864: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4608 +//line sql.y:4621 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) } - case 863: + case 865: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4614 +//line sql.y:4627 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } - case 864: + case 866: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4618 +//line sql.y:4631 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } - case 865: + case 867: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4622 +//line sql.y:4635 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } - case 866: + case 868: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4626 +//line sql.y:4639 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } - case 867: + case 869: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4630 +//line sql.y:4643 { yyVAL.str = string(yyDollar[1].str) } - case 868: + case 870: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4634 +//line sql.y:4647 { yyVAL.str = string(yyDollar[1].str) } - case 869: + case 871: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4638 +//line sql.y:4651 { yyVAL.str = string(yyDollar[1].str) } - case 870: + case 872: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4642 +//line sql.y:4655 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str } - case 871: + case 873: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4646 +//line sql.y:4659 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } - case 872: + case 874: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4650 +//line sql.y:4663 { yyVAL.str = string(yyDollar[1].str) } - case 873: + case 875: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4654 +//line sql.y:4667 { yyVAL.str = string(yyDollar[1].str) } - case 874: + case 876: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4658 +//line sql.y:4671 { yyVAL.str = string(yyDollar[1].str) } - case 875: + case 877: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4663 +//line sql.y:4676 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 876: + case 878: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4667 +//line sql.y:4680 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 877: + case 879: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4671 +//line sql.y:4684 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 878: + case 880: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4676 +//line sql.y:4689 { yyVAL.str = "" } - case 879: + case 881: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4680 +//line sql.y:4693 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String() } - case 880: + case 882: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4685 +//line sql.y:4698 { setAllowComments(yylex, true) } - case 881: + case 883: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4689 +//line sql.y:4702 { yyVAL.strs = yyDollar[2].strs setAllowComments(yylex, false) } - case 882: + case 884: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4695 +//line sql.y:4708 { yyVAL.strs = nil } - case 883: + case 885: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4699 +//line sql.y:4712 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str) } - case 884: + case 886: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4705 +//line sql.y:4718 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 885: + case 887: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4709 +//line sql.y:4722 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 886: + case 888: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4713 +//line sql.y:4726 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 887: + case 889: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4718 +//line sql.y:4731 { yyVAL.str = "" } - case 888: + case 890: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4722 +//line sql.y:4735 { yyVAL.str = SQLNoCacheStr } - case 889: + case 891: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4726 +//line sql.y:4739 { yyVAL.str = SQLCacheStr } - case 890: + case 892: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4731 +//line sql.y:4744 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 891: + case 893: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4735 +//line sql.y:4748 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 892: + case 894: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4739 +//line sql.y:4752 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 893: + case 895: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4745 +//line sql.y:4758 { yyLOCAL = &PrepareStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 894: + case 896: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4749 +//line sql.y:4762 { yyLOCAL = &PrepareStmt{ Name: yyDollar[3].identifierCI, @@ -16682,595 +16773,595 @@ yydefault: } } yyVAL.union = yyLOCAL - case 895: + case 897: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4759 +//line sql.y:4772 { yyLOCAL = &ExecuteStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].variablesUnion()} } yyVAL.union = yyLOCAL - case 896: + case 898: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*Variable -//line sql.y:4764 +//line sql.y:4777 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 897: + case 899: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*Variable -//line sql.y:4768 +//line sql.y:4781 { yyLOCAL = yyDollar[2].variablesUnion() } yyVAL.union = yyLOCAL - case 898: + case 900: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4774 +//line sql.y:4787 { yyLOCAL = &DeallocateStmt{Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI} } yyVAL.union = yyLOCAL - case 899: + case 901: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4778 +//line sql.y:4791 { yyLOCAL = &DeallocateStmt{Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI} } yyVAL.union = yyLOCAL - case 900: + case 902: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4783 +//line sql.y:4796 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 901: + case 903: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4787 +//line sql.y:4800 { yyLOCAL = yyDollar[1].selectExprsUnion() } yyVAL.union = yyLOCAL - case 902: + case 904: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4792 +//line sql.y:4805 { yyVAL.strs = nil } - case 903: + case 905: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4796 +//line sql.y:4809 { yyVAL.strs = []string{yyDollar[1].str} } - case 904: + case 906: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4800 +//line sql.y:4813 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} } - case 905: + case 907: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4804 +//line sql.y:4817 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } - case 906: + case 908: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4808 +//line sql.y:4821 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } - case 907: + case 909: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4814 +//line sql.y:4827 { yyVAL.str = SQLNoCacheStr } - case 908: + case 910: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4818 +//line sql.y:4831 { yyVAL.str = SQLCacheStr } - case 909: + case 911: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4822 +//line sql.y:4835 { yyVAL.str = DistinctStr } - case 910: + case 912: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4826 +//line sql.y:4839 { yyVAL.str = DistinctStr } - case 911: + case 913: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4830 +//line sql.y:4843 { yyVAL.str = StraightJoinHint } - case 912: + case 914: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4834 +//line sql.y:4847 { yyVAL.str = SQLCalcFoundRowsStr } - case 913: + case 915: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4838 +//line sql.y:4851 { yyVAL.str = AllStr // These are not picked up by NewSelect, and so ALL will be dropped. But this is OK, since it's redundant anyway } - case 914: + case 916: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4844 +//line sql.y:4857 { yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()} } yyVAL.union = yyLOCAL - case 915: + case 917: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4848 +//line sql.y:4861 { yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion()) } - case 916: + case 918: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4854 +//line sql.y:4867 { yyLOCAL = &StarExpr{} } yyVAL.union = yyLOCAL - case 917: + case 919: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4858 +//line sql.y:4871 { yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].identifierCI} } yyVAL.union = yyLOCAL - case 918: + case 920: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4862 +//line sql.y:4875 { yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].identifierCS}} } yyVAL.union = yyLOCAL - case 919: + case 921: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4866 +//line sql.y:4879 { yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}} } yyVAL.union = yyLOCAL - case 920: + case 922: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4871 +//line sql.y:4884 { yyVAL.identifierCI = IdentifierCI{} } - case 921: + case 923: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4875 +//line sql.y:4888 { yyVAL.identifierCI = yyDollar[1].identifierCI } - case 922: + case 924: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4879 +//line sql.y:4892 { yyVAL.identifierCI = yyDollar[2].identifierCI } - case 924: + case 926: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4886 +//line sql.y:4899 { yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str)) } - case 925: + case 927: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4891 +//line sql.y:4904 { yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewIdentifierCS("dual")}}} } yyVAL.union = yyLOCAL - case 926: + case 928: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4895 +//line sql.y:4908 { yyLOCAL = yyDollar[1].tableExprsUnion() } yyVAL.union = yyLOCAL - case 927: + case 929: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4901 +//line sql.y:4914 { yyLOCAL = yyDollar[2].tableExprsUnion() } yyVAL.union = yyLOCAL - case 928: + case 930: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4907 +//line sql.y:4920 { yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()} } yyVAL.union = yyLOCAL - case 929: + case 931: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4911 +//line sql.y:4924 { yySLICE := (*TableExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion()) } - case 932: + case 934: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4921 +//line sql.y:4934 { yyLOCAL = yyDollar[1].aliasedTableNameUnion() } yyVAL.union = yyLOCAL - case 933: + case 935: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4925 +//line sql.y:4938 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].identifierCS, Columns: yyDollar[4].columnsUnion()} } yyVAL.union = yyLOCAL - case 934: + case 936: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4929 +//line sql.y:4942 { yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()} } yyVAL.union = yyLOCAL - case 935: + case 937: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4933 +//line sql.y:4946 { yyLOCAL = yyDollar[1].tableExprUnion() } yyVAL.union = yyLOCAL - case 936: + case 938: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4939 +//line sql.y:4952 { yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[1].selStmtUnion()} } yyVAL.union = yyLOCAL - case 937: + case 939: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4943 +//line sql.y:4956 { yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[2].selStmtUnion()} } yyVAL.union = yyLOCAL - case 938: + case 940: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4949 +//line sql.y:4962 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].identifierCS, Hints: yyDollar[3].indexHintsUnion()} } yyVAL.union = yyLOCAL - case 939: + case 941: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4953 +//line sql.y:4966 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].identifierCS, Hints: yyDollar[7].indexHintsUnion()} } yyVAL.union = yyLOCAL - case 940: + case 942: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4958 +//line sql.y:4971 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 941: + case 943: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:4962 +//line sql.y:4975 { yyLOCAL = yyDollar[2].columnsUnion() } yyVAL.union = yyLOCAL - case 942: + case 944: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4967 +//line sql.y:4980 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 943: + case 945: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4971 +//line sql.y:4984 { yyLOCAL = yyDollar[1].columnsUnion() } yyVAL.union = yyLOCAL - case 944: + case 946: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4977 +//line sql.y:4990 { yyLOCAL = Columns{yyDollar[1].identifierCI} } yyVAL.union = yyLOCAL - case 945: + case 947: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4981 +//line sql.y:4994 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].identifierCI) } - case 946: + case 948: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*Variable -//line sql.y:4987 +//line sql.y:5000 { yyLOCAL = []*Variable{yyDollar[1].variableUnion()} } yyVAL.union = yyLOCAL - case 947: + case 949: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4991 +//line sql.y:5004 { yySLICE := (*[]*Variable)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].variableUnion()) } - case 948: + case 950: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4997 +//line sql.y:5010 { yyLOCAL = Columns{yyDollar[1].identifierCI} } yyVAL.union = yyLOCAL - case 949: + case 951: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:5001 +//line sql.y:5014 { yyLOCAL = Columns{NewIdentifierCI(string(yyDollar[1].str))} } yyVAL.union = yyLOCAL - case 950: + case 952: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5005 +//line sql.y:5018 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].identifierCI) } - case 951: + case 953: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5009 +//line sql.y:5022 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewIdentifierCI(string(yyDollar[3].str))) } - case 952: + case 954: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Partitions -//line sql.y:5015 +//line sql.y:5028 { yyLOCAL = Partitions{yyDollar[1].identifierCI} } yyVAL.union = yyLOCAL - case 953: + case 955: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5019 +//line sql.y:5032 { yySLICE := (*Partitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].identifierCI) } - case 954: + case 956: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:5032 +//line sql.y:5045 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } yyVAL.union = yyLOCAL - case 955: + case 957: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:5036 +//line sql.y:5049 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } yyVAL.union = yyLOCAL - case 956: + case 958: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:5040 +//line sql.y:5053 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } yyVAL.union = yyLOCAL - case 957: + case 959: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:5044 +//line sql.y:5057 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()} } yyVAL.union = yyLOCAL - case 958: + case 960: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5050 +//line sql.y:5063 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } - case 959: + case 961: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:5052 +//line sql.y:5065 { yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()} } - case 960: + case 962: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5056 +//line sql.y:5069 { yyVAL.joinCondition = &JoinCondition{} } - case 961: + case 963: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5058 +//line sql.y:5071 { yyVAL.joinCondition = yyDollar[1].joinCondition } - case 962: + case 964: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5062 +//line sql.y:5075 { yyVAL.joinCondition = &JoinCondition{} } - case 963: + case 965: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5064 +//line sql.y:5077 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } - case 964: + case 966: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5067 +//line sql.y:5080 { yyVAL.empty = struct{}{} } - case 965: + case 967: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5069 +//line sql.y:5082 { yyVAL.empty = struct{}{} } - case 966: + case 968: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5072 +//line sql.y:5085 { yyVAL.identifierCS = NewIdentifierCS("") } - case 967: + case 969: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5076 +//line sql.y:5089 { yyVAL.identifierCS = yyDollar[1].identifierCS } - case 968: + case 970: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5080 +//line sql.y:5093 { yyVAL.identifierCS = yyDollar[2].identifierCS } - case 970: + case 972: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5087 +//line sql.y:5100 { yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) } - case 971: + case 973: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:5093 +//line sql.y:5106 { yyLOCAL = NormalJoinType } yyVAL.union = yyLOCAL - case 972: + case 974: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:5097 +//line sql.y:5110 { yyLOCAL = NormalJoinType } yyVAL.union = yyLOCAL - case 973: + case 975: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:5101 +//line sql.y:5114 { yyLOCAL = NormalJoinType } yyVAL.union = yyLOCAL - case 974: + case 976: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:5107 +//line sql.y:5120 { yyLOCAL = StraightJoinType } yyVAL.union = yyLOCAL - case 975: + case 977: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:5113 +//line sql.y:5126 { yyLOCAL = LeftJoinType } yyVAL.union = yyLOCAL - case 976: + case 978: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:5117 +//line sql.y:5130 { yyLOCAL = LeftJoinType } yyVAL.union = yyLOCAL - case 977: + case 979: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:5121 +//line sql.y:5134 { yyLOCAL = RightJoinType } yyVAL.union = yyLOCAL - case 978: + case 980: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:5125 +//line sql.y:5138 { yyLOCAL = RightJoinType } yyVAL.union = yyLOCAL - case 979: + case 981: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:5131 +//line sql.y:5144 { yyLOCAL = NaturalJoinType } yyVAL.union = yyLOCAL - case 980: + case 982: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:5135 +//line sql.y:5148 { if yyDollar[2].joinTypeUnion() == LeftJoinType { yyLOCAL = NaturalLeftJoinType @@ -17279,617 +17370,617 @@ yydefault: } } yyVAL.union = yyLOCAL - case 981: + case 983: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5145 +//line sql.y:5158 { yyVAL.tableName = yyDollar[2].tableName } - case 982: + case 984: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5149 +//line sql.y:5162 { yyVAL.tableName = yyDollar[1].tableName } - case 983: + case 985: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5155 +//line sql.y:5168 { yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS} } - case 984: + case 986: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5159 +//line sql.y:5172 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS} } - case 985: + case 987: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5165 +//line sql.y:5178 { yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS} } - case 986: + case 988: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHints -//line sql.y:5170 +//line sql.y:5183 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 987: + case 989: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:5174 +//line sql.y:5187 { yyLOCAL = yyDollar[1].indexHintsUnion() } yyVAL.union = yyLOCAL - case 988: + case 990: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:5180 +//line sql.y:5193 { yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()} } yyVAL.union = yyLOCAL - case 989: + case 991: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5184 +//line sql.y:5197 { yySLICE := (*IndexHints)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion()) } - case 990: + case 992: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:5190 +//line sql.y:5203 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } yyVAL.union = yyLOCAL - case 991: + case 993: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:5194 +//line sql.y:5207 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()} } yyVAL.union = yyLOCAL - case 992: + case 994: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:5198 +//line sql.y:5211 { yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } yyVAL.union = yyLOCAL - case 993: + case 995: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:5202 +//line sql.y:5215 { yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } yyVAL.union = yyLOCAL - case 994: + case 996: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:5207 +//line sql.y:5220 { yyLOCAL = NoForType } yyVAL.union = yyLOCAL - case 995: + case 997: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:5211 +//line sql.y:5224 { yyLOCAL = JoinForType } yyVAL.union = yyLOCAL - case 996: + case 998: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:5215 +//line sql.y:5228 { yyLOCAL = OrderByForType } yyVAL.union = yyLOCAL - case 997: + case 999: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:5219 +//line sql.y:5232 { yyLOCAL = GroupByForType } yyVAL.union = yyLOCAL - case 998: + case 1000: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5225 +//line sql.y:5238 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 999: + case 1001: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5229 +//line sql.y:5242 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1000: + case 1002: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5236 +//line sql.y:5249 { yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1001: + case 1003: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5240 +//line sql.y:5253 { yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1002: + case 1004: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5244 +//line sql.y:5257 { yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1003: + case 1005: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5248 +//line sql.y:5261 { yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1004: + case 1006: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5252 +//line sql.y:5265 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()} } yyVAL.union = yyLOCAL - case 1005: + case 1007: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5256 +//line sql.y:5269 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1006: + case 1008: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5260 +//line sql.y:5273 { yyLOCAL = &AssignmentExpr{Left: yyDollar[1].variableUnion(), Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1007: + case 1009: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5264 +//line sql.y:5277 { yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1008: + case 1010: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5270 +//line sql.y:5283 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp} } yyVAL.union = yyLOCAL - case 1009: + case 1011: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5274 +//line sql.y:5287 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp} } yyVAL.union = yyLOCAL - case 1010: + case 1012: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5278 +//line sql.y:5291 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1011: + case 1013: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5282 +//line sql.y:5295 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1012: + case 1014: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5288 +//line sql.y:5301 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()} } yyVAL.union = yyLOCAL - case 1013: + case 1015: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5292 +//line sql.y:5305 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()} } yyVAL.union = yyLOCAL - case 1014: + case 1016: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5296 +//line sql.y:5309 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1015: + case 1017: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5300 +//line sql.y:5313 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 1016: + case 1018: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5304 +//line sql.y:5317 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1017: + case 1019: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5308 +//line sql.y:5321 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1018: + case 1020: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5312 +//line sql.y:5325 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1019: + case 1021: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5316 +//line sql.y:5329 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 1020: + case 1022: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5320 +//line sql.y:5333 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1021: + case 1023: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5324 +//line sql.y:5337 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1022: + case 1024: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5328 +//line sql.y:5341 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1023: + case 1025: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5334 +//line sql.y:5347 { } - case 1024: + case 1026: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5337 +//line sql.y:5350 { } - case 1025: + case 1027: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5343 +//line sql.y:5356 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1026: + case 1028: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5347 +//line sql.y:5360 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1027: + case 1029: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5351 +//line sql.y:5364 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1028: + case 1030: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5355 +//line sql.y:5368 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1029: + case 1031: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5359 +//line sql.y:5372 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1030: + case 1032: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5363 +//line sql.y:5376 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1031: + case 1033: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5367 +//line sql.y:5380 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAdd, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1032: + case 1034: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5371 +//line sql.y:5384 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinarySub, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1033: + case 1035: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5375 +//line sql.y:5388 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1034: + case 1036: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5379 +//line sql.y:5392 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1035: + case 1037: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5383 +//line sql.y:5396 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1036: + case 1038: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5387 +//line sql.y:5400 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1037: + case 1039: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5391 +//line sql.y:5404 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1038: + case 1040: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5395 +//line sql.y:5408 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1039: + case 1041: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5399 +//line sql.y:5412 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1040: + case 1042: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5405 +//line sql.y:5418 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1041: + case 1043: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5409 +//line sql.y:5422 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1042: + case 1044: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5413 +//line sql.y:5426 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1043: + case 1045: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5417 +//line sql.y:5430 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1044: + case 1046: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5421 +//line sql.y:5434 { yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str} } yyVAL.union = yyLOCAL - case 1045: + case 1047: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5425 +//line sql.y:5438 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1046: + case 1048: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5429 +//line sql.y:5442 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1047: + case 1049: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5433 +//line sql.y:5446 { yyLOCAL = yyDollar[1].variableUnion() } yyVAL.union = yyLOCAL - case 1048: + case 1050: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5437 +//line sql.y:5450 { yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals? } yyVAL.union = yyLOCAL - case 1049: + case 1051: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5441 +//line sql.y:5454 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1050: + case 1052: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5445 +//line sql.y:5458 { yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1051: + case 1053: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5449 +//line sql.y:5462 { yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1052: + case 1054: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5453 +//line sql.y:5466 { yyLOCAL = yyDollar[1].subqueryUnion() } yyVAL.union = yyLOCAL - case 1053: + case 1055: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5457 +//line sql.y:5470 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1054: + case 1056: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5461 +//line sql.y:5474 { yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()} } yyVAL.union = yyLOCAL - case 1055: + case 1057: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5465 +//line sql.y:5478 { yyLOCAL = &MatchExpr{Columns: yyDollar[2].colNamesUnion(), Expr: yyDollar[5].exprUnion(), Option: yyDollar[6].matchExprOptionUnion()} } yyVAL.union = yyLOCAL - case 1056: + case 1058: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5469 +//line sql.y:5482 { yyLOCAL = &CastExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion(), Array: yyDollar[6].booleanUnion()} } yyVAL.union = yyLOCAL - case 1057: + case 1059: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5473 +//line sql.y:5486 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1058: + case 1060: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5477 +//line sql.y:5490 { yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str} } yyVAL.union = yyLOCAL - case 1059: + case 1061: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5481 +//line sql.y:5494 { // From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary // To convert a string expression to a binary string, these constructs are equivalent: @@ -17898,3169 +17989,3169 @@ yydefault: yyLOCAL = &ConvertExpr{Expr: yyDollar[2].exprUnion(), Type: &ConvertType{Type: yyDollar[1].str}} } yyVAL.union = yyLOCAL - case 1060: + case 1062: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5489 +//line sql.y:5502 { yyLOCAL = &Default{ColName: yyDollar[2].str} } yyVAL.union = yyLOCAL - case 1061: + case 1063: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5493 +//line sql.y:5506 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAddLeft, Date: yyDollar[5].exprUnion(), Unit: yyDollar[3].intervalTypeUnion(), Interval: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1062: + case 1064: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5497 +//line sql.y:5510 { yyLOCAL = &IntervalFuncExpr{Expr: yyDollar[3].exprUnion(), Exprs: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1063: + case 1065: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5501 +//line sql.y:5514 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1064: + case 1066: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5505 +//line sql.y:5518 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1065: + case 1067: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*ColName -//line sql.y:5511 +//line sql.y:5524 { yyLOCAL = yyDollar[1].colNamesUnion() } yyVAL.union = yyLOCAL - case 1066: + case 1068: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*ColName -//line sql.y:5515 +//line sql.y:5528 { yyLOCAL = yyDollar[2].colNamesUnion() } yyVAL.union = yyLOCAL - case 1067: + case 1069: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*ColName -//line sql.y:5521 +//line sql.y:5534 { yyLOCAL = []*ColName{yyDollar[1].colNameUnion()} } yyVAL.union = yyLOCAL - case 1068: + case 1070: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5525 +//line sql.y:5538 { yySLICE := (*[]*ColName)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colNameUnion()) } - case 1069: + case 1071: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5531 +//line sql.y:5544 { yyLOCAL = BothTrimType } yyVAL.union = yyLOCAL - case 1070: + case 1072: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5535 +//line sql.y:5548 { yyLOCAL = LeadingTrimType } yyVAL.union = yyLOCAL - case 1071: + case 1073: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5539 +//line sql.y:5552 { yyLOCAL = TrailingTrimType } yyVAL.union = yyLOCAL - case 1072: + case 1074: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL FrameUnitType -//line sql.y:5545 +//line sql.y:5558 { yyLOCAL = FrameRowsType } yyVAL.union = yyLOCAL - case 1073: + case 1075: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL FrameUnitType -//line sql.y:5549 +//line sql.y:5562 { yyLOCAL = FrameRangeType } yyVAL.union = yyLOCAL - case 1074: + case 1076: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ArgumentLessWindowExprType -//line sql.y:5556 +//line sql.y:5569 { yyLOCAL = CumeDistExprType } yyVAL.union = yyLOCAL - case 1075: + case 1077: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ArgumentLessWindowExprType -//line sql.y:5560 +//line sql.y:5573 { yyLOCAL = DenseRankExprType } yyVAL.union = yyLOCAL - case 1076: + case 1078: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ArgumentLessWindowExprType -//line sql.y:5564 +//line sql.y:5577 { yyLOCAL = PercentRankExprType } yyVAL.union = yyLOCAL - case 1077: + case 1079: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ArgumentLessWindowExprType -//line sql.y:5568 +//line sql.y:5581 { yyLOCAL = RankExprType } yyVAL.union = yyLOCAL - case 1078: + case 1080: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ArgumentLessWindowExprType -//line sql.y:5572 +//line sql.y:5585 { yyLOCAL = RowNumberExprType } yyVAL.union = yyLOCAL - case 1079: + case 1081: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5578 +//line sql.y:5591 { yyLOCAL = &FramePoint{Type: CurrentRowType} } yyVAL.union = yyLOCAL - case 1080: + case 1082: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5582 +//line sql.y:5595 { yyLOCAL = &FramePoint{Type: UnboundedPrecedingType} } yyVAL.union = yyLOCAL - case 1081: + case 1083: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5586 +//line sql.y:5599 { yyLOCAL = &FramePoint{Type: UnboundedFollowingType} } yyVAL.union = yyLOCAL - case 1082: + case 1084: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5590 +//line sql.y:5603 { yyLOCAL = &FramePoint{Type: ExprPrecedingType, Expr: yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 1083: + case 1085: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5594 +//line sql.y:5607 { yyLOCAL = &FramePoint{Type: ExprPrecedingType, Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()} } yyVAL.union = yyLOCAL - case 1084: + case 1086: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5598 +//line sql.y:5611 { yyLOCAL = &FramePoint{Type: ExprFollowingType, Expr: yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 1085: + case 1087: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *FramePoint -//line sql.y:5602 +//line sql.y:5615 { yyLOCAL = &FramePoint{Type: ExprFollowingType, Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()} } yyVAL.union = yyLOCAL - case 1086: + case 1088: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *FrameClause -//line sql.y:5607 +//line sql.y:5620 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1087: + case 1089: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *FrameClause -//line sql.y:5611 +//line sql.y:5624 { yyLOCAL = yyDollar[1].frameClauseUnion() } yyVAL.union = yyLOCAL - case 1088: + case 1090: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *FrameClause -//line sql.y:5617 +//line sql.y:5630 { yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[2].framePointUnion()} } yyVAL.union = yyLOCAL - case 1089: + case 1091: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *FrameClause -//line sql.y:5621 +//line sql.y:5634 { yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[3].framePointUnion(), End: yyDollar[5].framePointUnion()} } yyVAL.union = yyLOCAL - case 1090: + case 1092: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:5626 +//line sql.y:5639 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1091: + case 1093: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Exprs -//line sql.y:5630 +//line sql.y:5643 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 1092: + case 1094: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5635 +//line sql.y:5648 { } - case 1093: + case 1095: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5638 +//line sql.y:5651 { yyVAL.identifierCI = yyDollar[1].identifierCI } - case 1094: + case 1096: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *WindowSpecification -//line sql.y:5644 +//line sql.y:5657 { yyLOCAL = &WindowSpecification{Name: yyDollar[1].identifierCI, PartitionClause: yyDollar[2].exprsUnion(), OrderClause: yyDollar[3].orderByUnion(), FrameClause: yyDollar[4].frameClauseUnion()} } yyVAL.union = yyLOCAL - case 1095: + case 1097: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *OverClause -//line sql.y:5650 +//line sql.y:5663 { yyLOCAL = &OverClause{WindowSpec: yyDollar[3].windowSpecificationUnion()} } yyVAL.union = yyLOCAL - case 1096: + case 1098: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *OverClause -//line sql.y:5654 +//line sql.y:5667 { yyLOCAL = &OverClause{WindowName: yyDollar[2].identifierCI} } yyVAL.union = yyLOCAL - case 1097: + case 1099: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *NullTreatmentClause -//line sql.y:5659 +//line sql.y:5672 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1099: + case 1101: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *NullTreatmentClause -//line sql.y:5666 +//line sql.y:5679 { yyLOCAL = &NullTreatmentClause{yyDollar[1].nullTreatmentTypeUnion()} } yyVAL.union = yyLOCAL - case 1100: + case 1102: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL NullTreatmentType -//line sql.y:5672 +//line sql.y:5685 { yyLOCAL = RespectNullsType } yyVAL.union = yyLOCAL - case 1101: + case 1103: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL NullTreatmentType -//line sql.y:5676 +//line sql.y:5689 { yyLOCAL = IgnoreNullsType } yyVAL.union = yyLOCAL - case 1102: + case 1104: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL FirstOrLastValueExprType -//line sql.y:5682 +//line sql.y:5695 { yyLOCAL = FirstValueExprType } yyVAL.union = yyLOCAL - case 1103: + case 1105: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL FirstOrLastValueExprType -//line sql.y:5686 +//line sql.y:5699 { yyLOCAL = LastValueExprType } yyVAL.union = yyLOCAL - case 1104: + case 1106: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL FromFirstLastType -//line sql.y:5692 +//line sql.y:5705 { yyLOCAL = FromFirstType } yyVAL.union = yyLOCAL - case 1105: + case 1107: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL FromFirstLastType -//line sql.y:5696 +//line sql.y:5709 { yyLOCAL = FromLastType } yyVAL.union = yyLOCAL - case 1106: + case 1108: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *FromFirstLastClause -//line sql.y:5701 +//line sql.y:5714 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1108: + case 1110: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *FromFirstLastClause -//line sql.y:5708 +//line sql.y:5721 { yyLOCAL = &FromFirstLastClause{yyDollar[1].fromFirstLastTypeUnion()} } yyVAL.union = yyLOCAL - case 1109: + case 1111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LagLeadExprType -//line sql.y:5714 +//line sql.y:5727 { yyLOCAL = LagExprType } yyVAL.union = yyLOCAL - case 1110: + case 1112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LagLeadExprType -//line sql.y:5718 +//line sql.y:5731 { yyLOCAL = LeadExprType } yyVAL.union = yyLOCAL - case 1111: + case 1113: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *WindowDefinition -//line sql.y:5724 +//line sql.y:5737 { yyLOCAL = &WindowDefinition{Name: yyDollar[1].identifierCI, WindowSpec: yyDollar[4].windowSpecificationUnion()} } yyVAL.union = yyLOCAL - case 1112: + case 1114: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL WindowDefinitions -//line sql.y:5730 +//line sql.y:5743 { yyLOCAL = WindowDefinitions{yyDollar[1].windowDefinitionUnion()} } yyVAL.union = yyLOCAL - case 1113: + case 1115: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5734 +//line sql.y:5747 { yySLICE := (*WindowDefinitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].windowDefinitionUnion()) } - case 1114: + case 1116: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5740 +//line sql.y:5753 { yyVAL.str = "" } - case 1115: + case 1117: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5744 +//line sql.y:5757 { yyVAL.str = string(yyDollar[2].identifierCI.String()) } - case 1116: + case 1118: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5750 +//line sql.y:5763 { yyLOCAL = BoolVal(true) } yyVAL.union = yyLOCAL - case 1117: + case 1119: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5754 +//line sql.y:5767 { yyLOCAL = BoolVal(false) } yyVAL.union = yyLOCAL - case 1118: + case 1120: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5761 +//line sql.y:5774 { yyLOCAL = IsTrueOp } yyVAL.union = yyLOCAL - case 1119: + case 1121: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5765 +//line sql.y:5778 { yyLOCAL = IsNotTrueOp } yyVAL.union = yyLOCAL - case 1120: + case 1122: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5769 +//line sql.y:5782 { yyLOCAL = IsFalseOp } yyVAL.union = yyLOCAL - case 1121: + case 1123: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5773 +//line sql.y:5786 { yyLOCAL = IsNotFalseOp } yyVAL.union = yyLOCAL - case 1122: + case 1124: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5779 +//line sql.y:5792 { yyLOCAL = EqualOp } yyVAL.union = yyLOCAL - case 1123: + case 1125: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5783 +//line sql.y:5796 { yyLOCAL = LessThanOp } yyVAL.union = yyLOCAL - case 1124: + case 1126: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5787 +//line sql.y:5800 { yyLOCAL = GreaterThanOp } yyVAL.union = yyLOCAL - case 1125: + case 1127: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5791 +//line sql.y:5804 { yyLOCAL = LessEqualOp } yyVAL.union = yyLOCAL - case 1126: + case 1128: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5795 +//line sql.y:5808 { yyLOCAL = GreaterEqualOp } yyVAL.union = yyLOCAL - case 1127: + case 1129: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5799 +//line sql.y:5812 { yyLOCAL = NotEqualOp } yyVAL.union = yyLOCAL - case 1128: + case 1130: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5803 +//line sql.y:5816 { yyLOCAL = NullSafeEqualOp } yyVAL.union = yyLOCAL - case 1129: + case 1131: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5809 +//line sql.y:5822 { yyLOCAL = yyDollar[1].valTupleUnion() } yyVAL.union = yyLOCAL - case 1130: + case 1132: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5813 +//line sql.y:5826 { yyLOCAL = yyDollar[1].subqueryUnion() } yyVAL.union = yyLOCAL - case 1131: + case 1133: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5817 +//line sql.y:5830 { yyLOCAL = ListArg(yyDollar[1].str[2:]) markBindVariable(yylex, yyDollar[1].str[2:]) } yyVAL.union = yyLOCAL - case 1132: + case 1134: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Subquery -//line sql.y:5824 +//line sql.y:5837 { yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1133: + case 1135: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:5830 +//line sql.y:5843 { yyLOCAL = Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 1134: + case 1136: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5834 +//line sql.y:5847 { yySLICE := (*Exprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].exprUnion()) } - case 1135: + case 1137: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5844 +//line sql.y:5857 { yyLOCAL = &FuncExpr{Name: yyDollar[1].identifierCI, Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1136: + case 1138: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5848 +//line sql.y:5861 { yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCI, Exprs: yyDollar[5].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1137: + case 1139: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5858 +//line sql.y:5871 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("left"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1138: + case 1140: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5862 +//line sql.y:5875 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("right"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1139: + case 1141: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5866 +//line sql.y:5879 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1140: + case 1142: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5870 +//line sql.y:5883 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1141: + case 1143: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5874 +//line sql.y:5887 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1142: + case 1144: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5878 +//line sql.y:5891 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1143: + case 1145: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5882 +//line sql.y:5895 { yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1144: + case 1146: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5886 +//line sql.y:5899 { yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} } yyVAL.union = yyLOCAL - case 1145: + case 1147: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:5890 +//line sql.y:5903 { yyLOCAL = &InsertExpr{Str: yyDollar[3].exprUnion(), Pos: yyDollar[5].exprUnion(), Len: yyDollar[7].exprUnion(), NewStr: yyDollar[9].exprUnion()} } yyVAL.union = yyLOCAL - case 1146: + case 1148: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5894 +//line sql.y:5907 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1147: + case 1149: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5905 +//line sql.y:5918 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("utc_date")} } yyVAL.union = yyLOCAL - case 1148: + case 1150: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5909 +//line sql.y:5922 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1149: + case 1151: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5915 +//line sql.y:5928 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("current_date")} } yyVAL.union = yyLOCAL - case 1150: + case 1152: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5919 +//line sql.y:5932 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("curdate")} } yyVAL.union = yyLOCAL - case 1151: + case 1153: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5923 +//line sql.y:5936 { yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_time"), Fsp: yyDollar[2].integerUnion()} } yyVAL.union = yyLOCAL - case 1152: + case 1154: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5928 +//line sql.y:5941 { yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("curtime"), Fsp: yyDollar[2].integerUnion()} } yyVAL.union = yyLOCAL - case 1153: + case 1155: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5933 +//line sql.y:5946 { yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_time"), Fsp: yyDollar[2].integerUnion()} } yyVAL.union = yyLOCAL - case 1154: + case 1156: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5937 +//line sql.y:5950 { yyLOCAL = &CountStar{} } yyVAL.union = yyLOCAL - case 1155: + case 1157: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5941 +//line sql.y:5954 { yyLOCAL = &Count{Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL - case 1156: + case 1158: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5945 +//line sql.y:5958 { yyLOCAL = &Max{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1157: + case 1159: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5949 +//line sql.y:5962 { yyLOCAL = &Min{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1158: + case 1160: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5953 +//line sql.y:5966 { yyLOCAL = &Sum{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1159: + case 1161: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5957 +//line sql.y:5970 { yyLOCAL = &Avg{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1160: + case 1162: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5961 +//line sql.y:5974 { yyLOCAL = &BitAnd{Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1161: + case 1163: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5965 +//line sql.y:5978 { yyLOCAL = &BitOr{Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1162: + case 1164: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5969 +//line sql.y:5982 { yyLOCAL = &BitXor{Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1163: + case 1165: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5973 +//line sql.y:5986 { yyLOCAL = &Std{Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1164: + case 1166: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5977 +//line sql.y:5990 { yyLOCAL = &StdDev{Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1165: + case 1167: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5981 +//line sql.y:5994 { yyLOCAL = &StdPop{Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1166: + case 1168: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5985 +//line sql.y:5998 { yyLOCAL = &StdSamp{Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1167: + case 1169: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5989 +//line sql.y:6002 { yyLOCAL = &VarPop{Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1168: + case 1170: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5993 +//line sql.y:6006 { yyLOCAL = &VarSamp{Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1169: + case 1171: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5997 +//line sql.y:6010 { yyLOCAL = &Variance{Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1170: + case 1172: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6001 +//line sql.y:6014 { yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].exprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} } yyVAL.union = yyLOCAL - case 1171: + case 1173: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6005 +//line sql.y:6018 { yyLOCAL = &AnyValue{Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1172: + case 1174: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6009 +//line sql.y:6022 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprTimestampadd, Date: yyDollar[7].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()} } yyVAL.union = yyLOCAL - case 1173: + case 1175: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6013 +//line sql.y:6026 { yyLOCAL = &TimestampDiffExpr{Unit: yyDollar[3].intervalTypeUnion(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1174: + case 1176: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6017 +//line sql.y:6030 { yyLOCAL = &ExtractFuncExpr{IntervalType: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1175: + case 1177: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6021 +//line sql.y:6034 { yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1176: + case 1178: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6025 +//line sql.y:6038 { yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1177: + case 1179: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6029 +//line sql.y:6042 { yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1178: + case 1180: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6033 +//line sql.y:6046 { yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1179: + case 1181: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6037 +//line sql.y:6050 { yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, Type: LeadingTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1180: + case 1182: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6041 +//line sql.y:6054 { yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, Type: TrailingTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1181: + case 1183: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:6045 +//line sql.y:6058 { yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 1182: + case 1184: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6049 +//line sql.y:6062 { yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1183: + case 1185: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6053 +//line sql.y:6066 { yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1184: + case 1186: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6057 +//line sql.y:6070 { yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion(), Charset: yyDollar[5].str} } yyVAL.union = yyLOCAL - case 1185: + case 1187: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6061 +//line sql.y:6074 { yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1186: + case 1188: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6065 +//line sql.y:6078 { yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1187: + case 1189: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6069 +//line sql.y:6082 { yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion(), Pos: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1188: + case 1190: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6073 +//line sql.y:6086 { yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1189: + case 1191: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6077 +//line sql.y:6090 { yyLOCAL = &LockingFunc{Type: GetLock, Name: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1190: + case 1192: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6081 +//line sql.y:6094 { yyLOCAL = &LockingFunc{Type: IsFreeLock, Name: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1191: + case 1193: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6085 +//line sql.y:6098 { yyLOCAL = &LockingFunc{Type: IsUsedLock, Name: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1192: + case 1194: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:6089 +//line sql.y:6102 { yyLOCAL = &LockingFunc{Type: ReleaseAllLocks} } yyVAL.union = yyLOCAL - case 1193: + case 1195: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6093 +//line sql.y:6106 { yyLOCAL = &LockingFunc{Type: ReleaseLock, Name: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1194: + case 1196: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6097 +//line sql.y:6110 { yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1195: + case 1197: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6101 +//line sql.y:6114 { yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1196: + case 1198: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6105 +//line sql.y:6118 { yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1197: + case 1199: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6109 +//line sql.y:6122 { yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1198: + case 1200: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6113 +//line sql.y:6126 { yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1199: + case 1201: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6117 +//line sql.y:6130 { yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1200: + case 1202: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6121 +//line sql.y:6134 { yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1201: + case 1203: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6125 +//line sql.y:6138 { yyLOCAL = &GeomPropertyFuncExpr{Property: IsEmpty, Geom: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1202: + case 1204: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6129 +//line sql.y:6142 { yyLOCAL = &GeomPropertyFuncExpr{Property: IsSimple, Geom: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1203: + case 1205: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6133 +//line sql.y:6146 { yyLOCAL = &GeomPropertyFuncExpr{Property: Dimension, Geom: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1204: + case 1206: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6137 +//line sql.y:6150 { yyLOCAL = &GeomPropertyFuncExpr{Property: Envelope, Geom: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1205: + case 1207: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6141 +//line sql.y:6154 { yyLOCAL = &GeomPropertyFuncExpr{Property: GeometryType, Geom: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1206: + case 1208: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6145 +//line sql.y:6158 { yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1207: + case 1209: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6149 +//line sql.y:6162 { yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1208: + case 1210: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6153 +//line sql.y:6166 { yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1209: + case 1211: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6157 +//line sql.y:6170 { yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1210: + case 1212: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6161 +//line sql.y:6174 { yyLOCAL = &LinestrPropertyFuncExpr{Property: EndPoint, Linestring: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1211: + case 1213: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6165 +//line sql.y:6178 { yyLOCAL = &LinestrPropertyFuncExpr{Property: IsClosed, Linestring: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1212: + case 1214: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6169 +//line sql.y:6182 { yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1213: + case 1215: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6173 +//line sql.y:6186 { yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1214: + case 1216: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6177 +//line sql.y:6190 { yyLOCAL = &LinestrPropertyFuncExpr{Property: NumPoints, Linestring: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1215: + case 1217: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6181 +//line sql.y:6194 { yyLOCAL = &LinestrPropertyFuncExpr{Property: PointN, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1216: + case 1218: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6185 +//line sql.y:6198 { yyLOCAL = &LinestrPropertyFuncExpr{Property: StartPoint, Linestring: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1217: + case 1219: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6189 +//line sql.y:6202 { yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1218: + case 1220: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6193 +//line sql.y:6206 { yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1219: + case 1221: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6197 +//line sql.y:6210 { yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1220: + case 1222: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6201 +//line sql.y:6214 { yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1221: + case 1223: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6205 +//line sql.y:6218 { yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1222: + case 1224: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6209 +//line sql.y:6222 { yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1223: + case 1225: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6213 +//line sql.y:6226 { yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1224: + case 1226: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6217 +//line sql.y:6230 { yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1225: + case 1227: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6221 +//line sql.y:6234 { yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1226: + case 1228: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6225 +//line sql.y:6238 { yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1227: + case 1229: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6229 +//line sql.y:6242 { yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1228: + case 1230: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6233 +//line sql.y:6246 { yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1229: + case 1231: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6237 +//line sql.y:6250 { yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1230: + case 1232: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6241 +//line sql.y:6254 { yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1231: + case 1233: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6245 +//line sql.y:6258 { yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1232: + case 1234: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6249 +//line sql.y:6262 { yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1233: + case 1235: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6253 +//line sql.y:6266 { yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1234: + case 1236: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6257 +//line sql.y:6270 { yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1235: + case 1237: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6261 +//line sql.y:6274 { yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1236: + case 1238: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6265 +//line sql.y:6278 { yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1237: + case 1239: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6269 +//line sql.y:6282 { yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1238: + case 1240: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6273 +//line sql.y:6286 { yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1239: + case 1241: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6277 +//line sql.y:6290 { yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1240: + case 1242: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6281 +//line sql.y:6294 { yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1241: + case 1243: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6285 +//line sql.y:6298 { yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1242: + case 1244: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6289 +//line sql.y:6302 { yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1243: + case 1245: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6293 +//line sql.y:6306 { yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1244: + case 1246: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6297 +//line sql.y:6310 { yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1245: + case 1247: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6301 +//line sql.y:6314 { yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1246: + case 1248: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6305 +//line sql.y:6318 { yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1247: + case 1249: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6309 +//line sql.y:6322 { yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1248: + case 1250: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6313 +//line sql.y:6326 { yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1249: + case 1251: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6317 +//line sql.y:6330 { yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1250: + case 1252: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6321 +//line sql.y:6334 { yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1251: + case 1253: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6325 +//line sql.y:6338 { yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1252: + case 1254: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6329 +//line sql.y:6342 { yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1253: + case 1255: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6333 +//line sql.y:6346 { yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1254: + case 1256: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6337 +//line sql.y:6350 { yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1255: + case 1257: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6341 +//line sql.y:6354 { yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1256: + case 1258: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6345 +//line sql.y:6358 { yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1257: + case 1259: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6349 +//line sql.y:6362 { yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1258: + case 1260: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6353 +//line sql.y:6366 { yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1259: + case 1261: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6357 +//line sql.y:6370 { yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1260: + case 1262: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6361 +//line sql.y:6374 { yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1261: + case 1263: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6365 +//line sql.y:6378 { yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1262: + case 1264: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6369 +//line sql.y:6382 { yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1263: + case 1265: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6373 +//line sql.y:6386 { yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1264: + case 1266: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6377 +//line sql.y:6390 { yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1265: + case 1267: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6381 +//line sql.y:6394 { yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1266: + case 1268: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6385 +//line sql.y:6398 { yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1267: + case 1269: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6389 +//line sql.y:6402 { yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1268: + case 1270: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6393 +//line sql.y:6406 { yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1269: + case 1271: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6397 +//line sql.y:6410 { yyLOCAL = &PolygonPropertyFuncExpr{Property: Area, Polygon: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1270: + case 1272: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6401 +//line sql.y:6414 { yyLOCAL = &PolygonPropertyFuncExpr{Property: Centroid, Polygon: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1271: + case 1273: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6405 +//line sql.y:6418 { yyLOCAL = &PolygonPropertyFuncExpr{Property: ExteriorRing, Polygon: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1272: + case 1274: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6409 +//line sql.y:6422 { yyLOCAL = &PolygonPropertyFuncExpr{Property: InteriorRingN, Polygon: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1273: + case 1275: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6413 +//line sql.y:6426 { yyLOCAL = &PolygonPropertyFuncExpr{Property: NumInteriorRings, Polygon: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1274: + case 1276: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6417 +//line sql.y:6430 { yyLOCAL = &GeomCollPropertyFuncExpr{Property: GeometryN, GeomColl: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1275: + case 1277: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6421 +//line sql.y:6434 { yyLOCAL = &GeomCollPropertyFuncExpr{Property: NumGeometries, GeomColl: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1276: + case 1278: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6425 +//line sql.y:6438 { yyLOCAL = &GeoHashFromLatLongExpr{Longitude: yyDollar[3].exprUnion(), Latitude: yyDollar[5].exprUnion(), MaxLength: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1277: + case 1279: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6429 +//line sql.y:6442 { yyLOCAL = &GeoHashFromPointExpr{Point: yyDollar[3].exprUnion(), MaxLength: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1278: + case 1280: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6433 +//line sql.y:6446 { yyLOCAL = &GeomFromGeoHashExpr{GeomType: LatitudeFromHash, GeoHash: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1279: + case 1281: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6437 +//line sql.y:6450 { yyLOCAL = &GeomFromGeoHashExpr{GeomType: LongitudeFromHash, GeoHash: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1280: + case 1282: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6441 +//line sql.y:6454 { yyLOCAL = &GeomFromGeoHashExpr{GeomType: PointFromHash, GeoHash: yyDollar[3].exprUnion(), SridOpt: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1281: + case 1283: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6445 +//line sql.y:6458 { yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1282: + case 1284: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6449 +//line sql.y:6462 { yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1283: + case 1285: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6453 +//line sql.y:6466 { yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion(), Srid: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1284: + case 1286: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6457 +//line sql.y:6470 { yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1285: + case 1287: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6461 +//line sql.y:6474 { yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1286: + case 1288: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6465 +//line sql.y:6478 { yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion(), Bitmask: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1287: + case 1289: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6469 +//line sql.y:6482 { yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1288: + case 1290: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6473 +//line sql.y:6486 { yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1289: + case 1291: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6477 +//line sql.y:6490 { yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprsUnion()[0], PathList: yyDollar[5].exprsUnion()[1:]} } yyVAL.union = yyLOCAL - case 1290: + case 1292: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6481 +//line sql.y:6494 { yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].exprsUnion()} } yyVAL.union = yyLOCAL - case 1291: + case 1293: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6485 +//line sql.y:6498 { yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1292: + case 1294: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6489 +//line sql.y:6502 { yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1293: + case 1295: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6493 +//line sql.y:6506 { yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1294: + case 1296: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6497 +//line sql.y:6510 { yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1295: + case 1297: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6501 +//line sql.y:6514 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1296: + case 1298: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:6505 +//line sql.y:6518 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprsUnion()[0], PathList: yyDollar[9].exprsUnion()[1:]} } yyVAL.union = yyLOCAL - case 1297: + case 1299: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:6509 +//line sql.y:6522 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1298: + case 1300: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6513 +//line sql.y:6526 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1299: + case 1301: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6517 +//line sql.y:6530 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1300: + case 1302: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:6521 +//line sql.y:6534 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1301: + case 1303: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6525 +//line sql.y:6538 { yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1302: + case 1304: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6529 +//line sql.y:6542 { yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1303: + case 1305: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6533 +//line sql.y:6546 { yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1304: + case 1306: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6537 +//line sql.y:6550 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1305: + case 1307: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6541 +//line sql.y:6554 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1306: + case 1308: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6545 +//line sql.y:6558 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1307: + case 1309: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6549 +//line sql.y:6562 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1308: + case 1310: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6553 +//line sql.y:6566 { yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1309: + case 1311: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6557 +//line sql.y:6570 { yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1310: + case 1312: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6561 +//line sql.y:6574 { yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1311: + case 1313: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6565 +//line sql.y:6578 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1312: + case 1314: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6569 +//line sql.y:6582 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1313: + case 1315: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6573 +//line sql.y:6586 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1314: + case 1316: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6577 +//line sql.y:6590 { yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1315: + case 1317: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6581 +//line sql.y:6594 { yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1316: + case 1318: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6585 +//line sql.y:6598 { yyLOCAL = &MultiPolygonExpr{PolygonParams: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1317: + case 1319: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6589 +//line sql.y:6602 { yyLOCAL = &MultiPointExpr{PointParams: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1318: + case 1320: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6593 +//line sql.y:6606 { yyLOCAL = &MultiLinestringExpr{LinestringParams: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1319: + case 1321: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6597 +//line sql.y:6610 { yyLOCAL = &PolygonExpr{LinestringParams: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1320: + case 1322: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6601 +//line sql.y:6614 { yyLOCAL = &LineStringExpr{PointParams: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1321: + case 1323: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6605 +//line sql.y:6618 { yyLOCAL = &PointExpr{XCordinate: yyDollar[3].exprUnion(), YCordinate: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1322: + case 1324: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6609 +//line sql.y:6622 { yyLOCAL = &ArgumentLessWindowExpr{Type: yyDollar[1].argumentLessWindowExprTypeUnion(), OverClause: yyDollar[4].overClauseUnion()} } yyVAL.union = yyLOCAL - case 1323: + case 1325: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6613 +//line sql.y:6626 { yyLOCAL = &FirstOrLastValueExpr{Type: yyDollar[1].firstOrLastValueExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()} } yyVAL.union = yyLOCAL - case 1324: + case 1326: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:6617 +//line sql.y:6630 { yyLOCAL = &NtileExpr{N: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} } yyVAL.union = yyLOCAL - case 1325: + case 1327: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:6621 +//line sql.y:6634 { yyLOCAL = &NTHValueExpr{Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), FromFirstLastClause: yyDollar[7].fromFirstLastClauseUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()} } yyVAL.union = yyLOCAL - case 1326: + case 1328: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6625 +//line sql.y:6638 { yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()} } yyVAL.union = yyLOCAL - case 1327: + case 1329: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:6629 +//line sql.y:6642 { yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), Default: yyDollar[6].exprUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()} } yyVAL.union = yyLOCAL - case 1328: + case 1330: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6633 +//line sql.y:6646 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} } yyVAL.union = yyLOCAL - case 1329: + case 1331: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6637 +//line sql.y:6650 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: IntervalNone} } yyVAL.union = yyLOCAL - case 1330: + case 1332: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6641 +//line sql.y:6654 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprDateAdd, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} } yyVAL.union = yyLOCAL - case 1331: + case 1333: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6645 +//line sql.y:6658 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprDateSub, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} } yyVAL.union = yyLOCAL - case 1332: + case 1334: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6649 +//line sql.y:6662 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()} } yyVAL.union = yyLOCAL - case 1333: + case 1335: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6653 +//line sql.y:6666 { yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: IntervalNone} } yyVAL.union = yyLOCAL - case 1338: + case 1340: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6663 +//line sql.y:6676 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1339: + case 1341: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6667 +//line sql.y:6680 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1340: + case 1342: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6671 +//line sql.y:6684 { yyLOCAL = yyDollar[1].variableUnion() } yyVAL.union = yyLOCAL - case 1341: + case 1343: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6675 +//line sql.y:6688 { yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:]) } yyVAL.union = yyLOCAL - case 1342: + case 1344: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:6680 +//line sql.y:6693 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1343: + case 1345: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6684 +//line sql.y:6697 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1344: + case 1346: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6690 +//line sql.y:6703 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1345: + case 1347: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6694 +//line sql.y:6707 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1346: + case 1348: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:6698 +//line sql.y:6711 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()} } yyVAL.union = yyLOCAL - case 1347: + case 1349: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Expr -//line sql.y:6702 +//line sql.y:6715 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion()} } yyVAL.union = yyLOCAL - case 1348: + case 1350: yyDollar = yyS[yypt-14 : yypt+1] var yyLOCAL Expr -//line sql.y:6706 +//line sql.y:6719 { // Match type is kept expression as TRIM( ' m ') is accepted yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()} } yyVAL.union = yyLOCAL - case 1349: + case 1351: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6711 +//line sql.y:6724 { yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1350: + case 1352: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6715 +//line sql.y:6728 { yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), MatchType: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1351: + case 1353: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6719 +//line sql.y:6732 { yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1352: + case 1354: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:6723 +//line sql.y:6736 { yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion()} } yyVAL.union = yyLOCAL - case 1353: + case 1355: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Expr -//line sql.y:6727 +//line sql.y:6740 { yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion()} } yyVAL.union = yyLOCAL - case 1354: + case 1356: yyDollar = yyS[yypt-14 : yypt+1] var yyLOCAL Expr -//line sql.y:6731 +//line sql.y:6744 { // Match type is kept expression as TRIM( ' m ') is accepted yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()} } yyVAL.union = yyLOCAL - case 1355: + case 1357: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6736 +//line sql.y:6749 { yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1356: + case 1358: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6740 +//line sql.y:6753 { yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1357: + case 1359: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:6744 +//line sql.y:6757 { yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()} } yyVAL.union = yyLOCAL - case 1358: + case 1360: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Expr -//line sql.y:6748 +//line sql.y:6761 { // Match type is kept expression as TRIM( ' m ') is accepted yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), MatchType: yyDollar[11].exprUnion()} } yyVAL.union = yyLOCAL - case 1359: + case 1361: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6755 +//line sql.y:6768 { yyLOCAL = &ExtractValueExpr{Fragment: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1360: + case 1362: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6759 +//line sql.y:6772 { yyLOCAL = &UpdateXMLExpr{Target: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion(), NewXML: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1361: + case 1363: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6765 +//line sql.y:6778 { yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatBytesType, Argument: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1362: + case 1364: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6769 +//line sql.y:6782 { yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatPicoTimeType, Argument: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1363: + case 1365: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:6773 +//line sql.y:6786 { yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsCurrentThreadIDType} } yyVAL.union = yyLOCAL - case 1364: + case 1366: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6777 +//line sql.y:6790 { yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsThreadIDType, Argument: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1365: + case 1367: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6783 +//line sql.y:6796 { yyLOCAL = >IDFuncExpr{Type: GTIDSubsetType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1366: + case 1368: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6787 +//line sql.y:6800 { yyLOCAL = >IDFuncExpr{Type: GTIDSubtractType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1367: + case 1369: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6791 +//line sql.y:6804 { yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1368: + case 1370: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6795 +//line sql.y:6808 { yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1369: + case 1371: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6799 +//line sql.y:6812 { yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1370: + case 1372: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:6803 +//line sql.y:6816 { yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1371: + case 1373: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:6807 +//line sql.y:6820 { yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion(), Channel: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1372: + case 1374: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6812 +//line sql.y:6825 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1373: + case 1375: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6816 +//line sql.y:6829 { yyLOCAL = yyDollar[2].convertTypeUnion() } yyVAL.union = yyLOCAL - case 1374: + case 1376: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6822 +//line sql.y:6835 { yyLOCAL = IntervalDayHour } yyVAL.union = yyLOCAL - case 1375: + case 1377: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6826 +//line sql.y:6839 { yyLOCAL = IntervalDayMicrosecond } yyVAL.union = yyLOCAL - case 1376: + case 1378: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6830 +//line sql.y:6843 { yyLOCAL = IntervalDayMinute } yyVAL.union = yyLOCAL - case 1377: + case 1379: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6834 +//line sql.y:6847 { yyLOCAL = IntervalDaySecond } yyVAL.union = yyLOCAL - case 1378: + case 1380: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6838 +//line sql.y:6851 { yyLOCAL = IntervalHourMicrosecond } yyVAL.union = yyLOCAL - case 1379: + case 1381: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6842 +//line sql.y:6855 { yyLOCAL = IntervalHourMinute } yyVAL.union = yyLOCAL - case 1380: + case 1382: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6846 +//line sql.y:6859 { yyLOCAL = IntervalHourSecond } yyVAL.union = yyLOCAL - case 1381: + case 1383: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6850 +//line sql.y:6863 { yyLOCAL = IntervalMinuteMicrosecond } yyVAL.union = yyLOCAL - case 1382: + case 1384: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6854 +//line sql.y:6867 { yyLOCAL = IntervalMinuteSecond } yyVAL.union = yyLOCAL - case 1383: + case 1385: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6858 +//line sql.y:6871 { yyLOCAL = IntervalSecondMicrosecond } yyVAL.union = yyLOCAL - case 1384: + case 1386: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6862 +//line sql.y:6875 { yyLOCAL = IntervalYearMonth } yyVAL.union = yyLOCAL - case 1385: + case 1387: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6866 +//line sql.y:6879 { yyLOCAL = IntervalDay } yyVAL.union = yyLOCAL - case 1386: + case 1388: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6870 +//line sql.y:6883 { yyLOCAL = IntervalWeek } yyVAL.union = yyLOCAL - case 1387: + case 1389: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6874 +//line sql.y:6887 { yyLOCAL = IntervalHour } yyVAL.union = yyLOCAL - case 1388: + case 1390: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6878 +//line sql.y:6891 { yyLOCAL = IntervalMinute } yyVAL.union = yyLOCAL - case 1389: + case 1391: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6882 +//line sql.y:6895 { yyLOCAL = IntervalMonth } yyVAL.union = yyLOCAL - case 1390: + case 1392: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6886 +//line sql.y:6899 { yyLOCAL = IntervalQuarter } yyVAL.union = yyLOCAL - case 1391: + case 1393: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6890 +//line sql.y:6903 { yyLOCAL = IntervalSecond } yyVAL.union = yyLOCAL - case 1392: + case 1394: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6894 +//line sql.y:6907 { yyLOCAL = IntervalMicrosecond } yyVAL.union = yyLOCAL - case 1393: + case 1395: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6898 +//line sql.y:6911 { yyLOCAL = IntervalYear } yyVAL.union = yyLOCAL - case 1394: + case 1396: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6904 +//line sql.y:6917 { yyLOCAL = IntervalDay } yyVAL.union = yyLOCAL - case 1395: + case 1397: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6908 +//line sql.y:6921 { yyLOCAL = IntervalWeek } yyVAL.union = yyLOCAL - case 1396: + case 1398: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6912 +//line sql.y:6925 { yyLOCAL = IntervalHour } yyVAL.union = yyLOCAL - case 1397: + case 1399: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6916 +//line sql.y:6929 { yyLOCAL = IntervalMinute } yyVAL.union = yyLOCAL - case 1398: + case 1400: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6920 +//line sql.y:6933 { yyLOCAL = IntervalMonth } yyVAL.union = yyLOCAL - case 1399: + case 1401: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6924 +//line sql.y:6937 { yyLOCAL = IntervalQuarter } yyVAL.union = yyLOCAL - case 1400: + case 1402: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6928 +//line sql.y:6941 { yyLOCAL = IntervalSecond } yyVAL.union = yyLOCAL - case 1401: + case 1403: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6932 +//line sql.y:6945 { yyLOCAL = IntervalMicrosecond } yyVAL.union = yyLOCAL - case 1402: + case 1404: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6936 +//line sql.y:6949 { yyLOCAL = IntervalYear } yyVAL.union = yyLOCAL - case 1403: + case 1405: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6940 +//line sql.y:6953 { yyLOCAL = IntervalDay } yyVAL.union = yyLOCAL - case 1404: + case 1406: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6944 +//line sql.y:6957 { yyLOCAL = IntervalWeek } yyVAL.union = yyLOCAL - case 1405: + case 1407: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6948 +//line sql.y:6961 { yyLOCAL = IntervalHour } yyVAL.union = yyLOCAL - case 1406: + case 1408: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6952 +//line sql.y:6965 { yyLOCAL = IntervalMinute } yyVAL.union = yyLOCAL - case 1407: + case 1409: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6956 +//line sql.y:6969 { yyLOCAL = IntervalMonth } yyVAL.union = yyLOCAL - case 1408: + case 1410: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6960 +//line sql.y:6973 { yyLOCAL = IntervalQuarter } yyVAL.union = yyLOCAL - case 1409: + case 1411: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6964 +//line sql.y:6977 { yyLOCAL = IntervalSecond } yyVAL.union = yyLOCAL - case 1410: + case 1412: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6968 +//line sql.y:6981 { yyLOCAL = IntervalMicrosecond } yyVAL.union = yyLOCAL - case 1411: + case 1413: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalType -//line sql.y:6972 +//line sql.y:6985 { yyLOCAL = IntervalYear } yyVAL.union = yyLOCAL - case 1414: + case 1416: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:6982 +//line sql.y:6995 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 1415: + case 1417: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:6986 +//line sql.y:6999 { yyLOCAL = 0 } yyVAL.union = yyLOCAL - case 1416: + case 1418: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:6990 +//line sql.y:7003 { yyLOCAL = convertStringToInt(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 1417: + case 1419: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:7000 +//line sql.y:7013 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("if"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1418: + case 1420: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:7004 +//line sql.y:7017 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("database"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1419: + case 1421: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:7008 +//line sql.y:7021 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("schema"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1420: + case 1422: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:7012 +//line sql.y:7025 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("mod"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1421: + case 1423: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:7016 +//line sql.y:7029 { yyLOCAL = &FuncExpr{Name: NewIdentifierCI("replace"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1422: + case 1424: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:7022 +//line sql.y:7035 { yyLOCAL = NoOption } yyVAL.union = yyLOCAL - case 1423: + case 1425: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:7026 +//line sql.y:7039 { yyLOCAL = BooleanModeOpt } yyVAL.union = yyLOCAL - case 1424: + case 1426: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:7030 +//line sql.y:7043 { yyLOCAL = NaturalLanguageModeOpt } yyVAL.union = yyLOCAL - case 1425: + case 1427: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:7034 +//line sql.y:7047 { yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt } yyVAL.union = yyLOCAL - case 1426: + case 1428: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:7038 +//line sql.y:7051 { yyLOCAL = QueryExpansionOpt } yyVAL.union = yyLOCAL - case 1427: + case 1429: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7044 +//line sql.y:7057 { yyVAL.str = string(yyDollar[1].identifierCI.String()) } - case 1428: + case 1430: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7048 +//line sql.y:7061 { yyVAL.str = string(yyDollar[1].str) } - case 1429: + case 1431: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7052 +//line sql.y:7065 { yyVAL.str = string(yyDollar[1].str) } - case 1430: + case 1432: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7058 +//line sql.y:7071 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1431: + case 1433: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7062 +//line sql.y:7075 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1432: + case 1434: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7066 +//line sql.y:7079 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1433: + case 1435: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7072 +//line sql.y:7085 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1434: + case 1436: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7076 +//line sql.y:7089 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } yyVAL.union = yyLOCAL - case 1435: + case 1437: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7080 +//line sql.y:7093 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1436: + case 1438: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7084 +//line sql.y:7097 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1437: + case 1439: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7088 +//line sql.y:7101 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale } yyVAL.union = yyLOCAL - case 1438: + case 1440: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7094 +//line sql.y:7107 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1439: + case 1441: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7098 +//line sql.y:7111 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1440: + case 1442: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7102 +//line sql.y:7115 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1441: + case 1443: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7106 +//line sql.y:7119 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1442: + case 1444: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7110 +//line sql.y:7123 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1443: + case 1445: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7114 +//line sql.y:7127 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1444: + case 1446: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7118 +//line sql.y:7131 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1445: + case 1447: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7122 +//line sql.y:7135 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1446: + case 1448: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7126 +//line sql.y:7139 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1447: + case 1449: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:7130 +//line sql.y:7143 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1448: + case 1450: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:7136 +//line sql.y:7149 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1449: + case 1451: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:7140 +//line sql.y:7153 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1450: + case 1452: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:7145 +//line sql.y:7158 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1451: + case 1453: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7149 +//line sql.y:7162 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1452: + case 1454: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7154 +//line sql.y:7167 { yyVAL.str = string("") } - case 1453: + case 1455: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7158 +//line sql.y:7171 { yyVAL.str = encodeSQLString(yyDollar[2].str) } - case 1454: + case 1456: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*When -//line sql.y:7164 +//line sql.y:7177 { yyLOCAL = []*When{yyDollar[1].whenUnion()} } yyVAL.union = yyLOCAL - case 1455: + case 1457: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7168 +//line sql.y:7181 { yySLICE := (*[]*When)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].whenUnion()) } - case 1456: + case 1458: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *When -//line sql.y:7174 +//line sql.y:7187 { yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1457: + case 1459: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:7179 +//line sql.y:7192 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1458: + case 1460: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:7183 +//line sql.y:7196 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1459: + case 1461: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ColName -//line sql.y:7189 +//line sql.y:7202 { yyLOCAL = &ColName{Name: yyDollar[1].identifierCI} } yyVAL.union = yyLOCAL - case 1460: + case 1462: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ColName -//line sql.y:7193 +//line sql.y:7206 { yyLOCAL = &ColName{Name: NewIdentifierCI(string(yyDollar[1].str))} } yyVAL.union = yyLOCAL - case 1461: + case 1463: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColName -//line sql.y:7197 +//line sql.y:7210 { yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].identifierCS}, Name: yyDollar[3].identifierCI} } yyVAL.union = yyLOCAL - case 1462: + case 1464: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColName -//line sql.y:7201 +//line sql.y:7214 { yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}, Name: yyDollar[5].identifierCI} } yyVAL.union = yyLOCAL - case 1463: + case 1465: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7207 +//line sql.y:7220 { yyLOCAL = yyDollar[1].colNameUnion() } yyVAL.union = yyLOCAL - case 1464: + case 1466: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7211 +//line sql.y:7224 { yyLOCAL = &Offset{V: convertStringToInt(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1465: + case 1467: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7217 +//line sql.y:7230 { // TODO(sougou): Deprecate this construct. if yyDollar[1].identifierCI.Lowered() != "value" { @@ -21070,426 +21161,426 @@ yydefault: yyLOCAL = NewIntLiteral("1") } yyVAL.union = yyLOCAL - case 1466: + case 1468: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:7226 +//line sql.y:7239 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1467: + case 1469: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:7230 +//line sql.y:7243 { yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:]) } yyVAL.union = yyLOCAL - case 1468: + case 1470: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:7235 +//line sql.y:7248 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1469: + case 1471: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Exprs -//line sql.y:7239 +//line sql.y:7252 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 1470: + case 1472: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:7244 +//line sql.y:7257 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1471: + case 1473: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:7248 +//line sql.y:7261 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1472: + case 1474: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *NamedWindow -//line sql.y:7254 +//line sql.y:7267 { yyLOCAL = &NamedWindow{yyDollar[2].windowDefinitionsUnion()} } yyVAL.union = yyLOCAL - case 1473: + case 1475: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL NamedWindows -//line sql.y:7260 +//line sql.y:7273 { yyLOCAL = NamedWindows{yyDollar[1].namedWindowUnion()} } yyVAL.union = yyLOCAL - case 1474: + case 1476: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7264 +//line sql.y:7277 { yySLICE := (*NamedWindows)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].namedWindowUnion()) } - case 1475: + case 1477: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL NamedWindows -//line sql.y:7269 +//line sql.y:7282 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1476: + case 1478: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL NamedWindows -//line sql.y:7273 +//line sql.y:7286 { yyLOCAL = yyDollar[1].namedWindowsUnion() } yyVAL.union = yyLOCAL - case 1477: + case 1479: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderBy -//line sql.y:7278 +//line sql.y:7291 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1478: + case 1480: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:7282 +//line sql.y:7295 { yyLOCAL = yyDollar[1].orderByUnion() } yyVAL.union = yyLOCAL - case 1479: + case 1481: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL OrderBy -//line sql.y:7288 +//line sql.y:7301 { yyLOCAL = yyDollar[3].orderByUnion() } yyVAL.union = yyLOCAL - case 1480: + case 1482: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:7294 +//line sql.y:7307 { yyLOCAL = OrderBy{yyDollar[1].orderUnion()} } yyVAL.union = yyLOCAL - case 1481: + case 1483: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7298 +//line sql.y:7311 { yySLICE := (*OrderBy)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].orderUnion()) } - case 1482: + case 1484: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Order -//line sql.y:7304 +//line sql.y:7317 { yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()} } yyVAL.union = yyLOCAL - case 1483: + case 1485: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:7309 +//line sql.y:7322 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1484: + case 1486: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:7313 +//line sql.y:7326 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1485: + case 1487: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:7317 +//line sql.y:7330 { yyLOCAL = DescOrder } yyVAL.union = yyLOCAL - case 1486: + case 1488: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Limit -//line sql.y:7322 +//line sql.y:7335 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1487: + case 1489: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Limit -//line sql.y:7326 +//line sql.y:7339 { yyLOCAL = yyDollar[1].limitUnion() } yyVAL.union = yyLOCAL - case 1488: + case 1490: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Limit -//line sql.y:7332 +//line sql.y:7345 { yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1489: + case 1491: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:7336 +//line sql.y:7349 { yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1490: + case 1492: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:7340 +//line sql.y:7353 { yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1491: + case 1493: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:7345 +//line sql.y:7358 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1492: + case 1494: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:7349 +//line sql.y:7362 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1493: + case 1495: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:7353 +//line sql.y:7366 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1494: + case 1496: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:7357 +//line sql.y:7370 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1495: + case 1497: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:7361 +//line sql.y:7374 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1496: + case 1498: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7368 +//line sql.y:7381 { yyLOCAL = &LockOption{Type: DefaultType} } yyVAL.union = yyLOCAL - case 1497: + case 1499: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7372 +//line sql.y:7385 { yyLOCAL = &LockOption{Type: NoneType} } yyVAL.union = yyLOCAL - case 1498: + case 1500: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7376 +//line sql.y:7389 { yyLOCAL = &LockOption{Type: SharedType} } yyVAL.union = yyLOCAL - case 1499: + case 1501: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7380 +//line sql.y:7393 { yyLOCAL = &LockOption{Type: ExclusiveType} } yyVAL.union = yyLOCAL - case 1500: + case 1502: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7386 +//line sql.y:7399 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1501: + case 1503: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7390 +//line sql.y:7403 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1502: + case 1504: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7394 +//line sql.y:7407 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1503: + case 1505: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:7398 +//line sql.y:7411 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1504: + case 1506: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7403 +//line sql.y:7416 { yyVAL.str = "" } - case 1505: + case 1507: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7407 +//line sql.y:7420 { yyVAL.str = string(yyDollar[3].str) } - case 1506: + case 1508: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7411 +//line sql.y:7424 { yyVAL.str = string(yyDollar[3].str) } - case 1507: + case 1509: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7415 +//line sql.y:7428 { yyVAL.str = string(yyDollar[3].str) } - case 1508: + case 1510: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7420 +//line sql.y:7433 { yyVAL.str = "" } - case 1509: + case 1511: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7424 +//line sql.y:7437 { yyVAL.str = yyDollar[3].str } - case 1510: + case 1512: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7430 +//line sql.y:7443 { yyVAL.str = string(yyDollar[1].str) } - case 1511: + case 1513: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7434 +//line sql.y:7447 { yyVAL.str = string(yyDollar[1].str) } - case 1512: + case 1514: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7439 +//line sql.y:7452 { yyVAL.str = "" } - case 1513: + case 1515: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:7443 +//line sql.y:7456 { yyVAL.str = yyDollar[2].str } - case 1514: + case 1516: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7448 +//line sql.y:7461 { yyVAL.str = "cascaded" } - case 1515: + case 1517: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7452 +//line sql.y:7465 { yyVAL.str = string(yyDollar[1].str) } - case 1516: + case 1518: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7456 +//line sql.y:7469 { yyVAL.str = string(yyDollar[1].str) } - case 1517: + case 1519: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Definer -//line sql.y:7461 +//line sql.y:7474 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1518: + case 1520: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:7465 +//line sql.y:7478 { yyLOCAL = yyDollar[3].definerUnion() } yyVAL.union = yyLOCAL - case 1519: + case 1521: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Definer -//line sql.y:7471 +//line sql.y:7484 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1520: + case 1522: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:7477 +//line sql.y:7490 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1521: + case 1523: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Definer -//line sql.y:7483 +//line sql.y:7496 { yyLOCAL = &Definer{ Name: yyDollar[1].str, @@ -21497,409 +21588,409 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1522: + case 1524: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7492 +//line sql.y:7505 { yyVAL.str = encodeSQLString(yyDollar[1].str) } - case 1523: + case 1525: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7496 +//line sql.y:7509 { yyVAL.str = formatIdentifier(yyDollar[1].str) } - case 1524: + case 1526: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7501 +//line sql.y:7514 { yyVAL.str = "" } - case 1525: + case 1527: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7505 +//line sql.y:7518 { yyVAL.str = formatAddress(yyDollar[1].str) } - case 1526: + case 1528: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Lock -//line sql.y:7511 +//line sql.y:7524 { yyLOCAL = ForUpdateLock } yyVAL.union = yyLOCAL - case 1527: + case 1529: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Lock -//line sql.y:7515 +//line sql.y:7528 { yyLOCAL = ForUpdateLockNoWait } yyVAL.union = yyLOCAL - case 1528: + case 1530: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:7519 +//line sql.y:7532 { yyLOCAL = ForUpdateLockSkipLocked } yyVAL.union = yyLOCAL - case 1529: + case 1531: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Lock -//line sql.y:7523 +//line sql.y:7536 { yyLOCAL = ForShareLock } yyVAL.union = yyLOCAL - case 1530: + case 1532: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Lock -//line sql.y:7527 +//line sql.y:7540 { yyLOCAL = ForShareLockNoWait } yyVAL.union = yyLOCAL - case 1531: + case 1533: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:7531 +//line sql.y:7544 { yyLOCAL = ForShareLockSkipLocked } yyVAL.union = yyLOCAL - case 1532: + case 1534: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:7535 +//line sql.y:7548 { yyLOCAL = ShareModeLock } yyVAL.union = yyLOCAL - case 1533: + case 1535: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:7541 +//line sql.y:7554 { yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } yyVAL.union = yyLOCAL - case 1534: + case 1536: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:7545 +//line sql.y:7558 { yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1535: + case 1537: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:7549 +//line sql.y:7562 { yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1536: + case 1538: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7554 +//line sql.y:7567 { yyVAL.str = "" } - case 1537: + case 1539: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7558 +//line sql.y:7571 { yyVAL.str = " format csv" + yyDollar[3].str } - case 1538: + case 1540: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7562 +//line sql.y:7575 { yyVAL.str = " format text" + yyDollar[3].str } - case 1539: + case 1541: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7567 +//line sql.y:7580 { yyVAL.str = "" } - case 1540: + case 1542: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7571 +//line sql.y:7584 { yyVAL.str = " header" } - case 1541: + case 1543: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7576 +//line sql.y:7589 { yyVAL.str = "" } - case 1542: + case 1544: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7580 +//line sql.y:7593 { yyVAL.str = " manifest on" } - case 1543: + case 1545: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7584 +//line sql.y:7597 { yyVAL.str = " manifest off" } - case 1544: + case 1546: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7589 +//line sql.y:7602 { yyVAL.str = "" } - case 1545: + case 1547: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7593 +//line sql.y:7606 { yyVAL.str = " overwrite on" } - case 1546: + case 1548: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7597 +//line sql.y:7610 { yyVAL.str = " overwrite off" } - case 1547: + case 1549: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7603 +//line sql.y:7616 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1548: + case 1550: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7608 +//line sql.y:7621 { yyVAL.str = "" } - case 1549: + case 1551: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7612 +//line sql.y:7625 { yyVAL.str = " lines" + yyDollar[2].str } - case 1550: + case 1552: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7618 +//line sql.y:7631 { yyVAL.str = yyDollar[1].str } - case 1551: + case 1553: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7622 +//line sql.y:7635 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1552: + case 1554: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7628 +//line sql.y:7641 { yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str) } - case 1553: + case 1555: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7632 +//line sql.y:7645 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1554: + case 1556: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7637 +//line sql.y:7650 { yyVAL.str = "" } - case 1555: + case 1557: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7641 +//line sql.y:7654 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str } - case 1556: + case 1558: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7647 +//line sql.y:7660 { yyVAL.str = yyDollar[1].str } - case 1557: + case 1559: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7651 +//line sql.y:7664 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1558: + case 1560: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7657 +//line sql.y:7670 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1559: + case 1561: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:7661 +//line sql.y:7674 { yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str) } - case 1560: + case 1562: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7665 +//line sql.y:7678 { yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str) } - case 1561: + case 1563: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7670 +//line sql.y:7683 { yyVAL.str = "" } - case 1562: + case 1564: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7674 +//line sql.y:7687 { yyVAL.str = " optionally" } - case 1563: + case 1565: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Insert -//line sql.y:7687 +//line sql.y:7700 { yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()} } yyVAL.union = yyLOCAL - case 1564: + case 1566: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Insert -//line sql.y:7691 +//line sql.y:7704 { yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1565: + case 1567: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *Insert -//line sql.y:7695 +//line sql.y:7708 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()} } yyVAL.union = yyLOCAL - case 1566: + case 1568: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:7699 +//line sql.y:7712 { yyLOCAL = &Insert{Columns: []IdentifierCI{}, Rows: yyDollar[4].valuesUnion()} } yyVAL.union = yyLOCAL - case 1567: + case 1569: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:7703 +//line sql.y:7716 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1568: + case 1570: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:7709 +//line sql.y:7722 { yyLOCAL = Columns{yyDollar[1].identifierCI} } yyVAL.union = yyLOCAL - case 1569: + case 1571: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:7713 +//line sql.y:7726 { yyLOCAL = Columns{yyDollar[3].identifierCI} } yyVAL.union = yyLOCAL - case 1570: + case 1572: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7717 +//line sql.y:7730 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].identifierCI) } - case 1571: + case 1573: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:7721 +//line sql.y:7734 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[5].identifierCI) } - case 1572: + case 1574: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:7726 +//line sql.y:7739 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1573: + case 1575: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:7730 +//line sql.y:7743 { yyLOCAL = yyDollar[5].updateExprsUnion() } yyVAL.union = yyLOCAL - case 1574: + case 1576: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Values -//line sql.y:7736 +//line sql.y:7749 { yyLOCAL = Values{yyDollar[1].valTupleUnion()} } yyVAL.union = yyLOCAL - case 1575: + case 1577: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7740 +//line sql.y:7753 { yySLICE := (*Values)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion()) } - case 1576: + case 1578: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ValTuple -//line sql.y:7746 +//line sql.y:7759 { yyLOCAL = yyDollar[1].valTupleUnion() } yyVAL.union = yyLOCAL - case 1577: + case 1579: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ValTuple -//line sql.y:7750 +//line sql.y:7763 { yyLOCAL = ValTuple{} } yyVAL.union = yyLOCAL - case 1578: + case 1580: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ValTuple -//line sql.y:7756 +//line sql.y:7769 { yyLOCAL = ValTuple(yyDollar[2].exprsUnion()) } yyVAL.union = yyLOCAL - case 1579: + case 1581: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL ValTuple -//line sql.y:7760 +//line sql.y:7773 { yyLOCAL = ValTuple(yyDollar[3].exprsUnion()) } yyVAL.union = yyLOCAL - case 1580: + case 1582: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7765 +//line sql.y:7778 { if len(yyDollar[1].valTupleUnion()) == 1 { yyLOCAL = yyDollar[1].valTupleUnion()[0] @@ -21908,300 +21999,300 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1581: + case 1583: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:7775 +//line sql.y:7788 { yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()} } yyVAL.union = yyLOCAL - case 1582: + case 1584: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:7779 +//line sql.y:7792 { yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion()) } - case 1583: + case 1585: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *UpdateExpr -//line sql.y:7785 +//line sql.y:7798 { yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1585: + case 1587: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:7792 +//line sql.y:7805 { yyVAL.str = "charset" } - case 1588: + case 1590: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7802 +//line sql.y:7815 { yyLOCAL = NewStrLiteral(yyDollar[1].identifierCI.String()) } yyVAL.union = yyLOCAL - case 1589: + case 1591: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7806 +//line sql.y:7819 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1590: + case 1592: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:7810 +//line sql.y:7823 { yyLOCAL = &Default{} } yyVAL.union = yyLOCAL - case 1593: + case 1595: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:7819 +//line sql.y:7832 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1594: + case 1596: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:7821 +//line sql.y:7834 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1595: + case 1597: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:7824 +//line sql.y:7837 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1596: + case 1598: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:7826 +//line sql.y:7839 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1597: + case 1599: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:7829 +//line sql.y:7842 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1598: + case 1600: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line sql.y:7831 +//line sql.y:7844 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1599: + case 1601: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Ignore -//line sql.y:7834 +//line sql.y:7847 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1600: + case 1602: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Ignore -//line sql.y:7836 +//line sql.y:7849 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1601: + case 1603: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7839 +//line sql.y:7852 { yyVAL.empty = struct{}{} } - case 1602: + case 1604: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7841 +//line sql.y:7854 { yyVAL.empty = struct{}{} } - case 1603: + case 1605: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7843 +//line sql.y:7856 { yyVAL.empty = struct{}{} } - case 1604: + case 1606: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:7847 +//line sql.y:7860 { yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL - case 1605: + case 1607: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:7852 +//line sql.y:7865 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1606: + case 1608: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:7856 +//line sql.y:7869 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1607: + case 1609: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:7861 +//line sql.y:7874 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1608: + case 1610: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:7863 +//line sql.y:7876 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL - case 1609: + case 1611: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:7867 +//line sql.y:7880 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].identifierCI.String())} } yyVAL.union = yyLOCAL - case 1610: + case 1612: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7873 +//line sql.y:7886 { yyVAL.identifierCI = yyDollar[1].identifierCI } - case 1611: + case 1613: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7877 +//line sql.y:7890 { yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str)) } - case 1613: + case 1615: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7884 +//line sql.y:7897 { yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str)) } - case 1614: + case 1616: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7890 +//line sql.y:7903 { yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) } - case 1615: + case 1617: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7894 +//line sql.y:7907 { yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) } - case 1616: + case 1618: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7900 +//line sql.y:7913 { yyVAL.identifierCS = NewIdentifierCS("") } - case 1617: + case 1619: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7904 +//line sql.y:7917 { yyVAL.identifierCS = yyDollar[1].identifierCS } - case 1619: + case 1621: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7911 +//line sql.y:7924 { yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) } - case 1620: + case 1622: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:7917 +//line sql.y:7930 { yyLOCAL = &Kill{Type: yyDollar[2].killTypeUnion(), ProcesslistID: convertStringToUInt64(yyDollar[3].str)} } yyVAL.union = yyLOCAL - case 1621: + case 1623: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL KillType -//line sql.y:7923 +//line sql.y:7936 { yyLOCAL = ConnectionType } yyVAL.union = yyLOCAL - case 1622: + case 1624: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL KillType -//line sql.y:7927 +//line sql.y:7940 { yyLOCAL = ConnectionType } yyVAL.union = yyLOCAL - case 1623: + case 1625: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL KillType -//line sql.y:7931 +//line sql.y:7944 { yyLOCAL = QueryType } yyVAL.union = yyLOCAL - case 2238: + case 2240: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8574 +//line sql.y:8587 { } - case 2239: + case 2241: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8579 +//line sql.y:8592 { } - case 2240: + case 2242: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:8583 +//line sql.y:8596 { skipToEnd(yylex) } - case 2241: + case 2243: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:8588 +//line sql.y:8601 { skipToEnd(yylex) } - case 2242: + case 2244: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8592 +//line sql.y:8605 { skipToEnd(yylex) } - case 2243: + case 2245: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:8596 +//line sql.y:8609 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index a71e8e6ac4c..59ebfdf82bc 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -303,7 +303,7 @@ func markBindVariable(yylex yyLexer, bvar string) { %token SEQUENCE MERGE TEMPORARY TEMPTABLE INVOKER SECURITY FIRST AFTER LAST // Migration tokens -%token VITESS_MIGRATION CANCEL RETRY LAUNCH COMPLETE CLEANUP THROTTLE UNTHROTTLE EXPIRE RATIO +%token VITESS_MIGRATION CANCEL RETRY LAUNCH COMPLETE CLEANUP THROTTLE UNTHROTTLE FORCE_CUTOVER EXPIRE RATIO // Throttler tokens %token VITESS_THROTTLER @@ -3365,6 +3365,19 @@ alter_statement: Type: UnthrottleAllMigrationType, } } +| ALTER comment_opt VITESS_MIGRATION STRING FORCE_CUTOVER + { + $$ = &AlterMigration{ + Type: ForceCutOverMigrationType, + UUID: string($4), + } + } +| ALTER comment_opt VITESS_MIGRATION FORCE_CUTOVER ALL + { + $$ = &AlterMigration{ + Type: ForceCutOverAllMigrationType, + } + } partitions_options_opt: { diff --git a/go/vt/vtctl/grpcvtctldclient/client_gen.go b/go/vt/vtctl/grpcvtctldclient/client_gen.go index 087b566fe5d..4020afa3307 100644 --- a/go/vt/vtctl/grpcvtctldclient/client_gen.go +++ b/go/vt/vtctl/grpcvtctldclient/client_gen.go @@ -128,6 +128,15 @@ func (client *gRPCVtctldClient) CleanupSchemaMigration(ctx context.Context, in * return client.c.CleanupSchemaMigration(ctx, in, opts...) } +// ForceCutOverSchemaMigration is part of the vtctlservicepb.VtctldClient interface. +func (client *gRPCVtctldClient) ForceCutOverSchemaMigration(ctx context.Context, in *vtctldatapb.ForceCutOverSchemaMigrationRequest, opts ...grpc.CallOption) (*vtctldatapb.ForceCutOverSchemaMigrationResponse, error) { + if client.c == nil { + return nil, status.Error(codes.Unavailable, connClosedMsg) + } + + return client.c.ForceCutOverSchemaMigration(ctx, in, opts...) +} + // CompleteSchemaMigration is part of the vtctlservicepb.VtctldClient interface. func (client *gRPCVtctldClient) CompleteSchemaMigration(ctx context.Context, in *vtctldatapb.CompleteSchemaMigrationRequest, opts ...grpc.CallOption) (*vtctldatapb.CompleteSchemaMigrationResponse, error) { if client.c == nil { diff --git a/go/vt/vtctl/grpcvtctldserver/server.go b/go/vt/vtctl/grpcvtctldserver/server.go index de63ba2cdc2..b0b7bd370f7 100644 --- a/go/vt/vtctl/grpcvtctldserver/server.go +++ b/go/vt/vtctl/grpcvtctldserver/server.go @@ -679,6 +679,37 @@ func (s *VtctldServer) CleanupSchemaMigration(ctx context.Context, req *vtctldat return resp, nil } +// ForceCutOverSchemaMigration is part of the vtctlservicepb.VtctldServer interface. +func (s *VtctldServer) ForceCutOverSchemaMigration(ctx context.Context, req *vtctldatapb.ForceCutOverSchemaMigrationRequest) (resp *vtctldatapb.ForceCutOverSchemaMigrationResponse, err error) { + span, ctx := trace.NewSpan(ctx, "VtctldServer.ForceCutOverSchemaMigration") + defer span.Finish() + + defer panicHandler(&err) + + span.Annotate("keyspace", req.Keyspace) + span.Annotate("uuid", req.Uuid) + + query, err := alterSchemaMigrationQuery("force_cutover", req.Uuid) + if err != nil { + return nil, err + } + + log.Infof("Calling ApplySchema to force cut-over migration %s", req.Uuid) + qr, err := s.ApplySchema(ctx, &vtctldatapb.ApplySchemaRequest{ + Keyspace: req.Keyspace, + Sql: []string{query}, + WaitReplicasTimeout: protoutil.DurationToProto(DefaultWaitReplicasTimeout), + }) + if err != nil { + return nil, err + } + + resp = &vtctldatapb.ForceCutOverSchemaMigrationResponse{ + RowsAffectedByShard: qr.RowsAffectedByShard, + } + return resp, nil +} + // CompleteSchemaMigration is part of the vtctlservicepb.VtctldServer interface. func (s *VtctldServer) CompleteSchemaMigration(ctx context.Context, req *vtctldatapb.CompleteSchemaMigrationRequest) (resp *vtctldatapb.CompleteSchemaMigrationResponse, err error) { span, ctx := trace.NewSpan(ctx, "VtctldServer.CompleteSchemaMigration") diff --git a/go/vt/vtctl/grpcvtctldserver/server_test.go b/go/vt/vtctl/grpcvtctldserver/server_test.go index 60f29221a3c..124c7096bc4 100644 --- a/go/vt/vtctl/grpcvtctldserver/server_test.go +++ b/go/vt/vtctl/grpcvtctldserver/server_test.go @@ -1775,6 +1775,208 @@ func TestCleanupSchemaMigration(t *testing.T) { } } +func TestForceCutOverSchemaMigration(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + tablets []*topodatapb.Tablet + tmc *testutil.TabletManagerClient + req *vtctldatapb.ForceCutOverSchemaMigrationRequest + expected *vtctldatapb.ForceCutOverSchemaMigrationResponse + shouldErr bool + }{ + { + tablets: []*topodatapb.Tablet{ + { + Keyspace: "ks", + Shard: "-80", + Alias: &topodatapb.TabletAlias{ + Cell: "zone1", + Uid: 100, + }, + Type: topodatapb.TabletType_PRIMARY, + }, + { + Keyspace: "ks", + Shard: "80-", + Alias: &topodatapb.TabletAlias{ + Cell: "zone1", + Uid: 200, + }, + Type: topodatapb.TabletType_PRIMARY, + }, + }, + tmc: &testutil.TabletManagerClient{ + ExecuteQueryResults: map[string]struct { + Response *querypb.QueryResult + Error error + }{ + "zone1-0000000100": { + Response: &querypb.QueryResult{ + RowsAffected: 1, + }, + }, + "zone1-0000000200": { + Response: &querypb.QueryResult{}, + }, + }, + PrimaryPositionResults: map[string]struct { + Position string + Error error + }{ + "zone1-0000000100": {}, + "zone1-0000000200": {}, + }, + ReloadSchemaResults: map[string]error{ + "zone1-0000000100": nil, + "zone1-0000000200": nil, + }, + }, + req: &vtctldatapb.ForceCutOverSchemaMigrationRequest{ + Keyspace: "ks", + Uuid: "abc", + }, + expected: &vtctldatapb.ForceCutOverSchemaMigrationResponse{ + RowsAffectedByShard: map[string]uint64{ + "-80": 1, + "80-": 0, + }, + }, + }, + { + name: "no shard primary", + tablets: []*topodatapb.Tablet{ + { + Keyspace: "ks", + Shard: "-80", + Alias: &topodatapb.TabletAlias{ + Cell: "zone1", + Uid: 100, + }, + Type: topodatapb.TabletType_PRIMARY, + }, + { + Keyspace: "ks", + Shard: "80-", + Alias: &topodatapb.TabletAlias{ + Cell: "zone1", + Uid: 200, + }, + Type: topodatapb.TabletType_REPLICA, + }, + }, + tmc: &testutil.TabletManagerClient{ + ExecuteQueryResults: map[string]struct { + Response *querypb.QueryResult + Error error + }{ + "zone1-0000000100": { + Response: &querypb.QueryResult{}, + }, + "zone1-0000000200": { + Response: &querypb.QueryResult{}, + }, + }, + PrimaryPositionResults: map[string]struct { + Position string + Error error + }{ + "zone1-0000000100": {}, + "zone1-0000000200": {}, + }, + ReloadSchemaResults: map[string]error{ + "zone1-0000000100": nil, + "zone1-0000000200": nil, + }, + }, + req: &vtctldatapb.ForceCutOverSchemaMigrationRequest{ + Keyspace: "ks", + Uuid: "abc", + }, + shouldErr: true, + }, + { + name: "executeQuery failure", + tablets: []*topodatapb.Tablet{ + { + Keyspace: "ks", + Shard: "-80", + Alias: &topodatapb.TabletAlias{ + Cell: "zone1", + Uid: 100, + }, + Type: topodatapb.TabletType_PRIMARY, + }, + { + Keyspace: "ks", + Shard: "80-", + Alias: &topodatapb.TabletAlias{ + Cell: "zone1", + Uid: 200, + }, + Type: topodatapb.TabletType_PRIMARY, + }, + }, + tmc: &testutil.TabletManagerClient{ + ExecuteQueryResults: map[string]struct { + Response *querypb.QueryResult + Error error + }{ + "zone1-0000000100": { + Error: assert.AnError, + }, + "zone1-0000000200": { + Response: &querypb.QueryResult{}, + }, + }, + PrimaryPositionResults: map[string]struct { + Position string + Error error + }{ + "zone1-0000000100": {}, + "zone1-0000000200": {}, + }, + ReloadSchemaResults: map[string]error{ + "zone1-0000000100": nil, + "zone1-0000000200": nil, + }, + }, + req: &vtctldatapb.ForceCutOverSchemaMigrationRequest{ + Keyspace: "ks", + Uuid: "abc", + }, + shouldErr: true, + }, + // execute query failure + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + ts := memorytopo.NewServer(ctx, "zone1") + + testutil.AddTablets(ctx, t, ts, &testutil.AddTabletOptions{ + AlsoSetShardPrimary: true, + }, test.tablets...) + + vtctld := testutil.NewVtctldServerWithTabletManagerClient(t, ts, test.tmc, func(ts *topo.Server) vtctlservicepb.VtctldServer { + return NewVtctldServer(ts) + }) + + resp, err := vtctld.ForceCutOverSchemaMigration(ctx, test.req) + if test.shouldErr { + assert.Error(t, err) + return + } + + require.NoError(t, err) + utils.MustMatch(t, test.expected, resp) + }) + } +} + func TestCompleteSchemaMigration(t *testing.T) { t.Parallel() diff --git a/go/vt/vtctl/localvtctldclient/client_gen.go b/go/vt/vtctl/localvtctldclient/client_gen.go index 198fc12908f..019ce619054 100644 --- a/go/vt/vtctl/localvtctldclient/client_gen.go +++ b/go/vt/vtctl/localvtctldclient/client_gen.go @@ -176,6 +176,11 @@ func (client *localVtctldClient) CleanupSchemaMigration(ctx context.Context, in return client.s.CleanupSchemaMigration(ctx, in) } +// ForceCutOverSchemaMigration is part of the vtctlservicepb.VtctldClient interface. +func (client *localVtctldClient) ForceCutOverSchemaMigration(ctx context.Context, in *vtctldatapb.ForceCutOverSchemaMigrationRequest, opts ...grpc.CallOption) (*vtctldatapb.ForceCutOverSchemaMigrationResponse, error) { + return client.s.ForceCutOverSchemaMigration(ctx, in) +} + // CompleteSchemaMigration is part of the vtctlservicepb.VtctldClient interface. func (client *localVtctldClient) CompleteSchemaMigration(ctx context.Context, in *vtctldatapb.CompleteSchemaMigrationRequest, opts ...grpc.CallOption) (*vtctldatapb.CompleteSchemaMigrationResponse, error) { return client.s.CompleteSchemaMigration(ctx, in) diff --git a/go/vt/vttablet/onlineddl/executor.go b/go/vt/vttablet/onlineddl/executor.go index cdd890ef5d7..a5d642b0abf 100644 --- a/go/vt/vttablet/onlineddl/executor.go +++ b/go/vt/vttablet/onlineddl/executor.go @@ -95,6 +95,10 @@ var ( retainOnlineDDLTables = 24 * time.Hour defaultCutOverThreshold = 10 * time.Second maxConcurrentOnlineDDLs = 256 + + migrationNextCheckIntervals = []time.Duration{1 * time.Second, 5 * time.Second, 10 * time.Second, 20 * time.Second} + maxConstraintNameLength = 64 + cutoverIntervals = []time.Duration{0, 1 * time.Minute, 5 * time.Minute, 10 * time.Minute, 30 * time.Minute} ) func init() { @@ -110,9 +114,6 @@ func registerOnlineDDLFlags(fs *pflag.FlagSet) { fs.IntVar(&maxConcurrentOnlineDDLs, "max_concurrent_online_ddl", maxConcurrentOnlineDDLs, "Maximum number of online DDL changes that may run concurrently") } -var migrationNextCheckIntervals = []time.Duration{1 * time.Second, 5 * time.Second, 10 * time.Second, 20 * time.Second} -var maxConstraintNameLength = 64 - const ( maxPasswordLength = 32 // MySQL's *replication* password may not exceed 32 characters staleMigrationMinutes = 180 @@ -769,8 +770,100 @@ func (e *Executor) terminateVReplMigration(ctx context.Context, uuid string) err return nil } +// killTableLockHoldersAndAccessors kills any active queries using the given table, and also kills +// connections with open transactions, holding locks on the table. +// This is done on a best-effort basis, by issuing `KILL` and `KILL QUERY` commands. As MySQL goes, +// it is not guaranteed that the queries/transactions will terminate in a timely manner. +func (e *Executor) killTableLockHoldersAndAccessors(ctx context.Context, tableName string) error { + log.Infof("killTableLockHoldersAndAccessors: %v", tableName) + conn, err := dbconnpool.NewDBConnection(ctx, e.env.Config().DB.DbaWithDB()) + if err != nil { + return err + } + defer conn.Close() + + { + // First, let's look at PROCESSLIST for queries that _might_ be operating on our table. This may have + // plenty false positives as we're simply looking for the table name as a query substring. + likeVariable := "%" + tableName + "%" + query, err := sqlparser.ParseAndBind(sqlFindProcessByInfo, sqltypes.StringBindVariable(likeVariable)) + if err != nil { + return err + } + rs, err := conn.Conn.ExecuteFetch(query, -1, true) + if err != nil { + return err + } + + log.Infof("killTableLockHoldersAndAccessors: found %v potential queries", len(rs.Rows)) + // Now that we have some list of queries, we actually parse them to find whether the query actually references our table: + for _, row := range rs.Named().Rows { + threadId := row.AsInt64("id", 0) + infoQuery := row.AsString("info", "") + stmt, err := sqlparser.Parse(infoQuery) + if err != nil { + log.Error(vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "unable to parse processlist Info query: %v", infoQuery)) + continue + } + queryUsesTable := false + _ = sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) { + switch node := node.(type) { + case *sqlparser.TableName: + if node.Name.String() == tableName { + queryUsesTable = true + return false, nil + } + case *sqlparser.AliasedTableExpr: + if alasedTableName, ok := node.Expr.(sqlparser.TableName); ok { + if alasedTableName.Name.String() == tableName { + queryUsesTable = true + return false, nil + } + } + } + return true, nil + }, stmt) + + if queryUsesTable { + log.Infof("killTableLockHoldersAndAccessors: killing query %v: %.100s", threadId, infoQuery) + killQuery := fmt.Sprintf("KILL QUERY %d", threadId) + if _, err := conn.Conn.ExecuteFetch(killQuery, 1, false); err != nil { + log.Error(vterrors.Errorf(vtrpcpb.Code_ABORTED, "could not kill query %v. Ignoring", threadId)) + } + } + } + } + _, capableOf, _ := mysql.GetFlavor(conn.ServerVersion, nil) + capable, err := capableOf(mysql.PerformanceSchemaDataLocksTableCapability) + if err != nil { + return err + } + if capable { + { + // Kill connections that have open transactions locking the table. These potentially (probably?) are not + // actively running a query on our table. They're doing other things while holding locks on our table. + query, err := sqlparser.ParseAndBind(sqlProcessWithLocksOnTable, sqltypes.StringBindVariable(tableName)) + if err != nil { + return err + } + rs, err := conn.Conn.ExecuteFetch(query, -1, true) + if err != nil { + return err + } + log.Infof("killTableLockHoldersAndAccessors: found %v locking transactions", len(rs.Rows)) + for _, row := range rs.Named().Rows { + threadId := row.AsInt64("trx_mysql_thread_id", 0) + log.Infof("killTableLockHoldersAndAccessors: killing connection %v with transaction on table", threadId) + killConnection := fmt.Sprintf("KILL %d", threadId) + _, _ = conn.Conn.ExecuteFetch(killConnection, 1, false) + } + } + } + return nil +} + // cutOverVReplMigration stops vreplication, then removes the _vt.vreplication entry for the given migration -func (e *Executor) cutOverVReplMigration(ctx context.Context, s *VReplStream) error { +func (e *Executor) cutOverVReplMigration(ctx context.Context, s *VReplStream, shouldForceCutOver bool) error { if err := e.incrementCutoverAttempts(ctx, s.workflow); err != nil { return err } @@ -978,6 +1071,12 @@ func (e *Executor) cutOverVReplMigration(ctx context.Context, s *VReplStream) er e.updateMigrationStage(ctx, onlineDDL.UUID, "graceful wait for buffering") time.Sleep(100 * time.Millisecond) + if shouldForceCutOver { + if err := e.killTableLockHoldersAndAccessors(ctx, onlineDDL.Table); err != nil { + return err + } + } + if isVreplicationTestSuite { // The testing suite may inject queries internally from the server via a recurring EVENT. // Those queries are unaffected by query rules (ACLs) because they don't go through Vitess. @@ -3558,6 +3657,46 @@ func (e *Executor) isVReplMigrationReadyToCutOver(ctx context.Context, onlineDDL return true, nil } +// shouldCutOverAccordingToBackoff is called when a vitess migration (ALTER TABLE) is generally ready to cut-over. +// This function further determines whether the migration should cut-over or not, by considering: +// - backoff: we cut-over by increasing intervals, see `cutoverIntervals` +// - forced cut-over: either via `--force-cut-over-after` DDL strategy, or via user command, we override +// any backoff (and will also potentially KILL queries and connections holding locks on the migrated tabl) +func shouldCutOverAccordingToBackoff( + shouldForceCutOverIndicator bool, + forceCutOverAfter time.Duration, + sinceReadyToComplete time.Duration, + sinceLastCutoverAttempt time.Duration, + cutoverAttempts int64, +) ( + shouldCutOver bool, shouldForceCutOver bool, +) { + if shouldForceCutOverIndicator { + // That's very simple: the user indicated they want to force cut over. + return true, true + } + // shouldForceCutOver means the time since migration was ready to complete + // is beyond the --force-cut-over-after setting, or the column `force_cutover` is "1", and this means: + // - we do not want to backoff, we want to cutover asap + // - we agree to brute-force KILL any pending queries on the migrated table so as to ensure it's unlocked. + if forceCutOverAfter > 0 && sinceReadyToComplete > forceCutOverAfter { + // time since migration was ready to complete is beyond the --force-cut-over-after setting + return true, true + } + + // Backoff mechanism. Do not attempt to cut-over every single minute. Check how much time passed since last cut-over attempt + desiredTimeSinceLastCutover := cutoverIntervals[len(cutoverIntervals)-1] + if int(cutoverAttempts) < len(cutoverIntervals) { + desiredTimeSinceLastCutover = cutoverIntervals[cutoverAttempts] + } + if sinceLastCutoverAttempt >= desiredTimeSinceLastCutover { + // Yes! Time since last cut-over complies with our expected cut-over interval + return true, false + } + // Don't cut-over yet + return false, false +} + // reviewRunningMigrations iterates migrations in 'running' state. Normally there's only one running, which was // spawned by this tablet; but vreplication migrations could also resume from failure. func (e *Executor) reviewRunningMigrations(ctx context.Context) (countRunnning int, cancellable []*cancellableMigration, err error) { @@ -3589,30 +3728,42 @@ func (e *Executor) reviewRunningMigrations(ctx context.Context) (countRunnning i uuidsFoundRunning := map[string]bool{} for _, row := range r.Named().Rows { uuid := row["migration_uuid"].ToString() + cutoverAttempts := row.AsInt64("cutover_attempts", 0) + sinceLastCutoverAttempt := time.Second * time.Duration(row.AsInt64("seconds_since_last_cutover_attempt", 0)) + sinceReadyToComplete := time.Second * time.Duration(row.AsInt64("seconds_since_ready_to_complete", 0)) onlineDDL, migrationRow, err := e.readMigration(ctx, uuid) if err != nil { return countRunnning, cancellable, err } postponeCompletion := row.AsBool("postpone_completion", false) + shouldForceCutOver := row.AsBool("force_cutover", false) elapsedSeconds := row.AsInt64("elapsed_seconds", 0) + strategySetting := onlineDDL.StrategySetting() + // --force-cut-over-after flag is validated when DDL strategy is first parsed. + // There should never be an error here. But if there is, we choose to skip it, + // otherwise migrations will never complete. + forceCutOverAfter, errForceCutOverAfter := strategySetting.ForceCutOverAfter() + if errForceCutOverAfter != nil { + forceCutOverAfter = 0 + } uuidsFoundRunning[uuid] = true _ = e.updateMigrationUserThrottleRatio(ctx, uuid, currentUserThrottleRatio) - switch onlineDDL.StrategySetting().Strategy { + switch strategySetting.Strategy { case schema.DDLStrategyOnline, schema.DDLStrategyVitess: - { + reviewVReplRunningMigration := func() error { // We check the _vt.vreplication table s, err := e.readVReplStream(ctx, uuid, true) if err != nil { - return countRunnning, cancellable, err + return err } - isVreplicationTestSuite := onlineDDL.StrategySetting().IsVreplicationTestSuite() + isVreplicationTestSuite := strategySetting.IsVreplicationTestSuite() if isVreplicationTestSuite { e.triggerNextCheckInterval() } if s == nil { - continue + return nil } // Let's see if vreplication indicates an error. Many errors are recoverable, and // we do not wish to fail on first sight. We will use LastError to repeatedly @@ -3629,65 +3780,77 @@ func (e *Executor) reviewRunningMigrations(ctx context.Context) (countRunnning i if isTerminal || !lastError.ShouldRetry() { cancellable = append(cancellable, newCancellableMigration(uuid, s.message)) } - if s.isRunning() { - // This VRepl migration may have started from outside this tablet, so - // this executor may not own the migration _yet_. We make sure to own it. - // VReplication migrations are unique in this respect: we are able to complete - // a vreplication migration started by another tablet. - e.ownedRunningMigrations.Store(uuid, onlineDDL) - if lastVitessLivenessIndicator := migrationRow.AsInt64("vitess_liveness_indicator", 0); lastVitessLivenessIndicator < s.livenessTimeIndicator() { - _ = e.updateMigrationTimestamp(ctx, "liveness_timestamp", uuid) - _ = e.updateVitessLivenessIndicator(ctx, uuid, s.livenessTimeIndicator()) - } - if onlineDDL.TabletAlias != e.TabletAliasString() { - _ = e.updateMigrationTablet(ctx, uuid) - log.Infof("migration %s adopted by tablet %s", uuid, e.TabletAliasString()) - } - _ = e.updateRowsCopied(ctx, uuid, s.rowsCopied) - _ = e.updateMigrationProgressByRowsCopied(ctx, uuid, s.rowsCopied) - _ = e.updateMigrationETASecondsByProgress(ctx, uuid) - _ = e.updateMigrationLastThrottled(ctx, uuid, time.Unix(s.timeThrottled, 0), s.componentThrottled) + if !s.isRunning() { + return nil + } + // This VRepl migration may have started from outside this tablet, so + // this executor may not own the migration _yet_. We make sure to own it. + // VReplication migrations are unique in this respect: we are able to complete + // a vreplication migration started by another tablet. + e.ownedRunningMigrations.Store(uuid, onlineDDL) + if lastVitessLivenessIndicator := migrationRow.AsInt64("vitess_liveness_indicator", 0); lastVitessLivenessIndicator < s.livenessTimeIndicator() { + _ = e.updateMigrationTimestamp(ctx, "liveness_timestamp", uuid) + _ = e.updateVitessLivenessIndicator(ctx, uuid, s.livenessTimeIndicator()) + } + if onlineDDL.TabletAlias != e.TabletAliasString() { + _ = e.updateMigrationTablet(ctx, uuid) + log.Infof("migration %s adopted by tablet %s", uuid, e.TabletAliasString()) + } + _ = e.updateRowsCopied(ctx, uuid, s.rowsCopied) + _ = e.updateMigrationProgressByRowsCopied(ctx, uuid, s.rowsCopied) + _ = e.updateMigrationETASecondsByProgress(ctx, uuid) + _ = e.updateMigrationLastThrottled(ctx, uuid, time.Unix(s.timeThrottled, 0), s.componentThrottled) - isReady, err := e.isVReplMigrationReadyToCutOver(ctx, onlineDDL, s) - if err != nil { - _ = e.updateMigrationMessage(ctx, uuid, err.Error()) - return countRunnning, cancellable, err - } - if isReady && isVreplicationTestSuite { - // This is a endtoend test suite execution. We intentionally delay it by at least - // vreplicationTestSuiteWaitSeconds - if elapsedSeconds < vreplicationTestSuiteWaitSeconds { - isReady = false - } - } - // Indicate to outside observers whether the migration is generally ready to complete. - // In the case of a postponed migration, we will not complete it, but the user will - // understand whether "now is a good time" or "not there yet" - _ = e.updateMigrationReadyToComplete(ctx, uuid, isReady) - if postponeCompletion { - // override. Even if migration is ready, we do not complete it. + isReady, err := e.isVReplMigrationReadyToCutOver(ctx, onlineDDL, s) + if err != nil { + _ = e.updateMigrationMessage(ctx, uuid, err.Error()) + return err + } + if isReady && isVreplicationTestSuite { + // This is a endtoend test suite execution. We intentionally delay it by at least + // vreplicationTestSuiteWaitSeconds + if elapsedSeconds < vreplicationTestSuiteWaitSeconds { isReady = false } - if isReady && onlineDDL.StrategySetting().IsInOrderCompletion() { - if len(pendingMigrationsUUIDs) > 0 && pendingMigrationsUUIDs[0] != onlineDDL.UUID { - // wait for earlier pending migrations to complete - isReady = false - } + } + // Indicate to outside observers whether the migration is generally ready to complete. + // In the case of a postponed migration, we will not complete it, but the user will + // understand whether "now is a good time" or "not there yet" + _ = e.updateMigrationReadyToComplete(ctx, uuid, isReady) + if !isReady { + return nil + } + if postponeCompletion { + // override. Even if migration is ready, we do not complete it. + return nil + } + if strategySetting.IsInOrderCompletion() { + if len(pendingMigrationsUUIDs) > 0 && pendingMigrationsUUIDs[0] != onlineDDL.UUID { + // wait for earlier pending migrations to complete + return nil } - if isReady { - if err := e.cutOverVReplMigration(ctx, s); err != nil { - _ = e.updateMigrationMessage(ctx, uuid, err.Error()) - log.Errorf("cutOverVReplMigration failed: err=%v", err) - if merr, ok := err.(*sqlerror.SQLError); ok { - switch merr.Num { - case sqlerror.ERTooLongIdent: - go e.CancelMigration(ctx, uuid, err.Error(), false) - } - } - return countRunnning, cancellable, err + } + shouldCutOver, shouldForceCutOver := shouldCutOverAccordingToBackoff( + shouldForceCutOver, forceCutOverAfter, sinceReadyToComplete, sinceLastCutoverAttempt, cutoverAttempts, + ) + if !shouldCutOver { + return nil + } + if err := e.cutOverVReplMigration(ctx, s, shouldForceCutOver); err != nil { + _ = e.updateMigrationMessage(ctx, uuid, err.Error()) + log.Errorf("cutOverVReplMigration failed: err=%v", err) + if merr, ok := err.(*sqlerror.SQLError); ok { + switch merr.Num { + case sqlerror.ERTooLongIdent: + go e.CancelMigration(ctx, uuid, err.Error(), false) } } + return err } + return nil + } + if err := reviewVReplRunningMigration(); err != nil { + return countRunnning, cancellable, err } case schema.DDLStrategyPTOSC: { @@ -4511,6 +4674,65 @@ func (e *Executor) CleanupMigration(ctx context.Context, uuid string) (result *s return rs, nil } +// ForceCutOverMigration markes the given migration for forced cut-over. This has two implications: +// - No backoff for the given migration's cut-over (cut-over will be attempted at the next scheduler cycle, +// irrespective of how many cut-over attempts have been made and when these attempts have been made). +// - During the cut-over, Online DDL will try and temrinate all existing queries on the migrated table, and +// transactions (killing their connections) holding a lock on the migrated table. This is likely to cause the +// cut-over to succeed. Of course, it's not guaranteed, and it's possible that next cut-over will fail. +// The force_cutover flag, once set, remains set, and so all future cut-over attempts will again KILL interfering +// queries and connections. +func (e *Executor) ForceCutOverMigration(ctx context.Context, uuid string) (result *sqltypes.Result, err error) { + if atomic.LoadInt64(&e.isOpen) == 0 { + return nil, vterrors.New(vtrpcpb.Code_FAILED_PRECONDITION, schema.ErrOnlineDDLDisabled.Error()) + } + if !schema.IsOnlineDDLUUID(uuid) { + return nil, vterrors.Errorf(vtrpcpb.Code_UNKNOWN, "Not a valid migration ID in FORCE_CUTOVER: %s", uuid) + } + log.Infof("ForceCutOverMigration: request to force cut-over migration %s", uuid) + e.migrationMutex.Lock() + defer e.migrationMutex.Unlock() + + query, err := sqlparser.ParseAndBind(sqlUpdateForceCutOver, + sqltypes.StringBindVariable(uuid), + ) + if err != nil { + return nil, err + } + rs, err := e.execQuery(ctx, query) + if err != nil { + return nil, err + } + e.triggerNextCheckInterval() + log.Infof("ForceCutOverMigration: migration %s marked for forced cut-over", uuid) + return rs, nil +} + +// ForceCutOverPendingMigrations sets force_cutover flag for all pending migrations +func (e *Executor) ForceCutOverPendingMigrations(ctx context.Context) (result *sqltypes.Result, err error) { + if atomic.LoadInt64(&e.isOpen) == 0 { + return nil, vterrors.New(vtrpcpb.Code_FAILED_PRECONDITION, schema.ErrOnlineDDLDisabled.Error()) + } + + uuids, err := e.readPendingMigrationsUUIDs(ctx) + if err != nil { + return result, err + } + log.Infof("ForceCutOverPendingMigrations: iterating %v migrations %s", len(uuids)) + + result = &sqltypes.Result{} + for _, uuid := range uuids { + log.Infof("ForceCutOverPendingMigrations: applying to %s", uuid) + res, err := e.ForceCutOverMigration(ctx, uuid) + if err != nil { + return result, err + } + result.AppendResult(res) + } + log.Infof("ForceCutOverPendingMigrations: done iterating %v migrations %s", len(uuids)) + return result, nil +} + // CompleteMigration clears the postpone_completion flag for a given migration, assuming it was set in the first place func (e *Executor) CompleteMigration(ctx context.Context, uuid string) (result *sqltypes.Result, err error) { if atomic.LoadInt64(&e.isOpen) == 0 { @@ -4524,7 +4746,7 @@ func (e *Executor) CompleteMigration(ctx context.Context, uuid string) (result * e.migrationMutex.Lock() defer e.migrationMutex.Unlock() - query, err := sqlparser.ParseAndBind(sqlUpdateCompleteMigration, + query, err := sqlparser.ParseAndBind(sqlClearPostponeCompletion, sqltypes.StringBindVariable(uuid), ) if err != nil { @@ -4582,7 +4804,7 @@ func (e *Executor) LaunchMigration(ctx context.Context, uuid string, shardsArg s // Does not apply to this shard! return &sqltypes.Result{}, nil } - log.Infof("LaunchMigration: request to execute migration %s", uuid) + log.Infof("LaunchMigration: request to launch migration %s", uuid) e.migrationMutex.Lock() defer e.migrationMutex.Unlock() diff --git a/go/vt/vttablet/onlineddl/executor_test.go b/go/vt/vttablet/onlineddl/executor_test.go index 4eb0d54a418..9e100fa43eb 100644 --- a/go/vt/vttablet/onlineddl/executor_test.go +++ b/go/vt/vttablet/onlineddl/executor_test.go @@ -23,6 +23,7 @@ package onlineddl import ( "context" "testing" + "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -356,3 +357,109 @@ func TestDuplicateCreateTable(t *testing.T) { }) } } + +func TestShouldCutOverAccordingToBackoff(t *testing.T) { + tcases := []struct { + name string + + shouldForceCutOverIndicator bool + forceCutOverAfter time.Duration + sinceReadyToComplete time.Duration + sinceLastCutoverAttempt time.Duration + cutoverAttempts int64 + + expectShouldCutOver bool + expectShouldForceCutOver bool + }{ + { + name: "no reason why not, normal cutover", + expectShouldCutOver: true, + }, + { + name: "backoff", + cutoverAttempts: 1, + expectShouldCutOver: false, + }, + { + name: "more backoff", + cutoverAttempts: 3, + expectShouldCutOver: false, + }, + { + name: "more backoff, since last cutover", + cutoverAttempts: 3, + sinceLastCutoverAttempt: time.Second, + expectShouldCutOver: false, + }, + { + name: "no backoff, long since last cutover", + cutoverAttempts: 3, + sinceLastCutoverAttempt: time.Hour, + expectShouldCutOver: true, + }, + { + name: "many attempts, long since last cutover", + cutoverAttempts: 3000, + sinceLastCutoverAttempt: time.Hour, + expectShouldCutOver: true, + }, + { + name: "force cutover", + shouldForceCutOverIndicator: true, + expectShouldCutOver: true, + expectShouldForceCutOver: true, + }, + { + name: "force cutover overrides backoff", + cutoverAttempts: 3, + shouldForceCutOverIndicator: true, + expectShouldCutOver: true, + expectShouldForceCutOver: true, + }, + { + name: "backoff; cutover-after not in effect yet", + cutoverAttempts: 3, + forceCutOverAfter: time.Second, + expectShouldCutOver: false, + expectShouldForceCutOver: false, + }, + { + name: "backoff; cutover-after still not in effect yet", + cutoverAttempts: 3, + forceCutOverAfter: time.Second, + sinceReadyToComplete: time.Millisecond, + expectShouldCutOver: false, + expectShouldForceCutOver: false, + }, + { + name: "cutover-after overrides backoff", + cutoverAttempts: 3, + forceCutOverAfter: time.Second, + sinceReadyToComplete: time.Second * 2, + expectShouldCutOver: true, + expectShouldForceCutOver: true, + }, + { + name: "cutover-after overrides backoff, realistic value", + cutoverAttempts: 300, + sinceLastCutoverAttempt: time.Minute, + forceCutOverAfter: time.Hour, + sinceReadyToComplete: time.Hour * 2, + expectShouldCutOver: true, + expectShouldForceCutOver: true, + }, + } + for _, tcase := range tcases { + t.Run(tcase.name, func(t *testing.T) { + shouldCutOver, shouldForceCutOver := shouldCutOverAccordingToBackoff( + tcase.shouldForceCutOverIndicator, + tcase.forceCutOverAfter, + tcase.sinceReadyToComplete, + tcase.sinceLastCutoverAttempt, + tcase.cutoverAttempts, + ) + assert.Equal(t, tcase.expectShouldCutOver, shouldCutOver) + assert.Equal(t, tcase.expectShouldForceCutOver, shouldForceCutOver) + }) + } +} diff --git a/go/vt/vttablet/onlineddl/schema.go b/go/vt/vttablet/onlineddl/schema.go index c072da2dc7b..ebf0aa1813b 100644 --- a/go/vt/vttablet/onlineddl/schema.go +++ b/go/vt/vttablet/onlineddl/schema.go @@ -98,7 +98,7 @@ const ( ` sqlSetMigrationReadyToComplete = `UPDATE _vt.schema_migrations SET ready_to_complete=1, - ready_to_complete_timestamp=NOW(6) + ready_to_complete_timestamp=IFNULL(ready_to_complete_timestamp, NOW(6)) WHERE migration_uuid=%a ` @@ -159,7 +159,8 @@ const ( migration_uuid=%a ` sqlIncrementCutoverAttempts = `UPDATE _vt.schema_migrations - SET cutover_attempts=cutover_attempts+1 + SET cutover_attempts=cutover_attempts+1, + last_cutover_attempt_timestamp=NOW() WHERE migration_uuid=%a ` @@ -168,13 +169,18 @@ const ( WHERE migration_uuid=%a ` + sqlUpdateForceCutOver = `UPDATE _vt.schema_migrations + SET force_cutover=1 + WHERE + migration_uuid=%a + ` sqlUpdateLaunchMigration = `UPDATE _vt.schema_migrations SET postpone_launch=0 WHERE migration_uuid=%a AND postpone_launch != 0 ` - sqlUpdateCompleteMigration = `UPDATE _vt.schema_migrations + sqlClearPostponeCompletion = `UPDATE _vt.schema_migrations SET postpone_completion=0 WHERE migration_uuid=%a @@ -254,6 +260,7 @@ const ( liveness_timestamp=NULL, cancelled_timestamp=NULL, completed_timestamp=NULL, + last_cutover_attempt_timestamp=NULL, cleanup_timestamp=NULL WHERE migration_status IN ('failed', 'cancelled') @@ -274,6 +281,7 @@ const ( liveness_timestamp=NULL, cancelled_timestamp=NULL, completed_timestamp=NULL, + last_cutover_attempt_timestamp=NULL, cleanup_timestamp=NULL WHERE migration_status IN ('failed', 'cancelled') @@ -287,6 +295,10 @@ const ( sqlSelectRunningMigrations = `SELECT migration_uuid, postpone_completion, + force_cutover, + cutover_attempts, + ifnull(timestampdiff(second, ready_to_complete_timestamp, now()), 0) as seconds_since_ready_to_complete, + ifnull(timestampdiff(second, last_cutover_attempt_timestamp, now()), 0) as seconds_since_last_cutover_attempt, timestampdiff(second, started_timestamp, now()) as elapsed_seconds FROM _vt.schema_migrations WHERE @@ -570,12 +582,22 @@ const ( _vt.copy_state WHERE vrepl_id=%a ` - sqlSwapTables = "RENAME TABLE `%a` TO `%a`, `%a` TO `%a`, `%a` TO `%a`" - sqlRenameTable = "RENAME TABLE `%a` TO `%a`" - sqlLockTwoTablesWrite = "LOCK TABLES `%a` WRITE, `%a` WRITE" - sqlUnlockTables = "UNLOCK TABLES" - sqlCreateSentryTable = "CREATE TABLE IF NOT EXISTS `%a` (id INT PRIMARY KEY)" - sqlFindProcess = "SELECT id, Info as info FROM information_schema.processlist WHERE id=%a AND Info LIKE %a" + sqlSwapTables = "RENAME TABLE `%a` TO `%a`, `%a` TO `%a`, `%a` TO `%a`" + sqlRenameTable = "RENAME TABLE `%a` TO `%a`" + sqlLockTwoTablesWrite = "LOCK TABLES `%a` WRITE, `%a` WRITE" + sqlUnlockTables = "UNLOCK TABLES" + sqlCreateSentryTable = "CREATE TABLE IF NOT EXISTS `%a` (id INT PRIMARY KEY)" + sqlFindProcess = "SELECT id, Info as info FROM information_schema.processlist WHERE id=%a AND Info LIKE %a" + sqlFindProcessByInfo = "SELECT id, Info as info FROM information_schema.processlist WHERE Info LIKE %a and id != connection_id()" + sqlProcessWithLocksOnTable = ` + SELECT + DISTINCT innodb_trx.trx_mysql_thread_id + from + performance_schema.data_locks + join information_schema.innodb_trx on (data_locks.ENGINE_TRANSACTION_ID=innodb_trx.trx_id) + where + data_locks.OBJECT_SCHEMA=database() AND data_locks.OBJECT_NAME=%a + ` ) var ( diff --git a/go/vt/vttablet/tabletserver/query_executor.go b/go/vt/vttablet/tabletserver/query_executor.go index e53bdaec754..ef86249996a 100644 --- a/go/vt/vttablet/tabletserver/query_executor.go +++ b/go/vt/vttablet/tabletserver/query_executor.go @@ -950,6 +950,10 @@ func (qre *QueryExecutor) execAlterMigration() (*sqltypes.Result, error) { return qre.tsv.onlineDDLExecutor.UnthrottleMigration(qre.ctx, alterMigration.UUID) case sqlparser.UnthrottleAllMigrationType: return qre.tsv.onlineDDLExecutor.UnthrottleAllMigrations(qre.ctx) + case sqlparser.ForceCutOverMigrationType: + return qre.tsv.onlineDDLExecutor.ForceCutOverMigration(qre.ctx, alterMigration.UUID) + case sqlparser.ForceCutOverAllMigrationType: + return qre.tsv.onlineDDLExecutor.ForceCutOverPendingMigrations(qre.ctx) } return nil, vterrors.New(vtrpcpb.Code_UNIMPLEMENTED, "ALTER VITESS_MIGRATION not implemented") } diff --git a/proto/vtctldata.proto b/proto/vtctldata.proto index 61b75ce4e09..92b91066060 100644 --- a/proto/vtctldata.proto +++ b/proto/vtctldata.proto @@ -449,7 +449,6 @@ message CleanupSchemaMigrationResponse { map rows_affected_by_shard = 1; } - message CompleteSchemaMigrationRequest { string keyspace = 1; string uuid = 2; @@ -682,6 +681,15 @@ message FindAllShardsInKeyspaceResponse { map shards = 1; } +message ForceCutOverSchemaMigrationRequest { + string keyspace = 1; + string uuid = 2; +} + +message ForceCutOverSchemaMigrationResponse { + map rows_affected_by_shard = 1; +} + message GetBackupsRequest { string keyspace = 1; string shard = 2; diff --git a/proto/vtctlservice.proto b/proto/vtctlservice.proto index 59c24dc8445..56bd30e540e 100644 --- a/proto/vtctlservice.proto +++ b/proto/vtctlservice.proto @@ -103,6 +103,8 @@ service Vtctld { // FindAllShardsInKeyspace returns a map of shard names to shard references // for a given keyspace. rpc FindAllShardsInKeyspace(vtctldata.FindAllShardsInKeyspaceRequest) returns (vtctldata.FindAllShardsInKeyspaceResponse) {}; + // ForceCutOverSchemaMigration marks a schema migration for forced cut-over. + rpc ForceCutOverSchemaMigration(vtctldata.ForceCutOverSchemaMigrationRequest) returns (vtctldata.ForceCutOverSchemaMigrationResponse) {}; // GetBackups returns all the backups for a shard. rpc GetBackups(vtctldata.GetBackupsRequest) returns (vtctldata.GetBackupsResponse) {}; // GetCellInfo returns the information for a cell. diff --git a/web/vtadmin/src/proto/vtadmin.d.ts b/web/vtadmin/src/proto/vtadmin.d.ts index 39add452fd6..fca693ed3e1 100644 --- a/web/vtadmin/src/proto/vtadmin.d.ts +++ b/web/vtadmin/src/proto/vtadmin.d.ts @@ -49033,6 +49033,206 @@ export namespace vtctldata { public static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of a ForceCutOverSchemaMigrationRequest. */ + interface IForceCutOverSchemaMigrationRequest { + + /** ForceCutOverSchemaMigrationRequest keyspace */ + keyspace?: (string|null); + + /** ForceCutOverSchemaMigrationRequest uuid */ + uuid?: (string|null); + } + + /** Represents a ForceCutOverSchemaMigrationRequest. */ + class ForceCutOverSchemaMigrationRequest implements IForceCutOverSchemaMigrationRequest { + + /** + * Constructs a new ForceCutOverSchemaMigrationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: vtctldata.IForceCutOverSchemaMigrationRequest); + + /** ForceCutOverSchemaMigrationRequest keyspace. */ + public keyspace: string; + + /** ForceCutOverSchemaMigrationRequest uuid. */ + public uuid: string; + + /** + * Creates a new ForceCutOverSchemaMigrationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ForceCutOverSchemaMigrationRequest instance + */ + public static create(properties?: vtctldata.IForceCutOverSchemaMigrationRequest): vtctldata.ForceCutOverSchemaMigrationRequest; + + /** + * Encodes the specified ForceCutOverSchemaMigrationRequest message. Does not implicitly {@link vtctldata.ForceCutOverSchemaMigrationRequest.verify|verify} messages. + * @param message ForceCutOverSchemaMigrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: vtctldata.IForceCutOverSchemaMigrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ForceCutOverSchemaMigrationRequest message, length delimited. Does not implicitly {@link vtctldata.ForceCutOverSchemaMigrationRequest.verify|verify} messages. + * @param message ForceCutOverSchemaMigrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: vtctldata.IForceCutOverSchemaMigrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ForceCutOverSchemaMigrationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ForceCutOverSchemaMigrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): vtctldata.ForceCutOverSchemaMigrationRequest; + + /** + * Decodes a ForceCutOverSchemaMigrationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ForceCutOverSchemaMigrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): vtctldata.ForceCutOverSchemaMigrationRequest; + + /** + * Verifies a ForceCutOverSchemaMigrationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ForceCutOverSchemaMigrationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ForceCutOverSchemaMigrationRequest + */ + public static fromObject(object: { [k: string]: any }): vtctldata.ForceCutOverSchemaMigrationRequest; + + /** + * Creates a plain object from a ForceCutOverSchemaMigrationRequest message. Also converts values to other types if specified. + * @param message ForceCutOverSchemaMigrationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: vtctldata.ForceCutOverSchemaMigrationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ForceCutOverSchemaMigrationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ForceCutOverSchemaMigrationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ForceCutOverSchemaMigrationResponse. */ + interface IForceCutOverSchemaMigrationResponse { + + /** ForceCutOverSchemaMigrationResponse rows_affected_by_shard */ + rows_affected_by_shard?: ({ [k: string]: (number|Long) }|null); + } + + /** Represents a ForceCutOverSchemaMigrationResponse. */ + class ForceCutOverSchemaMigrationResponse implements IForceCutOverSchemaMigrationResponse { + + /** + * Constructs a new ForceCutOverSchemaMigrationResponse. + * @param [properties] Properties to set + */ + constructor(properties?: vtctldata.IForceCutOverSchemaMigrationResponse); + + /** ForceCutOverSchemaMigrationResponse rows_affected_by_shard. */ + public rows_affected_by_shard: { [k: string]: (number|Long) }; + + /** + * Creates a new ForceCutOverSchemaMigrationResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ForceCutOverSchemaMigrationResponse instance + */ + public static create(properties?: vtctldata.IForceCutOverSchemaMigrationResponse): vtctldata.ForceCutOverSchemaMigrationResponse; + + /** + * Encodes the specified ForceCutOverSchemaMigrationResponse message. Does not implicitly {@link vtctldata.ForceCutOverSchemaMigrationResponse.verify|verify} messages. + * @param message ForceCutOverSchemaMigrationResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: vtctldata.IForceCutOverSchemaMigrationResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ForceCutOverSchemaMigrationResponse message, length delimited. Does not implicitly {@link vtctldata.ForceCutOverSchemaMigrationResponse.verify|verify} messages. + * @param message ForceCutOverSchemaMigrationResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: vtctldata.IForceCutOverSchemaMigrationResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ForceCutOverSchemaMigrationResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ForceCutOverSchemaMigrationResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): vtctldata.ForceCutOverSchemaMigrationResponse; + + /** + * Decodes a ForceCutOverSchemaMigrationResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ForceCutOverSchemaMigrationResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): vtctldata.ForceCutOverSchemaMigrationResponse; + + /** + * Verifies a ForceCutOverSchemaMigrationResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ForceCutOverSchemaMigrationResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ForceCutOverSchemaMigrationResponse + */ + public static fromObject(object: { [k: string]: any }): vtctldata.ForceCutOverSchemaMigrationResponse; + + /** + * Creates a plain object from a ForceCutOverSchemaMigrationResponse message. Also converts values to other types if specified. + * @param message ForceCutOverSchemaMigrationResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: vtctldata.ForceCutOverSchemaMigrationResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ForceCutOverSchemaMigrationResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ForceCutOverSchemaMigrationResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Properties of a GetBackupsRequest. */ interface IGetBackupsRequest { diff --git a/web/vtadmin/src/proto/vtadmin.js b/web/vtadmin/src/proto/vtadmin.js index 4d314e2b299..2bc5ebb7795 100644 --- a/web/vtadmin/src/proto/vtadmin.js +++ b/web/vtadmin/src/proto/vtadmin.js @@ -120255,6 +120255,481 @@ export const vtctldata = $root.vtctldata = (() => { return FindAllShardsInKeyspaceResponse; })(); + vtctldata.ForceCutOverSchemaMigrationRequest = (function() { + + /** + * Properties of a ForceCutOverSchemaMigrationRequest. + * @memberof vtctldata + * @interface IForceCutOverSchemaMigrationRequest + * @property {string|null} [keyspace] ForceCutOverSchemaMigrationRequest keyspace + * @property {string|null} [uuid] ForceCutOverSchemaMigrationRequest uuid + */ + + /** + * Constructs a new ForceCutOverSchemaMigrationRequest. + * @memberof vtctldata + * @classdesc Represents a ForceCutOverSchemaMigrationRequest. + * @implements IForceCutOverSchemaMigrationRequest + * @constructor + * @param {vtctldata.IForceCutOverSchemaMigrationRequest=} [properties] Properties to set + */ + function ForceCutOverSchemaMigrationRequest(properties) { + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ForceCutOverSchemaMigrationRequest keyspace. + * @member {string} keyspace + * @memberof vtctldata.ForceCutOverSchemaMigrationRequest + * @instance + */ + ForceCutOverSchemaMigrationRequest.prototype.keyspace = ""; + + /** + * ForceCutOverSchemaMigrationRequest uuid. + * @member {string} uuid + * @memberof vtctldata.ForceCutOverSchemaMigrationRequest + * @instance + */ + ForceCutOverSchemaMigrationRequest.prototype.uuid = ""; + + /** + * Creates a new ForceCutOverSchemaMigrationRequest instance using the specified properties. + * @function create + * @memberof vtctldata.ForceCutOverSchemaMigrationRequest + * @static + * @param {vtctldata.IForceCutOverSchemaMigrationRequest=} [properties] Properties to set + * @returns {vtctldata.ForceCutOverSchemaMigrationRequest} ForceCutOverSchemaMigrationRequest instance + */ + ForceCutOverSchemaMigrationRequest.create = function create(properties) { + return new ForceCutOverSchemaMigrationRequest(properties); + }; + + /** + * Encodes the specified ForceCutOverSchemaMigrationRequest message. Does not implicitly {@link vtctldata.ForceCutOverSchemaMigrationRequest.verify|verify} messages. + * @function encode + * @memberof vtctldata.ForceCutOverSchemaMigrationRequest + * @static + * @param {vtctldata.IForceCutOverSchemaMigrationRequest} message ForceCutOverSchemaMigrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ForceCutOverSchemaMigrationRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.keyspace != null && Object.hasOwnProperty.call(message, "keyspace")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.keyspace); + if (message.uuid != null && Object.hasOwnProperty.call(message, "uuid")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.uuid); + return writer; + }; + + /** + * Encodes the specified ForceCutOverSchemaMigrationRequest message, length delimited. Does not implicitly {@link vtctldata.ForceCutOverSchemaMigrationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof vtctldata.ForceCutOverSchemaMigrationRequest + * @static + * @param {vtctldata.IForceCutOverSchemaMigrationRequest} message ForceCutOverSchemaMigrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ForceCutOverSchemaMigrationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ForceCutOverSchemaMigrationRequest message from the specified reader or buffer. + * @function decode + * @memberof vtctldata.ForceCutOverSchemaMigrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {vtctldata.ForceCutOverSchemaMigrationRequest} ForceCutOverSchemaMigrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ForceCutOverSchemaMigrationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.vtctldata.ForceCutOverSchemaMigrationRequest(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.keyspace = reader.string(); + break; + } + case 2: { + message.uuid = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ForceCutOverSchemaMigrationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof vtctldata.ForceCutOverSchemaMigrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {vtctldata.ForceCutOverSchemaMigrationRequest} ForceCutOverSchemaMigrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ForceCutOverSchemaMigrationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ForceCutOverSchemaMigrationRequest message. + * @function verify + * @memberof vtctldata.ForceCutOverSchemaMigrationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ForceCutOverSchemaMigrationRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.keyspace != null && message.hasOwnProperty("keyspace")) + if (!$util.isString(message.keyspace)) + return "keyspace: string expected"; + if (message.uuid != null && message.hasOwnProperty("uuid")) + if (!$util.isString(message.uuid)) + return "uuid: string expected"; + return null; + }; + + /** + * Creates a ForceCutOverSchemaMigrationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof vtctldata.ForceCutOverSchemaMigrationRequest + * @static + * @param {Object.} object Plain object + * @returns {vtctldata.ForceCutOverSchemaMigrationRequest} ForceCutOverSchemaMigrationRequest + */ + ForceCutOverSchemaMigrationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.vtctldata.ForceCutOverSchemaMigrationRequest) + return object; + let message = new $root.vtctldata.ForceCutOverSchemaMigrationRequest(); + if (object.keyspace != null) + message.keyspace = String(object.keyspace); + if (object.uuid != null) + message.uuid = String(object.uuid); + return message; + }; + + /** + * Creates a plain object from a ForceCutOverSchemaMigrationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof vtctldata.ForceCutOverSchemaMigrationRequest + * @static + * @param {vtctldata.ForceCutOverSchemaMigrationRequest} message ForceCutOverSchemaMigrationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ForceCutOverSchemaMigrationRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + let object = {}; + if (options.defaults) { + object.keyspace = ""; + object.uuid = ""; + } + if (message.keyspace != null && message.hasOwnProperty("keyspace")) + object.keyspace = message.keyspace; + if (message.uuid != null && message.hasOwnProperty("uuid")) + object.uuid = message.uuid; + return object; + }; + + /** + * Converts this ForceCutOverSchemaMigrationRequest to JSON. + * @function toJSON + * @memberof vtctldata.ForceCutOverSchemaMigrationRequest + * @instance + * @returns {Object.} JSON object + */ + ForceCutOverSchemaMigrationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ForceCutOverSchemaMigrationRequest + * @function getTypeUrl + * @memberof vtctldata.ForceCutOverSchemaMigrationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ForceCutOverSchemaMigrationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/vtctldata.ForceCutOverSchemaMigrationRequest"; + }; + + return ForceCutOverSchemaMigrationRequest; + })(); + + vtctldata.ForceCutOverSchemaMigrationResponse = (function() { + + /** + * Properties of a ForceCutOverSchemaMigrationResponse. + * @memberof vtctldata + * @interface IForceCutOverSchemaMigrationResponse + * @property {Object.|null} [rows_affected_by_shard] ForceCutOverSchemaMigrationResponse rows_affected_by_shard + */ + + /** + * Constructs a new ForceCutOverSchemaMigrationResponse. + * @memberof vtctldata + * @classdesc Represents a ForceCutOverSchemaMigrationResponse. + * @implements IForceCutOverSchemaMigrationResponse + * @constructor + * @param {vtctldata.IForceCutOverSchemaMigrationResponse=} [properties] Properties to set + */ + function ForceCutOverSchemaMigrationResponse(properties) { + this.rows_affected_by_shard = {}; + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ForceCutOverSchemaMigrationResponse rows_affected_by_shard. + * @member {Object.} rows_affected_by_shard + * @memberof vtctldata.ForceCutOverSchemaMigrationResponse + * @instance + */ + ForceCutOverSchemaMigrationResponse.prototype.rows_affected_by_shard = $util.emptyObject; + + /** + * Creates a new ForceCutOverSchemaMigrationResponse instance using the specified properties. + * @function create + * @memberof vtctldata.ForceCutOverSchemaMigrationResponse + * @static + * @param {vtctldata.IForceCutOverSchemaMigrationResponse=} [properties] Properties to set + * @returns {vtctldata.ForceCutOverSchemaMigrationResponse} ForceCutOverSchemaMigrationResponse instance + */ + ForceCutOverSchemaMigrationResponse.create = function create(properties) { + return new ForceCutOverSchemaMigrationResponse(properties); + }; + + /** + * Encodes the specified ForceCutOverSchemaMigrationResponse message. Does not implicitly {@link vtctldata.ForceCutOverSchemaMigrationResponse.verify|verify} messages. + * @function encode + * @memberof vtctldata.ForceCutOverSchemaMigrationResponse + * @static + * @param {vtctldata.IForceCutOverSchemaMigrationResponse} message ForceCutOverSchemaMigrationResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ForceCutOverSchemaMigrationResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.rows_affected_by_shard != null && Object.hasOwnProperty.call(message, "rows_affected_by_shard")) + for (let keys = Object.keys(message.rows_affected_by_shard), i = 0; i < keys.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 0 =*/16).uint64(message.rows_affected_by_shard[keys[i]]).ldelim(); + return writer; + }; + + /** + * Encodes the specified ForceCutOverSchemaMigrationResponse message, length delimited. Does not implicitly {@link vtctldata.ForceCutOverSchemaMigrationResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof vtctldata.ForceCutOverSchemaMigrationResponse + * @static + * @param {vtctldata.IForceCutOverSchemaMigrationResponse} message ForceCutOverSchemaMigrationResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ForceCutOverSchemaMigrationResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ForceCutOverSchemaMigrationResponse message from the specified reader or buffer. + * @function decode + * @memberof vtctldata.ForceCutOverSchemaMigrationResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {vtctldata.ForceCutOverSchemaMigrationResponse} ForceCutOverSchemaMigrationResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ForceCutOverSchemaMigrationResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.vtctldata.ForceCutOverSchemaMigrationResponse(), key, value; + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (message.rows_affected_by_shard === $util.emptyObject) + message.rows_affected_by_shard = {}; + let end2 = reader.uint32() + reader.pos; + key = ""; + value = 0; + while (reader.pos < end2) { + let tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.uint64(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.rows_affected_by_shard[key] = value; + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ForceCutOverSchemaMigrationResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof vtctldata.ForceCutOverSchemaMigrationResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {vtctldata.ForceCutOverSchemaMigrationResponse} ForceCutOverSchemaMigrationResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ForceCutOverSchemaMigrationResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ForceCutOverSchemaMigrationResponse message. + * @function verify + * @memberof vtctldata.ForceCutOverSchemaMigrationResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ForceCutOverSchemaMigrationResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.rows_affected_by_shard != null && message.hasOwnProperty("rows_affected_by_shard")) { + if (!$util.isObject(message.rows_affected_by_shard)) + return "rows_affected_by_shard: object expected"; + let key = Object.keys(message.rows_affected_by_shard); + for (let i = 0; i < key.length; ++i) + if (!$util.isInteger(message.rows_affected_by_shard[key[i]]) && !(message.rows_affected_by_shard[key[i]] && $util.isInteger(message.rows_affected_by_shard[key[i]].low) && $util.isInteger(message.rows_affected_by_shard[key[i]].high))) + return "rows_affected_by_shard: integer|Long{k:string} expected"; + } + return null; + }; + + /** + * Creates a ForceCutOverSchemaMigrationResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof vtctldata.ForceCutOverSchemaMigrationResponse + * @static + * @param {Object.} object Plain object + * @returns {vtctldata.ForceCutOverSchemaMigrationResponse} ForceCutOverSchemaMigrationResponse + */ + ForceCutOverSchemaMigrationResponse.fromObject = function fromObject(object) { + if (object instanceof $root.vtctldata.ForceCutOverSchemaMigrationResponse) + return object; + let message = new $root.vtctldata.ForceCutOverSchemaMigrationResponse(); + if (object.rows_affected_by_shard) { + if (typeof object.rows_affected_by_shard !== "object") + throw TypeError(".vtctldata.ForceCutOverSchemaMigrationResponse.rows_affected_by_shard: object expected"); + message.rows_affected_by_shard = {}; + for (let keys = Object.keys(object.rows_affected_by_shard), i = 0; i < keys.length; ++i) + if ($util.Long) + (message.rows_affected_by_shard[keys[i]] = $util.Long.fromValue(object.rows_affected_by_shard[keys[i]])).unsigned = true; + else if (typeof object.rows_affected_by_shard[keys[i]] === "string") + message.rows_affected_by_shard[keys[i]] = parseInt(object.rows_affected_by_shard[keys[i]], 10); + else if (typeof object.rows_affected_by_shard[keys[i]] === "number") + message.rows_affected_by_shard[keys[i]] = object.rows_affected_by_shard[keys[i]]; + else if (typeof object.rows_affected_by_shard[keys[i]] === "object") + message.rows_affected_by_shard[keys[i]] = new $util.LongBits(object.rows_affected_by_shard[keys[i]].low >>> 0, object.rows_affected_by_shard[keys[i]].high >>> 0).toNumber(true); + } + return message; + }; + + /** + * Creates a plain object from a ForceCutOverSchemaMigrationResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof vtctldata.ForceCutOverSchemaMigrationResponse + * @static + * @param {vtctldata.ForceCutOverSchemaMigrationResponse} message ForceCutOverSchemaMigrationResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ForceCutOverSchemaMigrationResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + let object = {}; + if (options.objects || options.defaults) + object.rows_affected_by_shard = {}; + let keys2; + if (message.rows_affected_by_shard && (keys2 = Object.keys(message.rows_affected_by_shard)).length) { + object.rows_affected_by_shard = {}; + for (let j = 0; j < keys2.length; ++j) + if (typeof message.rows_affected_by_shard[keys2[j]] === "number") + object.rows_affected_by_shard[keys2[j]] = options.longs === String ? String(message.rows_affected_by_shard[keys2[j]]) : message.rows_affected_by_shard[keys2[j]]; + else + object.rows_affected_by_shard[keys2[j]] = options.longs === String ? $util.Long.prototype.toString.call(message.rows_affected_by_shard[keys2[j]]) : options.longs === Number ? new $util.LongBits(message.rows_affected_by_shard[keys2[j]].low >>> 0, message.rows_affected_by_shard[keys2[j]].high >>> 0).toNumber(true) : message.rows_affected_by_shard[keys2[j]]; + } + return object; + }; + + /** + * Converts this ForceCutOverSchemaMigrationResponse to JSON. + * @function toJSON + * @memberof vtctldata.ForceCutOverSchemaMigrationResponse + * @instance + * @returns {Object.} JSON object + */ + ForceCutOverSchemaMigrationResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ForceCutOverSchemaMigrationResponse + * @function getTypeUrl + * @memberof vtctldata.ForceCutOverSchemaMigrationResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ForceCutOverSchemaMigrationResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/vtctldata.ForceCutOverSchemaMigrationResponse"; + }; + + return ForceCutOverSchemaMigrationResponse; + })(); + vtctldata.GetBackupsRequest = (function() { /**