diff --git a/go/mysql/constants.go b/go/mysql/constants.go index dc961154734..80e3aea5423 100644 --- a/go/mysql/constants.go +++ b/go/mysql/constants.go @@ -231,6 +231,9 @@ const ( const ( // ERVitessMaxRowsExceeded is when a user tries to select more rows than the max rows as enforced by vitess. ERVitessMaxRowsExceeded = 10001 + + // ERVitessShardError is when a shard query fails in a partial scatter statement + ERVitessShardError = 10002 ) // Error codes for server-side errors. diff --git a/go/sqltypes/value.go b/go/sqltypes/value.go index b788700be81..95f326ee161 100644 --- a/go/sqltypes/value.go +++ b/go/sqltypes/value.go @@ -110,6 +110,11 @@ func NewUint64(v uint64) Value { return MakeTrusted(Uint64, strconv.AppendUint(nil, v, 10)) } +// NewUint32 builds an Uint32 Value. +func NewUint32(v uint32) Value { + return MakeTrusted(Uint32, strconv.AppendUint(nil, uint64(v), 10)) +} + // NewFloat64 builds an Float64 Value. func NewFloat64(v float64) Value { return MakeTrusted(Float64, strconv.AppendFloat(nil, v, 'g', -1, 64)) diff --git a/go/vt/proto/query/query.pb.go b/go/vt/proto/query/query.pb.go index 98f8a7ac9f7..8df47083a92 100644 --- a/go/vt/proto/query/query.pb.go +++ b/go/vt/proto/query/query.pb.go @@ -95,7 +95,7 @@ func (x MySqlFlag) String() string { return proto.EnumName(MySqlFlag_name, int32(x)) } func (MySqlFlag) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{0} + return fileDescriptor_query_9111254583ad7475, []int{0} } // Flag allows us to qualify types by their common properties. @@ -134,7 +134,7 @@ func (x Flag) String() string { return proto.EnumName(Flag_name, int32(x)) } func (Flag) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{1} + return fileDescriptor_query_9111254583ad7475, []int{1} } // Type defines the various supported data types in bind vars @@ -315,7 +315,7 @@ func (x Type) String() string { return proto.EnumName(Type_name, int32(x)) } func (Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{2} + return fileDescriptor_query_9111254583ad7475, []int{2} } // TransactionState represents the state of a distributed transaction. @@ -345,7 +345,7 @@ func (x TransactionState) String() string { return proto.EnumName(TransactionState_name, int32(x)) } func (TransactionState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{3} + return fileDescriptor_query_9111254583ad7475, []int{3} } type ExecuteOptions_IncludedFields int32 @@ -371,7 +371,7 @@ func (x ExecuteOptions_IncludedFields) String() string { return proto.EnumName(ExecuteOptions_IncludedFields_name, int32(x)) } func (ExecuteOptions_IncludedFields) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{6, 0} + return fileDescriptor_query_9111254583ad7475, []int{6, 0} } type ExecuteOptions_Workload int32 @@ -400,7 +400,7 @@ func (x ExecuteOptions_Workload) String() string { return proto.EnumName(ExecuteOptions_Workload_name, int32(x)) } func (ExecuteOptions_Workload) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{6, 1} + return fileDescriptor_query_9111254583ad7475, []int{6, 1} } type ExecuteOptions_TransactionIsolation int32 @@ -432,7 +432,7 @@ func (x ExecuteOptions_TransactionIsolation) String() string { return proto.EnumName(ExecuteOptions_TransactionIsolation_name, int32(x)) } func (ExecuteOptions_TransactionIsolation) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{6, 2} + return fileDescriptor_query_9111254583ad7475, []int{6, 2} } // The category of one statement. @@ -459,7 +459,7 @@ func (x StreamEvent_Statement_Category) String() string { return proto.EnumName(StreamEvent_Statement_Category_name, int32(x)) } func (StreamEvent_Statement_Category) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{11, 0, 0} + return fileDescriptor_query_9111254583ad7475, []int{12, 0, 0} } type SplitQueryRequest_Algorithm int32 @@ -482,7 +482,7 @@ func (x SplitQueryRequest_Algorithm) String() string { return proto.EnumName(SplitQueryRequest_Algorithm_name, int32(x)) } func (SplitQueryRequest_Algorithm) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{49, 0} + return fileDescriptor_query_9111254583ad7475, []int{50, 0} } // Target describes what the client expects the tablet is. @@ -503,7 +503,7 @@ func (m *Target) Reset() { *m = Target{} } func (m *Target) String() string { return proto.CompactTextString(m) } func (*Target) ProtoMessage() {} func (*Target) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{0} + return fileDescriptor_query_9111254583ad7475, []int{0} } func (m *Target) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Target.Unmarshal(m, b) @@ -571,7 +571,7 @@ func (m *VTGateCallerID) Reset() { *m = VTGateCallerID{} } func (m *VTGateCallerID) String() string { return proto.CompactTextString(m) } func (*VTGateCallerID) ProtoMessage() {} func (*VTGateCallerID) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{1} + return fileDescriptor_query_9111254583ad7475, []int{1} } func (m *VTGateCallerID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_VTGateCallerID.Unmarshal(m, b) @@ -627,7 +627,7 @@ func (m *EventToken) Reset() { *m = EventToken{} } func (m *EventToken) String() string { return proto.CompactTextString(m) } func (*EventToken) ProtoMessage() {} func (*EventToken) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{2} + return fileDescriptor_query_9111254583ad7475, []int{2} } func (m *EventToken) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_EventToken.Unmarshal(m, b) @@ -681,7 +681,7 @@ func (m *Value) Reset() { *m = Value{} } func (m *Value) String() string { return proto.CompactTextString(m) } func (*Value) ProtoMessage() {} func (*Value) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{3} + return fileDescriptor_query_9111254583ad7475, []int{3} } func (m *Value) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Value.Unmarshal(m, b) @@ -730,7 +730,7 @@ func (m *BindVariable) Reset() { *m = BindVariable{} } func (m *BindVariable) String() string { return proto.CompactTextString(m) } func (*BindVariable) ProtoMessage() {} func (*BindVariable) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{4} + return fileDescriptor_query_9111254583ad7475, []int{4} } func (m *BindVariable) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BindVariable.Unmarshal(m, b) @@ -787,7 +787,7 @@ func (m *BoundQuery) Reset() { *m = BoundQuery{} } func (m *BoundQuery) String() string { return proto.CompactTextString(m) } func (*BoundQuery) ProtoMessage() {} func (*BoundQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{5} + return fileDescriptor_query_9111254583ad7475, []int{5} } func (m *BoundQuery) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BoundQuery.Unmarshal(m, b) @@ -861,7 +861,7 @@ func (m *ExecuteOptions) Reset() { *m = ExecuteOptions{} } func (m *ExecuteOptions) String() string { return proto.CompactTextString(m) } func (*ExecuteOptions) ProtoMessage() {} func (*ExecuteOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{6} + return fileDescriptor_query_9111254583ad7475, []int{6} } func (m *ExecuteOptions) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteOptions.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *Field) Reset() { *m = Field{} } func (m *Field) String() string { return proto.CompactTextString(m) } func (*Field) ProtoMessage() {} func (*Field) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{7} + return fileDescriptor_query_9111254583ad7475, []int{7} } func (m *Field) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Field.Unmarshal(m, b) @@ -1075,7 +1075,7 @@ func (m *Row) Reset() { *m = Row{} } func (m *Row) String() string { return proto.CompactTextString(m) } func (*Row) ProtoMessage() {} func (*Row) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{8} + return fileDescriptor_query_9111254583ad7475, []int{8} } func (m *Row) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Row.Unmarshal(m, b) @@ -1127,7 +1127,7 @@ func (m *ResultExtras) Reset() { *m = ResultExtras{} } func (m *ResultExtras) String() string { return proto.CompactTextString(m) } func (*ResultExtras) ProtoMessage() {} func (*ResultExtras) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{9} + return fileDescriptor_query_9111254583ad7475, []int{9} } func (m *ResultExtras) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResultExtras.Unmarshal(m, b) @@ -1185,7 +1185,7 @@ func (m *QueryResult) Reset() { *m = QueryResult{} } func (m *QueryResult) String() string { return proto.CompactTextString(m) } func (*QueryResult) ProtoMessage() {} func (*QueryResult) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{10} + return fileDescriptor_query_9111254583ad7475, []int{10} } func (m *QueryResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QueryResult.Unmarshal(m, b) @@ -1240,6 +1240,54 @@ func (m *QueryResult) GetExtras() *ResultExtras { return nil } +// QueryWarning is used to convey out of band query execution warnings +// by storing in the vtgate.Session +type QueryWarning struct { + Code uint32 `protobuf:"varint,1,opt,name=code" json:"code,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryWarning) Reset() { *m = QueryWarning{} } +func (m *QueryWarning) String() string { return proto.CompactTextString(m) } +func (*QueryWarning) ProtoMessage() {} +func (*QueryWarning) Descriptor() ([]byte, []int) { + return fileDescriptor_query_9111254583ad7475, []int{11} +} +func (m *QueryWarning) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryWarning.Unmarshal(m, b) +} +func (m *QueryWarning) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryWarning.Marshal(b, m, deterministic) +} +func (dst *QueryWarning) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryWarning.Merge(dst, src) +} +func (m *QueryWarning) XXX_Size() int { + return xxx_messageInfo_QueryWarning.Size(m) +} +func (m *QueryWarning) XXX_DiscardUnknown() { + xxx_messageInfo_QueryWarning.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryWarning proto.InternalMessageInfo + +func (m *QueryWarning) GetCode() uint32 { + if m != nil { + return m.Code + } + return 0 +} + +func (m *QueryWarning) GetMessage() string { + if m != nil { + return m.Message + } + return "" +} + // StreamEvent describes a set of transformations that happened as a // single transactional unit on a server. It is streamed back by the // Update Stream calls. @@ -1257,7 +1305,7 @@ func (m *StreamEvent) Reset() { *m = StreamEvent{} } func (m *StreamEvent) String() string { return proto.CompactTextString(m) } func (*StreamEvent) ProtoMessage() {} func (*StreamEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{11} + return fileDescriptor_query_9111254583ad7475, []int{12} } func (m *StreamEvent) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamEvent.Unmarshal(m, b) @@ -1310,7 +1358,7 @@ func (m *StreamEvent_Statement) Reset() { *m = StreamEvent_Statement{} } func (m *StreamEvent_Statement) String() string { return proto.CompactTextString(m) } func (*StreamEvent_Statement) ProtoMessage() {} func (*StreamEvent_Statement) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{11, 0} + return fileDescriptor_query_9111254583ad7475, []int{12, 0} } func (m *StreamEvent_Statement) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamEvent_Statement.Unmarshal(m, b) @@ -1382,7 +1430,7 @@ func (m *ExecuteRequest) Reset() { *m = ExecuteRequest{} } func (m *ExecuteRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteRequest) ProtoMessage() {} func (*ExecuteRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{12} + return fileDescriptor_query_9111254583ad7475, []int{13} } func (m *ExecuteRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteRequest.Unmarshal(m, b) @@ -1456,7 +1504,7 @@ func (m *ExecuteResponse) Reset() { *m = ExecuteResponse{} } func (m *ExecuteResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteResponse) ProtoMessage() {} func (*ExecuteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{13} + return fileDescriptor_query_9111254583ad7475, []int{14} } func (m *ExecuteResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteResponse.Unmarshal(m, b) @@ -1500,7 +1548,7 @@ func (m *ResultWithError) Reset() { *m = ResultWithError{} } func (m *ResultWithError) String() string { return proto.CompactTextString(m) } func (*ResultWithError) ProtoMessage() {} func (*ResultWithError) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{14} + return fileDescriptor_query_9111254583ad7475, []int{15} } func (m *ResultWithError) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResultWithError.Unmarshal(m, b) @@ -1552,7 +1600,7 @@ func (m *ExecuteBatchRequest) Reset() { *m = ExecuteBatchRequest{} } func (m *ExecuteBatchRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteBatchRequest) ProtoMessage() {} func (*ExecuteBatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{15} + return fileDescriptor_query_9111254583ad7475, []int{16} } func (m *ExecuteBatchRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteBatchRequest.Unmarshal(m, b) @@ -1633,7 +1681,7 @@ func (m *ExecuteBatchResponse) Reset() { *m = ExecuteBatchResponse{} } func (m *ExecuteBatchResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteBatchResponse) ProtoMessage() {} func (*ExecuteBatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{16} + return fileDescriptor_query_9111254583ad7475, []int{17} } func (m *ExecuteBatchResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteBatchResponse.Unmarshal(m, b) @@ -1676,7 +1724,7 @@ func (m *StreamExecuteRequest) Reset() { *m = StreamExecuteRequest{} } func (m *StreamExecuteRequest) String() string { return proto.CompactTextString(m) } func (*StreamExecuteRequest) ProtoMessage() {} func (*StreamExecuteRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{17} + return fileDescriptor_query_9111254583ad7475, []int{18} } func (m *StreamExecuteRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamExecuteRequest.Unmarshal(m, b) @@ -1743,7 +1791,7 @@ func (m *StreamExecuteResponse) Reset() { *m = StreamExecuteResponse{} } func (m *StreamExecuteResponse) String() string { return proto.CompactTextString(m) } func (*StreamExecuteResponse) ProtoMessage() {} func (*StreamExecuteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{18} + return fileDescriptor_query_9111254583ad7475, []int{19} } func (m *StreamExecuteResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamExecuteResponse.Unmarshal(m, b) @@ -1785,7 +1833,7 @@ func (m *BeginRequest) Reset() { *m = BeginRequest{} } func (m *BeginRequest) String() string { return proto.CompactTextString(m) } func (*BeginRequest) ProtoMessage() {} func (*BeginRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{19} + return fileDescriptor_query_9111254583ad7475, []int{20} } func (m *BeginRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BeginRequest.Unmarshal(m, b) @@ -1845,7 +1893,7 @@ func (m *BeginResponse) Reset() { *m = BeginResponse{} } func (m *BeginResponse) String() string { return proto.CompactTextString(m) } func (*BeginResponse) ProtoMessage() {} func (*BeginResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{20} + return fileDescriptor_query_9111254583ad7475, []int{21} } func (m *BeginResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BeginResponse.Unmarshal(m, b) @@ -1887,7 +1935,7 @@ func (m *CommitRequest) Reset() { *m = CommitRequest{} } func (m *CommitRequest) String() string { return proto.CompactTextString(m) } func (*CommitRequest) ProtoMessage() {} func (*CommitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{21} + return fileDescriptor_query_9111254583ad7475, []int{22} } func (m *CommitRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommitRequest.Unmarshal(m, b) @@ -1946,7 +1994,7 @@ func (m *CommitResponse) Reset() { *m = CommitResponse{} } func (m *CommitResponse) String() string { return proto.CompactTextString(m) } func (*CommitResponse) ProtoMessage() {} func (*CommitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{22} + return fileDescriptor_query_9111254583ad7475, []int{23} } func (m *CommitResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommitResponse.Unmarshal(m, b) @@ -1981,7 +2029,7 @@ func (m *RollbackRequest) Reset() { *m = RollbackRequest{} } func (m *RollbackRequest) String() string { return proto.CompactTextString(m) } func (*RollbackRequest) ProtoMessage() {} func (*RollbackRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{23} + return fileDescriptor_query_9111254583ad7475, []int{24} } func (m *RollbackRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RollbackRequest.Unmarshal(m, b) @@ -2040,7 +2088,7 @@ func (m *RollbackResponse) Reset() { *m = RollbackResponse{} } func (m *RollbackResponse) String() string { return proto.CompactTextString(m) } func (*RollbackResponse) ProtoMessage() {} func (*RollbackResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{24} + return fileDescriptor_query_9111254583ad7475, []int{25} } func (m *RollbackResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RollbackResponse.Unmarshal(m, b) @@ -2076,7 +2124,7 @@ func (m *PrepareRequest) Reset() { *m = PrepareRequest{} } func (m *PrepareRequest) String() string { return proto.CompactTextString(m) } func (*PrepareRequest) ProtoMessage() {} func (*PrepareRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{25} + return fileDescriptor_query_9111254583ad7475, []int{26} } func (m *PrepareRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PrepareRequest.Unmarshal(m, b) @@ -2142,7 +2190,7 @@ func (m *PrepareResponse) Reset() { *m = PrepareResponse{} } func (m *PrepareResponse) String() string { return proto.CompactTextString(m) } func (*PrepareResponse) ProtoMessage() {} func (*PrepareResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{26} + return fileDescriptor_query_9111254583ad7475, []int{27} } func (m *PrepareResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PrepareResponse.Unmarshal(m, b) @@ -2177,7 +2225,7 @@ func (m *CommitPreparedRequest) Reset() { *m = CommitPreparedRequest{} } func (m *CommitPreparedRequest) String() string { return proto.CompactTextString(m) } func (*CommitPreparedRequest) ProtoMessage() {} func (*CommitPreparedRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{27} + return fileDescriptor_query_9111254583ad7475, []int{28} } func (m *CommitPreparedRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommitPreparedRequest.Unmarshal(m, b) @@ -2236,7 +2284,7 @@ func (m *CommitPreparedResponse) Reset() { *m = CommitPreparedResponse{} func (m *CommitPreparedResponse) String() string { return proto.CompactTextString(m) } func (*CommitPreparedResponse) ProtoMessage() {} func (*CommitPreparedResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{28} + return fileDescriptor_query_9111254583ad7475, []int{29} } func (m *CommitPreparedResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommitPreparedResponse.Unmarshal(m, b) @@ -2272,7 +2320,7 @@ func (m *RollbackPreparedRequest) Reset() { *m = RollbackPreparedRequest func (m *RollbackPreparedRequest) String() string { return proto.CompactTextString(m) } func (*RollbackPreparedRequest) ProtoMessage() {} func (*RollbackPreparedRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{29} + return fileDescriptor_query_9111254583ad7475, []int{30} } func (m *RollbackPreparedRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RollbackPreparedRequest.Unmarshal(m, b) @@ -2338,7 +2386,7 @@ func (m *RollbackPreparedResponse) Reset() { *m = RollbackPreparedRespon func (m *RollbackPreparedResponse) String() string { return proto.CompactTextString(m) } func (*RollbackPreparedResponse) ProtoMessage() {} func (*RollbackPreparedResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{30} + return fileDescriptor_query_9111254583ad7475, []int{31} } func (m *RollbackPreparedResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RollbackPreparedResponse.Unmarshal(m, b) @@ -2374,7 +2422,7 @@ func (m *CreateTransactionRequest) Reset() { *m = CreateTransactionReque func (m *CreateTransactionRequest) String() string { return proto.CompactTextString(m) } func (*CreateTransactionRequest) ProtoMessage() {} func (*CreateTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{31} + return fileDescriptor_query_9111254583ad7475, []int{32} } func (m *CreateTransactionRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateTransactionRequest.Unmarshal(m, b) @@ -2440,7 +2488,7 @@ func (m *CreateTransactionResponse) Reset() { *m = CreateTransactionResp func (m *CreateTransactionResponse) String() string { return proto.CompactTextString(m) } func (*CreateTransactionResponse) ProtoMessage() {} func (*CreateTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{32} + return fileDescriptor_query_9111254583ad7475, []int{33} } func (m *CreateTransactionResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateTransactionResponse.Unmarshal(m, b) @@ -2476,7 +2524,7 @@ func (m *StartCommitRequest) Reset() { *m = StartCommitRequest{} } func (m *StartCommitRequest) String() string { return proto.CompactTextString(m) } func (*StartCommitRequest) ProtoMessage() {} func (*StartCommitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{33} + return fileDescriptor_query_9111254583ad7475, []int{34} } func (m *StartCommitRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartCommitRequest.Unmarshal(m, b) @@ -2542,7 +2590,7 @@ func (m *StartCommitResponse) Reset() { *m = StartCommitResponse{} } func (m *StartCommitResponse) String() string { return proto.CompactTextString(m) } func (*StartCommitResponse) ProtoMessage() {} func (*StartCommitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{34} + return fileDescriptor_query_9111254583ad7475, []int{35} } func (m *StartCommitResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartCommitResponse.Unmarshal(m, b) @@ -2578,7 +2626,7 @@ func (m *SetRollbackRequest) Reset() { *m = SetRollbackRequest{} } func (m *SetRollbackRequest) String() string { return proto.CompactTextString(m) } func (*SetRollbackRequest) ProtoMessage() {} func (*SetRollbackRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{35} + return fileDescriptor_query_9111254583ad7475, []int{36} } func (m *SetRollbackRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetRollbackRequest.Unmarshal(m, b) @@ -2644,7 +2692,7 @@ func (m *SetRollbackResponse) Reset() { *m = SetRollbackResponse{} } func (m *SetRollbackResponse) String() string { return proto.CompactTextString(m) } func (*SetRollbackResponse) ProtoMessage() {} func (*SetRollbackResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{36} + return fileDescriptor_query_9111254583ad7475, []int{37} } func (m *SetRollbackResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetRollbackResponse.Unmarshal(m, b) @@ -2679,7 +2727,7 @@ func (m *ConcludeTransactionRequest) Reset() { *m = ConcludeTransactionR func (m *ConcludeTransactionRequest) String() string { return proto.CompactTextString(m) } func (*ConcludeTransactionRequest) ProtoMessage() {} func (*ConcludeTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{37} + return fileDescriptor_query_9111254583ad7475, []int{38} } func (m *ConcludeTransactionRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConcludeTransactionRequest.Unmarshal(m, b) @@ -2738,7 +2786,7 @@ func (m *ConcludeTransactionResponse) Reset() { *m = ConcludeTransaction func (m *ConcludeTransactionResponse) String() string { return proto.CompactTextString(m) } func (*ConcludeTransactionResponse) ProtoMessage() {} func (*ConcludeTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{38} + return fileDescriptor_query_9111254583ad7475, []int{39} } func (m *ConcludeTransactionResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConcludeTransactionResponse.Unmarshal(m, b) @@ -2773,7 +2821,7 @@ func (m *ReadTransactionRequest) Reset() { *m = ReadTransactionRequest{} func (m *ReadTransactionRequest) String() string { return proto.CompactTextString(m) } func (*ReadTransactionRequest) ProtoMessage() {} func (*ReadTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{39} + return fileDescriptor_query_9111254583ad7475, []int{40} } func (m *ReadTransactionRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReadTransactionRequest.Unmarshal(m, b) @@ -2833,7 +2881,7 @@ func (m *ReadTransactionResponse) Reset() { *m = ReadTransactionResponse func (m *ReadTransactionResponse) String() string { return proto.CompactTextString(m) } func (*ReadTransactionResponse) ProtoMessage() {} func (*ReadTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{40} + return fileDescriptor_query_9111254583ad7475, []int{41} } func (m *ReadTransactionResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReadTransactionResponse.Unmarshal(m, b) @@ -2876,7 +2924,7 @@ func (m *BeginExecuteRequest) Reset() { *m = BeginExecuteRequest{} } func (m *BeginExecuteRequest) String() string { return proto.CompactTextString(m) } func (*BeginExecuteRequest) ProtoMessage() {} func (*BeginExecuteRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{41} + return fileDescriptor_query_9111254583ad7475, []int{42} } func (m *BeginExecuteRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BeginExecuteRequest.Unmarshal(m, b) @@ -2949,7 +2997,7 @@ func (m *BeginExecuteResponse) Reset() { *m = BeginExecuteResponse{} } func (m *BeginExecuteResponse) String() string { return proto.CompactTextString(m) } func (*BeginExecuteResponse) ProtoMessage() {} func (*BeginExecuteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{42} + return fileDescriptor_query_9111254583ad7475, []int{43} } func (m *BeginExecuteResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BeginExecuteResponse.Unmarshal(m, b) @@ -3007,7 +3055,7 @@ func (m *BeginExecuteBatchRequest) Reset() { *m = BeginExecuteBatchReque func (m *BeginExecuteBatchRequest) String() string { return proto.CompactTextString(m) } func (*BeginExecuteBatchRequest) ProtoMessage() {} func (*BeginExecuteBatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{43} + return fileDescriptor_query_9111254583ad7475, []int{44} } func (m *BeginExecuteBatchRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BeginExecuteBatchRequest.Unmarshal(m, b) @@ -3087,7 +3135,7 @@ func (m *BeginExecuteBatchResponse) Reset() { *m = BeginExecuteBatchResp func (m *BeginExecuteBatchResponse) String() string { return proto.CompactTextString(m) } func (*BeginExecuteBatchResponse) ProtoMessage() {} func (*BeginExecuteBatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{44} + return fileDescriptor_query_9111254583ad7475, []int{45} } func (m *BeginExecuteBatchResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BeginExecuteBatchResponse.Unmarshal(m, b) @@ -3144,7 +3192,7 @@ func (m *MessageStreamRequest) Reset() { *m = MessageStreamRequest{} } func (m *MessageStreamRequest) String() string { return proto.CompactTextString(m) } func (*MessageStreamRequest) ProtoMessage() {} func (*MessageStreamRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{45} + return fileDescriptor_query_9111254583ad7475, []int{46} } func (m *MessageStreamRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageStreamRequest.Unmarshal(m, b) @@ -3204,7 +3252,7 @@ func (m *MessageStreamResponse) Reset() { *m = MessageStreamResponse{} } func (m *MessageStreamResponse) String() string { return proto.CompactTextString(m) } func (*MessageStreamResponse) ProtoMessage() {} func (*MessageStreamResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{46} + return fileDescriptor_query_9111254583ad7475, []int{47} } func (m *MessageStreamResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageStreamResponse.Unmarshal(m, b) @@ -3248,7 +3296,7 @@ func (m *MessageAckRequest) Reset() { *m = MessageAckRequest{} } func (m *MessageAckRequest) String() string { return proto.CompactTextString(m) } func (*MessageAckRequest) ProtoMessage() {} func (*MessageAckRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{47} + return fileDescriptor_query_9111254583ad7475, []int{48} } func (m *MessageAckRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageAckRequest.Unmarshal(m, b) @@ -3318,7 +3366,7 @@ func (m *MessageAckResponse) Reset() { *m = MessageAckResponse{} } func (m *MessageAckResponse) String() string { return proto.CompactTextString(m) } func (*MessageAckResponse) ProtoMessage() {} func (*MessageAckResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{48} + return fileDescriptor_query_9111254583ad7475, []int{49} } func (m *MessageAckResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageAckResponse.Unmarshal(m, b) @@ -3366,7 +3414,7 @@ func (m *SplitQueryRequest) Reset() { *m = SplitQueryRequest{} } func (m *SplitQueryRequest) String() string { return proto.CompactTextString(m) } func (*SplitQueryRequest) ProtoMessage() {} func (*SplitQueryRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{49} + return fileDescriptor_query_9111254583ad7475, []int{50} } func (m *SplitQueryRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SplitQueryRequest.Unmarshal(m, b) @@ -3457,7 +3505,7 @@ func (m *QuerySplit) Reset() { *m = QuerySplit{} } func (m *QuerySplit) String() string { return proto.CompactTextString(m) } func (*QuerySplit) ProtoMessage() {} func (*QuerySplit) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{50} + return fileDescriptor_query_9111254583ad7475, []int{51} } func (m *QuerySplit) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QuerySplit.Unmarshal(m, b) @@ -3504,7 +3552,7 @@ func (m *SplitQueryResponse) Reset() { *m = SplitQueryResponse{} } func (m *SplitQueryResponse) String() string { return proto.CompactTextString(m) } func (*SplitQueryResponse) ProtoMessage() {} func (*SplitQueryResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{51} + return fileDescriptor_query_9111254583ad7475, []int{52} } func (m *SplitQueryResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SplitQueryResponse.Unmarshal(m, b) @@ -3542,7 +3590,7 @@ func (m *StreamHealthRequest) Reset() { *m = StreamHealthRequest{} } func (m *StreamHealthRequest) String() string { return proto.CompactTextString(m) } func (*StreamHealthRequest) ProtoMessage() {} func (*StreamHealthRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{52} + return fileDescriptor_query_9111254583ad7475, []int{53} } func (m *StreamHealthRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamHealthRequest.Unmarshal(m, b) @@ -3601,7 +3649,7 @@ func (m *RealtimeStats) Reset() { *m = RealtimeStats{} } func (m *RealtimeStats) String() string { return proto.CompactTextString(m) } func (*RealtimeStats) ProtoMessage() {} func (*RealtimeStats) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{53} + return fileDescriptor_query_9111254583ad7475, []int{54} } func (m *RealtimeStats) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RealtimeStats.Unmarshal(m, b) @@ -3689,7 +3737,7 @@ func (m *AggregateStats) Reset() { *m = AggregateStats{} } func (m *AggregateStats) String() string { return proto.CompactTextString(m) } func (*AggregateStats) ProtoMessage() {} func (*AggregateStats) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{54} + return fileDescriptor_query_9111254583ad7475, []int{55} } func (m *AggregateStats) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AggregateStats.Unmarshal(m, b) @@ -3801,7 +3849,7 @@ func (m *StreamHealthResponse) Reset() { *m = StreamHealthResponse{} } func (m *StreamHealthResponse) String() string { return proto.CompactTextString(m) } func (*StreamHealthResponse) ProtoMessage() {} func (*StreamHealthResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{55} + return fileDescriptor_query_9111254583ad7475, []int{56} } func (m *StreamHealthResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamHealthResponse.Unmarshal(m, b) @@ -3885,7 +3933,7 @@ func (m *UpdateStreamRequest) Reset() { *m = UpdateStreamRequest{} } func (m *UpdateStreamRequest) String() string { return proto.CompactTextString(m) } func (*UpdateStreamRequest) ProtoMessage() {} func (*UpdateStreamRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{56} + return fileDescriptor_query_9111254583ad7475, []int{57} } func (m *UpdateStreamRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateStreamRequest.Unmarshal(m, b) @@ -3952,7 +4000,7 @@ func (m *UpdateStreamResponse) Reset() { *m = UpdateStreamResponse{} } func (m *UpdateStreamResponse) String() string { return proto.CompactTextString(m) } func (*UpdateStreamResponse) ProtoMessage() {} func (*UpdateStreamResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{57} + return fileDescriptor_query_9111254583ad7475, []int{58} } func (m *UpdateStreamResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateStreamResponse.Unmarshal(m, b) @@ -3994,7 +4042,7 @@ func (m *TransactionMetadata) Reset() { *m = TransactionMetadata{} } func (m *TransactionMetadata) String() string { return proto.CompactTextString(m) } func (*TransactionMetadata) ProtoMessage() {} func (*TransactionMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_query_05c95bca0e3aaf7a, []int{58} + return fileDescriptor_query_9111254583ad7475, []int{59} } func (m *TransactionMetadata) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransactionMetadata.Unmarshal(m, b) @@ -4055,6 +4103,7 @@ func init() { proto.RegisterType((*Row)(nil), "query.Row") proto.RegisterType((*ResultExtras)(nil), "query.ResultExtras") proto.RegisterType((*QueryResult)(nil), "query.QueryResult") + proto.RegisterType((*QueryWarning)(nil), "query.QueryWarning") proto.RegisterType((*StreamEvent)(nil), "query.StreamEvent") proto.RegisterType((*StreamEvent_Statement)(nil), "query.StreamEvent.Statement") proto.RegisterType((*ExecuteRequest)(nil), "query.ExecuteRequest") @@ -4115,209 +4164,210 @@ func init() { proto.RegisterEnum("query.SplitQueryRequest_Algorithm", SplitQueryRequest_Algorithm_name, SplitQueryRequest_Algorithm_value) } -func init() { proto.RegisterFile("query.proto", fileDescriptor_query_05c95bca0e3aaf7a) } - -var fileDescriptor_query_05c95bca0e3aaf7a = []byte{ - // 3202 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x73, 0x1b, 0xc7, - 0x99, 0xd7, 0xe0, 0x41, 0x02, 0x1f, 0x08, 0xb0, 0xd9, 0x20, 0x25, 0x88, 0xf2, 0x83, 0x3b, 0xb6, - 0x6c, 0x2e, 0xed, 0xa5, 0x64, 0x4a, 0xd6, 0x6a, 0xed, 0x5d, 0xaf, 0x86, 0xe0, 0x50, 0x86, 0x85, - 0x97, 0x1a, 0x03, 0xc9, 0x52, 0xb9, 0x6a, 0x6a, 0x08, 0xb4, 0xc0, 0x29, 0x0e, 0x30, 0xd0, 0xcc, - 0x80, 0x14, 0x6f, 0xda, 0xf5, 0x7a, 0xdf, 0x0f, 0xef, 0xd3, 0xeb, 0xdd, 0x5a, 0x6f, 0xaa, 0x72, - 0xcf, 0xdf, 0x90, 0xca, 0x1f, 0x90, 0x5b, 0x0e, 0x49, 0x0e, 0x39, 0xa4, 0x52, 0x39, 0xa4, 0xca, - 0x95, 0x53, 0x0e, 0x39, 0xa4, 0x52, 0xfd, 0x98, 0xc1, 0x80, 0x84, 0x1e, 0x56, 0x72, 0xa1, 0xec, - 0x5b, 0xf7, 0xf7, 0x7d, 0xfd, 0xf8, 0xfd, 0xbe, 0x6f, 0xbe, 0xee, 0xe9, 0x6e, 0xc8, 0xdd, 0x1f, - 0x51, 0xef, 0x70, 0x7d, 0xe8, 0xb9, 0x81, 0x8b, 0xd3, 0xbc, 0xb2, 0x5c, 0x08, 0xdc, 0xa1, 0xdb, - 0xb5, 0x02, 0x4b, 0x88, 0x97, 0x73, 0xfb, 0x81, 0x37, 0xec, 0x88, 0x8a, 0xfa, 0x89, 0x02, 0x33, - 0x86, 0xe5, 0xf5, 0x68, 0x80, 0x97, 0x21, 0xb3, 0x47, 0x0f, 0xfd, 0xa1, 0xd5, 0xa1, 0x25, 0x65, - 0x45, 0x59, 0xcd, 0x92, 0xa8, 0x8e, 0x17, 0x21, 0xed, 0xef, 0x5a, 0x5e, 0xb7, 0x94, 0xe0, 0x0a, - 0x51, 0xc1, 0x6f, 0x43, 0x2e, 0xb0, 0x76, 0x1c, 0x1a, 0x98, 0xc1, 0xe1, 0x90, 0x96, 0x92, 0x2b, - 0xca, 0x6a, 0x61, 0x63, 0x71, 0x3d, 0x1a, 0xcf, 0xe0, 0x4a, 0xe3, 0x70, 0x48, 0x09, 0x04, 0x51, - 0x19, 0x63, 0x48, 0x75, 0xa8, 0xe3, 0x94, 0x52, 0xbc, 0x2f, 0x5e, 0x56, 0xb7, 0xa0, 0x70, 0xcb, - 0xb8, 0x6e, 0x05, 0xb4, 0x6c, 0x39, 0x0e, 0xf5, 0x2a, 0x5b, 0x6c, 0x3a, 0x23, 0x9f, 0x7a, 0x03, - 0xab, 0x1f, 0x4d, 0x27, 0xac, 0xe3, 0xd3, 0x30, 0xd3, 0xf3, 0xdc, 0xd1, 0xd0, 0x2f, 0x25, 0x56, - 0x92, 0xab, 0x59, 0x22, 0x6b, 0xea, 0x47, 0x00, 0xfa, 0x3e, 0x1d, 0x04, 0x86, 0xbb, 0x47, 0x07, - 0xf8, 0x05, 0xc8, 0x06, 0x76, 0x9f, 0xfa, 0x81, 0xd5, 0x1f, 0xf2, 0x2e, 0x92, 0x64, 0x2c, 0x78, - 0x04, 0xa4, 0x65, 0xc8, 0x0c, 0x5d, 0xdf, 0x0e, 0x6c, 0x77, 0xc0, 0xf1, 0x64, 0x49, 0x54, 0x57, - 0xdf, 0x83, 0xf4, 0x2d, 0xcb, 0x19, 0x51, 0xfc, 0x32, 0xa4, 0x38, 0x60, 0x85, 0x03, 0xce, 0xad, - 0x0b, 0xd2, 0x39, 0x4e, 0xae, 0x60, 0x7d, 0xef, 0x33, 0x4b, 0xde, 0xf7, 0x1c, 0x11, 0x15, 0x75, - 0x0f, 0xe6, 0x36, 0xed, 0x41, 0xf7, 0x96, 0xe5, 0xd9, 0x8c, 0x8c, 0x67, 0xec, 0x06, 0xbf, 0x0a, - 0x33, 0xbc, 0xe0, 0x97, 0x92, 0x2b, 0xc9, 0xd5, 0xdc, 0xc6, 0x9c, 0x6c, 0xc8, 0xe7, 0x46, 0xa4, - 0x4e, 0xfd, 0x9e, 0x02, 0xb0, 0xe9, 0x8e, 0x06, 0xdd, 0x9b, 0x4c, 0x89, 0x11, 0x24, 0xfd, 0xfb, - 0x8e, 0x24, 0x92, 0x15, 0xf1, 0x0d, 0x28, 0xec, 0xd8, 0x83, 0xae, 0xb9, 0x2f, 0xa7, 0x23, 0xb8, - 0xcc, 0x6d, 0xbc, 0x2a, 0xbb, 0x1b, 0x37, 0x5e, 0x8f, 0xcf, 0xda, 0xd7, 0x07, 0x81, 0x77, 0x48, - 0xf2, 0x3b, 0x71, 0xd9, 0x72, 0x1b, 0xf0, 0x71, 0x23, 0x36, 0xe8, 0x1e, 0x3d, 0x0c, 0x07, 0xdd, - 0xa3, 0x87, 0xf8, 0x0f, 0xe3, 0x88, 0x72, 0x1b, 0xc5, 0x70, 0xac, 0x58, 0x5b, 0x09, 0xf3, 0x9d, - 0xc4, 0x55, 0x45, 0xfd, 0x45, 0x1a, 0x0a, 0xfa, 0x03, 0xda, 0x19, 0x05, 0xb4, 0x31, 0x64, 0x3e, - 0xf0, 0xf1, 0x3a, 0x14, 0xed, 0x41, 0xc7, 0x19, 0x75, 0xa9, 0x49, 0x99, 0xab, 0xcd, 0x80, 0xf9, - 0x9a, 0xf7, 0x97, 0x21, 0x0b, 0x52, 0x15, 0x0b, 0x02, 0x0d, 0x8a, 0x1d, 0xb7, 0x3f, 0xb4, 0xbc, - 0x49, 0xfb, 0x24, 0x1f, 0x7f, 0x41, 0x8e, 0x3f, 0xb6, 0x27, 0x0b, 0xd2, 0x3a, 0xd6, 0x45, 0x0d, - 0xe6, 0x65, 0xbf, 0x5d, 0xf3, 0x9e, 0x4d, 0x9d, 0xae, 0xcf, 0x43, 0xb7, 0x10, 0x51, 0x35, 0x39, - 0xc5, 0xf5, 0x8a, 0x34, 0xde, 0xe6, 0xb6, 0xa4, 0x60, 0x4f, 0xd4, 0xf1, 0x1a, 0x2c, 0x74, 0x1c, - 0x9b, 0x4d, 0xe5, 0x1e, 0xa3, 0xd8, 0xf4, 0xdc, 0x03, 0xbf, 0x94, 0xe6, 0xf3, 0x9f, 0x17, 0x8a, - 0x6d, 0x26, 0x27, 0xee, 0x81, 0x8f, 0xdf, 0x81, 0xcc, 0x81, 0xeb, 0xed, 0x39, 0xae, 0xd5, 0x2d, - 0xcd, 0xf0, 0x31, 0x5f, 0x9a, 0x3e, 0xe6, 0x6d, 0x69, 0x45, 0x22, 0x7b, 0xbc, 0x0a, 0xc8, 0xbf, - 0xef, 0x98, 0x3e, 0x75, 0x68, 0x27, 0x30, 0x1d, 0xbb, 0x6f, 0x07, 0xa5, 0x0c, 0xff, 0x0a, 0x0a, - 0xfe, 0x7d, 0xa7, 0xc5, 0xc5, 0x55, 0x26, 0xc5, 0x26, 0x2c, 0x05, 0x9e, 0x35, 0xf0, 0xad, 0x0e, - 0xeb, 0xcc, 0xb4, 0x7d, 0xd7, 0xb1, 0xf8, 0x17, 0x90, 0xe5, 0x43, 0xae, 0x4d, 0x1f, 0xd2, 0x18, - 0x37, 0xa9, 0x84, 0x2d, 0xc8, 0x62, 0x30, 0x45, 0x8a, 0xdf, 0x82, 0x25, 0x7f, 0xcf, 0x1e, 0x9a, - 0xbc, 0x1f, 0x73, 0xe8, 0x58, 0x03, 0xb3, 0x63, 0x75, 0x76, 0x69, 0x09, 0x38, 0x6c, 0xcc, 0x94, - 0x3c, 0xd4, 0x9a, 0x8e, 0x35, 0x28, 0x33, 0x8d, 0xfa, 0x2e, 0x14, 0x26, 0x79, 0xc4, 0x0b, 0x90, - 0x37, 0xee, 0x34, 0x75, 0x53, 0xab, 0x6f, 0x99, 0x75, 0xad, 0xa6, 0xa3, 0x53, 0x38, 0x0f, 0x59, - 0x2e, 0x6a, 0xd4, 0xab, 0x77, 0x90, 0x82, 0x67, 0x21, 0xa9, 0x55, 0xab, 0x28, 0xa1, 0x5e, 0x85, - 0x4c, 0x48, 0x08, 0x9e, 0x87, 0x5c, 0xbb, 0xde, 0x6a, 0xea, 0xe5, 0xca, 0x76, 0x45, 0xdf, 0x42, - 0xa7, 0x70, 0x06, 0x52, 0x8d, 0xaa, 0xd1, 0x44, 0x8a, 0x28, 0x69, 0x4d, 0x94, 0x60, 0x2d, 0xb7, - 0x36, 0x35, 0x94, 0x54, 0x03, 0x58, 0x9c, 0x86, 0x0b, 0xe7, 0x60, 0x76, 0x4b, 0xdf, 0xd6, 0xda, - 0x55, 0x03, 0x9d, 0xc2, 0x45, 0x98, 0x27, 0x7a, 0x53, 0xd7, 0x0c, 0x6d, 0xb3, 0xaa, 0x9b, 0x44, - 0xd7, 0xb6, 0x90, 0x82, 0x31, 0x14, 0x58, 0xc9, 0x2c, 0x37, 0x6a, 0xb5, 0x8a, 0x61, 0xe8, 0x5b, - 0x28, 0x81, 0x17, 0x01, 0x71, 0x59, 0xbb, 0x3e, 0x96, 0x26, 0x31, 0x82, 0xb9, 0x96, 0x4e, 0x2a, - 0x5a, 0xb5, 0x72, 0x97, 0x75, 0x80, 0x52, 0x1f, 0xa4, 0x32, 0x0a, 0x4a, 0xa8, 0x9f, 0x25, 0x20, - 0xcd, 0xb1, 0xb2, 0x0c, 0x19, 0xcb, 0x7b, 0xbc, 0x1c, 0x65, 0x8b, 0xc4, 0x63, 0xb2, 0x05, 0x4f, - 0xb2, 0x32, 0x6f, 0x89, 0x0a, 0x3e, 0x07, 0x59, 0xd7, 0xeb, 0x99, 0x42, 0x23, 0x32, 0x6e, 0xc6, - 0xf5, 0x7a, 0x3c, 0x35, 0xb3, 0x6c, 0xc7, 0x12, 0xf5, 0x8e, 0xe5, 0x53, 0x1e, 0x81, 0x59, 0x12, - 0xd5, 0xf1, 0x59, 0x60, 0x76, 0x26, 0x9f, 0xc7, 0x0c, 0xd7, 0xcd, 0xba, 0x5e, 0xaf, 0xce, 0xa6, - 0xf2, 0x0a, 0xe4, 0x3b, 0xae, 0x33, 0xea, 0x0f, 0x4c, 0x87, 0x0e, 0x7a, 0xc1, 0x6e, 0x69, 0x76, - 0x45, 0x59, 0xcd, 0x93, 0x39, 0x21, 0xac, 0x72, 0x19, 0x2e, 0xc1, 0x6c, 0x67, 0xd7, 0xf2, 0x7c, - 0x2a, 0xa2, 0x2e, 0x4f, 0xc2, 0x2a, 0x1f, 0x95, 0x76, 0xec, 0xbe, 0xe5, 0xf8, 0x3c, 0xc2, 0xf2, - 0x24, 0xaa, 0x33, 0x10, 0xf7, 0x1c, 0xab, 0xe7, 0xf3, 0xc8, 0xc8, 0x13, 0x51, 0x51, 0xff, 0x18, - 0x92, 0xc4, 0x3d, 0x60, 0x5d, 0x8a, 0x01, 0xfd, 0x92, 0xb2, 0x92, 0x5c, 0xc5, 0x24, 0xac, 0xb2, - 0x05, 0x41, 0xe6, 0x44, 0x91, 0x2a, 0xc3, 0x2c, 0xf8, 0x11, 0xcc, 0x11, 0xea, 0x8f, 0x9c, 0x40, - 0x7f, 0x10, 0x78, 0x96, 0x8f, 0x37, 0x20, 0x17, 0xcf, 0x02, 0xca, 0xa3, 0xb2, 0x00, 0xd0, 0xf1, - 0xe7, 0x5f, 0x82, 0xd9, 0x7b, 0x1e, 0xf5, 0x77, 0xa9, 0x27, 0xb3, 0x4c, 0x58, 0x65, 0x39, 0x36, - 0xc7, 0xc3, 0x56, 0x8c, 0xc1, 0x32, 0xb3, 0xcc, 0x0f, 0xca, 0x44, 0x66, 0xe6, 0x4e, 0x25, 0x52, - 0xc7, 0xd8, 0x63, 0x9f, 0xbc, 0x69, 0xdd, 0xbb, 0x47, 0x3b, 0x01, 0x15, 0x0b, 0x50, 0x8a, 0xcc, - 0x31, 0xa1, 0x26, 0x65, 0xcc, 0x6d, 0xf6, 0xc0, 0xa7, 0x5e, 0x60, 0xda, 0x5d, 0xee, 0xd0, 0x14, - 0xc9, 0x08, 0x41, 0xa5, 0x8b, 0x5f, 0x82, 0x14, 0x4f, 0x1a, 0x29, 0x3e, 0x0a, 0xc8, 0x51, 0x88, - 0x7b, 0x40, 0xb8, 0x1c, 0xbf, 0x01, 0x33, 0x94, 0xe3, 0xe5, 0x4e, 0x1d, 0xa7, 0xd9, 0x38, 0x15, - 0x44, 0x9a, 0xa8, 0xdf, 0x4a, 0x42, 0xae, 0x15, 0x78, 0xd4, 0xea, 0x73, 0xfc, 0xf8, 0x4f, 0x01, - 0xfc, 0xc0, 0x0a, 0x68, 0x9f, 0x0e, 0x82, 0x10, 0xc8, 0x0b, 0xb2, 0x83, 0x98, 0xdd, 0x7a, 0x2b, - 0x34, 0x22, 0x31, 0xfb, 0xa3, 0x04, 0x27, 0x9e, 0x82, 0xe0, 0xe5, 0x2f, 0x12, 0x90, 0x8d, 0x7a, - 0xc3, 0x1a, 0x64, 0x3a, 0x56, 0x40, 0x7b, 0xae, 0x77, 0x28, 0x57, 0xc6, 0xf3, 0x8f, 0x1b, 0x7d, - 0xbd, 0x2c, 0x8d, 0x49, 0xd4, 0x0c, 0xbf, 0x08, 0x62, 0xbb, 0x21, 0x82, 0x57, 0xac, 0xef, 0x59, - 0x2e, 0xe1, 0xe1, 0xfb, 0x0e, 0xe0, 0xa1, 0x67, 0xf7, 0x2d, 0xef, 0xd0, 0xdc, 0xa3, 0x87, 0x61, - 0x4a, 0x4f, 0x4e, 0x71, 0x19, 0x92, 0x76, 0x37, 0xe8, 0xa1, 0x4c, 0x42, 0x57, 0x27, 0xdb, 0xca, - 0xa0, 0x3b, 0xee, 0x88, 0x58, 0x4b, 0xbe, 0x2e, 0xfb, 0xe1, 0x0a, 0x9c, 0xe6, 0xf1, 0xc9, 0x8a, - 0xea, 0xeb, 0x90, 0x09, 0x27, 0x8f, 0xb3, 0x90, 0xd6, 0x3d, 0xcf, 0xf5, 0xd0, 0x29, 0x9e, 0x8b, - 0x6a, 0x55, 0x91, 0xce, 0xb6, 0xb6, 0x58, 0x3a, 0xfb, 0x6e, 0x22, 0x5a, 0x06, 0x09, 0xbd, 0x3f, - 0xa2, 0x7e, 0x80, 0xff, 0x1c, 0x8a, 0x94, 0xc7, 0x8a, 0xbd, 0x4f, 0xcd, 0x0e, 0xdf, 0x33, 0xb1, - 0x48, 0x11, 0x01, 0x3d, 0xbf, 0x2e, 0xb6, 0x78, 0xe1, 0x5e, 0x8a, 0x2c, 0x44, 0xb6, 0x52, 0xd4, - 0xc5, 0x3a, 0x14, 0xed, 0x7e, 0x9f, 0x76, 0x6d, 0x2b, 0x88, 0x77, 0x20, 0x1c, 0xb6, 0x14, 0x6e, - 0x29, 0x26, 0xb6, 0x64, 0x64, 0x21, 0x6a, 0x11, 0x75, 0x73, 0x1e, 0x66, 0x02, 0xbe, 0x7d, 0x94, - 0x2b, 0x6a, 0x3e, 0xcc, 0x4b, 0x5c, 0x48, 0xa4, 0x12, 0xbf, 0x0e, 0x62, 0x33, 0xca, 0x33, 0xd0, - 0x38, 0x20, 0xc6, 0x7b, 0x0c, 0x22, 0xf4, 0xf8, 0x3c, 0x14, 0x26, 0x96, 0xa2, 0x2e, 0x27, 0x2c, - 0x49, 0xf2, 0xf1, 0x75, 0xa5, 0x8b, 0x2f, 0xc0, 0xac, 0x2b, 0x96, 0x21, 0x9e, 0x9b, 0xc6, 0x33, - 0x9e, 0x5c, 0xa3, 0x48, 0x68, 0xa5, 0xfe, 0x19, 0xcc, 0x47, 0x0c, 0xfa, 0x43, 0x77, 0xe0, 0x53, - 0xbc, 0x06, 0x33, 0x1e, 0xff, 0x20, 0x24, 0x6b, 0x58, 0x76, 0x11, 0xfb, 0xa2, 0x89, 0xb4, 0x50, - 0xbb, 0x30, 0x2f, 0x24, 0xb7, 0xed, 0x60, 0x97, 0x3b, 0x0a, 0x9f, 0x87, 0x34, 0x65, 0x85, 0x23, - 0x9c, 0x93, 0x66, 0x99, 0xeb, 0x89, 0xd0, 0xc6, 0x46, 0x49, 0x3c, 0x71, 0x94, 0x5f, 0x26, 0xa0, - 0x28, 0x67, 0xb9, 0x69, 0x05, 0x9d, 0xdd, 0x13, 0xea, 0xec, 0x37, 0x60, 0x96, 0xc9, 0xed, 0xe8, - 0xc3, 0x98, 0xe2, 0xee, 0xd0, 0x82, 0x39, 0xdc, 0xf2, 0xcd, 0x98, 0x77, 0xe5, 0x56, 0x28, 0x6f, - 0xf9, 0xb1, 0x85, 0x78, 0x4a, 0x5c, 0xcc, 0x3c, 0x21, 0x2e, 0x66, 0x9f, 0x2a, 0x2e, 0xb6, 0x60, - 0x71, 0x92, 0x71, 0x19, 0x1c, 0x6f, 0xc2, 0xac, 0x70, 0x4a, 0x98, 0x02, 0xa7, 0xf9, 0x2d, 0x34, - 0x51, 0xff, 0x3f, 0x01, 0x8b, 0x32, 0x3b, 0x7d, 0x3d, 0x3e, 0xd3, 0x18, 0xcf, 0xe9, 0xa7, 0xe2, - 0xb9, 0x0c, 0x4b, 0x47, 0x08, 0x7a, 0x86, 0xaf, 0xf0, 0x4b, 0x05, 0xe6, 0x36, 0x69, 0xcf, 0x1e, - 0x9c, 0x50, 0x7a, 0x63, 0xac, 0xa5, 0x9e, 0x8a, 0xb5, 0x2b, 0x90, 0x97, 0x78, 0x25, 0x5b, 0xc7, - 0x3f, 0x03, 0x65, 0xca, 0x67, 0xa0, 0xfe, 0x4c, 0x81, 0x7c, 0xd9, 0xed, 0xf7, 0xed, 0xe0, 0x84, - 0x32, 0x75, 0x1c, 0x67, 0x6a, 0x1a, 0x4e, 0x04, 0x85, 0x10, 0xa6, 0x20, 0x48, 0xfd, 0xb9, 0x02, - 0xf3, 0xc4, 0x75, 0x9c, 0x1d, 0xab, 0xb3, 0xf7, 0x7c, 0x63, 0xc7, 0x80, 0xc6, 0x40, 0x25, 0xfa, - 0x5f, 0x2b, 0x50, 0x68, 0x7a, 0x94, 0xfd, 0xbf, 0x3e, 0xd7, 0xe0, 0xd9, 0x0f, 0x52, 0x37, 0x90, - 0x9b, 0x83, 0x2c, 0xe1, 0x65, 0x75, 0x01, 0xe6, 0x23, 0xec, 0x92, 0x8f, 0x1f, 0x29, 0xb0, 0x24, - 0x02, 0x44, 0x6a, 0xba, 0x27, 0x94, 0x96, 0x10, 0x6f, 0x2a, 0x86, 0xb7, 0x04, 0xa7, 0x8f, 0x62, - 0x93, 0xb0, 0x3f, 0x4e, 0xc0, 0x99, 0x30, 0x36, 0x4e, 0x38, 0xf0, 0xdf, 0x21, 0x1e, 0x96, 0xa1, - 0x74, 0x9c, 0x04, 0xc9, 0xd0, 0xa7, 0x09, 0x28, 0x95, 0x3d, 0x6a, 0x05, 0x34, 0xb6, 0xc9, 0x78, - 0x7e, 0x62, 0x03, 0xbf, 0x05, 0x73, 0x43, 0xcb, 0x0b, 0xec, 0x8e, 0x3d, 0xb4, 0xd8, 0x6f, 0x5c, - 0x9a, 0xef, 0x61, 0x8e, 0x74, 0x30, 0x61, 0xa2, 0x9e, 0x83, 0xb3, 0x53, 0x18, 0x91, 0x7c, 0xfd, - 0x46, 0x01, 0xdc, 0x0a, 0x2c, 0x2f, 0xf8, 0x1a, 0xac, 0x2a, 0x53, 0x83, 0x69, 0x09, 0x8a, 0x13, - 0xf8, 0xe3, 0xbc, 0xd0, 0xe0, 0x6b, 0xb1, 0xe2, 0x3c, 0x92, 0x97, 0x38, 0x7e, 0xc9, 0xcb, 0x4f, - 0x14, 0x58, 0x2e, 0xbb, 0xe2, 0xfc, 0xee, 0xb9, 0xfc, 0xc2, 0xd4, 0x17, 0xe1, 0xdc, 0x54, 0x80, - 0x92, 0x80, 0x1f, 0x2b, 0x70, 0x9a, 0x50, 0xab, 0xfb, 0x7c, 0x82, 0xbf, 0x09, 0x67, 0x8e, 0x81, - 0x93, 0x3b, 0xd4, 0x2b, 0x90, 0xe9, 0xd3, 0xc0, 0xea, 0x5a, 0x81, 0x25, 0x21, 0x2d, 0x87, 0xfd, - 0x8e, 0xad, 0x6b, 0xd2, 0x82, 0x44, 0xb6, 0xea, 0x17, 0x09, 0x28, 0xf2, 0xbd, 0xee, 0x37, 0x7f, - 0x50, 0xd3, 0xff, 0x05, 0x3e, 0x55, 0x60, 0x71, 0x92, 0xa0, 0xe8, 0x9f, 0xe0, 0xf7, 0x7d, 0x10, - 0x31, 0x25, 0x21, 0x24, 0xa7, 0x6d, 0x41, 0xbf, 0x9f, 0x80, 0x52, 0x7c, 0x4a, 0xdf, 0x1c, 0x5a, - 0x4c, 0x1e, 0x5a, 0x7c, 0xe5, 0x53, 0xaa, 0xcf, 0x14, 0x38, 0x3b, 0x85, 0xd0, 0xaf, 0xe6, 0xe8, - 0xd8, 0xd1, 0x45, 0xe2, 0x89, 0x47, 0x17, 0x4f, 0xeb, 0xea, 0x1f, 0x2a, 0xb0, 0x58, 0xa3, 0xbe, - 0x6f, 0xf5, 0xa8, 0xf8, 0x8f, 0x3f, 0xb9, 0xd9, 0x8c, 0x1f, 0x0a, 0xa7, 0xc6, 0x37, 0x2b, 0x6a, - 0x19, 0x96, 0x8e, 0x40, 0x7b, 0x86, 0xb3, 0x89, 0x5f, 0x29, 0xb0, 0x20, 0x7b, 0xd1, 0x4e, 0xec, - 0x46, 0x60, 0x0a, 0x3b, 0xf8, 0x25, 0x48, 0xda, 0xdd, 0x70, 0x07, 0x39, 0x79, 0xd7, 0xcc, 0x14, - 0xea, 0x35, 0xc0, 0x71, 0xdc, 0xcf, 0x40, 0xdd, 0x0f, 0x92, 0xb0, 0xd0, 0x1a, 0x3a, 0x76, 0x20, - 0x95, 0xcf, 0x77, 0xe2, 0xff, 0x03, 0x98, 0xf3, 0x19, 0x58, 0x53, 0xdc, 0x96, 0x71, 0x62, 0xb3, - 0x24, 0xc7, 0x65, 0x65, 0x2e, 0xc2, 0x2f, 0x43, 0x2e, 0x34, 0x19, 0x0d, 0x02, 0x79, 0xd2, 0x09, - 0xd2, 0x62, 0x34, 0x08, 0xf0, 0x65, 0x38, 0x33, 0x18, 0xf5, 0xf9, 0xcd, 0xb1, 0x39, 0xa4, 0x5e, - 0x78, 0xaf, 0x6a, 0x79, 0xe1, 0x0d, 0x6f, 0x71, 0x30, 0xea, 0x13, 0xf7, 0xc0, 0x6f, 0x52, 0x4f, - 0xdc, 0xab, 0x5a, 0x5e, 0x80, 0xaf, 0x41, 0xd6, 0x72, 0x7a, 0xae, 0x67, 0x07, 0xbb, 0x7d, 0x79, - 0xb5, 0xab, 0x86, 0x57, 0x2b, 0x47, 0xe9, 0x5f, 0xd7, 0x42, 0x4b, 0x32, 0x6e, 0xa4, 0xbe, 0x09, - 0xd9, 0x48, 0x8e, 0x11, 0xcc, 0xe9, 0x37, 0xdb, 0x5a, 0xd5, 0x6c, 0x35, 0xab, 0x15, 0xa3, 0x25, - 0xae, 0x63, 0xb7, 0xdb, 0xd5, 0xaa, 0xd9, 0x2a, 0x6b, 0x75, 0xa4, 0xa8, 0x04, 0x80, 0x77, 0xc9, - 0x3b, 0x1f, 0x13, 0xa4, 0x3c, 0x81, 0xa0, 0x73, 0x90, 0xf5, 0xdc, 0x03, 0x89, 0x3d, 0xc1, 0xe1, - 0x64, 0x3c, 0xf7, 0x80, 0x23, 0x57, 0x35, 0xc0, 0xf1, 0xb9, 0xca, 0x68, 0x8b, 0x25, 0x6f, 0x65, - 0x22, 0x79, 0x8f, 0xc7, 0x8f, 0x92, 0xb7, 0xd8, 0xca, 0xb3, 0xef, 0xfc, 0x7d, 0x6a, 0x39, 0x41, - 0xb8, 0x5e, 0xa9, 0xdf, 0x4e, 0x40, 0x9e, 0x30, 0x89, 0xdd, 0xa7, 0xad, 0xc0, 0x0a, 0x7c, 0xe6, - 0xa9, 0x5d, 0x6e, 0x62, 0x8e, 0xd3, 0x6e, 0x96, 0xe4, 0x84, 0x4c, 0x5c, 0x02, 0x6c, 0xc0, 0x92, - 0x4f, 0x3b, 0xee, 0xa0, 0xeb, 0x9b, 0x3b, 0x74, 0xd7, 0x1e, 0x74, 0xcd, 0xbe, 0xe5, 0x07, 0xf2, - 0xa6, 0x30, 0x4f, 0x8a, 0x52, 0xb9, 0xc9, 0x75, 0x35, 0xae, 0xc2, 0x17, 0x61, 0x71, 0xc7, 0x1e, - 0x38, 0x6e, 0xcf, 0x1c, 0x3a, 0xd6, 0x21, 0xf5, 0x7c, 0x09, 0x95, 0x85, 0x57, 0x9a, 0x60, 0xa1, - 0x6b, 0x0a, 0x95, 0x70, 0xf7, 0x5d, 0x58, 0x9b, 0x3a, 0x8a, 0x79, 0xcf, 0x76, 0x02, 0xea, 0xd1, - 0xae, 0xe9, 0xd1, 0xa1, 0x63, 0x77, 0xc4, 0xa5, 0xbd, 0xd8, 0xbb, 0xbf, 0x36, 0x65, 0xe8, 0x6d, - 0x69, 0x4e, 0xc6, 0xd6, 0x8c, 0xed, 0xce, 0x70, 0x64, 0x8e, 0xd8, 0x07, 0xcc, 0x57, 0x31, 0x85, - 0x64, 0x3a, 0xc3, 0x51, 0x9b, 0xd5, 0x31, 0x82, 0xe4, 0xfd, 0xa1, 0x58, 0xbc, 0x14, 0xc2, 0x8a, - 0xea, 0x97, 0x0a, 0x14, 0xb4, 0x5e, 0xcf, 0xa3, 0x3d, 0x2b, 0x90, 0x34, 0x5d, 0x84, 0x45, 0x41, - 0xc9, 0xa1, 0x29, 0x5f, 0x03, 0x09, 0x3c, 0x8a, 0xc0, 0x23, 0x75, 0xe2, 0x2d, 0x50, 0x18, 0xbe, - 0xa7, 0x47, 0x83, 0xa9, 0x6d, 0x12, 0xbc, 0xcd, 0x62, 0xa4, 0x8d, 0xb7, 0xfa, 0x13, 0x38, 0x3b, - 0x9d, 0x85, 0xbe, 0x2d, 0xde, 0x73, 0xe4, 0xc9, 0xe9, 0x29, 0xa0, 0x6b, 0xf6, 0xe0, 0x31, 0x4d, - 0xad, 0x07, 0x9c, 0xaf, 0x47, 0x34, 0xb5, 0x1e, 0xa8, 0x3f, 0x8d, 0x8e, 0xf6, 0xc3, 0x70, 0x89, - 0x56, 0xe3, 0x30, 0x2f, 0x28, 0x8f, 0xcb, 0x0b, 0x25, 0x98, 0xf5, 0xa9, 0xb7, 0x6f, 0x0f, 0x7a, - 0xe1, 0xed, 0xb1, 0xac, 0xe2, 0x16, 0xbc, 0x26, 0xb1, 0xd3, 0x07, 0x01, 0xf5, 0x06, 0x96, 0xe3, - 0x1c, 0x9a, 0xe2, 0xa0, 0x62, 0x10, 0xd0, 0xae, 0x39, 0x7e, 0xbb, 0x24, 0x56, 0xe4, 0x57, 0x84, - 0xb5, 0x1e, 0x19, 0x93, 0xc8, 0xd6, 0x88, 0x5e, 0x35, 0xbd, 0x0b, 0x05, 0x4f, 0x06, 0xb1, 0xe9, - 0x33, 0xf7, 0xc8, 0x7c, 0xb4, 0x18, 0x5d, 0x01, 0xc7, 0x22, 0x9c, 0xe4, 0xbd, 0x89, 0x80, 0x7f, - 0x0f, 0xe6, 0xad, 0xd0, 0xb7, 0xb2, 0xf5, 0xe4, 0xbe, 0x65, 0xd2, 0xf3, 0xa4, 0x60, 0x4d, 0x46, - 0xc2, 0x55, 0x98, 0x93, 0x88, 0x2c, 0xc7, 0xb6, 0xc6, 0x1b, 0xdb, 0x23, 0x0f, 0xc2, 0x34, 0xa6, - 0x24, 0xf2, 0xe9, 0x18, 0xaf, 0xb0, 0xff, 0xe8, 0x62, 0x7b, 0xd8, 0xe5, 0x3d, 0x9d, 0xe0, 0xdd, - 0x45, 0xfc, 0xf5, 0x58, 0x6a, 0xf2, 0xf5, 0xd8, 0xe4, 0x6b, 0xb4, 0xf4, 0x91, 0xd7, 0x68, 0xea, - 0x35, 0x58, 0x9c, 0xc4, 0x2f, 0xa3, 0x6c, 0x15, 0xd2, 0xfc, 0xa6, 0xfc, 0xc8, 0x32, 0x1a, 0xbb, - 0x0a, 0x27, 0xc2, 0x40, 0xfd, 0x8e, 0x02, 0xc5, 0x29, 0xbf, 0x58, 0xd1, 0xff, 0x9b, 0x12, 0x3b, - 0x1e, 0xfa, 0x23, 0x48, 0xf3, 0x3b, 0x7b, 0xf9, 0x98, 0xe4, 0xcc, 0xf1, 0x3f, 0x34, 0x7e, 0xbf, - 0x4e, 0x84, 0x15, 0x4b, 0x84, 0x3c, 0xa0, 0x3a, 0xfc, 0x7c, 0x28, 0xdc, 0x21, 0xe6, 0x98, 0x4c, - 0x1c, 0x19, 0x1d, 0x3f, 0x70, 0x4a, 0x3d, 0xf1, 0xc0, 0x69, 0xed, 0xdf, 0x92, 0x90, 0xad, 0x1d, - 0xb6, 0xee, 0x3b, 0xdb, 0x8e, 0xd5, 0xe3, 0x17, 0xe0, 0xb5, 0xa6, 0x71, 0x07, 0x9d, 0xc2, 0x0b, - 0x90, 0xaf, 0x37, 0x0c, 0xb3, 0xce, 0x96, 0x92, 0xed, 0xaa, 0x76, 0x1d, 0x29, 0x6c, 0xad, 0x69, - 0x92, 0x8a, 0x79, 0x43, 0xbf, 0x23, 0x24, 0x09, 0x5c, 0x84, 0xf9, 0x76, 0xbd, 0x72, 0xb3, 0xad, - 0x8f, 0x85, 0x29, 0xbc, 0x04, 0x0b, 0xb5, 0x76, 0xd5, 0xa8, 0x34, 0xab, 0x31, 0x71, 0x86, 0xad, - 0x4b, 0x9b, 0xd5, 0xc6, 0xa6, 0xa8, 0x22, 0xd6, 0x7f, 0xbb, 0xde, 0xaa, 0x5c, 0xaf, 0xeb, 0x5b, - 0x42, 0xb4, 0xc2, 0x44, 0x77, 0x75, 0xd2, 0xd8, 0xae, 0x84, 0x43, 0x5e, 0xc3, 0x08, 0x72, 0x9b, - 0x95, 0xba, 0x46, 0x64, 0x2f, 0x0f, 0x15, 0x5c, 0x80, 0xac, 0x5e, 0x6f, 0xd7, 0x64, 0x3d, 0x81, - 0x4b, 0x50, 0xd4, 0xda, 0x46, 0xc3, 0xac, 0xd4, 0xcb, 0x44, 0xaf, 0xe9, 0x75, 0x43, 0x6a, 0x52, - 0xb8, 0x08, 0x05, 0xa3, 0x52, 0xd3, 0x5b, 0x86, 0x56, 0x6b, 0x4a, 0x21, 0x9b, 0x45, 0xa6, 0xa5, - 0x87, 0x36, 0x08, 0x2f, 0xc3, 0x52, 0xbd, 0x61, 0xca, 0x47, 0x45, 0xe6, 0x2d, 0xad, 0xda, 0xd6, - 0xa5, 0x6e, 0x05, 0x9f, 0x01, 0xdc, 0xa8, 0x9b, 0xed, 0xe6, 0x96, 0x66, 0xe8, 0x66, 0xbd, 0x71, - 0x5b, 0x2a, 0xae, 0xe1, 0x02, 0x64, 0xc6, 0x33, 0x78, 0xc8, 0x58, 0xc8, 0x37, 0x35, 0x62, 0x8c, - 0xc1, 0x3e, 0x7c, 0xc8, 0xc8, 0x82, 0xeb, 0xa4, 0xd1, 0x6e, 0x8e, 0xcd, 0x16, 0x20, 0x27, 0xc9, - 0x92, 0xa2, 0x14, 0x13, 0x6d, 0x56, 0xea, 0xe5, 0x68, 0x7e, 0x0f, 0x33, 0xcb, 0x09, 0xa4, 0xac, - 0xed, 0x41, 0x8a, 0xbb, 0x23, 0x03, 0xa9, 0x7a, 0xa3, 0xae, 0xa3, 0x53, 0x78, 0x1e, 0xa0, 0xd2, - 0xaa, 0xd4, 0x0d, 0xfd, 0x3a, 0xd1, 0xaa, 0x0c, 0x36, 0x17, 0x84, 0x04, 0x32, 0xb4, 0x73, 0x30, - 0x5b, 0x69, 0x6d, 0x57, 0x1b, 0x9a, 0x21, 0x61, 0x56, 0x5a, 0x37, 0xdb, 0x0d, 0x83, 0x29, 0x11, - 0xce, 0xc1, 0x4c, 0xa5, 0x65, 0xe8, 0x1f, 0x1a, 0x0c, 0x17, 0xd7, 0x09, 0x56, 0xd1, 0xc3, 0x6b, - 0x6b, 0x9f, 0x27, 0x21, 0xc5, 0x5f, 0x84, 0xe6, 0x21, 0xcb, 0xbd, 0x6d, 0xdc, 0x69, 0xb2, 0x21, - 0xb3, 0x90, 0xaa, 0xd4, 0x8d, 0xab, 0xe8, 0x2f, 0x12, 0x18, 0x20, 0xdd, 0xe6, 0xe5, 0xbf, 0x9c, - 0x61, 0xe5, 0x4a, 0xdd, 0x78, 0xeb, 0x0a, 0xfa, 0x38, 0xc1, 0xba, 0x6d, 0x8b, 0xca, 0x5f, 0x85, - 0x8a, 0x8d, 0xcb, 0xe8, 0x93, 0x48, 0xb1, 0x71, 0x19, 0xfd, 0x75, 0xa8, 0xb8, 0xb4, 0x81, 0xfe, - 0x26, 0x52, 0x5c, 0xda, 0x40, 0x7f, 0x1b, 0x2a, 0xae, 0x5c, 0x46, 0x7f, 0x17, 0x29, 0xae, 0x5c, - 0x46, 0x7f, 0x3f, 0xc3, 0xb0, 0x70, 0x24, 0x97, 0x36, 0xd0, 0x3f, 0x64, 0xa2, 0xda, 0x95, 0xcb, - 0xe8, 0x1f, 0x33, 0xcc, 0xff, 0x91, 0x57, 0xd1, 0x3f, 0x21, 0x36, 0x4d, 0xe6, 0x20, 0xf4, 0xcf, - 0xbc, 0xc8, 0x54, 0xe8, 0x5f, 0x10, 0xc3, 0xc8, 0xa4, 0xbc, 0xfa, 0x29, 0xd7, 0xdc, 0xd1, 0x35, - 0x82, 0xfe, 0x75, 0x46, 0xbc, 0x21, 0x2b, 0x57, 0x6a, 0x5a, 0x15, 0x61, 0xde, 0x82, 0xb1, 0xf2, - 0xef, 0x17, 0x59, 0x91, 0x85, 0x27, 0xfa, 0x8f, 0x26, 0x1b, 0xf0, 0x96, 0x46, 0xca, 0xef, 0x6b, - 0x04, 0xfd, 0xe7, 0x45, 0x36, 0xe0, 0x2d, 0x8d, 0x48, 0xbe, 0xfe, 0xab, 0xc9, 0x0c, 0xb9, 0xea, - 0xb3, 0x8b, 0x6c, 0xd2, 0x52, 0xfe, 0xdf, 0x4d, 0x9c, 0x81, 0xe4, 0x66, 0xc5, 0x40, 0x9f, 0xf3, - 0xd1, 0x58, 0x88, 0xa2, 0xff, 0x41, 0x4c, 0xd8, 0xd2, 0x0d, 0xf4, 0xbf, 0x4c, 0x98, 0x36, 0xda, - 0xcd, 0xaa, 0x8e, 0x5e, 0x60, 0x93, 0xbb, 0xae, 0x37, 0x6a, 0xba, 0x41, 0xee, 0xa0, 0xff, 0xe3, - 0xe6, 0x1f, 0xb4, 0x1a, 0x75, 0xf4, 0x05, 0xc2, 0x05, 0x00, 0xfd, 0xc3, 0x26, 0xd1, 0x5b, 0xad, - 0x4a, 0xa3, 0x8e, 0x5e, 0x5e, 0xdb, 0x06, 0x74, 0x34, 0x1d, 0x30, 0x00, 0xed, 0xfa, 0x8d, 0x7a, - 0xe3, 0x76, 0x1d, 0x9d, 0x62, 0x95, 0x26, 0xd1, 0x9b, 0x1a, 0xd1, 0x91, 0x82, 0x01, 0x66, 0xc4, - 0x0b, 0x37, 0x94, 0xc0, 0x73, 0x90, 0x21, 0x8d, 0x6a, 0x75, 0x53, 0x2b, 0xdf, 0x40, 0xc9, 0xcd, - 0xb7, 0x61, 0xde, 0x76, 0xd7, 0xf7, 0xed, 0x80, 0xfa, 0xbe, 0x78, 0x73, 0x7c, 0x57, 0x95, 0x35, - 0xdb, 0xbd, 0x20, 0x4a, 0x17, 0x7a, 0xee, 0x85, 0xfd, 0xe0, 0x02, 0xd7, 0x5e, 0xe0, 0x19, 0x63, - 0x67, 0x86, 0x57, 0x2e, 0xfd, 0x36, 0x00, 0x00, 0xff, 0xff, 0xce, 0x37, 0xe1, 0xd4, 0xd1, 0x2c, - 0x00, 0x00, +func init() { proto.RegisterFile("query.proto", fileDescriptor_query_9111254583ad7475) } + +var fileDescriptor_query_9111254583ad7475 = []byte{ + // 3231 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0x4b, 0x73, 0x1b, 0xc7, + 0x76, 0xd6, 0xe0, 0x41, 0x02, 0x07, 0x04, 0xd8, 0x6c, 0x90, 0x12, 0x44, 0xf9, 0xda, 0xcc, 0xdc, + 0xab, 0x7b, 0x19, 0xde, 0x1b, 0x4a, 0xa6, 0x64, 0x45, 0xb1, 0x1d, 0x47, 0x43, 0x70, 0x28, 0xc3, + 0xc2, 0x4b, 0x8d, 0x81, 0x64, 0xa9, 0x5c, 0x35, 0x35, 0x04, 0x5a, 0xe0, 0x14, 0x07, 0x33, 0xd0, + 0xcc, 0x80, 0x14, 0x77, 0x4a, 0x1c, 0xe7, 0xfd, 0x70, 0x9e, 0x8e, 0x93, 0x8a, 0x93, 0xaa, 0xec, + 0xf3, 0x1b, 0x52, 0xf9, 0x01, 0xd9, 0x65, 0x91, 0x64, 0x91, 0x45, 0x2a, 0x95, 0x45, 0xaa, 0x5c, + 0x59, 0x65, 0x91, 0x45, 0x2a, 0xd5, 0x8f, 0x19, 0x0c, 0x48, 0xe8, 0x61, 0xe5, 0x6e, 0x28, 0x7b, + 0xd7, 0x7d, 0xce, 0xe9, 0xc7, 0xf7, 0x9d, 0x33, 0xa7, 0x7b, 0xba, 0x1b, 0x0a, 0x8f, 0xc7, 0xd4, + 0x3f, 0xde, 0x1c, 0xf9, 0x5e, 0xe8, 0xe1, 0x2c, 0xaf, 0xac, 0x96, 0x42, 0x6f, 0xe4, 0xf5, 0xad, + 0xd0, 0x12, 0xe2, 0xd5, 0xc2, 0x61, 0xe8, 0x8f, 0x7a, 0xa2, 0xa2, 0x7e, 0xa6, 0xc0, 0x9c, 0x61, + 0xf9, 0x03, 0x1a, 0xe2, 0x55, 0xc8, 0x1d, 0xd0, 0xe3, 0x60, 0x64, 0xf5, 0x68, 0x45, 0x59, 0x53, + 0xd6, 0xf3, 0x24, 0xae, 0xe3, 0x65, 0xc8, 0x06, 0xfb, 0x96, 0xdf, 0xaf, 0xa4, 0xb8, 0x42, 0x54, + 0xf0, 0x3b, 0x50, 0x08, 0xad, 0x3d, 0x87, 0x86, 0x66, 0x78, 0x3c, 0xa2, 0x95, 0xf4, 0x9a, 0xb2, + 0x5e, 0xda, 0x5a, 0xde, 0x8c, 0xc7, 0x33, 0xb8, 0xd2, 0x38, 0x1e, 0x51, 0x02, 0x61, 0x5c, 0xc6, + 0x18, 0x32, 0x3d, 0xea, 0x38, 0x95, 0x0c, 0xef, 0x8b, 0x97, 0xd5, 0x1d, 0x28, 0xdd, 0x33, 0x6e, + 0x5b, 0x21, 0xad, 0x5a, 0x8e, 0x43, 0xfd, 0xda, 0x0e, 0x9b, 0xce, 0x38, 0xa0, 0xbe, 0x6b, 0x0d, + 0xe3, 0xe9, 0x44, 0x75, 0x7c, 0x1e, 0xe6, 0x06, 0xbe, 0x37, 0x1e, 0x05, 0x95, 0xd4, 0x5a, 0x7a, + 0x3d, 0x4f, 0x64, 0x4d, 0xfd, 0x04, 0x40, 0x3f, 0xa4, 0x6e, 0x68, 0x78, 0x07, 0xd4, 0xc5, 0x6f, + 0x40, 0x3e, 0xb4, 0x87, 0x34, 0x08, 0xad, 0xe1, 0x88, 0x77, 0x91, 0x26, 0x13, 0xc1, 0x33, 0x20, + 0xad, 0x42, 0x6e, 0xe4, 0x05, 0x76, 0x68, 0x7b, 0x2e, 0xc7, 0x93, 0x27, 0x71, 0x5d, 0xfd, 0x00, + 0xb2, 0xf7, 0x2c, 0x67, 0x4c, 0xf1, 0x5b, 0x90, 0xe1, 0x80, 0x15, 0x0e, 0xb8, 0xb0, 0x29, 0x48, + 0xe7, 0x38, 0xb9, 0x82, 0xf5, 0x7d, 0xc8, 0x2c, 0x79, 0xdf, 0x0b, 0x44, 0x54, 0xd4, 0x03, 0x58, + 0xd8, 0xb6, 0xdd, 0xfe, 0x3d, 0xcb, 0xb7, 0x19, 0x19, 0xaf, 0xd8, 0x0d, 0xfe, 0x01, 0xcc, 0xf1, + 0x42, 0x50, 0x49, 0xaf, 0xa5, 0xd7, 0x0b, 0x5b, 0x0b, 0xb2, 0x21, 0x9f, 0x1b, 0x91, 0x3a, 0xf5, + 0xef, 0x15, 0x80, 0x6d, 0x6f, 0xec, 0xf6, 0xef, 0x32, 0x25, 0x46, 0x90, 0x0e, 0x1e, 0x3b, 0x92, + 0x48, 0x56, 0xc4, 0x77, 0xa0, 0xb4, 0x67, 0xbb, 0x7d, 0xf3, 0x50, 0x4e, 0x47, 0x70, 0x59, 0xd8, + 0xfa, 0x81, 0xec, 0x6e, 0xd2, 0x78, 0x33, 0x39, 0xeb, 0x40, 0x77, 0x43, 0xff, 0x98, 0x14, 0xf7, + 0x92, 0xb2, 0xd5, 0x2e, 0xe0, 0xd3, 0x46, 0x6c, 0xd0, 0x03, 0x7a, 0x1c, 0x0d, 0x7a, 0x40, 0x8f, + 0xf1, 0xcf, 0x26, 0x11, 0x15, 0xb6, 0xca, 0xd1, 0x58, 0x89, 0xb6, 0x12, 0xe6, 0xbb, 0xa9, 0x9b, + 0x8a, 0xfa, 0x9f, 0x59, 0x28, 0xe9, 0x4f, 0x68, 0x6f, 0x1c, 0xd2, 0xd6, 0x88, 0xf9, 0x20, 0xc0, + 0x9b, 0x50, 0xb6, 0xdd, 0x9e, 0x33, 0xee, 0x53, 0x93, 0x32, 0x57, 0x9b, 0x21, 0xf3, 0x35, 0xef, + 0x2f, 0x47, 0x96, 0xa4, 0x2a, 0x11, 0x04, 0x1a, 0x94, 0x7b, 0xde, 0x70, 0x64, 0xf9, 0xd3, 0xf6, + 0x69, 0x3e, 0xfe, 0x92, 0x1c, 0x7f, 0x62, 0x4f, 0x96, 0xa4, 0x75, 0xa2, 0x8b, 0x06, 0x2c, 0xca, + 0x7e, 0xfb, 0xe6, 0x23, 0x9b, 0x3a, 0xfd, 0x80, 0x87, 0x6e, 0x29, 0xa6, 0x6a, 0x7a, 0x8a, 0x9b, + 0x35, 0x69, 0xbc, 0xcb, 0x6d, 0x49, 0xc9, 0x9e, 0xaa, 0xe3, 0x0d, 0x58, 0xea, 0x39, 0x36, 0x9b, + 0xca, 0x23, 0x46, 0xb1, 0xe9, 0x7b, 0x47, 0x41, 0x25, 0xcb, 0xe7, 0xbf, 0x28, 0x14, 0xbb, 0x4c, + 0x4e, 0xbc, 0xa3, 0x00, 0xbf, 0x0b, 0xb9, 0x23, 0xcf, 0x3f, 0x70, 0x3c, 0xab, 0x5f, 0x99, 0xe3, + 0x63, 0xbe, 0x39, 0x7b, 0xcc, 0xfb, 0xd2, 0x8a, 0xc4, 0xf6, 0x78, 0x1d, 0x50, 0xf0, 0xd8, 0x31, + 0x03, 0xea, 0xd0, 0x5e, 0x68, 0x3a, 0xf6, 0xd0, 0x0e, 0x2b, 0x39, 0xfe, 0x15, 0x94, 0x82, 0xc7, + 0x4e, 0x87, 0x8b, 0xeb, 0x4c, 0x8a, 0x4d, 0x58, 0x09, 0x7d, 0xcb, 0x0d, 0xac, 0x1e, 0xeb, 0xcc, + 0xb4, 0x03, 0xcf, 0xb1, 0xf8, 0x17, 0x90, 0xe7, 0x43, 0x6e, 0xcc, 0x1e, 0xd2, 0x98, 0x34, 0xa9, + 0x45, 0x2d, 0xc8, 0x72, 0x38, 0x43, 0x8a, 0xdf, 0x86, 0x95, 0xe0, 0xc0, 0x1e, 0x99, 0xbc, 0x1f, + 0x73, 0xe4, 0x58, 0xae, 0xd9, 0xb3, 0x7a, 0xfb, 0xb4, 0x02, 0x1c, 0x36, 0x66, 0x4a, 0x1e, 0x6a, + 0x6d, 0xc7, 0x72, 0xab, 0x4c, 0xa3, 0xbe, 0x07, 0xa5, 0x69, 0x1e, 0xf1, 0x12, 0x14, 0x8d, 0x07, + 0x6d, 0xdd, 0xd4, 0x9a, 0x3b, 0x66, 0x53, 0x6b, 0xe8, 0xe8, 0x1c, 0x2e, 0x42, 0x9e, 0x8b, 0x5a, + 0xcd, 0xfa, 0x03, 0xa4, 0xe0, 0x79, 0x48, 0x6b, 0xf5, 0x3a, 0x4a, 0xa9, 0x37, 0x21, 0x17, 0x11, + 0x82, 0x17, 0xa1, 0xd0, 0x6d, 0x76, 0xda, 0x7a, 0xb5, 0xb6, 0x5b, 0xd3, 0x77, 0xd0, 0x39, 0x9c, + 0x83, 0x4c, 0xab, 0x6e, 0xb4, 0x91, 0x22, 0x4a, 0x5a, 0x1b, 0xa5, 0x58, 0xcb, 0x9d, 0x6d, 0x0d, + 0xa5, 0xd5, 0x10, 0x96, 0x67, 0xe1, 0xc2, 0x05, 0x98, 0xdf, 0xd1, 0x77, 0xb5, 0x6e, 0xdd, 0x40, + 0xe7, 0x70, 0x19, 0x16, 0x89, 0xde, 0xd6, 0x35, 0x43, 0xdb, 0xae, 0xeb, 0x26, 0xd1, 0xb5, 0x1d, + 0xa4, 0x60, 0x0c, 0x25, 0x56, 0x32, 0xab, 0xad, 0x46, 0xa3, 0x66, 0x18, 0xfa, 0x0e, 0x4a, 0xe1, + 0x65, 0x40, 0x5c, 0xd6, 0x6d, 0x4e, 0xa4, 0x69, 0x8c, 0x60, 0xa1, 0xa3, 0x93, 0x9a, 0x56, 0xaf, + 0x3d, 0x64, 0x1d, 0xa0, 0xcc, 0x47, 0x99, 0x9c, 0x82, 0x52, 0xea, 0x17, 0x29, 0xc8, 0x72, 0xac, + 0x2c, 0x43, 0x26, 0xf2, 0x1e, 0x2f, 0xc7, 0xd9, 0x22, 0xf5, 0x9c, 0x6c, 0xc1, 0x93, 0xac, 0xcc, + 0x5b, 0xa2, 0x82, 0x2f, 0x41, 0xde, 0xf3, 0x07, 0xa6, 0xd0, 0x88, 0x8c, 0x9b, 0xf3, 0xfc, 0x01, + 0x4f, 0xcd, 0x2c, 0xdb, 0xb1, 0x44, 0xbd, 0x67, 0x05, 0x94, 0x47, 0x60, 0x9e, 0xc4, 0x75, 0x7c, + 0x11, 0x98, 0x9d, 0xc9, 0xe7, 0x31, 0xc7, 0x75, 0xf3, 0x9e, 0x3f, 0x68, 0xb2, 0xa9, 0x7c, 0x1f, + 0x8a, 0x3d, 0xcf, 0x19, 0x0f, 0x5d, 0xd3, 0xa1, 0xee, 0x20, 0xdc, 0xaf, 0xcc, 0xaf, 0x29, 0xeb, + 0x45, 0xb2, 0x20, 0x84, 0x75, 0x2e, 0xc3, 0x15, 0x98, 0xef, 0xed, 0x5b, 0x7e, 0x40, 0x45, 0xd4, + 0x15, 0x49, 0x54, 0xe5, 0xa3, 0xd2, 0x9e, 0x3d, 0xb4, 0x9c, 0x80, 0x47, 0x58, 0x91, 0xc4, 0x75, + 0x06, 0xe2, 0x91, 0x63, 0x0d, 0x02, 0x1e, 0x19, 0x45, 0x22, 0x2a, 0xea, 0xcf, 0x43, 0x9a, 0x78, + 0x47, 0xac, 0x4b, 0x31, 0x60, 0x50, 0x51, 0xd6, 0xd2, 0xeb, 0x98, 0x44, 0x55, 0xb6, 0x20, 0xc8, + 0x9c, 0x28, 0x52, 0x65, 0x94, 0x05, 0x3f, 0x81, 0x05, 0x42, 0x83, 0xb1, 0x13, 0xea, 0x4f, 0x42, + 0xdf, 0x0a, 0xf0, 0x16, 0x14, 0x92, 0x59, 0x40, 0x79, 0x56, 0x16, 0x00, 0x3a, 0xf9, 0xfc, 0x2b, + 0x30, 0xff, 0xc8, 0xa7, 0xc1, 0x3e, 0xf5, 0x65, 0x96, 0x89, 0xaa, 0x2c, 0xc7, 0x16, 0x78, 0xd8, + 0x8a, 0x31, 0x58, 0x66, 0x96, 0xf9, 0x41, 0x99, 0xca, 0xcc, 0xdc, 0xa9, 0x44, 0xea, 0x18, 0x7b, + 0xec, 0x93, 0x37, 0xad, 0x47, 0x8f, 0x68, 0x2f, 0xa4, 0x62, 0x01, 0xca, 0x90, 0x05, 0x26, 0xd4, + 0xa4, 0x8c, 0xb9, 0xcd, 0x76, 0x03, 0xea, 0x87, 0xa6, 0xdd, 0xe7, 0x0e, 0xcd, 0x90, 0x9c, 0x10, + 0xd4, 0xfa, 0xf8, 0x4d, 0xc8, 0xf0, 0xa4, 0x91, 0xe1, 0xa3, 0x80, 0x1c, 0x85, 0x78, 0x47, 0x84, + 0xcb, 0xf1, 0x8f, 0x61, 0x8e, 0x72, 0xbc, 0xdc, 0xa9, 0x93, 0x34, 0x9b, 0xa4, 0x82, 0x48, 0x13, + 0xf5, 0x7d, 0x58, 0xe0, 0x18, 0xee, 0x5b, 0xbe, 0x6b, 0xbb, 0x03, 0xbe, 0x3a, 0x7b, 0x7d, 0x11, + 0x7b, 0x45, 0xc2, 0xcb, 0x8c, 0x82, 0x21, 0x0d, 0x02, 0x6b, 0x40, 0xe5, 0x6a, 0x19, 0x55, 0xd5, + 0xbf, 0x4e, 0x43, 0xa1, 0x13, 0xfa, 0xd4, 0x1a, 0x72, 0xf6, 0xf0, 0xfb, 0x00, 0x41, 0x68, 0x85, + 0x74, 0x48, 0xdd, 0x30, 0xa2, 0xe1, 0x0d, 0x39, 0x7c, 0xc2, 0x6e, 0xb3, 0x13, 0x19, 0x91, 0x84, + 0xfd, 0x49, 0xf7, 0xa4, 0x5e, 0xc2, 0x3d, 0xab, 0x5f, 0xa5, 0x20, 0x1f, 0xf7, 0x86, 0x35, 0xc8, + 0xf5, 0xac, 0x90, 0x0e, 0x3c, 0xff, 0x58, 0xae, 0xab, 0x97, 0x9f, 0x37, 0xfa, 0x66, 0x55, 0x1a, + 0x93, 0xb8, 0x19, 0xfe, 0x1e, 0x88, 0xcd, 0x8a, 0x08, 0x7d, 0x81, 0x37, 0xcf, 0x25, 0x3c, 0xf8, + 0xdf, 0x05, 0x3c, 0xf2, 0xed, 0xa1, 0xe5, 0x1f, 0x9b, 0x07, 0xf4, 0x38, 0x5a, 0x10, 0xd2, 0x33, + 0x1c, 0x8e, 0xa4, 0xdd, 0x1d, 0x7a, 0x2c, 0x53, 0xd8, 0xcd, 0xe9, 0xb6, 0x32, 0x64, 0x4f, 0xbb, + 0x31, 0xd1, 0x92, 0xaf, 0xea, 0x41, 0xb4, 0x7e, 0x67, 0x79, 0x74, 0xb3, 0xa2, 0xfa, 0x23, 0xc8, + 0x45, 0x93, 0xc7, 0x79, 0xc8, 0xea, 0xbe, 0xef, 0xf9, 0xe8, 0x1c, 0xcf, 0x64, 0x8d, 0xba, 0x48, + 0x86, 0x3b, 0x3b, 0x2c, 0x19, 0xfe, 0x5d, 0x2a, 0x5e, 0x44, 0x09, 0x7d, 0x3c, 0xa6, 0x41, 0x88, + 0x7f, 0x09, 0xca, 0x94, 0x47, 0x9a, 0x7d, 0x48, 0xcd, 0x1e, 0xdf, 0x71, 0xb1, 0x38, 0x13, 0x9f, + 0xc3, 0xe2, 0xa6, 0xd8, 0x20, 0x46, 0x3b, 0x31, 0xb2, 0x14, 0xdb, 0x4a, 0x51, 0x1f, 0xeb, 0x50, + 0xb6, 0x87, 0x43, 0xda, 0xb7, 0xad, 0x30, 0xd9, 0x81, 0x70, 0xd8, 0x4a, 0xb4, 0x21, 0x99, 0xda, + 0xd0, 0x91, 0xa5, 0xb8, 0x45, 0xdc, 0xcd, 0x65, 0x98, 0x0b, 0xf9, 0xe6, 0x53, 0xae, 0xc7, 0xc5, + 0x28, 0xab, 0x71, 0x21, 0x91, 0x4a, 0xfc, 0x23, 0x10, 0x5b, 0x59, 0x9e, 0xbf, 0x26, 0x01, 0x31, + 0xd9, 0xa1, 0x10, 0xa1, 0xc7, 0x97, 0xa1, 0x34, 0xb5, 0x90, 0xf5, 0x39, 0x61, 0x69, 0x52, 0x4c, + 0xae, 0x4a, 0x7d, 0x7c, 0x05, 0xe6, 0x3d, 0xb1, 0x88, 0xf1, 0xcc, 0x36, 0x99, 0xf1, 0xf4, 0x0a, + 0x47, 0x22, 0x2b, 0xf5, 0x17, 0x61, 0x31, 0x66, 0x30, 0x18, 0x79, 0x6e, 0x40, 0xf1, 0x06, 0xcc, + 0xf9, 0xfc, 0x73, 0x92, 0xac, 0x61, 0xd9, 0x45, 0x22, 0x1f, 0x10, 0x69, 0xa1, 0xf6, 0x61, 0x51, + 0x48, 0xee, 0xdb, 0xe1, 0x3e, 0x77, 0x14, 0xbe, 0x0c, 0x59, 0xca, 0x0a, 0x27, 0x38, 0x27, 0xed, + 0x2a, 0xd7, 0x13, 0xa1, 0x4d, 0x8c, 0x92, 0x7a, 0xe1, 0x28, 0xff, 0x95, 0x82, 0xb2, 0x9c, 0xe5, + 0xb6, 0x15, 0xf6, 0xf6, 0xcf, 0xa8, 0xb3, 0x7f, 0x0c, 0xf3, 0x4c, 0x6e, 0xc7, 0x1f, 0xc6, 0x0c, + 0x77, 0x47, 0x16, 0xcc, 0xe1, 0x56, 0x60, 0x26, 0xbc, 0x2b, 0x37, 0x52, 0x45, 0x2b, 0x48, 0x2c, + 0xe3, 0x33, 0xe2, 0x62, 0xee, 0x05, 0x71, 0x31, 0xff, 0x52, 0x71, 0xb1, 0x03, 0xcb, 0xd3, 0x8c, + 0xcb, 0xe0, 0xf8, 0x09, 0xcc, 0x0b, 0xa7, 0x44, 0x29, 0x70, 0x96, 0xdf, 0x22, 0x13, 0xf5, 0xaf, + 0x52, 0xb0, 0x2c, 0xb3, 0xd3, 0xb7, 0xe3, 0x33, 0x4d, 0xf0, 0x9c, 0x7d, 0x29, 0x9e, 0xab, 0xb0, + 0x72, 0x82, 0xa0, 0x57, 0xf8, 0x0a, 0xbf, 0x56, 0x60, 0x61, 0x9b, 0x0e, 0x6c, 0xf7, 0x8c, 0xd2, + 0x9b, 0x60, 0x2d, 0xf3, 0x52, 0xac, 0xdd, 0x80, 0xa2, 0xc4, 0x2b, 0xd9, 0x3a, 0xfd, 0x19, 0x28, + 0x33, 0x3e, 0x03, 0xf5, 0xdf, 0x15, 0x28, 0x56, 0xbd, 0xe1, 0xd0, 0x0e, 0xcf, 0x28, 0x53, 0xa7, + 0x71, 0x66, 0x66, 0xe1, 0x44, 0x50, 0x8a, 0x60, 0x0a, 0x82, 0xd4, 0xff, 0x50, 0x60, 0x91, 0x78, + 0x8e, 0xb3, 0x67, 0xf5, 0x0e, 0x5e, 0x6f, 0xec, 0x18, 0xd0, 0x04, 0xa8, 0x44, 0xff, 0x3f, 0x0a, + 0x94, 0xda, 0x3e, 0x65, 0x7f, 0xbf, 0xaf, 0x35, 0x78, 0xb6, 0xc5, 0xed, 0x87, 0x72, 0x73, 0x90, + 0x27, 0xbc, 0xac, 0x2e, 0xc1, 0x62, 0x8c, 0x5d, 0xf2, 0xf1, 0xcf, 0x0a, 0xac, 0x88, 0x00, 0x91, + 0x9a, 0xfe, 0x19, 0xa5, 0x25, 0xc2, 0x9b, 0x49, 0xe0, 0xad, 0xc0, 0xf9, 0x93, 0xd8, 0x24, 0xec, + 0x4f, 0x53, 0x70, 0x21, 0x8a, 0x8d, 0x33, 0x0e, 0xfc, 0xff, 0x11, 0x0f, 0xab, 0x50, 0x39, 0x4d, + 0x82, 0x64, 0xe8, 0xf3, 0x14, 0x54, 0xaa, 0x3e, 0xb5, 0x42, 0x9a, 0xd8, 0x64, 0xbc, 0x3e, 0xb1, + 0x81, 0xdf, 0x86, 0x85, 0x91, 0xe5, 0x87, 0x76, 0xcf, 0x1e, 0x59, 0xec, 0x37, 0x2e, 0xcb, 0xf7, + 0x30, 0x27, 0x3a, 0x98, 0x32, 0x51, 0x2f, 0xc1, 0xc5, 0x19, 0x8c, 0x48, 0xbe, 0xfe, 0x57, 0x01, + 0xdc, 0x09, 0x2d, 0x3f, 0xfc, 0x16, 0xac, 0x2a, 0x33, 0x83, 0x69, 0x05, 0xca, 0x53, 0xf8, 0x93, + 0xbc, 0xd0, 0xf0, 0x5b, 0xb1, 0xe2, 0x3c, 0x93, 0x97, 0x24, 0x7e, 0xc9, 0xcb, 0xbf, 0x2a, 0xb0, + 0x5a, 0xf5, 0xc4, 0xe9, 0xdf, 0x6b, 0xf9, 0x85, 0xa9, 0xdf, 0x83, 0x4b, 0x33, 0x01, 0x4a, 0x02, + 0xfe, 0x45, 0x81, 0xf3, 0x84, 0x5a, 0xfd, 0xd7, 0x13, 0xfc, 0x5d, 0xb8, 0x70, 0x0a, 0x9c, 0xdc, + 0xa1, 0xde, 0x80, 0xdc, 0x90, 0x86, 0x56, 0xdf, 0x0a, 0x2d, 0x09, 0x69, 0x35, 0xea, 0x77, 0x62, + 0xdd, 0x90, 0x16, 0x24, 0xb6, 0x55, 0xbf, 0x4a, 0x41, 0x99, 0xef, 0x75, 0xbf, 0xfb, 0x83, 0x9a, + 0xfd, 0x2f, 0xf0, 0xb9, 0x02, 0xcb, 0xd3, 0x04, 0xc5, 0xff, 0x04, 0x3f, 0xed, 0x83, 0x88, 0x19, + 0x09, 0x21, 0x3d, 0x6b, 0x0b, 0xfa, 0x0f, 0x29, 0xa8, 0x24, 0xa7, 0xf4, 0xdd, 0xa1, 0xc5, 0xf4, + 0xa1, 0xc5, 0x37, 0x3e, 0xa5, 0xfa, 0x42, 0x81, 0x8b, 0x33, 0x08, 0xfd, 0x66, 0x8e, 0x4e, 0x1c, + 0x5d, 0xa4, 0x5e, 0x78, 0x74, 0xf1, 0xb2, 0xae, 0xfe, 0x27, 0x05, 0x96, 0x1b, 0xe2, 0xc4, 0x58, + 0xfc, 0xc7, 0x9f, 0xdd, 0x6c, 0xc6, 0x0f, 0x85, 0x33, 0x93, 0x7b, 0x19, 0xb5, 0x0a, 0x2b, 0x27, + 0xa0, 0xbd, 0xc2, 0xd9, 0xc4, 0x7f, 0x2b, 0xb0, 0x24, 0x7b, 0xd1, 0xce, 0xec, 0x46, 0x60, 0x06, + 0x3b, 0xf8, 0x4d, 0x48, 0xdb, 0xfd, 0x68, 0x07, 0x39, 0x7d, 0x53, 0xcd, 0x14, 0xea, 0x2d, 0xc0, + 0x49, 0xdc, 0xaf, 0x40, 0xdd, 0x3f, 0xa6, 0x61, 0xa9, 0x33, 0x72, 0xec, 0x50, 0x2a, 0x5f, 0xef, + 0xc4, 0xff, 0x33, 0xb0, 0x10, 0x30, 0xb0, 0xa6, 0xb8, 0x6b, 0xe3, 0xc4, 0xe6, 0x49, 0x81, 0xcb, + 0xaa, 0x5c, 0x84, 0xdf, 0x82, 0x42, 0x64, 0x32, 0x76, 0x43, 0x79, 0xd2, 0x09, 0xd2, 0x62, 0xec, + 0x86, 0xf8, 0x3a, 0x5c, 0x70, 0xc7, 0x43, 0x7e, 0xef, 0x6c, 0x8e, 0xa8, 0x1f, 0xdd, 0xca, 0x5a, + 0x7e, 0x74, 0x3f, 0x5c, 0x76, 0xc7, 0x43, 0xe2, 0x1d, 0x05, 0x6d, 0xea, 0x8b, 0x5b, 0x59, 0xcb, + 0x0f, 0xf1, 0x2d, 0xc8, 0x5b, 0xce, 0xc0, 0xf3, 0xed, 0x70, 0x7f, 0x28, 0x2f, 0x86, 0xd5, 0xe8, + 0x6a, 0xe5, 0x24, 0xfd, 0x9b, 0x5a, 0x64, 0x49, 0x26, 0x8d, 0xd4, 0x9f, 0x40, 0x3e, 0x96, 0x63, + 0x04, 0x0b, 0xfa, 0xdd, 0xae, 0x56, 0x37, 0x3b, 0xed, 0x7a, 0xcd, 0xe8, 0x88, 0xcb, 0xdc, 0xdd, + 0x6e, 0xbd, 0x6e, 0x76, 0xaa, 0x5a, 0x13, 0x29, 0x2a, 0x01, 0xe0, 0x5d, 0xf2, 0xce, 0x27, 0x04, + 0x29, 0x2f, 0x20, 0xe8, 0x12, 0xe4, 0x7d, 0xef, 0x48, 0x62, 0x4f, 0x71, 0x38, 0x39, 0xdf, 0x3b, + 0xe2, 0xc8, 0x55, 0x0d, 0x70, 0x72, 0xae, 0x32, 0xda, 0x12, 0xc9, 0x5b, 0x99, 0x4a, 0xde, 0x93, + 0xf1, 0xe3, 0xe4, 0x2d, 0xb6, 0xf2, 0xec, 0x3b, 0xff, 0x90, 0x5a, 0x4e, 0x18, 0xad, 0x57, 0xea, + 0xdf, 0xa4, 0xa0, 0x48, 0x98, 0xc4, 0x1e, 0xd2, 0x4e, 0x68, 0x85, 0x01, 0xf3, 0xd4, 0x3e, 0x37, + 0x31, 0x27, 0x69, 0x37, 0x4f, 0x0a, 0x42, 0x26, 0x2e, 0x01, 0xb6, 0x60, 0x25, 0xa0, 0x3d, 0xcf, + 0xed, 0x07, 0xe6, 0x1e, 0xdd, 0xb7, 0xdd, 0xbe, 0x39, 0xb4, 0x82, 0x50, 0xde, 0x33, 0x16, 0x49, + 0x59, 0x2a, 0xb7, 0xb9, 0xae, 0xc1, 0x55, 0xf8, 0x2a, 0x2c, 0xef, 0xd9, 0xae, 0xe3, 0x0d, 0xcc, + 0x91, 0x63, 0x1d, 0x53, 0x3f, 0x90, 0x50, 0x59, 0x78, 0x65, 0x09, 0x16, 0xba, 0xb6, 0x50, 0x09, + 0x77, 0x3f, 0x84, 0x8d, 0x99, 0xa3, 0x98, 0x8f, 0x6c, 0x27, 0xa4, 0x3e, 0xed, 0x9b, 0x3e, 0x1d, + 0x39, 0x76, 0x4f, 0x5c, 0xf9, 0x8b, 0xbd, 0xfb, 0x0f, 0x67, 0x0c, 0xbd, 0x2b, 0xcd, 0xc9, 0xc4, + 0x9a, 0xb1, 0xdd, 0x1b, 0x8d, 0xcd, 0x31, 0xbf, 0x1a, 0x64, 0xab, 0x98, 0x42, 0x72, 0xbd, 0xd1, + 0xb8, 0xcb, 0xea, 0x18, 0x41, 0xfa, 0xf1, 0x48, 0x2c, 0x5e, 0x0a, 0x61, 0x45, 0xf5, 0x6b, 0x05, + 0x4a, 0xda, 0x60, 0xe0, 0xd3, 0x81, 0x15, 0x4a, 0x9a, 0xae, 0xc2, 0xb2, 0xa0, 0xe4, 0xd8, 0x94, + 0x6f, 0x89, 0x04, 0x1e, 0x45, 0xe0, 0x91, 0x3a, 0xf1, 0x92, 0x28, 0x0a, 0xdf, 0xf3, 0x63, 0x77, + 0x66, 0x9b, 0x14, 0x6f, 0xb3, 0x1c, 0x6b, 0x93, 0xad, 0x7e, 0x01, 0x2e, 0xce, 0x66, 0x61, 0x68, + 0x8b, 0xd7, 0x20, 0x45, 0x72, 0x7e, 0x06, 0xe8, 0x86, 0xed, 0x3e, 0xa7, 0xa9, 0xf5, 0x84, 0xf3, + 0xf5, 0x8c, 0xa6, 0xd6, 0x13, 0xf5, 0xdf, 0xe2, 0xa3, 0xfd, 0x28, 0x5c, 0xe2, 0xd5, 0x38, 0xca, + 0x0b, 0xca, 0xf3, 0xf2, 0x42, 0x05, 0xe6, 0x03, 0xea, 0x1f, 0xda, 0xee, 0x20, 0xba, 0x7b, 0x96, + 0x55, 0xdc, 0x81, 0x1f, 0x4a, 0xec, 0xf4, 0x49, 0x48, 0x7d, 0xd7, 0x72, 0x9c, 0x63, 0x53, 0x1c, + 0x54, 0xb8, 0x21, 0xed, 0x9b, 0x93, 0x97, 0x4f, 0x62, 0x45, 0xfe, 0xbe, 0xb0, 0xd6, 0x63, 0x63, + 0x12, 0xdb, 0x1a, 0xf1, 0x9b, 0xa8, 0xf7, 0xa0, 0xe4, 0xcb, 0x20, 0x36, 0x03, 0xe6, 0x1e, 0x99, + 0x8f, 0x96, 0xe3, 0x0b, 0xe4, 0x44, 0x84, 0x93, 0xa2, 0x3f, 0x15, 0xf0, 0x1f, 0xc0, 0xa2, 0x15, + 0xf9, 0x56, 0xb6, 0x9e, 0xde, 0xb7, 0x4c, 0x7b, 0x9e, 0x94, 0xac, 0xe9, 0x48, 0xb8, 0x09, 0x0b, + 0x12, 0x91, 0xe5, 0xd8, 0xd6, 0x64, 0x63, 0x7b, 0xe2, 0x39, 0x99, 0xc6, 0x94, 0x44, 0x3e, 0x3c, + 0xe3, 0x15, 0xf6, 0x1f, 0x5d, 0xee, 0x8e, 0xfa, 0xbc, 0xa7, 0x33, 0xbc, 0xbb, 0x48, 0xbe, 0x3d, + 0xcb, 0x4c, 0xbf, 0x3d, 0x9b, 0x7e, 0xcb, 0x96, 0x3d, 0xf1, 0x96, 0x4d, 0xbd, 0x05, 0xcb, 0xd3, + 0xf8, 0x65, 0x94, 0xad, 0x43, 0x96, 0xdf, 0x94, 0x9f, 0x58, 0x46, 0x13, 0x57, 0xe1, 0x44, 0x18, + 0xa8, 0x7f, 0xab, 0x40, 0x79, 0xc6, 0x2f, 0x56, 0xfc, 0xff, 0xa6, 0x24, 0x8e, 0x87, 0x7e, 0x0e, + 0xb2, 0xfc, 0xce, 0x5e, 0x3e, 0x45, 0xb9, 0x70, 0xfa, 0x0f, 0x8d, 0xdf, 0xaf, 0x13, 0x61, 0xc5, + 0x12, 0x21, 0x0f, 0xa8, 0x1e, 0x3f, 0x1f, 0x8a, 0x76, 0x88, 0x05, 0x26, 0x13, 0x47, 0x46, 0xa7, + 0x0f, 0x9c, 0x32, 0x2f, 0x3c, 0x70, 0xda, 0xf8, 0xc3, 0x34, 0xe4, 0x1b, 0xc7, 0x9d, 0xc7, 0xce, + 0xae, 0x63, 0x0d, 0xf8, 0x05, 0x78, 0xa3, 0x6d, 0x3c, 0x40, 0xe7, 0xf0, 0x12, 0x14, 0x9b, 0x2d, + 0xc3, 0x6c, 0xb2, 0xa5, 0x64, 0xb7, 0xae, 0xdd, 0x46, 0x0a, 0x5b, 0x6b, 0xda, 0xa4, 0x66, 0xde, + 0xd1, 0x1f, 0x08, 0x49, 0x0a, 0x97, 0x61, 0xb1, 0xdb, 0xac, 0xdd, 0xed, 0xea, 0x13, 0x61, 0x06, + 0xaf, 0xc0, 0x52, 0xa3, 0x5b, 0x37, 0x6a, 0xed, 0x7a, 0x42, 0x9c, 0x63, 0xeb, 0xd2, 0x76, 0xbd, + 0xb5, 0x2d, 0xaa, 0x88, 0xf5, 0xdf, 0x6d, 0x76, 0x6a, 0xb7, 0x9b, 0xfa, 0x8e, 0x10, 0xad, 0x31, + 0xd1, 0x43, 0x9d, 0xb4, 0x76, 0x6b, 0xd1, 0x90, 0xb7, 0x30, 0x82, 0xc2, 0x76, 0xad, 0xa9, 0x11, + 0xd9, 0xcb, 0x53, 0x05, 0x97, 0x20, 0xaf, 0x37, 0xbb, 0x0d, 0x59, 0x4f, 0xe1, 0x0a, 0x94, 0xb5, + 0xae, 0xd1, 0x32, 0x6b, 0xcd, 0x2a, 0xd1, 0x1b, 0x7a, 0xd3, 0x90, 0x9a, 0x0c, 0x2e, 0x43, 0xc9, + 0xa8, 0x35, 0xf4, 0x8e, 0xa1, 0x35, 0xda, 0x52, 0xc8, 0x66, 0x91, 0xeb, 0xe8, 0x91, 0x0d, 0xc2, + 0xab, 0xb0, 0xd2, 0x6c, 0x99, 0xf2, 0x49, 0x92, 0x79, 0x4f, 0xab, 0x77, 0x75, 0xa9, 0x5b, 0xc3, + 0x17, 0x00, 0xb7, 0x9a, 0x66, 0xb7, 0xbd, 0xa3, 0x19, 0xba, 0xd9, 0x6c, 0xdd, 0x97, 0x8a, 0x5b, + 0xb8, 0x04, 0xb9, 0xc9, 0x0c, 0x9e, 0x32, 0x16, 0x8a, 0x6d, 0x8d, 0x18, 0x13, 0xb0, 0x4f, 0x9f, + 0x32, 0xb2, 0xe0, 0x36, 0x69, 0x75, 0xdb, 0x13, 0xb3, 0x25, 0x28, 0x48, 0xb2, 0xa4, 0x28, 0xc3, + 0x44, 0xdb, 0xb5, 0x66, 0x35, 0x9e, 0xdf, 0xd3, 0xdc, 0x6a, 0x0a, 0x29, 0x1b, 0x07, 0x90, 0xe1, + 0xee, 0xc8, 0x41, 0xa6, 0xd9, 0x6a, 0xea, 0xe8, 0x1c, 0x5e, 0x04, 0xa8, 0x75, 0x6a, 0x4d, 0x43, + 0xbf, 0x4d, 0xb4, 0x3a, 0x83, 0xcd, 0x05, 0x11, 0x81, 0x0c, 0xed, 0x02, 0xcc, 0xd7, 0x3a, 0xbb, + 0xf5, 0x96, 0x66, 0x48, 0x98, 0xb5, 0xce, 0xdd, 0x6e, 0xcb, 0x60, 0x4a, 0x84, 0x0b, 0x30, 0x57, + 0xeb, 0x18, 0xfa, 0xc7, 0x06, 0xc3, 0xc5, 0x75, 0x82, 0x55, 0xf4, 0xf4, 0xd6, 0xc6, 0x97, 0x69, + 0xc8, 0xf0, 0xf7, 0xa4, 0x45, 0xc8, 0x73, 0x6f, 0x1b, 0x0f, 0xda, 0x6c, 0xc8, 0x3c, 0x64, 0x6a, + 0x4d, 0xe3, 0x26, 0xfa, 0xe5, 0x14, 0x06, 0xc8, 0x76, 0x79, 0xf9, 0x57, 0xe6, 0x58, 0xb9, 0xd6, + 0x34, 0xde, 0xbe, 0x81, 0x3e, 0x4d, 0xb1, 0x6e, 0xbb, 0xa2, 0xf2, 0xab, 0x91, 0x62, 0xeb, 0x3a, + 0xfa, 0x2c, 0x56, 0x6c, 0x5d, 0x47, 0xbf, 0x16, 0x29, 0xae, 0x6d, 0xa1, 0x5f, 0x8f, 0x15, 0xd7, + 0xb6, 0xd0, 0x6f, 0x44, 0x8a, 0x1b, 0xd7, 0xd1, 0x6f, 0xc6, 0x8a, 0x1b, 0xd7, 0xd1, 0x6f, 0xcd, + 0x31, 0x2c, 0x1c, 0xc9, 0xb5, 0x2d, 0xf4, 0xdb, 0xb9, 0xb8, 0x76, 0xe3, 0x3a, 0xfa, 0x9d, 0x1c, + 0xf3, 0x7f, 0xec, 0x55, 0xf4, 0xbb, 0x88, 0x4d, 0x93, 0x39, 0x08, 0xfd, 0x1e, 0x2f, 0x32, 0x15, + 0xfa, 0x7d, 0xc4, 0x30, 0x32, 0x29, 0xaf, 0x7e, 0xce, 0x35, 0x0f, 0x74, 0x8d, 0xa0, 0x3f, 0x98, + 0x13, 0x2f, 0xd0, 0xaa, 0xb5, 0x86, 0x56, 0x47, 0x98, 0xb7, 0x60, 0xac, 0xfc, 0xd1, 0x55, 0x56, + 0x64, 0xe1, 0x89, 0xfe, 0xb8, 0xcd, 0x06, 0xbc, 0xa7, 0x91, 0xea, 0x87, 0x1a, 0x41, 0x7f, 0x72, + 0x95, 0x0d, 0x78, 0x4f, 0x23, 0x92, 0xaf, 0x3f, 0x6d, 0x33, 0x43, 0xae, 0xfa, 0xe2, 0x2a, 0x9b, + 0xb4, 0x94, 0xff, 0x59, 0x1b, 0xe7, 0x20, 0xbd, 0x5d, 0x33, 0xd0, 0x97, 0x7c, 0x34, 0x16, 0xa2, + 0xe8, 0xcf, 0x11, 0x13, 0x76, 0x74, 0x03, 0xfd, 0x05, 0x13, 0x66, 0x8d, 0x6e, 0xbb, 0xae, 0xa3, + 0x37, 0xd8, 0xe4, 0x6e, 0xeb, 0xad, 0x86, 0x6e, 0x90, 0x07, 0xe8, 0x2f, 0xb9, 0xf9, 0x47, 0x9d, + 0x56, 0x13, 0x7d, 0x85, 0x70, 0x09, 0x40, 0xff, 0xb8, 0x4d, 0xf4, 0x4e, 0xa7, 0xd6, 0x6a, 0xa2, + 0xb7, 0x36, 0x76, 0x01, 0x9d, 0x4c, 0x07, 0x0c, 0x40, 0xb7, 0x79, 0xa7, 0xd9, 0xba, 0xdf, 0x44, + 0xe7, 0x58, 0xa5, 0x4d, 0xf4, 0xb6, 0x46, 0x74, 0xa4, 0x60, 0x80, 0x39, 0xf1, 0x3e, 0x0e, 0xa5, + 0xf0, 0x02, 0xe4, 0x48, 0xab, 0x5e, 0xdf, 0xd6, 0xaa, 0x77, 0x50, 0x7a, 0xfb, 0x1d, 0x58, 0xb4, + 0xbd, 0xcd, 0x43, 0x3b, 0xa4, 0x41, 0x20, 0x5e, 0x2c, 0x3f, 0x54, 0x65, 0xcd, 0xf6, 0xae, 0x88, + 0xd2, 0x95, 0x81, 0x77, 0xe5, 0x30, 0xbc, 0xc2, 0xb5, 0x57, 0x78, 0xc6, 0xd8, 0x9b, 0xe3, 0x95, + 0x6b, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0xda, 0x0b, 0x47, 0xfb, 0x0f, 0x2d, 0x00, 0x00, } diff --git a/go/vt/proto/vtgate/vtgate.pb.go b/go/vt/proto/vtgate/vtgate.pb.go index 5a625e55257..8c76c8fe00e 100644 --- a/go/vt/proto/vtgate/vtgate.pb.go +++ b/go/vt/proto/vtgate/vtgate.pb.go @@ -53,7 +53,7 @@ func (x TransactionMode) String() string { return proto.EnumName(TransactionMode_name, int32(x)) } func (TransactionMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{0} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{0} } // Session objects are exchanged like cookies through various @@ -86,17 +86,19 @@ type Session struct { // options is used only for V3. Options *query.ExecuteOptions `protobuf:"bytes,6,opt,name=options" json:"options,omitempty"` // transaction_mode specifies the current transaction mode. - TransactionMode TransactionMode `protobuf:"varint,7,opt,name=transaction_mode,json=transactionMode,enum=vtgate.TransactionMode" json:"transaction_mode,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + TransactionMode TransactionMode `protobuf:"varint,7,opt,name=transaction_mode,json=transactionMode,enum=vtgate.TransactionMode" json:"transaction_mode,omitempty"` + // warnings contains non-fatal warnings from the previous query + Warnings []*query.QueryWarning `protobuf:"bytes,8,rep,name=warnings" json:"warnings,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Session) Reset() { *m = Session{} } func (m *Session) String() string { return proto.CompactTextString(m) } func (*Session) ProtoMessage() {} func (*Session) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{0} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{0} } func (m *Session) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Session.Unmarshal(m, b) @@ -165,6 +167,13 @@ func (m *Session) GetTransactionMode() TransactionMode { return TransactionMode_UNSPECIFIED } +func (m *Session) GetWarnings() []*query.QueryWarning { + if m != nil { + return m.Warnings + } + return nil +} + type Session_ShardSession struct { Target *query.Target `protobuf:"bytes,1,opt,name=target" json:"target,omitempty"` TransactionId int64 `protobuf:"varint,2,opt,name=transaction_id,json=transactionId" json:"transaction_id,omitempty"` @@ -177,7 +186,7 @@ func (m *Session_ShardSession) Reset() { *m = Session_ShardSession{} } func (m *Session_ShardSession) String() string { return proto.CompactTextString(m) } func (*Session_ShardSession) ProtoMessage() {} func (*Session_ShardSession) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{0, 0} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{0, 0} } func (m *Session_ShardSession) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Session_ShardSession.Unmarshal(m, b) @@ -235,7 +244,7 @@ func (m *ExecuteRequest) Reset() { *m = ExecuteRequest{} } func (m *ExecuteRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteRequest) ProtoMessage() {} func (*ExecuteRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{1} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{1} } func (m *ExecuteRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteRequest.Unmarshal(m, b) @@ -323,7 +332,7 @@ func (m *ExecuteResponse) Reset() { *m = ExecuteResponse{} } func (m *ExecuteResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteResponse) ProtoMessage() {} func (*ExecuteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{2} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{2} } func (m *ExecuteResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteResponse.Unmarshal(m, b) @@ -393,7 +402,7 @@ func (m *ExecuteShardsRequest) Reset() { *m = ExecuteShardsRequest{} } func (m *ExecuteShardsRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteShardsRequest) ProtoMessage() {} func (*ExecuteShardsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{3} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{3} } func (m *ExecuteShardsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteShardsRequest.Unmarshal(m, b) @@ -488,7 +497,7 @@ func (m *ExecuteShardsResponse) Reset() { *m = ExecuteShardsResponse{} } func (m *ExecuteShardsResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteShardsResponse) ProtoMessage() {} func (*ExecuteShardsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{4} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{4} } func (m *ExecuteShardsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteShardsResponse.Unmarshal(m, b) @@ -559,7 +568,7 @@ func (m *ExecuteKeyspaceIdsRequest) Reset() { *m = ExecuteKeyspaceIdsReq func (m *ExecuteKeyspaceIdsRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteKeyspaceIdsRequest) ProtoMessage() {} func (*ExecuteKeyspaceIdsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{5} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{5} } func (m *ExecuteKeyspaceIdsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteKeyspaceIdsRequest.Unmarshal(m, b) @@ -654,7 +663,7 @@ func (m *ExecuteKeyspaceIdsResponse) Reset() { *m = ExecuteKeyspaceIdsRe func (m *ExecuteKeyspaceIdsResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteKeyspaceIdsResponse) ProtoMessage() {} func (*ExecuteKeyspaceIdsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{6} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{6} } func (m *ExecuteKeyspaceIdsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteKeyspaceIdsResponse.Unmarshal(m, b) @@ -725,7 +734,7 @@ func (m *ExecuteKeyRangesRequest) Reset() { *m = ExecuteKeyRangesRequest func (m *ExecuteKeyRangesRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteKeyRangesRequest) ProtoMessage() {} func (*ExecuteKeyRangesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{7} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{7} } func (m *ExecuteKeyRangesRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteKeyRangesRequest.Unmarshal(m, b) @@ -820,7 +829,7 @@ func (m *ExecuteKeyRangesResponse) Reset() { *m = ExecuteKeyRangesRespon func (m *ExecuteKeyRangesResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteKeyRangesResponse) ProtoMessage() {} func (*ExecuteKeyRangesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{8} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{8} } func (m *ExecuteKeyRangesResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteKeyRangesResponse.Unmarshal(m, b) @@ -893,7 +902,7 @@ func (m *ExecuteEntityIdsRequest) Reset() { *m = ExecuteEntityIdsRequest func (m *ExecuteEntityIdsRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteEntityIdsRequest) ProtoMessage() {} func (*ExecuteEntityIdsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{9} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{9} } func (m *ExecuteEntityIdsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteEntityIdsRequest.Unmarshal(m, b) @@ -992,7 +1001,7 @@ func (m *ExecuteEntityIdsRequest_EntityId) Reset() { *m = ExecuteEntityI func (m *ExecuteEntityIdsRequest_EntityId) String() string { return proto.CompactTextString(m) } func (*ExecuteEntityIdsRequest_EntityId) ProtoMessage() {} func (*ExecuteEntityIdsRequest_EntityId) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{9, 0} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{9, 0} } func (m *ExecuteEntityIdsRequest_EntityId) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteEntityIdsRequest_EntityId.Unmarshal(m, b) @@ -1052,7 +1061,7 @@ func (m *ExecuteEntityIdsResponse) Reset() { *m = ExecuteEntityIdsRespon func (m *ExecuteEntityIdsResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteEntityIdsResponse) ProtoMessage() {} func (*ExecuteEntityIdsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{10} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{10} } func (m *ExecuteEntityIdsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteEntityIdsResponse.Unmarshal(m, b) @@ -1117,7 +1126,7 @@ func (m *ExecuteBatchRequest) Reset() { *m = ExecuteBatchRequest{} } func (m *ExecuteBatchRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteBatchRequest) ProtoMessage() {} func (*ExecuteBatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{11} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{11} } func (m *ExecuteBatchRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteBatchRequest.Unmarshal(m, b) @@ -1205,7 +1214,7 @@ func (m *ExecuteBatchResponse) Reset() { *m = ExecuteBatchResponse{} } func (m *ExecuteBatchResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteBatchResponse) ProtoMessage() {} func (*ExecuteBatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{12} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{12} } func (m *ExecuteBatchResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteBatchResponse.Unmarshal(m, b) @@ -1265,7 +1274,7 @@ func (m *BoundShardQuery) Reset() { *m = BoundShardQuery{} } func (m *BoundShardQuery) String() string { return proto.CompactTextString(m) } func (*BoundShardQuery) ProtoMessage() {} func (*BoundShardQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{13} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{13} } func (m *BoundShardQuery) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BoundShardQuery.Unmarshal(m, b) @@ -1333,7 +1342,7 @@ func (m *ExecuteBatchShardsRequest) Reset() { *m = ExecuteBatchShardsReq func (m *ExecuteBatchShardsRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteBatchShardsRequest) ProtoMessage() {} func (*ExecuteBatchShardsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{14} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{14} } func (m *ExecuteBatchShardsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteBatchShardsRequest.Unmarshal(m, b) @@ -1414,7 +1423,7 @@ func (m *ExecuteBatchShardsResponse) Reset() { *m = ExecuteBatchShardsRe func (m *ExecuteBatchShardsResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteBatchShardsResponse) ProtoMessage() {} func (*ExecuteBatchShardsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{15} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{15} } func (m *ExecuteBatchShardsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteBatchShardsResponse.Unmarshal(m, b) @@ -1475,7 +1484,7 @@ func (m *BoundKeyspaceIdQuery) Reset() { *m = BoundKeyspaceIdQuery{} } func (m *BoundKeyspaceIdQuery) String() string { return proto.CompactTextString(m) } func (*BoundKeyspaceIdQuery) ProtoMessage() {} func (*BoundKeyspaceIdQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{16} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{16} } func (m *BoundKeyspaceIdQuery) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BoundKeyspaceIdQuery.Unmarshal(m, b) @@ -1542,7 +1551,7 @@ func (m *ExecuteBatchKeyspaceIdsRequest) Reset() { *m = ExecuteBatchKeys func (m *ExecuteBatchKeyspaceIdsRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteBatchKeyspaceIdsRequest) ProtoMessage() {} func (*ExecuteBatchKeyspaceIdsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{17} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{17} } func (m *ExecuteBatchKeyspaceIdsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteBatchKeyspaceIdsRequest.Unmarshal(m, b) @@ -1623,7 +1632,7 @@ func (m *ExecuteBatchKeyspaceIdsResponse) Reset() { *m = ExecuteBatchKey func (m *ExecuteBatchKeyspaceIdsResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteBatchKeyspaceIdsResponse) ProtoMessage() {} func (*ExecuteBatchKeyspaceIdsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{18} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{18} } func (m *ExecuteBatchKeyspaceIdsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecuteBatchKeyspaceIdsResponse.Unmarshal(m, b) @@ -1687,7 +1696,7 @@ func (m *StreamExecuteRequest) Reset() { *m = StreamExecuteRequest{} } func (m *StreamExecuteRequest) String() string { return proto.CompactTextString(m) } func (*StreamExecuteRequest) ProtoMessage() {} func (*StreamExecuteRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{19} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{19} } func (m *StreamExecuteRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamExecuteRequest.Unmarshal(m, b) @@ -1766,7 +1775,7 @@ func (m *StreamExecuteResponse) Reset() { *m = StreamExecuteResponse{} } func (m *StreamExecuteResponse) String() string { return proto.CompactTextString(m) } func (*StreamExecuteResponse) ProtoMessage() {} func (*StreamExecuteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{20} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{20} } func (m *StreamExecuteResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamExecuteResponse.Unmarshal(m, b) @@ -1817,7 +1826,7 @@ func (m *StreamExecuteShardsRequest) Reset() { *m = StreamExecuteShardsR func (m *StreamExecuteShardsRequest) String() string { return proto.CompactTextString(m) } func (*StreamExecuteShardsRequest) ProtoMessage() {} func (*StreamExecuteShardsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{21} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{21} } func (m *StreamExecuteShardsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamExecuteShardsRequest.Unmarshal(m, b) @@ -1894,7 +1903,7 @@ func (m *StreamExecuteShardsResponse) Reset() { *m = StreamExecuteShards func (m *StreamExecuteShardsResponse) String() string { return proto.CompactTextString(m) } func (*StreamExecuteShardsResponse) ProtoMessage() {} func (*StreamExecuteShardsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{22} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{22} } func (m *StreamExecuteShardsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamExecuteShardsResponse.Unmarshal(m, b) @@ -1946,7 +1955,7 @@ func (m *StreamExecuteKeyspaceIdsRequest) Reset() { *m = StreamExecuteKe func (m *StreamExecuteKeyspaceIdsRequest) String() string { return proto.CompactTextString(m) } func (*StreamExecuteKeyspaceIdsRequest) ProtoMessage() {} func (*StreamExecuteKeyspaceIdsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{23} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{23} } func (m *StreamExecuteKeyspaceIdsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamExecuteKeyspaceIdsRequest.Unmarshal(m, b) @@ -2023,7 +2032,7 @@ func (m *StreamExecuteKeyspaceIdsResponse) Reset() { *m = StreamExecuteK func (m *StreamExecuteKeyspaceIdsResponse) String() string { return proto.CompactTextString(m) } func (*StreamExecuteKeyspaceIdsResponse) ProtoMessage() {} func (*StreamExecuteKeyspaceIdsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{24} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{24} } func (m *StreamExecuteKeyspaceIdsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamExecuteKeyspaceIdsResponse.Unmarshal(m, b) @@ -2075,7 +2084,7 @@ func (m *StreamExecuteKeyRangesRequest) Reset() { *m = StreamExecuteKeyR func (m *StreamExecuteKeyRangesRequest) String() string { return proto.CompactTextString(m) } func (*StreamExecuteKeyRangesRequest) ProtoMessage() {} func (*StreamExecuteKeyRangesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{25} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{25} } func (m *StreamExecuteKeyRangesRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamExecuteKeyRangesRequest.Unmarshal(m, b) @@ -2152,7 +2161,7 @@ func (m *StreamExecuteKeyRangesResponse) Reset() { *m = StreamExecuteKey func (m *StreamExecuteKeyRangesResponse) String() string { return proto.CompactTextString(m) } func (*StreamExecuteKeyRangesResponse) ProtoMessage() {} func (*StreamExecuteKeyRangesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{26} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{26} } func (m *StreamExecuteKeyRangesResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamExecuteKeyRangesResponse.Unmarshal(m, b) @@ -2198,7 +2207,7 @@ func (m *BeginRequest) Reset() { *m = BeginRequest{} } func (m *BeginRequest) String() string { return proto.CompactTextString(m) } func (*BeginRequest) ProtoMessage() {} func (*BeginRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{27} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{27} } func (m *BeginRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BeginRequest.Unmarshal(m, b) @@ -2245,7 +2254,7 @@ func (m *BeginResponse) Reset() { *m = BeginResponse{} } func (m *BeginResponse) String() string { return proto.CompactTextString(m) } func (*BeginResponse) ProtoMessage() {} func (*BeginResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{28} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{28} } func (m *BeginResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BeginResponse.Unmarshal(m, b) @@ -2293,7 +2302,7 @@ func (m *CommitRequest) Reset() { *m = CommitRequest{} } func (m *CommitRequest) String() string { return proto.CompactTextString(m) } func (*CommitRequest) ProtoMessage() {} func (*CommitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{29} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{29} } func (m *CommitRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommitRequest.Unmarshal(m, b) @@ -2345,7 +2354,7 @@ func (m *CommitResponse) Reset() { *m = CommitResponse{} } func (m *CommitResponse) String() string { return proto.CompactTextString(m) } func (*CommitResponse) ProtoMessage() {} func (*CommitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{30} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{30} } func (m *CommitResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommitResponse.Unmarshal(m, b) @@ -2381,7 +2390,7 @@ func (m *RollbackRequest) Reset() { *m = RollbackRequest{} } func (m *RollbackRequest) String() string { return proto.CompactTextString(m) } func (*RollbackRequest) ProtoMessage() {} func (*RollbackRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{31} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{31} } func (m *RollbackRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RollbackRequest.Unmarshal(m, b) @@ -2426,7 +2435,7 @@ func (m *RollbackResponse) Reset() { *m = RollbackResponse{} } func (m *RollbackResponse) String() string { return proto.CompactTextString(m) } func (*RollbackResponse) ProtoMessage() {} func (*RollbackResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{32} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{32} } func (m *RollbackResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RollbackResponse.Unmarshal(m, b) @@ -2462,7 +2471,7 @@ func (m *ResolveTransactionRequest) Reset() { *m = ResolveTransactionReq func (m *ResolveTransactionRequest) String() string { return proto.CompactTextString(m) } func (*ResolveTransactionRequest) ProtoMessage() {} func (*ResolveTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{33} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{33} } func (m *ResolveTransactionRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResolveTransactionRequest.Unmarshal(m, b) @@ -2518,7 +2527,7 @@ func (m *MessageStreamRequest) Reset() { *m = MessageStreamRequest{} } func (m *MessageStreamRequest) String() string { return proto.CompactTextString(m) } func (*MessageStreamRequest) ProtoMessage() {} func (*MessageStreamRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{34} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{34} } func (m *MessageStreamRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageStreamRequest.Unmarshal(m, b) @@ -2593,7 +2602,7 @@ func (m *MessageAckRequest) Reset() { *m = MessageAckRequest{} } func (m *MessageAckRequest) String() string { return proto.CompactTextString(m) } func (*MessageAckRequest) ProtoMessage() {} func (*MessageAckRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{35} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{35} } func (m *MessageAckRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageAckRequest.Unmarshal(m, b) @@ -2657,7 +2666,7 @@ func (m *IdKeyspaceId) Reset() { *m = IdKeyspaceId{} } func (m *IdKeyspaceId) String() string { return proto.CompactTextString(m) } func (*IdKeyspaceId) ProtoMessage() {} func (*IdKeyspaceId) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{36} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{36} } func (m *IdKeyspaceId) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_IdKeyspaceId.Unmarshal(m, b) @@ -2710,7 +2719,7 @@ func (m *MessageAckKeyspaceIdsRequest) Reset() { *m = MessageAckKeyspace func (m *MessageAckKeyspaceIdsRequest) String() string { return proto.CompactTextString(m) } func (*MessageAckKeyspaceIdsRequest) ProtoMessage() {} func (*MessageAckKeyspaceIdsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{37} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{37} } func (m *MessageAckKeyspaceIdsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageAckKeyspaceIdsRequest.Unmarshal(m, b) @@ -2769,7 +2778,7 @@ func (m *ResolveTransactionResponse) Reset() { *m = ResolveTransactionRe func (m *ResolveTransactionResponse) String() string { return proto.CompactTextString(m) } func (*ResolveTransactionResponse) ProtoMessage() {} func (*ResolveTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{38} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{38} } func (m *ResolveTransactionResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResolveTransactionResponse.Unmarshal(m, b) @@ -2887,7 +2896,7 @@ func (m *SplitQueryRequest) Reset() { *m = SplitQueryRequest{} } func (m *SplitQueryRequest) String() string { return proto.CompactTextString(m) } func (*SplitQueryRequest) ProtoMessage() {} func (*SplitQueryRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{39} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{39} } func (m *SplitQueryRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SplitQueryRequest.Unmarshal(m, b) @@ -2976,7 +2985,7 @@ func (m *SplitQueryResponse) Reset() { *m = SplitQueryResponse{} } func (m *SplitQueryResponse) String() string { return proto.CompactTextString(m) } func (*SplitQueryResponse) ProtoMessage() {} func (*SplitQueryResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{40} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{40} } func (m *SplitQueryResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SplitQueryResponse.Unmarshal(m, b) @@ -3017,7 +3026,7 @@ func (m *SplitQueryResponse_KeyRangePart) Reset() { *m = SplitQueryRespo func (m *SplitQueryResponse_KeyRangePart) String() string { return proto.CompactTextString(m) } func (*SplitQueryResponse_KeyRangePart) ProtoMessage() {} func (*SplitQueryResponse_KeyRangePart) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{40, 0} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{40, 0} } func (m *SplitQueryResponse_KeyRangePart) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SplitQueryResponse_KeyRangePart.Unmarshal(m, b) @@ -3065,7 +3074,7 @@ func (m *SplitQueryResponse_ShardPart) Reset() { *m = SplitQueryResponse func (m *SplitQueryResponse_ShardPart) String() string { return proto.CompactTextString(m) } func (*SplitQueryResponse_ShardPart) ProtoMessage() {} func (*SplitQueryResponse_ShardPart) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{40, 1} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{40, 1} } func (m *SplitQueryResponse_ShardPart) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SplitQueryResponse_ShardPart.Unmarshal(m, b) @@ -3118,7 +3127,7 @@ func (m *SplitQueryResponse_Part) Reset() { *m = SplitQueryResponse_Part func (m *SplitQueryResponse_Part) String() string { return proto.CompactTextString(m) } func (*SplitQueryResponse_Part) ProtoMessage() {} func (*SplitQueryResponse_Part) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{40, 2} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{40, 2} } func (m *SplitQueryResponse_Part) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SplitQueryResponse_Part.Unmarshal(m, b) @@ -3179,7 +3188,7 @@ func (m *GetSrvKeyspaceRequest) Reset() { *m = GetSrvKeyspaceRequest{} } func (m *GetSrvKeyspaceRequest) String() string { return proto.CompactTextString(m) } func (*GetSrvKeyspaceRequest) ProtoMessage() {} func (*GetSrvKeyspaceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{41} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{41} } func (m *GetSrvKeyspaceRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSrvKeyspaceRequest.Unmarshal(m, b) @@ -3219,7 +3228,7 @@ func (m *GetSrvKeyspaceResponse) Reset() { *m = GetSrvKeyspaceResponse{} func (m *GetSrvKeyspaceResponse) String() string { return proto.CompactTextString(m) } func (*GetSrvKeyspaceResponse) ProtoMessage() {} func (*GetSrvKeyspaceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{42} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{42} } func (m *GetSrvKeyspaceResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSrvKeyspaceResponse.Unmarshal(m, b) @@ -3277,7 +3286,7 @@ func (m *UpdateStreamRequest) Reset() { *m = UpdateStreamRequest{} } func (m *UpdateStreamRequest) String() string { return proto.CompactTextString(m) } func (*UpdateStreamRequest) ProtoMessage() {} func (*UpdateStreamRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{43} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{43} } func (m *UpdateStreamRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateStreamRequest.Unmarshal(m, b) @@ -3365,7 +3374,7 @@ func (m *UpdateStreamResponse) Reset() { *m = UpdateStreamResponse{} } func (m *UpdateStreamResponse) String() string { return proto.CompactTextString(m) } func (*UpdateStreamResponse) ProtoMessage() {} func (*UpdateStreamResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_vtgate_229a16ae636de397, []int{44} + return fileDescriptor_vtgate_071b9c990aff35bf, []int{44} } func (m *UpdateStreamResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateStreamResponse.Unmarshal(m, b) @@ -3453,125 +3462,126 @@ func init() { proto.RegisterEnum("vtgate.TransactionMode", TransactionMode_name, TransactionMode_value) } -func init() { proto.RegisterFile("vtgate.proto", fileDescriptor_vtgate_229a16ae636de397) } - -var fileDescriptor_vtgate_229a16ae636de397 = []byte{ - // 1858 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0x5b, 0x8f, 0x23, 0x47, - 0x15, 0xa6, 0xbb, 0x7d, 0x3d, 0xbe, 0x6e, 0xad, 0x77, 0xd7, 0x71, 0x86, 0x1d, 0xa7, 0xc3, 0x28, - 0x4e, 0xb2, 0xf2, 0x10, 0x07, 0x02, 0x42, 0x48, 0x90, 0xf1, 0x0e, 0x91, 0x95, 0x9d, 0xcd, 0x50, - 0xf6, 0x26, 0x80, 0x88, 0x5a, 0x3d, 0x76, 0xc9, 0xdb, 0xd8, 0xee, 0x76, 0xba, 0xca, 0x0e, 0xc3, - 0x03, 0xca, 0x3f, 0x88, 0x78, 0x40, 0x42, 0x11, 0x12, 0x42, 0x42, 0x42, 0x42, 0xe2, 0x15, 0x09, - 0x78, 0xe1, 0x8d, 0x47, 0xc4, 0x13, 0xef, 0xfc, 0x01, 0x24, 0x7e, 0x41, 0xd4, 0x55, 0xd5, 0x17, - 0xf7, 0x8c, 0x3d, 0x1e, 0xcf, 0x45, 0xde, 0xb7, 0xae, 0x53, 0xd5, 0x55, 0xdf, 0xf9, 0xce, 0x57, - 0xa7, 0x4e, 0x97, 0x0d, 0xf9, 0x39, 0x1b, 0x9a, 0x8c, 0x34, 0xa7, 0xae, 0xc3, 0x1c, 0x94, 0x12, - 0xad, 0x5a, 0xee, 0x93, 0x19, 0x71, 0x4f, 0x85, 0xb1, 0x56, 0x64, 0xce, 0xd4, 0x19, 0x98, 0xcc, - 0x94, 0xed, 0xdc, 0x9c, 0xb9, 0xd3, 0xbe, 0x68, 0xe8, 0x7f, 0xd2, 0x20, 0xdd, 0x25, 0x94, 0x5a, - 0x8e, 0x8d, 0xf6, 0xa0, 0x68, 0xd9, 0x06, 0x73, 0x4d, 0x9b, 0x9a, 0x7d, 0x66, 0x39, 0x76, 0x55, - 0xa9, 0x2b, 0x8d, 0x0c, 0x2e, 0x58, 0x76, 0x2f, 0x34, 0xa2, 0x36, 0x14, 0xe9, 0x73, 0xd3, 0x1d, - 0x18, 0x54, 0xbc, 0x47, 0xab, 0x6a, 0x5d, 0x6b, 0xe4, 0x5a, 0x3b, 0x4d, 0x89, 0x45, 0xce, 0xd7, - 0xec, 0x7a, 0xa3, 0x64, 0x03, 0x17, 0x68, 0xa4, 0x45, 0xd1, 0xcb, 0x90, 0xa5, 0x96, 0x3d, 0x1c, - 0x13, 0x63, 0x70, 0x52, 0xd5, 0xf8, 0x32, 0x19, 0x61, 0x78, 0x7c, 0x82, 0x1e, 0x02, 0x98, 0x33, - 0xe6, 0xf4, 0x9d, 0xc9, 0xc4, 0x62, 0xd5, 0x04, 0xef, 0x8d, 0x58, 0xd0, 0xab, 0x50, 0x60, 0xa6, - 0x3b, 0x24, 0xcc, 0xa0, 0xcc, 0xb5, 0xec, 0x61, 0x35, 0x59, 0x57, 0x1a, 0x59, 0x9c, 0x17, 0xc6, - 0x2e, 0xb7, 0xa1, 0x7d, 0x48, 0x3b, 0x53, 0xc6, 0xf1, 0xa5, 0xea, 0x4a, 0x23, 0xd7, 0xba, 0xd7, - 0x14, 0xac, 0x1c, 0xfe, 0x9c, 0xf4, 0x67, 0x8c, 0x7c, 0x20, 0x3a, 0xb1, 0x3f, 0x0a, 0x1d, 0x40, - 0x39, 0xe2, 0xbb, 0x31, 0x71, 0x06, 0xa4, 0x9a, 0xae, 0x2b, 0x8d, 0x62, 0xeb, 0x81, 0xef, 0x59, - 0x84, 0x86, 0x23, 0x67, 0x40, 0x70, 0x89, 0x2d, 0x1a, 0x6a, 0x3f, 0x85, 0x7c, 0xd4, 0x6b, 0xb4, - 0x07, 0x29, 0x01, 0x8a, 0x53, 0x99, 0x6b, 0x15, 0x24, 0x86, 0x1e, 0x37, 0x62, 0xd9, 0xe9, 0x31, - 0x1f, 0x5d, 0xda, 0x1a, 0x54, 0xd5, 0xba, 0xd2, 0xd0, 0x70, 0x21, 0x62, 0xed, 0x0c, 0xf4, 0x7f, - 0xa9, 0x50, 0x94, 0xe8, 0x31, 0xf9, 0x64, 0x46, 0x28, 0x43, 0x8f, 0x20, 0xdb, 0x37, 0xc7, 0x63, - 0xe2, 0x7a, 0x2f, 0x89, 0x35, 0x4a, 0x4d, 0x11, 0xe0, 0x36, 0xb7, 0x77, 0x1e, 0xe3, 0x8c, 0x18, - 0xd1, 0x19, 0xa0, 0xd7, 0x21, 0x2d, 0x83, 0xc6, 0x17, 0x10, 0x63, 0xa3, 0x31, 0xc3, 0x7e, 0x3f, - 0x7a, 0x0d, 0x92, 0x1c, 0x2a, 0x0f, 0x4e, 0xae, 0x75, 0x47, 0x02, 0x3f, 0x70, 0x66, 0xf6, 0xe0, - 0x87, 0xde, 0x23, 0x16, 0xfd, 0xe8, 0x9b, 0x90, 0x63, 0xe6, 0xc9, 0x98, 0x30, 0x83, 0x9d, 0x4e, - 0x09, 0x8f, 0x56, 0xb1, 0x55, 0x69, 0x06, 0xa2, 0xeb, 0xf1, 0xce, 0xde, 0xe9, 0x94, 0x60, 0x60, - 0xc1, 0x33, 0x7a, 0x04, 0xc8, 0x76, 0x98, 0x11, 0x13, 0x5c, 0x92, 0xc7, 0xba, 0x6c, 0x3b, 0xac, - 0xb3, 0xa0, 0xb9, 0x3d, 0x28, 0x8e, 0xc8, 0x29, 0x9d, 0x9a, 0x7d, 0x62, 0x70, 0x21, 0xf1, 0x98, - 0x66, 0x71, 0xc1, 0xb7, 0x72, 0xd6, 0xa3, 0x31, 0x4f, 0xaf, 0x13, 0x73, 0xfd, 0x73, 0x05, 0x4a, - 0x01, 0xa3, 0x74, 0xea, 0xd8, 0x94, 0xa0, 0x3d, 0x48, 0x12, 0xd7, 0x75, 0xdc, 0x18, 0x9d, 0xf8, - 0xb8, 0x7d, 0xe8, 0x99, 0xb1, 0xe8, 0xbd, 0x0c, 0x97, 0x6f, 0x40, 0xca, 0x25, 0x74, 0x36, 0x66, - 0x92, 0x4c, 0x24, 0x51, 0x09, 0x1e, 0x79, 0x0f, 0x96, 0x23, 0xf4, 0xff, 0xaa, 0x50, 0x91, 0x88, - 0xb8, 0x4f, 0x74, 0x7b, 0x22, 0x5d, 0x83, 0x8c, 0x4f, 0x37, 0x0f, 0x73, 0x16, 0x07, 0x6d, 0x74, - 0x1f, 0x52, 0x3c, 0x2e, 0xb4, 0x9a, 0xac, 0x6b, 0x8d, 0x2c, 0x96, 0xad, 0xb8, 0x3a, 0x52, 0x57, - 0x52, 0x47, 0x7a, 0x89, 0x3a, 0x22, 0x61, 0xcf, 0xac, 0x15, 0xf6, 0x5f, 0x2b, 0x70, 0x2f, 0x46, - 0xf2, 0x56, 0x04, 0xff, 0xff, 0x2a, 0xbc, 0x24, 0x71, 0xbd, 0x2f, 0x99, 0xed, 0xbc, 0x28, 0x0a, - 0x78, 0x05, 0xf2, 0xc1, 0x16, 0xb5, 0xa4, 0x0e, 0xf2, 0x38, 0x37, 0x0a, 0xfd, 0xd8, 0x52, 0x31, - 0x7c, 0xa1, 0x40, 0xed, 0x3c, 0xd2, 0xb7, 0x42, 0x11, 0x9f, 0x69, 0xf0, 0x20, 0x04, 0x87, 0x4d, - 0x7b, 0x48, 0x5e, 0x10, 0x3d, 0xbc, 0x05, 0x30, 0x22, 0xa7, 0x86, 0xcb, 0x21, 0x73, 0x35, 0x78, - 0x9e, 0x06, 0xb1, 0xf6, 0xbd, 0xc1, 0xd9, 0x91, 0xef, 0xd7, 0x96, 0xea, 0xe3, 0x37, 0x0a, 0x54, - 0xcf, 0x86, 0x60, 0x2b, 0xd4, 0xf1, 0xd7, 0x44, 0xa0, 0x8e, 0x43, 0x9b, 0x59, 0xec, 0xf4, 0x85, - 0xc9, 0x16, 0x8f, 0x00, 0x11, 0x8e, 0xd8, 0xe8, 0x3b, 0xe3, 0xd9, 0xc4, 0x36, 0x6c, 0x73, 0x42, - 0x64, 0x1d, 0x57, 0x16, 0x3d, 0x6d, 0xde, 0xf1, 0xd4, 0x9c, 0x10, 0xf4, 0x23, 0xb8, 0x2b, 0x47, - 0x2f, 0xa4, 0x98, 0x14, 0x17, 0x55, 0xc3, 0x47, 0xba, 0x84, 0x89, 0xa6, 0x6f, 0xc0, 0x77, 0xc4, - 0x24, 0xef, 0x2f, 0x4f, 0x49, 0xe9, 0x2b, 0x49, 0x2e, 0x73, 0xb1, 0xe4, 0xb2, 0xeb, 0x48, 0xae, - 0x76, 0x02, 0x19, 0x1f, 0x34, 0xda, 0x85, 0x04, 0x87, 0xa6, 0x70, 0x68, 0x39, 0xbf, 0x80, 0xf4, - 0x10, 0xf1, 0x0e, 0x54, 0x81, 0xe4, 0xdc, 0x1c, 0xcf, 0x08, 0x0f, 0x5c, 0x1e, 0x8b, 0x06, 0xda, - 0x85, 0x5c, 0x84, 0x2b, 0x1e, 0xab, 0x3c, 0x86, 0x30, 0x1b, 0x47, 0x65, 0x1d, 0x61, 0x6c, 0x2b, - 0x64, 0xfd, 0x6f, 0x15, 0xee, 0x4a, 0x68, 0x07, 0x26, 0xeb, 0x3f, 0xbf, 0x71, 0x49, 0xbf, 0x09, - 0x69, 0x0f, 0x8d, 0x45, 0x68, 0x55, 0xe3, 0x9a, 0x3a, 0x47, 0xd4, 0xfe, 0x88, 0x4d, 0x0b, 0xde, - 0x3d, 0x28, 0x9a, 0xf4, 0x9c, 0x62, 0xb7, 0x60, 0xd2, 0xdb, 0xa8, 0x74, 0xbf, 0x50, 0x82, 0xba, - 0x52, 0x72, 0x7a, 0x63, 0xa1, 0xfe, 0x3a, 0xa4, 0x45, 0x20, 0x7d, 0x36, 0xef, 0x4b, 0x6c, 0x22, - 0xcc, 0x1f, 0x59, 0xec, 0xb9, 0x98, 0xda, 0x1f, 0xa6, 0xdb, 0x50, 0xe2, 0x4c, 0x73, 0xdf, 0x38, - 0xdd, 0x61, 0x96, 0x51, 0x2e, 0x91, 0x65, 0xd4, 0xa5, 0x55, 0xa9, 0x16, 0xad, 0x4a, 0xf5, 0xbf, - 0x84, 0x75, 0x16, 0x27, 0xe3, 0x96, 0x2a, 0xed, 0xb7, 0xe2, 0x32, 0x0b, 0x3e, 0x2c, 0x63, 0xde, - 0xdf, 0x96, 0xd8, 0x2e, 0xfb, 0x8d, 0xac, 0xff, 0x36, 0xac, 0x95, 0x16, 0x88, 0xbb, 0x31, 0x2d, - 0x3d, 0x8a, 0x6b, 0xe9, 0xbc, 0xbc, 0x11, 0xe8, 0xe8, 0x97, 0x50, 0xe1, 0x4c, 0x86, 0x19, 0xfe, - 0x1a, 0xc5, 0x14, 0x2f, 0x70, 0xb5, 0x33, 0x05, 0xae, 0xfe, 0x0f, 0x15, 0x1e, 0x46, 0xe9, 0xb9, - 0xcd, 0x22, 0xfe, 0x9d, 0xb8, 0xb8, 0x76, 0x16, 0xc4, 0x15, 0xa3, 0x64, 0x6b, 0x15, 0xf6, 0x7b, - 0x05, 0x76, 0x97, 0x52, 0xb8, 0x25, 0x32, 0xfb, 0xa3, 0x0a, 0x95, 0x2e, 0x73, 0x89, 0x39, 0xb9, - 0xd2, 0x6d, 0x4c, 0xa0, 0x4a, 0xf5, 0x72, 0x57, 0x2c, 0xda, 0xfa, 0x21, 0x8a, 0x1d, 0x25, 0x89, - 0x0b, 0x8e, 0x92, 0xe4, 0x5a, 0x17, 0x65, 0x11, 0x5e, 0x53, 0xab, 0x79, 0xd5, 0xdb, 0x70, 0x2f, - 0x46, 0x94, 0x0c, 0x61, 0x58, 0x0e, 0x28, 0x17, 0x96, 0x03, 0x9f, 0xab, 0x50, 0x5b, 0x98, 0xe5, - 0x2a, 0xe9, 0x7a, 0x6d, 0xd2, 0xa3, 0xa9, 0x40, 0x5b, 0x7a, 0xae, 0x24, 0x56, 0xdd, 0x76, 0x24, - 0xd7, 0x0c, 0xd4, 0xa5, 0x37, 0x49, 0x07, 0x5e, 0x3e, 0x97, 0x90, 0x0d, 0xc8, 0xfd, 0x9d, 0x0a, - 0xbb, 0x0b, 0x73, 0x5d, 0x39, 0x67, 0x5d, 0x0b, 0xc3, 0xf1, 0x64, 0x9b, 0xb8, 0xf0, 0x36, 0xe1, - 0xc6, 0xc8, 0x7e, 0x0a, 0xf5, 0xe5, 0x04, 0x6d, 0xc0, 0xf8, 0x9f, 0x55, 0xf8, 0x6a, 0x7c, 0xc2, - 0xab, 0x7c, 0xd8, 0x5f, 0x0b, 0xdf, 0x8b, 0x5f, 0xeb, 0x89, 0x0d, 0xbe, 0xd6, 0x6f, 0x8c, 0xff, - 0x27, 0xf0, 0x70, 0x19, 0x5d, 0x1b, 0xb0, 0xff, 0x63, 0xc8, 0x1f, 0x90, 0xa1, 0x65, 0x6f, 0xc6, - 0xf5, 0xc2, 0xcf, 0x16, 0xea, 0xe2, 0xcf, 0x16, 0xfa, 0x77, 0xa0, 0x20, 0xa7, 0x96, 0xb8, 0x22, - 0x89, 0x52, 0xb9, 0x20, 0x51, 0x7e, 0xa6, 0x40, 0xa1, 0xcd, 0x7f, 0xdd, 0xb8, 0xf1, 0x42, 0xe1, - 0x3e, 0xa4, 0x4c, 0xe6, 0x4c, 0xac, 0xbe, 0xfc, 0xdd, 0x45, 0xb6, 0xf4, 0x32, 0x14, 0x7d, 0x04, - 0x02, 0xbf, 0xfe, 0x33, 0x28, 0x61, 0x67, 0x3c, 0x3e, 0x31, 0xfb, 0xa3, 0x9b, 0x46, 0xa5, 0x23, - 0x28, 0x87, 0x6b, 0xc9, 0xf5, 0x3f, 0x86, 0x97, 0x30, 0xa1, 0xce, 0x78, 0x4e, 0x22, 0x25, 0xc5, - 0x66, 0x48, 0x10, 0x24, 0x06, 0x4c, 0xfe, 0xae, 0x92, 0xc5, 0xfc, 0x59, 0xff, 0xbb, 0x02, 0x95, - 0x23, 0x42, 0xa9, 0x39, 0x24, 0x42, 0x60, 0x9b, 0x4d, 0xbd, 0xaa, 0x66, 0xac, 0x40, 0x52, 0x9c, - 0xbc, 0x62, 0xbf, 0x89, 0x06, 0xda, 0x87, 0x6c, 0xb0, 0xd9, 0xf8, 0x99, 0x7c, 0xfe, 0x5e, 0xcb, - 0xf8, 0x7b, 0xcd, 0x43, 0x1f, 0xb9, 0x1f, 0xe1, 0xcf, 0xfa, 0xaf, 0x14, 0xb8, 0x23, 0xd1, 0xbf, - 0xbb, 0x69, 0x7c, 0x56, 0x41, 0xf7, 0xd7, 0xd4, 0xc2, 0x35, 0xd1, 0x43, 0xd0, 0xfc, 0x64, 0x9c, - 0x6b, 0xe5, 0xe5, 0x2e, 0xfb, 0xd0, 0x1c, 0xcf, 0x08, 0xf6, 0x3a, 0xf4, 0x23, 0xc8, 0x77, 0x22, - 0x95, 0x26, 0xda, 0x01, 0x35, 0x80, 0xb1, 0x38, 0x5c, 0xb5, 0x06, 0xf1, 0x2b, 0x0a, 0xf5, 0xcc, - 0x15, 0xc5, 0xdf, 0x14, 0xd8, 0x09, 0x5d, 0xbc, 0xf2, 0xc1, 0x74, 0x59, 0x6f, 0xbf, 0x0b, 0x25, - 0x6b, 0x60, 0x9c, 0x39, 0x86, 0x72, 0xad, 0x8a, 0xaf, 0xe2, 0xa8, 0xb3, 0xb8, 0x60, 0x45, 0x5a, - 0x54, 0xdf, 0x81, 0xda, 0x79, 0xe2, 0x95, 0xd2, 0xfe, 0x9f, 0x0a, 0x77, 0xba, 0xd3, 0xb1, 0xc5, - 0x64, 0x8e, 0xba, 0x6e, 0x7f, 0xd6, 0xbe, 0xa4, 0x7b, 0x05, 0xf2, 0xd4, 0xc3, 0x21, 0xef, 0xe1, - 0x64, 0x41, 0x93, 0xe3, 0x36, 0x71, 0x03, 0xe7, 0xc5, 0xc9, 0x1f, 0x32, 0xb3, 0x19, 0x17, 0xa1, - 0x86, 0x41, 0x8e, 0x98, 0xd9, 0x0c, 0x7d, 0x03, 0x1e, 0xd8, 0xb3, 0x89, 0xe1, 0x3a, 0x9f, 0x52, - 0x63, 0x4a, 0x5c, 0x83, 0xcf, 0x6c, 0x4c, 0x4d, 0x97, 0xf1, 0x14, 0xaf, 0xe1, 0xbb, 0xf6, 0x6c, - 0x82, 0x9d, 0x4f, 0xe9, 0x31, 0x71, 0xf9, 0xe2, 0xc7, 0xa6, 0xcb, 0xd0, 0xf7, 0x21, 0x6b, 0x8e, - 0x87, 0x8e, 0x6b, 0xb1, 0xe7, 0x13, 0x79, 0xf1, 0xa6, 0x4b, 0x98, 0x67, 0x98, 0x69, 0xbe, 0xeb, - 0x8f, 0xc4, 0xe1, 0x4b, 0xe8, 0x4d, 0x40, 0x33, 0x4a, 0x0c, 0x01, 0x4e, 0x2c, 0x3a, 0x6f, 0xc9, - 0x5b, 0xb8, 0xd2, 0x8c, 0x92, 0x70, 0x9a, 0x0f, 0x5b, 0xfa, 0x3f, 0x35, 0x40, 0xd1, 0x79, 0x65, - 0x8e, 0xfe, 0x16, 0xa4, 0xf8, 0xfb, 0xb4, 0xaa, 0xf0, 0xd8, 0xee, 0x06, 0x19, 0xea, 0xcc, 0xd8, - 0xa6, 0x07, 0x1b, 0xcb, 0xe1, 0xb5, 0x8f, 0x21, 0xef, 0xef, 0x54, 0xee, 0x4e, 0x34, 0x1a, 0xca, - 0xca, 0xd3, 0x55, 0x5d, 0xe3, 0x74, 0xad, 0x7d, 0x0f, 0xb2, 0xbc, 0xaa, 0xbb, 0x70, 0xee, 0xb0, - 0x16, 0x55, 0xa3, 0xb5, 0x68, 0xed, 0x3f, 0x0a, 0x24, 0xf8, 0xcb, 0x6b, 0x7f, 0xfc, 0x1e, 0xf1, - 0xef, 0x05, 0x81, 0x52, 0x44, 0x4f, 0x24, 0xed, 0xd7, 0x56, 0x50, 0x12, 0xa5, 0x00, 0xe7, 0x47, - 0x51, 0x42, 0xda, 0x00, 0xe2, 0x7f, 0x02, 0x7c, 0x2a, 0xa1, 0xc3, 0xaf, 0xad, 0x98, 0x2a, 0x70, - 0x17, 0x67, 0x69, 0xe0, 0x39, 0x82, 0x04, 0xb5, 0x7e, 0x21, 0xb2, 0xa4, 0x86, 0xf9, 0xb3, 0xfe, - 0x36, 0xdc, 0x7b, 0x8f, 0xb0, 0xae, 0x3b, 0xf7, 0xb7, 0x9b, 0xbf, 0x7d, 0x56, 0xd0, 0xa4, 0x63, - 0xb8, 0x1f, 0x7f, 0x49, 0x2a, 0xe0, 0xdb, 0x90, 0xa7, 0xee, 0xdc, 0x58, 0x78, 0xd3, 0xab, 0x4a, - 0x82, 0xf0, 0x44, 0x5f, 0xca, 0xd1, 0xb0, 0xa1, 0xff, 0x41, 0x85, 0xbb, 0xcf, 0xa6, 0x03, 0x93, - 0x6d, 0xfb, 0xf9, 0xb1, 0x61, 0xa9, 0xb6, 0x03, 0x59, 0x66, 0x4d, 0x08, 0x65, 0xe6, 0x64, 0x2a, - 0x77, 0x72, 0x68, 0xf0, 0x74, 0x45, 0xe6, 0xc4, 0x66, 0xf2, 0x02, 0xd2, 0xd7, 0xd5, 0xa1, 0x67, - 0xeb, 0x39, 0x23, 0x62, 0x63, 0xd1, 0xaf, 0x8f, 0xa0, 0xb2, 0xc8, 0x92, 0x24, 0xbe, 0xe1, 0x4f, - 0xb0, 0x58, 0xb5, 0xc9, 0x62, 0xcf, 0xeb, 0x91, 0x33, 0xa0, 0xd7, 0xa1, 0xec, 0x95, 0x6f, 0x13, - 0x62, 0x84, 0x78, 0xc4, 0x3f, 0x24, 0x4a, 0xc2, 0xde, 0xf3, 0xcd, 0x6f, 0x3c, 0x86, 0x52, 0xec, - 0x5f, 0x1a, 0xa8, 0x04, 0xb9, 0x67, 0x4f, 0xbb, 0xc7, 0x87, 0xed, 0xce, 0x0f, 0x3a, 0x87, 0x8f, - 0xcb, 0x5f, 0x41, 0x00, 0xa9, 0x6e, 0xe7, 0xe9, 0x7b, 0x4f, 0x0e, 0xcb, 0x0a, 0xca, 0x42, 0xf2, - 0xe8, 0xd9, 0x93, 0x5e, 0xa7, 0xac, 0x7a, 0x8f, 0xbd, 0x8f, 0x3e, 0x38, 0x6e, 0x97, 0xb5, 0x83, - 0x77, 0xa0, 0x64, 0x39, 0xcd, 0xb9, 0xc5, 0x08, 0xa5, 0xe2, 0x9f, 0x32, 0x3f, 0x79, 0x55, 0xb6, - 0x2c, 0x67, 0x5f, 0x3c, 0xed, 0x0f, 0x9d, 0xfd, 0x39, 0xdb, 0xe7, 0xbd, 0xfb, 0x42, 0xd6, 0x27, - 0x29, 0xde, 0x7a, 0xfb, 0xcb, 0x00, 0x00, 0x00, 0xff, 0xff, 0x61, 0xd9, 0xf8, 0xab, 0x97, 0x23, - 0x00, 0x00, +func init() { proto.RegisterFile("vtgate.proto", fileDescriptor_vtgate_071b9c990aff35bf) } + +var fileDescriptor_vtgate_071b9c990aff35bf = []byte{ + // 1883 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0x4f, 0x8f, 0x23, 0x47, + 0x15, 0xa7, 0xbb, 0xfd, 0xf7, 0xf9, 0xef, 0xd6, 0x78, 0x77, 0x1d, 0x67, 0xd8, 0x99, 0x74, 0x18, + 0xc5, 0x49, 0x56, 0x36, 0x71, 0x20, 0x20, 0x84, 0x04, 0x19, 0xef, 0x10, 0x59, 0xd9, 0xd9, 0x0c, + 0x65, 0x6f, 0x16, 0x10, 0x51, 0xab, 0xc7, 0x2e, 0x79, 0x1b, 0xdb, 0xdd, 0x4e, 0x57, 0xd9, 0xcb, + 0x70, 0x40, 0xf9, 0x06, 0x11, 0x07, 0x24, 0x14, 0x21, 0x21, 0x24, 0x24, 0x4e, 0x5c, 0x91, 0x80, + 0x0b, 0x37, 0x8e, 0x88, 0x13, 0x07, 0x6e, 0x7c, 0x01, 0x24, 0x3e, 0x41, 0xd4, 0x55, 0xd5, 0x7f, + 0xdc, 0x33, 0xf6, 0x78, 0x3c, 0x3b, 0x2b, 0xef, 0xc5, 0xea, 0x7a, 0x55, 0xf5, 0xea, 0xbd, 0xdf, + 0xfb, 0xd5, 0xab, 0xd7, 0xd5, 0x86, 0xfc, 0x9c, 0x0d, 0x4d, 0x46, 0x1a, 0x53, 0xd7, 0x61, 0x0e, + 0x4a, 0x89, 0x56, 0x2d, 0xf7, 0xe9, 0x8c, 0xb8, 0x67, 0x42, 0x58, 0x2b, 0x32, 0x67, 0xea, 0x0c, + 0x4c, 0x66, 0xca, 0x76, 0x6e, 0xce, 0xdc, 0x69, 0x5f, 0x34, 0xf4, 0xff, 0x68, 0x90, 0xee, 0x12, + 0x4a, 0x2d, 0xc7, 0x46, 0x07, 0x50, 0xb4, 0x6c, 0x83, 0xb9, 0xa6, 0x4d, 0xcd, 0x3e, 0xb3, 0x1c, + 0xbb, 0xaa, 0xec, 0x2b, 0xf5, 0x0c, 0x2e, 0x58, 0x76, 0x2f, 0x14, 0xa2, 0x36, 0x14, 0xe9, 0x53, + 0xd3, 0x1d, 0x18, 0x54, 0xcc, 0xa3, 0x55, 0x75, 0x5f, 0xab, 0xe7, 0x5a, 0xbb, 0x0d, 0x69, 0x8b, + 0xd4, 0xd7, 0xe8, 0x7a, 0xa3, 0x64, 0x03, 0x17, 0x68, 0xa4, 0x45, 0xd1, 0xab, 0x90, 0xa5, 0x96, + 0x3d, 0x1c, 0x13, 0x63, 0x70, 0x5a, 0xd5, 0xf8, 0x32, 0x19, 0x21, 0x78, 0x70, 0x8a, 0xee, 0x01, + 0x98, 0x33, 0xe6, 0xf4, 0x9d, 0xc9, 0xc4, 0x62, 0xd5, 0x04, 0xef, 0x8d, 0x48, 0xd0, 0xeb, 0x50, + 0x60, 0xa6, 0x3b, 0x24, 0xcc, 0xa0, 0xcc, 0xb5, 0xec, 0x61, 0x35, 0xb9, 0xaf, 0xd4, 0xb3, 0x38, + 0x2f, 0x84, 0x5d, 0x2e, 0x43, 0x4d, 0x48, 0x3b, 0x53, 0xc6, 0xed, 0x4b, 0xed, 0x2b, 0xf5, 0x5c, + 0xeb, 0x76, 0x43, 0xa0, 0x72, 0xf4, 0x73, 0xd2, 0x9f, 0x31, 0xf2, 0x91, 0xe8, 0xc4, 0xfe, 0x28, + 0x74, 0x08, 0xe5, 0x88, 0xef, 0xc6, 0xc4, 0x19, 0x90, 0x6a, 0x7a, 0x5f, 0xa9, 0x17, 0x5b, 0x77, + 0x7d, 0xcf, 0x22, 0x30, 0x1c, 0x3b, 0x03, 0x82, 0x4b, 0x6c, 0x51, 0x80, 0x9a, 0x90, 0x79, 0x66, + 0xba, 0xb6, 0x65, 0x0f, 0x69, 0x35, 0xc3, 0x51, 0xd9, 0x91, 0xab, 0xfe, 0xd0, 0xfb, 0x7d, 0x22, + 0xfa, 0x70, 0x30, 0xa8, 0xf6, 0x53, 0xc8, 0x47, 0x61, 0x42, 0x07, 0x90, 0x12, 0x5e, 0x70, 0xec, + 0x73, 0xad, 0x82, 0x9c, 0xde, 0xe3, 0x42, 0x2c, 0x3b, 0xbd, 0x50, 0x45, 0x6d, 0xb5, 0x06, 0x55, + 0x75, 0x5f, 0xa9, 0x6b, 0xb8, 0x10, 0x91, 0x76, 0x06, 0xfa, 0x3f, 0x55, 0x28, 0x4a, 0x77, 0x31, + 0xf9, 0x74, 0x46, 0x28, 0x43, 0xf7, 0x21, 0xdb, 0x37, 0xc7, 0x63, 0xe2, 0x7a, 0x93, 0xc4, 0x1a, + 0xa5, 0x86, 0x60, 0x44, 0x9b, 0xcb, 0x3b, 0x0f, 0x70, 0x46, 0x8c, 0xe8, 0x0c, 0xd0, 0x9b, 0x90, + 0x96, 0x51, 0xe6, 0x0b, 0x88, 0xb1, 0xd1, 0x20, 0x63, 0xbf, 0x1f, 0xbd, 0x01, 0x49, 0x6e, 0x2a, + 0x8f, 0x66, 0xae, 0x75, 0x4b, 0x1a, 0x7e, 0xe8, 0xcc, 0xec, 0x01, 0x77, 0x1e, 0x8b, 0x7e, 0xf4, + 0x4d, 0xc8, 0x31, 0xf3, 0x74, 0x4c, 0x98, 0xc1, 0xce, 0xa6, 0x84, 0x87, 0xb7, 0xd8, 0xaa, 0x34, + 0x02, 0x96, 0xf6, 0x78, 0x67, 0xef, 0x6c, 0x4a, 0x30, 0xb0, 0xe0, 0x19, 0xdd, 0x07, 0x64, 0x3b, + 0xcc, 0x88, 0x31, 0x34, 0xc9, 0xc9, 0x51, 0xb6, 0x1d, 0xd6, 0x59, 0x20, 0xe9, 0x01, 0x14, 0x47, + 0xe4, 0x8c, 0x4e, 0xcd, 0x3e, 0x31, 0x38, 0xf3, 0x38, 0x09, 0xb2, 0xb8, 0xe0, 0x4b, 0x39, 0xea, + 0x51, 0x92, 0xa4, 0xd7, 0x21, 0x89, 0xfe, 0xb9, 0x02, 0xa5, 0x00, 0x51, 0x3a, 0x75, 0x6c, 0x4a, + 0xd0, 0x01, 0x24, 0x89, 0xeb, 0x3a, 0x6e, 0x0c, 0x4e, 0x7c, 0xd2, 0x3e, 0xf2, 0xc4, 0x58, 0xf4, + 0x5e, 0x05, 0xcb, 0xb7, 0x20, 0xe5, 0x12, 0x3a, 0x1b, 0x33, 0x09, 0x26, 0x8a, 0x92, 0x08, 0xf3, + 0x1e, 0x2c, 0x47, 0xe8, 0xff, 0x55, 0xa1, 0x22, 0x2d, 0xe2, 0x3e, 0xd1, 0xed, 0x89, 0x74, 0x0d, + 0x32, 0x3e, 0xdc, 0x3c, 0xcc, 0x59, 0x1c, 0xb4, 0xd1, 0x1d, 0x48, 0xf1, 0xb8, 0xd0, 0x6a, 0x72, + 0x5f, 0xab, 0x67, 0xb1, 0x6c, 0xc5, 0xd9, 0x91, 0xba, 0x16, 0x3b, 0xd2, 0x4b, 0xd8, 0x11, 0x09, + 0x7b, 0x66, 0xad, 0xb0, 0xff, 0x5a, 0x81, 0xdb, 0x31, 0x90, 0xb7, 0x22, 0xf8, 0xff, 0x57, 0xe1, + 0x15, 0x69, 0xd7, 0x87, 0x12, 0xd9, 0xce, 0xcb, 0xc2, 0x80, 0xd7, 0x20, 0x1f, 0x6c, 0x51, 0x4b, + 0xf2, 0x20, 0x8f, 0x73, 0xa3, 0xd0, 0x8f, 0x2d, 0x25, 0xc3, 0x17, 0x0a, 0xd4, 0x2e, 0x02, 0x7d, + 0x2b, 0x18, 0xf1, 0x99, 0x06, 0x77, 0x43, 0xe3, 0xb0, 0x69, 0x0f, 0xc9, 0x4b, 0xc2, 0x87, 0x77, + 0x00, 0x46, 0xe4, 0xcc, 0x70, 0xb9, 0xc9, 0x9c, 0x0d, 0x9e, 0xa7, 0x41, 0xac, 0x7d, 0x6f, 0x70, + 0x76, 0xe4, 0xfb, 0xb5, 0xa5, 0xfc, 0xf8, 0x8d, 0x02, 0xd5, 0xf3, 0x21, 0xd8, 0x0a, 0x76, 0xfc, + 0x25, 0x11, 0xb0, 0xe3, 0xc8, 0x66, 0x16, 0x3b, 0x7b, 0x69, 0xb2, 0xc5, 0x7d, 0x40, 0x84, 0x5b, + 0x6c, 0xf4, 0x9d, 0xf1, 0x6c, 0x62, 0x1b, 0xb6, 0x39, 0x21, 0xb2, 0xf0, 0x2b, 0x8b, 0x9e, 0x36, + 0xef, 0x78, 0x64, 0x4e, 0x08, 0xfa, 0x11, 0xec, 0xc8, 0xd1, 0x0b, 0x29, 0x26, 0xc5, 0x49, 0x55, + 0xf7, 0x2d, 0x5d, 0x82, 0x44, 0xc3, 0x17, 0xe0, 0x5b, 0x42, 0xc9, 0x87, 0xcb, 0x53, 0x52, 0xfa, + 0x5a, 0x94, 0xcb, 0x5c, 0x4e, 0xb9, 0xec, 0x3a, 0x94, 0xab, 0x9d, 0x42, 0xc6, 0x37, 0x1a, 0xed, + 0x41, 0x82, 0x9b, 0xa6, 0x70, 0xd3, 0x72, 0x7e, 0x01, 0xe9, 0x59, 0xc4, 0x3b, 0x50, 0x05, 0x92, + 0x73, 0x73, 0x3c, 0x23, 0x3c, 0x70, 0x79, 0x2c, 0x1a, 0x68, 0x0f, 0x72, 0x11, 0xac, 0x78, 0xac, + 0xf2, 0x18, 0xc2, 0x6c, 0x1c, 0xa5, 0x75, 0x04, 0xb1, 0xad, 0xa0, 0xf5, 0xbf, 0x54, 0xd8, 0x91, + 0xa6, 0x1d, 0x9a, 0xac, 0xff, 0xf4, 0xc6, 0x29, 0xfd, 0x36, 0xa4, 0x3d, 0x6b, 0x2c, 0x42, 0xab, + 0x1a, 0xe7, 0xd4, 0x05, 0xa4, 0xf6, 0x47, 0x6c, 0x5a, 0xf0, 0x1e, 0x40, 0xd1, 0xa4, 0x17, 0x14, + 0xbb, 0x05, 0x93, 0xbe, 0x88, 0x4a, 0xf7, 0x0b, 0x25, 0xa8, 0x2b, 0x25, 0xa6, 0x37, 0x16, 0xea, + 0xaf, 0x43, 0x5a, 0x04, 0xd2, 0x47, 0xf3, 0x8e, 0xb4, 0x4d, 0x84, 0xf9, 0x89, 0xc5, 0x9e, 0x0a, + 0xd5, 0xfe, 0x30, 0xdd, 0x86, 0x12, 0x47, 0x9a, 0xfb, 0xc6, 0xe1, 0x0e, 0xb3, 0x8c, 0x72, 0x85, + 0x2c, 0xa3, 0x2e, 0xad, 0x4a, 0xb5, 0x68, 0x55, 0xaa, 0xff, 0x39, 0xac, 0xb3, 0x38, 0x18, 0x2f, + 0xa8, 0xd2, 0x7e, 0x27, 0x4e, 0xb3, 0xe0, 0x4d, 0x34, 0xe6, 0xfd, 0x8b, 0x22, 0xdb, 0x55, 0x5f, + 0xaa, 0xf5, 0xdf, 0x86, 0xb5, 0xd2, 0x02, 0x70, 0x37, 0xc6, 0xa5, 0xfb, 0x71, 0x2e, 0x5d, 0x94, + 0x37, 0x02, 0x1e, 0xfd, 0x12, 0x2a, 0x1c, 0xc9, 0x30, 0xc3, 0x3f, 0x47, 0x32, 0xc5, 0x0b, 0x5c, + 0xed, 0x5c, 0x81, 0xab, 0xff, 0x5d, 0x85, 0x7b, 0x51, 0x78, 0x5e, 0x64, 0x11, 0xff, 0x5e, 0x9c, + 0x5c, 0xbb, 0x0b, 0xe4, 0x8a, 0x41, 0xb2, 0xb5, 0x0c, 0xfb, 0xbd, 0x02, 0x7b, 0x4b, 0x21, 0xdc, + 0x12, 0x9a, 0xfd, 0x51, 0x85, 0x4a, 0x97, 0xb9, 0xc4, 0x9c, 0x5c, 0xeb, 0x36, 0x26, 0x60, 0xa5, + 0x7a, 0xb5, 0x2b, 0x16, 0x6d, 0xfd, 0x10, 0xc5, 0x8e, 0x92, 0xc4, 0x25, 0x47, 0x49, 0x72, 0xad, + 0x9b, 0xb5, 0x08, 0xae, 0xa9, 0xd5, 0xb8, 0xea, 0x6d, 0xb8, 0x1d, 0x03, 0x4a, 0x86, 0x30, 0x2c, + 0x07, 0x94, 0x4b, 0xcb, 0x81, 0xcf, 0x55, 0xa8, 0x2d, 0x68, 0xb9, 0x4e, 0xba, 0x5e, 0x1b, 0xf4, + 0x68, 0x2a, 0xd0, 0x96, 0x9e, 0x2b, 0x89, 0x55, 0xb7, 0x1d, 0xc9, 0x35, 0x03, 0x75, 0xe5, 0x4d, + 0xd2, 0x81, 0x57, 0x2f, 0x04, 0x64, 0x03, 0x70, 0x7f, 0xa7, 0xc2, 0xde, 0x82, 0xae, 0x6b, 0xe7, + 0xac, 0xe7, 0x82, 0x70, 0x3c, 0xd9, 0x26, 0x2e, 0xbd, 0x4d, 0xb8, 0x31, 0xb0, 0x1f, 0xc1, 0xfe, + 0x72, 0x80, 0x36, 0x40, 0xfc, 0x4f, 0x2a, 0x7c, 0x35, 0xae, 0xf0, 0x3a, 0x2f, 0xf6, 0xcf, 0x05, + 0xef, 0xc5, 0xb7, 0xf5, 0xc4, 0x06, 0x6f, 0xeb, 0x37, 0x86, 0xff, 0x43, 0xb8, 0xb7, 0x0c, 0xae, + 0x0d, 0xd0, 0xff, 0x31, 0xe4, 0x0f, 0xc9, 0xd0, 0xb2, 0x37, 0xc3, 0x7a, 0xe1, 0x3b, 0x87, 0xba, + 0xf8, 0x9d, 0x43, 0xff, 0x0e, 0x14, 0xa4, 0x6a, 0x69, 0x57, 0x24, 0x51, 0x2a, 0x97, 0x24, 0xca, + 0xcf, 0x14, 0x28, 0xb4, 0xf9, 0xe7, 0x90, 0x1b, 0x2f, 0x14, 0xee, 0x40, 0xca, 0x64, 0xce, 0xc4, + 0xea, 0xcb, 0x0f, 0x35, 0xb2, 0xa5, 0x97, 0xa1, 0xe8, 0x5b, 0x20, 0xec, 0xd7, 0x7f, 0x06, 0x25, + 0xec, 0x8c, 0xc7, 0xa7, 0x66, 0x7f, 0x74, 0xd3, 0x56, 0xe9, 0x08, 0xca, 0xe1, 0x5a, 0x72, 0xfd, + 0x4f, 0xe0, 0x15, 0x4c, 0xa8, 0x33, 0x9e, 0x93, 0x48, 0x49, 0xb1, 0x99, 0x25, 0x08, 0x12, 0x03, + 0x26, 0xbf, 0xab, 0x64, 0x31, 0x7f, 0xd6, 0xff, 0xa6, 0x40, 0xe5, 0x98, 0x50, 0x6a, 0x0e, 0x89, + 0x20, 0xd8, 0x66, 0xaa, 0x57, 0xd5, 0x8c, 0x15, 0x48, 0x8a, 0x93, 0x57, 0xec, 0x37, 0xd1, 0x40, + 0x4d, 0xc8, 0x06, 0x9b, 0x8d, 0x9f, 0xc9, 0x17, 0xef, 0xb5, 0x8c, 0xbf, 0xd7, 0x3c, 0xeb, 0x23, + 0xf7, 0x23, 0xfc, 0x59, 0xff, 0x95, 0x02, 0xb7, 0xa4, 0xf5, 0xef, 0x6f, 0x1a, 0x9f, 0x55, 0xa6, + 0xfb, 0x6b, 0x6a, 0xe1, 0x9a, 0xe8, 0x1e, 0x68, 0x7e, 0x32, 0xce, 0xb5, 0xf2, 0x72, 0x97, 0x7d, + 0x6c, 0x8e, 0x67, 0x04, 0x7b, 0x1d, 0xfa, 0x31, 0xe4, 0x3b, 0x91, 0x4a, 0x13, 0xed, 0x82, 0x1a, + 0x98, 0xb1, 0x38, 0x5c, 0xb5, 0x06, 0xf1, 0x2b, 0x0a, 0xf5, 0xdc, 0x15, 0xc5, 0x5f, 0x15, 0xd8, + 0x0d, 0x5d, 0xbc, 0xf6, 0xc1, 0x74, 0x55, 0x6f, 0xbf, 0x0b, 0x25, 0x6b, 0x60, 0x9c, 0x3b, 0x86, + 0x72, 0xad, 0x8a, 0xcf, 0xe2, 0xa8, 0xb3, 0xb8, 0x60, 0x45, 0x5a, 0x54, 0xdf, 0x85, 0xda, 0x45, + 0xe4, 0x95, 0xd4, 0xfe, 0x9f, 0x0a, 0xb7, 0xba, 0xd3, 0xb1, 0xc5, 0x64, 0x8e, 0x7a, 0xde, 0xfe, + 0xac, 0x7d, 0x49, 0xf7, 0x1a, 0xe4, 0xa9, 0x67, 0x87, 0xbc, 0x87, 0x93, 0x05, 0x4d, 0x8e, 0xcb, + 0xc4, 0x0d, 0x9c, 0x17, 0x27, 0x7f, 0xc8, 0xcc, 0x66, 0x9c, 0x84, 0x1a, 0x06, 0x39, 0x62, 0x66, + 0x33, 0xf4, 0x0d, 0xb8, 0x6b, 0xcf, 0x26, 0x86, 0xeb, 0x3c, 0xa3, 0xc6, 0x94, 0xb8, 0x06, 0xd7, + 0x6c, 0x4c, 0x4d, 0x97, 0xf1, 0x14, 0xaf, 0xe1, 0x1d, 0x7b, 0x36, 0xc1, 0xce, 0x33, 0x7a, 0x42, + 0x5c, 0xbe, 0xf8, 0x89, 0xe9, 0x32, 0xf4, 0x7d, 0xc8, 0x9a, 0xe3, 0xa1, 0xe3, 0x5a, 0xec, 0xe9, + 0x44, 0x5e, 0xbc, 0xe9, 0xd2, 0xcc, 0x73, 0xc8, 0x34, 0xde, 0xf7, 0x47, 0xe2, 0x70, 0x12, 0x7a, + 0x1b, 0xd0, 0x8c, 0x12, 0x43, 0x18, 0x27, 0x16, 0x9d, 0xb7, 0xe4, 0x2d, 0x5c, 0x69, 0x46, 0x49, + 0xa8, 0xe6, 0xe3, 0x96, 0xfe, 0x0f, 0x0d, 0x50, 0x54, 0xaf, 0xcc, 0xd1, 0xdf, 0x82, 0x14, 0x9f, + 0x4f, 0xab, 0x0a, 0x8f, 0xed, 0x5e, 0x90, 0xa1, 0xce, 0x8d, 0x6d, 0x78, 0x66, 0x63, 0x39, 0xbc, + 0xf6, 0x09, 0xe4, 0xfd, 0x9d, 0xca, 0xdd, 0x89, 0x46, 0x43, 0x59, 0x79, 0xba, 0xaa, 0x6b, 0x9c, + 0xae, 0xb5, 0xef, 0x41, 0x96, 0x57, 0x75, 0x97, 0xea, 0x0e, 0x6b, 0x51, 0x35, 0x5a, 0x8b, 0xd6, + 0xfe, 0xad, 0x40, 0x82, 0x4f, 0x5e, 0xfb, 0xe5, 0xf7, 0x98, 0xbf, 0x2f, 0x08, 0x2b, 0x45, 0xf4, + 0x44, 0xd2, 0x7e, 0x63, 0x05, 0x24, 0x51, 0x08, 0x70, 0x7e, 0x14, 0x05, 0xa4, 0x0d, 0x20, 0xfe, + 0x58, 0xc0, 0x55, 0x09, 0x1e, 0x7e, 0x6d, 0x85, 0xaa, 0xc0, 0x5d, 0x9c, 0xa5, 0x81, 0xe7, 0x08, + 0x12, 0xd4, 0xfa, 0x85, 0xc8, 0x92, 0x1a, 0xe6, 0xcf, 0xfa, 0xbb, 0x70, 0xfb, 0x03, 0xc2, 0xba, + 0xee, 0xdc, 0xdf, 0x6e, 0xfe, 0xf6, 0x59, 0x01, 0x93, 0x8e, 0xe1, 0x4e, 0x7c, 0x92, 0x64, 0xc0, + 0xb7, 0x21, 0x4f, 0xdd, 0xb9, 0xb1, 0x30, 0xd3, 0xab, 0x4a, 0x82, 0xf0, 0x44, 0x27, 0xe5, 0x68, + 0xd8, 0xd0, 0xff, 0xa0, 0xc2, 0xce, 0xe3, 0xe9, 0xc0, 0x64, 0xdb, 0x7e, 0x7e, 0x6c, 0x58, 0xaa, + 0xed, 0x42, 0x96, 0x59, 0x13, 0x42, 0x99, 0x39, 0x99, 0xca, 0x9d, 0x1c, 0x0a, 0x3c, 0x5e, 0x91, + 0x39, 0xb1, 0x99, 0xbc, 0x80, 0xf4, 0x79, 0x75, 0xe4, 0xc9, 0x7a, 0xce, 0x88, 0xd8, 0x58, 0xf4, + 0xeb, 0x23, 0xa8, 0x2c, 0xa2, 0x24, 0x81, 0xaf, 0xfb, 0x0a, 0x16, 0xab, 0x36, 0x59, 0xec, 0x79, + 0x3d, 0x52, 0x03, 0x7a, 0x13, 0xca, 0x5e, 0xf9, 0x36, 0x21, 0x46, 0x68, 0x8f, 0xf8, 0x87, 0x44, + 0x49, 0xc8, 0x7b, 0xbe, 0xf8, 0xad, 0x07, 0x50, 0x8a, 0xfd, 0xad, 0x03, 0x95, 0x20, 0xf7, 0xf8, + 0x51, 0xf7, 0xe4, 0xa8, 0xdd, 0xf9, 0x41, 0xe7, 0xe8, 0x41, 0xf9, 0x2b, 0x08, 0x20, 0xd5, 0xed, + 0x3c, 0xfa, 0xe0, 0xe1, 0x51, 0x59, 0x41, 0x59, 0x48, 0x1e, 0x3f, 0x7e, 0xd8, 0xeb, 0x94, 0x55, + 0xef, 0xb1, 0xf7, 0xe4, 0xa3, 0x93, 0x76, 0x59, 0x3b, 0x7c, 0x0f, 0x4a, 0x96, 0xd3, 0x98, 0x5b, + 0x8c, 0x50, 0x2a, 0xfe, 0x5a, 0xf3, 0x93, 0xd7, 0x65, 0xcb, 0x72, 0x9a, 0xe2, 0xa9, 0x39, 0x74, + 0x9a, 0x73, 0xd6, 0xe4, 0xbd, 0x4d, 0x41, 0xeb, 0xd3, 0x14, 0x6f, 0xbd, 0xfb, 0x65, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x52, 0xf0, 0x0f, 0xdd, 0xc8, 0x23, 0x00, 0x00, } diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index 42181d31a04..57a897550ed 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -1196,6 +1196,9 @@ var ( }, { input: "show warnings", output: "show warnings", + }, { + input: "select warnings from t", + output: "select `warnings` from t", }, { input: "show foobar", output: "show foobar", diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 678637e9848..7004dd4feba 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -245,107 +245,108 @@ const VINDEX = 57482 const VINDEXES = 57483 const STATUS = 57484 const VARIABLES = 57485 -const BEGIN = 57486 -const START = 57487 -const TRANSACTION = 57488 -const COMMIT = 57489 -const ROLLBACK = 57490 -const BIT = 57491 -const TINYINT = 57492 -const SMALLINT = 57493 -const MEDIUMINT = 57494 -const INT = 57495 -const INTEGER = 57496 -const BIGINT = 57497 -const INTNUM = 57498 -const REAL = 57499 -const DOUBLE = 57500 -const FLOAT_TYPE = 57501 -const DECIMAL = 57502 -const NUMERIC = 57503 -const TIME = 57504 -const TIMESTAMP = 57505 -const DATETIME = 57506 -const YEAR = 57507 -const CHAR = 57508 -const VARCHAR = 57509 -const BOOL = 57510 -const CHARACTER = 57511 -const VARBINARY = 57512 -const NCHAR = 57513 -const TEXT = 57514 -const TINYTEXT = 57515 -const MEDIUMTEXT = 57516 -const LONGTEXT = 57517 -const BLOB = 57518 -const TINYBLOB = 57519 -const MEDIUMBLOB = 57520 -const LONGBLOB = 57521 -const JSON = 57522 -const ENUM = 57523 -const GEOMETRY = 57524 -const POINT = 57525 -const LINESTRING = 57526 -const POLYGON = 57527 -const GEOMETRYCOLLECTION = 57528 -const MULTIPOINT = 57529 -const MULTILINESTRING = 57530 -const MULTIPOLYGON = 57531 -const NULLX = 57532 -const AUTO_INCREMENT = 57533 -const APPROXNUM = 57534 -const SIGNED = 57535 -const UNSIGNED = 57536 -const ZEROFILL = 57537 -const COLLATION = 57538 -const DATABASES = 57539 -const TABLES = 57540 -const VITESS_KEYSPACES = 57541 -const VITESS_SHARDS = 57542 -const VITESS_TABLETS = 57543 -const VSCHEMA_TABLES = 57544 -const VITESS_TARGET = 57545 -const FULL = 57546 -const PROCESSLIST = 57547 -const COLUMNS = 57548 -const FIELDS = 57549 -const NAMES = 57550 -const CHARSET = 57551 -const GLOBAL = 57552 -const SESSION = 57553 -const ISOLATION = 57554 -const LEVEL = 57555 -const READ = 57556 -const WRITE = 57557 -const ONLY = 57558 -const REPEATABLE = 57559 -const COMMITTED = 57560 -const UNCOMMITTED = 57561 -const SERIALIZABLE = 57562 -const CURRENT_TIMESTAMP = 57563 -const DATABASE = 57564 -const CURRENT_DATE = 57565 -const CURRENT_TIME = 57566 -const LOCALTIME = 57567 -const LOCALTIMESTAMP = 57568 -const UTC_DATE = 57569 -const UTC_TIME = 57570 -const UTC_TIMESTAMP = 57571 -const REPLACE = 57572 -const CONVERT = 57573 -const CAST = 57574 -const SUBSTR = 57575 -const SUBSTRING = 57576 -const GROUP_CONCAT = 57577 -const SEPARATOR = 57578 -const MATCH = 57579 -const AGAINST = 57580 -const BOOLEAN = 57581 -const LANGUAGE = 57582 -const WITH = 57583 -const QUERY = 57584 -const EXPANSION = 57585 -const UNUSED = 57586 +const WARNINGS = 57486 +const BEGIN = 57487 +const START = 57488 +const TRANSACTION = 57489 +const COMMIT = 57490 +const ROLLBACK = 57491 +const BIT = 57492 +const TINYINT = 57493 +const SMALLINT = 57494 +const MEDIUMINT = 57495 +const INT = 57496 +const INTEGER = 57497 +const BIGINT = 57498 +const INTNUM = 57499 +const REAL = 57500 +const DOUBLE = 57501 +const FLOAT_TYPE = 57502 +const DECIMAL = 57503 +const NUMERIC = 57504 +const TIME = 57505 +const TIMESTAMP = 57506 +const DATETIME = 57507 +const YEAR = 57508 +const CHAR = 57509 +const VARCHAR = 57510 +const BOOL = 57511 +const CHARACTER = 57512 +const VARBINARY = 57513 +const NCHAR = 57514 +const TEXT = 57515 +const TINYTEXT = 57516 +const MEDIUMTEXT = 57517 +const LONGTEXT = 57518 +const BLOB = 57519 +const TINYBLOB = 57520 +const MEDIUMBLOB = 57521 +const LONGBLOB = 57522 +const JSON = 57523 +const ENUM = 57524 +const GEOMETRY = 57525 +const POINT = 57526 +const LINESTRING = 57527 +const POLYGON = 57528 +const GEOMETRYCOLLECTION = 57529 +const MULTIPOINT = 57530 +const MULTILINESTRING = 57531 +const MULTIPOLYGON = 57532 +const NULLX = 57533 +const AUTO_INCREMENT = 57534 +const APPROXNUM = 57535 +const SIGNED = 57536 +const UNSIGNED = 57537 +const ZEROFILL = 57538 +const COLLATION = 57539 +const DATABASES = 57540 +const TABLES = 57541 +const VITESS_KEYSPACES = 57542 +const VITESS_SHARDS = 57543 +const VITESS_TABLETS = 57544 +const VSCHEMA_TABLES = 57545 +const VITESS_TARGET = 57546 +const FULL = 57547 +const PROCESSLIST = 57548 +const COLUMNS = 57549 +const FIELDS = 57550 +const NAMES = 57551 +const CHARSET = 57552 +const GLOBAL = 57553 +const SESSION = 57554 +const ISOLATION = 57555 +const LEVEL = 57556 +const READ = 57557 +const WRITE = 57558 +const ONLY = 57559 +const REPEATABLE = 57560 +const COMMITTED = 57561 +const UNCOMMITTED = 57562 +const SERIALIZABLE = 57563 +const CURRENT_TIMESTAMP = 57564 +const DATABASE = 57565 +const CURRENT_DATE = 57566 +const CURRENT_TIME = 57567 +const LOCALTIME = 57568 +const LOCALTIMESTAMP = 57569 +const UTC_DATE = 57570 +const UTC_TIME = 57571 +const UTC_TIMESTAMP = 57572 +const REPLACE = 57573 +const CONVERT = 57574 +const CAST = 57575 +const SUBSTR = 57576 +const SUBSTRING = 57577 +const GROUP_CONCAT = 57578 +const SEPARATOR = 57579 +const MATCH = 57580 +const AGAINST = 57581 +const BOOLEAN = 57582 +const LANGUAGE = 57583 +const WITH = 57584 +const QUERY = 57585 +const EXPANSION = 57586 +const UNUSED = 57587 var yyToknames = [...]string{ "$end", @@ -508,6 +509,7 @@ var yyToknames = [...]string{ "VINDEXES", "STATUS", "VARIABLES", + "WARNINGS", "BEGIN", "START", "TRANSACTION", @@ -626,831 +628,841 @@ var yyExca = [...]int{ 5, 29, -2, 4, -1, 37, - 159, 291, - 160, 291, - -2, 281, - -1, 260, - 112, 621, - -2, 617, - -1, 261, + 159, 292, + 160, 292, + -2, 282, + -1, 262, 112, 622, -2, 618, - -1, 324, - 82, 790, + -1, 263, + 112, 623, + -2, 619, + -1, 326, + 82, 791, -2, 60, - -1, 325, - 82, 748, + -1, 327, + 82, 749, -2, 61, - -1, 330, - 82, 728, - -2, 583, -1, 332, - 82, 769, - -2, 585, - -1, 584, - 1, 343, - 5, 343, - 12, 343, - 13, 343, - 14, 343, - 15, 343, - 17, 343, - 19, 343, - 30, 343, - 31, 343, - 42, 343, - 43, 343, - 44, 343, - 45, 343, - 46, 343, - 48, 343, - 49, 343, - 52, 343, - 53, 343, - 55, 343, - 56, 343, - 262, 343, - -2, 361, - -1, 587, + 82, 729, + -2, 584, + -1, 334, + 82, 770, + -2, 586, + -1, 586, + 1, 344, + 5, 344, + 12, 344, + 13, 344, + 14, 344, + 15, 344, + 17, 344, + 19, 344, + 30, 344, + 31, 344, + 42, 344, + 43, 344, + 44, 344, + 45, 344, + 46, 344, + 48, 344, + 49, 344, + 52, 344, + 53, 344, + 55, 344, + 56, 344, + 263, 344, + -2, 362, + -1, 589, 53, 43, 55, 43, -2, 45, - -1, 723, - 112, 624, - -2, 620, - -1, 935, + -1, 725, + 112, 625, + -2, 621, + -1, 937, 5, 30, - -2, 427, - -1, 960, + -2, 428, + -1, 962, 5, 29, - -2, 557, - -1, 1200, - 5, 30, -2, 558, - -1, 1250, - 5, 29, - -2, 560, - -1, 1323, + -1, 1202, 5, 30, + -2, 559, + -1, 1252, + 5, 29, -2, 561, + -1, 1325, + 5, 30, + -2, 562, } const yyPrivate = 57344 -const yyLast = 11186 +const yyLast = 11302 var yyAct = [...]int{ - 261, 1358, 1348, 1314, 874, 659, 1262, 825, 265, 963, - 981, 1101, 549, 1135, 1032, 1220, 964, 802, 1102, 800, - 239, 548, 3, 1098, 868, 291, 824, 1108, 267, 901, - 834, 1075, 82, 748, 230, 821, 203, 1114, 755, 203, - 57, 1006, 987, 758, 927, 688, 329, 1023, 789, 1035, - 804, 838, 597, 854, 864, 725, 481, 774, 428, 596, - 323, 292, 51, 487, 782, 493, 263, 203, 82, 581, - 248, 909, 203, 238, 203, 320, 82, 318, 501, 231, - 232, 233, 234, 56, 1351, 237, 891, 1335, 580, 1346, - 1321, 1343, 875, 1334, 1320, 1093, 563, 1194, 433, 454, - 890, 1273, 598, 61, 599, 586, 1129, 252, 1143, 1144, - 1145, 815, 848, 51, 1130, 1131, 1148, 1146, 816, 817, - 236, 244, 198, 194, 195, 196, 235, 472, 895, 63, - 64, 65, 66, 67, 473, 470, 471, 889, 1014, 847, - 1223, 200, 1289, 514, 513, 523, 524, 516, 517, 518, - 519, 520, 521, 522, 515, 994, 1239, 525, 993, 855, - 1183, 995, 1076, 1181, 229, 456, 1345, 458, 465, 466, - 1342, 1315, 319, 1056, 783, 459, 1305, 430, 839, 432, - 1263, 757, 442, 1362, 443, 436, 1366, 886, 883, 884, - 192, 882, 203, 1265, 203, 667, 1053, 455, 457, 1078, - 203, 1271, 1055, 658, 1124, 982, 984, 203, 191, 1123, - 192, 82, 82, 82, 82, 841, 82, 841, 1122, 431, - 439, 206, 893, 896, 193, 82, 537, 538, 1294, 841, - 1203, 1080, 1062, 1084, 943, 1079, 921, 1077, 697, 197, - 505, 449, 1082, 515, 1007, 1152, 525, 461, 822, 525, - 694, 1081, 70, 732, 689, 82, 903, 888, 429, 500, - 429, 1264, 1303, 1162, 1083, 1085, 490, 730, 731, 729, - 477, 478, 460, 460, 460, 460, 1112, 460, 600, 887, - 1095, 453, 983, 489, 775, 855, 460, 1147, 71, 1360, - 662, 535, 1361, 427, 1359, 1012, 1153, 440, 1054, 441, - 1052, 1319, 1272, 1270, 498, 448, 51, 939, 1290, 938, - 495, 840, 450, 840, 435, 326, 203, 203, 203, 892, - 500, 534, 82, 844, 536, 840, 499, 498, 82, 845, - 837, 835, 894, 836, 902, 690, 579, 479, 833, 839, - 775, 1308, 950, 500, 1325, 584, 499, 498, 1230, 491, - 1229, 1367, 547, 1097, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 500, 562, 564, 564, 564, 564, 564, - 564, 564, 564, 572, 573, 574, 575, 1027, 585, 445, - 446, 447, 700, 701, 940, 1026, 54, 462, 463, 464, - 1368, 467, 437, 438, 1015, 588, 728, 594, 1327, 1304, - 476, 565, 566, 567, 568, 569, 570, 571, 514, 513, - 523, 524, 516, 517, 518, 519, 520, 521, 522, 515, - 22, 578, 525, 587, 1246, 499, 498, 749, 203, 750, - 499, 498, 1227, 82, 499, 498, 918, 919, 920, 203, - 203, 82, 500, 203, 480, 1059, 203, 500, 1024, 1301, - 203, 500, 82, 82, 82, 82, 82, 82, 82, 82, - 190, 928, 715, 717, 718, 1007, 82, 82, 716, 696, - 996, 1002, 997, 290, 877, 203, 1268, 1344, 1331, 480, - 243, 514, 513, 523, 524, 516, 517, 518, 519, 520, - 521, 522, 515, 82, 460, 525, 676, 203, 1268, 1312, - 1268, 480, 460, 82, 751, 80, 695, 1268, 1295, 480, - 702, 673, 672, 460, 460, 460, 460, 460, 460, 460, - 460, 674, 24, 499, 498, 315, 316, 460, 460, 1268, - 1267, 1218, 1217, 608, 726, 1205, 480, 727, 1202, 480, - 500, 328, 1159, 1158, 664, 665, 958, 82, 668, 434, - 959, 671, 723, 516, 517, 518, 519, 520, 521, 522, - 515, 663, 704, 525, 661, 767, 770, 1155, 1156, 326, - 54, 776, 656, 762, 1155, 1154, 1328, 721, 203, 591, - 691, 719, 933, 480, 786, 480, 203, 203, 760, 480, - 203, 203, 607, 606, 82, 451, 444, 1278, 51, 1277, - 1274, 1149, 711, 1099, 752, 753, 1111, 82, 657, 810, - 24, 842, 779, 551, 584, 785, 666, 988, 584, 1111, - 988, 592, 809, 590, 590, 772, 1065, 677, 678, 679, - 680, 681, 682, 683, 684, 760, 1191, 945, 1249, 58, - 786, 685, 686, 1198, 786, 24, 1161, 801, 942, 1157, - 998, 585, 808, 814, 812, 813, 933, 593, 54, 203, - 786, 698, 82, 1111, 82, 54, 829, 1336, 203, 660, - 933, 203, 82, 1311, 245, 856, 857, 858, 872, 933, - 870, 944, 1234, 784, 328, 328, 328, 328, 203, 328, - 203, 203, 941, 54, 1225, 849, 811, 1210, 328, 869, - 1140, 254, 1115, 1116, 710, 1001, 865, 866, 867, 860, - 514, 513, 523, 524, 516, 517, 518, 519, 520, 521, - 522, 515, 54, 460, 525, 460, 859, 1353, 503, 850, - 851, 852, 853, 460, 763, 764, 1349, 1142, 1118, 1099, - 771, 1028, 670, 474, 723, 861, 862, 863, 977, 1121, - 795, 796, 1120, 722, 778, 726, 780, 781, 727, 911, - 975, 973, 910, 972, 873, 976, 974, 971, 1340, 258, - 249, 250, 1333, 897, 1061, 906, 898, 494, 518, 519, - 520, 521, 522, 515, 922, 923, 525, 203, 203, 203, - 203, 203, 492, 900, 965, 328, 1339, 916, 915, 203, - 482, 602, 203, 1019, 960, 605, 203, 452, 1011, 1196, - 203, 1310, 483, 1309, 1247, 584, 584, 584, 584, 584, - 1009, 1003, 1235, 762, 879, 82, 669, 799, 703, 989, - 584, 949, 999, 246, 247, 494, 240, 878, 584, 880, - 1283, 326, 241, 58, 961, 962, 978, 899, 585, 585, - 585, 585, 585, 990, 826, 1282, 986, 967, 968, 1237, - 970, 914, 687, 801, 988, 985, 475, 991, 496, 913, - 1355, 585, 1291, 82, 82, 966, 82, 1224, 969, 693, - 1008, 1355, 1354, 60, 62, 589, 759, 761, 1004, 1005, - 1018, 917, 1020, 1021, 1022, 55, 1, 1347, 876, 82, - 1031, 885, 777, 1313, 1016, 1017, 328, 1261, 1025, 1134, - 832, 823, 69, 203, 328, 426, 1034, 791, 794, 795, - 796, 792, 82, 793, 797, 328, 328, 328, 328, 328, - 328, 328, 328, 1048, 68, 460, 1302, 831, 932, 328, - 328, 830, 484, 488, 1269, 722, 1058, 281, 280, 283, - 284, 285, 286, 1222, 947, 843, 282, 287, 1013, 506, - 460, 1068, 82, 82, 846, 1141, 706, 965, 1100, 1069, - 1307, 1010, 1087, 1086, 613, 611, 503, 1074, 612, 328, - 610, 615, 614, 1105, 609, 1103, 82, 214, 1094, 321, - 723, 798, 601, 871, 550, 497, 72, 1051, 1050, 82, - 881, 82, 82, 561, 468, 469, 1110, 1119, 1133, 216, - 533, 912, 992, 1125, 327, 1106, 699, 486, 1063, 1281, - 754, 1104, 1236, 51, 948, 1132, 560, 773, 1126, 203, - 768, 768, 1128, 1137, 266, 714, 768, 82, 539, 540, - 541, 542, 543, 544, 545, 546, 1138, 1139, 279, 1030, - 82, 203, 1150, 1151, 276, 278, 277, 82, 791, 794, - 795, 796, 792, 82, 793, 797, 203, 328, 1115, 1116, - 1163, 705, 826, 957, 1057, 507, 264, 256, 583, 576, - 328, 790, 788, 1165, 787, 1172, 1168, 1117, 1170, 930, - 1113, 582, 1064, 931, 584, 1193, 1288, 709, 26, 59, - 935, 936, 937, 251, 19, 1179, 18, 1171, 17, 946, - 20, 16, 15, 14, 952, 30, 953, 954, 955, 956, - 965, 21, 13, 1033, 1197, 12, 11, 585, 1207, 10, - 9, 8, 7, 82, 1160, 328, 6, 328, 980, 5, - 999, 82, 4, 242, 23, 328, 2, 1216, 0, 0, - 0, 1206, 0, 0, 0, 1192, 1167, 0, 0, 0, - 0, 82, 82, 82, 0, 0, 0, 0, 0, 1067, - 1233, 328, 0, 0, 0, 0, 1232, 692, 0, 0, - 0, 0, 0, 0, 1212, 1213, 1214, 0, 0, 1176, - 1177, 1090, 1178, 0, 0, 1180, 0, 1182, 0, 0, - 712, 713, 0, 82, 82, 0, 82, 0, 1226, 0, - 1228, 82, 0, 82, 82, 82, 203, 1248, 0, 82, - 0, 0, 460, 1250, 1103, 0, 1256, 1255, 1257, 1258, - 1259, 1238, 1266, 1260, 0, 82, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 826, 0, 826, 1219, - 1279, 0, 0, 550, 0, 0, 765, 766, 0, 768, - 1104, 1292, 1275, 1251, 1276, 0, 0, 0, 1300, 82, - 1073, 1299, 0, 1293, 0, 1103, 0, 724, 0, 0, - 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, - 743, 744, 745, 746, 747, 82, 1317, 1280, 328, 0, - 965, 1322, 820, 0, 0, 0, 203, 0, 0, 0, - 1067, 1104, 485, 51, 0, 0, 82, 0, 1329, 0, - 0, 1190, 480, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1337, 1338, 1231, 82, 0, 0, - 0, 0, 0, 0, 0, 0, 1029, 328, 201, 328, - 1352, 228, 1341, 0, 0, 0, 0, 1363, 212, 514, - 513, 523, 524, 516, 517, 518, 519, 520, 521, 522, - 515, 0, 328, 525, 0, 0, 255, 0, 0, 201, - 826, 0, 224, 0, 201, 1043, 201, 0, 0, 0, - 0, 0, 0, 0, 0, 328, 0, 907, 908, 0, - 488, 0, 0, 0, 0, 0, 1173, 1350, 0, 1033, - 826, 1326, 0, 1175, 1041, 0, 0, 328, 0, 0, - 0, 0, 0, 0, 1184, 1185, 1186, 0, 0, 1189, - 0, 0, 768, 207, 0, 1107, 1109, 0, 0, 0, - 209, 0, 1199, 1200, 1201, 0, 1204, 0, 215, 211, - 0, 0, 0, 1043, 0, 0, 0, 0, 0, 1109, - 0, 0, 934, 1215, 0, 0, 0, 0, 0, 0, - 0, 0, 328, 0, 328, 1136, 0, 951, 0, 0, - 213, 1042, 1041, 217, 0, 0, 1047, 1044, 1037, 1045, - 1040, 0, 0, 0, 1038, 1039, 0, 0, 0, 0, - 924, 925, 926, 0, 201, 0, 201, 0, 1046, 0, - 1164, 208, 201, 0, 1049, 0, 0, 0, 0, 201, - 0, 0, 0, 1166, 0, 0, 0, 0, 0, 0, - 1169, 1245, 0, 0, 0, 0, 328, 0, 218, 210, - 0, 219, 220, 221, 223, 222, 227, 0, 0, 1042, - 0, 0, 226, 225, 1047, 1044, 1037, 1045, 1040, 0, - 0, 0, 1038, 1039, 513, 523, 524, 516, 517, 518, - 519, 520, 521, 522, 515, 0, 1046, 525, 1284, 1285, - 1286, 1287, 1036, 0, 0, 768, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1296, 1297, 1298, 0, 0, - 0, 0, 0, 0, 0, 1060, 328, 0, 0, 0, - 0, 0, 0, 0, 1221, 523, 524, 516, 517, 518, - 519, 520, 521, 522, 515, 0, 1318, 525, 201, 201, - 201, 1323, 0, 0, 328, 328, 328, 0, 0, 0, - 0, 0, 0, 0, 0, 509, 0, 512, 0, 0, - 0, 1330, 1096, 526, 527, 528, 529, 530, 531, 532, - 0, 510, 511, 508, 514, 513, 523, 524, 516, 517, - 518, 519, 520, 521, 522, 515, 1252, 1253, 525, 1254, - 1187, 480, 0, 0, 1221, 0, 1221, 1221, 1221, 0, - 1127, 0, 1136, 0, 1364, 1365, 1188, 0, 1071, 1072, - 0, 0, 0, 0, 0, 0, 0, 0, 1221, 0, - 0, 1088, 1089, 0, 1091, 1092, 0, 0, 514, 513, - 523, 524, 516, 517, 518, 519, 520, 521, 522, 515, - 0, 0, 525, 0, 0, 0, 0, 0, 0, 0, - 201, 0, 1306, 0, 0, 0, 0, 0, 0, 0, - 0, 201, 201, 0, 0, 201, 0, 0, 201, 0, - 0, 0, 675, 0, 0, 768, 0, 0, 1324, 0, - 514, 513, 523, 524, 516, 517, 518, 519, 520, 521, - 522, 515, 0, 0, 525, 0, 0, 201, 0, 1332, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1195, - 0, 0, 0, 0, 0, 0, 550, 0, 0, 201, - 1221, 0, 0, 0, 1208, 0, 0, 1209, 675, 0, - 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 24, 25, 52, 27, 28, 0, 0, 0, - 1174, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 43, 0, 0, 0, 0, 29, 48, 49, 0, - 255, 0, 0, 0, 0, 255, 255, 0, 0, 769, - 769, 255, 0, 0, 0, 769, 38, 0, 0, 0, - 54, 0, 0, 0, 1070, 255, 255, 255, 255, 630, - 201, 0, 0, 0, 0, 0, 0, 0, 201, 806, - 929, 0, 201, 201, 514, 513, 523, 524, 516, 517, - 518, 519, 520, 521, 522, 515, 0, 0, 525, 0, - 514, 513, 523, 524, 516, 517, 518, 519, 520, 521, - 522, 515, 0, 0, 525, 0, 0, 0, 0, 0, - 0, 31, 32, 34, 33, 36, 0, 50, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1240, 1241, 0, - 1242, 1243, 1244, 0, 0, 0, 0, 618, 37, 44, - 45, 201, 0, 46, 47, 35, 0, 0, 0, 0, - 201, 0, 0, 201, 1316, 550, 0, 39, 40, 0, - 41, 42, 0, 0, 0, 0, 0, 0, 0, 0, - 201, 0, 904, 905, 631, 0, 0, 0, 0, 0, - 675, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 255, 0, 0, 644, 645, 646, 647, 648, - 649, 650, 0, 651, 652, 653, 654, 655, 632, 633, - 634, 635, 616, 617, 0, 0, 619, 0, 620, 621, - 622, 623, 624, 625, 626, 627, 628, 629, 636, 637, - 638, 639, 640, 641, 642, 643, 0, 0, 0, 255, - 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 769, 201, - 201, 201, 201, 201, 0, 0, 0, 0, 0, 0, - 0, 979, 0, 0, 201, 0, 0, 0, 806, 0, - 1356, 0, 201, 514, 513, 523, 524, 516, 517, 518, - 519, 520, 521, 522, 515, 0, 0, 525, 0, 0, + 263, 1360, 1350, 1316, 876, 661, 965, 551, 1264, 1103, + 983, 241, 804, 1137, 1034, 1100, 966, 267, 1104, 903, + 850, 870, 293, 989, 836, 826, 57, 802, 269, 1008, + 1222, 1110, 82, 1116, 856, 750, 204, 1077, 260, 204, + 690, 929, 1037, 760, 550, 3, 1025, 823, 806, 599, + 840, 483, 776, 727, 866, 791, 489, 827, 430, 495, + 784, 294, 51, 232, 503, 598, 322, 204, 82, 325, + 265, 582, 204, 911, 204, 331, 82, 250, 320, 56, + 1353, 1337, 1348, 1323, 1345, 877, 757, 1336, 1322, 583, + 1095, 1196, 565, 435, 1275, 1131, 240, 1145, 1146, 1147, + 1132, 1133, 818, 819, 817, 1150, 1148, 254, 233, 234, + 235, 236, 996, 51, 239, 995, 238, 600, 997, 601, + 456, 246, 759, 24, 25, 52, 27, 28, 1291, 516, + 515, 525, 526, 518, 519, 520, 521, 522, 523, 524, + 517, 237, 43, 527, 1016, 849, 61, 29, 48, 49, + 199, 195, 196, 197, 474, 1225, 1241, 857, 1185, 1183, + 231, 475, 472, 473, 467, 468, 1347, 38, 1344, 461, + 1317, 54, 63, 64, 65, 66, 67, 1058, 785, 841, + 1307, 1265, 1368, 1273, 445, 438, 458, 193, 460, 444, + 984, 986, 669, 204, 1267, 204, 1055, 192, 843, 193, + 660, 204, 1057, 1126, 1125, 1124, 433, 441, 204, 207, + 194, 905, 82, 82, 82, 82, 1296, 82, 457, 459, + 539, 540, 1364, 1205, 1064, 843, 945, 82, 923, 824, + 699, 507, 31, 32, 34, 33, 36, 451, 50, 516, + 515, 525, 526, 518, 519, 520, 521, 522, 523, 524, + 517, 527, 696, 527, 1009, 1154, 502, 82, 1305, 37, + 44, 45, 1266, 70, 46, 47, 35, 985, 198, 517, + 1164, 491, 527, 462, 462, 462, 462, 1149, 462, 39, + 40, 588, 41, 42, 1274, 1272, 857, 1114, 462, 904, + 481, 492, 930, 537, 842, 1292, 1321, 602, 1056, 71, + 1054, 479, 480, 455, 691, 1097, 1155, 777, 51, 541, + 542, 543, 544, 545, 546, 547, 548, 201, 204, 204, + 204, 842, 843, 536, 82, 664, 538, 500, 1362, 1014, + 82, 1363, 1193, 1361, 518, 519, 520, 521, 522, 523, + 524, 517, 1310, 502, 527, 497, 581, 586, 321, 1327, + 777, 431, 952, 432, 549, 434, 553, 554, 555, 556, + 557, 558, 559, 560, 561, 53, 564, 566, 566, 566, + 566, 566, 566, 566, 566, 574, 575, 576, 577, 1232, + 587, 191, 464, 465, 466, 692, 469, 447, 448, 449, + 596, 846, 431, 1231, 493, 1329, 478, 847, 590, 567, + 568, 569, 570, 571, 572, 573, 516, 515, 525, 526, + 518, 519, 520, 521, 522, 523, 524, 517, 842, 54, + 527, 1029, 734, 839, 837, 429, 838, 501, 500, 730, + 204, 835, 841, 942, 1099, 82, 732, 733, 731, 1369, + 1028, 204, 204, 82, 502, 204, 317, 318, 204, 702, + 703, 1017, 204, 437, 82, 82, 82, 82, 82, 82, + 82, 82, 520, 521, 522, 523, 524, 517, 82, 82, + 527, 941, 1303, 940, 442, 1306, 443, 204, 1370, 463, + 1248, 22, 450, 501, 500, 501, 500, 1229, 1061, 452, + 501, 500, 920, 921, 922, 82, 462, 501, 500, 204, + 502, 1026, 502, 704, 462, 82, 751, 502, 752, 998, + 1009, 999, 1004, 698, 502, 462, 462, 462, 462, 462, + 462, 462, 462, 1270, 1346, 676, 879, 678, 753, 462, + 462, 439, 440, 728, 717, 719, 720, 675, 292, 729, + 718, 245, 1333, 482, 1270, 1314, 482, 328, 726, 82, + 697, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 674, 501, 500, 721, + 80, 706, 1270, 482, 1270, 1297, 769, 772, 1270, 1269, + 204, 723, 778, 725, 502, 1220, 1219, 1330, 204, 204, + 665, 663, 204, 204, 1207, 482, 82, 658, 764, 580, + 51, 589, 1204, 482, 659, 453, 330, 1161, 1160, 82, + 754, 755, 668, 446, 436, 553, 586, 1157, 1158, 812, + 586, 774, 1280, 679, 680, 681, 682, 683, 684, 685, + 686, 1157, 1156, 935, 482, 788, 482, 687, 688, 852, + 853, 854, 855, 1078, 762, 482, 609, 608, 24, 803, + 810, 1279, 1276, 587, 24, 863, 864, 865, 858, 859, + 860, 204, 781, 815, 82, 814, 82, 1151, 831, 990, + 204, 990, 960, 204, 82, 844, 961, 765, 766, 872, + 1080, 1101, 1251, 773, 1113, 811, 593, 592, 1067, 1113, + 204, 58, 204, 204, 762, 787, 54, 780, 1200, 782, + 783, 788, 54, 662, 1163, 947, 1159, 1000, 816, 868, + 869, 610, 788, 1082, 1113, 1086, 24, 1081, 944, 1079, + 788, 935, 666, 667, 1084, 462, 670, 462, 594, 673, + 592, 935, 935, 1083, 595, 462, 525, 526, 518, 519, + 520, 521, 522, 523, 524, 517, 1085, 1087, 527, 946, + 330, 330, 330, 330, 728, 330, 913, 912, 693, 700, + 729, 874, 943, 247, 54, 330, 54, 1338, 1313, 1236, + 1227, 926, 927, 928, 851, 725, 1212, 871, 1142, 1003, + 713, 1117, 1118, 705, 867, 925, 924, 862, 861, 204, + 204, 204, 204, 204, 1355, 505, 1351, 1144, 1120, 1101, + 1030, 204, 672, 328, 204, 967, 476, 712, 204, 1045, + 977, 54, 204, 1123, 1122, 978, 974, 586, 586, 586, + 586, 586, 973, 1342, 1335, 975, 1063, 82, 951, 962, + 976, 908, 586, 880, 919, 882, 992, 1341, 1043, 991, + 586, 761, 763, 901, 251, 252, 963, 964, 764, 496, + 587, 587, 587, 587, 587, 980, 988, 779, 918, 917, + 968, 786, 330, 971, 494, 803, 993, 987, 604, 979, + 1010, 797, 798, 587, 813, 82, 82, 1021, 82, 969, + 970, 934, 972, 484, 1001, 607, 454, 1018, 1019, 1006, + 1007, 1013, 1237, 1312, 256, 485, 1311, 949, 1249, 1011, + 1005, 82, 1198, 881, 1020, 1044, 1022, 1023, 1024, 1027, + 1049, 1046, 1039, 1047, 1042, 204, 671, 801, 1040, 1041, + 248, 249, 496, 916, 82, 242, 1285, 243, 1050, 58, + 1284, 915, 1048, 1239, 990, 477, 689, 462, 1051, 1357, + 1356, 1357, 875, 1060, 498, 1293, 1226, 1036, 695, 60, + 62, 899, 591, 55, 900, 1, 1349, 878, 1033, 887, + 1315, 1263, 462, 1136, 82, 82, 834, 1102, 1071, 1073, + 1074, 902, 825, 330, 69, 428, 1096, 1088, 967, 1076, + 1089, 330, 1090, 1091, 1105, 1093, 1094, 724, 82, 1112, + 68, 1304, 330, 330, 330, 330, 330, 330, 330, 330, + 833, 82, 832, 82, 82, 1121, 330, 330, 1107, 1271, + 1224, 1070, 845, 1015, 848, 1130, 1128, 1143, 1309, 1127, + 1012, 725, 615, 1106, 613, 51, 1134, 614, 612, 1139, + 617, 204, 616, 708, 611, 215, 1140, 1141, 323, 82, + 800, 603, 873, 505, 932, 1032, 330, 499, 933, 72, + 1053, 1052, 82, 204, 883, 937, 938, 939, 470, 82, + 1135, 471, 217, 535, 948, 82, 1152, 1153, 204, 954, + 1059, 955, 956, 957, 958, 328, 914, 994, 329, 1108, + 1172, 701, 488, 1283, 1238, 950, 562, 756, 828, 775, + 1173, 268, 1190, 982, 716, 1174, 586, 770, 770, 1178, + 1179, 1165, 1180, 770, 1181, 1182, 281, 1184, 278, 280, + 279, 1176, 707, 959, 1167, 509, 266, 1170, 1199, 258, + 585, 578, 792, 283, 282, 285, 286, 287, 288, 587, + 1209, 967, 284, 289, 330, 82, 790, 486, 490, 1208, + 1218, 789, 1119, 82, 1115, 584, 1066, 330, 1195, 793, + 796, 797, 798, 794, 508, 795, 799, 1194, 1290, 1221, + 711, 26, 59, 82, 82, 82, 516, 515, 525, 526, + 518, 519, 520, 521, 522, 523, 524, 517, 1234, 724, + 527, 253, 19, 18, 17, 20, 1214, 1215, 1216, 552, + 16, 1228, 1001, 1230, 15, 14, 1065, 30, 563, 21, + 13, 12, 330, 11, 330, 82, 82, 10, 82, 9, + 8, 7, 330, 82, 1240, 82, 82, 82, 204, 1250, + 1257, 82, 1235, 1105, 462, 1075, 6, 5, 1242, 1243, + 1262, 1244, 1245, 1246, 1268, 4, 244, 82, 330, 23, + 893, 2, 0, 1258, 0, 1259, 1260, 1261, 1252, 793, + 796, 797, 798, 794, 892, 795, 799, 0, 0, 1117, + 1118, 1294, 1106, 0, 0, 1253, 0, 1281, 0, 0, + 0, 82, 1302, 1301, 1105, 0, 1277, 0, 1278, 0, + 0, 0, 897, 0, 0, 0, 0, 0, 0, 0, + 0, 891, 0, 1319, 0, 0, 0, 82, 1295, 1282, + 1324, 0, 0, 0, 0, 0, 828, 0, 204, 0, + 0, 967, 1162, 1106, 0, 51, 0, 0, 82, 0, + 1331, 0, 0, 0, 0, 0, 770, 0, 0, 0, + 0, 0, 1233, 0, 1169, 0, 1339, 1340, 0, 82, + 0, 888, 885, 886, 0, 884, 0, 0, 0, 0, + 0, 0, 1354, 0, 1045, 0, 0, 1035, 0, 1365, + 0, 1175, 0, 0, 0, 330, 487, 0, 1177, 1343, + 0, 0, 694, 0, 0, 0, 895, 898, 0, 1186, + 1187, 1188, 0, 1043, 1191, 0, 0, 0, 0, 0, + 0, 1358, 0, 0, 0, 714, 715, 1201, 1202, 1203, + 0, 1206, 202, 1069, 0, 230, 0, 0, 0, 1352, + 0, 0, 890, 1031, 330, 0, 330, 0, 1217, 0, + 0, 0, 0, 0, 0, 1092, 0, 0, 0, 0, + 257, 0, 0, 202, 889, 0, 0, 0, 202, 330, + 202, 0, 0, 0, 0, 0, 0, 0, 552, 0, + 1044, 767, 768, 0, 0, 1049, 1046, 1039, 1047, 1042, + 0, 0, 330, 1040, 1041, 0, 1192, 482, 0, 0, + 0, 0, 0, 0, 894, 0, 0, 1048, 0, 0, + 828, 0, 828, 1038, 330, 0, 1247, 896, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 822, 0, 770, + 0, 0, 1109, 1111, 516, 515, 525, 526, 518, 519, + 520, 521, 522, 523, 524, 517, 0, 0, 527, 0, + 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0, + 0, 0, 0, 1286, 1287, 1288, 1289, 0, 213, 330, + 0, 330, 1138, 0, 1069, 0, 0, 0, 0, 0, + 1298, 1299, 1300, 0, 0, 0, 0, 0, 0, 202, + 0, 202, 226, 0, 0, 0, 0, 202, 0, 0, + 0, 0, 0, 0, 202, 0, 0, 1166, 0, 0, + 0, 1320, 0, 0, 0, 0, 1325, 0, 0, 1328, + 1168, 0, 909, 910, 482, 490, 0, 1171, 0, 0, + 0, 0, 0, 330, 0, 0, 1332, 0, 0, 0, + 0, 0, 0, 208, 828, 0, 0, 0, 0, 0, + 210, 0, 0, 0, 0, 0, 0, 0, 216, 212, + 0, 516, 515, 525, 526, 518, 519, 520, 521, 522, + 523, 524, 517, 1035, 828, 527, 0, 0, 0, 1366, + 1367, 0, 770, 0, 0, 0, 0, 936, 0, 0, + 214, 0, 0, 218, 0, 0, 225, 0, 0, 1189, + 482, 0, 953, 330, 0, 0, 0, 0, 0, 0, + 0, 1223, 0, 0, 202, 202, 202, 0, 0, 0, + 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, + 0, 330, 330, 330, 0, 0, 0, 516, 515, 525, + 526, 518, 519, 520, 521, 522, 523, 524, 517, 219, + 211, 527, 220, 221, 222, 224, 223, 229, 0, 0, + 0, 0, 0, 228, 227, 0, 0, 0, 0, 0, + 0, 0, 0, 1254, 1255, 0, 1256, 0, 0, 0, + 0, 1223, 0, 1223, 1223, 1223, 0, 0, 0, 1138, + 511, 0, 514, 0, 0, 0, 0, 0, 528, 529, + 530, 531, 532, 533, 534, 1223, 512, 513, 510, 516, + 515, 525, 526, 518, 519, 520, 521, 522, 523, 524, + 517, 0, 0, 527, 0, 0, 202, 0, 0, 1072, + 1062, 0, 0, 0, 0, 0, 0, 202, 202, 1308, + 0, 202, 0, 0, 202, 0, 0, 0, 677, 516, + 515, 525, 526, 518, 519, 520, 521, 522, 523, 524, + 517, 0, 770, 527, 0, 1326, 0, 0, 0, 0, + 0, 0, 0, 202, 0, 0, 0, 1098, 0, 0, + 0, 0, 0, 0, 0, 0, 1334, 0, 0, 0, + 0, 0, 0, 0, 0, 202, 931, 0, 0, 0, + 0, 0, 0, 0, 677, 0, 0, 1223, 0, 0, + 0, 0, 0, 0, 0, 1129, 516, 515, 525, 526, + 518, 519, 520, 521, 522, 523, 524, 517, 0, 0, + 527, 516, 515, 525, 526, 518, 519, 520, 521, 522, + 523, 524, 517, 0, 0, 527, 257, 0, 0, 0, + 0, 257, 257, 0, 0, 771, 771, 257, 0, 0, + 0, 771, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 257, 257, 257, 257, 632, 202, 0, 0, 0, + 0, 0, 0, 0, 202, 808, 0, 0, 202, 202, + 515, 525, 526, 518, 519, 520, 521, 522, 523, 524, + 517, 0, 0, 527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1197, 0, 0, 0, 0, 0, + 0, 552, 0, 0, 0, 0, 0, 0, 0, 1210, + 0, 0, 1211, 0, 0, 1213, 0, 0, 0, 0, + 0, 0, 0, 620, 0, 0, 0, 202, 0, 0, + 0, 0, 0, 0, 0, 0, 202, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 202, 0, 906, 907, + 633, 0, 0, 0, 0, 0, 677, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, + 0, 0, 646, 647, 648, 649, 650, 651, 652, 0, + 653, 654, 655, 656, 657, 634, 635, 636, 637, 618, + 619, 0, 0, 621, 0, 622, 623, 624, 625, 626, + 627, 628, 629, 630, 631, 638, 639, 640, 641, 642, + 643, 644, 645, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 771, 202, 202, 202, 202, 202, + 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, + 202, 0, 0, 0, 808, 0, 0, 0, 202, 1318, + 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 201, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 675, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, - 0, 769, 0, 0, 262, 0, 0, 0, 103, 0, - 259, 0, 0, 0, 119, 302, 121, 0, 0, 157, - 130, 0, 0, 0, 0, 293, 294, 0, 0, 0, - 0, 0, 0, 818, 0, 54, 0, 0, 260, 281, - 280, 283, 284, 285, 286, 0, 0, 96, 282, 287, - 288, 289, 819, 0, 0, 257, 274, 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 201, 0, 0, 0, 0, 0, 0, 271, 272, - 0, 0, 0, 0, 313, 0, 273, 0, 0, 268, - 269, 270, 275, 201, 0, 0, 0, 0, 0, 0, - 0, 0, 108, 0, 0, 0, 204, 0, 201, 311, - 0, 144, 0, 160, 110, 118, 84, 90, 0, 109, - 136, 149, 153, 0, 0, 0, 99, 0, 151, 140, - 173, 0, 141, 150, 122, 165, 145, 172, 205, 180, - 162, 179, 85, 161, 171, 97, 154, 87, 169, 159, - 128, 114, 115, 86, 769, 148, 102, 106, 101, 137, - 166, 167, 100, 188, 91, 178, 89, 92, 177, 135, - 164, 170, 129, 126, 88, 168, 127, 125, 117, 104, - 111, 142, 124, 143, 112, 132, 131, 133, 0, 0, - 0, 158, 175, 189, 94, 0, 163, 181, 182, 183, - 184, 185, 0, 0, 95, 107, 134, 93, 113, 155, - 116, 123, 147, 187, 139, 152, 98, 174, 156, 303, - 312, 309, 310, 307, 308, 306, 305, 304, 314, 295, - 296, 297, 298, 300, 0, 299, 83, 0, 120, 186, - 146, 105, 176, 414, 405, 0, 376, 417, 354, 368, - 425, 369, 370, 398, 340, 384, 138, 366, 806, 357, - 335, 363, 336, 355, 378, 103, 381, 353, 407, 387, - 416, 119, 423, 121, 392, 0, 157, 130, 0, 0, - 380, 409, 382, 403, 375, 399, 345, 391, 418, 367, - 396, 419, 0, 0, 0, 81, 0, 827, 828, 0, - 0, 0, 0, 0, 96, 0, 394, 413, 365, 395, - 397, 334, 393, 0, 338, 341, 424, 411, 360, 361, - 1000, 0, 0, 0, 0, 0, 0, 379, 383, 400, - 373, 0, 0, 0, 769, 0, 0, 0, 0, 358, - 0, 390, 0, 0, 0, 342, 339, 0, 201, 377, - 0, 0, 0, 344, 0, 359, 401, 0, 333, 108, - 404, 410, 374, 204, 412, 372, 371, 415, 144, 0, - 160, 110, 118, 84, 90, 0, 109, 136, 149, 153, - 408, 356, 364, 99, 362, 151, 140, 173, 389, 141, - 150, 122, 165, 145, 172, 205, 180, 162, 179, 85, - 161, 171, 97, 154, 87, 169, 159, 128, 114, 115, - 86, 0, 148, 102, 106, 101, 137, 166, 167, 100, - 188, 91, 178, 89, 92, 177, 135, 164, 170, 129, - 126, 88, 168, 127, 125, 117, 104, 111, 142, 124, - 143, 112, 132, 131, 133, 0, 337, 0, 158, 175, - 189, 94, 352, 163, 181, 182, 183, 184, 185, 0, - 0, 95, 107, 134, 93, 113, 155, 116, 123, 147, - 187, 139, 152, 98, 174, 156, 348, 351, 346, 347, - 385, 386, 420, 421, 422, 402, 343, 0, 349, 350, - 0, 406, 388, 83, 0, 120, 186, 146, 105, 176, - 414, 405, 0, 376, 417, 354, 368, 425, 369, 370, - 398, 340, 384, 138, 366, 0, 357, 335, 363, 336, - 355, 378, 103, 381, 353, 407, 387, 416, 119, 423, - 121, 392, 0, 157, 130, 0, 0, 380, 409, 382, - 403, 375, 399, 345, 391, 418, 367, 396, 419, 0, - 0, 0, 81, 0, 827, 828, 0, 0, 0, 0, - 0, 96, 0, 394, 413, 365, 395, 397, 334, 393, - 0, 338, 341, 424, 411, 360, 361, 0, 0, 0, - 0, 0, 0, 0, 379, 383, 400, 373, 0, 0, - 0, 0, 0, 0, 0, 0, 358, 0, 390, 0, - 0, 0, 342, 339, 0, 0, 377, 0, 0, 0, - 344, 0, 359, 401, 0, 333, 108, 404, 410, 374, - 204, 412, 372, 371, 415, 144, 0, 160, 110, 118, - 84, 90, 0, 109, 136, 149, 153, 408, 356, 364, - 99, 362, 151, 140, 173, 389, 141, 150, 122, 165, - 145, 172, 205, 180, 162, 179, 85, 161, 171, 97, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 677, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 138, 0, 0, 771, 0, 0, + 0, 0, 0, 103, 0, 0, 0, 0, 0, 119, + 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 202, 0, 516, + 515, 525, 526, 518, 519, 520, 521, 522, 523, 524, + 517, 0, 0, 527, 0, 0, 0, 0, 0, 202, + 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, + 0, 205, 0, 0, 202, 0, 144, 0, 160, 110, + 118, 84, 90, 0, 109, 136, 149, 153, 0, 0, + 0, 99, 0, 151, 140, 173, 0, 141, 150, 122, + 165, 145, 172, 206, 180, 162, 179, 186, 85, 161, + 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, + 771, 148, 102, 106, 101, 137, 166, 167, 100, 189, + 91, 178, 89, 92, 177, 135, 164, 170, 129, 126, + 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, + 112, 132, 131, 133, 0, 0, 0, 158, 175, 190, + 94, 0, 163, 181, 182, 183, 184, 185, 0, 0, + 95, 107, 134, 93, 113, 155, 116, 123, 147, 188, + 139, 152, 98, 174, 156, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 83, 0, 120, 187, 146, 105, 176, 416, + 407, 0, 378, 419, 356, 370, 427, 371, 372, 400, + 342, 386, 138, 368, 808, 359, 337, 365, 338, 357, + 380, 103, 383, 355, 409, 389, 418, 119, 425, 121, + 394, 0, 157, 130, 0, 0, 382, 411, 384, 405, + 377, 401, 347, 393, 420, 369, 398, 421, 0, 0, + 0, 81, 0, 829, 830, 0, 0, 0, 0, 0, + 96, 0, 396, 415, 367, 397, 399, 336, 395, 0, + 340, 343, 426, 413, 362, 363, 1002, 0, 0, 0, + 0, 0, 0, 381, 385, 402, 375, 0, 0, 0, + 771, 0, 0, 0, 0, 360, 0, 392, 0, 0, + 0, 344, 341, 0, 202, 379, 0, 0, 0, 346, + 0, 361, 403, 0, 335, 108, 406, 412, 376, 205, + 414, 374, 373, 417, 144, 0, 160, 110, 118, 84, + 90, 0, 109, 136, 149, 153, 410, 358, 366, 99, + 364, 151, 140, 173, 391, 141, 150, 122, 165, 145, + 172, 206, 180, 162, 179, 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, - 102, 106, 101, 137, 166, 167, 100, 188, 91, 178, + 102, 106, 101, 137, 166, 167, 100, 189, 91, 178, 89, 92, 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, 112, 132, - 131, 133, 0, 337, 0, 158, 175, 189, 94, 352, + 131, 133, 0, 339, 0, 158, 175, 190, 94, 354, 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, - 134, 93, 113, 155, 116, 123, 147, 187, 139, 152, - 98, 174, 156, 348, 351, 346, 347, 385, 386, 420, - 421, 422, 402, 343, 0, 349, 350, 0, 406, 388, - 83, 0, 120, 186, 146, 105, 176, 414, 405, 0, - 376, 417, 354, 368, 425, 369, 370, 398, 340, 384, - 138, 366, 0, 357, 335, 363, 336, 355, 378, 103, - 381, 353, 407, 387, 416, 119, 423, 121, 392, 0, - 157, 130, 0, 0, 380, 409, 382, 403, 375, 399, - 345, 391, 418, 367, 396, 419, 54, 0, 0, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, - 394, 413, 365, 395, 397, 334, 393, 0, 338, 341, - 424, 411, 360, 361, 0, 0, 0, 0, 0, 0, - 0, 379, 383, 400, 373, 0, 0, 0, 0, 0, - 0, 0, 0, 358, 0, 390, 0, 0, 0, 342, - 339, 0, 0, 377, 0, 0, 0, 344, 0, 359, - 401, 0, 333, 108, 404, 410, 374, 204, 412, 372, - 371, 415, 144, 0, 160, 110, 118, 84, 90, 0, - 109, 136, 149, 153, 408, 356, 364, 99, 362, 151, - 140, 173, 389, 141, 150, 122, 165, 145, 172, 205, - 180, 162, 179, 85, 161, 171, 97, 154, 87, 169, - 159, 128, 114, 115, 86, 0, 148, 102, 106, 101, - 137, 166, 167, 100, 188, 91, 178, 89, 92, 177, - 135, 164, 170, 129, 126, 88, 168, 127, 125, 117, - 104, 111, 142, 124, 143, 112, 132, 131, 133, 0, - 337, 0, 158, 175, 189, 94, 352, 163, 181, 182, - 183, 184, 185, 0, 0, 95, 107, 134, 93, 113, - 155, 116, 123, 147, 187, 139, 152, 98, 174, 156, - 348, 351, 346, 347, 385, 386, 420, 421, 422, 402, - 343, 0, 349, 350, 0, 406, 388, 83, 0, 120, - 186, 146, 105, 176, 414, 405, 0, 376, 417, 354, - 368, 425, 369, 370, 398, 340, 384, 138, 366, 0, - 357, 335, 363, 336, 355, 378, 103, 381, 353, 407, - 387, 416, 119, 423, 121, 392, 0, 157, 130, 0, - 0, 380, 409, 382, 403, 375, 399, 345, 391, 418, - 367, 396, 419, 0, 0, 0, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 96, 0, 394, 413, 365, - 395, 397, 334, 393, 0, 338, 341, 424, 411, 360, - 361, 0, 0, 0, 0, 0, 0, 0, 379, 383, - 400, 373, 0, 0, 0, 0, 0, 0, 1066, 0, - 358, 0, 390, 0, 0, 0, 342, 339, 0, 0, - 377, 0, 0, 0, 344, 0, 359, 401, 0, 333, - 108, 404, 410, 374, 204, 412, 372, 371, 415, 144, - 0, 160, 110, 118, 84, 90, 0, 109, 136, 149, - 153, 408, 356, 364, 99, 362, 151, 140, 173, 389, - 141, 150, 122, 165, 145, 172, 205, 180, 162, 179, + 134, 93, 113, 155, 116, 123, 147, 188, 139, 152, + 98, 174, 156, 350, 353, 348, 349, 387, 388, 422, + 423, 424, 404, 345, 0, 351, 352, 0, 408, 390, + 83, 0, 120, 187, 146, 105, 176, 416, 407, 0, + 378, 419, 356, 370, 427, 371, 372, 400, 342, 386, + 138, 368, 0, 359, 337, 365, 338, 357, 380, 103, + 383, 355, 409, 389, 418, 119, 425, 121, 394, 0, + 157, 130, 0, 0, 382, 411, 384, 405, 377, 401, + 347, 393, 420, 369, 398, 421, 0, 0, 0, 81, + 0, 829, 830, 0, 0, 0, 0, 0, 96, 0, + 396, 415, 367, 397, 399, 336, 395, 0, 340, 343, + 426, 413, 362, 363, 0, 0, 0, 0, 0, 0, + 0, 381, 385, 402, 375, 0, 0, 0, 0, 0, + 0, 0, 0, 360, 0, 392, 0, 0, 0, 344, + 341, 0, 0, 379, 0, 0, 0, 346, 0, 361, + 403, 0, 335, 108, 406, 412, 376, 205, 414, 374, + 373, 417, 144, 0, 160, 110, 118, 84, 90, 0, + 109, 136, 149, 153, 410, 358, 366, 99, 364, 151, + 140, 173, 391, 141, 150, 122, 165, 145, 172, 206, + 180, 162, 179, 186, 85, 161, 171, 97, 154, 87, + 169, 159, 128, 114, 115, 86, 0, 148, 102, 106, + 101, 137, 166, 167, 100, 189, 91, 178, 89, 92, + 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, + 117, 104, 111, 142, 124, 143, 112, 132, 131, 133, + 0, 339, 0, 158, 175, 190, 94, 354, 163, 181, + 182, 183, 184, 185, 0, 0, 95, 107, 134, 93, + 113, 155, 116, 123, 147, 188, 139, 152, 98, 174, + 156, 350, 353, 348, 349, 387, 388, 422, 423, 424, + 404, 345, 0, 351, 352, 0, 408, 390, 83, 0, + 120, 187, 146, 105, 176, 416, 407, 0, 378, 419, + 356, 370, 427, 371, 372, 400, 342, 386, 138, 368, + 0, 359, 337, 365, 338, 357, 380, 103, 383, 355, + 409, 389, 418, 119, 425, 121, 394, 0, 157, 130, + 0, 0, 382, 411, 384, 405, 377, 401, 347, 393, + 420, 369, 398, 421, 54, 0, 0, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 96, 0, 396, 415, + 367, 397, 399, 336, 395, 0, 340, 343, 426, 413, + 362, 363, 0, 0, 0, 0, 0, 0, 0, 381, + 385, 402, 375, 0, 0, 0, 0, 0, 0, 0, + 0, 360, 0, 392, 0, 0, 0, 344, 341, 0, + 0, 379, 0, 0, 0, 346, 0, 361, 403, 0, + 335, 108, 406, 412, 376, 205, 414, 374, 373, 417, + 144, 0, 160, 110, 118, 84, 90, 0, 109, 136, + 149, 153, 410, 358, 366, 99, 364, 151, 140, 173, + 391, 141, 150, 122, 165, 145, 172, 206, 180, 162, + 179, 186, 85, 161, 171, 97, 154, 87, 169, 159, + 128, 114, 115, 86, 0, 148, 102, 106, 101, 137, + 166, 167, 100, 189, 91, 178, 89, 92, 177, 135, + 164, 170, 129, 126, 88, 168, 127, 125, 117, 104, + 111, 142, 124, 143, 112, 132, 131, 133, 0, 339, + 0, 158, 175, 190, 94, 354, 163, 181, 182, 183, + 184, 185, 0, 0, 95, 107, 134, 93, 113, 155, + 116, 123, 147, 188, 139, 152, 98, 174, 156, 350, + 353, 348, 349, 387, 388, 422, 423, 424, 404, 345, + 0, 351, 352, 0, 408, 390, 83, 0, 120, 187, + 146, 105, 176, 416, 407, 0, 378, 419, 356, 370, + 427, 371, 372, 400, 342, 386, 138, 368, 0, 359, + 337, 365, 338, 357, 380, 103, 383, 355, 409, 389, + 418, 119, 425, 121, 394, 0, 157, 130, 0, 0, + 382, 411, 384, 405, 377, 401, 347, 393, 420, 369, + 398, 421, 0, 0, 0, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 96, 0, 396, 415, 367, 397, + 399, 336, 395, 0, 340, 343, 426, 413, 362, 363, + 0, 0, 0, 0, 0, 0, 0, 381, 385, 402, + 375, 0, 0, 0, 0, 0, 0, 1068, 0, 360, + 0, 392, 0, 0, 0, 344, 341, 0, 0, 379, + 0, 0, 0, 346, 0, 361, 403, 0, 335, 108, + 406, 412, 376, 205, 414, 374, 373, 417, 144, 0, + 160, 110, 118, 84, 90, 0, 109, 136, 149, 153, + 410, 358, 366, 99, 364, 151, 140, 173, 391, 141, + 150, 122, 165, 145, 172, 206, 180, 162, 179, 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, 102, 106, 101, 137, 166, 167, - 100, 188, 91, 178, 89, 92, 177, 135, 164, 170, + 100, 189, 91, 178, 89, 92, 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, 142, - 124, 143, 112, 132, 131, 133, 0, 337, 0, 158, - 175, 189, 94, 352, 163, 181, 182, 183, 184, 185, + 124, 143, 112, 132, 131, 133, 0, 339, 0, 158, + 175, 190, 94, 354, 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, 134, 93, 113, 155, 116, 123, - 147, 187, 139, 152, 98, 174, 156, 348, 351, 346, - 347, 385, 386, 420, 421, 422, 402, 343, 0, 349, - 350, 0, 406, 388, 83, 0, 120, 186, 146, 105, - 176, 414, 405, 0, 376, 417, 354, 368, 425, 369, - 370, 398, 340, 384, 138, 366, 0, 357, 335, 363, - 336, 355, 378, 103, 381, 353, 407, 387, 416, 119, - 423, 121, 392, 0, 157, 130, 0, 0, 380, 409, - 382, 403, 375, 399, 345, 391, 418, 367, 396, 419, - 0, 0, 0, 260, 0, 0, 0, 0, 0, 0, - 0, 0, 96, 0, 394, 413, 365, 395, 397, 334, - 393, 0, 338, 341, 424, 411, 360, 361, 0, 0, - 0, 0, 0, 0, 0, 379, 383, 400, 373, 0, - 0, 0, 0, 0, 0, 720, 0, 358, 0, 390, - 0, 0, 0, 342, 339, 0, 0, 377, 0, 0, - 0, 344, 0, 359, 401, 0, 333, 108, 404, 410, - 374, 204, 412, 372, 371, 415, 144, 0, 160, 110, - 118, 84, 90, 0, 109, 136, 149, 153, 408, 356, - 364, 99, 362, 151, 140, 173, 389, 141, 150, 122, - 165, 145, 172, 205, 180, 162, 179, 85, 161, 171, - 97, 154, 87, 169, 159, 128, 114, 115, 86, 0, - 148, 102, 106, 101, 137, 166, 167, 100, 188, 91, - 178, 89, 92, 177, 135, 164, 170, 129, 126, 88, - 168, 127, 125, 117, 104, 111, 142, 124, 143, 112, - 132, 131, 133, 0, 337, 0, 158, 175, 189, 94, - 352, 163, 181, 182, 183, 184, 185, 0, 0, 95, - 107, 134, 93, 113, 155, 116, 123, 147, 187, 139, - 152, 98, 174, 156, 348, 351, 346, 347, 385, 386, - 420, 421, 422, 402, 343, 0, 349, 350, 0, 406, - 388, 83, 0, 120, 186, 146, 105, 176, 414, 405, - 0, 376, 417, 354, 368, 425, 369, 370, 398, 340, - 384, 138, 366, 0, 357, 335, 363, 336, 355, 378, - 103, 381, 353, 407, 387, 416, 119, 423, 121, 392, - 0, 157, 130, 0, 0, 380, 409, 382, 403, 375, - 399, 345, 391, 418, 367, 396, 419, 0, 0, 0, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 96, - 0, 394, 413, 365, 395, 397, 334, 393, 0, 338, - 341, 424, 411, 360, 361, 0, 0, 0, 0, 0, - 0, 0, 379, 383, 400, 373, 0, 0, 0, 0, - 0, 0, 0, 0, 358, 0, 390, 0, 0, 0, - 342, 339, 0, 0, 377, 0, 0, 0, 344, 0, - 359, 401, 0, 333, 108, 404, 410, 374, 204, 412, - 372, 371, 415, 144, 0, 160, 110, 118, 84, 90, - 0, 109, 136, 149, 153, 408, 356, 364, 99, 362, - 151, 140, 173, 389, 141, 150, 122, 165, 145, 172, - 205, 180, 162, 179, 85, 161, 171, 97, 154, 87, + 147, 188, 139, 152, 98, 174, 156, 350, 353, 348, + 349, 387, 388, 422, 423, 424, 404, 345, 0, 351, + 352, 0, 408, 390, 83, 0, 120, 187, 146, 105, + 176, 416, 407, 0, 378, 419, 356, 370, 427, 371, + 372, 400, 342, 386, 138, 368, 0, 359, 337, 365, + 338, 357, 380, 103, 383, 355, 409, 389, 418, 119, + 425, 121, 394, 0, 157, 130, 0, 0, 382, 411, + 384, 405, 377, 401, 347, 393, 420, 369, 398, 421, + 0, 0, 0, 262, 0, 0, 0, 0, 0, 0, + 0, 0, 96, 0, 396, 415, 367, 397, 399, 336, + 395, 0, 340, 343, 426, 413, 362, 363, 0, 0, + 0, 0, 0, 0, 0, 381, 385, 402, 375, 0, + 0, 0, 0, 0, 0, 722, 0, 360, 0, 392, + 0, 0, 0, 344, 341, 0, 0, 379, 0, 0, + 0, 346, 0, 361, 403, 0, 335, 108, 406, 412, + 376, 205, 414, 374, 373, 417, 144, 0, 160, 110, + 118, 84, 90, 0, 109, 136, 149, 153, 410, 358, + 366, 99, 364, 151, 140, 173, 391, 141, 150, 122, + 165, 145, 172, 206, 180, 162, 179, 186, 85, 161, + 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, + 0, 148, 102, 106, 101, 137, 166, 167, 100, 189, + 91, 178, 89, 92, 177, 135, 164, 170, 129, 126, + 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, + 112, 132, 131, 133, 0, 339, 0, 158, 175, 190, + 94, 354, 163, 181, 182, 183, 184, 185, 0, 0, + 95, 107, 134, 93, 113, 155, 116, 123, 147, 188, + 139, 152, 98, 174, 156, 350, 353, 348, 349, 387, + 388, 422, 423, 424, 404, 345, 0, 351, 352, 0, + 408, 390, 83, 0, 120, 187, 146, 105, 176, 416, + 407, 0, 378, 419, 356, 370, 427, 371, 372, 400, + 342, 386, 138, 368, 0, 359, 337, 365, 338, 357, + 380, 103, 383, 355, 409, 389, 418, 119, 425, 121, + 394, 0, 157, 130, 0, 0, 382, 411, 384, 405, + 377, 401, 347, 393, 420, 369, 398, 421, 0, 0, + 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 96, 0, 396, 415, 367, 397, 399, 336, 395, 0, + 340, 343, 426, 413, 362, 363, 0, 0, 0, 0, + 0, 0, 0, 381, 385, 402, 375, 0, 0, 0, + 0, 0, 0, 0, 0, 360, 0, 392, 0, 0, + 0, 344, 341, 0, 0, 379, 0, 0, 0, 346, + 0, 361, 403, 0, 335, 108, 406, 412, 376, 205, + 414, 374, 373, 417, 144, 0, 160, 110, 118, 84, + 90, 0, 109, 136, 149, 153, 410, 358, 366, 99, + 364, 151, 140, 173, 391, 141, 150, 122, 165, 145, + 172, 206, 180, 162, 179, 186, 85, 161, 171, 97, + 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, + 102, 106, 101, 137, 166, 167, 100, 189, 91, 178, + 89, 92, 177, 135, 164, 170, 129, 126, 88, 168, + 127, 125, 117, 104, 111, 142, 124, 143, 112, 132, + 131, 133, 0, 339, 0, 158, 175, 190, 94, 354, + 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, + 134, 93, 113, 155, 116, 123, 147, 188, 139, 152, + 98, 174, 156, 350, 353, 348, 349, 387, 388, 422, + 423, 424, 404, 345, 0, 351, 352, 0, 408, 390, + 83, 0, 120, 187, 146, 105, 176, 416, 407, 0, + 378, 419, 356, 370, 427, 371, 372, 400, 342, 386, + 138, 368, 0, 359, 337, 365, 338, 357, 380, 103, + 383, 355, 409, 389, 418, 119, 425, 121, 394, 0, + 157, 130, 0, 0, 382, 411, 384, 405, 377, 401, + 347, 393, 420, 369, 398, 421, 0, 0, 0, 262, + 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, + 396, 415, 367, 397, 399, 336, 395, 0, 340, 343, + 426, 413, 362, 363, 0, 0, 0, 0, 0, 0, + 0, 381, 385, 402, 375, 0, 0, 0, 0, 0, + 0, 0, 0, 360, 0, 392, 0, 0, 0, 344, + 341, 0, 0, 379, 0, 0, 0, 346, 0, 361, + 403, 0, 335, 108, 406, 412, 376, 205, 414, 374, + 373, 417, 144, 0, 160, 110, 118, 84, 90, 0, + 109, 136, 149, 153, 410, 358, 366, 99, 364, 151, + 140, 173, 391, 141, 150, 122, 165, 145, 172, 206, + 180, 162, 179, 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, 102, 106, - 101, 137, 166, 167, 100, 188, 91, 178, 89, 92, + 101, 137, 166, 167, 100, 189, 91, 178, 89, 92, 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, 112, 132, 131, 133, - 0, 337, 0, 158, 175, 189, 94, 352, 163, 181, + 0, 339, 0, 158, 175, 190, 94, 354, 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, 134, 93, - 113, 155, 116, 123, 147, 187, 139, 152, 98, 174, - 156, 348, 351, 346, 347, 385, 386, 420, 421, 422, - 402, 343, 0, 349, 350, 0, 406, 388, 83, 0, - 120, 186, 146, 105, 176, 414, 405, 0, 376, 417, - 354, 368, 425, 369, 370, 398, 340, 384, 138, 366, - 0, 357, 335, 363, 336, 355, 378, 103, 381, 353, - 407, 387, 416, 119, 423, 121, 392, 0, 157, 130, - 0, 0, 380, 409, 382, 403, 375, 399, 345, 391, - 418, 367, 396, 419, 0, 0, 0, 260, 0, 0, - 0, 0, 0, 0, 0, 0, 96, 0, 394, 413, - 365, 395, 397, 334, 393, 0, 338, 341, 424, 411, - 360, 361, 0, 0, 0, 0, 0, 0, 0, 379, - 383, 400, 373, 0, 0, 0, 0, 0, 0, 0, - 0, 358, 0, 390, 0, 0, 0, 342, 339, 0, - 0, 377, 0, 0, 0, 344, 0, 359, 401, 0, - 333, 108, 404, 410, 374, 204, 412, 372, 371, 415, + 113, 155, 116, 123, 147, 188, 139, 152, 98, 174, + 156, 350, 353, 348, 349, 387, 388, 422, 423, 424, + 404, 345, 0, 351, 352, 0, 408, 390, 83, 0, + 120, 187, 146, 105, 176, 416, 407, 0, 378, 419, + 356, 370, 427, 371, 372, 400, 342, 386, 138, 368, + 0, 359, 337, 365, 338, 357, 380, 103, 383, 355, + 409, 389, 418, 119, 425, 121, 394, 0, 157, 130, + 0, 0, 382, 411, 384, 405, 377, 401, 347, 393, + 420, 369, 398, 421, 0, 0, 0, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 96, 0, 396, 415, + 367, 397, 399, 336, 395, 0, 340, 343, 426, 413, + 362, 363, 0, 0, 0, 0, 0, 0, 0, 381, + 385, 402, 375, 0, 0, 0, 0, 0, 0, 0, + 0, 360, 0, 392, 0, 0, 0, 344, 341, 0, + 0, 379, 0, 0, 0, 346, 0, 361, 403, 0, + 335, 108, 406, 412, 376, 205, 414, 374, 373, 417, 144, 0, 160, 110, 118, 84, 90, 0, 109, 136, - 149, 153, 408, 356, 364, 99, 362, 151, 140, 173, - 389, 141, 150, 122, 165, 145, 172, 205, 180, 162, - 179, 85, 161, 171, 97, 154, 87, 169, 159, 128, - 114, 115, 86, 0, 148, 102, 106, 101, 137, 166, - 167, 100, 188, 91, 178, 89, 92, 177, 135, 164, - 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, - 142, 124, 143, 112, 132, 131, 133, 0, 337, 0, - 158, 175, 189, 94, 352, 163, 181, 182, 183, 184, - 185, 0, 0, 95, 107, 134, 93, 113, 155, 116, - 123, 147, 187, 139, 152, 98, 174, 156, 348, 351, - 346, 347, 385, 386, 420, 421, 422, 402, 343, 0, - 349, 350, 0, 406, 388, 83, 0, 120, 186, 146, - 105, 176, 414, 405, 0, 376, 417, 354, 368, 425, - 369, 370, 398, 340, 384, 138, 366, 0, 357, 335, - 363, 336, 355, 378, 103, 381, 353, 407, 387, 416, - 119, 423, 121, 392, 0, 157, 130, 0, 0, 380, - 409, 382, 403, 375, 399, 345, 391, 418, 367, 396, - 419, 0, 0, 0, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 96, 0, 394, 413, 365, 395, 397, - 334, 393, 0, 338, 341, 424, 411, 360, 361, 0, - 0, 0, 0, 0, 0, 0, 379, 383, 400, 373, - 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, - 390, 0, 0, 0, 342, 339, 0, 0, 377, 0, - 0, 0, 344, 0, 359, 401, 0, 333, 108, 404, - 410, 374, 204, 412, 372, 371, 415, 144, 0, 160, - 110, 118, 84, 90, 0, 109, 136, 149, 153, 408, - 356, 364, 99, 362, 151, 140, 173, 389, 141, 150, - 122, 165, 145, 172, 205, 180, 162, 179, 85, 161, - 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, - 0, 148, 102, 106, 101, 137, 166, 167, 100, 188, - 91, 178, 89, 331, 177, 135, 164, 170, 129, 126, - 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, - 112, 132, 131, 133, 0, 337, 0, 158, 175, 189, - 94, 352, 163, 181, 182, 183, 184, 185, 0, 0, - 95, 107, 332, 330, 113, 155, 116, 123, 147, 187, - 139, 152, 98, 174, 156, 348, 351, 346, 347, 385, - 386, 420, 421, 422, 402, 343, 0, 349, 350, 0, - 406, 388, 83, 0, 120, 186, 146, 105, 176, 414, - 405, 0, 376, 417, 354, 368, 425, 369, 370, 398, - 340, 384, 138, 366, 0, 357, 335, 363, 336, 355, - 378, 103, 381, 353, 407, 387, 416, 119, 423, 121, - 392, 0, 157, 130, 0, 0, 380, 409, 382, 403, - 375, 399, 345, 391, 418, 367, 396, 419, 0, 0, - 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, - 96, 0, 394, 413, 365, 395, 397, 334, 393, 0, - 338, 341, 424, 411, 360, 361, 0, 0, 0, 0, - 0, 0, 0, 379, 383, 400, 373, 0, 0, 0, - 0, 0, 0, 0, 0, 358, 0, 390, 0, 0, - 0, 342, 339, 0, 0, 377, 0, 0, 0, 344, - 0, 359, 401, 0, 333, 108, 404, 410, 374, 204, - 412, 372, 371, 415, 144, 0, 160, 110, 118, 84, - 90, 0, 109, 136, 149, 153, 408, 356, 364, 99, - 362, 151, 140, 173, 389, 141, 150, 122, 165, 145, - 172, 205, 180, 162, 179, 85, 161, 171, 97, 154, - 87, 169, 159, 128, 114, 115, 86, 0, 148, 102, - 106, 101, 137, 166, 167, 100, 188, 91, 178, 89, - 92, 177, 135, 164, 170, 129, 126, 88, 168, 127, - 125, 117, 104, 111, 142, 124, 143, 112, 132, 131, - 133, 0, 337, 0, 158, 175, 189, 94, 352, 163, - 181, 182, 183, 184, 185, 0, 0, 95, 107, 134, - 93, 113, 155, 116, 123, 147, 187, 139, 152, 98, - 174, 156, 348, 351, 346, 347, 385, 386, 420, 421, - 422, 402, 343, 0, 349, 350, 0, 406, 388, 83, - 0, 120, 186, 146, 105, 176, 414, 405, 0, 376, - 417, 354, 368, 425, 369, 370, 398, 340, 384, 138, - 366, 0, 357, 335, 363, 336, 355, 378, 103, 381, - 353, 407, 387, 416, 119, 423, 121, 392, 0, 157, - 130, 0, 0, 380, 409, 382, 403, 375, 399, 345, - 391, 418, 367, 396, 419, 0, 0, 0, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 96, 0, 394, - 413, 365, 395, 397, 334, 393, 0, 338, 341, 424, - 411, 360, 361, 0, 0, 0, 0, 0, 0, 0, - 379, 383, 400, 373, 0, 0, 0, 0, 0, 0, - 0, 0, 358, 0, 390, 0, 0, 0, 342, 339, - 0, 0, 377, 0, 0, 0, 344, 0, 359, 401, - 0, 333, 108, 404, 410, 374, 204, 412, 372, 371, - 415, 144, 0, 160, 110, 118, 84, 90, 0, 109, - 136, 149, 153, 408, 356, 364, 99, 362, 151, 140, - 173, 389, 141, 150, 122, 165, 145, 172, 205, 180, - 162, 179, 85, 161, 595, 97, 154, 87, 169, 159, + 149, 153, 410, 358, 366, 99, 364, 151, 140, 173, + 391, 141, 150, 122, 165, 145, 172, 206, 180, 162, + 179, 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, 102, 106, 101, 137, - 166, 167, 100, 188, 91, 178, 89, 331, 177, 135, + 166, 167, 100, 189, 91, 178, 89, 333, 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, 117, 104, - 111, 142, 124, 143, 112, 132, 131, 133, 0, 337, - 0, 158, 175, 189, 94, 352, 163, 181, 182, 183, - 184, 185, 0, 0, 95, 107, 332, 330, 113, 155, - 116, 123, 147, 187, 139, 152, 98, 174, 156, 348, - 351, 346, 347, 385, 386, 420, 421, 422, 402, 343, - 0, 349, 350, 0, 406, 388, 83, 0, 120, 186, - 146, 105, 176, 414, 405, 0, 376, 417, 354, 368, - 425, 369, 370, 398, 340, 384, 138, 366, 0, 357, - 335, 363, 336, 355, 378, 103, 381, 353, 407, 387, - 416, 119, 423, 121, 392, 0, 157, 130, 0, 0, - 380, 409, 382, 403, 375, 399, 345, 391, 418, 367, - 396, 419, 0, 0, 0, 81, 0, 0, 0, 0, - 0, 0, 0, 0, 96, 0, 394, 413, 365, 395, - 397, 334, 393, 0, 338, 341, 424, 411, 360, 361, - 0, 0, 0, 0, 0, 0, 0, 379, 383, 400, - 373, 0, 0, 0, 0, 0, 0, 0, 0, 358, - 0, 390, 0, 0, 0, 342, 339, 0, 0, 377, - 0, 0, 0, 344, 0, 359, 401, 0, 333, 108, - 404, 410, 374, 204, 412, 372, 371, 415, 144, 0, + 111, 142, 124, 143, 112, 132, 131, 133, 0, 339, + 0, 158, 175, 190, 94, 354, 163, 181, 182, 183, + 184, 185, 0, 0, 95, 107, 334, 332, 113, 155, + 116, 123, 147, 188, 139, 152, 98, 174, 156, 350, + 353, 348, 349, 387, 388, 422, 423, 424, 404, 345, + 0, 351, 352, 0, 408, 390, 83, 0, 120, 187, + 146, 105, 176, 416, 407, 0, 378, 419, 356, 370, + 427, 371, 372, 400, 342, 386, 138, 368, 0, 359, + 337, 365, 338, 357, 380, 103, 383, 355, 409, 389, + 418, 119, 425, 121, 394, 0, 157, 130, 0, 0, + 382, 411, 384, 405, 377, 401, 347, 393, 420, 369, + 398, 421, 0, 0, 0, 203, 0, 0, 0, 0, + 0, 0, 0, 0, 96, 0, 396, 415, 367, 397, + 399, 336, 395, 0, 340, 343, 426, 413, 362, 363, + 0, 0, 0, 0, 0, 0, 0, 381, 385, 402, + 375, 0, 0, 0, 0, 0, 0, 0, 0, 360, + 0, 392, 0, 0, 0, 344, 341, 0, 0, 379, + 0, 0, 0, 346, 0, 361, 403, 0, 335, 108, + 406, 412, 376, 205, 414, 374, 373, 417, 144, 0, 160, 110, 118, 84, 90, 0, 109, 136, 149, 153, - 408, 356, 364, 99, 362, 151, 140, 173, 389, 141, - 150, 122, 165, 145, 172, 205, 180, 162, 179, 85, - 161, 322, 97, 154, 87, 169, 159, 128, 114, 115, - 86, 0, 148, 102, 106, 101, 137, 166, 167, 100, - 188, 91, 178, 89, 331, 177, 135, 164, 170, 129, - 126, 88, 168, 127, 125, 117, 104, 111, 142, 124, - 143, 112, 132, 131, 133, 0, 337, 0, 158, 175, - 189, 94, 352, 163, 181, 182, 183, 184, 185, 0, - 0, 95, 107, 332, 330, 325, 324, 116, 123, 147, - 187, 139, 152, 98, 174, 156, 348, 351, 346, 347, - 385, 386, 420, 421, 422, 402, 343, 0, 349, 350, - 0, 406, 388, 83, 0, 120, 186, 146, 105, 176, - 138, 0, 0, 756, 0, 262, 0, 0, 0, 103, - 0, 259, 0, 0, 0, 119, 302, 121, 0, 0, - 157, 130, 0, 0, 0, 0, 293, 294, 0, 0, - 0, 0, 0, 0, 0, 0, 54, 0, 0, 260, - 281, 280, 283, 284, 285, 286, 0, 0, 96, 282, - 287, 288, 289, 0, 0, 0, 257, 274, 0, 301, + 410, 358, 366, 99, 364, 151, 140, 173, 391, 141, + 150, 122, 165, 145, 172, 206, 180, 162, 179, 186, + 85, 161, 171, 97, 154, 87, 169, 159, 128, 114, + 115, 86, 0, 148, 102, 106, 101, 137, 166, 167, + 100, 189, 91, 178, 89, 92, 177, 135, 164, 170, + 129, 126, 88, 168, 127, 125, 117, 104, 111, 142, + 124, 143, 112, 132, 131, 133, 0, 339, 0, 158, + 175, 190, 94, 354, 163, 181, 182, 183, 184, 185, + 0, 0, 95, 107, 134, 93, 113, 155, 116, 123, + 147, 188, 139, 152, 98, 174, 156, 350, 353, 348, + 349, 387, 388, 422, 423, 424, 404, 345, 0, 351, + 352, 0, 408, 390, 83, 0, 120, 187, 146, 105, + 176, 416, 407, 0, 378, 419, 356, 370, 427, 371, + 372, 400, 342, 386, 138, 368, 0, 359, 337, 365, + 338, 357, 380, 103, 383, 355, 409, 389, 418, 119, + 425, 121, 394, 0, 157, 130, 0, 0, 382, 411, + 384, 405, 377, 401, 347, 393, 420, 369, 398, 421, + 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 96, 0, 396, 415, 367, 397, 399, 336, + 395, 0, 340, 343, 426, 413, 362, 363, 0, 0, + 0, 0, 0, 0, 0, 381, 385, 402, 375, 0, + 0, 0, 0, 0, 0, 0, 0, 360, 0, 392, + 0, 0, 0, 344, 341, 0, 0, 379, 0, 0, + 0, 346, 0, 361, 403, 0, 335, 108, 406, 412, + 376, 205, 414, 374, 373, 417, 144, 0, 160, 110, + 118, 84, 90, 0, 109, 136, 149, 153, 410, 358, + 366, 99, 364, 151, 140, 173, 391, 141, 150, 122, + 165, 145, 172, 206, 180, 162, 179, 186, 85, 161, + 597, 97, 154, 87, 169, 159, 128, 114, 115, 86, + 0, 148, 102, 106, 101, 137, 166, 167, 100, 189, + 91, 178, 89, 333, 177, 135, 164, 170, 129, 126, + 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, + 112, 132, 131, 133, 0, 339, 0, 158, 175, 190, + 94, 354, 163, 181, 182, 183, 184, 185, 0, 0, + 95, 107, 334, 332, 113, 155, 116, 123, 147, 188, + 139, 152, 98, 174, 156, 350, 353, 348, 349, 387, + 388, 422, 423, 424, 404, 345, 0, 351, 352, 0, + 408, 390, 83, 0, 120, 187, 146, 105, 176, 416, + 407, 0, 378, 419, 356, 370, 427, 371, 372, 400, + 342, 386, 138, 368, 0, 359, 337, 365, 338, 357, + 380, 103, 383, 355, 409, 389, 418, 119, 425, 121, + 394, 0, 157, 130, 0, 0, 382, 411, 384, 405, + 377, 401, 347, 393, 420, 369, 398, 421, 0, 0, + 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 96, 0, 396, 415, 367, 397, 399, 336, 395, 0, + 340, 343, 426, 413, 362, 363, 0, 0, 0, 0, + 0, 0, 0, 381, 385, 402, 375, 0, 0, 0, + 0, 0, 0, 0, 0, 360, 0, 392, 0, 0, + 0, 344, 341, 0, 0, 379, 0, 0, 0, 346, + 0, 361, 403, 0, 335, 108, 406, 412, 376, 205, + 414, 374, 373, 417, 144, 0, 160, 110, 118, 84, + 90, 0, 109, 136, 149, 153, 410, 358, 366, 99, + 364, 151, 140, 173, 391, 141, 150, 122, 165, 145, + 172, 206, 180, 162, 179, 186, 85, 161, 324, 97, + 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, + 102, 106, 101, 137, 166, 167, 100, 189, 91, 178, + 89, 333, 177, 135, 164, 170, 129, 126, 88, 168, + 127, 125, 117, 104, 111, 142, 124, 143, 112, 132, + 131, 133, 0, 339, 0, 158, 175, 190, 94, 354, + 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, + 334, 332, 327, 326, 116, 123, 147, 188, 139, 152, + 98, 174, 156, 350, 353, 348, 349, 387, 388, 422, + 423, 424, 404, 345, 0, 351, 352, 0, 408, 390, + 83, 0, 120, 187, 146, 105, 176, 138, 0, 0, + 0, 0, 264, 0, 0, 0, 103, 0, 261, 0, + 0, 0, 119, 304, 121, 0, 0, 157, 130, 0, + 0, 0, 0, 295, 296, 0, 0, 0, 0, 0, + 0, 820, 0, 54, 0, 0, 262, 283, 282, 285, + 286, 287, 288, 0, 0, 96, 284, 289, 290, 291, + 821, 0, 0, 259, 276, 0, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, - 272, 253, 0, 0, 0, 313, 0, 273, 0, 0, - 268, 269, 270, 275, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 108, 0, 0, 0, 204, 0, 0, - 311, 0, 144, 0, 160, 110, 118, 84, 90, 0, - 109, 136, 149, 153, 0, 0, 0, 99, 0, 151, - 140, 173, 0, 141, 150, 122, 165, 145, 172, 205, - 180, 162, 179, 85, 161, 171, 97, 154, 87, 169, - 159, 128, 114, 115, 86, 0, 148, 102, 106, 101, - 137, 166, 167, 100, 188, 91, 178, 89, 92, 177, - 135, 164, 170, 129, 126, 88, 168, 127, 125, 117, - 104, 111, 142, 124, 143, 112, 132, 131, 133, 0, - 0, 0, 158, 175, 189, 94, 0, 163, 181, 182, - 183, 184, 185, 0, 0, 95, 107, 134, 93, 113, - 155, 116, 123, 147, 187, 139, 152, 98, 174, 156, - 303, 312, 309, 310, 307, 308, 306, 305, 304, 314, - 295, 296, 297, 298, 300, 0, 299, 83, 0, 120, - 186, 146, 105, 176, 138, 0, 0, 0, 0, 262, - 0, 0, 0, 103, 0, 259, 0, 0, 0, 119, - 302, 121, 0, 0, 157, 130, 0, 0, 0, 0, - 293, 294, 0, 0, 0, 0, 0, 0, 0, 0, - 54, 0, 480, 260, 281, 280, 283, 284, 285, 286, - 0, 0, 96, 282, 287, 288, 289, 0, 0, 0, - 257, 274, 0, 301, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 273, 274, 0, 0, + 0, 0, 315, 0, 275, 0, 0, 270, 271, 272, + 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 108, 0, 0, 0, 205, 0, 0, 313, 0, 144, + 0, 160, 110, 118, 84, 90, 0, 109, 136, 149, + 153, 0, 0, 0, 99, 0, 151, 140, 173, 0, + 141, 150, 122, 165, 145, 172, 206, 180, 162, 179, + 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, + 114, 115, 86, 0, 148, 102, 106, 101, 137, 166, + 167, 100, 189, 91, 178, 89, 92, 177, 135, 164, + 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, + 142, 124, 143, 112, 132, 131, 133, 0, 0, 0, + 158, 175, 190, 94, 0, 163, 181, 182, 183, 184, + 185, 0, 0, 95, 107, 134, 93, 113, 155, 116, + 123, 147, 188, 139, 152, 98, 174, 156, 305, 314, + 311, 312, 309, 310, 308, 307, 306, 316, 297, 298, + 299, 300, 302, 0, 301, 83, 0, 120, 187, 146, + 105, 176, 138, 0, 0, 758, 0, 264, 0, 0, + 0, 103, 0, 261, 0, 0, 0, 119, 304, 121, + 0, 0, 157, 130, 0, 0, 0, 0, 295, 296, + 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, + 0, 262, 283, 282, 285, 286, 287, 288, 0, 0, + 96, 284, 289, 290, 291, 0, 0, 0, 259, 276, + 0, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 271, 272, 0, 0, 0, 0, 313, - 0, 273, 0, 0, 268, 269, 270, 275, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, - 0, 204, 0, 0, 311, 0, 144, 0, 160, 110, - 118, 84, 90, 0, 109, 136, 149, 153, 0, 0, - 0, 99, 0, 151, 140, 173, 0, 141, 150, 122, - 165, 145, 172, 205, 180, 162, 179, 85, 161, 171, - 97, 154, 87, 169, 159, 128, 114, 115, 86, 0, - 148, 102, 106, 101, 137, 166, 167, 100, 188, 91, - 178, 89, 92, 177, 135, 164, 170, 129, 126, 88, - 168, 127, 125, 117, 104, 111, 142, 124, 143, 112, - 132, 131, 133, 0, 0, 0, 158, 175, 189, 94, - 0, 163, 181, 182, 183, 184, 185, 0, 0, 95, - 107, 134, 93, 113, 155, 116, 123, 147, 187, 139, - 152, 98, 174, 156, 303, 312, 309, 310, 307, 308, - 306, 305, 304, 314, 295, 296, 297, 298, 300, 0, - 299, 83, 0, 120, 186, 146, 105, 176, 138, 0, - 0, 0, 0, 262, 0, 0, 0, 103, 0, 259, - 0, 0, 0, 119, 302, 121, 0, 0, 157, 130, - 0, 0, 0, 0, 293, 294, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, 0, 260, 281, 280, - 283, 284, 285, 286, 0, 0, 96, 282, 287, 288, - 289, 0, 0, 0, 257, 274, 0, 301, 0, 0, + 0, 273, 274, 255, 0, 0, 0, 315, 0, 275, + 0, 0, 270, 271, 272, 277, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 108, 0, 0, 0, 205, + 0, 0, 313, 0, 144, 0, 160, 110, 118, 84, + 90, 0, 109, 136, 149, 153, 0, 0, 0, 99, + 0, 151, 140, 173, 0, 141, 150, 122, 165, 145, + 172, 206, 180, 162, 179, 186, 85, 161, 171, 97, + 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, + 102, 106, 101, 137, 166, 167, 100, 189, 91, 178, + 89, 92, 177, 135, 164, 170, 129, 126, 88, 168, + 127, 125, 117, 104, 111, 142, 124, 143, 112, 132, + 131, 133, 0, 0, 0, 158, 175, 190, 94, 0, + 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, + 134, 93, 113, 155, 116, 123, 147, 188, 139, 152, + 98, 174, 156, 305, 314, 311, 312, 309, 310, 308, + 307, 306, 316, 297, 298, 299, 300, 302, 0, 301, + 83, 0, 120, 187, 146, 105, 176, 138, 0, 0, + 0, 0, 264, 0, 0, 0, 103, 0, 261, 0, + 0, 0, 119, 304, 121, 0, 0, 157, 130, 0, + 0, 0, 0, 295, 296, 0, 0, 0, 0, 0, + 0, 0, 0, 54, 0, 482, 262, 283, 282, 285, + 286, 287, 288, 0, 0, 96, 284, 289, 290, 291, + 0, 0, 0, 259, 276, 0, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 271, 272, 253, - 0, 0, 0, 313, 0, 273, 0, 0, 268, 269, - 270, 275, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 108, 0, 0, 0, 204, 0, 0, 311, 0, - 144, 0, 160, 110, 118, 84, 90, 0, 109, 136, - 149, 153, 0, 0, 0, 99, 0, 151, 140, 173, - 0, 141, 150, 122, 165, 145, 172, 205, 180, 162, - 179, 85, 161, 171, 97, 154, 87, 169, 159, 128, + 0, 0, 0, 0, 0, 0, 273, 274, 0, 0, + 0, 0, 315, 0, 275, 0, 0, 270, 271, 272, + 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 108, 0, 0, 0, 205, 0, 0, 313, 0, 144, + 0, 160, 110, 118, 84, 90, 0, 109, 136, 149, + 153, 0, 0, 0, 99, 0, 151, 140, 173, 0, + 141, 150, 122, 165, 145, 172, 206, 180, 162, 179, + 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, 102, 106, 101, 137, 166, - 167, 100, 188, 91, 178, 89, 92, 177, 135, 164, + 167, 100, 189, 91, 178, 89, 92, 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, 112, 132, 131, 133, 0, 0, 0, - 158, 175, 189, 94, 0, 163, 181, 182, 183, 184, + 158, 175, 190, 94, 0, 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, 134, 93, 113, 155, 116, - 123, 147, 187, 139, 152, 98, 174, 156, 303, 312, - 309, 310, 307, 308, 306, 305, 304, 314, 295, 296, - 297, 298, 300, 24, 299, 83, 0, 120, 186, 146, - 105, 176, 0, 0, 0, 138, 0, 0, 0, 0, - 262, 0, 0, 0, 103, 0, 259, 0, 0, 0, - 119, 302, 121, 0, 0, 157, 130, 0, 0, 0, - 0, 293, 294, 0, 0, 0, 0, 0, 0, 0, - 0, 54, 0, 0, 260, 281, 280, 283, 284, 285, - 286, 0, 0, 96, 282, 287, 288, 289, 0, 0, - 0, 257, 274, 0, 301, 0, 0, 0, 0, 0, + 123, 147, 188, 139, 152, 98, 174, 156, 305, 314, + 311, 312, 309, 310, 308, 307, 306, 316, 297, 298, + 299, 300, 302, 0, 301, 83, 0, 120, 187, 146, + 105, 176, 138, 0, 0, 0, 0, 264, 0, 0, + 0, 103, 0, 261, 0, 0, 0, 119, 304, 121, + 0, 0, 157, 130, 0, 0, 0, 0, 295, 296, + 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, + 0, 262, 283, 282, 285, 286, 287, 288, 0, 0, + 96, 284, 289, 290, 291, 0, 0, 0, 259, 276, + 0, 303, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 273, 274, 255, 0, 0, 0, 315, 0, 275, + 0, 0, 270, 271, 272, 277, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 108, 0, 0, 0, 205, + 0, 0, 313, 0, 144, 0, 160, 110, 118, 84, + 90, 0, 109, 136, 149, 153, 0, 0, 0, 99, + 0, 151, 140, 173, 0, 141, 150, 122, 165, 145, + 172, 206, 180, 162, 179, 186, 85, 161, 171, 97, + 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, + 102, 106, 101, 137, 166, 167, 100, 189, 91, 178, + 89, 92, 177, 135, 164, 170, 129, 126, 88, 168, + 127, 125, 117, 104, 111, 142, 124, 143, 112, 132, + 131, 133, 0, 0, 0, 158, 175, 190, 94, 0, + 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, + 134, 93, 113, 155, 116, 123, 147, 188, 139, 152, + 98, 174, 156, 305, 314, 311, 312, 309, 310, 308, + 307, 306, 316, 297, 298, 299, 300, 302, 24, 301, + 83, 0, 120, 187, 146, 105, 176, 0, 0, 0, + 138, 0, 0, 0, 0, 264, 0, 0, 0, 103, + 0, 261, 0, 0, 0, 119, 304, 121, 0, 0, + 157, 130, 0, 0, 0, 0, 295, 296, 0, 0, + 0, 0, 0, 0, 0, 0, 54, 0, 0, 262, + 283, 282, 285, 286, 287, 288, 0, 0, 96, 284, + 289, 290, 291, 0, 0, 0, 259, 276, 0, 303, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, + 274, 0, 0, 0, 0, 315, 0, 275, 0, 0, + 270, 271, 272, 277, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 108, 0, 0, 0, 205, 0, 0, + 313, 0, 144, 0, 160, 110, 118, 84, 90, 0, + 109, 136, 149, 153, 0, 0, 0, 99, 0, 151, + 140, 173, 0, 141, 150, 122, 165, 145, 172, 206, + 180, 162, 179, 186, 85, 161, 171, 97, 154, 87, + 169, 159, 128, 114, 115, 86, 0, 148, 102, 106, + 101, 137, 166, 167, 100, 189, 91, 178, 89, 92, + 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, + 117, 104, 111, 142, 124, 143, 112, 132, 131, 133, + 0, 0, 0, 158, 175, 190, 94, 0, 163, 181, + 182, 183, 184, 185, 0, 0, 95, 107, 134, 93, + 113, 155, 116, 123, 147, 188, 139, 152, 98, 174, + 156, 305, 314, 311, 312, 309, 310, 308, 307, 306, + 316, 297, 298, 299, 300, 302, 0, 301, 83, 0, + 120, 187, 146, 105, 176, 138, 0, 0, 0, 0, + 264, 0, 0, 0, 103, 0, 261, 0, 0, 0, + 119, 304, 121, 0, 0, 157, 130, 0, 0, 0, + 0, 295, 296, 0, 0, 0, 0, 0, 0, 0, + 0, 54, 0, 0, 262, 283, 282, 285, 286, 287, + 288, 0, 0, 96, 284, 289, 290, 291, 0, 0, + 0, 259, 276, 0, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 271, 272, 0, 0, 0, 0, - 313, 0, 273, 0, 0, 268, 269, 270, 275, 0, + 0, 0, 0, 0, 273, 274, 0, 0, 0, 0, + 315, 0, 275, 0, 0, 270, 271, 272, 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 0, - 0, 0, 204, 0, 0, 311, 0, 144, 0, 160, + 0, 0, 205, 0, 0, 313, 0, 144, 0, 160, 110, 118, 84, 90, 0, 109, 136, 149, 153, 0, 0, 0, 99, 0, 151, 140, 173, 0, 141, 150, - 122, 165, 145, 172, 205, 180, 162, 179, 85, 161, - 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, - 0, 148, 102, 106, 101, 137, 166, 167, 100, 188, - 91, 178, 89, 92, 177, 135, 164, 170, 129, 126, - 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, - 112, 132, 131, 133, 0, 0, 0, 158, 175, 189, - 94, 0, 163, 181, 182, 183, 184, 185, 0, 0, - 95, 107, 134, 93, 113, 155, 116, 123, 147, 187, - 139, 152, 98, 174, 156, 303, 312, 309, 310, 307, - 308, 306, 305, 304, 314, 295, 296, 297, 298, 300, - 0, 299, 83, 0, 120, 186, 146, 105, 176, 138, - 0, 0, 0, 0, 262, 0, 0, 0, 103, 0, - 259, 0, 0, 0, 119, 302, 121, 0, 0, 157, - 130, 0, 0, 0, 0, 293, 294, 0, 0, 0, - 0, 0, 0, 0, 0, 54, 0, 0, 260, 281, - 280, 283, 284, 285, 286, 0, 0, 96, 282, 287, - 288, 289, 0, 0, 0, 257, 274, 0, 301, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 271, 272, - 0, 0, 0, 0, 313, 0, 273, 0, 0, 268, - 269, 270, 275, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 108, 0, 0, 0, 204, 0, 0, 311, - 0, 144, 0, 160, 110, 118, 84, 90, 0, 109, - 136, 149, 153, 0, 0, 0, 99, 0, 151, 140, - 173, 0, 141, 150, 122, 165, 145, 172, 205, 180, - 162, 179, 85, 161, 171, 97, 154, 87, 169, 159, - 128, 114, 115, 86, 0, 148, 102, 106, 101, 137, - 166, 167, 100, 188, 91, 178, 89, 92, 177, 135, - 164, 170, 129, 126, 88, 168, 127, 125, 117, 104, - 111, 142, 124, 143, 112, 132, 131, 133, 0, 0, - 0, 158, 175, 189, 94, 0, 163, 181, 182, 183, - 184, 185, 0, 0, 95, 107, 134, 93, 113, 155, - 116, 123, 147, 187, 139, 152, 98, 174, 156, 303, - 312, 309, 310, 307, 308, 306, 305, 304, 314, 295, - 296, 297, 298, 300, 138, 299, 83, 0, 120, 186, - 146, 105, 176, 103, 0, 0, 0, 0, 0, 119, - 302, 121, 0, 0, 157, 130, 0, 0, 0, 0, - 293, 294, 0, 0, 0, 0, 0, 0, 0, 0, - 54, 0, 0, 260, 281, 280, 283, 284, 285, 286, - 0, 0, 96, 282, 287, 288, 289, 0, 0, 0, - 0, 274, 0, 301, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 271, 272, 0, 0, 0, 0, 313, - 0, 273, 0, 0, 268, 269, 270, 275, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, - 0, 204, 0, 0, 311, 0, 144, 0, 160, 110, - 118, 84, 90, 0, 109, 136, 149, 153, 0, 0, - 0, 99, 0, 151, 140, 173, 1357, 141, 150, 122, - 165, 145, 172, 205, 180, 162, 179, 85, 161, 171, - 97, 154, 87, 169, 159, 128, 114, 115, 86, 0, - 148, 102, 106, 101, 137, 166, 167, 100, 188, 91, - 178, 89, 92, 177, 135, 164, 170, 129, 126, 88, - 168, 127, 125, 117, 104, 111, 142, 124, 143, 112, - 132, 131, 133, 0, 0, 0, 158, 175, 189, 94, - 0, 163, 181, 182, 183, 184, 185, 0, 0, 95, - 107, 134, 93, 113, 155, 116, 123, 147, 187, 139, - 152, 98, 174, 156, 303, 312, 309, 310, 307, 308, - 306, 305, 304, 314, 295, 296, 297, 298, 300, 138, - 299, 83, 0, 120, 186, 146, 105, 176, 103, 0, - 0, 0, 0, 0, 119, 302, 121, 0, 0, 157, - 130, 0, 0, 0, 0, 293, 294, 0, 0, 0, - 0, 0, 0, 0, 0, 54, 0, 0, 260, 281, - 280, 283, 284, 285, 286, 0, 0, 96, 282, 287, - 288, 289, 0, 0, 0, 0, 274, 0, 301, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 271, 272, - 0, 0, 0, 0, 313, 0, 273, 0, 0, 268, - 269, 270, 275, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 108, 0, 0, 0, 204, 0, 0, 311, - 0, 144, 0, 160, 110, 118, 84, 90, 0, 109, - 136, 149, 153, 0, 0, 0, 99, 0, 151, 140, - 173, 0, 141, 150, 122, 165, 145, 172, 205, 180, - 162, 179, 85, 161, 171, 97, 154, 87, 169, 159, - 128, 114, 115, 86, 0, 148, 102, 106, 101, 137, - 166, 167, 100, 188, 91, 178, 89, 92, 177, 135, - 164, 170, 129, 126, 88, 168, 127, 125, 117, 104, - 111, 142, 124, 143, 112, 132, 131, 133, 0, 0, - 0, 158, 175, 189, 94, 0, 163, 181, 182, 183, - 184, 185, 0, 0, 95, 107, 134, 93, 113, 155, - 116, 123, 147, 187, 139, 152, 98, 174, 156, 303, - 312, 309, 310, 307, 308, 306, 305, 304, 314, 295, - 296, 297, 298, 300, 138, 299, 83, 0, 120, 186, - 146, 105, 176, 103, 0, 0, 0, 0, 0, 119, - 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, + 122, 165, 145, 172, 206, 180, 162, 179, 186, 85, + 161, 171, 97, 154, 87, 169, 159, 128, 114, 115, + 86, 0, 148, 102, 106, 101, 137, 166, 167, 100, + 189, 91, 178, 89, 92, 177, 135, 164, 170, 129, + 126, 88, 168, 127, 125, 117, 104, 111, 142, 124, + 143, 112, 132, 131, 133, 0, 0, 0, 158, 175, + 190, 94, 0, 163, 181, 182, 183, 184, 185, 0, + 0, 95, 107, 134, 93, 113, 155, 116, 123, 147, + 188, 139, 152, 98, 174, 156, 305, 314, 311, 312, + 309, 310, 308, 307, 306, 316, 297, 298, 299, 300, + 302, 138, 301, 83, 0, 120, 187, 146, 105, 176, + 103, 0, 0, 0, 0, 0, 119, 304, 121, 0, + 0, 157, 130, 0, 0, 0, 0, 295, 296, 0, + 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, + 262, 283, 282, 285, 286, 287, 288, 0, 0, 96, + 284, 289, 290, 291, 0, 0, 0, 0, 276, 0, + 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, + 273, 274, 0, 0, 0, 0, 315, 0, 275, 0, + 0, 270, 271, 272, 277, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 108, 0, 0, 0, 205, 0, + 0, 313, 0, 144, 0, 160, 110, 118, 84, 90, + 0, 109, 136, 149, 153, 0, 0, 0, 99, 0, + 151, 140, 173, 1359, 141, 150, 122, 165, 145, 172, + 206, 180, 162, 179, 186, 85, 161, 171, 97, 154, + 87, 169, 159, 128, 114, 115, 86, 0, 148, 102, + 106, 101, 137, 166, 167, 100, 189, 91, 178, 89, + 92, 177, 135, 164, 170, 129, 126, 88, 168, 127, + 125, 117, 104, 111, 142, 124, 143, 112, 132, 131, + 133, 0, 0, 0, 158, 175, 190, 94, 0, 163, + 181, 182, 183, 184, 185, 0, 0, 95, 107, 134, + 93, 113, 155, 116, 123, 147, 188, 139, 152, 98, + 174, 156, 305, 314, 311, 312, 309, 310, 308, 307, + 306, 316, 297, 298, 299, 300, 302, 138, 301, 83, + 0, 120, 187, 146, 105, 176, 103, 0, 0, 0, + 0, 0, 119, 304, 121, 0, 0, 157, 130, 0, + 0, 0, 0, 295, 296, 0, 0, 0, 0, 0, + 0, 0, 0, 54, 0, 0, 262, 283, 282, 285, + 286, 287, 288, 0, 0, 96, 284, 289, 290, 291, + 0, 0, 0, 0, 276, 0, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, - 513, 523, 524, 516, 517, 518, 519, 520, 521, 522, - 515, 0, 0, 525, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, - 0, 204, 0, 0, 0, 0, 144, 0, 160, 110, - 118, 84, 90, 0, 109, 136, 149, 153, 0, 0, - 0, 99, 0, 151, 140, 173, 0, 141, 150, 122, - 165, 145, 172, 205, 180, 162, 179, 85, 161, 171, - 97, 154, 87, 169, 159, 128, 114, 115, 86, 0, - 148, 102, 106, 101, 137, 166, 167, 100, 188, 91, - 178, 89, 92, 177, 135, 164, 170, 129, 126, 88, - 168, 127, 125, 117, 104, 111, 142, 124, 143, 112, - 132, 131, 133, 0, 0, 0, 158, 175, 189, 94, - 0, 163, 181, 182, 183, 184, 185, 0, 0, 95, - 107, 134, 93, 113, 155, 116, 123, 147, 187, 139, - 152, 98, 174, 156, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 138, 0, 0, 0, 502, 0, 0, - 0, 83, 103, 120, 186, 146, 105, 176, 119, 0, - 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 273, 274, 0, 0, + 0, 0, 315, 0, 275, 0, 0, 270, 271, 272, + 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 108, 0, 0, 0, 205, 0, 0, 313, 0, 144, + 0, 160, 110, 118, 84, 90, 0, 109, 136, 149, + 153, 0, 0, 0, 99, 0, 151, 140, 173, 0, + 141, 150, 122, 165, 145, 172, 206, 180, 162, 179, + 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, + 114, 115, 86, 0, 148, 102, 106, 101, 137, 166, + 167, 100, 189, 91, 178, 89, 92, 177, 135, 164, + 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, + 142, 124, 143, 112, 132, 131, 133, 0, 0, 0, + 158, 175, 190, 94, 0, 163, 181, 182, 183, 184, + 185, 0, 0, 95, 107, 134, 93, 113, 155, 116, + 123, 147, 188, 139, 152, 98, 174, 156, 305, 314, + 311, 312, 309, 310, 308, 307, 306, 316, 297, 298, + 299, 300, 302, 0, 301, 83, 0, 120, 187, 146, + 105, 176, 138, 0, 0, 0, 504, 0, 0, 0, + 0, 103, 0, 0, 0, 0, 0, 119, 0, 121, + 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 81, 0, 504, 0, 0, 0, 0, 0, - 0, 96, 0, 0, 0, 0, 0, 499, 498, 0, + 0, 81, 0, 506, 0, 0, 0, 0, 0, 0, + 96, 0, 0, 0, 0, 0, 501, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, + 0, 0, 0, 502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, - 204, 0, 0, 0, 0, 144, 0, 160, 110, 118, - 84, 90, 0, 109, 136, 149, 153, 0, 0, 0, - 99, 0, 151, 140, 173, 0, 141, 150, 122, 165, - 145, 172, 205, 180, 162, 179, 85, 161, 171, 97, + 0, 0, 0, 0, 0, 108, 0, 0, 0, 205, + 0, 0, 0, 0, 144, 0, 160, 110, 118, 84, + 90, 0, 109, 136, 149, 153, 0, 0, 0, 99, + 0, 151, 140, 173, 0, 141, 150, 122, 165, 145, + 172, 206, 180, 162, 179, 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, - 102, 106, 101, 137, 166, 167, 100, 188, 91, 178, + 102, 106, 101, 137, 166, 167, 100, 189, 91, 178, 89, 92, 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, 112, 132, - 131, 133, 0, 0, 0, 158, 175, 189, 94, 0, + 131, 133, 0, 0, 0, 158, 175, 190, 94, 0, 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, - 134, 93, 113, 155, 116, 123, 147, 187, 139, 152, + 134, 93, 113, 155, 116, 123, 147, 188, 139, 152, 98, 174, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, - 83, 103, 120, 186, 146, 105, 176, 119, 0, 121, + 83, 103, 120, 187, 146, 105, 176, 119, 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1463,374 +1475,378 @@ var yyAct = [...]int{ 0, 0, 0, 79, 144, 0, 160, 110, 118, 84, 90, 0, 109, 136, 149, 153, 0, 0, 0, 99, 0, 151, 140, 173, 0, 141, 150, 122, 165, 145, - 172, 75, 180, 162, 179, 85, 161, 171, 97, 154, - 87, 169, 159, 128, 114, 115, 86, 0, 148, 102, - 106, 101, 137, 166, 167, 100, 188, 91, 178, 89, - 92, 177, 135, 164, 170, 129, 126, 88, 168, 127, - 125, 117, 104, 111, 142, 124, 143, 112, 132, 131, - 133, 0, 0, 0, 158, 175, 189, 94, 0, 163, - 181, 182, 183, 184, 185, 0, 0, 95, 107, 134, - 93, 113, 155, 116, 123, 147, 187, 139, 152, 98, - 174, 156, 0, 76, 0, 0, 0, 0, 0, 0, - 0, 138, 0, 0, 0, 805, 0, 0, 0, 83, - 103, 120, 186, 146, 105, 176, 119, 0, 121, 0, - 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 202, 0, 807, 0, 0, 0, 0, 0, 0, 96, + 172, 75, 180, 162, 179, 186, 85, 161, 171, 97, + 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, + 102, 106, 101, 137, 166, 167, 100, 189, 91, 178, + 89, 92, 177, 135, 164, 170, 129, 126, 88, 168, + 127, 125, 117, 104, 111, 142, 124, 143, 112, 132, + 131, 133, 0, 0, 0, 158, 175, 190, 94, 0, + 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, + 134, 93, 113, 155, 116, 123, 147, 188, 139, 152, + 98, 174, 156, 0, 76, 0, 0, 0, 0, 0, + 0, 0, 138, 0, 0, 0, 807, 0, 0, 0, + 83, 103, 120, 187, 146, 105, 176, 119, 0, 121, + 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 203, 0, 809, 0, 0, 0, 0, 0, 0, + 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 108, 0, 0, 0, 204, 0, - 0, 0, 0, 144, 0, 160, 110, 118, 84, 90, - 0, 109, 136, 149, 153, 0, 0, 0, 99, 0, - 151, 140, 173, 0, 141, 150, 122, 165, 145, 172, - 205, 180, 162, 179, 85, 161, 171, 97, 154, 87, - 169, 159, 128, 114, 115, 86, 0, 148, 102, 106, - 101, 137, 166, 167, 100, 188, 91, 178, 89, 92, - 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, - 117, 104, 111, 142, 124, 143, 112, 132, 131, 133, - 0, 0, 0, 158, 175, 189, 94, 0, 163, 181, - 182, 183, 184, 185, 0, 0, 95, 107, 134, 93, - 113, 155, 116, 123, 147, 187, 139, 152, 98, 174, - 156, 0, 0, 0, 24, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 138, 0, 83, 0, - 120, 186, 146, 105, 176, 103, 0, 0, 0, 0, - 0, 119, 0, 121, 0, 0, 157, 130, 0, 0, + 0, 0, 0, 0, 0, 108, 0, 0, 0, 205, + 0, 0, 0, 0, 144, 0, 160, 110, 118, 84, + 90, 0, 109, 136, 149, 153, 0, 0, 0, 99, + 0, 151, 140, 173, 0, 141, 150, 122, 165, 145, + 172, 206, 180, 162, 179, 186, 85, 161, 171, 97, + 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, + 102, 106, 101, 137, 166, 167, 100, 189, 91, 178, + 89, 92, 177, 135, 164, 170, 129, 126, 88, 168, + 127, 125, 117, 104, 111, 142, 124, 143, 112, 132, + 131, 133, 0, 0, 0, 158, 175, 190, 94, 0, + 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, + 134, 93, 113, 155, 116, 123, 147, 188, 139, 152, + 98, 174, 156, 0, 0, 0, 24, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 138, 0, + 83, 0, 120, 187, 146, 105, 176, 103, 0, 0, + 0, 0, 0, 119, 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 81, 0, 0, 0, 0, - 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, 0, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, - 0, 0, 0, 204, 0, 0, 0, 0, 144, 0, - 160, 110, 118, 84, 90, 0, 109, 136, 149, 153, - 0, 0, 0, 99, 0, 151, 140, 173, 0, 141, - 150, 122, 165, 145, 172, 205, 180, 162, 179, 85, - 161, 171, 97, 154, 87, 169, 159, 128, 114, 115, - 86, 0, 148, 102, 106, 101, 137, 166, 167, 100, - 188, 91, 178, 89, 92, 177, 135, 164, 170, 129, - 126, 88, 168, 127, 125, 117, 104, 111, 142, 124, - 143, 112, 132, 131, 133, 0, 0, 0, 158, 175, - 189, 94, 0, 163, 181, 182, 183, 184, 185, 0, - 0, 95, 107, 134, 93, 113, 155, 116, 123, 147, - 187, 139, 152, 98, 174, 156, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 138, 0, 83, 0, 120, 186, 146, 105, 176, - 103, 0, 0, 0, 0, 0, 119, 0, 121, 0, - 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, - 202, 0, 0, 0, 0, 0, 0, 0, 0, 96, + 0, 108, 0, 0, 0, 205, 0, 0, 0, 0, + 144, 0, 160, 110, 118, 84, 90, 0, 109, 136, + 149, 153, 0, 0, 0, 99, 0, 151, 140, 173, + 0, 141, 150, 122, 165, 145, 172, 206, 180, 162, + 179, 186, 85, 161, 171, 97, 154, 87, 169, 159, + 128, 114, 115, 86, 0, 148, 102, 106, 101, 137, + 166, 167, 100, 189, 91, 178, 89, 92, 177, 135, + 164, 170, 129, 126, 88, 168, 127, 125, 117, 104, + 111, 142, 124, 143, 112, 132, 131, 133, 0, 0, + 0, 158, 175, 190, 94, 0, 163, 181, 182, 183, + 184, 185, 0, 0, 95, 107, 134, 93, 113, 155, + 116, 123, 147, 188, 139, 152, 98, 174, 156, 0, + 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 138, 0, 83, 0, 120, 187, + 146, 105, 176, 103, 0, 0, 0, 0, 0, 119, + 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 54, 0, 0, 203, 0, 0, 0, 0, 0, 0, + 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 108, 0, 0, 0, 204, 0, - 0, 0, 0, 144, 0, 160, 110, 118, 84, 90, - 0, 109, 136, 149, 153, 0, 0, 0, 99, 0, - 151, 140, 173, 0, 141, 150, 122, 165, 145, 172, - 205, 180, 162, 179, 85, 161, 171, 97, 154, 87, - 169, 159, 128, 114, 115, 86, 0, 148, 102, 106, - 101, 137, 166, 167, 100, 188, 91, 178, 89, 92, - 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, - 117, 104, 111, 142, 124, 143, 112, 132, 131, 133, - 0, 0, 0, 158, 175, 189, 94, 0, 163, 181, - 182, 183, 184, 185, 0, 0, 95, 107, 134, 93, - 113, 155, 116, 123, 147, 187, 139, 152, 98, 174, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 138, 0, 0, 0, 805, 0, 0, 0, 83, 103, - 120, 186, 146, 105, 176, 119, 0, 121, 0, 0, - 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, - 0, 807, 0, 0, 0, 0, 0, 0, 96, 0, + 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, + 0, 205, 0, 0, 0, 0, 144, 0, 160, 110, + 118, 84, 90, 0, 109, 136, 149, 153, 0, 0, + 0, 99, 0, 151, 140, 173, 0, 141, 150, 122, + 165, 145, 172, 206, 180, 162, 179, 186, 85, 161, + 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, + 0, 148, 102, 106, 101, 137, 166, 167, 100, 189, + 91, 178, 89, 92, 177, 135, 164, 170, 129, 126, + 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, + 112, 132, 131, 133, 0, 0, 0, 158, 175, 190, + 94, 0, 163, 181, 182, 183, 184, 185, 0, 0, + 95, 107, 134, 93, 113, 155, 116, 123, 147, 188, + 139, 152, 98, 174, 156, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 138, 0, 0, 0, 807, 0, + 0, 0, 83, 103, 120, 187, 146, 105, 176, 119, + 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 203, 0, 809, 0, 0, 0, 0, + 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 108, 0, 0, 0, 204, 0, 0, - 0, 0, 144, 0, 160, 110, 118, 84, 90, 0, - 109, 136, 149, 153, 0, 0, 0, 99, 0, 151, - 140, 173, 0, 803, 150, 122, 165, 145, 172, 205, - 180, 162, 179, 85, 161, 171, 97, 154, 87, 169, - 159, 128, 114, 115, 86, 0, 148, 102, 106, 101, - 137, 166, 167, 100, 188, 91, 178, 89, 92, 177, - 135, 164, 170, 129, 126, 88, 168, 127, 125, 117, - 104, 111, 142, 124, 143, 112, 132, 131, 133, 0, - 0, 0, 158, 175, 189, 94, 0, 163, 181, 182, - 183, 184, 185, 0, 0, 95, 107, 134, 93, 113, - 155, 116, 123, 147, 187, 139, 152, 98, 174, 156, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, - 0, 0, 0, 0, 0, 0, 0, 83, 103, 120, - 186, 146, 105, 176, 119, 0, 121, 0, 0, 157, - 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, - 0, 707, 0, 0, 708, 0, 0, 96, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, + 0, 205, 0, 0, 0, 0, 144, 0, 160, 110, + 118, 84, 90, 0, 109, 136, 149, 153, 0, 0, + 0, 99, 0, 151, 140, 173, 0, 805, 150, 122, + 165, 145, 172, 206, 180, 162, 179, 186, 85, 161, + 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, + 0, 148, 102, 106, 101, 137, 166, 167, 100, 189, + 91, 178, 89, 92, 177, 135, 164, 170, 129, 126, + 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, + 112, 132, 131, 133, 0, 0, 0, 158, 175, 190, + 94, 0, 163, 181, 182, 183, 184, 185, 0, 0, + 95, 107, 134, 93, 113, 155, 116, 123, 147, 188, + 139, 152, 98, 174, 156, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, + 0, 0, 83, 103, 120, 187, 146, 105, 176, 119, + 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 81, 0, 0, 709, 0, 0, 710, + 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 108, 0, 0, 0, 204, 0, 0, 0, - 0, 144, 0, 160, 110, 118, 84, 90, 0, 109, - 136, 149, 153, 0, 0, 0, 99, 0, 151, 140, - 173, 0, 141, 150, 122, 165, 145, 172, 205, 180, - 162, 179, 85, 161, 171, 97, 154, 87, 169, 159, - 128, 114, 115, 86, 0, 148, 102, 106, 101, 137, - 166, 167, 100, 188, 91, 178, 89, 92, 177, 135, - 164, 170, 129, 126, 88, 168, 127, 125, 117, 104, - 111, 142, 124, 143, 112, 132, 131, 133, 0, 0, - 0, 158, 175, 189, 94, 0, 163, 181, 182, 183, - 184, 185, 0, 0, 95, 107, 134, 93, 113, 155, - 116, 123, 147, 187, 139, 152, 98, 174, 156, 0, + 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, + 0, 205, 0, 0, 0, 0, 144, 0, 160, 110, + 118, 84, 90, 0, 109, 136, 149, 153, 0, 0, + 0, 99, 0, 151, 140, 173, 0, 141, 150, 122, + 165, 145, 172, 206, 180, 162, 179, 186, 85, 161, + 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, + 0, 148, 102, 106, 101, 137, 166, 167, 100, 189, + 91, 178, 89, 92, 177, 135, 164, 170, 129, 126, + 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, + 112, 132, 131, 133, 0, 0, 0, 158, 175, 190, + 94, 0, 163, 181, 182, 183, 184, 185, 0, 0, + 95, 107, 134, 93, 113, 155, 116, 123, 147, 188, + 139, 152, 98, 174, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 138, 0, 83, 0, 120, 186, - 146, 105, 176, 103, 0, 604, 0, 0, 0, 119, - 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, + 138, 0, 83, 0, 120, 187, 146, 105, 176, 103, + 0, 606, 0, 0, 0, 119, 0, 121, 0, 0, + 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, + 0, 605, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 603, 0, 0, 0, 0, - 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, - 0, 204, 0, 0, 0, 0, 144, 0, 160, 110, - 118, 84, 90, 0, 109, 136, 149, 153, 0, 0, - 0, 99, 0, 151, 140, 173, 0, 141, 150, 122, - 165, 145, 172, 205, 180, 162, 179, 85, 161, 171, - 97, 154, 87, 169, 159, 128, 114, 115, 86, 0, - 148, 102, 106, 101, 137, 166, 167, 100, 188, 91, - 178, 89, 92, 177, 135, 164, 170, 129, 126, 88, - 168, 127, 125, 117, 104, 111, 142, 124, 143, 112, - 132, 131, 133, 0, 0, 0, 158, 175, 189, 94, - 0, 163, 181, 182, 183, 184, 185, 0, 0, 95, - 107, 134, 93, 113, 155, 116, 123, 147, 187, 139, - 152, 98, 174, 156, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, - 0, 83, 103, 120, 186, 146, 105, 176, 119, 0, - 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, - 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, - 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 108, 0, 0, 0, 205, 0, 0, + 0, 0, 144, 0, 160, 110, 118, 84, 90, 0, + 109, 136, 149, 153, 0, 0, 0, 99, 0, 151, + 140, 173, 0, 141, 150, 122, 165, 145, 172, 206, + 180, 162, 179, 186, 85, 161, 171, 97, 154, 87, + 169, 159, 128, 114, 115, 86, 0, 148, 102, 106, + 101, 137, 166, 167, 100, 189, 91, 178, 89, 92, + 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, + 117, 104, 111, 142, 124, 143, 112, 132, 131, 133, + 0, 0, 0, 158, 175, 190, 94, 0, 163, 181, + 182, 183, 184, 185, 0, 0, 95, 107, 134, 93, + 113, 155, 116, 123, 147, 188, 139, 152, 98, 174, + 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 138, 0, 0, 0, 0, 0, 0, 0, 83, 103, + 120, 187, 146, 105, 176, 119, 0, 121, 0, 0, + 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 54, 0, 0, 203, + 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, - 204, 0, 0, 0, 0, 144, 0, 160, 110, 118, - 84, 90, 0, 109, 136, 149, 153, 0, 0, 0, - 99, 0, 151, 140, 173, 0, 141, 150, 122, 165, - 145, 172, 205, 180, 162, 179, 85, 161, 171, 97, - 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, - 102, 106, 101, 137, 166, 167, 100, 188, 91, 178, - 89, 92, 177, 135, 164, 170, 129, 126, 88, 168, - 127, 125, 117, 104, 111, 142, 124, 143, 112, 132, - 131, 133, 0, 0, 0, 158, 175, 189, 94, 0, - 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, - 134, 93, 113, 155, 116, 123, 147, 187, 139, 152, - 98, 174, 156, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, - 83, 103, 120, 186, 146, 105, 176, 119, 0, 121, - 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 202, 0, 807, 0, 0, 0, 0, 0, 0, - 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 108, 0, 0, 0, 205, 0, 0, + 0, 0, 144, 0, 160, 110, 118, 84, 90, 0, + 109, 136, 149, 153, 0, 0, 0, 99, 0, 151, + 140, 173, 0, 141, 150, 122, 165, 145, 172, 206, + 180, 162, 179, 186, 85, 161, 171, 97, 154, 87, + 169, 159, 128, 114, 115, 86, 0, 148, 102, 106, + 101, 137, 166, 167, 100, 189, 91, 178, 89, 92, + 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, + 117, 104, 111, 142, 124, 143, 112, 132, 131, 133, + 0, 0, 0, 158, 175, 190, 94, 0, 163, 181, + 182, 183, 184, 185, 0, 0, 95, 107, 134, 93, + 113, 155, 116, 123, 147, 188, 139, 152, 98, 174, + 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 138, 0, 0, 0, 0, 0, 0, 0, 83, 103, + 120, 187, 146, 105, 176, 119, 0, 121, 0, 0, + 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, + 0, 809, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 108, 0, 0, 0, 204, - 0, 0, 0, 0, 144, 0, 160, 110, 118, 84, - 90, 0, 109, 136, 149, 153, 0, 0, 0, 99, - 0, 151, 140, 173, 0, 141, 150, 122, 165, 145, - 172, 205, 180, 162, 179, 85, 161, 171, 97, 154, - 87, 169, 159, 128, 114, 115, 86, 0, 148, 102, - 106, 101, 137, 166, 167, 100, 188, 91, 178, 89, - 92, 177, 135, 164, 170, 129, 126, 88, 168, 127, - 125, 117, 104, 111, 142, 124, 143, 112, 132, 131, - 133, 0, 0, 0, 158, 175, 189, 94, 0, 163, - 181, 182, 183, 184, 185, 0, 0, 95, 107, 134, - 93, 113, 155, 116, 123, 147, 187, 139, 152, 98, - 174, 156, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 138, 0, 0, 0, 0, 0, 0, 0, 83, - 103, 120, 186, 146, 105, 176, 119, 0, 121, 0, - 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 81, 0, 504, 0, 0, 0, 0, 0, 0, 96, + 0, 0, 0, 108, 0, 0, 0, 205, 0, 0, + 0, 0, 144, 0, 160, 110, 118, 84, 90, 0, + 109, 136, 149, 153, 0, 0, 0, 99, 0, 151, + 140, 173, 0, 141, 150, 122, 165, 145, 172, 206, + 180, 162, 179, 186, 85, 161, 171, 97, 154, 87, + 169, 159, 128, 114, 115, 86, 0, 148, 102, 106, + 101, 137, 166, 167, 100, 189, 91, 178, 89, 92, + 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, + 117, 104, 111, 142, 124, 143, 112, 132, 131, 133, + 0, 0, 0, 158, 175, 190, 94, 0, 163, 181, + 182, 183, 184, 185, 0, 0, 95, 107, 134, 93, + 113, 155, 116, 123, 147, 188, 139, 152, 98, 174, + 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 138, 0, 0, 0, 0, 0, 0, 0, 83, 103, + 120, 187, 146, 105, 176, 119, 0, 121, 0, 0, + 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, + 0, 506, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 108, 0, 0, 0, 204, 0, - 0, 0, 0, 144, 0, 160, 110, 118, 84, 90, - 0, 109, 136, 149, 153, 0, 0, 0, 99, 0, - 151, 140, 173, 0, 141, 150, 122, 165, 145, 172, - 205, 180, 162, 179, 85, 161, 171, 97, 154, 87, + 0, 0, 0, 108, 0, 0, 0, 205, 0, 0, + 0, 0, 144, 0, 160, 110, 118, 84, 90, 0, + 109, 136, 149, 153, 0, 0, 0, 99, 0, 151, + 140, 173, 0, 141, 150, 122, 165, 145, 172, 206, + 180, 162, 179, 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, 102, 106, - 101, 137, 166, 167, 100, 188, 91, 178, 89, 92, + 101, 137, 166, 167, 100, 189, 91, 178, 89, 92, 177, 135, 164, 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, 112, 132, 131, 133, - 0, 0, 0, 158, 175, 189, 94, 0, 163, 181, + 0, 0, 0, 158, 175, 190, 94, 0, 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, 134, 93, - 113, 155, 116, 123, 147, 187, 139, 152, 98, 174, + 113, 155, 116, 123, 147, 188, 139, 152, 98, 174, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 83, 0, - 120, 186, 146, 105, 176, 577, 103, 0, 0, 0, + 120, 187, 146, 105, 176, 579, 103, 0, 0, 0, 0, 0, 119, 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 202, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 108, 0, 0, 0, 204, 0, 0, 0, 0, 144, + 108, 0, 0, 0, 205, 0, 0, 0, 0, 144, 0, 160, 110, 118, 84, 90, 0, 109, 136, 149, 153, 0, 0, 0, 99, 0, 151, 140, 173, 0, - 141, 150, 122, 165, 145, 172, 205, 180, 162, 179, - 85, 161, 171, 97, 154, 87, 169, 159, 128, 114, - 115, 86, 0, 148, 102, 106, 101, 137, 166, 167, - 100, 188, 91, 178, 89, 92, 177, 135, 164, 170, - 129, 126, 88, 168, 127, 125, 117, 104, 111, 142, - 124, 143, 112, 132, 131, 133, 0, 0, 0, 158, - 175, 189, 94, 0, 163, 181, 182, 183, 184, 185, - 0, 0, 95, 107, 134, 93, 113, 155, 116, 123, - 147, 187, 139, 152, 98, 174, 156, 0, 0, 317, - 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, - 0, 0, 0, 0, 83, 103, 120, 186, 146, 105, - 176, 119, 0, 121, 0, 0, 157, 130, 0, 0, + 141, 150, 122, 165, 145, 172, 206, 180, 162, 179, + 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, + 114, 115, 86, 0, 148, 102, 106, 101, 137, 166, + 167, 100, 189, 91, 178, 89, 92, 177, 135, 164, + 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, + 142, 124, 143, 112, 132, 131, 133, 0, 0, 0, + 158, 175, 190, 94, 0, 163, 181, 182, 183, 184, + 185, 0, 0, 95, 107, 134, 93, 113, 155, 116, + 123, 147, 188, 139, 152, 98, 174, 156, 0, 0, + 319, 0, 0, 0, 0, 0, 0, 138, 0, 0, + 0, 0, 0, 0, 0, 83, 103, 120, 187, 146, + 105, 176, 119, 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 202, 0, 0, 0, 0, - 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, + 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, - 0, 0, 0, 204, 0, 0, 0, 0, 144, 0, - 160, 110, 118, 84, 90, 0, 109, 136, 149, 153, - 0, 0, 0, 99, 0, 151, 140, 173, 0, 141, - 150, 122, 165, 145, 172, 205, 180, 162, 179, 85, - 161, 171, 97, 154, 87, 169, 159, 128, 114, 115, - 86, 0, 148, 102, 106, 101, 137, 166, 167, 100, - 188, 91, 178, 89, 92, 177, 135, 164, 170, 129, - 126, 88, 168, 127, 125, 117, 104, 111, 142, 124, - 143, 112, 132, 131, 133, 0, 0, 0, 158, 175, - 189, 94, 0, 163, 181, 182, 183, 184, 185, 0, - 0, 95, 107, 134, 93, 113, 155, 116, 123, 147, - 187, 139, 152, 98, 174, 156, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, - 0, 0, 0, 83, 103, 120, 186, 146, 105, 176, - 119, 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 202, 0, 0, 0, 0, 0, - 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, + 108, 0, 0, 0, 205, 0, 0, 0, 0, 144, + 0, 160, 110, 118, 84, 90, 0, 109, 136, 149, + 153, 0, 0, 0, 99, 0, 151, 140, 173, 0, + 141, 150, 122, 165, 145, 172, 206, 180, 162, 179, + 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, + 114, 115, 86, 0, 148, 102, 106, 101, 137, 166, + 167, 100, 189, 91, 178, 89, 92, 177, 135, 164, + 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, + 142, 124, 143, 112, 132, 131, 133, 0, 0, 0, + 158, 175, 190, 94, 0, 163, 181, 182, 183, 184, + 185, 0, 0, 95, 107, 134, 93, 113, 155, 116, + 123, 147, 188, 139, 152, 98, 174, 156, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, + 0, 0, 0, 0, 0, 83, 103, 120, 187, 146, + 105, 176, 119, 0, 121, 0, 0, 157, 130, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, + 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 108, 0, - 199, 0, 204, 0, 0, 0, 0, 144, 0, 160, - 110, 118, 84, 90, 0, 109, 136, 149, 153, 0, - 0, 0, 99, 0, 151, 140, 173, 0, 141, 150, - 122, 165, 145, 172, 205, 180, 162, 179, 85, 161, - 171, 97, 154, 87, 169, 159, 128, 114, 115, 86, - 0, 148, 102, 106, 101, 137, 166, 167, 100, 188, - 91, 178, 89, 92, 177, 135, 164, 170, 129, 126, - 88, 168, 127, 125, 117, 104, 111, 142, 124, 143, - 112, 132, 131, 133, 0, 0, 0, 158, 175, 189, - 94, 0, 163, 181, 182, 183, 184, 185, 0, 0, - 95, 107, 134, 93, 113, 155, 116, 123, 147, 187, - 139, 152, 98, 174, 156, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, - 0, 0, 83, 103, 120, 186, 146, 105, 176, 119, - 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, + 108, 0, 200, 0, 205, 0, 0, 0, 0, 144, + 0, 160, 110, 118, 84, 90, 0, 109, 136, 149, + 153, 0, 0, 0, 99, 0, 151, 140, 173, 0, + 141, 150, 122, 165, 145, 172, 206, 180, 162, 179, + 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, + 114, 115, 86, 0, 148, 102, 106, 101, 137, 166, + 167, 100, 189, 91, 178, 89, 92, 177, 135, 164, + 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, + 142, 124, 143, 112, 132, 131, 133, 0, 0, 0, + 158, 175, 190, 94, 0, 163, 181, 182, 183, 184, + 185, 0, 0, 95, 107, 134, 93, 113, 155, 116, + 123, 147, 188, 139, 152, 98, 174, 156, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, + 0, 0, 0, 0, 0, 83, 103, 120, 187, 146, + 105, 176, 119, 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, - 0, 204, 0, 0, 0, 0, 144, 0, 160, 110, - 118, 84, 90, 0, 109, 136, 149, 153, 0, 0, - 0, 99, 0, 151, 140, 173, 0, 141, 150, 122, - 165, 145, 172, 205, 180, 162, 179, 85, 161, 171, - 97, 154, 87, 169, 159, 128, 114, 115, 86, 0, - 148, 102, 106, 101, 137, 166, 167, 100, 188, 91, - 178, 89, 92, 177, 135, 164, 170, 129, 126, 88, - 168, 127, 125, 117, 104, 111, 142, 124, 143, 112, - 132, 131, 133, 0, 0, 0, 158, 175, 189, 94, - 0, 163, 181, 182, 183, 184, 185, 0, 0, 95, - 107, 134, 93, 113, 155, 116, 123, 147, 187, 139, - 152, 98, 174, 156, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, - 0, 83, 103, 120, 186, 146, 105, 176, 119, 0, - 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, - 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, + 108, 0, 0, 0, 205, 0, 0, 0, 0, 144, + 0, 160, 110, 118, 84, 90, 0, 109, 136, 149, + 153, 0, 0, 0, 99, 0, 151, 140, 173, 0, + 141, 150, 122, 165, 145, 172, 206, 180, 162, 179, + 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, + 114, 115, 86, 0, 148, 102, 106, 101, 137, 166, + 167, 100, 189, 91, 178, 89, 92, 177, 135, 164, + 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, + 142, 124, 143, 112, 132, 131, 133, 0, 0, 0, + 158, 175, 190, 94, 0, 163, 181, 182, 183, 184, + 185, 0, 0, 95, 107, 134, 93, 113, 155, 116, + 123, 147, 188, 139, 152, 98, 174, 156, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, + 0, 0, 0, 0, 0, 83, 103, 120, 187, 146, + 105, 176, 119, 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, + 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, - 204, 0, 0, 0, 0, 144, 0, 160, 110, 118, - 84, 90, 0, 109, 136, 149, 153, 0, 0, 0, - 99, 0, 151, 140, 173, 0, 141, 150, 122, 165, - 145, 172, 205, 180, 162, 179, 85, 161, 171, 97, - 154, 87, 169, 159, 128, 114, 115, 86, 0, 148, - 102, 106, 101, 137, 166, 167, 100, 188, 91, 178, - 89, 92, 177, 135, 164, 170, 129, 126, 88, 168, - 127, 125, 117, 104, 111, 142, 124, 143, 112, 132, - 131, 133, 0, 0, 0, 158, 175, 189, 94, 0, - 163, 181, 182, 183, 184, 185, 0, 0, 95, 107, - 134, 93, 113, 155, 116, 123, 147, 187, 139, 152, - 98, 174, 156, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, - 83, 103, 120, 186, 146, 105, 176, 119, 0, 121, - 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, - 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 108, 0, 0, 0, 205, 0, 0, 0, 0, 144, + 0, 160, 110, 118, 84, 90, 0, 109, 136, 149, + 153, 0, 0, 0, 99, 0, 151, 140, 173, 0, + 141, 150, 122, 165, 145, 172, 206, 180, 162, 179, + 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, + 114, 115, 86, 0, 148, 102, 106, 101, 137, 166, + 167, 100, 189, 91, 178, 89, 92, 177, 135, 164, + 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, + 142, 124, 143, 112, 132, 131, 133, 0, 0, 0, + 158, 175, 190, 94, 0, 163, 181, 182, 183, 184, + 185, 0, 0, 95, 107, 134, 93, 113, 155, 116, + 123, 147, 188, 139, 152, 98, 174, 156, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, + 0, 0, 0, 0, 0, 83, 103, 120, 187, 146, + 105, 176, 119, 0, 121, 0, 0, 157, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, + 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 108, 0, 0, 0, 204, - 0, 0, 0, 0, 144, 0, 160, 110, 118, 84, - 90, 0, 109, 136, 149, 153, 0, 0, 0, 99, - 0, 151, 140, 173, 0, 141, 150, 122, 165, 145, - 172, 205, 180, 162, 179, 85, 161, 171, 97, 154, - 87, 169, 159, 128, 114, 115, 86, 0, 148, 102, - 106, 101, 137, 166, 167, 100, 188, 91, 178, 89, - 92, 177, 135, 164, 170, 129, 126, 88, 168, 127, - 125, 117, 104, 111, 142, 124, 143, 112, 132, 131, - 133, 0, 0, 0, 158, 175, 189, 94, 0, 163, - 181, 182, 183, 184, 185, 0, 0, 95, 107, 134, - 93, 113, 155, 116, 123, 147, 187, 139, 152, 98, - 174, 156, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, - 0, 120, 186, 146, 105, 176, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 108, 0, 0, 0, 205, 0, 0, 0, 0, 144, + 0, 160, 110, 118, 84, 90, 0, 109, 136, 149, + 153, 0, 0, 0, 99, 0, 151, 140, 173, 0, + 141, 150, 122, 165, 145, 172, 206, 180, 162, 179, + 186, 85, 161, 171, 97, 154, 87, 169, 159, 128, + 114, 115, 86, 0, 148, 102, 106, 101, 137, 166, + 167, 100, 189, 91, 178, 89, 92, 177, 135, 164, + 170, 129, 126, 88, 168, 127, 125, 117, 104, 111, + 142, 124, 143, 112, 132, 131, 133, 0, 0, 0, + 158, 175, 190, 94, 0, 163, 181, 182, 183, 184, + 185, 0, 0, 95, 107, 134, 93, 113, 155, 116, + 123, 147, 188, 139, 152, 98, 174, 156, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 83, 0, 120, 187, 146, + 105, 176, } var yyPact = [...]int{ - 1826, -1000, -179, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 117, -1000, -184, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 914, 944, -1000, -1000, -1000, -1000, -1000, -1000, + 209, 7564, 72, 87, 28, 10349, 86, 1505, 10809, -1000, + -4, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -75, -100, + -1000, 710, -1000, -1000, -1000, -1000, -1000, 908, 911, 757, + 900, 804, -1000, 6124, 60, 60, 10119, 5144, -1000, -1000, + 335, 10809, 82, 10809, -155, 10579, 57, 57, 57, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 828, 878, -1000, -1000, -1000, -1000, -1000, -1000, - 198, 7464, 83, 101, 0, 10237, 98, 1325, 10695, -1000, - 1, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -89, -95, - -1000, 639, -1000, -1000, -1000, -1000, -1000, 819, 826, 668, - 813, 730, -1000, 5810, 63, 63, 10008, 5078, -1000, -1000, - 203, 10695, 95, 10695, -149, 10466, 57, 57, 57, -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, @@ -1840,23 +1856,22 @@ 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, 84, 10809, -1000, 10809, 56, 556, 56, 56, 56, + 10809, -1000, 125, -1000, -1000, -1000, -1000, 10809, 548, 856, + 63, 3080, 3080, 3080, 3080, 5, 3080, -62, 754, 923, + -1000, -1000, -1000, -1000, -1000, -1000, 3080, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 490, 864, 6617, 6617, 914, -1000, 710, -1000, -1000, -1000, + 828, -1000, -1000, 280, 933, -1000, 7334, 119, -1000, 6617, + 1686, 712, -1000, -1000, 712, -1000, -1000, 107, -1000, -1000, + 7089, 7089, 7089, 7089, 7089, 7089, 7089, 7089, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 97, 10695, -1000, 10695, 56, 539, 56, 56, 56, 10695, - -1000, 129, -1000, -1000, -1000, -1000, 10695, 538, 777, 42, - 3022, 3022, 3022, 3022, 9, 3022, -88, 691, 854, -1000, - -1000, -1000, -1000, -1000, 3022, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 453, 781, - 6301, 6301, 828, -1000, 639, -1000, -1000, -1000, 756, -1000, - -1000, 245, 857, -1000, 7235, 128, -1000, 6301, 1571, 611, - -1000, -1000, 611, -1000, -1000, 113, -1000, -1000, 6771, 6771, - 6771, 6771, 6771, 6771, 6771, 6771, -1000, -1000, -1000, -1000, + -1000, -1000, 712, -1000, 6372, 712, 712, 712, 712, 712, + 712, 712, 712, 6617, 712, 712, 712, 712, 712, 712, + 712, 712, 712, 712, 712, 712, 712, 9889, 9192, 10809, + 675, -1000, 679, 4886, -113, -1000, -1000, -1000, 215, 8962, + -1000, -1000, -1000, 855, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 611, -1000, 6057, 611, 611, 611, 611, 611, 611, 611, - 611, 6301, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 9779, 9085, 10695, 568, -1000, - 602, 4821, -127, -1000, -1000, -1000, 196, 8856, -1000, -1000, - -1000, 775, -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, -1000, -1000, @@ -1864,125 +1879,125 @@ 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, -1000, -1000, 591, 10809, + -1000, 1915, -1000, 540, 3080, 75, 650, 534, 251, 533, + 10809, 10809, 3080, 66, 10809, 893, 750, 10809, 509, 480, + -1000, 4628, -1000, 3080, 3080, 3080, 3080, 3080, 3080, 3080, + 3080, -1000, -1000, -1000, -1000, -1000, -1000, 3080, 3080, -1000, + 925, 293, -1000, -1000, -1000, -1000, 10809, 6617, -1000, -1000, + -1000, -1000, -1000, -1000, 939, 160, 495, 118, 704, -1000, + 425, 908, 490, 804, 8726, 764, -1000, -1000, 10809, -1000, + 6617, 6617, 466, -1000, 9652, -1000, -1000, 3596, 167, 7089, + 365, 346, 7089, 7089, 7089, 7089, 7089, 7089, 7089, 7089, + 7089, 7089, 7089, 7089, 7089, 7089, 7089, 449, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 471, -1000, 710, 1065, + 1065, 144, 144, 144, 144, 144, 144, 144, 2306, 5634, + 490, 589, 413, 6372, 6124, 6124, 6617, 6617, 11039, 11039, + 6124, 901, 229, 413, 11039, -1000, 490, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 6124, 6124, 6124, 6124, 27, 10809, + -1000, 665, 1107, -1000, -1000, -1000, 895, 8266, 8496, 27, + 632, 9192, 10809, -1000, -1000, 4370, 679, -113, 653, -1000, + -127, -131, 5389, 122, -1000, -1000, -1000, -1000, 2822, 294, + 619, 323, -67, -1000, -1000, -1000, 720, -1000, 720, 720, + 720, 720, -30, -30, -30, -30, -1000, -1000, -1000, -1000, + -1000, 734, 733, -1000, 720, 720, 720, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 537, 10695, -1000, 1859, - -1000, 515, 3022, 78, 616, 507, 216, 504, 10695, 10695, - 3022, 69, 10695, 803, 690, 10695, 455, 454, -1000, 4564, - -1000, 3022, 3022, 3022, 3022, 3022, 3022, 3022, 3022, -1000, - -1000, -1000, -1000, -1000, -1000, 3022, 3022, -1000, 851, 243, - -1000, -1000, -1000, -1000, 10695, 6301, -1000, -1000, -1000, -1000, - -1000, -1000, 870, 158, 451, 126, 606, -1000, 358, 819, - 453, 730, 8621, 661, -1000, -1000, 10695, -1000, 6301, 6301, - 394, -1000, 9543, -1000, -1000, 3536, 170, 6771, 332, 177, - 6771, 6771, 6771, 6771, 6771, 6771, 6771, 6771, 6771, 6771, - 6771, 6771, 6771, 6771, 6771, 370, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 447, -1000, 639, 889, 889, 142, - 142, 142, 142, 142, 142, 142, 7006, 5322, 453, 533, - 353, 6057, 5810, 5810, 6301, 6301, 10924, 10924, 5810, 814, - 206, 353, 10924, -1000, 453, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 5810, 5810, 5810, 5810, 23, 10695, -1000, 585, - 875, -1000, -1000, -1000, 805, 8163, 8392, 23, 569, 9085, - 10695, -1000, -1000, 4307, 602, -127, 598, -1000, -119, -114, - 2251, 141, -1000, -1000, -1000, -1000, 2765, 201, 555, 255, - -72, -1000, -1000, -1000, 641, -1000, 641, 641, 641, 641, - -27, -27, -27, -27, -1000, -1000, -1000, -1000, -1000, 672, - 655, -1000, 641, 641, 641, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 730, 730, 730, 723, 723, 708, -1000, + 10809, -174, 469, 3080, 880, 3080, -1000, 1225, -1000, 10809, + -1000, -1000, 10809, 3080, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 10809, + 199, 10809, 10809, -1000, 413, -1000, 793, 6617, 6617, 4112, + 6617, -1000, -1000, -1000, 864, -1000, 901, 912, -1000, 825, + 824, 6124, -1000, -1000, 167, 254, -1000, -1000, 424, -1000, + -1000, -1000, -1000, 116, 712, -1000, 1808, -1000, -1000, -1000, + -1000, 365, 7089, 7089, 7089, 146, 1808, 1793, 641, 1866, + 144, 363, 363, 165, 165, 165, 165, 165, 237, 237, + -1000, -1000, -1000, 490, -1000, -1000, -1000, 490, 6124, 666, + -1000, -1000, 6617, -1000, 490, 578, 578, 418, 411, 707, + -1000, 114, 694, 578, 6124, 272, -1000, 6617, 490, -1000, + 578, 490, 578, 578, 642, 712, -1000, 11039, 9192, 9192, + 9192, 9192, 9192, -1000, 780, 774, -1000, 783, 768, 827, + 10809, -1000, 580, 8266, 140, 712, -1000, 9422, -1000, -1000, + 922, 9192, 657, -1000, -1000, 653, -113, -120, -1000, -1000, + -1000, -1000, 413, -1000, 452, 652, 2564, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 725, 455, -1000, 872, 170, 197, + 453, 871, -1000, -1000, -1000, 862, -1000, 261, -69, -1000, + -1000, 391, -30, -30, -1000, -1000, 122, 847, 122, 122, + 122, 442, 442, -1000, -1000, -1000, -1000, 380, -1000, -1000, + -1000, 361, -1000, 748, 10579, 3080, -1000, 3854, -1000, -1000, + -1000, -1000, -1000, -1000, 1326, 781, 174, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26, -1000, + 3080, -1000, 293, -1000, 429, 6617, -1000, -1000, 787, 413, + 413, 112, -1000, -1000, 10809, -1000, -1000, -1000, -1000, 677, + -1000, -1000, -1000, 3338, 6124, -1000, 146, 1808, 1726, -1000, + 7089, 7089, -1000, -1000, 578, 6124, 413, -1000, -1000, -1000, + 535, 449, 535, 7089, 7089, 4112, 7089, 7089, -166, 676, + 224, -1000, 6617, 355, -1000, -1000, -1000, -1000, -1000, 747, + 11039, 712, -1000, 8030, 10579, 659, -1000, 205, 1107, 729, + 746, 1207, -1000, -1000, -1000, -1000, 772, -1000, 771, -1000, + -1000, -1000, -1000, -1000, 81, 80, 79, 10579, -1000, 914, + 6617, 657, -1000, -1000, -1000, -137, -136, -1000, -1000, -1000, + 2822, -1000, 2822, 10579, 41, -1000, 453, 453, -1000, -1000, + -1000, 724, 745, 38, -1000, -1000, -1000, 611, 122, 122, + -1000, 198, -1000, -1000, -1000, 576, -1000, 562, 651, 552, + 10809, -1000, -1000, 649, -1000, 188, -1000, -1000, 10579, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 652, 652, 652, 645, 645, 625, -1000, 10695, -166, - 417, 3022, 801, 3022, -1000, 71, -1000, 10695, -1000, -1000, - 10695, 3022, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 10695, 244, 10695, - 10695, -1000, 353, -1000, 737, 6301, 6301, 4050, 6301, -1000, - -1000, -1000, 781, -1000, 814, 850, -1000, 764, 763, 5810, - -1000, -1000, 170, 231, -1000, -1000, 368, -1000, -1000, -1000, - -1000, 124, 611, -1000, 2030, -1000, -1000, -1000, -1000, 332, - 6771, 6771, 6771, 315, 2030, 1827, 1520, 1470, 142, 679, - 679, 139, 139, 139, 139, 139, 456, 456, -1000, -1000, - -1000, 453, -1000, -1000, -1000, 453, 5810, 601, -1000, -1000, - 6301, -1000, 453, 527, 527, 254, 362, 637, -1000, 122, - 626, 527, 5810, 262, -1000, 6301, 453, -1000, 527, 453, - 527, 527, 516, 611, -1000, 10924, 9085, 9085, 9085, 9085, - 9085, -1000, 725, 721, -1000, 719, 718, 706, 10695, -1000, - 529, 8163, 155, 611, -1000, 9314, -1000, -1000, 852, 9085, - 605, -1000, -1000, 598, -127, -76, -1000, -1000, -1000, -1000, - 353, -1000, 413, 595, 2508, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 651, 414, -1000, 793, 189, 187, 408, 792, - -1000, -1000, -1000, 779, -1000, 227, -74, -1000, -1000, 334, - -27, -27, -1000, -1000, 141, 773, 141, 141, 141, 389, - 389, -1000, -1000, -1000, -1000, 325, -1000, -1000, -1000, 317, - -1000, 689, 10466, 3022, -1000, 3793, -1000, -1000, -1000, -1000, - -1000, -1000, 1425, 1357, 174, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 22, -1000, 3022, -1000, - 243, -1000, 386, 6301, -1000, -1000, 735, 353, 353, 120, - -1000, -1000, 10695, -1000, -1000, -1000, -1000, 615, -1000, -1000, - -1000, 3279, 5810, -1000, 315, 2030, 1811, -1000, 6771, 6771, - -1000, -1000, 527, 5810, 353, -1000, -1000, -1000, 54, 370, - 54, 6771, 6771, 4050, 6771, 6771, -160, 624, 199, -1000, - 6301, 274, -1000, -1000, -1000, -1000, -1000, 687, 10924, 611, - -1000, 7928, 10466, 608, -1000, 194, 875, 650, 686, 1016, - -1000, -1000, -1000, -1000, 710, -1000, 707, -1000, -1000, -1000, - -1000, -1000, 94, 85, 80, 10466, -1000, 828, 6301, 605, - -1000, -1000, -1000, -125, -121, -1000, -1000, -1000, 2765, -1000, - 2765, 10466, 40, -1000, 408, 408, -1000, -1000, -1000, 646, - 685, 49, -1000, -1000, -1000, 545, 141, 141, -1000, 188, - -1000, -1000, -1000, 519, -1000, 512, 594, 487, 10695, -1000, - -1000, 591, -1000, 181, -1000, -1000, 10466, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 10466, - 10695, -1000, -1000, -1000, -1000, -1000, 10466, -1000, 244, -1000, - 353, -1000, 3793, -1000, 852, 9085, -1000, -1000, 453, -1000, - 6771, 2030, 2030, -1000, -1000, 453, 641, 641, -1000, 641, - 645, -1000, 641, -8, 641, -11, 453, 453, 1625, 1677, - -1000, 1266, 617, 611, -156, -1000, 353, 6301, -1000, 782, - 551, 588, -1000, -1000, 5566, 453, 483, 118, 480, -1000, - 828, 10924, 6301, -1000, -1000, 6301, 643, -1000, 6301, -1000, - -1000, -1000, 611, 611, 611, 480, 819, 353, -1000, -1000, - -1000, -1000, 2508, -1000, 476, -1000, 641, -1000, -1000, -1000, - 10466, -68, 868, -1000, -1000, -1000, -1000, 640, -1000, -1000, - -1000, -1000, -1000, -1000, -27, 373, -27, 290, -1000, 288, - 3022, 3793, 2765, -1000, 628, -1000, -1000, -1000, -1000, 796, - -1000, 846, 589, -1000, 2030, -1000, -1000, 99, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6771, 6771, -1000, - 6771, 6771, 6771, 453, 365, 353, 786, -1000, 611, -1000, - -1000, 604, 10466, 10466, -1000, 10466, 819, -1000, 353, 353, - 10466, 353, 10466, 10466, 10466, 7693, -1000, 127, 10466, -1000, - 474, -1000, 173, -1000, -137, 544, 141, -1000, 141, 543, - 541, -1000, -1000, -1000, 10466, 611, 841, 824, -1000, -1000, - 388, 388, 388, 388, 50, -1000, -1000, 863, -1000, 611, - -1000, 639, 116, -1000, -1000, -1000, 452, 445, 445, 445, - 155, 127, -1000, 392, 180, 340, -1000, 36, 10466, 275, - 785, -1000, 783, 619, -1000, -1000, -1000, -1000, -1000, 443, - 20, -1000, 6301, 6301, -1000, -1000, -1000, -1000, 453, 45, - -169, 10924, 588, 453, 10466, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 284, -1000, -1000, 10695, -1000, -1000, 339, -1000, - -1000, 520, 616, 423, -1000, 10466, 353, 580, -1000, 733, - -164, -173, 564, -1000, -1000, -1000, 613, -1000, -1000, -166, - -1000, 20, 762, -1000, 729, -1000, 10466, -1000, -1000, 17, - -167, 421, 12, -170, 684, 611, -176, 675, -1000, 872, - 6536, -1000, -1000, 861, 153, 153, 388, 453, -1000, -1000, - -1000, 51, 322, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 10579, 10809, -1000, -1000, -1000, -1000, -1000, 10579, -1000, + 199, -1000, 413, -1000, 3854, -1000, 922, 9192, -1000, -1000, + 490, -1000, 7089, 1808, 1808, -1000, -1000, 490, 720, 720, + -1000, 720, 723, -1000, 720, -13, 720, -14, 490, 490, + 1614, 1073, -1000, 1411, 313, 712, -163, -1000, 413, 6617, + -1000, 875, 629, 643, -1000, -1000, 5879, 490, 547, 111, + 539, -1000, 914, 11039, 6617, -1000, -1000, 6617, 722, -1000, + 6617, -1000, -1000, -1000, 712, 712, 712, 539, 908, 413, + -1000, -1000, -1000, -1000, 2564, -1000, 530, -1000, 720, -1000, + -1000, -1000, 10579, -54, 937, -1000, -1000, -1000, -1000, 716, + -1000, -1000, -1000, -1000, -1000, -1000, -30, 428, -30, 333, + -1000, 319, 3080, 3854, 2822, -1000, 715, -1000, -1000, -1000, + -1000, 866, -1000, 920, 646, -1000, 1808, -1000, -1000, 99, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 7089, + 7089, -1000, 7089, 7089, 7089, 490, 421, 413, 870, -1000, + 712, -1000, -1000, 648, 10579, 10579, -1000, 10579, 908, -1000, + 413, 413, 10579, 413, 10579, 10579, 10579, 7794, -1000, 128, + 10579, -1000, 523, -1000, 155, -1000, -145, 596, 122, -1000, + 122, 595, 566, -1000, -1000, -1000, 10579, 712, 916, 910, + -1000, -1000, 1538, 1538, 1538, 1538, 36, -1000, -1000, 936, + -1000, 712, -1000, 710, 104, -1000, -1000, -1000, 519, 517, + 517, 517, 140, 128, -1000, 415, 176, 416, -1000, 40, + 10579, 276, 868, -1000, 865, 714, -1000, -1000, -1000, -1000, + -1000, 489, 19, -1000, 6617, 6617, -1000, -1000, -1000, -1000, + 490, 39, -177, 11039, 643, 490, 10579, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 289, -1000, -1000, 10809, -1000, -1000, + 336, -1000, -1000, 531, 650, 487, -1000, 10579, 413, 639, + -1000, 785, -171, -180, 634, -1000, -1000, -1000, 713, -1000, + -1000, -174, -1000, 19, 803, -1000, 784, -1000, 10579, -1000, + -1000, 15, -175, 468, 12, -178, 744, 712, -181, 742, + -1000, 930, 6853, -1000, -1000, 932, 192, 192, 1538, 490, + -1000, -1000, -1000, 47, 410, -1000, -1000, -1000, -1000, -1000, + -1000, } var yyPgo = [...]int{ - 0, 1146, 21, 420, 1144, 1143, 1142, 1139, 1136, 1132, - 1131, 1130, 1129, 1126, 1125, 1122, 1121, 1115, 1113, 1112, - 1111, 1110, 1108, 1106, 1104, 103, 1103, 1099, 1098, 65, - 1097, 70, 1096, 1095, 44, 181, 38, 43, 701, 1092, - 19, 88, 69, 1091, 37, 1090, 1087, 77, 1084, 48, - 1082, 1081, 105, 1079, 1078, 10, 42, 1077, 1076, 1075, - 1073, 66, 769, 1071, 1056, 1055, 1054, 1048, 1035, 55, - 12, 11, 25, 18, 1034, 28, 8, 1027, 57, 1026, - 1024, 1022, 1019, 40, 1017, 63, 1016, 20, 56, 1015, - 15, 64, 27, 23, 9, 75, 59, 1014, 16, 60, - 52, 1012, 1011, 460, 1010, 1009, 45, 1005, 1004, 29, - 182, 314, 1000, 998, 997, 996, 46, 0, 473, 247, - 78, 995, 993, 992, 1312, 71, 50, 17, 991, 34, - 175, 33, 989, 987, 31, 984, 982, 981, 980, 978, - 975, 974, 112, 971, 970, 965, 53, 35, 964, 958, - 54, 24, 955, 953, 944, 47, 58, 941, 937, 51, - 41, 936, 934, 915, 912, 911, 26, 7, 910, 13, - 909, 6, 907, 30, 903, 3, 901, 14, 900, 4, - 898, 5, 49, 1, 897, 2, 896, 895, 61, 337, - 885, 884, 96, + 0, 1241, 44, 481, 1239, 1236, 1235, 1227, 1226, 1211, + 1210, 1209, 1207, 1203, 1201, 1200, 1199, 1197, 1195, 1194, + 1190, 1185, 1184, 1183, 1182, 146, 1181, 1162, 1161, 59, + 1160, 77, 1158, 1148, 41, 122, 86, 43, 894, 1146, + 27, 71, 89, 1145, 33, 1144, 1142, 78, 1141, 55, + 1136, 1122, 281, 1121, 1120, 10, 23, 1119, 1116, 1115, + 1113, 70, 38, 1112, 1110, 1109, 1108, 1106, 1094, 53, + 7, 9, 22, 18, 1091, 28, 17, 1089, 52, 1086, + 1085, 1084, 1083, 26, 1082, 56, 1081, 11, 51, 1079, + 30, 60, 31, 15, 6, 66, 65, 1078, 16, 69, + 49, 1077, 1076, 381, 1063, 1062, 40, 1061, 1058, 19, + 189, 453, 1054, 1051, 1050, 1049, 75, 0, 538, 479, + 64, 1047, 1042, 1041, 1366, 73, 48, 12, 1040, 63, + 169, 35, 1038, 1035, 37, 1034, 1032, 1030, 1028, 1027, + 1024, 1022, 20, 1020, 1018, 1017, 34, 47, 1014, 1013, + 54, 21, 1012, 1010, 1009, 46, 58, 1002, 1000, 50, + 29, 991, 990, 975, 974, 972, 25, 57, 966, 13, + 963, 8, 961, 24, 960, 3, 959, 14, 958, 4, + 957, 5, 42, 1, 956, 2, 955, 953, 61, 290, + 952, 950, 92, } var yyR1 = [...]int{ @@ -2013,42 +2028,42 @@ var yyR1 = [...]int{ 174, 175, 175, 13, 14, 14, 14, 14, 14, 15, 15, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 107, - 107, 105, 105, 108, 108, 106, 106, 106, 109, 109, - 109, 133, 133, 133, 20, 20, 22, 22, 23, 24, - 21, 21, 21, 21, 21, 21, 21, 16, 191, 25, - 26, 26, 27, 27, 27, 31, 31, 31, 29, 29, - 30, 30, 36, 36, 35, 35, 37, 37, 37, 37, - 121, 121, 121, 120, 120, 39, 39, 40, 40, 41, - 41, 42, 42, 42, 42, 54, 54, 90, 90, 92, - 92, 43, 43, 43, 43, 44, 44, 45, 45, 46, - 46, 128, 128, 127, 127, 127, 126, 126, 48, 48, - 48, 50, 49, 49, 49, 49, 51, 51, 53, 53, - 52, 52, 55, 55, 55, 55, 56, 56, 38, 38, - 38, 38, 38, 38, 38, 104, 104, 58, 58, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 68, - 68, 68, 68, 68, 68, 59, 59, 59, 59, 59, - 59, 59, 34, 34, 69, 69, 69, 75, 70, 70, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 107, 107, 105, 105, 108, 108, 106, 106, 106, 109, + 109, 109, 133, 133, 133, 20, 20, 22, 22, 23, + 24, 21, 21, 21, 21, 21, 21, 21, 16, 191, + 25, 26, 26, 27, 27, 27, 31, 31, 31, 29, + 29, 30, 30, 36, 36, 35, 35, 37, 37, 37, + 37, 121, 121, 121, 120, 120, 39, 39, 40, 40, + 41, 41, 42, 42, 42, 42, 54, 54, 90, 90, + 92, 92, 43, 43, 43, 43, 44, 44, 45, 45, + 46, 46, 128, 128, 127, 127, 127, 126, 126, 48, + 48, 48, 50, 49, 49, 49, 49, 51, 51, 53, + 53, 52, 52, 55, 55, 55, 55, 56, 56, 38, + 38, 38, 38, 38, 38, 38, 104, 104, 58, 58, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 68, 68, 68, 68, 68, 68, 59, 59, 59, 59, + 59, 59, 59, 34, 34, 69, 69, 69, 75, 70, + 70, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 66, 66, 66, 64, 64, 64, 64, 64, + 62, 62, 62, 66, 66, 66, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 65, 65, 65, 65, 65, 65, 65, 65, 192, 192, - 67, 67, 67, 67, 32, 32, 32, 32, 32, 131, - 131, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 79, 79, 33, 33, 77, 77, - 78, 80, 80, 76, 76, 76, 61, 61, 61, 61, - 61, 61, 61, 61, 63, 63, 63, 81, 81, 82, - 82, 83, 83, 84, 84, 85, 86, 86, 86, 87, - 87, 87, 87, 88, 88, 88, 60, 60, 60, 60, - 60, 60, 89, 89, 89, 89, 93, 93, 71, 71, - 73, 73, 72, 74, 94, 94, 98, 95, 95, 99, - 99, 99, 99, 97, 97, 97, 123, 123, 123, 102, - 102, 110, 110, 111, 111, 103, 103, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, - 114, 114, 115, 115, 115, 122, 122, 118, 118, 119, - 119, 124, 124, 125, 125, 116, 116, 116, 116, 116, + 64, 65, 65, 65, 65, 65, 65, 65, 65, 192, + 192, 67, 67, 67, 67, 32, 32, 32, 32, 32, + 131, 131, 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 79, 79, 33, 33, 77, + 77, 78, 80, 80, 76, 76, 76, 61, 61, 61, + 61, 61, 61, 61, 61, 63, 63, 63, 81, 81, + 82, 82, 83, 83, 84, 84, 85, 86, 86, 86, + 87, 87, 87, 87, 88, 88, 88, 60, 60, 60, + 60, 60, 60, 89, 89, 89, 89, 93, 93, 71, + 71, 73, 73, 72, 74, 94, 94, 98, 95, 95, + 99, 99, 99, 99, 97, 97, 97, 123, 123, 123, + 102, 102, 110, 110, 111, 111, 103, 103, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, + 113, 114, 114, 115, 115, 115, 122, 122, 118, 118, + 119, 119, 124, 124, 125, 125, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, @@ -2057,7 +2072,7 @@ var yyR1 = [...]int{ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, @@ -2068,8 +2083,8 @@ var yyR1 = [...]int{ 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 188, 189, 129, - 130, 130, 130, + 117, 117, 117, 117, 117, 117, 117, 117, 117, 188, + 189, 129, 130, 130, 130, } var yyR2 = [...]int{ @@ -2100,41 +2115,41 @@ var yyR2 = [...]int{ 3, 8, 8, 5, 4, 6, 5, 4, 4, 3, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 4, 3, 7, 5, 4, 2, - 2, 4, 4, 2, 2, 2, 2, 2, 3, 1, - 1, 0, 1, 1, 1, 0, 2, 2, 0, 2, - 2, 0, 1, 1, 2, 1, 1, 2, 1, 1, - 2, 2, 2, 2, 2, 3, 3, 2, 0, 2, - 0, 2, 1, 2, 2, 0, 1, 1, 0, 1, - 0, 1, 0, 1, 1, 3, 1, 2, 3, 5, - 0, 1, 2, 1, 1, 0, 2, 1, 3, 1, - 1, 1, 3, 1, 3, 3, 7, 1, 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, 0, 5, 5, 5, 0, 2, 1, 3, - 3, 2, 3, 1, 2, 0, 3, 1, 1, 3, - 3, 4, 4, 5, 3, 4, 5, 6, 2, 1, - 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 0, 2, 1, 1, 1, 3, 1, 3, - 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, + 2, 4, 4, 2, 2, 2, 2, 2, 2, 3, + 1, 1, 0, 1, 1, 1, 0, 2, 2, 0, + 2, 2, 0, 1, 1, 2, 1, 1, 2, 1, + 1, 2, 2, 2, 2, 2, 3, 3, 2, 0, + 2, 0, 2, 1, 2, 2, 0, 1, 1, 0, + 1, 0, 1, 0, 1, 1, 3, 1, 2, 3, + 5, 0, 1, 2, 1, 1, 0, 2, 1, 3, + 1, 1, 1, 3, 1, 3, 3, 7, 1, 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, 0, 5, 5, 5, 0, 2, 1, + 3, 3, 2, 3, 1, 2, 0, 3, 1, 1, + 3, 3, 4, 4, 5, 3, 4, 5, 6, 2, + 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 0, 2, 1, 1, 1, 3, 1, + 3, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 2, 2, 2, 3, 1, 1, - 1, 1, 4, 5, 6, 4, 4, 6, 6, 6, - 6, 8, 8, 6, 8, 8, 9, 7, 5, 4, - 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, - 4, 4, 4, 4, 0, 3, 4, 7, 3, 1, - 1, 2, 3, 3, 1, 2, 2, 1, 2, 1, - 2, 2, 1, 2, 0, 1, 0, 2, 1, 2, - 4, 0, 2, 1, 3, 5, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 2, 0, 3, 0, - 2, 0, 3, 1, 3, 2, 0, 1, 1, 0, - 2, 4, 4, 0, 2, 4, 2, 1, 3, 5, - 4, 6, 1, 3, 3, 5, 0, 5, 1, 3, - 1, 2, 3, 1, 1, 3, 3, 1, 3, 3, - 3, 3, 3, 1, 2, 1, 1, 1, 1, 1, - 1, 0, 2, 0, 3, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, - 1, 1, 0, 1, 1, 0, 2, 1, 1, 1, + 3, 2, 2, 2, 2, 2, 2, 2, 3, 1, + 1, 1, 1, 4, 5, 6, 4, 4, 6, 6, + 6, 6, 8, 8, 6, 8, 8, 9, 7, 5, + 4, 2, 2, 2, 2, 2, 2, 2, 2, 0, + 2, 4, 4, 4, 4, 0, 3, 4, 7, 3, + 1, 1, 2, 3, 3, 1, 2, 2, 1, 2, + 1, 2, 2, 1, 2, 0, 1, 0, 2, 1, + 2, 4, 0, 2, 1, 3, 5, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 2, 0, 3, + 0, 2, 0, 3, 1, 3, 2, 0, 1, 1, + 0, 2, 4, 4, 0, 2, 4, 2, 1, 3, + 5, 4, 6, 1, 3, 3, 5, 0, 5, 1, + 3, 1, 2, 3, 1, 1, 3, 3, 1, 3, + 3, 3, 3, 3, 1, 2, 1, 1, 1, 1, + 1, 1, 0, 2, 0, 3, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, + 1, 1, 1, 0, 1, 1, 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, @@ -2155,288 +2170,290 @@ 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, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 0, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 1, 1, } var yyChk = [...]int{ -1000, -186, -1, -2, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -18, -19, -20, -22, -23, -24, -21, -16, -3, -4, 6, 7, -28, 9, 10, 30, - -17, 115, 116, 118, 117, 149, 119, 142, 50, 161, - 162, 164, 165, 25, 143, 144, 147, 148, 31, 32, - 121, -188, 8, 247, 54, -187, 262, -83, 15, -27, + -17, 115, 116, 118, 117, 149, 119, 142, 50, 162, + 163, 165, 166, 25, 143, 144, 147, 148, 31, 32, + 121, -188, 8, 248, 54, -187, 263, -83, 15, -27, 5, -25, -191, -25, -25, -25, -25, -25, -162, -164, - 54, 90, -115, 125, 72, 157, 239, 122, 123, 129, - -118, 57, -117, 255, 135, 161, 172, 166, 193, 185, - 136, 183, 186, 226, 213, 223, 66, 164, 235, 145, - 181, 177, 175, 27, 198, 260, 176, 224, 121, 138, - 133, 199, 203, 227, 170, 171, 229, 197, 134, 33, - 257, 35, 153, 230, 201, 196, 192, 195, 169, 191, - 39, 205, 204, 206, 225, 188, 139, 178, 18, 233, - 148, 151, 200, 202, 130, 155, 259, 231, 174, 140, - 152, 147, 234, 141, 165, 228, 237, 38, 210, 168, - 132, 162, 159, 215, 189, 154, 179, 180, 194, 167, - 190, 163, 156, 149, 236, 211, 261, 187, 184, 160, - 158, 216, 217, 218, 219, 220, 258, 232, 182, 212, - -103, 125, 127, 123, 123, 124, 125, 239, 122, 123, - -52, -124, 57, -117, 125, 157, 123, 108, 186, 115, - 214, 124, 33, 155, -133, 123, -105, 158, 213, 216, - 217, 218, 220, 219, 57, 228, 227, 221, -124, 163, - -129, -129, -129, -129, -129, 215, 215, -129, -2, -87, - 17, 16, -5, -3, -188, 6, 20, 21, -31, 40, - 41, -26, -37, 99, -38, -124, -57, 74, -62, 29, - 57, -117, 23, -61, -58, -76, -74, -75, 108, 109, - 110, 97, 98, 105, 75, 111, -66, -64, -65, -67, - 59, 58, 67, 60, 61, 62, 63, 68, 69, 70, - -118, -72, -188, 44, 45, 248, 249, 250, 251, 254, - 252, 77, 34, 238, 246, 245, 244, 242, 243, 240, - 241, 128, 239, 103, 247, -103, -103, 11, -47, -52, - -95, -132, 163, -99, 228, 227, -119, -97, -118, -116, - 226, 186, 225, 120, 73, 22, 24, 208, 76, 108, - 16, 77, 107, 248, 115, 48, 240, 241, 238, 250, - 251, 239, 214, 29, 10, 25, 143, 21, 101, 117, - 80, 81, 146, 23, 144, 70, 19, 51, 11, 13, - 14, 128, 127, 92, 124, 46, 8, 111, 26, 89, - 42, 28, 44, 90, 17, 242, 243, 31, 254, 150, - 103, 49, 36, 74, 68, 71, 52, 72, 15, 47, - 91, 118, 247, 45, 122, 6, 253, 30, 142, 43, - 123, 79, 126, 69, 5, 129, 32, 9, 50, 53, - 244, 245, 246, 34, 78, 12, -163, 90, -156, 57, - -52, 124, -52, 247, -118, -111, 128, -111, -111, 123, - -52, -52, -110, 128, 57, -110, -110, -110, -52, 112, - -52, 57, 30, 239, 57, 155, 123, 156, 125, -130, - -188, -119, -130, -130, -130, 159, 160, -130, -108, -107, - 223, 224, 215, 222, 52, 12, -130, -129, -129, -189, - 56, -88, 19, 31, -38, -124, -84, -85, -38, -83, - -2, -25, 36, -29, 21, 65, 11, -121, 73, 72, - 89, -120, 22, -118, 59, 112, -38, -59, 92, 74, - 90, 91, 76, 94, 93, 104, 97, 98, 99, 100, - 101, 102, 103, 95, 96, 107, 82, 83, 84, 85, - 86, 87, 88, -104, -188, -75, -188, 113, 114, -62, - -62, -62, -62, -62, -62, -62, -62, -188, -2, -70, - -38, -188, -188, -188, -188, -188, -188, -188, -188, -188, - -79, -38, -188, -192, -188, -192, -192, -192, -192, -192, - -192, -192, -188, -188, -188, -188, -53, 26, -52, -40, - -41, -42, -43, -54, -75, -188, -52, -52, -47, -190, - 55, 11, 53, 55, -95, 163, -96, -100, 229, 231, - 82, -123, -118, 59, 29, 30, 56, 55, -52, -135, - -138, -140, -139, -141, -136, -137, 183, 184, 108, 187, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 30, 145, 179, 180, 181, 182, 199, 200, 201, 202, - 203, 204, 205, 206, 166, 167, 168, 169, 170, 171, - 172, 174, 175, 176, 177, 178, 57, -130, 125, -181, - 53, 57, 74, 57, -52, -52, -130, 126, -52, 23, - 52, -52, 57, 57, -125, -124, -116, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, 11, -106, 11, - 92, -52, -38, 9, 92, 55, 18, 112, 55, -86, - 24, 25, -87, -189, -31, -63, -118, 60, 63, -30, - 43, -52, -38, -38, -68, 68, 74, 69, 70, -120, - 99, -125, -119, -116, -62, -69, -72, -75, 64, 92, - 90, 91, 76, -62, -62, -62, -62, -62, -62, -62, - -62, -62, -62, -62, -62, -62, -62, -62, -131, 57, - 59, 57, -61, -61, -118, -36, 21, -35, -37, -189, - 55, -189, -2, -35, -35, -38, -38, -76, -118, -124, - -76, -35, -29, -77, -78, 78, -76, -189, -35, -36, - -35, -35, -91, 151, -52, 30, 55, -48, -50, -49, - -51, 42, 46, 48, 43, 44, 45, 49, -128, 22, - -40, -188, -127, 151, -126, 22, -124, 59, -91, 53, - -40, -52, -99, -96, 55, 230, 232, 233, 52, 71, - -38, -147, 107, -165, -166, -167, -119, 59, 60, -156, - -157, -158, -168, 137, -173, 130, 132, 129, -159, 138, - 124, 28, 56, -152, 68, 74, -148, 211, -142, 54, - -142, -142, -142, -142, -146, 186, -146, -146, -146, 54, - 54, -142, -142, -142, -150, 54, -150, -150, -151, 54, - -151, -122, 53, -52, -179, 258, -180, 57, -130, 23, - -130, -112, 120, 117, 118, -176, 116, 208, 186, 66, - 29, 15, 248, 151, 261, 57, 152, -52, -52, -130, - -52, -109, 90, 12, -124, -124, 38, -38, -38, -125, - -85, -88, -102, 19, 11, 34, 34, -35, 68, 69, - 70, 112, -188, -69, -62, -62, -62, -34, 146, 73, - -189, -189, -35, 55, -38, -189, -189, -189, 55, 53, - 22, 55, 11, 112, 55, 11, -189, -35, -80, -78, - 80, -38, -189, -189, -189, -189, -189, -60, 30, 34, - -2, -188, -188, -94, -98, -76, -41, -42, -42, -41, - -42, 42, 42, 42, 47, 42, 47, 42, -49, -124, - -189, -55, 50, 127, 51, -188, -126, -56, 12, -40, - -56, -100, -101, 234, 231, 237, 57, 59, 55, -167, - 82, 54, 57, 28, -159, -159, -160, 57, -160, 28, - -143, 29, 68, -149, 212, 60, -146, -146, -147, 30, - -147, -147, -147, -155, 59, -155, 60, 60, 52, -118, - -130, -178, -177, -119, -129, -182, 157, 131, 137, 138, - 133, 57, 124, 28, 130, 132, 151, 129, -182, 157, - -113, -114, 126, 22, 124, 28, 151, -130, -106, 59, - -38, 39, 112, -52, -39, 11, 99, -119, -36, -34, - 73, -62, -62, -189, -37, -134, 108, 183, 145, 181, - 177, 197, 188, 210, 179, 211, -131, -134, -62, -62, - -119, -62, -62, 255, -83, 81, -38, 79, -93, 52, - -94, -71, -73, -72, -188, -2, -89, -118, -92, -118, - -56, 55, 82, -45, -44, 52, 53, -46, 52, -44, - 42, 42, 124, 124, 124, -92, -83, -38, -56, 231, - 235, 236, -166, -167, -170, -169, -118, -173, -160, -160, - 54, -145, 52, 59, 60, 61, 68, 238, 67, 56, - -147, -147, 57, 108, 56, 55, 56, 55, 56, 55, - -52, 55, 82, -129, -118, -129, -118, -52, -129, -118, - -109, -56, -40, -189, -62, -189, -142, -142, -142, -151, - -142, 171, -142, 171, -189, -189, -189, 55, 19, -189, - 55, 19, -188, -33, 253, -38, 27, -93, 55, -189, - -189, -189, 55, 112, -189, 55, -83, -98, -38, -38, - 54, -38, -188, -188, -188, -189, -87, 56, 55, -142, - -90, -118, -153, 208, 9, 54, -146, 59, -146, 60, - 60, -130, -177, -167, 54, 26, -81, 13, -146, 57, - -62, -62, -62, -62, -62, -189, 59, 28, -73, 34, - -2, -188, -118, -118, -118, -87, -90, -90, -90, -90, - -127, -172, -171, 53, 134, 66, -169, 56, 55, -154, - 130, 28, 129, 238, 56, -147, -147, 56, 56, -90, - -188, -82, 14, 16, -189, -189, -189, -189, -32, 92, - 258, 9, -71, -2, 112, 56, -189, -189, -189, -55, - -171, 57, -161, 82, 59, 140, -118, -144, 66, 28, - 28, 54, 56, -174, -175, 151, -38, -70, -189, 256, - 49, 259, -94, -189, -118, 60, -52, 59, 56, -181, - -189, 55, -118, 39, 257, 260, 54, -179, -175, 34, - 39, -90, 153, 258, 56, 154, 259, -184, -185, 52, - -188, 260, -185, 52, 10, 9, -62, 150, -183, 141, - 136, 139, 30, -183, -189, -189, 135, 29, 68, + 54, 90, -115, 125, 72, 157, 240, 122, 123, 129, + -118, 57, -117, 256, 135, 162, 173, 167, 194, 186, + 136, 184, 187, 227, 214, 224, 66, 165, 236, 145, + 182, 178, 176, 27, 199, 261, 177, 225, 121, 138, + 133, 200, 204, 228, 171, 172, 230, 198, 134, 33, + 258, 35, 153, 231, 202, 197, 193, 196, 170, 192, + 39, 206, 205, 207, 226, 189, 139, 179, 18, 234, + 148, 151, 201, 203, 130, 155, 260, 232, 175, 140, + 152, 147, 235, 141, 166, 229, 238, 38, 211, 169, + 132, 163, 159, 216, 190, 154, 180, 181, 195, 168, + 191, 164, 156, 149, 237, 212, 262, 188, 185, 160, + 158, 217, 218, 219, 220, 221, 161, 259, 233, 183, + 213, -103, 125, 127, 123, 123, 124, 125, 240, 122, + 123, -52, -124, 57, -117, 125, 157, 123, 108, 187, + 115, 215, 124, 33, 155, -133, 123, -105, 158, 214, + 217, 218, 219, 221, 220, 161, 57, 229, 228, 222, + -124, 164, -129, -129, -129, -129, -129, 216, 216, -129, + -2, -87, 17, 16, -5, -3, -188, 6, 20, 21, + -31, 40, 41, -26, -37, 99, -38, -124, -57, 74, + -62, 29, 57, -117, 23, -61, -58, -76, -74, -75, + 108, 109, 110, 97, 98, 105, 75, 111, -66, -64, + -65, -67, 59, 58, 67, 60, 61, 62, 63, 68, + 69, 70, -118, -72, -188, 44, 45, 249, 250, 251, + 252, 255, 253, 77, 34, 239, 247, 246, 245, 243, + 244, 241, 242, 128, 240, 103, 248, -103, -103, 11, + -47, -52, -95, -132, 164, -99, 229, 228, -119, -97, + -118, -116, 227, 187, 226, 120, 73, 22, 24, 209, + 76, 108, 16, 77, 107, 249, 115, 48, 241, 242, + 239, 251, 252, 240, 215, 29, 10, 25, 143, 21, + 101, 117, 80, 81, 146, 23, 144, 70, 19, 51, + 11, 13, 14, 128, 127, 92, 124, 46, 8, 111, + 26, 89, 42, 28, 44, 90, 17, 243, 244, 31, + 255, 150, 103, 49, 36, 74, 68, 71, 52, 72, + 15, 47, 91, 118, 248, 45, 122, 6, 254, 30, + 142, 43, 123, 79, 126, 69, 5, 129, 32, 9, + 50, 53, 245, 246, 247, 34, 78, 12, -163, 90, + -156, 57, -52, 124, -52, 248, -118, -111, 128, -111, + -111, 123, -52, -52, -110, 128, 57, -110, -110, -110, + -52, 112, -52, 57, 30, 240, 57, 155, 123, 156, + 125, -130, -188, -119, -130, -130, -130, 159, 160, -130, + -108, -107, 224, 225, 216, 223, 52, 12, -130, -129, + -129, -189, 56, -88, 19, 31, -38, -124, -84, -85, + -38, -83, -2, -25, 36, -29, 21, 65, 11, -121, + 73, 72, 89, -120, 22, -118, 59, 112, -38, -59, + 92, 74, 90, 91, 76, 94, 93, 104, 97, 98, + 99, 100, 101, 102, 103, 95, 96, 107, 82, 83, + 84, 85, 86, 87, 88, -104, -188, -75, -188, 113, + 114, -62, -62, -62, -62, -62, -62, -62, -62, -188, + -2, -70, -38, -188, -188, -188, -188, -188, -188, -188, + -188, -188, -79, -38, -188, -192, -188, -192, -192, -192, + -192, -192, -192, -192, -188, -188, -188, -188, -53, 26, + -52, -40, -41, -42, -43, -54, -75, -188, -52, -52, + -47, -190, 55, 11, 53, 55, -95, 164, -96, -100, + 230, 232, 82, -123, -118, 59, 29, 30, 56, 55, + -52, -135, -138, -140, -139, -141, -136, -137, 184, 185, + 108, 188, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 30, 145, 180, 181, 182, 183, 200, 201, + 202, 203, 204, 205, 206, 207, 167, 168, 169, 170, + 171, 172, 173, 175, 176, 177, 178, 179, 57, -130, + 125, -181, 53, 57, 74, 57, -52, -52, -130, 126, + -52, 23, 52, -52, 57, 57, -125, -124, -116, -130, + -130, -130, -130, -130, -130, -130, -130, -130, -130, 11, + -106, 11, 92, -52, -38, 9, 92, 55, 18, 112, + 55, -86, 24, 25, -87, -189, -31, -63, -118, 60, + 63, -30, 43, -52, -38, -38, -68, 68, 74, 69, + 70, -120, 99, -125, -119, -116, -62, -69, -72, -75, + 64, 92, 90, 91, 76, -62, -62, -62, -62, -62, + -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, + -131, 57, 59, 57, -61, -61, -118, -36, 21, -35, + -37, -189, 55, -189, -2, -35, -35, -38, -38, -76, + -118, -124, -76, -35, -29, -77, -78, 78, -76, -189, + -35, -36, -35, -35, -91, 151, -52, 30, 55, -48, + -50, -49, -51, 42, 46, 48, 43, 44, 45, 49, + -128, 22, -40, -188, -127, 151, -126, 22, -124, 59, + -91, 53, -40, -52, -99, -96, 55, 231, 233, 234, + 52, 71, -38, -147, 107, -165, -166, -167, -119, 59, + 60, -156, -157, -158, -168, 137, -173, 130, 132, 129, + -159, 138, 124, 28, 56, -152, 68, 74, -148, 212, + -142, 54, -142, -142, -142, -142, -146, 187, -146, -146, + -146, 54, 54, -142, -142, -142, -150, 54, -150, -150, + -151, 54, -151, -122, 53, -52, -179, 259, -180, 57, + -130, 23, -130, -112, 120, 117, 118, -176, 116, 209, + 187, 66, 29, 15, 249, 151, 262, 57, 152, -52, + -52, -130, -52, -109, 90, 12, -124, -124, 38, -38, + -38, -125, -85, -88, -102, 19, 11, 34, 34, -35, + 68, 69, 70, 112, -188, -69, -62, -62, -62, -34, + 146, 73, -189, -189, -35, 55, -38, -189, -189, -189, + 55, 53, 22, 55, 11, 112, 55, 11, -189, -35, + -80, -78, 80, -38, -189, -189, -189, -189, -189, -60, + 30, 34, -2, -188, -188, -94, -98, -76, -41, -42, + -42, -41, -42, 42, 42, 42, 47, 42, 47, 42, + -49, -124, -189, -55, 50, 127, 51, -188, -126, -56, + 12, -40, -56, -100, -101, 235, 232, 238, 57, 59, + 55, -167, 82, 54, 57, 28, -159, -159, -160, 57, + -160, 28, -143, 29, 68, -149, 213, 60, -146, -146, + -147, 30, -147, -147, -147, -155, 59, -155, 60, 60, + 52, -118, -130, -178, -177, -119, -129, -182, 157, 131, + 137, 138, 133, 57, 124, 28, 130, 132, 151, 129, + -182, 157, -113, -114, 126, 22, 124, 28, 151, -130, + -106, 59, -38, 39, 112, -52, -39, 11, 99, -119, + -36, -34, 73, -62, -62, -189, -37, -134, 108, 184, + 145, 182, 178, 198, 189, 211, 180, 212, -131, -134, + -62, -62, -119, -62, -62, 256, -83, 81, -38, 79, + -93, 52, -94, -71, -73, -72, -188, -2, -89, -118, + -92, -118, -56, 55, 82, -45, -44, 52, 53, -46, + 52, -44, 42, 42, 124, 124, 124, -92, -83, -38, + -56, 232, 236, 237, -166, -167, -170, -169, -118, -173, + -160, -160, 54, -145, 52, 59, 60, 61, 68, 239, + 67, 56, -147, -147, 57, 108, 56, 55, 56, 55, + 56, 55, -52, 55, 82, -129, -118, -129, -118, -52, + -129, -118, -109, -56, -40, -189, -62, -189, -142, -142, + -142, -151, -142, 172, -142, 172, -189, -189, -189, 55, + 19, -189, 55, 19, -188, -33, 254, -38, 27, -93, + 55, -189, -189, -189, 55, 112, -189, 55, -83, -98, + -38, -38, 54, -38, -188, -188, -188, -189, -87, 56, + 55, -142, -90, -118, -153, 209, 9, 54, -146, 59, + -146, 60, 60, -130, -177, -167, 54, 26, -81, 13, + -146, 57, -62, -62, -62, -62, -62, -189, 59, 28, + -73, 34, -2, -188, -118, -118, -118, -87, -90, -90, + -90, -90, -127, -172, -171, 53, 134, 66, -169, 56, + 55, -154, 130, 28, 129, 239, 56, -147, -147, 56, + 56, -90, -188, -82, 14, 16, -189, -189, -189, -189, + -32, 92, 259, 9, -71, -2, 112, 56, -189, -189, + -189, -55, -171, 57, -161, 82, 59, 140, -118, -144, + 66, 28, 28, 54, 56, -174, -175, 151, -38, -70, + -189, 257, 49, 260, -94, -189, -118, 60, -52, 59, + 56, -181, -189, 55, -118, 39, 258, 261, 54, -179, + -175, 34, 39, -90, 153, 259, 56, 154, 260, -184, + -185, 52, -188, 261, -185, 52, 10, 9, -62, 150, + -183, 141, 136, 139, 30, -183, -189, -189, 135, 29, + 68, } var yyDef = [...]int{ 23, -2, 2, -2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 541, 0, 308, 308, 308, 308, 308, 308, - 0, 612, 595, 0, 0, 0, 0, -2, 295, 296, - 0, 298, 299, 829, 829, 829, 829, 829, 0, 0, - 829, 0, 35, 36, 827, 1, 3, 549, 0, 0, - 312, 315, 310, 0, 595, 595, 0, 0, 62, 63, - 0, 0, 0, 815, 0, 816, 593, 593, 593, 613, - 614, 617, 618, 718, 719, 720, 721, 722, 723, 724, - 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, - 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, - 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, - 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, - 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, - 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, - 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, - 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, - 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, - 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, - 0, 0, 596, 0, 591, 0, 591, 591, 591, 0, - 250, 380, 621, 622, 815, 816, 0, 0, 0, 0, - 830, 830, 830, 830, 0, 830, 0, 269, 270, 273, - 274, 275, 276, 277, 830, 292, 293, 282, 294, 297, - 300, 301, 302, 303, 304, 829, 829, 307, 29, 553, - 0, 0, 541, 31, 0, 308, 313, 314, 318, 316, - 317, 309, 0, 326, 330, 0, 388, 0, 393, 395, - -2, -2, 0, 430, 431, 432, 433, 434, 0, 0, - 0, 0, 0, 0, 0, 0, 458, 459, 460, 461, - 526, 527, 528, 529, 530, 531, 532, 533, 397, 398, - 523, 573, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 514, 0, 488, 488, 488, 488, 488, 488, 488, - 488, 0, 0, 0, 0, 0, 0, 0, 0, 43, - 47, 0, 806, 577, -2, -2, 0, 0, 619, 620, - -2, 727, -2, 625, 626, 627, 628, 629, 630, 631, - 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, - 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, - 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, - 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, - 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, - 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, - 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, - 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, - 712, 713, 714, 715, 716, 717, 0, 0, 82, 0, - 80, 0, 830, 0, 70, 0, 0, 0, 0, 0, - 830, 0, 0, 0, 0, 0, 0, 0, 249, 0, - 251, 830, 830, 830, 830, 830, 830, 830, 830, 260, - 831, 832, 261, 262, 263, 830, 830, 265, 0, 285, - 283, 284, 279, 280, 0, 0, 278, 305, 306, 30, - 828, 24, 0, 0, 550, 0, 542, 543, 546, 549, - 29, 315, 0, 320, 319, 311, 0, 327, 0, 0, - 0, 331, 0, 333, 334, 0, 391, 0, 0, 0, + 21, 22, 542, 0, 309, 309, 309, 309, 309, 309, + 0, 613, 596, 0, 0, 0, 0, -2, 296, 297, + 0, 299, 300, 831, 831, 831, 831, 831, 0, 0, + 831, 0, 35, 36, 829, 1, 3, 550, 0, 0, + 313, 316, 311, 0, 596, 596, 0, 0, 62, 63, + 0, 0, 0, 816, 0, 817, 594, 594, 594, 614, + 615, 618, 619, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, + 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, + 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, + 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, + 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, + 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, + 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, + 828, 0, 0, 597, 0, 592, 0, 592, 592, 592, + 0, 250, 381, 622, 623, 816, 817, 0, 0, 0, + 0, 832, 832, 832, 832, 0, 832, 0, 269, 270, + 273, 274, 275, 276, 277, 278, 832, 293, 294, 283, + 295, 298, 301, 302, 303, 304, 305, 831, 831, 308, + 29, 554, 0, 0, 542, 31, 0, 309, 314, 315, + 319, 317, 318, 310, 0, 327, 331, 0, 389, 0, + 394, 396, -2, -2, 0, 431, 432, 433, 434, 435, + 0, 0, 0, 0, 0, 0, 0, 0, 459, 460, + 461, 462, 527, 528, 529, 530, 531, 532, 533, 534, + 398, 399, 524, 574, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 515, 0, 489, 489, 489, 489, 489, + 489, 489, 489, 0, 0, 0, 0, 0, 0, 0, + 0, 43, 47, 0, 807, 578, -2, -2, 0, 0, + 620, 621, -2, 728, -2, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, + 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, + 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, + 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, + 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, + 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, + 711, 712, 713, 714, 715, 716, 717, 718, 0, 0, + 82, 0, 80, 0, 832, 0, 70, 0, 0, 0, + 0, 0, 832, 0, 0, 0, 0, 0, 0, 0, + 249, 0, 251, 832, 832, 832, 832, 832, 832, 832, + 832, 260, 833, 834, 261, 262, 263, 832, 832, 265, + 0, 286, 284, 285, 280, 281, 0, 0, 279, 306, + 307, 30, 830, 24, 0, 0, 551, 0, 543, 544, + 547, 550, 29, 316, 0, 321, 320, 312, 0, 328, + 0, 0, 0, 332, 0, 334, 335, 0, 392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 415, 416, 417, 418, - 419, 420, 421, 394, 0, 408, 0, 0, 0, 450, - 451, 452, 453, 454, 455, 456, 0, 322, 29, 0, - 428, 0, 0, 0, 0, 0, 0, 0, 0, 318, - 0, 515, 0, 480, 0, 481, 482, 483, 484, 485, - 486, 487, 0, 322, 0, 0, 45, 0, 379, 0, - 337, 339, 340, 341, -2, 0, 363, -2, 0, 0, - 0, 41, 42, 0, 48, 806, 50, 51, 0, 0, - 0, 165, 586, 587, 588, 584, 209, 0, 0, 146, - 142, 88, 89, 90, 135, 92, 135, 135, 135, 135, - 162, 162, 162, 162, 118, 119, 120, 121, 122, 0, - 0, 105, 135, 135, 135, 109, 125, 126, 127, 128, - 129, 130, 131, 132, 93, 94, 95, 96, 97, 98, - 99, 137, 137, 137, 139, 139, 615, 65, 0, 73, - 0, 830, 0, 830, 78, 0, 225, 0, 244, 592, - 0, 830, 247, 248, 381, 623, 624, 252, 253, 254, - 255, 256, 257, 258, 259, 264, 268, 0, 288, 0, - 0, 272, 271, 554, 0, 0, 0, 0, 0, 545, - 547, 548, 553, 32, 318, 0, 534, 0, 0, 0, - 321, 27, 389, 390, 392, 409, 0, 411, 413, 332, - 328, 0, 524, -2, 399, 400, 424, 425, 426, 0, - 0, 0, 0, 422, 404, 0, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 449, 499, - 500, 0, 447, 448, 457, 0, 0, 323, 324, 427, - 0, 572, 29, 0, 0, 0, 0, 0, 523, 0, - 0, 0, 0, 521, 518, 0, 0, 489, 0, 0, - 0, 0, 0, 0, 378, 0, 0, 0, 0, 0, - 0, 368, 0, 0, 371, 0, 0, 0, 0, 362, - 0, 0, 382, 776, 364, 0, 366, 367, 386, 0, - 386, 44, 578, 49, 0, 0, 54, 55, 579, 580, - 581, 582, 0, 79, 210, 212, 215, 216, 217, 83, - 84, 85, 0, 0, 197, 0, 0, 191, 191, 0, - 189, 190, 81, 149, 147, 0, 144, 143, 91, 0, - 162, 162, 112, 113, 165, 0, 165, 165, 165, 0, - 0, 106, 107, 108, 100, 0, 101, 102, 103, 0, - 104, 0, 0, 830, 67, 0, 71, 72, 68, 594, - 69, 829, 0, 0, 607, 226, 597, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 0, 243, 830, 246, - 285, 267, 0, 0, 286, 287, 0, 551, 552, 0, - 544, 25, 0, 589, 590, 535, 536, 335, 410, 412, - 414, 0, 322, 401, 422, 405, 0, 402, 0, 0, - 396, 462, 0, 0, 429, -2, 465, 466, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 541, 0, 519, - 0, 0, 479, 490, 491, 492, 493, 566, 0, 0, - -2, 0, 0, 386, 574, 0, 338, 357, 359, 0, - 354, 369, 370, 372, 0, 374, 0, 376, 377, 342, - 344, 345, 0, 0, 0, 0, 365, 541, 0, 386, - 40, 52, 53, 0, 0, 59, 166, 167, 0, 213, - 0, 0, 0, 184, 191, 191, 187, 192, 188, 0, - 157, 0, 148, 87, 145, 0, 165, 165, 114, 0, - 115, 116, 117, 0, 133, 0, 0, 0, 0, 616, - 66, 74, 75, 0, 218, 829, 0, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 829, 0, - 0, 829, 608, 609, 610, 611, 0, 245, 288, 289, - 290, 555, 0, 26, 386, 0, 329, 525, 0, 403, - 0, 423, 406, 463, 325, 0, 135, 135, 504, 135, - 139, 507, 135, 509, 135, 512, 0, 0, 0, 0, - 524, 0, 0, 0, 516, 478, 522, 0, 33, 0, - 566, 556, 568, 570, 0, 29, 0, 562, 0, 349, - 541, 0, 0, 351, 358, 0, 0, 352, 0, 353, - 373, 375, 0, 0, 0, 0, 549, 387, 39, 56, - 57, 58, 211, 214, 0, 193, 135, 196, 185, 186, - 0, 160, 0, 150, 151, 152, 153, 154, 156, 136, - 110, 111, 163, 164, 162, 0, 162, 0, 140, 0, - 830, 0, 0, 219, 0, 220, 222, 223, 224, 0, - 266, 537, 336, 464, 407, 467, 501, 162, 505, 506, - 508, 510, 511, 513, 469, 468, 470, 0, 0, 473, - 0, 0, 0, 0, 0, 520, 0, 34, 0, 571, - -2, 0, 0, 0, 46, 0, 549, 575, 576, 355, - 0, 360, 0, 0, 0, 363, 38, 176, 0, 195, - 0, 347, 168, 161, 0, 0, 165, 134, 165, 0, - 0, 64, 76, 77, 0, 0, 539, 0, 502, 503, - 0, 0, 0, 0, 494, 477, 517, 0, 569, 0, - -2, 0, 564, 563, 350, 37, 0, 0, 0, 0, - 382, 175, 177, 0, 182, 0, 194, 0, 0, 173, - 0, 170, 172, 158, 155, 123, 124, 138, 141, 0, - 0, 28, 0, 0, 471, 472, 474, 475, 0, 0, - 0, 0, 559, 29, 0, 356, 383, 384, 385, 346, - 178, 179, 0, 183, 181, 0, 348, 86, 0, 169, - 171, 0, 70, 0, 239, 0, 540, 538, 476, 0, - 0, 0, 567, -2, 565, 180, 0, 174, 159, 73, - 238, 0, 0, 495, 0, 498, 0, 221, 240, 0, - 496, 0, 0, 0, 198, 0, 0, 199, 200, 0, - 0, 497, 201, 0, 0, 0, 0, 0, 202, 204, - 205, 0, 0, 203, 241, 242, 206, 207, 208, + 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, + 418, 419, 420, 421, 422, 395, 0, 409, 0, 0, + 0, 451, 452, 453, 454, 455, 456, 457, 0, 323, + 29, 0, 429, 0, 0, 0, 0, 0, 0, 0, + 0, 319, 0, 516, 0, 481, 0, 482, 483, 484, + 485, 486, 487, 488, 0, 323, 0, 0, 45, 0, + 380, 0, 338, 340, 341, 342, -2, 0, 364, -2, + 0, 0, 0, 41, 42, 0, 48, 807, 50, 51, + 0, 0, 0, 165, 587, 588, 589, 585, 209, 0, + 0, 146, 142, 88, 89, 90, 135, 92, 135, 135, + 135, 135, 162, 162, 162, 162, 118, 119, 120, 121, + 122, 0, 0, 105, 135, 135, 135, 109, 125, 126, + 127, 128, 129, 130, 131, 132, 93, 94, 95, 96, + 97, 98, 99, 137, 137, 137, 139, 139, 616, 65, + 0, 73, 0, 832, 0, 832, 78, 0, 225, 0, + 244, 593, 0, 832, 247, 248, 382, 624, 625, 252, + 253, 254, 255, 256, 257, 258, 259, 264, 268, 0, + 289, 0, 0, 272, 271, 555, 0, 0, 0, 0, + 0, 546, 548, 549, 554, 32, 319, 0, 535, 0, + 0, 0, 322, 27, 390, 391, 393, 410, 0, 412, + 414, 333, 329, 0, 525, -2, 400, 401, 425, 426, + 427, 0, 0, 0, 0, 423, 405, 0, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 450, 500, 501, 0, 448, 449, 458, 0, 0, 324, + 325, 428, 0, 573, 29, 0, 0, 0, 0, 0, + 524, 0, 0, 0, 0, 522, 519, 0, 0, 490, + 0, 0, 0, 0, 0, 0, 379, 0, 0, 0, + 0, 0, 0, 369, 0, 0, 372, 0, 0, 0, + 0, 363, 0, 0, 383, 777, 365, 0, 367, 368, + 387, 0, 387, 44, 579, 49, 0, 0, 54, 55, + 580, 581, 582, 583, 0, 79, 210, 212, 215, 216, + 217, 83, 84, 85, 0, 0, 197, 0, 0, 191, + 191, 0, 189, 190, 81, 149, 147, 0, 144, 143, + 91, 0, 162, 162, 112, 113, 165, 0, 165, 165, + 165, 0, 0, 106, 107, 108, 100, 0, 101, 102, + 103, 0, 104, 0, 0, 832, 67, 0, 71, 72, + 68, 595, 69, 831, 0, 0, 608, 226, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 0, 243, + 832, 246, 286, 267, 0, 0, 287, 288, 0, 552, + 553, 0, 545, 25, 0, 590, 591, 536, 537, 336, + 411, 413, 415, 0, 323, 402, 423, 406, 0, 403, + 0, 0, 397, 463, 0, 0, 430, -2, 466, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 542, + 0, 520, 0, 0, 480, 491, 492, 493, 494, 567, + 0, 0, -2, 0, 0, 387, 575, 0, 339, 358, + 360, 0, 355, 370, 371, 373, 0, 375, 0, 377, + 378, 343, 345, 346, 0, 0, 0, 0, 366, 542, + 0, 387, 40, 52, 53, 0, 0, 59, 166, 167, + 0, 213, 0, 0, 0, 184, 191, 191, 187, 192, + 188, 0, 157, 0, 148, 87, 145, 0, 165, 165, + 114, 0, 115, 116, 117, 0, 133, 0, 0, 0, + 0, 617, 66, 74, 75, 0, 218, 831, 0, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 831, 0, 0, 831, 609, 610, 611, 612, 0, 245, + 289, 290, 291, 556, 0, 26, 387, 0, 330, 526, + 0, 404, 0, 424, 407, 464, 326, 0, 135, 135, + 505, 135, 139, 508, 135, 510, 135, 513, 0, 0, + 0, 0, 525, 0, 0, 0, 517, 479, 523, 0, + 33, 0, 567, 557, 569, 571, 0, 29, 0, 563, + 0, 350, 542, 0, 0, 352, 359, 0, 0, 353, + 0, 354, 374, 376, 0, 0, 0, 0, 550, 388, + 39, 56, 57, 58, 211, 214, 0, 193, 135, 196, + 185, 186, 0, 160, 0, 150, 151, 152, 153, 154, + 156, 136, 110, 111, 163, 164, 162, 0, 162, 0, + 140, 0, 832, 0, 0, 219, 0, 220, 222, 223, + 224, 0, 266, 538, 337, 465, 408, 468, 502, 162, + 506, 507, 509, 511, 512, 514, 470, 469, 471, 0, + 0, 474, 0, 0, 0, 0, 0, 521, 0, 34, + 0, 572, -2, 0, 0, 0, 46, 0, 550, 576, + 577, 356, 0, 361, 0, 0, 0, 364, 38, 176, + 0, 195, 0, 348, 168, 161, 0, 0, 165, 134, + 165, 0, 0, 64, 76, 77, 0, 0, 540, 0, + 503, 504, 0, 0, 0, 0, 495, 478, 518, 0, + 570, 0, -2, 0, 565, 564, 351, 37, 0, 0, + 0, 0, 383, 175, 177, 0, 182, 0, 194, 0, + 0, 173, 0, 170, 172, 158, 155, 123, 124, 138, + 141, 0, 0, 28, 0, 0, 472, 473, 475, 476, + 0, 0, 0, 0, 560, 29, 0, 357, 384, 385, + 386, 347, 178, 179, 0, 183, 181, 0, 349, 86, + 0, 169, 171, 0, 70, 0, 239, 0, 541, 539, + 477, 0, 0, 0, 568, -2, 566, 180, 0, 174, + 159, 73, 238, 0, 0, 496, 0, 499, 0, 221, + 240, 0, 497, 0, 0, 0, 198, 0, 0, 199, + 200, 0, 0, 498, 201, 0, 0, 0, 0, 0, + 202, 204, 205, 0, 0, 203, 241, 242, 206, 207, + 208, } var yyTok1 = [...]int{ @@ -2445,7 +2462,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 75, 3, 3, 3, 102, 94, 3, 54, 56, 99, 97, 55, 98, 112, 100, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 262, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 263, 83, 82, 84, 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, @@ -2480,7 +2497,7 @@ var yyTok2 = [...]int{ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, + 259, 260, 261, 262, } var yyTok3 = [...]int{ 0, @@ -4385,16 +4402,16 @@ yydefault: yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } case 278: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1558 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:1552 { yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } case 279: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1564 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:1562 { - yyVAL.str = string(yyDollar[1].bytes) + yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)} } case 280: yyDollar = yyS[yypt-1 : yypt+1] @@ -4403,22 +4420,22 @@ yydefault: yyVAL.str = string(yyDollar[1].bytes) } case 281: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1574 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:1572 { - yyVAL.str = "" + yyVAL.str = string(yyDollar[1].bytes) } case 282: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1578 { - yyVAL.str = "full " + yyVAL.str = "" } case 283: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1584 +//line sql.y:1582 { - yyVAL.str = string(yyDollar[1].bytes) + yyVAL.str = "full " } case 284: yyDollar = yyS[yypt-1 : yypt+1] @@ -4427,16 +4444,16 @@ yydefault: yyVAL.str = string(yyDollar[1].bytes) } case 285: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1594 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:1592 { - yyVAL.str = "" + yyVAL.str = string(yyDollar[1].bytes) } case 286: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1598 { - yyVAL.str = yyDollar[2].tableIdent.v + yyVAL.str = "" } case 287: yyDollar = yyS[yypt-2 : yypt+1] @@ -4445,82 +4462,82 @@ yydefault: yyVAL.str = yyDollar[2].tableIdent.v } case 288: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1608 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:1606 { - yyVAL.showFilter = nil + yyVAL.str = yyDollar[2].tableIdent.v } case 289: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1612 { - yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} + yyVAL.showFilter = nil } case 290: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1616 { - yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr} + yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } case 291: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1622 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:1620 { - yyVAL.str = "" + yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr} } case 292: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1626 { - yyVAL.str = SessionStr + yyVAL.str = "" } case 293: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1630 { - yyVAL.str = GlobalStr + yyVAL.str = SessionStr } case 294: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1636 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:1634 { - yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent} + yyVAL.str = GlobalStr } case 295: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1640 { - yyVAL.statement = &Use{DBName: TableIdent{v: ""}} + yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent} } case 296: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1646 +//line sql.y:1644 { - yyVAL.statement = &Begin{} + yyVAL.statement = &Use{DBName: TableIdent{v: ""}} } case 297: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1650 { yyVAL.statement = &Begin{} } case 298: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1656 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:1654 { - yyVAL.statement = &Commit{} + yyVAL.statement = &Begin{} } case 299: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1662 +//line sql.y:1660 { - yyVAL.statement = &Rollback{} + yyVAL.statement = &Commit{} } case 300: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1668 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:1666 { - yyVAL.statement = &OtherRead{} + yyVAL.statement = &Rollback{} } case 301: yyDollar = yyS[yypt-2 : yypt+1] @@ -4538,7 +4555,7 @@ yydefault: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1680 { - yyVAL.statement = &OtherAdmin{} + yyVAL.statement = &OtherRead{} } case 304: yyDollar = yyS[yypt-2 : yypt+1] @@ -4547,7 +4564,7 @@ yydefault: yyVAL.statement = &OtherAdmin{} } case 305: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1688 { yyVAL.statement = &OtherAdmin{} @@ -4559,260 +4576,260 @@ yydefault: yyVAL.statement = &OtherAdmin{} } case 307: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:1696 + { + yyVAL.statement = &OtherAdmin{} + } + case 308: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1698 +//line sql.y:1702 { yyVAL.statement = &DDL{Action: FlushStr} } - case 308: + case 309: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1702 +//line sql.y:1706 { setAllowComments(yylex, true) } - case 309: + case 310: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1706 +//line sql.y:1710 { yyVAL.bytes2 = yyDollar[2].bytes2 setAllowComments(yylex, false) } - case 310: + case 311: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1712 +//line sql.y:1716 { yyVAL.bytes2 = nil } - case 311: + case 312: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1716 +//line sql.y:1720 { yyVAL.bytes2 = append(yyDollar[1].bytes2, yyDollar[2].bytes) } - case 312: + case 313: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1722 +//line sql.y:1726 { yyVAL.str = UnionStr } - case 313: + case 314: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1726 +//line sql.y:1730 { yyVAL.str = UnionAllStr } - case 314: + case 315: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1730 +//line sql.y:1734 { yyVAL.str = UnionDistinctStr } - case 315: + case 316: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1735 +//line sql.y:1739 { yyVAL.str = "" } - case 316: + case 317: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1739 +//line sql.y:1743 { yyVAL.str = SQLNoCacheStr } - case 317: + case 318: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1743 +//line sql.y:1747 { yyVAL.str = SQLCacheStr } - case 318: + case 319: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1748 +//line sql.y:1752 { yyVAL.str = "" } - case 319: + case 320: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1752 +//line sql.y:1756 { yyVAL.str = DistinctStr } - case 320: + case 321: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1757 +//line sql.y:1761 { yyVAL.str = "" } - case 321: + case 322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1761 +//line sql.y:1765 { yyVAL.str = StraightJoinHint } - case 322: + case 323: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1766 +//line sql.y:1770 { yyVAL.selectExprs = nil } - case 323: + case 324: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1770 +//line sql.y:1774 { yyVAL.selectExprs = yyDollar[1].selectExprs } - case 324: + case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1776 +//line sql.y:1780 { yyVAL.selectExprs = SelectExprs{yyDollar[1].selectExpr} } - case 325: + case 326: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1780 +//line sql.y:1784 { yyVAL.selectExprs = append(yyVAL.selectExprs, yyDollar[3].selectExpr) } - case 326: + case 327: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1786 +//line sql.y:1790 { yyVAL.selectExpr = &StarExpr{} } - case 327: + case 328: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1790 +//line sql.y:1794 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr, As: yyDollar[2].colIdent} } - case 328: + case 329: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1794 +//line sql.y:1798 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 329: + case 330: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1798 +//line sql.y:1802 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 330: + case 331: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1803 +//line sql.y:1807 { yyVAL.colIdent = ColIdent{} } - case 331: + case 332: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1807 +//line sql.y:1811 { yyVAL.colIdent = yyDollar[1].colIdent } - case 332: + case 333: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1811 +//line sql.y:1815 { yyVAL.colIdent = yyDollar[2].colIdent } - case 334: + case 335: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1818 +//line sql.y:1822 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 335: + case 336: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1823 +//line sql.y:1827 { yyVAL.tableExprs = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } - case 336: + case 337: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1827 +//line sql.y:1831 { yyVAL.tableExprs = yyDollar[2].tableExprs } - case 337: + case 338: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1833 +//line sql.y:1837 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } - case 338: + case 339: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1837 +//line sql.y:1841 { yyVAL.tableExprs = append(yyVAL.tableExprs, yyDollar[3].tableExpr) } - case 341: + case 342: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1847 +//line sql.y:1851 { yyVAL.tableExpr = yyDollar[1].aliasedTableName } - case 342: + case 343: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1851 +//line sql.y:1855 { yyVAL.tableExpr = &AliasedTableExpr{Expr: yyDollar[1].subquery, As: yyDollar[3].tableIdent} } - case 343: + case 344: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1855 +//line sql.y:1859 { // missed alias for subquery yylex.Error("Every derived table must have its own alias") return 1 } - case 344: + case 345: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1861 +//line sql.y:1865 { yyVAL.tableExpr = &ParenTableExpr{Exprs: yyDollar[2].tableExprs} } - case 345: + case 346: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1867 +//line sql.y:1871 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHints} } - case 346: + case 347: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:1871 +//line sql.y:1875 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitions, As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHints} } - case 347: + case 348: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1877 +//line sql.y:1881 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 348: + case 349: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1881 +//line sql.y:1885 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 349: + case 350: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1887 +//line sql.y:1891 { yyVAL.partitions = Partitions{yyDollar[1].colIdent} } - case 350: + case 351: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1891 +//line sql.y:1895 { yyVAL.partitions = append(yyVAL.partitions, yyDollar[3].colIdent) } - case 351: - yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1904 - { - yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} - } case 352: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1908 @@ -4826,91 +4843,91 @@ yydefault: yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } case 354: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1916 { - yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr} + yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } case 355: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:1920 + { + yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr} + } + case 356: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1922 +//line sql.y:1926 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 356: + case 357: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1924 +//line sql.y:1928 { yyVAL.joinCondition = JoinCondition{Using: yyDollar[3].columns} } - case 357: + case 358: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1928 +//line sql.y:1932 { yyVAL.joinCondition = JoinCondition{} } - case 358: + case 359: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1930 +//line sql.y:1934 { yyVAL.joinCondition = yyDollar[1].joinCondition } - case 359: + case 360: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1934 +//line sql.y:1938 { yyVAL.joinCondition = JoinCondition{} } - case 360: + case 361: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1936 +//line sql.y:1940 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 361: + case 362: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1939 +//line sql.y:1943 { yyVAL.empty = struct{}{} } - case 362: + case 363: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1941 +//line sql.y:1945 { yyVAL.empty = struct{}{} } - case 363: + case 364: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1944 +//line sql.y:1948 { yyVAL.tableIdent = NewTableIdent("") } - case 364: + case 365: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1948 +//line sql.y:1952 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 365: + case 366: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1952 +//line sql.y:1956 { yyVAL.tableIdent = yyDollar[2].tableIdent } - case 367: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1959 - { - yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) - } case 368: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1965 +//line sql.y:1963 { - yyVAL.str = JoinStr + yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } case 369: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1969 { yyVAL.str = JoinStr @@ -4922,44 +4939,50 @@ yydefault: yyVAL.str = JoinStr } case 371: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1979 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:1977 { - yyVAL.str = StraightJoinStr + yyVAL.str = JoinStr } case 372: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1985 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:1983 { - yyVAL.str = LeftJoinStr + yyVAL.str = StraightJoinStr } case 373: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1989 { yyVAL.str = LeftJoinStr } case 374: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:1993 { - yyVAL.str = RightJoinStr + yyVAL.str = LeftJoinStr } case 375: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1997 { yyVAL.str = RightJoinStr } case 376: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2003 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2001 { - yyVAL.str = NaturalJoinStr + yyVAL.str = RightJoinStr } case 377: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2007 + { + yyVAL.str = NaturalJoinStr + } + case 378: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2011 { if yyDollar[2].str == LeftJoinStr { yyVAL.str = NaturalLeftJoinStr @@ -4967,401 +4990,395 @@ yydefault: yyVAL.str = NaturalRightJoinStr } } - case 378: + case 379: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2017 +//line sql.y:2021 { yyVAL.tableName = yyDollar[2].tableName } - case 379: + case 380: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2021 +//line sql.y:2025 { yyVAL.tableName = yyDollar[1].tableName } - case 380: + case 381: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2027 +//line sql.y:2031 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 381: + case 382: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2031 +//line sql.y:2035 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } - case 382: + case 383: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2036 +//line sql.y:2040 { yyVAL.indexHints = nil } - case 383: + case 384: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2040 +//line sql.y:2044 { yyVAL.indexHints = &IndexHints{Type: UseStr, Indexes: yyDollar[4].columns} } - case 384: + case 385: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2044 +//line sql.y:2048 { yyVAL.indexHints = &IndexHints{Type: IgnoreStr, Indexes: yyDollar[4].columns} } - case 385: + case 386: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2048 +//line sql.y:2052 { yyVAL.indexHints = &IndexHints{Type: ForceStr, Indexes: yyDollar[4].columns} } - case 386: + case 387: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2053 +//line sql.y:2057 { yyVAL.expr = nil } - case 387: + case 388: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2057 +//line sql.y:2061 { yyVAL.expr = yyDollar[2].expr } - case 388: + case 389: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2063 +//line sql.y:2067 { yyVAL.expr = yyDollar[1].expr } - case 389: + case 390: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2067 +//line sql.y:2071 { yyVAL.expr = &AndExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 390: + case 391: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2071 +//line sql.y:2075 { yyVAL.expr = &OrExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 391: + case 392: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2075 +//line sql.y:2079 { yyVAL.expr = &NotExpr{Expr: yyDollar[2].expr} } - case 392: + case 393: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2079 +//line sql.y:2083 { yyVAL.expr = &IsExpr{Operator: yyDollar[3].str, Expr: yyDollar[1].expr} } - case 393: + case 394: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2083 +//line sql.y:2087 { yyVAL.expr = yyDollar[1].expr } - case 394: + case 395: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2087 +//line sql.y:2091 { yyVAL.expr = &Default{ColName: yyDollar[2].str} } - case 395: + case 396: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2093 +//line sql.y:2097 { yyVAL.str = "" } - case 396: + case 397: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2097 +//line sql.y:2101 { yyVAL.str = string(yyDollar[2].bytes) } - case 397: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2103 - { - yyVAL.boolVal = BoolVal(true) - } case 398: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2107 { - yyVAL.boolVal = BoolVal(false) + yyVAL.boolVal = BoolVal(true) } case 399: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2113 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2111 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].str, Right: yyDollar[3].expr} + yyVAL.boolVal = BoolVal(false) } case 400: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2117 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InStr, Right: yyDollar[3].colTuple} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].str, Right: yyDollar[3].expr} } case 401: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2121 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInStr, Right: yyDollar[4].colTuple} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InStr, Right: yyDollar[3].colTuple} } case 402: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2125 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeStr, Right: yyDollar[3].expr, Escape: yyDollar[4].expr} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInStr, Right: yyDollar[4].colTuple} } case 403: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2129 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeStr, Right: yyDollar[4].expr, Escape: yyDollar[5].expr} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeStr, Right: yyDollar[3].expr, Escape: yyDollar[4].expr} } case 404: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:2133 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpStr, Right: yyDollar[3].expr} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeStr, Right: yyDollar[4].expr, Escape: yyDollar[5].expr} } case 405: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2137 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpStr, Right: yyDollar[4].expr} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpStr, Right: yyDollar[3].expr} } case 406: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2141 { - yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenStr, From: yyDollar[3].expr, To: yyDollar[5].expr} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpStr, Right: yyDollar[4].expr} } case 407: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:2145 { - yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenStr, From: yyDollar[4].expr, To: yyDollar[6].expr} + yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenStr, From: yyDollar[3].expr, To: yyDollar[5].expr} } case 408: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:2149 { - yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} + yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenStr, From: yyDollar[4].expr, To: yyDollar[6].expr} } case 409: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2155 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2153 { - yyVAL.str = IsNullStr + yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} } case 410: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2159 { - yyVAL.str = IsNotNullStr + yyVAL.str = IsNullStr } case 411: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2163 { - yyVAL.str = IsTrueStr + yyVAL.str = IsNotNullStr } case 412: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2167 { - yyVAL.str = IsNotTrueStr + yyVAL.str = IsTrueStr } case 413: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2171 { - yyVAL.str = IsFalseStr + yyVAL.str = IsNotTrueStr } case 414: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2175 { - yyVAL.str = IsNotFalseStr + yyVAL.str = IsFalseStr } case 415: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2181 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2179 { - yyVAL.str = EqualStr + yyVAL.str = IsNotFalseStr } case 416: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2185 { - yyVAL.str = LessThanStr + yyVAL.str = EqualStr } case 417: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2189 { - yyVAL.str = GreaterThanStr + yyVAL.str = LessThanStr } case 418: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2193 { - yyVAL.str = LessEqualStr + yyVAL.str = GreaterThanStr } case 419: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2197 { - yyVAL.str = GreaterEqualStr + yyVAL.str = LessEqualStr } case 420: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2201 { - yyVAL.str = NotEqualStr + yyVAL.str = GreaterEqualStr } case 421: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2205 { - yyVAL.str = NullSafeEqualStr + yyVAL.str = NotEqualStr } case 422: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2210 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2209 { - yyVAL.expr = nil + yyVAL.str = NullSafeEqualStr } case 423: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2214 { - yyVAL.expr = yyDollar[2].expr + yyVAL.expr = nil } case 424: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2220 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2218 { - yyVAL.colTuple = yyDollar[1].valTuple + yyVAL.expr = yyDollar[2].expr } case 425: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2224 { - yyVAL.colTuple = yyDollar[1].subquery + yyVAL.colTuple = yyDollar[1].valTuple } case 426: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2228 { - yyVAL.colTuple = ListArg(yyDollar[1].bytes) + yyVAL.colTuple = yyDollar[1].subquery } case 427: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2234 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2232 { - yyVAL.subquery = &Subquery{yyDollar[2].selStmt} + yyVAL.colTuple = ListArg(yyDollar[1].bytes) } case 428: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2240 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2238 { - yyVAL.exprs = Exprs{yyDollar[1].expr} + yyVAL.subquery = &Subquery{yyDollar[2].selStmt} } case 429: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2244 { - yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) + yyVAL.exprs = Exprs{yyDollar[1].expr} } case 430: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2250 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2248 { - yyVAL.expr = yyDollar[1].expr + yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } case 431: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2254 { - yyVAL.expr = yyDollar[1].boolVal + yyVAL.expr = yyDollar[1].expr } case 432: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2258 { - yyVAL.expr = yyDollar[1].colName + yyVAL.expr = yyDollar[1].boolVal } case 433: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2262 { - yyVAL.expr = yyDollar[1].expr + yyVAL.expr = yyDollar[1].colName } case 434: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2266 { - yyVAL.expr = yyDollar[1].subquery + yyVAL.expr = yyDollar[1].expr } case 435: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2270 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndStr, Right: yyDollar[3].expr} + yyVAL.expr = yyDollar[1].subquery } case 436: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2274 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndStr, Right: yyDollar[3].expr} } case 437: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2278 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrStr, Right: yyDollar[3].expr} } case 438: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2282 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorStr, Right: yyDollar[3].expr} } case 439: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2286 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusStr, Right: yyDollar[3].expr} } case 440: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2290 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusStr, Right: yyDollar[3].expr} } case 441: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2294 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultStr, Right: yyDollar[3].expr} } case 442: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2298 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivStr, Right: yyDollar[3].expr} } case 443: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2302 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivStr, Right: yyDollar[3].expr} } case 444: yyDollar = yyS[yypt-3 : yypt+1] @@ -5373,53 +5390,59 @@ yydefault: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2310 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr} } case 446: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2314 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightStr, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftStr, Right: yyDollar[3].expr} } case 447: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2318 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightStr, Right: yyDollar[3].expr} } case 448: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2322 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} } case 449: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2326 { - yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} } case 450: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2330 { - yyVAL.expr = &UnaryExpr{Operator: BinaryStr, Expr: yyDollar[2].expr} + yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} } case 451: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2334 { - yyVAL.expr = &UnaryExpr{Operator: UBinaryStr, Expr: yyDollar[2].expr} + yyVAL.expr = &UnaryExpr{Operator: BinaryStr, Expr: yyDollar[2].expr} } case 452: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2338 { - yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Str, Expr: yyDollar[2].expr} + yyVAL.expr = &UnaryExpr{Operator: UBinaryStr, Expr: yyDollar[2].expr} } case 453: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2342 + { + yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Str, Expr: yyDollar[2].expr} + } + case 454: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2346 { if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal { yyVAL.expr = num @@ -5427,9 +5450,9 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UPlusStr, Expr: yyDollar[2].expr} } } - case 454: + case 455: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2350 +//line sql.y:2354 { if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal { // Handle double negative @@ -5443,21 +5466,21 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UMinusStr, Expr: yyDollar[2].expr} } } - case 455: + case 456: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2364 +//line sql.y:2368 { yyVAL.expr = &UnaryExpr{Operator: TildaStr, Expr: yyDollar[2].expr} } - case 456: + case 457: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2368 +//line sql.y:2372 { yyVAL.expr = &UnaryExpr{Operator: BangStr, Expr: yyDollar[2].expr} } - case 457: + case 458: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2372 +//line sql.y:2376 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -5465,41 +5488,35 @@ yydefault: // will be non-trivial because of grammar conflicts. yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 462: + case 463: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2390 +//line sql.y:2394 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprs} } - case 463: + case 464: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2394 +//line sql.y:2398 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs} } - case 464: + case 465: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2398 +//line sql.y:2402 { yyVAL.expr = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprs} } - case 465: - yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2408 - { - yyVAL.expr = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprs} - } case 466: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2412 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprs} + yyVAL.expr = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprs} } case 467: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2416 { - yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} + yyVAL.expr = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprs} } case 468: yyDollar = yyS[yypt-6 : yypt+1] @@ -5511,19 +5528,19 @@ yydefault: yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:2424 { - yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str} + yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } case 470: yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:2428 { - yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: nil} + yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str} } case 471: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:2432 { - yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} + yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: nil} } case 472: yyDollar = yyS[yypt-8 : yypt+1] @@ -5532,16 +5549,16 @@ yydefault: yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } case 473: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-8 : yypt+1] //line sql.y:2440 { - yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: nil} + yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } case 474: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:2444 { - yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} + yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: nil} } case 475: yyDollar = yyS[yypt-8 : yypt+1] @@ -5550,136 +5567,136 @@ yydefault: yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } case 476: - yyDollar = yyS[yypt-9 : yypt+1] + yyDollar = yyS[yypt-8 : yypt+1] //line sql.y:2452 { - yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].str} + yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } case 477: - yyDollar = yyS[yypt-7 : yypt+1] + yyDollar = yyS[yypt-9 : yypt+1] //line sql.y:2456 { - yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].str, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str} + yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].str} } case 478: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-7 : yypt+1] //line sql.y:2460 { - yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr} + yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].str, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str} } case 479: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:2464 { - yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} + yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr} } case 480: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2474 + yyDollar = yyS[yypt-4 : yypt+1] +//line sql.y:2468 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("current_timestamp")} + yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} } case 481: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2478 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_timestamp")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("current_timestamp")} } case 482: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2482 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_time")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_timestamp")} } case 483: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2486 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_date")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_time")} } case 484: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2491 +//line sql.y:2490 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("localtime")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_date")} } case 485: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2496 +//line sql.y:2495 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("localtimestamp")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("localtime")} } case 486: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2501 +//line sql.y:2500 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("current_date")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("localtimestamp")} } case 487: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2506 +//line sql.y:2505 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("current_time")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("current_date")} } - case 490: - yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2520 + case 488: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2510 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprs} + yyVAL.expr = &FuncExpr{Name: NewColIdent("current_time")} } case 491: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2524 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprs} + yyVAL.expr = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprs} } case 492: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2528 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprs} + yyVAL.expr = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprs} } case 493: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2532 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprs} + yyVAL.expr = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprs} } case 494: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2538 + yyDollar = yyS[yypt-4 : yypt+1] +//line sql.y:2536 { - yyVAL.str = "" + yyVAL.expr = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprs} } case 495: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2542 { - yyVAL.str = BooleanModeStr + yyVAL.str = "" } case 496: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2546 { - yyVAL.str = NaturalLanguageModeStr + yyVAL.str = BooleanModeStr } case 497: - yyDollar = yyS[yypt-7 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2550 { - yyVAL.str = NaturalLanguageModeWithQueryExpansionStr + yyVAL.str = NaturalLanguageModeStr } case 498: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-7 : yypt+1] //line sql.y:2554 { - yyVAL.str = QueryExpansionStr + yyVAL.str = NaturalLanguageModeWithQueryExpansionStr } case 499: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2560 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2558 { - yyVAL.str = string(yyDollar[1].bytes) + yyVAL.str = QueryExpansionStr } case 500: yyDollar = yyS[yypt-1 : yypt+1] @@ -5688,63 +5705,63 @@ yydefault: yyVAL.str = string(yyDollar[1].bytes) } case 501: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2570 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2568 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal} + yyVAL.str = string(yyDollar[1].bytes) } case 502: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2574 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal, Charset: yyDollar[3].str, Operator: CharacterSetStr} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal} } case 503: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2578 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal, Charset: string(yyDollar[3].bytes)} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal, Charset: yyDollar[3].str, Operator: CharacterSetStr} } case 504: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2582 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal, Charset: string(yyDollar[3].bytes)} } case 505: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2586 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 506: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2590 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} - yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length - yyVAL.convertType.Scale = yyDollar[2].LengthScaleOption.Scale + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal} } case 507: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2596 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2594 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} + yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length + yyVAL.convertType.Scale = yyDollar[2].LengthScaleOption.Scale } case 508: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2600 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 509: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2604 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal} } case 510: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2608 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} @@ -5753,143 +5770,149 @@ yydefault: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2612 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 512: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2616 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal} } case 513: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2620 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 514: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2624 + { + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} + } + case 515: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2625 +//line sql.y:2629 { yyVAL.expr = nil } - case 515: + case 516: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2629 +//line sql.y:2633 { yyVAL.expr = yyDollar[1].expr } - case 516: + case 517: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2634 +//line sql.y:2638 { yyVAL.str = string("") } - case 517: + case 518: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2638 +//line sql.y:2642 { yyVAL.str = " separator '" + string(yyDollar[2].bytes) + "'" } - case 518: + case 519: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2644 +//line sql.y:2648 { yyVAL.whens = []*When{yyDollar[1].when} } - case 519: + case 520: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2648 +//line sql.y:2652 { yyVAL.whens = append(yyDollar[1].whens, yyDollar[2].when) } - case 520: + case 521: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2654 +//line sql.y:2658 { yyVAL.when = &When{Cond: yyDollar[2].expr, Val: yyDollar[4].expr} } - case 521: + case 522: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2659 +//line sql.y:2663 { yyVAL.expr = nil } - case 522: + case 523: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2663 +//line sql.y:2667 { yyVAL.expr = yyDollar[2].expr } - case 523: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2669 - { - yyVAL.colName = &ColName{Name: yyDollar[1].colIdent} - } case 524: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2673 { - yyVAL.colName = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} + yyVAL.colName = &ColName{Name: yyDollar[1].colIdent} } case 525: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2677 { - yyVAL.colName = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} + yyVAL.colName = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } case 526: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2683 + yyDollar = yyS[yypt-5 : yypt+1] +//line sql.y:2681 { - yyVAL.expr = NewStrVal(yyDollar[1].bytes) + yyVAL.colName = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } case 527: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2687 { - yyVAL.expr = NewHexVal(yyDollar[1].bytes) + yyVAL.expr = NewStrVal(yyDollar[1].bytes) } case 528: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2691 { - yyVAL.expr = NewBitVal(yyDollar[1].bytes) + yyVAL.expr = NewHexVal(yyDollar[1].bytes) } case 529: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2695 { - yyVAL.expr = NewIntVal(yyDollar[1].bytes) + yyVAL.expr = NewBitVal(yyDollar[1].bytes) } case 530: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2699 { - yyVAL.expr = NewFloatVal(yyDollar[1].bytes) + yyVAL.expr = NewIntVal(yyDollar[1].bytes) } case 531: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2703 { - yyVAL.expr = NewHexNum(yyDollar[1].bytes) + yyVAL.expr = NewFloatVal(yyDollar[1].bytes) } case 532: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2707 { - yyVAL.expr = NewValArg(yyDollar[1].bytes) + yyVAL.expr = NewHexNum(yyDollar[1].bytes) } case 533: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2711 { - yyVAL.expr = &NullVal{} + yyVAL.expr = NewValArg(yyDollar[1].bytes) } case 534: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2717 +//line sql.y:2715 + { + yyVAL.expr = &NullVal{} + } + case 535: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2721 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -5898,239 +5921,239 @@ yydefault: } yyVAL.expr = NewIntVal([]byte("1")) } - case 535: + case 536: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2726 +//line sql.y:2730 { yyVAL.expr = NewIntVal(yyDollar[1].bytes) } - case 536: + case 537: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2730 +//line sql.y:2734 { yyVAL.expr = NewValArg(yyDollar[1].bytes) } - case 537: + case 538: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2735 +//line sql.y:2739 { yyVAL.exprs = nil } - case 538: + case 539: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2739 +//line sql.y:2743 { yyVAL.exprs = yyDollar[3].exprs } - case 539: + case 540: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2744 +//line sql.y:2748 { yyVAL.expr = nil } - case 540: + case 541: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2748 +//line sql.y:2752 { yyVAL.expr = yyDollar[2].expr } - case 541: + case 542: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2753 +//line sql.y:2757 { yyVAL.orderBy = nil } - case 542: + case 543: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2757 +//line sql.y:2761 { yyVAL.orderBy = yyDollar[3].orderBy } - case 543: + case 544: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2763 +//line sql.y:2767 { yyVAL.orderBy = OrderBy{yyDollar[1].order} } - case 544: + case 545: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2767 +//line sql.y:2771 { yyVAL.orderBy = append(yyDollar[1].orderBy, yyDollar[3].order) } - case 545: + case 546: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2773 +//line sql.y:2777 { yyVAL.order = &Order{Expr: yyDollar[1].expr, Direction: yyDollar[2].str} } - case 546: + case 547: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2778 +//line sql.y:2782 { yyVAL.str = AscScr } - case 547: + case 548: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2782 +//line sql.y:2786 { yyVAL.str = AscScr } - case 548: + case 549: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2786 +//line sql.y:2790 { yyVAL.str = DescScr } - case 549: + case 550: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2791 +//line sql.y:2795 { yyVAL.limit = nil } - case 550: + case 551: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2795 +//line sql.y:2799 { yyVAL.limit = &Limit{Rowcount: yyDollar[2].expr} } - case 551: + case 552: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2799 +//line sql.y:2803 { yyVAL.limit = &Limit{Offset: yyDollar[2].expr, Rowcount: yyDollar[4].expr} } - case 552: + case 553: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2803 +//line sql.y:2807 { yyVAL.limit = &Limit{Offset: yyDollar[4].expr, Rowcount: yyDollar[2].expr} } - case 553: + case 554: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2808 +//line sql.y:2812 { yyVAL.str = "" } - case 554: + case 555: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2812 +//line sql.y:2816 { yyVAL.str = ForUpdateStr } - case 555: + case 556: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2816 +//line sql.y:2820 { yyVAL.str = ShareModeStr } - case 556: + case 557: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2829 +//line sql.y:2833 { yyVAL.ins = &Insert{Rows: yyDollar[2].values} } - case 557: + case 558: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2833 +//line sql.y:2837 { yyVAL.ins = &Insert{Rows: yyDollar[1].selStmt} } - case 558: + case 559: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2837 +//line sql.y:2841 { // Drop the redundant parenthesis. yyVAL.ins = &Insert{Rows: yyDollar[2].selStmt} } - case 559: + case 560: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2842 +//line sql.y:2846 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].values} } - case 560: + case 561: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2846 +//line sql.y:2850 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[4].selStmt} } - case 561: + case 562: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2850 +//line sql.y:2854 { // Drop the redundant parenthesis. yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].selStmt} } - case 562: + case 563: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2857 +//line sql.y:2861 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 563: + case 564: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2861 +//line sql.y:2865 { yyVAL.columns = Columns{yyDollar[3].colIdent} } - case 564: + case 565: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2865 +//line sql.y:2869 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 565: + case 566: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2869 +//line sql.y:2873 { yyVAL.columns = append(yyVAL.columns, yyDollar[5].colIdent) } - case 566: + case 567: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2874 +//line sql.y:2878 { yyVAL.updateExprs = nil } - case 567: + case 568: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2878 +//line sql.y:2882 { yyVAL.updateExprs = yyDollar[5].updateExprs } - case 568: + case 569: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2884 +//line sql.y:2888 { yyVAL.values = Values{yyDollar[1].valTuple} } - case 569: + case 570: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2888 +//line sql.y:2892 { yyVAL.values = append(yyDollar[1].values, yyDollar[3].valTuple) } - case 570: + case 571: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2894 +//line sql.y:2898 { yyVAL.valTuple = yyDollar[1].valTuple } - case 571: + case 572: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2898 +//line sql.y:2902 { yyVAL.valTuple = ValTuple{} } - case 572: + case 573: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2904 +//line sql.y:2908 { yyVAL.valTuple = ValTuple(yyDollar[2].exprs) } - case 573: + case 574: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2910 +//line sql.y:2914 { if len(yyDollar[1].valTuple) == 1 { yyVAL.expr = &ParenExpr{yyDollar[1].valTuple[0]} @@ -6138,195 +6161,189 @@ yydefault: yyVAL.expr = yyDollar[1].valTuple } } - case 574: + case 575: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2920 +//line sql.y:2924 { yyVAL.updateExprs = UpdateExprs{yyDollar[1].updateExpr} } - case 575: + case 576: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2924 +//line sql.y:2928 { yyVAL.updateExprs = append(yyDollar[1].updateExprs, yyDollar[3].updateExpr) } - case 576: + case 577: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2930 +//line sql.y:2934 { yyVAL.updateExpr = &UpdateExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr} } - case 577: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2936 - { - yyVAL.setExprs = SetExprs{yyDollar[1].setExpr} - } case 578: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2940 { - yyVAL.setExprs = append(yyDollar[1].setExprs, yyDollar[3].setExpr) + yyVAL.setExprs = SetExprs{yyDollar[1].setExpr} } case 579: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2946 +//line sql.y:2944 { - yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Expr: NewStrVal([]byte("on"))} + yyVAL.setExprs = append(yyDollar[1].setExprs, yyDollar[3].setExpr) } case 580: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2950 { - yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Expr: NewStrVal([]byte("off"))} + yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Expr: NewStrVal([]byte("on"))} } case 581: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2954 { - yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Expr: yyDollar[3].expr} + yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Expr: NewStrVal([]byte("off"))} } case 582: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2958 + { + yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Expr: yyDollar[3].expr} + } + case 583: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2962 { yyVAL.setExpr = &SetExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Expr: yyDollar[2].expr} } - case 584: + case 585: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2965 +//line sql.y:2969 { yyVAL.bytes = []byte("charset") } - case 586: + case 587: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2972 +//line sql.y:2976 { yyVAL.expr = NewStrVal([]byte(yyDollar[1].colIdent.String())) } - case 587: + case 588: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2976 +//line sql.y:2980 { yyVAL.expr = NewStrVal(yyDollar[1].bytes) } - case 588: + case 589: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2980 +//line sql.y:2984 { yyVAL.expr = &Default{} } - case 591: + case 592: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2989 +//line sql.y:2993 { yyVAL.byt = 0 } - case 592: + case 593: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2991 +//line sql.y:2995 { yyVAL.byt = 1 } - case 593: + case 594: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2994 +//line sql.y:2998 { yyVAL.empty = struct{}{} } - case 594: + case 595: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2996 +//line sql.y:3000 { yyVAL.empty = struct{}{} } - case 595: + case 596: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2999 +//line sql.y:3003 { yyVAL.str = "" } - case 596: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3001 - { - yyVAL.str = IgnoreStr - } case 597: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3005 { - yyVAL.empty = struct{}{} + yyVAL.str = IgnoreStr } case 598: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3007 +//line sql.y:3009 { yyVAL.empty = struct{}{} } case 599: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3009 +//line sql.y:3011 { yyVAL.empty = struct{}{} } case 600: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3011 +//line sql.y:3013 { yyVAL.empty = struct{}{} } case 601: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3013 +//line sql.y:3015 { yyVAL.empty = struct{}{} } case 602: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3015 +//line sql.y:3017 { yyVAL.empty = struct{}{} } case 603: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3017 +//line sql.y:3019 { yyVAL.empty = struct{}{} } case 604: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3019 +//line sql.y:3021 { yyVAL.empty = struct{}{} } case 605: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3021 +//line sql.y:3023 { yyVAL.empty = struct{}{} } case 606: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3023 +//line sql.y:3025 { yyVAL.empty = struct{}{} } case 607: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3026 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3027 { yyVAL.empty = struct{}{} } case 608: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3028 + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:3030 { yyVAL.empty = struct{}{} } case 609: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3030 +//line sql.y:3032 { yyVAL.empty = struct{}{} } @@ -6338,45 +6355,45 @@ yydefault: } case 611: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3036 +//line sql.y:3038 { yyVAL.empty = struct{}{} } case 612: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3039 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3040 { yyVAL.empty = struct{}{} } case 613: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3041 + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:3043 { yyVAL.empty = struct{}{} } case 614: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3043 +//line sql.y:3045 { yyVAL.empty = struct{}{} } case 615: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3046 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3047 { - yyVAL.colIdent = ColIdent{} + yyVAL.empty = struct{}{} } case 616: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3048 + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:3050 { - yyVAL.colIdent = yyDollar[2].colIdent + yyVAL.colIdent = ColIdent{} } case 617: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3052 { - yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) + yyVAL.colIdent = yyDollar[2].colIdent } case 618: yyDollar = yyS[yypt-1 : yypt+1] @@ -6384,17 +6401,17 @@ yydefault: { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 620: + case 619: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3063 +//line sql.y:3060 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } case 621: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3069 +//line sql.y:3067 { - yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) + yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } case 622: yyDollar = yyS[yypt-1 : yypt+1] @@ -6402,48 +6419,54 @@ yydefault: { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 624: + case 623: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3080 +//line sql.y:3077 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 827: + case 625: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3308 +//line sql.y:3084 + { + yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) + } + case 829: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3313 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 828: + case 830: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3317 +//line sql.y:3322 { decNesting(yylex) } - case 829: + case 831: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3322 +//line sql.y:3327 { forceEOF(yylex) } - case 830: + case 832: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3327 +//line sql.y:3332 { forceEOF(yylex) } - case 831: + case 833: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3331 +//line sql.y:3336 { forceEOF(yylex) } - case 832: + case 834: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3335 +//line sql.y:3340 { forceEOF(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 6ab1eaed063..a228742861b 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -162,7 +162,7 @@ func forceEOF(yylex interface{}) { %token SHOW DESCRIBE EXPLAIN DATE ESCAPE REPAIR OPTIMIZE TRUNCATE %token MAXVALUE PARTITION REORGANIZE LESS THAN PROCEDURE TRIGGER %token VINDEX VINDEXES -%token STATUS VARIABLES +%token STATUS VARIABLES WARNINGS // Transaction Tokens %token BEGIN START TRANSACTION COMMIT ROLLBACK @@ -1548,6 +1548,10 @@ show_statement: { $$ = &Show{Type: string($2)} } +| SHOW WARNINGS + { + $$ = &Show{Type: string($2)} + } /* * Catch-all for show statements without vitess keywords: * @@ -3298,6 +3302,7 @@ non_reserved_keyword: | VITESS_TABLETS | VSCHEMA_TABLES | VITESS_TARGET +| WARNINGS | WITH | WRITE | YEAR diff --git a/go/vt/sqlparser/token.go b/go/vt/sqlparser/token.go index 2b128d57a7f..2058dcac7ab 100644 --- a/go/vt/sqlparser/token.go +++ b/go/vt/sqlparser/token.go @@ -392,6 +392,7 @@ var keywords = map[string]int{ "vitess_tablets": VITESS_TABLETS, "vitess_target": VITESS_TARGET, "vschema_tables": VSCHEMA_TABLES, + "warnings": WARNINGS, "when": WHEN, "where": WHERE, "while": UNUSED, diff --git a/go/vt/vtgate/executor.go b/go/vt/vtgate/executor.go index 07f5a413c4a..4111644ae29 100644 --- a/go/vt/vtgate/executor.go +++ b/go/vt/vtgate/executor.go @@ -969,7 +969,28 @@ func (e *Executor) handleShow(ctx context.Context, safeSession *SafeSession, sql Rows: rows, RowsAffected: uint64(len(rows)), }, nil + case sqlparser.KeywordString(sqlparser.WARNINGS): + fields := []*querypb.Field{ + {Name: "Level", Type: sqltypes.VarChar}, + {Name: "Type", Type: sqltypes.Uint16}, + {Name: "Message", Type: sqltypes.VarChar}, + } + rows := make([][]sqltypes.Value, 0, 0) + + if safeSession.Warnings != nil { + for _, warning := range safeSession.Warnings { + rows = append(rows, []sqltypes.Value{ + sqltypes.NewVarChar("Warning"), + sqltypes.NewUint32(warning.Code), + sqltypes.NewVarChar(warning.Message), + }) + } + } + return &sqltypes.Result{ + Fields: fields, + Rows: rows, + }, nil } // Any other show statement is passed through diff --git a/go/vt/vtgate/executor_test.go b/go/vt/vtgate/executor_test.go index 0d70f20d8a6..f0ede87ce0b 100644 --- a/go/vt/vtgate/executor_test.go +++ b/go/vt/vtgate/executor_test.go @@ -27,6 +27,7 @@ import ( "golang.org/x/net/context" "github.com/golang/protobuf/proto" + "vitess.io/vitess/go/mysql" "vitess.io/vitess/go/sqltypes" "vitess.io/vitess/go/vt/callerid" "vitess.io/vitess/go/vt/sqlparser" @@ -737,6 +738,58 @@ func TestExecutorShow(t *testing.T) { t.Errorf("show vindexes on user: %v, want %v", err, wantErr) } + qr, err = executor.Execute(context.Background(), "TestExecute", session, "show warnings", nil) + wantqr = &sqltypes.Result{ + Fields: []*querypb.Field{ + {Name: "Level", Type: sqltypes.VarChar}, + {Name: "Type", Type: sqltypes.Uint16}, + {Name: "Message", Type: sqltypes.VarChar}, + }, + Rows: [][]sqltypes.Value{}, + RowsAffected: 0, + } + if !reflect.DeepEqual(qr, wantqr) { + t.Errorf("show warnings:\n%+v, want\n%+v", qr, wantqr) + + } + + session.Warnings = []*querypb.QueryWarning{} + qr, err = executor.Execute(context.Background(), "TestExecute", session, "show warnings", nil) + wantqr = &sqltypes.Result{ + Fields: []*querypb.Field{ + {Name: "Level", Type: sqltypes.VarChar}, + {Name: "Type", Type: sqltypes.Uint16}, + {Name: "Message", Type: sqltypes.VarChar}, + }, + Rows: [][]sqltypes.Value{}, + RowsAffected: 0, + } + if !reflect.DeepEqual(qr, wantqr) { + t.Errorf("show warnings:\n%+v, want\n%+v", qr, wantqr) + } + + session.Warnings = []*querypb.QueryWarning{ + {Code: mysql.ERBadTable, Message: "bad table"}, + {Code: mysql.ERVitessShardError, Message: "ks/-40: query timed out"}, + } + qr, err = executor.Execute(context.Background(), "TestExecute", session, "show warnings", nil) + wantqr = &sqltypes.Result{ + Fields: []*querypb.Field{ + {Name: "Level", Type: sqltypes.VarChar}, + {Name: "Type", Type: sqltypes.Uint16}, + {Name: "Message", Type: sqltypes.VarChar}, + }, + + Rows: [][]sqltypes.Value{ + {sqltypes.NewVarChar("Warning"), sqltypes.NewUint32(mysql.ERBadTable), sqltypes.NewVarChar("bad table")}, + {sqltypes.NewVarChar("Warning"), sqltypes.NewUint32(mysql.ERVitessShardError), sqltypes.NewVarChar("ks/-40: query timed out")}, + }, + RowsAffected: 0, + } + if !reflect.DeepEqual(qr, wantqr) { + t.Errorf("show warnings:\n%+v, want\n%+v", qr, wantqr) + } + // Make sure it still works when one of the keyspaces is in a bad state getSandbox("TestExecutor").SrvKeyspaceMustFail++ qr, err = executor.Execute(context.Background(), "TestExecute", session, "show vitess_shards", nil) diff --git a/proto/query.proto b/proto/query.proto index 5413fedd1a3..e55c95674b9 100644 --- a/proto/query.proto +++ b/proto/query.proto @@ -366,6 +366,13 @@ message QueryResult { ResultExtras extras = 5; } +// QueryWarning is used to convey out of band query execution warnings +// by storing in the vtgate.Session +message QueryWarning { + uint32 code = 1; + string message = 2; +} + // StreamEvent describes a set of transformations that happened as a // single transactional unit on a server. It is streamed back by the // Update Stream calls. diff --git a/proto/vtgate.proto b/proto/vtgate.proto index 8d7f5009a6d..823f4f4d07a 100644 --- a/proto/vtgate.proto +++ b/proto/vtgate.proto @@ -81,6 +81,9 @@ message Session { // transaction_mode specifies the current transaction mode. TransactionMode transaction_mode = 7; + + // warnings contains non-fatal warnings from the previous query + repeated query.QueryWarning warnings = 8; } // ExecuteRequest is the payload to Execute. diff --git a/py/vtproto/query_pb2.py b/py/vtproto/query_pb2.py index 9cdaa2e52e6..fa74a6018bd 100644 --- a/py/vtproto/query_pb2.py +++ b/py/vtproto/query_pb2.py @@ -22,7 +22,7 @@ name='query.proto', package='query', syntax='proto3', - serialized_pb=_b('\n\x0bquery.proto\x12\x05query\x1a\x0etopodata.proto\x1a\x0bvtrpc.proto\"b\n\x06Target\x12\x10\n\x08keyspace\x18\x01 \x01(\t\x12\r\n\x05shard\x18\x02 \x01(\t\x12)\n\x0btablet_type\x18\x03 \x01(\x0e\x32\x14.topodata.TabletType\x12\x0c\n\x04\x63\x65ll\x18\x04 \x01(\t\"2\n\x0eVTGateCallerID\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0e\n\x06groups\x18\x02 \x03(\t\"@\n\nEventToken\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\r\n\x05shard\x18\x02 \x01(\t\x12\x10\n\x08position\x18\x03 \x01(\t\"1\n\x05Value\x12\x19\n\x04type\x18\x01 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05value\x18\x02 \x01(\x0c\"V\n\x0c\x42indVariable\x12\x19\n\x04type\x18\x01 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x1c\n\x06values\x18\x03 \x03(\x0b\x32\x0c.query.Value\"\xa2\x01\n\nBoundQuery\x12\x0b\n\x03sql\x18\x01 \x01(\t\x12<\n\x0e\x62ind_variables\x18\x02 \x03(\x0b\x32$.query.BoundQuery.BindVariablesEntry\x1aI\n\x12\x42indVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.query.BindVariable:\x02\x38\x01\"\xe0\x04\n\x0e\x45xecuteOptions\x12\x1b\n\x13include_event_token\x18\x02 \x01(\x08\x12.\n\x13\x63ompare_event_token\x18\x03 \x01(\x0b\x32\x11.query.EventToken\x12=\n\x0fincluded_fields\x18\x04 \x01(\x0e\x32$.query.ExecuteOptions.IncludedFields\x12\x19\n\x11\x63lient_found_rows\x18\x05 \x01(\x08\x12\x30\n\x08workload\x18\x06 \x01(\x0e\x32\x1e.query.ExecuteOptions.Workload\x12\x18\n\x10sql_select_limit\x18\x08 \x01(\x03\x12I\n\x15transaction_isolation\x18\t \x01(\x0e\x32*.query.ExecuteOptions.TransactionIsolation\x12\x1d\n\x15skip_query_plan_cache\x18\n \x01(\x08\";\n\x0eIncludedFields\x12\x11\n\rTYPE_AND_NAME\x10\x00\x12\r\n\tTYPE_ONLY\x10\x01\x12\x07\n\x03\x41LL\x10\x02\"8\n\x08Workload\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04OLTP\x10\x01\x12\x08\n\x04OLAP\x10\x02\x12\x07\n\x03\x44\x42\x41\x10\x03\"t\n\x14TransactionIsolation\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x13\n\x0fREPEATABLE_READ\x10\x01\x12\x12\n\x0eREAD_COMMITTED\x10\x02\x12\x14\n\x10READ_UNCOMMITTED\x10\x03\x12\x10\n\x0cSERIALIZABLE\x10\x04J\x04\x08\x01\x10\x02\"\xbf\x01\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x19\n\x04type\x18\x02 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05table\x18\x03 \x01(\t\x12\x11\n\torg_table\x18\x04 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x05 \x01(\t\x12\x10\n\x08org_name\x18\x06 \x01(\t\x12\x15\n\rcolumn_length\x18\x07 \x01(\r\x12\x0f\n\x07\x63harset\x18\x08 \x01(\r\x12\x10\n\x08\x64\x65\x63imals\x18\t \x01(\r\x12\r\n\x05\x66lags\x18\n \x01(\r\"&\n\x03Row\x12\x0f\n\x07lengths\x18\x01 \x03(\x12\x12\x0e\n\x06values\x18\x02 \x01(\x0c\"G\n\x0cResultExtras\x12&\n\x0b\x65vent_token\x18\x01 \x01(\x0b\x32\x11.query.EventToken\x12\x0f\n\x07\x66resher\x18\x02 \x01(\x08\"\x94\x01\n\x0bQueryResult\x12\x1c\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x0c.query.Field\x12\x15\n\rrows_affected\x18\x02 \x01(\x04\x12\x11\n\tinsert_id\x18\x03 \x01(\x04\x12\x18\n\x04rows\x18\x04 \x03(\x0b\x32\n.query.Row\x12#\n\x06\x65xtras\x18\x05 \x01(\x0b\x32\x13.query.ResultExtras\"\xca\x02\n\x0bStreamEvent\x12\x30\n\nstatements\x18\x01 \x03(\x0b\x32\x1c.query.StreamEvent.Statement\x12&\n\x0b\x65vent_token\x18\x02 \x01(\x0b\x32\x11.query.EventToken\x1a\xe0\x01\n\tStatement\x12\x37\n\x08\x63\x61tegory\x18\x01 \x01(\x0e\x32%.query.StreamEvent.Statement.Category\x12\x12\n\ntable_name\x18\x02 \x01(\t\x12(\n\x12primary_key_fields\x18\x03 \x03(\x0b\x32\x0c.query.Field\x12&\n\x12primary_key_values\x18\x04 \x03(\x0b\x32\n.query.Row\x12\x0b\n\x03sql\x18\x05 \x01(\x0c\"\'\n\x08\x43\x61tegory\x12\t\n\x05\x45rror\x10\x00\x12\x07\n\x03\x44ML\x10\x01\x12\x07\n\x03\x44\x44L\x10\x02\"\xf3\x01\n\x0e\x45xecuteRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12\x16\n\x0etransaction_id\x18\x05 \x01(\x03\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"5\n\x0f\x45xecuteResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"U\n\x0fResultWithError\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12\"\n\x06result\x18\x02 \x01(\x0b\x32\x12.query.QueryResult\"\x92\x02\n\x13\x45xecuteBatchRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\"\n\x07queries\x18\x04 \x03(\x0b\x32\x11.query.BoundQuery\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x03\x12&\n\x07options\x18\x07 \x01(\x0b\x32\x15.query.ExecuteOptions\";\n\x14\x45xecuteBatchResponse\x12#\n\x07results\x18\x01 \x03(\x0b\x32\x12.query.QueryResult\"\xe1\x01\n\x14StreamExecuteRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12&\n\x07options\x18\x05 \x01(\x0b\x32\x15.query.ExecuteOptions\";\n\x15StreamExecuteResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xb7\x01\n\x0c\x42\x65ginRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12&\n\x07options\x18\x04 \x01(\x0b\x32\x15.query.ExecuteOptions\"\'\n\rBeginResponse\x12\x16\n\x0etransaction_id\x18\x01 \x01(\x03\"\xa8\x01\n\rCommitRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\"\x10\n\x0e\x43ommitResponse\"\xaa\x01\n\x0fRollbackRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\"\x12\n\x10RollbackResponse\"\xb7\x01\n\x0ePrepareRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x11\n\x0fPrepareResponse\"\xa6\x01\n\x15\x43ommitPreparedRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\"\x18\n\x16\x43ommitPreparedResponse\"\xc0\x01\n\x17RollbackPreparedRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x1a\n\x18RollbackPreparedResponse\"\xce\x01\n\x18\x43reateTransactionRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\x12#\n\x0cparticipants\x18\x05 \x03(\x0b\x32\r.query.Target\"\x1b\n\x19\x43reateTransactionResponse\"\xbb\x01\n\x12StartCommitRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x15\n\x13StartCommitResponse\"\xbb\x01\n\x12SetRollbackRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x15\n\x13SetRollbackResponse\"\xab\x01\n\x1a\x43oncludeTransactionRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\"\x1d\n\x1b\x43oncludeTransactionResponse\"\xa7\x01\n\x16ReadTransactionRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\"G\n\x17ReadTransactionResponse\x12,\n\x08metadata\x18\x01 \x01(\x0b\x32\x1a.query.TransactionMetadata\"\xe0\x01\n\x13\x42\x65ginExecuteRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12&\n\x07options\x18\x05 \x01(\x0b\x32\x15.query.ExecuteOptions\"r\n\x14\x42\x65ginExecuteResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12\"\n\x06result\x18\x02 \x01(\x0b\x32\x12.query.QueryResult\x12\x16\n\x0etransaction_id\x18\x03 \x01(\x03\"\xff\x01\n\x18\x42\x65ginExecuteBatchRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\"\n\x07queries\x18\x04 \x03(\x0b\x32\x11.query.BoundQuery\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"x\n\x19\x42\x65ginExecuteBatchResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12#\n\x07results\x18\x02 \x03(\x0b\x32\x12.query.QueryResult\x12\x16\n\x0etransaction_id\x18\x03 \x01(\x03\"\xa5\x01\n\x14MessageStreamRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04name\x18\x04 \x01(\t\";\n\x15MessageStreamResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xbd\x01\n\x11MessageAckRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x19\n\x03ids\x18\x05 \x03(\x0b\x32\x0c.query.Value\"8\n\x12MessageAckResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xe7\x02\n\x11SplitQueryRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12\x14\n\x0csplit_column\x18\x05 \x03(\t\x12\x13\n\x0bsplit_count\x18\x06 \x01(\x03\x12\x1f\n\x17num_rows_per_query_part\x18\x08 \x01(\x03\x12\x35\n\talgorithm\x18\t \x01(\x0e\x32\".query.SplitQueryRequest.Algorithm\",\n\tAlgorithm\x12\x10\n\x0c\x45QUAL_SPLITS\x10\x00\x12\r\n\tFULL_SCAN\x10\x01\"A\n\nQuerySplit\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12\x11\n\trow_count\x18\x02 \x01(\x03\"8\n\x12SplitQueryResponse\x12\"\n\x07queries\x18\x01 \x03(\x0b\x32\x11.query.QuerySplit\"\x15\n\x13StreamHealthRequest\"\xb6\x01\n\rRealtimeStats\x12\x14\n\x0chealth_error\x18\x01 \x01(\t\x12\x1d\n\x15seconds_behind_master\x18\x02 \x01(\r\x12\x1c\n\x14\x62inlog_players_count\x18\x03 \x01(\x05\x12\x32\n*seconds_behind_master_filtered_replication\x18\x04 \x01(\x03\x12\x11\n\tcpu_usage\x18\x05 \x01(\x01\x12\x0b\n\x03qps\x18\x06 \x01(\x01\"\x94\x01\n\x0e\x41ggregateStats\x12\x1c\n\x14healthy_tablet_count\x18\x01 \x01(\x05\x12\x1e\n\x16unhealthy_tablet_count\x18\x02 \x01(\x05\x12!\n\x19seconds_behind_master_min\x18\x03 \x01(\r\x12!\n\x19seconds_behind_master_max\x18\x04 \x01(\r\"\x81\x02\n\x14StreamHealthResponse\x12\x1d\n\x06target\x18\x01 \x01(\x0b\x32\r.query.Target\x12\x0f\n\x07serving\x18\x02 \x01(\x08\x12.\n&tablet_externally_reparented_timestamp\x18\x03 \x01(\x03\x12,\n\x0erealtime_stats\x18\x04 \x01(\x0b\x32\x14.query.RealtimeStats\x12.\n\x0f\x61ggregate_stats\x18\x06 \x01(\x0b\x32\x15.query.AggregateStats\x12+\n\x0ctablet_alias\x18\x05 \x01(\x0b\x32\x15.topodata.TabletAlias\"\xbb\x01\n\x13UpdateStreamRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x10\n\x08position\x18\x04 \x01(\t\x12\x11\n\ttimestamp\x18\x05 \x01(\x03\"9\n\x14UpdateStreamResponse\x12!\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x12.query.StreamEvent\"\x86\x01\n\x13TransactionMetadata\x12\x0c\n\x04\x64tid\x18\x01 \x01(\t\x12&\n\x05state\x18\x02 \x01(\x0e\x32\x17.query.TransactionState\x12\x14\n\x0ctime_created\x18\x03 \x01(\x03\x12#\n\x0cparticipants\x18\x04 \x03(\x0b\x32\r.query.Target*\x92\x03\n\tMySqlFlag\x12\t\n\x05\x45MPTY\x10\x00\x12\x11\n\rNOT_NULL_FLAG\x10\x01\x12\x10\n\x0cPRI_KEY_FLAG\x10\x02\x12\x13\n\x0fUNIQUE_KEY_FLAG\x10\x04\x12\x15\n\x11MULTIPLE_KEY_FLAG\x10\x08\x12\r\n\tBLOB_FLAG\x10\x10\x12\x11\n\rUNSIGNED_FLAG\x10 \x12\x11\n\rZEROFILL_FLAG\x10@\x12\x10\n\x0b\x42INARY_FLAG\x10\x80\x01\x12\x0e\n\tENUM_FLAG\x10\x80\x02\x12\x18\n\x13\x41UTO_INCREMENT_FLAG\x10\x80\x04\x12\x13\n\x0eTIMESTAMP_FLAG\x10\x80\x08\x12\r\n\x08SET_FLAG\x10\x80\x10\x12\x1a\n\x15NO_DEFAULT_VALUE_FLAG\x10\x80 \x12\x17\n\x12ON_UPDATE_NOW_FLAG\x10\x80@\x12\x0e\n\x08NUM_FLAG\x10\x80\x80\x02\x12\x13\n\rPART_KEY_FLAG\x10\x80\x80\x01\x12\x10\n\nGROUP_FLAG\x10\x80\x80\x02\x12\x11\n\x0bUNIQUE_FLAG\x10\x80\x80\x04\x12\x11\n\x0b\x42INCMP_FLAG\x10\x80\x80\x08\x1a\x02\x10\x01*k\n\x04\x46lag\x12\x08\n\x04NONE\x10\x00\x12\x0f\n\nISINTEGRAL\x10\x80\x02\x12\x0f\n\nISUNSIGNED\x10\x80\x04\x12\x0c\n\x07ISFLOAT\x10\x80\x08\x12\r\n\x08ISQUOTED\x10\x80\x10\x12\x0b\n\x06ISTEXT\x10\x80 \x12\r\n\x08ISBINARY\x10\x80@*\x99\x03\n\x04Type\x12\r\n\tNULL_TYPE\x10\x00\x12\t\n\x04INT8\x10\x81\x02\x12\n\n\x05UINT8\x10\x82\x06\x12\n\n\x05INT16\x10\x83\x02\x12\x0b\n\x06UINT16\x10\x84\x06\x12\n\n\x05INT24\x10\x85\x02\x12\x0b\n\x06UINT24\x10\x86\x06\x12\n\n\x05INT32\x10\x87\x02\x12\x0b\n\x06UINT32\x10\x88\x06\x12\n\n\x05INT64\x10\x89\x02\x12\x0b\n\x06UINT64\x10\x8a\x06\x12\x0c\n\x07\x46LOAT32\x10\x8b\x08\x12\x0c\n\x07\x46LOAT64\x10\x8c\x08\x12\x0e\n\tTIMESTAMP\x10\x8d\x10\x12\t\n\x04\x44\x41TE\x10\x8e\x10\x12\t\n\x04TIME\x10\x8f\x10\x12\r\n\x08\x44\x41TETIME\x10\x90\x10\x12\t\n\x04YEAR\x10\x91\x06\x12\x0b\n\x07\x44\x45\x43IMAL\x10\x12\x12\t\n\x04TEXT\x10\x93\x30\x12\t\n\x04\x42LOB\x10\x94P\x12\x0c\n\x07VARCHAR\x10\x95\x30\x12\x0e\n\tVARBINARY\x10\x96P\x12\t\n\x04\x43HAR\x10\x97\x30\x12\x0b\n\x06\x42INARY\x10\x98P\x12\x08\n\x03\x42IT\x10\x99\x10\x12\t\n\x04\x45NUM\x10\x9a\x10\x12\x08\n\x03SET\x10\x9b\x10\x12\t\n\x05TUPLE\x10\x1c\x12\r\n\x08GEOMETRY\x10\x9d\x10\x12\t\n\x04JSON\x10\x9e\x10\x12\x0e\n\nEXPRESSION\x10\x1f*F\n\x10TransactionState\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07PREPARE\x10\x01\x12\n\n\x06\x43OMMIT\x10\x02\x12\x0c\n\x08ROLLBACK\x10\x03\x42\x35\n\x0fio.vitess.protoZ\"vitess.io/vitess/go/vt/proto/queryb\x06proto3') + serialized_pb=_b('\n\x0bquery.proto\x12\x05query\x1a\x0etopodata.proto\x1a\x0bvtrpc.proto\"b\n\x06Target\x12\x10\n\x08keyspace\x18\x01 \x01(\t\x12\r\n\x05shard\x18\x02 \x01(\t\x12)\n\x0btablet_type\x18\x03 \x01(\x0e\x32\x14.topodata.TabletType\x12\x0c\n\x04\x63\x65ll\x18\x04 \x01(\t\"2\n\x0eVTGateCallerID\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0e\n\x06groups\x18\x02 \x03(\t\"@\n\nEventToken\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\r\n\x05shard\x18\x02 \x01(\t\x12\x10\n\x08position\x18\x03 \x01(\t\"1\n\x05Value\x12\x19\n\x04type\x18\x01 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05value\x18\x02 \x01(\x0c\"V\n\x0c\x42indVariable\x12\x19\n\x04type\x18\x01 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x1c\n\x06values\x18\x03 \x03(\x0b\x32\x0c.query.Value\"\xa2\x01\n\nBoundQuery\x12\x0b\n\x03sql\x18\x01 \x01(\t\x12<\n\x0e\x62ind_variables\x18\x02 \x03(\x0b\x32$.query.BoundQuery.BindVariablesEntry\x1aI\n\x12\x42indVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.query.BindVariable:\x02\x38\x01\"\xe0\x04\n\x0e\x45xecuteOptions\x12\x1b\n\x13include_event_token\x18\x02 \x01(\x08\x12.\n\x13\x63ompare_event_token\x18\x03 \x01(\x0b\x32\x11.query.EventToken\x12=\n\x0fincluded_fields\x18\x04 \x01(\x0e\x32$.query.ExecuteOptions.IncludedFields\x12\x19\n\x11\x63lient_found_rows\x18\x05 \x01(\x08\x12\x30\n\x08workload\x18\x06 \x01(\x0e\x32\x1e.query.ExecuteOptions.Workload\x12\x18\n\x10sql_select_limit\x18\x08 \x01(\x03\x12I\n\x15transaction_isolation\x18\t \x01(\x0e\x32*.query.ExecuteOptions.TransactionIsolation\x12\x1d\n\x15skip_query_plan_cache\x18\n \x01(\x08\";\n\x0eIncludedFields\x12\x11\n\rTYPE_AND_NAME\x10\x00\x12\r\n\tTYPE_ONLY\x10\x01\x12\x07\n\x03\x41LL\x10\x02\"8\n\x08Workload\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04OLTP\x10\x01\x12\x08\n\x04OLAP\x10\x02\x12\x07\n\x03\x44\x42\x41\x10\x03\"t\n\x14TransactionIsolation\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x13\n\x0fREPEATABLE_READ\x10\x01\x12\x12\n\x0eREAD_COMMITTED\x10\x02\x12\x14\n\x10READ_UNCOMMITTED\x10\x03\x12\x10\n\x0cSERIALIZABLE\x10\x04J\x04\x08\x01\x10\x02\"\xbf\x01\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x19\n\x04type\x18\x02 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05table\x18\x03 \x01(\t\x12\x11\n\torg_table\x18\x04 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x05 \x01(\t\x12\x10\n\x08org_name\x18\x06 \x01(\t\x12\x15\n\rcolumn_length\x18\x07 \x01(\r\x12\x0f\n\x07\x63harset\x18\x08 \x01(\r\x12\x10\n\x08\x64\x65\x63imals\x18\t \x01(\r\x12\r\n\x05\x66lags\x18\n \x01(\r\"&\n\x03Row\x12\x0f\n\x07lengths\x18\x01 \x03(\x12\x12\x0e\n\x06values\x18\x02 \x01(\x0c\"G\n\x0cResultExtras\x12&\n\x0b\x65vent_token\x18\x01 \x01(\x0b\x32\x11.query.EventToken\x12\x0f\n\x07\x66resher\x18\x02 \x01(\x08\"\x94\x01\n\x0bQueryResult\x12\x1c\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x0c.query.Field\x12\x15\n\rrows_affected\x18\x02 \x01(\x04\x12\x11\n\tinsert_id\x18\x03 \x01(\x04\x12\x18\n\x04rows\x18\x04 \x03(\x0b\x32\n.query.Row\x12#\n\x06\x65xtras\x18\x05 \x01(\x0b\x32\x13.query.ResultExtras\"-\n\x0cQueryWarning\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xca\x02\n\x0bStreamEvent\x12\x30\n\nstatements\x18\x01 \x03(\x0b\x32\x1c.query.StreamEvent.Statement\x12&\n\x0b\x65vent_token\x18\x02 \x01(\x0b\x32\x11.query.EventToken\x1a\xe0\x01\n\tStatement\x12\x37\n\x08\x63\x61tegory\x18\x01 \x01(\x0e\x32%.query.StreamEvent.Statement.Category\x12\x12\n\ntable_name\x18\x02 \x01(\t\x12(\n\x12primary_key_fields\x18\x03 \x03(\x0b\x32\x0c.query.Field\x12&\n\x12primary_key_values\x18\x04 \x03(\x0b\x32\n.query.Row\x12\x0b\n\x03sql\x18\x05 \x01(\x0c\"\'\n\x08\x43\x61tegory\x12\t\n\x05\x45rror\x10\x00\x12\x07\n\x03\x44ML\x10\x01\x12\x07\n\x03\x44\x44L\x10\x02\"\xf3\x01\n\x0e\x45xecuteRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12\x16\n\x0etransaction_id\x18\x05 \x01(\x03\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"5\n\x0f\x45xecuteResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"U\n\x0fResultWithError\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12\"\n\x06result\x18\x02 \x01(\x0b\x32\x12.query.QueryResult\"\x92\x02\n\x13\x45xecuteBatchRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\"\n\x07queries\x18\x04 \x03(\x0b\x32\x11.query.BoundQuery\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x03\x12&\n\x07options\x18\x07 \x01(\x0b\x32\x15.query.ExecuteOptions\";\n\x14\x45xecuteBatchResponse\x12#\n\x07results\x18\x01 \x03(\x0b\x32\x12.query.QueryResult\"\xe1\x01\n\x14StreamExecuteRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12&\n\x07options\x18\x05 \x01(\x0b\x32\x15.query.ExecuteOptions\";\n\x15StreamExecuteResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xb7\x01\n\x0c\x42\x65ginRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12&\n\x07options\x18\x04 \x01(\x0b\x32\x15.query.ExecuteOptions\"\'\n\rBeginResponse\x12\x16\n\x0etransaction_id\x18\x01 \x01(\x03\"\xa8\x01\n\rCommitRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\"\x10\n\x0e\x43ommitResponse\"\xaa\x01\n\x0fRollbackRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\"\x12\n\x10RollbackResponse\"\xb7\x01\n\x0ePrepareRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x11\n\x0fPrepareResponse\"\xa6\x01\n\x15\x43ommitPreparedRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\"\x18\n\x16\x43ommitPreparedResponse\"\xc0\x01\n\x17RollbackPreparedRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x1a\n\x18RollbackPreparedResponse\"\xce\x01\n\x18\x43reateTransactionRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\x12#\n\x0cparticipants\x18\x05 \x03(\x0b\x32\r.query.Target\"\x1b\n\x19\x43reateTransactionResponse\"\xbb\x01\n\x12StartCommitRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x15\n\x13StartCommitResponse\"\xbb\x01\n\x12SetRollbackRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x15\n\x13SetRollbackResponse\"\xab\x01\n\x1a\x43oncludeTransactionRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\"\x1d\n\x1b\x43oncludeTransactionResponse\"\xa7\x01\n\x16ReadTransactionRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\"G\n\x17ReadTransactionResponse\x12,\n\x08metadata\x18\x01 \x01(\x0b\x32\x1a.query.TransactionMetadata\"\xe0\x01\n\x13\x42\x65ginExecuteRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12&\n\x07options\x18\x05 \x01(\x0b\x32\x15.query.ExecuteOptions\"r\n\x14\x42\x65ginExecuteResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12\"\n\x06result\x18\x02 \x01(\x0b\x32\x12.query.QueryResult\x12\x16\n\x0etransaction_id\x18\x03 \x01(\x03\"\xff\x01\n\x18\x42\x65ginExecuteBatchRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\"\n\x07queries\x18\x04 \x03(\x0b\x32\x11.query.BoundQuery\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"x\n\x19\x42\x65ginExecuteBatchResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12#\n\x07results\x18\x02 \x03(\x0b\x32\x12.query.QueryResult\x12\x16\n\x0etransaction_id\x18\x03 \x01(\x03\"\xa5\x01\n\x14MessageStreamRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04name\x18\x04 \x01(\t\";\n\x15MessageStreamResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xbd\x01\n\x11MessageAckRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x19\n\x03ids\x18\x05 \x03(\x0b\x32\x0c.query.Value\"8\n\x12MessageAckResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xe7\x02\n\x11SplitQueryRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12\x14\n\x0csplit_column\x18\x05 \x03(\t\x12\x13\n\x0bsplit_count\x18\x06 \x01(\x03\x12\x1f\n\x17num_rows_per_query_part\x18\x08 \x01(\x03\x12\x35\n\talgorithm\x18\t \x01(\x0e\x32\".query.SplitQueryRequest.Algorithm\",\n\tAlgorithm\x12\x10\n\x0c\x45QUAL_SPLITS\x10\x00\x12\r\n\tFULL_SCAN\x10\x01\"A\n\nQuerySplit\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12\x11\n\trow_count\x18\x02 \x01(\x03\"8\n\x12SplitQueryResponse\x12\"\n\x07queries\x18\x01 \x03(\x0b\x32\x11.query.QuerySplit\"\x15\n\x13StreamHealthRequest\"\xb6\x01\n\rRealtimeStats\x12\x14\n\x0chealth_error\x18\x01 \x01(\t\x12\x1d\n\x15seconds_behind_master\x18\x02 \x01(\r\x12\x1c\n\x14\x62inlog_players_count\x18\x03 \x01(\x05\x12\x32\n*seconds_behind_master_filtered_replication\x18\x04 \x01(\x03\x12\x11\n\tcpu_usage\x18\x05 \x01(\x01\x12\x0b\n\x03qps\x18\x06 \x01(\x01\"\x94\x01\n\x0e\x41ggregateStats\x12\x1c\n\x14healthy_tablet_count\x18\x01 \x01(\x05\x12\x1e\n\x16unhealthy_tablet_count\x18\x02 \x01(\x05\x12!\n\x19seconds_behind_master_min\x18\x03 \x01(\r\x12!\n\x19seconds_behind_master_max\x18\x04 \x01(\r\"\x81\x02\n\x14StreamHealthResponse\x12\x1d\n\x06target\x18\x01 \x01(\x0b\x32\r.query.Target\x12\x0f\n\x07serving\x18\x02 \x01(\x08\x12.\n&tablet_externally_reparented_timestamp\x18\x03 \x01(\x03\x12,\n\x0erealtime_stats\x18\x04 \x01(\x0b\x32\x14.query.RealtimeStats\x12.\n\x0f\x61ggregate_stats\x18\x06 \x01(\x0b\x32\x15.query.AggregateStats\x12+\n\x0ctablet_alias\x18\x05 \x01(\x0b\x32\x15.topodata.TabletAlias\"\xbb\x01\n\x13UpdateStreamRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x10\n\x08position\x18\x04 \x01(\t\x12\x11\n\ttimestamp\x18\x05 \x01(\x03\"9\n\x14UpdateStreamResponse\x12!\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x12.query.StreamEvent\"\x86\x01\n\x13TransactionMetadata\x12\x0c\n\x04\x64tid\x18\x01 \x01(\t\x12&\n\x05state\x18\x02 \x01(\x0e\x32\x17.query.TransactionState\x12\x14\n\x0ctime_created\x18\x03 \x01(\x03\x12#\n\x0cparticipants\x18\x04 \x03(\x0b\x32\r.query.Target*\x92\x03\n\tMySqlFlag\x12\t\n\x05\x45MPTY\x10\x00\x12\x11\n\rNOT_NULL_FLAG\x10\x01\x12\x10\n\x0cPRI_KEY_FLAG\x10\x02\x12\x13\n\x0fUNIQUE_KEY_FLAG\x10\x04\x12\x15\n\x11MULTIPLE_KEY_FLAG\x10\x08\x12\r\n\tBLOB_FLAG\x10\x10\x12\x11\n\rUNSIGNED_FLAG\x10 \x12\x11\n\rZEROFILL_FLAG\x10@\x12\x10\n\x0b\x42INARY_FLAG\x10\x80\x01\x12\x0e\n\tENUM_FLAG\x10\x80\x02\x12\x18\n\x13\x41UTO_INCREMENT_FLAG\x10\x80\x04\x12\x13\n\x0eTIMESTAMP_FLAG\x10\x80\x08\x12\r\n\x08SET_FLAG\x10\x80\x10\x12\x1a\n\x15NO_DEFAULT_VALUE_FLAG\x10\x80 \x12\x17\n\x12ON_UPDATE_NOW_FLAG\x10\x80@\x12\x0e\n\x08NUM_FLAG\x10\x80\x80\x02\x12\x13\n\rPART_KEY_FLAG\x10\x80\x80\x01\x12\x10\n\nGROUP_FLAG\x10\x80\x80\x02\x12\x11\n\x0bUNIQUE_FLAG\x10\x80\x80\x04\x12\x11\n\x0b\x42INCMP_FLAG\x10\x80\x80\x08\x1a\x02\x10\x01*k\n\x04\x46lag\x12\x08\n\x04NONE\x10\x00\x12\x0f\n\nISINTEGRAL\x10\x80\x02\x12\x0f\n\nISUNSIGNED\x10\x80\x04\x12\x0c\n\x07ISFLOAT\x10\x80\x08\x12\r\n\x08ISQUOTED\x10\x80\x10\x12\x0b\n\x06ISTEXT\x10\x80 \x12\r\n\x08ISBINARY\x10\x80@*\x99\x03\n\x04Type\x12\r\n\tNULL_TYPE\x10\x00\x12\t\n\x04INT8\x10\x81\x02\x12\n\n\x05UINT8\x10\x82\x06\x12\n\n\x05INT16\x10\x83\x02\x12\x0b\n\x06UINT16\x10\x84\x06\x12\n\n\x05INT24\x10\x85\x02\x12\x0b\n\x06UINT24\x10\x86\x06\x12\n\n\x05INT32\x10\x87\x02\x12\x0b\n\x06UINT32\x10\x88\x06\x12\n\n\x05INT64\x10\x89\x02\x12\x0b\n\x06UINT64\x10\x8a\x06\x12\x0c\n\x07\x46LOAT32\x10\x8b\x08\x12\x0c\n\x07\x46LOAT64\x10\x8c\x08\x12\x0e\n\tTIMESTAMP\x10\x8d\x10\x12\t\n\x04\x44\x41TE\x10\x8e\x10\x12\t\n\x04TIME\x10\x8f\x10\x12\r\n\x08\x44\x41TETIME\x10\x90\x10\x12\t\n\x04YEAR\x10\x91\x06\x12\x0b\n\x07\x44\x45\x43IMAL\x10\x12\x12\t\n\x04TEXT\x10\x93\x30\x12\t\n\x04\x42LOB\x10\x94P\x12\x0c\n\x07VARCHAR\x10\x95\x30\x12\x0e\n\tVARBINARY\x10\x96P\x12\t\n\x04\x43HAR\x10\x97\x30\x12\x0b\n\x06\x42INARY\x10\x98P\x12\x08\n\x03\x42IT\x10\x99\x10\x12\t\n\x04\x45NUM\x10\x9a\x10\x12\x08\n\x03SET\x10\x9b\x10\x12\t\n\x05TUPLE\x10\x1c\x12\r\n\x08GEOMETRY\x10\x9d\x10\x12\t\n\x04JSON\x10\x9e\x10\x12\x0e\n\nEXPRESSION\x10\x1f*F\n\x10TransactionState\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07PREPARE\x10\x01\x12\n\n\x06\x43OMMIT\x10\x02\x12\x0c\n\x08ROLLBACK\x10\x03\x42\x35\n\x0fio.vitess.protoZ\"vitess.io/vitess/go/vt/proto/queryb\x06proto3') , dependencies=[topodata__pb2.DESCRIPTOR,vtrpc__pb2.DESCRIPTOR,]) @@ -115,8 +115,8 @@ ], containing_type=None, options=_descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _b('\020\001')), - serialized_start=8029, - serialized_end=8431, + serialized_start=8076, + serialized_end=8478, ) _sym_db.RegisterEnumDescriptor(_MYSQLFLAG) @@ -158,8 +158,8 @@ ], containing_type=None, options=None, - serialized_start=8433, - serialized_end=8540, + serialized_start=8480, + serialized_end=8587, ) _sym_db.RegisterEnumDescriptor(_FLAG) @@ -301,8 +301,8 @@ ], containing_type=None, options=None, - serialized_start=8543, - serialized_end=8952, + serialized_start=8590, + serialized_end=8999, ) _sym_db.RegisterEnumDescriptor(_TYPE) @@ -332,8 +332,8 @@ ], containing_type=None, options=None, - serialized_start=8954, - serialized_end=9024, + serialized_start=9001, + serialized_end=9071, ) _sym_db.RegisterEnumDescriptor(_TRANSACTIONSTATE) @@ -514,8 +514,8 @@ ], containing_type=None, options=None, - serialized_start=1934, - serialized_end=1973, + serialized_start=1981, + serialized_end=2020, ) _sym_db.RegisterEnumDescriptor(_STREAMEVENT_STATEMENT_CATEGORY) @@ -536,8 +536,8 @@ ], containing_type=None, options=None, - serialized_start=6852, - serialized_end=6896, + serialized_start=6899, + serialized_end=6943, ) _sym_db.RegisterEnumDescriptor(_SPLITQUERYREQUEST_ALGORITHM) @@ -1147,6 +1147,44 @@ ) +_QUERYWARNING = _descriptor.Descriptor( + name='QueryWarning', + full_name='query.QueryWarning', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='code', full_name='query.QueryWarning.code', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='message', full_name='query.QueryWarning.message', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1642, + serialized_end=1687, +) + + _STREAMEVENT_STATEMENT = _descriptor.Descriptor( name='Statement', full_name='query.StreamEvent.Statement', @@ -1202,8 +1240,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1749, - serialized_end=1973, + serialized_start=1796, + serialized_end=2020, ) _STREAMEVENT = _descriptor.Descriptor( @@ -1239,8 +1277,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1643, - serialized_end=1973, + serialized_start=1690, + serialized_end=2020, ) @@ -1305,8 +1343,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1976, - serialized_end=2219, + serialized_start=2023, + serialized_end=2266, ) @@ -1336,8 +1374,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2221, - serialized_end=2274, + serialized_start=2268, + serialized_end=2321, ) @@ -1374,8 +1412,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2276, - serialized_end=2361, + serialized_start=2323, + serialized_end=2408, ) @@ -1447,8 +1485,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2364, - serialized_end=2638, + serialized_start=2411, + serialized_end=2685, ) @@ -1478,8 +1516,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2640, - serialized_end=2699, + serialized_start=2687, + serialized_end=2746, ) @@ -1537,8 +1575,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2702, - serialized_end=2927, + serialized_start=2749, + serialized_end=2974, ) @@ -1568,8 +1606,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2929, - serialized_end=2988, + serialized_start=2976, + serialized_end=3035, ) @@ -1620,8 +1658,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2991, - serialized_end=3174, + serialized_start=3038, + serialized_end=3221, ) @@ -1651,8 +1689,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3176, - serialized_end=3215, + serialized_start=3223, + serialized_end=3262, ) @@ -1703,8 +1741,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3218, - serialized_end=3386, + serialized_start=3265, + serialized_end=3433, ) @@ -1727,8 +1765,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3388, - serialized_end=3404, + serialized_start=3435, + serialized_end=3451, ) @@ -1779,8 +1817,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3407, - serialized_end=3577, + serialized_start=3454, + serialized_end=3624, ) @@ -1803,8 +1841,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3579, - serialized_end=3597, + serialized_start=3626, + serialized_end=3644, ) @@ -1862,8 +1900,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3600, - serialized_end=3783, + serialized_start=3647, + serialized_end=3830, ) @@ -1886,8 +1924,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3785, - serialized_end=3802, + serialized_start=3832, + serialized_end=3849, ) @@ -1938,8 +1976,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3805, - serialized_end=3971, + serialized_start=3852, + serialized_end=4018, ) @@ -1962,8 +2000,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3973, - serialized_end=3997, + serialized_start=4020, + serialized_end=4044, ) @@ -2021,8 +2059,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4000, - serialized_end=4192, + serialized_start=4047, + serialized_end=4239, ) @@ -2045,8 +2083,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4194, - serialized_end=4220, + serialized_start=4241, + serialized_end=4267, ) @@ -2104,8 +2142,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4223, - serialized_end=4429, + serialized_start=4270, + serialized_end=4476, ) @@ -2128,8 +2166,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4431, - serialized_end=4458, + serialized_start=4478, + serialized_end=4505, ) @@ -2187,8 +2225,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4461, - serialized_end=4648, + serialized_start=4508, + serialized_end=4695, ) @@ -2211,8 +2249,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4650, - serialized_end=4671, + serialized_start=4697, + serialized_end=4718, ) @@ -2270,8 +2308,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4674, - serialized_end=4861, + serialized_start=4721, + serialized_end=4908, ) @@ -2294,8 +2332,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4863, - serialized_end=4884, + serialized_start=4910, + serialized_end=4931, ) @@ -2346,8 +2384,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4887, - serialized_end=5058, + serialized_start=4934, + serialized_end=5105, ) @@ -2370,8 +2408,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5060, - serialized_end=5089, + serialized_start=5107, + serialized_end=5136, ) @@ -2422,8 +2460,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5092, - serialized_end=5259, + serialized_start=5139, + serialized_end=5306, ) @@ -2453,8 +2491,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5261, - serialized_end=5332, + serialized_start=5308, + serialized_end=5379, ) @@ -2512,8 +2550,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5335, - serialized_end=5559, + serialized_start=5382, + serialized_end=5606, ) @@ -2557,8 +2595,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5561, - serialized_end=5675, + serialized_start=5608, + serialized_end=5722, ) @@ -2623,8 +2661,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5678, - serialized_end=5933, + serialized_start=5725, + serialized_end=5980, ) @@ -2668,8 +2706,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5935, - serialized_end=6055, + serialized_start=5982, + serialized_end=6102, ) @@ -2720,8 +2758,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6058, - serialized_end=6223, + serialized_start=6105, + serialized_end=6270, ) @@ -2751,8 +2789,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6225, - serialized_end=6284, + serialized_start=6272, + serialized_end=6331, ) @@ -2810,8 +2848,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6287, - serialized_end=6476, + serialized_start=6334, + serialized_end=6523, ) @@ -2841,8 +2879,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6478, - serialized_end=6534, + serialized_start=6525, + serialized_end=6581, ) @@ -2922,8 +2960,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6537, - serialized_end=6896, + serialized_start=6584, + serialized_end=6943, ) @@ -2960,8 +2998,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6898, - serialized_end=6963, + serialized_start=6945, + serialized_end=7010, ) @@ -2991,8 +3029,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6965, - serialized_end=7021, + serialized_start=7012, + serialized_end=7068, ) @@ -3015,8 +3053,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7023, - serialized_end=7044, + serialized_start=7070, + serialized_end=7091, ) @@ -3081,8 +3119,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7047, - serialized_end=7229, + serialized_start=7094, + serialized_end=7276, ) @@ -3133,8 +3171,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7232, - serialized_end=7380, + serialized_start=7279, + serialized_end=7427, ) @@ -3199,8 +3237,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7383, - serialized_end=7640, + serialized_start=7430, + serialized_end=7687, ) @@ -3258,8 +3296,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7643, - serialized_end=7830, + serialized_start=7690, + serialized_end=7877, ) @@ -3289,8 +3327,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7832, - serialized_end=7889, + serialized_start=7879, + serialized_end=7936, ) @@ -3341,8 +3379,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7892, - serialized_end=8026, + serialized_start=7939, + serialized_end=8073, ) _TARGET.fields_by_name['tablet_type'].enum_type = topodata__pb2._TABLETTYPE @@ -3479,6 +3517,7 @@ DESCRIPTOR.message_types_by_name['Row'] = _ROW DESCRIPTOR.message_types_by_name['ResultExtras'] = _RESULTEXTRAS DESCRIPTOR.message_types_by_name['QueryResult'] = _QUERYRESULT +DESCRIPTOR.message_types_by_name['QueryWarning'] = _QUERYWARNING DESCRIPTOR.message_types_by_name['StreamEvent'] = _STREAMEVENT DESCRIPTOR.message_types_by_name['ExecuteRequest'] = _EXECUTEREQUEST DESCRIPTOR.message_types_by_name['ExecuteResponse'] = _EXECUTERESPONSE @@ -3618,6 +3657,13 @@ )) _sym_db.RegisterMessage(QueryResult) +QueryWarning = _reflection.GeneratedProtocolMessageType('QueryWarning', (_message.Message,), dict( + DESCRIPTOR = _QUERYWARNING, + __module__ = 'query_pb2' + # @@protoc_insertion_point(class_scope:query.QueryWarning) + )) +_sym_db.RegisterMessage(QueryWarning) + StreamEvent = _reflection.GeneratedProtocolMessageType('StreamEvent', (_message.Message,), dict( Statement = _reflection.GeneratedProtocolMessageType('Statement', (_message.Message,), dict( diff --git a/py/vtproto/vtgate_pb2.py b/py/vtproto/vtgate_pb2.py index 1bac1d2f560..aeba2d1fb31 100644 --- a/py/vtproto/vtgate_pb2.py +++ b/py/vtproto/vtgate_pb2.py @@ -23,7 +23,7 @@ name='vtgate.proto', package='vtgate', syntax='proto3', - serialized_pb=_b('\n\x0cvtgate.proto\x12\x06vtgate\x1a\x0bquery.proto\x1a\x0etopodata.proto\x1a\x0bvtrpc.proto\"\xb7\x02\n\x07Session\x12\x16\n\x0ein_transaction\x18\x01 \x01(\x08\x12\x34\n\x0eshard_sessions\x18\x02 \x03(\x0b\x32\x1c.vtgate.Session.ShardSession\x12\x11\n\tsingle_db\x18\x03 \x01(\x08\x12\x12\n\nautocommit\x18\x04 \x01(\x08\x12\x15\n\rtarget_string\x18\x05 \x01(\t\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\x12\x31\n\x10transaction_mode\x18\x07 \x01(\x0e\x32\x17.vtgate.TransactionMode\x1a\x45\n\x0cShardSession\x12\x1d\n\x06target\x18\x01 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x02 \x01(\x03\"\xff\x01\n\x0e\x45xecuteRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x05 \x01(\x08\x12\x16\n\x0ekeyspace_shard\x18\x06 \x01(\t\x12&\n\x07options\x18\x07 \x01(\x0b\x32\x15.query.ExecuteOptions\"w\n\x0f\x45xecuteResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\x8f\x02\n\x14\x45xecuteShardsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12\x0e\n\x06shards\x18\x05 \x03(\t\x12)\n\x0btablet_type\x18\x06 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x07 \x01(\x08\x12&\n\x07options\x18\x08 \x01(\x0b\x32\x15.query.ExecuteOptions\"}\n\x15\x45xecuteShardsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\x9a\x02\n\x19\x45xecuteKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12\x14\n\x0ckeyspace_ids\x18\x05 \x03(\x0c\x12)\n\x0btablet_type\x18\x06 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x07 \x01(\x08\x12&\n\x07options\x18\x08 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x82\x01\n\x1a\x45xecuteKeyspaceIdsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\xaa\x02\n\x17\x45xecuteKeyRangesRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12&\n\nkey_ranges\x18\x05 \x03(\x0b\x32\x12.topodata.KeyRange\x12)\n\x0btablet_type\x18\x06 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x07 \x01(\x08\x12&\n\x07options\x18\x08 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x80\x01\n\x18\x45xecuteKeyRangesResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\xb0\x03\n\x17\x45xecuteEntityIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12\x1a\n\x12\x65ntity_column_name\x18\x05 \x01(\t\x12\x45\n\x13\x65ntity_keyspace_ids\x18\x06 \x03(\x0b\x32(.vtgate.ExecuteEntityIdsRequest.EntityId\x12)\n\x0btablet_type\x18\x07 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x08 \x01(\x08\x12&\n\x07options\x18\t \x01(\x0b\x32\x15.query.ExecuteOptions\x1aI\n\x08\x45ntityId\x12\x19\n\x04type\x18\x01 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x13\n\x0bkeyspace_id\x18\x03 \x01(\x0c\"\x80\x01\n\x18\x45xecuteEntityIdsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\x82\x02\n\x13\x45xecuteBatchRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x07queries\x18\x03 \x03(\x0b\x32\x11.query.BoundQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12\x16\n\x0ekeyspace_shard\x18\x06 \x01(\t\x12&\n\x07options\x18\x07 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x81\x01\n\x14\x45xecuteBatchResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\'\n\x07results\x18\x03 \x03(\x0b\x32\x16.query.ResultWithError\"U\n\x0f\x42oundShardQuery\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x0e\n\x06shards\x18\x03 \x03(\t\"\xf6\x01\n\x19\x45xecuteBatchShardsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12(\n\x07queries\x18\x03 \x03(\x0b\x32\x17.vtgate.BoundShardQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x83\x01\n\x1a\x45xecuteBatchShardsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12#\n\x07results\x18\x03 \x03(\x0b\x32\x12.query.QueryResult\"`\n\x14\x42oundKeyspaceIdQuery\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x14\n\x0ckeyspace_ids\x18\x03 \x03(\x0c\"\x80\x02\n\x1e\x45xecuteBatchKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12-\n\x07queries\x18\x03 \x03(\x0b\x32\x1c.vtgate.BoundKeyspaceIdQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x88\x01\n\x1f\x45xecuteBatchKeyspaceIdsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12#\n\x07results\x18\x03 \x03(\x0b\x32\x12.query.QueryResult\"\xe9\x01\n\x14StreamExecuteRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12)\n\x0btablet_type\x18\x03 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0ekeyspace_shard\x18\x04 \x01(\t\x12&\n\x07options\x18\x05 \x01(\x0b\x32\x15.query.ExecuteOptions\x12 \n\x07session\x18\x06 \x01(\x0b\x32\x0f.vtgate.Session\";\n\x15StreamExecuteResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xd7\x01\n\x1aStreamExecuteShardsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x03 \x01(\t\x12\x0e\n\x06shards\x18\x04 \x03(\t\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"A\n\x1bStreamExecuteShardsResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xe2\x01\n\x1fStreamExecuteKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x03 \x01(\t\x12\x14\n\x0ckeyspace_ids\x18\x04 \x03(\x0c\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"F\n StreamExecuteKeyspaceIdsResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xf2\x01\n\x1dStreamExecuteKeyRangesRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x03 \x01(\t\x12&\n\nkey_ranges\x18\x04 \x03(\x0b\x32\x12.topodata.KeyRange\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"D\n\x1eStreamExecuteKeyRangesResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"E\n\x0c\x42\x65ginRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x11\n\tsingle_db\x18\x02 \x01(\x08\"1\n\rBeginResponse\x12 \n\x07session\x18\x01 \x01(\x0b\x32\x0f.vtgate.Session\"e\n\rCommitRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\x0e\n\x06\x61tomic\x18\x03 \x01(\x08\"\x10\n\x0e\x43ommitResponse\"W\n\x0fRollbackRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\"\x12\n\x10RollbackResponse\"M\n\x19ResolveTransactionRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x0c\n\x04\x64tid\x18\x02 \x01(\t\"\x90\x01\n\x14MessageStreamRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\r\n\x05shard\x18\x03 \x01(\t\x12%\n\tkey_range\x18\x04 \x01(\x0b\x32\x12.topodata.KeyRange\x12\x0c\n\x04name\x18\x05 \x01(\t\"r\n\x11MessageAckRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x19\n\x03ids\x18\x04 \x03(\x0b\x32\x0c.query.Value\"=\n\x0cIdKeyspaceId\x12\x18\n\x02id\x18\x01 \x01(\x0b\x32\x0c.query.Value\x12\x13\n\x0bkeyspace_id\x18\x02 \x01(\x0c\"\x91\x01\n\x1cMessageAckKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12-\n\x0fid_keyspace_ids\x18\x04 \x03(\x0b\x32\x14.vtgate.IdKeyspaceId\"\x1c\n\x1aResolveTransactionResponse\"\x8a\x02\n\x11SplitQueryRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x14\n\x0csplit_column\x18\x04 \x03(\t\x12\x13\n\x0bsplit_count\x18\x05 \x01(\x03\x12\x1f\n\x17num_rows_per_query_part\x18\x06 \x01(\x03\x12\x35\n\talgorithm\x18\x07 \x01(\x0e\x32\".query.SplitQueryRequest.Algorithm\x12\x1a\n\x12use_split_query_v2\x18\x08 \x01(\x08\"\xf2\x02\n\x12SplitQueryResponse\x12/\n\x06splits\x18\x01 \x03(\x0b\x32\x1f.vtgate.SplitQueryResponse.Part\x1aH\n\x0cKeyRangePart\x12\x10\n\x08keyspace\x18\x01 \x01(\t\x12&\n\nkey_ranges\x18\x02 \x03(\x0b\x32\x12.topodata.KeyRange\x1a-\n\tShardPart\x12\x10\n\x08keyspace\x18\x01 \x01(\t\x12\x0e\n\x06shards\x18\x02 \x03(\t\x1a\xb1\x01\n\x04Part\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12?\n\x0ekey_range_part\x18\x02 \x01(\x0b\x32\'.vtgate.SplitQueryResponse.KeyRangePart\x12\x38\n\nshard_part\x18\x03 \x01(\x0b\x32$.vtgate.SplitQueryResponse.ShardPart\x12\x0c\n\x04size\x18\x04 \x01(\x03\")\n\x15GetSrvKeyspaceRequest\x12\x10\n\x08keyspace\x18\x01 \x01(\t\"E\n\x16GetSrvKeyspaceResponse\x12+\n\x0csrv_keyspace\x18\x01 \x01(\x0b\x32\x15.topodata.SrvKeyspace\"\xe1\x01\n\x13UpdateStreamRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\r\n\x05shard\x18\x03 \x01(\t\x12%\n\tkey_range\x18\x04 \x01(\x0b\x32\x12.topodata.KeyRange\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12\x11\n\ttimestamp\x18\x06 \x01(\x03\x12 \n\x05\x65vent\x18\x07 \x01(\x0b\x32\x11.query.EventToken\"S\n\x14UpdateStreamResponse\x12!\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x12.query.StreamEvent\x12\x18\n\x10resume_timestamp\x18\x02 \x01(\x03*D\n\x0fTransactionMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06SINGLE\x10\x01\x12\t\n\x05MULTI\x10\x02\x12\t\n\x05TWOPC\x10\x03\x42\x36\n\x0fio.vitess.protoZ#vitess.io/vitess/go/vt/proto/vtgateb\x06proto3') + serialized_pb=_b('\n\x0cvtgate.proto\x12\x06vtgate\x1a\x0bquery.proto\x1a\x0etopodata.proto\x1a\x0bvtrpc.proto\"\xde\x02\n\x07Session\x12\x16\n\x0ein_transaction\x18\x01 \x01(\x08\x12\x34\n\x0eshard_sessions\x18\x02 \x03(\x0b\x32\x1c.vtgate.Session.ShardSession\x12\x11\n\tsingle_db\x18\x03 \x01(\x08\x12\x12\n\nautocommit\x18\x04 \x01(\x08\x12\x15\n\rtarget_string\x18\x05 \x01(\t\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\x12\x31\n\x10transaction_mode\x18\x07 \x01(\x0e\x32\x17.vtgate.TransactionMode\x12%\n\x08warnings\x18\x08 \x03(\x0b\x32\x13.query.QueryWarning\x1a\x45\n\x0cShardSession\x12\x1d\n\x06target\x18\x01 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x02 \x01(\x03\"\xff\x01\n\x0e\x45xecuteRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x05 \x01(\x08\x12\x16\n\x0ekeyspace_shard\x18\x06 \x01(\t\x12&\n\x07options\x18\x07 \x01(\x0b\x32\x15.query.ExecuteOptions\"w\n\x0f\x45xecuteResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\x8f\x02\n\x14\x45xecuteShardsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12\x0e\n\x06shards\x18\x05 \x03(\t\x12)\n\x0btablet_type\x18\x06 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x07 \x01(\x08\x12&\n\x07options\x18\x08 \x01(\x0b\x32\x15.query.ExecuteOptions\"}\n\x15\x45xecuteShardsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\x9a\x02\n\x19\x45xecuteKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12\x14\n\x0ckeyspace_ids\x18\x05 \x03(\x0c\x12)\n\x0btablet_type\x18\x06 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x07 \x01(\x08\x12&\n\x07options\x18\x08 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x82\x01\n\x1a\x45xecuteKeyspaceIdsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\xaa\x02\n\x17\x45xecuteKeyRangesRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12&\n\nkey_ranges\x18\x05 \x03(\x0b\x32\x12.topodata.KeyRange\x12)\n\x0btablet_type\x18\x06 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x07 \x01(\x08\x12&\n\x07options\x18\x08 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x80\x01\n\x18\x45xecuteKeyRangesResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\xb0\x03\n\x17\x45xecuteEntityIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12\x1a\n\x12\x65ntity_column_name\x18\x05 \x01(\t\x12\x45\n\x13\x65ntity_keyspace_ids\x18\x06 \x03(\x0b\x32(.vtgate.ExecuteEntityIdsRequest.EntityId\x12)\n\x0btablet_type\x18\x07 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x08 \x01(\x08\x12&\n\x07options\x18\t \x01(\x0b\x32\x15.query.ExecuteOptions\x1aI\n\x08\x45ntityId\x12\x19\n\x04type\x18\x01 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x13\n\x0bkeyspace_id\x18\x03 \x01(\x0c\"\x80\x01\n\x18\x45xecuteEntityIdsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\x82\x02\n\x13\x45xecuteBatchRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x07queries\x18\x03 \x03(\x0b\x32\x11.query.BoundQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12\x16\n\x0ekeyspace_shard\x18\x06 \x01(\t\x12&\n\x07options\x18\x07 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x81\x01\n\x14\x45xecuteBatchResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\'\n\x07results\x18\x03 \x03(\x0b\x32\x16.query.ResultWithError\"U\n\x0f\x42oundShardQuery\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x0e\n\x06shards\x18\x03 \x03(\t\"\xf6\x01\n\x19\x45xecuteBatchShardsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12(\n\x07queries\x18\x03 \x03(\x0b\x32\x17.vtgate.BoundShardQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x83\x01\n\x1a\x45xecuteBatchShardsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12#\n\x07results\x18\x03 \x03(\x0b\x32\x12.query.QueryResult\"`\n\x14\x42oundKeyspaceIdQuery\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x14\n\x0ckeyspace_ids\x18\x03 \x03(\x0c\"\x80\x02\n\x1e\x45xecuteBatchKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12-\n\x07queries\x18\x03 \x03(\x0b\x32\x1c.vtgate.BoundKeyspaceIdQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x88\x01\n\x1f\x45xecuteBatchKeyspaceIdsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12#\n\x07results\x18\x03 \x03(\x0b\x32\x12.query.QueryResult\"\xe9\x01\n\x14StreamExecuteRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12)\n\x0btablet_type\x18\x03 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0ekeyspace_shard\x18\x04 \x01(\t\x12&\n\x07options\x18\x05 \x01(\x0b\x32\x15.query.ExecuteOptions\x12 \n\x07session\x18\x06 \x01(\x0b\x32\x0f.vtgate.Session\";\n\x15StreamExecuteResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xd7\x01\n\x1aStreamExecuteShardsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x03 \x01(\t\x12\x0e\n\x06shards\x18\x04 \x03(\t\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"A\n\x1bStreamExecuteShardsResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xe2\x01\n\x1fStreamExecuteKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x03 \x01(\t\x12\x14\n\x0ckeyspace_ids\x18\x04 \x03(\x0c\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"F\n StreamExecuteKeyspaceIdsResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xf2\x01\n\x1dStreamExecuteKeyRangesRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x03 \x01(\t\x12&\n\nkey_ranges\x18\x04 \x03(\x0b\x32\x12.topodata.KeyRange\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"D\n\x1eStreamExecuteKeyRangesResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"E\n\x0c\x42\x65ginRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x11\n\tsingle_db\x18\x02 \x01(\x08\"1\n\rBeginResponse\x12 \n\x07session\x18\x01 \x01(\x0b\x32\x0f.vtgate.Session\"e\n\rCommitRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\x0e\n\x06\x61tomic\x18\x03 \x01(\x08\"\x10\n\x0e\x43ommitResponse\"W\n\x0fRollbackRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\"\x12\n\x10RollbackResponse\"M\n\x19ResolveTransactionRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x0c\n\x04\x64tid\x18\x02 \x01(\t\"\x90\x01\n\x14MessageStreamRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\r\n\x05shard\x18\x03 \x01(\t\x12%\n\tkey_range\x18\x04 \x01(\x0b\x32\x12.topodata.KeyRange\x12\x0c\n\x04name\x18\x05 \x01(\t\"r\n\x11MessageAckRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x19\n\x03ids\x18\x04 \x03(\x0b\x32\x0c.query.Value\"=\n\x0cIdKeyspaceId\x12\x18\n\x02id\x18\x01 \x01(\x0b\x32\x0c.query.Value\x12\x13\n\x0bkeyspace_id\x18\x02 \x01(\x0c\"\x91\x01\n\x1cMessageAckKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12-\n\x0fid_keyspace_ids\x18\x04 \x03(\x0b\x32\x14.vtgate.IdKeyspaceId\"\x1c\n\x1aResolveTransactionResponse\"\x8a\x02\n\x11SplitQueryRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x14\n\x0csplit_column\x18\x04 \x03(\t\x12\x13\n\x0bsplit_count\x18\x05 \x01(\x03\x12\x1f\n\x17num_rows_per_query_part\x18\x06 \x01(\x03\x12\x35\n\talgorithm\x18\x07 \x01(\x0e\x32\".query.SplitQueryRequest.Algorithm\x12\x1a\n\x12use_split_query_v2\x18\x08 \x01(\x08\"\xf2\x02\n\x12SplitQueryResponse\x12/\n\x06splits\x18\x01 \x03(\x0b\x32\x1f.vtgate.SplitQueryResponse.Part\x1aH\n\x0cKeyRangePart\x12\x10\n\x08keyspace\x18\x01 \x01(\t\x12&\n\nkey_ranges\x18\x02 \x03(\x0b\x32\x12.topodata.KeyRange\x1a-\n\tShardPart\x12\x10\n\x08keyspace\x18\x01 \x01(\t\x12\x0e\n\x06shards\x18\x02 \x03(\t\x1a\xb1\x01\n\x04Part\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12?\n\x0ekey_range_part\x18\x02 \x01(\x0b\x32\'.vtgate.SplitQueryResponse.KeyRangePart\x12\x38\n\nshard_part\x18\x03 \x01(\x0b\x32$.vtgate.SplitQueryResponse.ShardPart\x12\x0c\n\x04size\x18\x04 \x01(\x03\")\n\x15GetSrvKeyspaceRequest\x12\x10\n\x08keyspace\x18\x01 \x01(\t\"E\n\x16GetSrvKeyspaceResponse\x12+\n\x0csrv_keyspace\x18\x01 \x01(\x0b\x32\x15.topodata.SrvKeyspace\"\xe1\x01\n\x13UpdateStreamRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\r\n\x05shard\x18\x03 \x01(\t\x12%\n\tkey_range\x18\x04 \x01(\x0b\x32\x12.topodata.KeyRange\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12\x11\n\ttimestamp\x18\x06 \x01(\x03\x12 \n\x05\x65vent\x18\x07 \x01(\x0b\x32\x11.query.EventToken\"S\n\x14UpdateStreamResponse\x12!\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x12.query.StreamEvent\x12\x18\n\x10resume_timestamp\x18\x02 \x01(\x03*D\n\x0fTransactionMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06SINGLE\x10\x01\x12\t\n\x05MULTI\x10\x02\x12\t\n\x05TWOPC\x10\x03\x42\x36\n\x0fio.vitess.protoZ#vitess.io/vitess/go/vt/proto/vtgateb\x06proto3') , dependencies=[query__pb2.DESCRIPTOR,topodata__pb2.DESCRIPTOR,vtrpc__pb2.DESCRIPTOR,]) @@ -52,8 +52,8 @@ ], containing_type=None, options=None, - serialized_start=7137, - serialized_end=7205, + serialized_start=7176, + serialized_end=7244, ) _sym_db.RegisterEnumDescriptor(_TRANSACTIONMODE) @@ -98,8 +98,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=309, - serialized_end=378, + serialized_start=348, + serialized_end=417, ) _SESSION = _descriptor.Descriptor( @@ -158,6 +158,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='warnings', full_name='vtgate.Session.warnings', index=7, + number=8, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -171,7 +178,7 @@ oneofs=[ ], serialized_start=67, - serialized_end=378, + serialized_end=417, ) @@ -243,8 +250,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=381, - serialized_end=636, + serialized_start=420, + serialized_end=675, ) @@ -288,8 +295,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=638, - serialized_end=757, + serialized_start=677, + serialized_end=796, ) @@ -368,8 +375,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=760, - serialized_end=1031, + serialized_start=799, + serialized_end=1070, ) @@ -413,8 +420,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1033, - serialized_end=1158, + serialized_start=1072, + serialized_end=1197, ) @@ -493,8 +500,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1161, - serialized_end=1443, + serialized_start=1200, + serialized_end=1482, ) @@ -538,8 +545,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1446, - serialized_end=1576, + serialized_start=1485, + serialized_end=1615, ) @@ -618,8 +625,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1579, - serialized_end=1877, + serialized_start=1618, + serialized_end=1916, ) @@ -663,8 +670,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1880, - serialized_end=2008, + serialized_start=1919, + serialized_end=2047, ) @@ -708,8 +715,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2370, - serialized_end=2443, + serialized_start=2409, + serialized_end=2482, ) _EXECUTEENTITYIDSREQUEST = _descriptor.Descriptor( @@ -794,8 +801,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2011, - serialized_end=2443, + serialized_start=2050, + serialized_end=2482, ) @@ -839,8 +846,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2446, - serialized_end=2574, + serialized_start=2485, + serialized_end=2613, ) @@ -912,8 +919,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2577, - serialized_end=2835, + serialized_start=2616, + serialized_end=2874, ) @@ -957,8 +964,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2838, - serialized_end=2967, + serialized_start=2877, + serialized_end=3006, ) @@ -1002,8 +1009,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2969, - serialized_end=3054, + serialized_start=3008, + serialized_end=3093, ) @@ -1068,8 +1075,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3057, - serialized_end=3303, + serialized_start=3096, + serialized_end=3342, ) @@ -1113,8 +1120,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3306, - serialized_end=3437, + serialized_start=3345, + serialized_end=3476, ) @@ -1158,8 +1165,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3439, - serialized_end=3535, + serialized_start=3478, + serialized_end=3574, ) @@ -1224,8 +1231,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3538, - serialized_end=3794, + serialized_start=3577, + serialized_end=3833, ) @@ -1269,8 +1276,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3797, - serialized_end=3933, + serialized_start=3836, + serialized_end=3972, ) @@ -1335,8 +1342,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3936, - serialized_end=4169, + serialized_start=3975, + serialized_end=4208, ) @@ -1366,8 +1373,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4171, - serialized_end=4230, + serialized_start=4210, + serialized_end=4269, ) @@ -1432,8 +1439,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4233, - serialized_end=4448, + serialized_start=4272, + serialized_end=4487, ) @@ -1463,8 +1470,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4450, - serialized_end=4515, + serialized_start=4489, + serialized_end=4554, ) @@ -1529,8 +1536,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4518, - serialized_end=4744, + serialized_start=4557, + serialized_end=4783, ) @@ -1560,8 +1567,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4746, - serialized_end=4816, + serialized_start=4785, + serialized_end=4855, ) @@ -1626,8 +1633,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4819, - serialized_end=5061, + serialized_start=4858, + serialized_end=5100, ) @@ -1657,8 +1664,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5063, - serialized_end=5131, + serialized_start=5102, + serialized_end=5170, ) @@ -1695,8 +1702,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5133, - serialized_end=5202, + serialized_start=5172, + serialized_end=5241, ) @@ -1726,8 +1733,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5204, - serialized_end=5253, + serialized_start=5243, + serialized_end=5292, ) @@ -1771,8 +1778,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5255, - serialized_end=5356, + serialized_start=5294, + serialized_end=5395, ) @@ -1795,8 +1802,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5358, - serialized_end=5374, + serialized_start=5397, + serialized_end=5413, ) @@ -1833,8 +1840,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5376, - serialized_end=5463, + serialized_start=5415, + serialized_end=5502, ) @@ -1857,8 +1864,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5465, - serialized_end=5483, + serialized_start=5504, + serialized_end=5522, ) @@ -1895,8 +1902,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5485, - serialized_end=5562, + serialized_start=5524, + serialized_end=5601, ) @@ -1954,8 +1961,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5565, - serialized_end=5709, + serialized_start=5604, + serialized_end=5748, ) @@ -2006,8 +2013,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5711, - serialized_end=5825, + serialized_start=5750, + serialized_end=5864, ) @@ -2044,8 +2051,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5827, - serialized_end=5888, + serialized_start=5866, + serialized_end=5927, ) @@ -2096,8 +2103,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5891, - serialized_end=6036, + serialized_start=5930, + serialized_end=6075, ) @@ -2120,8 +2127,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6038, - serialized_end=6066, + serialized_start=6077, + serialized_end=6105, ) @@ -2200,8 +2207,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6069, - serialized_end=6335, + serialized_start=6108, + serialized_end=6374, ) @@ -2238,8 +2245,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6409, - serialized_end=6481, + serialized_start=6448, + serialized_end=6520, ) _SPLITQUERYRESPONSE_SHARDPART = _descriptor.Descriptor( @@ -2275,8 +2282,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6483, - serialized_end=6528, + serialized_start=6522, + serialized_end=6567, ) _SPLITQUERYRESPONSE_PART = _descriptor.Descriptor( @@ -2326,8 +2333,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6531, - serialized_end=6708, + serialized_start=6570, + serialized_end=6747, ) _SPLITQUERYRESPONSE = _descriptor.Descriptor( @@ -2356,8 +2363,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6338, - serialized_end=6708, + serialized_start=6377, + serialized_end=6747, ) @@ -2387,8 +2394,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6710, - serialized_end=6751, + serialized_start=6749, + serialized_end=6790, ) @@ -2418,8 +2425,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6753, - serialized_end=6822, + serialized_start=6792, + serialized_end=6861, ) @@ -2491,8 +2498,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6825, - serialized_end=7050, + serialized_start=6864, + serialized_end=7089, ) @@ -2529,8 +2536,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7052, - serialized_end=7135, + serialized_start=7091, + serialized_end=7174, ) _SESSION_SHARDSESSION.fields_by_name['target'].message_type = query__pb2._TARGET @@ -2538,6 +2545,7 @@ _SESSION.fields_by_name['shard_sessions'].message_type = _SESSION_SHARDSESSION _SESSION.fields_by_name['options'].message_type = query__pb2._EXECUTEOPTIONS _SESSION.fields_by_name['transaction_mode'].enum_type = _TRANSACTIONMODE +_SESSION.fields_by_name['warnings'].message_type = query__pb2._QUERYWARNING _EXECUTEREQUEST.fields_by_name['caller_id'].message_type = vtrpc__pb2._CALLERID _EXECUTEREQUEST.fields_by_name['session'].message_type = _SESSION _EXECUTEREQUEST.fields_by_name['query'].message_type = query__pb2._BOUNDQUERY