1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.25.0
18// 	protoc        v3.13.0
19// source: google/cloud/dialogflow/v2beta1/session.proto
20
21package dialogflow
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	proto "github.com/golang/protobuf/proto"
29	_ "google.golang.org/genproto/googleapis/api/annotations"
30	status "google.golang.org/genproto/googleapis/rpc/status"
31	latlng "google.golang.org/genproto/googleapis/type/latlng"
32	grpc "google.golang.org/grpc"
33	codes "google.golang.org/grpc/codes"
34	status1 "google.golang.org/grpc/status"
35	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
36	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
37	durationpb "google.golang.org/protobuf/types/known/durationpb"
38	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
39	structpb "google.golang.org/protobuf/types/known/structpb"
40)
41
42const (
43	// Verify that this generated code is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
45	// Verify that runtime/protoimpl is sufficiently up-to-date.
46	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
47)
48
49// This is a compile-time assertion that a sufficiently up-to-date version
50// of the legacy proto package is being used.
51const _ = proto.ProtoPackageIsVersion4
52
53// Represents the system's confidence that this knowledge answer is a good
54// match for this conversational query.
55type KnowledgeAnswers_Answer_MatchConfidenceLevel int32
56
57const (
58	// Not specified.
59	KnowledgeAnswers_Answer_MATCH_CONFIDENCE_LEVEL_UNSPECIFIED KnowledgeAnswers_Answer_MatchConfidenceLevel = 0
60	// Indicates that the confidence is low.
61	KnowledgeAnswers_Answer_LOW KnowledgeAnswers_Answer_MatchConfidenceLevel = 1
62	// Indicates our confidence is medium.
63	KnowledgeAnswers_Answer_MEDIUM KnowledgeAnswers_Answer_MatchConfidenceLevel = 2
64	// Indicates our confidence is high.
65	KnowledgeAnswers_Answer_HIGH KnowledgeAnswers_Answer_MatchConfidenceLevel = 3
66)
67
68// Enum value maps for KnowledgeAnswers_Answer_MatchConfidenceLevel.
69var (
70	KnowledgeAnswers_Answer_MatchConfidenceLevel_name = map[int32]string{
71		0: "MATCH_CONFIDENCE_LEVEL_UNSPECIFIED",
72		1: "LOW",
73		2: "MEDIUM",
74		3: "HIGH",
75	}
76	KnowledgeAnswers_Answer_MatchConfidenceLevel_value = map[string]int32{
77		"MATCH_CONFIDENCE_LEVEL_UNSPECIFIED": 0,
78		"LOW":                                1,
79		"MEDIUM":                             2,
80		"HIGH":                               3,
81	}
82)
83
84func (x KnowledgeAnswers_Answer_MatchConfidenceLevel) Enum() *KnowledgeAnswers_Answer_MatchConfidenceLevel {
85	p := new(KnowledgeAnswers_Answer_MatchConfidenceLevel)
86	*p = x
87	return p
88}
89
90func (x KnowledgeAnswers_Answer_MatchConfidenceLevel) String() string {
91	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
92}
93
94func (KnowledgeAnswers_Answer_MatchConfidenceLevel) Descriptor() protoreflect.EnumDescriptor {
95	return file_google_cloud_dialogflow_v2beta1_session_proto_enumTypes[0].Descriptor()
96}
97
98func (KnowledgeAnswers_Answer_MatchConfidenceLevel) Type() protoreflect.EnumType {
99	return &file_google_cloud_dialogflow_v2beta1_session_proto_enumTypes[0]
100}
101
102func (x KnowledgeAnswers_Answer_MatchConfidenceLevel) Number() protoreflect.EnumNumber {
103	return protoreflect.EnumNumber(x)
104}
105
106// Deprecated: Use KnowledgeAnswers_Answer_MatchConfidenceLevel.Descriptor instead.
107func (KnowledgeAnswers_Answer_MatchConfidenceLevel) EnumDescriptor() ([]byte, []int) {
108	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{5, 0, 0}
109}
110
111// Type of the response message.
112type StreamingRecognitionResult_MessageType int32
113
114const (
115	// Not specified. Should never be used.
116	StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED StreamingRecognitionResult_MessageType = 0
117	// Message contains a (possibly partial) transcript.
118	StreamingRecognitionResult_TRANSCRIPT StreamingRecognitionResult_MessageType = 1
119	// Event indicates that the server has detected the end of the user's speech
120	// utterance and expects no additional speech. Therefore, the server will
121	// not process additional audio (although it may subsequently return
122	// additional results). The client should stop sending additional audio
123	// data, half-close the gRPC connection, and wait for any additional results
124	// until the server closes the gRPC connection. This message is only sent if
125	// `single_utterance` was set to `true`, and is not used otherwise.
126	StreamingRecognitionResult_END_OF_SINGLE_UTTERANCE StreamingRecognitionResult_MessageType = 2
127)
128
129// Enum value maps for StreamingRecognitionResult_MessageType.
130var (
131	StreamingRecognitionResult_MessageType_name = map[int32]string{
132		0: "MESSAGE_TYPE_UNSPECIFIED",
133		1: "TRANSCRIPT",
134		2: "END_OF_SINGLE_UTTERANCE",
135	}
136	StreamingRecognitionResult_MessageType_value = map[string]int32{
137		"MESSAGE_TYPE_UNSPECIFIED": 0,
138		"TRANSCRIPT":               1,
139		"END_OF_SINGLE_UTTERANCE":  2,
140	}
141)
142
143func (x StreamingRecognitionResult_MessageType) Enum() *StreamingRecognitionResult_MessageType {
144	p := new(StreamingRecognitionResult_MessageType)
145	*p = x
146	return p
147}
148
149func (x StreamingRecognitionResult_MessageType) String() string {
150	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
151}
152
153func (StreamingRecognitionResult_MessageType) Descriptor() protoreflect.EnumDescriptor {
154	return file_google_cloud_dialogflow_v2beta1_session_proto_enumTypes[1].Descriptor()
155}
156
157func (StreamingRecognitionResult_MessageType) Type() protoreflect.EnumType {
158	return &file_google_cloud_dialogflow_v2beta1_session_proto_enumTypes[1]
159}
160
161func (x StreamingRecognitionResult_MessageType) Number() protoreflect.EnumNumber {
162	return protoreflect.EnumNumber(x)
163}
164
165// Deprecated: Use StreamingRecognitionResult_MessageType.Descriptor instead.
166func (StreamingRecognitionResult_MessageType) EnumDescriptor() ([]byte, []int) {
167	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{8, 0}
168}
169
170// The request to detect user's intent.
171type DetectIntentRequest struct {
172	state         protoimpl.MessageState
173	sizeCache     protoimpl.SizeCache
174	unknownFields protoimpl.UnknownFields
175
176	// Required. The name of the session this query is sent to. Supported formats:
177	// - `projects/<Project ID>/agent/sessions/<Session ID>,
178	// - `projects/<Project ID>/locations/<Location ID>/agent/sessions/<Session
179	//   ID>`,
180	// - `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
181	//   ID>/sessions/<Session ID>`,
182	// - `projects/<Project ID>/locations/<Location
183	//   ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session
184	//   ID>`,
185	//
186	// If `Location ID` is not specified we assume default 'us' location. If
187	// `Environment ID` is not specified, we assume default 'draft' environment.
188	// If `User ID` is not specified, we are using "-". It's up to the API caller
189	// to choose an appropriate `Session ID` and `User Id`. They can be a random
190	// number or some type of user and session identifiers (preferably hashed).
191	// The length of the `Session ID` and `User ID` must not exceed 36 characters.
192	// For more information, see the [API interactions
193	// guide](https://cloud.google.com/dialogflow/docs/api-overview).
194	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
195	// The parameters of this query.
196	QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
197	// Required. The input specification. It can be set to:
198	//
199	// 1.  an audio config
200	//     which instructs the speech recognizer how to process the speech audio,
201	//
202	// 2.  a conversational query in the form of text, or
203	//
204	// 3.  an event that specifies which intent to trigger.
205	QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
206	// Instructs the speech synthesizer how to generate the output
207	// audio. If this field is not set and agent-level speech synthesizer is not
208	// configured, no output audio is generated.
209	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,4,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
210	// Mask for [output_audio_config][google.cloud.dialogflow.v2beta1.DetectIntentRequest.output_audio_config] indicating which settings in this
211	// request-level config should override speech synthesizer settings defined at
212	// agent-level.
213	//
214	// If unspecified or empty, [output_audio_config][google.cloud.dialogflow.v2beta1.DetectIntentRequest.output_audio_config] replaces the agent-level
215	// config in its entirety.
216	OutputAudioConfigMask *fieldmaskpb.FieldMask `protobuf:"bytes,7,opt,name=output_audio_config_mask,json=outputAudioConfigMask,proto3" json:"output_audio_config_mask,omitempty"`
217	// The natural language speech audio to be processed. This field
218	// should be populated iff `query_input` is set to an input audio config.
219	// A single request can contain up to 1 minute of speech audio data.
220	InputAudio []byte `protobuf:"bytes,5,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"`
221}
222
223func (x *DetectIntentRequest) Reset() {
224	*x = DetectIntentRequest{}
225	if protoimpl.UnsafeEnabled {
226		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[0]
227		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
228		ms.StoreMessageInfo(mi)
229	}
230}
231
232func (x *DetectIntentRequest) String() string {
233	return protoimpl.X.MessageStringOf(x)
234}
235
236func (*DetectIntentRequest) ProtoMessage() {}
237
238func (x *DetectIntentRequest) ProtoReflect() protoreflect.Message {
239	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[0]
240	if protoimpl.UnsafeEnabled && x != nil {
241		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
242		if ms.LoadMessageInfo() == nil {
243			ms.StoreMessageInfo(mi)
244		}
245		return ms
246	}
247	return mi.MessageOf(x)
248}
249
250// Deprecated: Use DetectIntentRequest.ProtoReflect.Descriptor instead.
251func (*DetectIntentRequest) Descriptor() ([]byte, []int) {
252	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{0}
253}
254
255func (x *DetectIntentRequest) GetSession() string {
256	if x != nil {
257		return x.Session
258	}
259	return ""
260}
261
262func (x *DetectIntentRequest) GetQueryParams() *QueryParameters {
263	if x != nil {
264		return x.QueryParams
265	}
266	return nil
267}
268
269func (x *DetectIntentRequest) GetQueryInput() *QueryInput {
270	if x != nil {
271		return x.QueryInput
272	}
273	return nil
274}
275
276func (x *DetectIntentRequest) GetOutputAudioConfig() *OutputAudioConfig {
277	if x != nil {
278		return x.OutputAudioConfig
279	}
280	return nil
281}
282
283func (x *DetectIntentRequest) GetOutputAudioConfigMask() *fieldmaskpb.FieldMask {
284	if x != nil {
285		return x.OutputAudioConfigMask
286	}
287	return nil
288}
289
290func (x *DetectIntentRequest) GetInputAudio() []byte {
291	if x != nil {
292		return x.InputAudio
293	}
294	return nil
295}
296
297// The message returned from the DetectIntent method.
298type DetectIntentResponse struct {
299	state         protoimpl.MessageState
300	sizeCache     protoimpl.SizeCache
301	unknownFields protoimpl.UnknownFields
302
303	// The unique identifier of the response. It can be used to
304	// locate a response in the training example set or for reporting issues.
305	ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
306	// The selected results of the conversational query or event processing.
307	// See `alternative_query_results` for additional potential results.
308	QueryResult *QueryResult `protobuf:"bytes,2,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"`
309	// If Knowledge Connectors are enabled, there could be more than one result
310	// returned for a given query or event, and this field will contain all
311	// results except for the top one, which is captured in query_result. The
312	// alternative results are ordered by decreasing
313	// `QueryResult.intent_detection_confidence`. If Knowledge Connectors are
314	// disabled, this field will be empty until multiple responses for regular
315	// intents are supported, at which point those additional results will be
316	// surfaced here.
317	AlternativeQueryResults []*QueryResult `protobuf:"bytes,5,rep,name=alternative_query_results,json=alternativeQueryResults,proto3" json:"alternative_query_results,omitempty"`
318	// Specifies the status of the webhook request.
319	WebhookStatus *status.Status `protobuf:"bytes,3,opt,name=webhook_status,json=webhookStatus,proto3" json:"webhook_status,omitempty"`
320	// The audio data bytes encoded as specified in the request.
321	// Note: The output audio is generated based on the values of default platform
322	// text responses found in the `query_result.fulfillment_messages` field. If
323	// multiple default text responses exist, they will be concatenated when
324	// generating audio. If no default platform text responses exist, the
325	// generated audio content will be empty.
326	//
327	// In some scenarios, multiple output audio fields may be present in the
328	// response structure. In these cases, only the top-most-level audio output
329	// has content.
330	OutputAudio []byte `protobuf:"bytes,4,opt,name=output_audio,json=outputAudio,proto3" json:"output_audio,omitempty"`
331	// The config used by the speech synthesizer to generate the output audio.
332	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,6,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
333}
334
335func (x *DetectIntentResponse) Reset() {
336	*x = DetectIntentResponse{}
337	if protoimpl.UnsafeEnabled {
338		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[1]
339		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
340		ms.StoreMessageInfo(mi)
341	}
342}
343
344func (x *DetectIntentResponse) String() string {
345	return protoimpl.X.MessageStringOf(x)
346}
347
348func (*DetectIntentResponse) ProtoMessage() {}
349
350func (x *DetectIntentResponse) ProtoReflect() protoreflect.Message {
351	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[1]
352	if protoimpl.UnsafeEnabled && x != nil {
353		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
354		if ms.LoadMessageInfo() == nil {
355			ms.StoreMessageInfo(mi)
356		}
357		return ms
358	}
359	return mi.MessageOf(x)
360}
361
362// Deprecated: Use DetectIntentResponse.ProtoReflect.Descriptor instead.
363func (*DetectIntentResponse) Descriptor() ([]byte, []int) {
364	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{1}
365}
366
367func (x *DetectIntentResponse) GetResponseId() string {
368	if x != nil {
369		return x.ResponseId
370	}
371	return ""
372}
373
374func (x *DetectIntentResponse) GetQueryResult() *QueryResult {
375	if x != nil {
376		return x.QueryResult
377	}
378	return nil
379}
380
381func (x *DetectIntentResponse) GetAlternativeQueryResults() []*QueryResult {
382	if x != nil {
383		return x.AlternativeQueryResults
384	}
385	return nil
386}
387
388func (x *DetectIntentResponse) GetWebhookStatus() *status.Status {
389	if x != nil {
390		return x.WebhookStatus
391	}
392	return nil
393}
394
395func (x *DetectIntentResponse) GetOutputAudio() []byte {
396	if x != nil {
397		return x.OutputAudio
398	}
399	return nil
400}
401
402func (x *DetectIntentResponse) GetOutputAudioConfig() *OutputAudioConfig {
403	if x != nil {
404		return x.OutputAudioConfig
405	}
406	return nil
407}
408
409// Represents the parameters of the conversational query.
410type QueryParameters struct {
411	state         protoimpl.MessageState
412	sizeCache     protoimpl.SizeCache
413	unknownFields protoimpl.UnknownFields
414
415	// The time zone of this conversational query from the
416	// [time zone database](https://www.iana.org/time-zones), e.g.,
417	// America/New_York, Europe/Paris. If not provided, the time zone specified in
418	// agent settings is used.
419	TimeZone string `protobuf:"bytes,1,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
420	// The geo location of this conversational query.
421	GeoLocation *latlng.LatLng `protobuf:"bytes,2,opt,name=geo_location,json=geoLocation,proto3" json:"geo_location,omitempty"`
422	// The collection of contexts to be activated before this query is
423	// executed.
424	Contexts []*Context `protobuf:"bytes,3,rep,name=contexts,proto3" json:"contexts,omitempty"`
425	// Specifies whether to delete all contexts in the current session
426	// before the new ones are activated.
427	ResetContexts bool `protobuf:"varint,4,opt,name=reset_contexts,json=resetContexts,proto3" json:"reset_contexts,omitempty"`
428	// Additional session entity types to replace or extend developer
429	// entity types with. The entity synonyms apply to all languages and persist
430	// for the session of this query.
431	SessionEntityTypes []*SessionEntityType `protobuf:"bytes,5,rep,name=session_entity_types,json=sessionEntityTypes,proto3" json:"session_entity_types,omitempty"`
432	// This field can be used to pass custom data to your webhook.
433	// Arbitrary JSON objects are supported.
434	// If supplied, the value is used to populate the
435	// `WebhookRequest.original_detect_intent_request.payload`
436	// field sent to your webhook.
437	Payload *structpb.Struct `protobuf:"bytes,6,opt,name=payload,proto3" json:"payload,omitempty"`
438	// KnowledgeBases to get alternative results from. If not set, the
439	// KnowledgeBases enabled in the agent (through UI) will be used.
440	// Format:  `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`.
441	KnowledgeBaseNames []string `protobuf:"bytes,12,rep,name=knowledge_base_names,json=knowledgeBaseNames,proto3" json:"knowledge_base_names,omitempty"`
442	// Configures the type of sentiment analysis to perform. If not
443	// provided, sentiment analysis is not performed.
444	// Note: Sentiment Analysis is only currently available for Essentials Edition
445	// agents.
446	SentimentAnalysisRequestConfig *SentimentAnalysisRequestConfig `protobuf:"bytes,10,opt,name=sentiment_analysis_request_config,json=sentimentAnalysisRequestConfig,proto3" json:"sentiment_analysis_request_config,omitempty"`
447	// For mega agent query, directly specify which sub agents to query.
448	// If any specified sub agent is not linked to the mega agent, an error will
449	// be returned. If empty, Dialogflow will decide which sub agents to query.
450	// If specified for a non-mega-agent query, will be silently ignored.
451	SubAgents []*SubAgent `protobuf:"bytes,13,rep,name=sub_agents,json=subAgents,proto3" json:"sub_agents,omitempty"`
452	// This field can be used to pass HTTP headers for a webhook
453	// call. These headers will be sent to webhook alone with the headers that
454	// have been configured through Dialogflow web console. The headers defined
455	// within this field will overwrite the headers configured through Dialogflow
456	// console if there is a conflict. Header names are case-insensitive.
457	// Google's specified headers are not allowed. Including: "Host",
458	// "Content-Length", "Connection", "From", "User-Agent", "Accept-Encoding",
459	// "If-Modified-Since", "If-None-Match", "X-Forwarded-For", etc.
460	WebhookHeaders map[string]string `protobuf:"bytes,14,rep,name=webhook_headers,json=webhookHeaders,proto3" json:"webhook_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
461}
462
463func (x *QueryParameters) Reset() {
464	*x = QueryParameters{}
465	if protoimpl.UnsafeEnabled {
466		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[2]
467		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
468		ms.StoreMessageInfo(mi)
469	}
470}
471
472func (x *QueryParameters) String() string {
473	return protoimpl.X.MessageStringOf(x)
474}
475
476func (*QueryParameters) ProtoMessage() {}
477
478func (x *QueryParameters) ProtoReflect() protoreflect.Message {
479	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[2]
480	if protoimpl.UnsafeEnabled && x != nil {
481		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
482		if ms.LoadMessageInfo() == nil {
483			ms.StoreMessageInfo(mi)
484		}
485		return ms
486	}
487	return mi.MessageOf(x)
488}
489
490// Deprecated: Use QueryParameters.ProtoReflect.Descriptor instead.
491func (*QueryParameters) Descriptor() ([]byte, []int) {
492	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{2}
493}
494
495func (x *QueryParameters) GetTimeZone() string {
496	if x != nil {
497		return x.TimeZone
498	}
499	return ""
500}
501
502func (x *QueryParameters) GetGeoLocation() *latlng.LatLng {
503	if x != nil {
504		return x.GeoLocation
505	}
506	return nil
507}
508
509func (x *QueryParameters) GetContexts() []*Context {
510	if x != nil {
511		return x.Contexts
512	}
513	return nil
514}
515
516func (x *QueryParameters) GetResetContexts() bool {
517	if x != nil {
518		return x.ResetContexts
519	}
520	return false
521}
522
523func (x *QueryParameters) GetSessionEntityTypes() []*SessionEntityType {
524	if x != nil {
525		return x.SessionEntityTypes
526	}
527	return nil
528}
529
530func (x *QueryParameters) GetPayload() *structpb.Struct {
531	if x != nil {
532		return x.Payload
533	}
534	return nil
535}
536
537func (x *QueryParameters) GetKnowledgeBaseNames() []string {
538	if x != nil {
539		return x.KnowledgeBaseNames
540	}
541	return nil
542}
543
544func (x *QueryParameters) GetSentimentAnalysisRequestConfig() *SentimentAnalysisRequestConfig {
545	if x != nil {
546		return x.SentimentAnalysisRequestConfig
547	}
548	return nil
549}
550
551func (x *QueryParameters) GetSubAgents() []*SubAgent {
552	if x != nil {
553		return x.SubAgents
554	}
555	return nil
556}
557
558func (x *QueryParameters) GetWebhookHeaders() map[string]string {
559	if x != nil {
560		return x.WebhookHeaders
561	}
562	return nil
563}
564
565// Represents the query input. It can contain either:
566//
567// 1.  An audio config which
568//     instructs the speech recognizer how to process the speech audio.
569//
570// 2.  A conversational query in the form of text.
571//
572// 3.  An event that specifies which intent to trigger.
573type QueryInput struct {
574	state         protoimpl.MessageState
575	sizeCache     protoimpl.SizeCache
576	unknownFields protoimpl.UnknownFields
577
578	// Required. The input specification.
579	//
580	// Types that are assignable to Input:
581	//	*QueryInput_AudioConfig
582	//	*QueryInput_Text
583	//	*QueryInput_Event
584	Input isQueryInput_Input `protobuf_oneof:"input"`
585}
586
587func (x *QueryInput) Reset() {
588	*x = QueryInput{}
589	if protoimpl.UnsafeEnabled {
590		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[3]
591		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
592		ms.StoreMessageInfo(mi)
593	}
594}
595
596func (x *QueryInput) String() string {
597	return protoimpl.X.MessageStringOf(x)
598}
599
600func (*QueryInput) ProtoMessage() {}
601
602func (x *QueryInput) ProtoReflect() protoreflect.Message {
603	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[3]
604	if protoimpl.UnsafeEnabled && x != nil {
605		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
606		if ms.LoadMessageInfo() == nil {
607			ms.StoreMessageInfo(mi)
608		}
609		return ms
610	}
611	return mi.MessageOf(x)
612}
613
614// Deprecated: Use QueryInput.ProtoReflect.Descriptor instead.
615func (*QueryInput) Descriptor() ([]byte, []int) {
616	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{3}
617}
618
619func (m *QueryInput) GetInput() isQueryInput_Input {
620	if m != nil {
621		return m.Input
622	}
623	return nil
624}
625
626func (x *QueryInput) GetAudioConfig() *InputAudioConfig {
627	if x, ok := x.GetInput().(*QueryInput_AudioConfig); ok {
628		return x.AudioConfig
629	}
630	return nil
631}
632
633func (x *QueryInput) GetText() *TextInput {
634	if x, ok := x.GetInput().(*QueryInput_Text); ok {
635		return x.Text
636	}
637	return nil
638}
639
640func (x *QueryInput) GetEvent() *EventInput {
641	if x, ok := x.GetInput().(*QueryInput_Event); ok {
642		return x.Event
643	}
644	return nil
645}
646
647type isQueryInput_Input interface {
648	isQueryInput_Input()
649}
650
651type QueryInput_AudioConfig struct {
652	// Instructs the speech recognizer how to process the speech audio.
653	AudioConfig *InputAudioConfig `protobuf:"bytes,1,opt,name=audio_config,json=audioConfig,proto3,oneof"`
654}
655
656type QueryInput_Text struct {
657	// The natural language text to be processed.
658	Text *TextInput `protobuf:"bytes,2,opt,name=text,proto3,oneof"`
659}
660
661type QueryInput_Event struct {
662	// The event to be processed.
663	Event *EventInput `protobuf:"bytes,3,opt,name=event,proto3,oneof"`
664}
665
666func (*QueryInput_AudioConfig) isQueryInput_Input() {}
667
668func (*QueryInput_Text) isQueryInput_Input() {}
669
670func (*QueryInput_Event) isQueryInput_Input() {}
671
672// Represents the result of conversational query or event processing.
673type QueryResult struct {
674	state         protoimpl.MessageState
675	sizeCache     protoimpl.SizeCache
676	unknownFields protoimpl.UnknownFields
677
678	// The original conversational query text:
679	//
680	// - If natural language text was provided as input, `query_text` contains
681	//   a copy of the input.
682	// - If natural language speech audio was provided as input, `query_text`
683	//   contains the speech recognition result. If speech recognizer produced
684	//   multiple alternatives, a particular one is picked.
685	// - If automatic spell correction is enabled, `query_text` will contain the
686	//   corrected user input.
687	QueryText string `protobuf:"bytes,1,opt,name=query_text,json=queryText,proto3" json:"query_text,omitempty"`
688	// The language that was triggered during intent detection.
689	// See [Language
690	// Support](https://cloud.google.com/dialogflow/docs/reference/language)
691	// for a list of the currently supported language codes.
692	LanguageCode string `protobuf:"bytes,15,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
693	// The Speech recognition confidence between 0.0 and 1.0. A higher number
694	// indicates an estimated greater likelihood that the recognized words are
695	// correct. The default of 0.0 is a sentinel value indicating that confidence
696	// was not set.
697	//
698	// This field is not guaranteed to be accurate or set. In particular this
699	// field isn't set for StreamingDetectIntent since the streaming endpoint has
700	// separate confidence estimates per portion of the audio in
701	// StreamingRecognitionResult.
702	SpeechRecognitionConfidence float32 `protobuf:"fixed32,2,opt,name=speech_recognition_confidence,json=speechRecognitionConfidence,proto3" json:"speech_recognition_confidence,omitempty"`
703	// The action name from the matched intent.
704	Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"`
705	// The collection of extracted parameters.
706	//
707	// Depending on your protocol or client library language, this is a
708	// map, associative array, symbol table, dictionary, or JSON object
709	// composed of a collection of (MapKey, MapValue) pairs:
710	//
711	// -   MapKey type: string
712	// -   MapKey value: parameter name
713	// -   MapValue type:
714	//     -   If parameter's entity type is a composite entity: map
715	//     -   Else: string or number, depending on parameter value type
716	// -   MapValue value:
717	//     -   If parameter's entity type is a composite entity:
718	//         map from composite entity property names to property values
719	//     -   Else: parameter value
720	Parameters *structpb.Struct `protobuf:"bytes,4,opt,name=parameters,proto3" json:"parameters,omitempty"`
721	// This field is set to:
722	//
723	// - `false` if the matched intent has required parameters and not all of
724	//    the required parameter values have been collected.
725	// - `true` if all required parameter values have been collected, or if the
726	//    matched intent doesn't contain any required parameters.
727	AllRequiredParamsPresent bool `protobuf:"varint,5,opt,name=all_required_params_present,json=allRequiredParamsPresent,proto3" json:"all_required_params_present,omitempty"`
728	// The text to be pronounced to the user or shown on the screen.
729	// Note: This is a legacy field, `fulfillment_messages` should be preferred.
730	FulfillmentText string `protobuf:"bytes,6,opt,name=fulfillment_text,json=fulfillmentText,proto3" json:"fulfillment_text,omitempty"`
731	// The collection of rich messages to present to the user.
732	FulfillmentMessages []*Intent_Message `protobuf:"bytes,7,rep,name=fulfillment_messages,json=fulfillmentMessages,proto3" json:"fulfillment_messages,omitempty"`
733	// If the query was fulfilled by a webhook call, this field is set to the
734	// value of the `source` field returned in the webhook response.
735	WebhookSource string `protobuf:"bytes,8,opt,name=webhook_source,json=webhookSource,proto3" json:"webhook_source,omitempty"`
736	// If the query was fulfilled by a webhook call, this field is set to the
737	// value of the `payload` field returned in the webhook response.
738	WebhookPayload *structpb.Struct `protobuf:"bytes,9,opt,name=webhook_payload,json=webhookPayload,proto3" json:"webhook_payload,omitempty"`
739	// The collection of output contexts. If applicable,
740	// `output_contexts.parameters` contains entries with name
741	// `<parameter name>.original` containing the original parameter values
742	// before the query.
743	OutputContexts []*Context `protobuf:"bytes,10,rep,name=output_contexts,json=outputContexts,proto3" json:"output_contexts,omitempty"`
744	// The intent that matched the conversational query. Some, not
745	// all fields are filled in this message, including but not limited to:
746	// `name`, `display_name`, `end_interaction` and `is_fallback`.
747	Intent *Intent `protobuf:"bytes,11,opt,name=intent,proto3" json:"intent,omitempty"`
748	// The intent detection confidence. Values range from 0.0
749	// (completely uncertain) to 1.0 (completely certain).
750	// This value is for informational purpose only and is only used to
751	// help match the best intent within the classification threshold.
752	// This value may change for the same end-user expression at any time due to a
753	// model retraining or change in implementation.
754	// If there are `multiple knowledge_answers` messages, this value is set to
755	// the greatest `knowledgeAnswers.match_confidence` value in the list.
756	IntentDetectionConfidence float32 `protobuf:"fixed32,12,opt,name=intent_detection_confidence,json=intentDetectionConfidence,proto3" json:"intent_detection_confidence,omitempty"`
757	// Free-form diagnostic information for the associated detect intent request.
758	// The fields of this data can change without notice, so you should not write
759	// code that depends on its structure.
760	// The data may contain:
761	//
762	// - webhook call latency
763	// - webhook errors
764	DiagnosticInfo *structpb.Struct `protobuf:"bytes,14,opt,name=diagnostic_info,json=diagnosticInfo,proto3" json:"diagnostic_info,omitempty"`
765	// The sentiment analysis result, which depends on the
766	// `sentiment_analysis_request_config` specified in the request.
767	SentimentAnalysisResult *SentimentAnalysisResult `protobuf:"bytes,17,opt,name=sentiment_analysis_result,json=sentimentAnalysisResult,proto3" json:"sentiment_analysis_result,omitempty"`
768	// The result from Knowledge Connector (if any), ordered by decreasing
769	// `KnowledgeAnswers.match_confidence`.
770	KnowledgeAnswers *KnowledgeAnswers `protobuf:"bytes,18,opt,name=knowledge_answers,json=knowledgeAnswers,proto3" json:"knowledge_answers,omitempty"`
771}
772
773func (x *QueryResult) Reset() {
774	*x = QueryResult{}
775	if protoimpl.UnsafeEnabled {
776		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[4]
777		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
778		ms.StoreMessageInfo(mi)
779	}
780}
781
782func (x *QueryResult) String() string {
783	return protoimpl.X.MessageStringOf(x)
784}
785
786func (*QueryResult) ProtoMessage() {}
787
788func (x *QueryResult) ProtoReflect() protoreflect.Message {
789	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[4]
790	if protoimpl.UnsafeEnabled && x != nil {
791		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
792		if ms.LoadMessageInfo() == nil {
793			ms.StoreMessageInfo(mi)
794		}
795		return ms
796	}
797	return mi.MessageOf(x)
798}
799
800// Deprecated: Use QueryResult.ProtoReflect.Descriptor instead.
801func (*QueryResult) Descriptor() ([]byte, []int) {
802	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{4}
803}
804
805func (x *QueryResult) GetQueryText() string {
806	if x != nil {
807		return x.QueryText
808	}
809	return ""
810}
811
812func (x *QueryResult) GetLanguageCode() string {
813	if x != nil {
814		return x.LanguageCode
815	}
816	return ""
817}
818
819func (x *QueryResult) GetSpeechRecognitionConfidence() float32 {
820	if x != nil {
821		return x.SpeechRecognitionConfidence
822	}
823	return 0
824}
825
826func (x *QueryResult) GetAction() string {
827	if x != nil {
828		return x.Action
829	}
830	return ""
831}
832
833func (x *QueryResult) GetParameters() *structpb.Struct {
834	if x != nil {
835		return x.Parameters
836	}
837	return nil
838}
839
840func (x *QueryResult) GetAllRequiredParamsPresent() bool {
841	if x != nil {
842		return x.AllRequiredParamsPresent
843	}
844	return false
845}
846
847func (x *QueryResult) GetFulfillmentText() string {
848	if x != nil {
849		return x.FulfillmentText
850	}
851	return ""
852}
853
854func (x *QueryResult) GetFulfillmentMessages() []*Intent_Message {
855	if x != nil {
856		return x.FulfillmentMessages
857	}
858	return nil
859}
860
861func (x *QueryResult) GetWebhookSource() string {
862	if x != nil {
863		return x.WebhookSource
864	}
865	return ""
866}
867
868func (x *QueryResult) GetWebhookPayload() *structpb.Struct {
869	if x != nil {
870		return x.WebhookPayload
871	}
872	return nil
873}
874
875func (x *QueryResult) GetOutputContexts() []*Context {
876	if x != nil {
877		return x.OutputContexts
878	}
879	return nil
880}
881
882func (x *QueryResult) GetIntent() *Intent {
883	if x != nil {
884		return x.Intent
885	}
886	return nil
887}
888
889func (x *QueryResult) GetIntentDetectionConfidence() float32 {
890	if x != nil {
891		return x.IntentDetectionConfidence
892	}
893	return 0
894}
895
896func (x *QueryResult) GetDiagnosticInfo() *structpb.Struct {
897	if x != nil {
898		return x.DiagnosticInfo
899	}
900	return nil
901}
902
903func (x *QueryResult) GetSentimentAnalysisResult() *SentimentAnalysisResult {
904	if x != nil {
905		return x.SentimentAnalysisResult
906	}
907	return nil
908}
909
910func (x *QueryResult) GetKnowledgeAnswers() *KnowledgeAnswers {
911	if x != nil {
912		return x.KnowledgeAnswers
913	}
914	return nil
915}
916
917// Represents the result of querying a Knowledge base.
918type KnowledgeAnswers struct {
919	state         protoimpl.MessageState
920	sizeCache     protoimpl.SizeCache
921	unknownFields protoimpl.UnknownFields
922
923	// A list of answers from Knowledge Connector.
924	Answers []*KnowledgeAnswers_Answer `protobuf:"bytes,1,rep,name=answers,proto3" json:"answers,omitempty"`
925}
926
927func (x *KnowledgeAnswers) Reset() {
928	*x = KnowledgeAnswers{}
929	if protoimpl.UnsafeEnabled {
930		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[5]
931		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
932		ms.StoreMessageInfo(mi)
933	}
934}
935
936func (x *KnowledgeAnswers) String() string {
937	return protoimpl.X.MessageStringOf(x)
938}
939
940func (*KnowledgeAnswers) ProtoMessage() {}
941
942func (x *KnowledgeAnswers) ProtoReflect() protoreflect.Message {
943	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[5]
944	if protoimpl.UnsafeEnabled && x != nil {
945		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
946		if ms.LoadMessageInfo() == nil {
947			ms.StoreMessageInfo(mi)
948		}
949		return ms
950	}
951	return mi.MessageOf(x)
952}
953
954// Deprecated: Use KnowledgeAnswers.ProtoReflect.Descriptor instead.
955func (*KnowledgeAnswers) Descriptor() ([]byte, []int) {
956	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{5}
957}
958
959func (x *KnowledgeAnswers) GetAnswers() []*KnowledgeAnswers_Answer {
960	if x != nil {
961		return x.Answers
962	}
963	return nil
964}
965
966// The top-level message sent by the client to the
967// [Sessions.StreamingDetectIntent][google.cloud.dialogflow.v2beta1.Sessions.StreamingDetectIntent] method.
968//
969// Multiple request messages should be sent in order:
970//
971// 1.  The first message must contain
972// [session][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.session],
973//     [query_input][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_input] plus optionally
974//     [query_params][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_params]. If the client
975//     wants to receive an audio response, it should also contain
976//     [output_audio_config][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.output_audio_config].
977//     The message must not contain
978//     [input_audio][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.input_audio].
979// 2.  If [query_input][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_input] was set to
980//     [query_input.audio_config][google.cloud.dialogflow.v2beta1.InputAudioConfig], all subsequent
981//     messages must contain
982//     [input_audio][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.input_audio] to continue with
983//     Speech recognition.
984//     If you decide to rather detect an intent from text input after you
985//     already started Speech recognition, please send a message with
986//     [query_input.text][google.cloud.dialogflow.v2beta1.QueryInput.text].
987//
988//     However, note that:
989//
990//     * Dialogflow will bill you for the audio duration so far.
991//     * Dialogflow discards all Speech recognition results in favor of the
992//       input text.
993//     * Dialogflow will use the language code from the first message.
994//
995// After you sent all input, you must half-close or abort the request stream.
996type StreamingDetectIntentRequest struct {
997	state         protoimpl.MessageState
998	sizeCache     protoimpl.SizeCache
999	unknownFields protoimpl.UnknownFields
1000
1001	// Required. The name of the session the query is sent to.
1002	// Supported formats:
1003	// - `projects/<Project ID>/agent/sessions/<Session ID>,
1004	// - `projects/<Project ID>/locations/<Location ID>/agent/sessions/<Session
1005	//   ID>`,
1006	// - `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
1007	//   ID>/sessions/<Session ID>`,
1008	// - `projects/<Project ID>/locations/<Location
1009	//   ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session
1010	//   ID>`,
1011	//
1012	// If `Location ID` is not specified we assume default 'us' location. If
1013	// `Environment ID` is not specified, we assume default 'draft' environment.
1014	// If `User ID` is not specified, we are using "-". It's up to the API caller
1015	// to choose an appropriate `Session ID` and `User Id`. They can be a random
1016	// number or some type of user and session identifiers (preferably hashed).
1017	// The length of the `Session ID` and `User ID` must not exceed 36 characters.
1018	//
1019	// For more information, see the [API interactions
1020	// guide](https://cloud.google.com/dialogflow/docs/api-overview).
1021	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
1022	// The parameters of this query.
1023	QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
1024	// Required. The input specification. It can be set to:
1025	//
1026	// 1.  an audio config which instructs the speech recognizer how to process
1027	//     the speech audio,
1028	//
1029	// 2.  a conversational query in the form of text, or
1030	//
1031	// 3.  an event that specifies which intent to trigger.
1032	QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
1033	// DEPRECATED. Please use [InputAudioConfig.single_utterance][google.cloud.dialogflow.v2beta1.InputAudioConfig.single_utterance] instead.
1034	// If `false` (default), recognition does not cease until the
1035	// client closes the stream.
1036	// If `true`, the recognizer will detect a single spoken utterance in input
1037	// audio. Recognition ceases when it detects the audio's voice has
1038	// stopped or paused. In this case, once a detected intent is received, the
1039	// client should close the stream and start a new request with a new stream as
1040	// needed.
1041	// This setting is ignored when `query_input` is a piece of text or an event.
1042	//
1043	// Deprecated: Do not use.
1044	SingleUtterance bool `protobuf:"varint,4,opt,name=single_utterance,json=singleUtterance,proto3" json:"single_utterance,omitempty"`
1045	// Instructs the speech synthesizer how to generate the output
1046	// audio. If this field is not set and agent-level speech synthesizer is not
1047	// configured, no output audio is generated.
1048	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,5,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
1049	// Mask for [output_audio_config][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.output_audio_config] indicating which settings in this
1050	// request-level config should override speech synthesizer settings defined at
1051	// agent-level.
1052	//
1053	// If unspecified or empty, [output_audio_config][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.output_audio_config] replaces the agent-level
1054	// config in its entirety.
1055	OutputAudioConfigMask *fieldmaskpb.FieldMask `protobuf:"bytes,7,opt,name=output_audio_config_mask,json=outputAudioConfigMask,proto3" json:"output_audio_config_mask,omitempty"`
1056	// The input audio content to be recognized. Must be sent if
1057	// `query_input` was set to a streaming input audio config. The complete audio
1058	// over all streaming messages must not exceed 1 minute.
1059	InputAudio []byte `protobuf:"bytes,6,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"`
1060}
1061
1062func (x *StreamingDetectIntentRequest) Reset() {
1063	*x = StreamingDetectIntentRequest{}
1064	if protoimpl.UnsafeEnabled {
1065		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[6]
1066		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1067		ms.StoreMessageInfo(mi)
1068	}
1069}
1070
1071func (x *StreamingDetectIntentRequest) String() string {
1072	return protoimpl.X.MessageStringOf(x)
1073}
1074
1075func (*StreamingDetectIntentRequest) ProtoMessage() {}
1076
1077func (x *StreamingDetectIntentRequest) ProtoReflect() protoreflect.Message {
1078	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[6]
1079	if protoimpl.UnsafeEnabled && x != nil {
1080		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1081		if ms.LoadMessageInfo() == nil {
1082			ms.StoreMessageInfo(mi)
1083		}
1084		return ms
1085	}
1086	return mi.MessageOf(x)
1087}
1088
1089// Deprecated: Use StreamingDetectIntentRequest.ProtoReflect.Descriptor instead.
1090func (*StreamingDetectIntentRequest) Descriptor() ([]byte, []int) {
1091	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{6}
1092}
1093
1094func (x *StreamingDetectIntentRequest) GetSession() string {
1095	if x != nil {
1096		return x.Session
1097	}
1098	return ""
1099}
1100
1101func (x *StreamingDetectIntentRequest) GetQueryParams() *QueryParameters {
1102	if x != nil {
1103		return x.QueryParams
1104	}
1105	return nil
1106}
1107
1108func (x *StreamingDetectIntentRequest) GetQueryInput() *QueryInput {
1109	if x != nil {
1110		return x.QueryInput
1111	}
1112	return nil
1113}
1114
1115// Deprecated: Do not use.
1116func (x *StreamingDetectIntentRequest) GetSingleUtterance() bool {
1117	if x != nil {
1118		return x.SingleUtterance
1119	}
1120	return false
1121}
1122
1123func (x *StreamingDetectIntentRequest) GetOutputAudioConfig() *OutputAudioConfig {
1124	if x != nil {
1125		return x.OutputAudioConfig
1126	}
1127	return nil
1128}
1129
1130func (x *StreamingDetectIntentRequest) GetOutputAudioConfigMask() *fieldmaskpb.FieldMask {
1131	if x != nil {
1132		return x.OutputAudioConfigMask
1133	}
1134	return nil
1135}
1136
1137func (x *StreamingDetectIntentRequest) GetInputAudio() []byte {
1138	if x != nil {
1139		return x.InputAudio
1140	}
1141	return nil
1142}
1143
1144// The top-level message returned from the
1145// `StreamingDetectIntent` method.
1146//
1147// Multiple response messages can be returned in order:
1148//
1149// 1.  If the input was set to streaming audio, the first one or more messages
1150//     contain `recognition_result`. Each `recognition_result` represents a more
1151//     complete transcript of what the user said. The last `recognition_result`
1152//     has `is_final` set to `true`.
1153//
1154// 2.  The next message contains `response_id`, `query_result`,
1155//     `alternative_query_results` and optionally `webhook_status` if a WebHook
1156//     was called.
1157//
1158// 3.  If `output_audio_config` was specified in the request or agent-level
1159//     speech synthesizer is configured, all subsequent messages contain
1160//     `output_audio` and `output_audio_config`.
1161type StreamingDetectIntentResponse struct {
1162	state         protoimpl.MessageState
1163	sizeCache     protoimpl.SizeCache
1164	unknownFields protoimpl.UnknownFields
1165
1166	// The unique identifier of the response. It can be used to
1167	// locate a response in the training example set or for reporting issues.
1168	ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
1169	// The result of speech recognition.
1170	RecognitionResult *StreamingRecognitionResult `protobuf:"bytes,2,opt,name=recognition_result,json=recognitionResult,proto3" json:"recognition_result,omitempty"`
1171	// The selected results of the conversational query or event processing.
1172	// See `alternative_query_results` for additional potential results.
1173	QueryResult *QueryResult `protobuf:"bytes,3,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"`
1174	// If Knowledge Connectors are enabled, there could be more than one result
1175	// returned for a given query or event, and this field will contain all
1176	// results except for the top one, which is captured in query_result. The
1177	// alternative results are ordered by decreasing
1178	// `QueryResult.intent_detection_confidence`. If Knowledge Connectors are
1179	// disabled, this field will be empty until multiple responses for regular
1180	// intents are supported, at which point those additional results will be
1181	// surfaced here.
1182	AlternativeQueryResults []*QueryResult `protobuf:"bytes,7,rep,name=alternative_query_results,json=alternativeQueryResults,proto3" json:"alternative_query_results,omitempty"`
1183	// Specifies the status of the webhook request.
1184	WebhookStatus *status.Status `protobuf:"bytes,4,opt,name=webhook_status,json=webhookStatus,proto3" json:"webhook_status,omitempty"`
1185	// The audio data bytes encoded as specified in the request.
1186	// Note: The output audio is generated based on the values of default platform
1187	// text responses found in the `query_result.fulfillment_messages` field. If
1188	// multiple default text responses exist, they will be concatenated when
1189	// generating audio. If no default platform text responses exist, the
1190	// generated audio content will be empty.
1191	//
1192	// In some scenarios, multiple output audio fields may be present in the
1193	// response structure. In these cases, only the top-most-level audio output
1194	// has content.
1195	OutputAudio []byte `protobuf:"bytes,5,opt,name=output_audio,json=outputAudio,proto3" json:"output_audio,omitempty"`
1196	// The config used by the speech synthesizer to generate the output audio.
1197	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,6,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
1198}
1199
1200func (x *StreamingDetectIntentResponse) Reset() {
1201	*x = StreamingDetectIntentResponse{}
1202	if protoimpl.UnsafeEnabled {
1203		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[7]
1204		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1205		ms.StoreMessageInfo(mi)
1206	}
1207}
1208
1209func (x *StreamingDetectIntentResponse) String() string {
1210	return protoimpl.X.MessageStringOf(x)
1211}
1212
1213func (*StreamingDetectIntentResponse) ProtoMessage() {}
1214
1215func (x *StreamingDetectIntentResponse) ProtoReflect() protoreflect.Message {
1216	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[7]
1217	if protoimpl.UnsafeEnabled && x != nil {
1218		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1219		if ms.LoadMessageInfo() == nil {
1220			ms.StoreMessageInfo(mi)
1221		}
1222		return ms
1223	}
1224	return mi.MessageOf(x)
1225}
1226
1227// Deprecated: Use StreamingDetectIntentResponse.ProtoReflect.Descriptor instead.
1228func (*StreamingDetectIntentResponse) Descriptor() ([]byte, []int) {
1229	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{7}
1230}
1231
1232func (x *StreamingDetectIntentResponse) GetResponseId() string {
1233	if x != nil {
1234		return x.ResponseId
1235	}
1236	return ""
1237}
1238
1239func (x *StreamingDetectIntentResponse) GetRecognitionResult() *StreamingRecognitionResult {
1240	if x != nil {
1241		return x.RecognitionResult
1242	}
1243	return nil
1244}
1245
1246func (x *StreamingDetectIntentResponse) GetQueryResult() *QueryResult {
1247	if x != nil {
1248		return x.QueryResult
1249	}
1250	return nil
1251}
1252
1253func (x *StreamingDetectIntentResponse) GetAlternativeQueryResults() []*QueryResult {
1254	if x != nil {
1255		return x.AlternativeQueryResults
1256	}
1257	return nil
1258}
1259
1260func (x *StreamingDetectIntentResponse) GetWebhookStatus() *status.Status {
1261	if x != nil {
1262		return x.WebhookStatus
1263	}
1264	return nil
1265}
1266
1267func (x *StreamingDetectIntentResponse) GetOutputAudio() []byte {
1268	if x != nil {
1269		return x.OutputAudio
1270	}
1271	return nil
1272}
1273
1274func (x *StreamingDetectIntentResponse) GetOutputAudioConfig() *OutputAudioConfig {
1275	if x != nil {
1276		return x.OutputAudioConfig
1277	}
1278	return nil
1279}
1280
1281// Contains a speech recognition result corresponding to a portion of the audio
1282// that is currently being processed or an indication that this is the end
1283// of the single requested utterance.
1284//
1285// Example:
1286//
1287// 1.  transcript: "tube"
1288//
1289// 2.  transcript: "to be a"
1290//
1291// 3.  transcript: "to be"
1292//
1293// 4.  transcript: "to be or not to be"
1294//     is_final: true
1295//
1296// 5.  transcript: " that's"
1297//
1298// 6.  transcript: " that is"
1299//
1300// 7.  message_type: `END_OF_SINGLE_UTTERANCE`
1301//
1302// 8.  transcript: " that is the question"
1303//     is_final: true
1304//
1305// Only two of the responses contain final results (#4 and #8 indicated by
1306// `is_final: true`). Concatenating these generates the full transcript: "to be
1307// or not to be that is the question".
1308//
1309// In each response we populate:
1310//
1311// *  for `TRANSCRIPT`: `transcript` and possibly `is_final`.
1312//
1313// *  for `END_OF_SINGLE_UTTERANCE`: only `message_type`.
1314type StreamingRecognitionResult struct {
1315	state         protoimpl.MessageState
1316	sizeCache     protoimpl.SizeCache
1317	unknownFields protoimpl.UnknownFields
1318
1319	// Type of the result message.
1320	MessageType StreamingRecognitionResult_MessageType `protobuf:"varint,1,opt,name=message_type,json=messageType,proto3,enum=google.cloud.dialogflow.v2beta1.StreamingRecognitionResult_MessageType" json:"message_type,omitempty"`
1321	// Transcript text representing the words that the user spoke.
1322	// Populated if and only if `message_type` = `TRANSCRIPT`.
1323	Transcript string `protobuf:"bytes,2,opt,name=transcript,proto3" json:"transcript,omitempty"`
1324	// If `false`, the `StreamingRecognitionResult` represents an
1325	// interim result that may change. If `true`, the recognizer will not return
1326	// any further hypotheses about this piece of the audio. May only be populated
1327	// for `message_type` = `TRANSCRIPT`.
1328	IsFinal bool `protobuf:"varint,3,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"`
1329	// The Speech confidence between 0.0 and 1.0 for the current portion of audio.
1330	// A higher number indicates an estimated greater likelihood that the
1331	// recognized words are correct. The default of 0.0 is a sentinel value
1332	// indicating that confidence was not set.
1333	//
1334	// This field is typically only provided if `is_final` is true and you should
1335	// not rely on it being accurate or even set.
1336	Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
1337	// An estimate of the likelihood that the speech recognizer will
1338	// not change its guess about this interim recognition result:
1339	//
1340	// * If the value is unspecified or 0.0, Dialogflow didn't compute the
1341	//   stability. In particular, Dialogflow will only provide stability for
1342	//   `TRANSCRIPT` results with `is_final = false`.
1343	// * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely
1344	//   unstable and 1.0 means completely stable.
1345	Stability float32 `protobuf:"fixed32,6,opt,name=stability,proto3" json:"stability,omitempty"`
1346	// Word-specific information for the words recognized by Speech in
1347	// [transcript][google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.transcript]. Populated if and only if `message_type` = `TRANSCRIPT` and
1348	// [InputAudioConfig.enable_word_info] is set.
1349	SpeechWordInfo []*SpeechWordInfo `protobuf:"bytes,7,rep,name=speech_word_info,json=speechWordInfo,proto3" json:"speech_word_info,omitempty"`
1350	// Time offset of the end of this Speech recognition result relative to the
1351	// beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`.
1352	SpeechEndOffset *durationpb.Duration `protobuf:"bytes,8,opt,name=speech_end_offset,json=speechEndOffset,proto3" json:"speech_end_offset,omitempty"`
1353	// DTMF digits. Populated if and only if `message_type` = `DTMF_DIGITS`.
1354	DtmfDigits *TelephonyDtmfEvents `protobuf:"bytes,5,opt,name=dtmf_digits,json=dtmfDigits,proto3" json:"dtmf_digits,omitempty"`
1355}
1356
1357func (x *StreamingRecognitionResult) Reset() {
1358	*x = StreamingRecognitionResult{}
1359	if protoimpl.UnsafeEnabled {
1360		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[8]
1361		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1362		ms.StoreMessageInfo(mi)
1363	}
1364}
1365
1366func (x *StreamingRecognitionResult) String() string {
1367	return protoimpl.X.MessageStringOf(x)
1368}
1369
1370func (*StreamingRecognitionResult) ProtoMessage() {}
1371
1372func (x *StreamingRecognitionResult) ProtoReflect() protoreflect.Message {
1373	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[8]
1374	if protoimpl.UnsafeEnabled && x != nil {
1375		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1376		if ms.LoadMessageInfo() == nil {
1377			ms.StoreMessageInfo(mi)
1378		}
1379		return ms
1380	}
1381	return mi.MessageOf(x)
1382}
1383
1384// Deprecated: Use StreamingRecognitionResult.ProtoReflect.Descriptor instead.
1385func (*StreamingRecognitionResult) Descriptor() ([]byte, []int) {
1386	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{8}
1387}
1388
1389func (x *StreamingRecognitionResult) GetMessageType() StreamingRecognitionResult_MessageType {
1390	if x != nil {
1391		return x.MessageType
1392	}
1393	return StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED
1394}
1395
1396func (x *StreamingRecognitionResult) GetTranscript() string {
1397	if x != nil {
1398		return x.Transcript
1399	}
1400	return ""
1401}
1402
1403func (x *StreamingRecognitionResult) GetIsFinal() bool {
1404	if x != nil {
1405		return x.IsFinal
1406	}
1407	return false
1408}
1409
1410func (x *StreamingRecognitionResult) GetConfidence() float32 {
1411	if x != nil {
1412		return x.Confidence
1413	}
1414	return 0
1415}
1416
1417func (x *StreamingRecognitionResult) GetStability() float32 {
1418	if x != nil {
1419		return x.Stability
1420	}
1421	return 0
1422}
1423
1424func (x *StreamingRecognitionResult) GetSpeechWordInfo() []*SpeechWordInfo {
1425	if x != nil {
1426		return x.SpeechWordInfo
1427	}
1428	return nil
1429}
1430
1431func (x *StreamingRecognitionResult) GetSpeechEndOffset() *durationpb.Duration {
1432	if x != nil {
1433		return x.SpeechEndOffset
1434	}
1435	return nil
1436}
1437
1438func (x *StreamingRecognitionResult) GetDtmfDigits() *TelephonyDtmfEvents {
1439	if x != nil {
1440		return x.DtmfDigits
1441	}
1442	return nil
1443}
1444
1445// Represents the natural language text to be processed.
1446type TextInput struct {
1447	state         protoimpl.MessageState
1448	sizeCache     protoimpl.SizeCache
1449	unknownFields protoimpl.UnknownFields
1450
1451	// Required. The UTF-8 encoded natural language text to be processed.
1452	// Text length must not exceed 256 characters.
1453	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
1454	// Required. The language of this conversational query. See [Language
1455	// Support](https://cloud.google.com/dialogflow/docs/reference/language)
1456	// for a list of the currently supported language codes. Note that queries in
1457	// the same session do not necessarily need to specify the same language.
1458	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
1459}
1460
1461func (x *TextInput) Reset() {
1462	*x = TextInput{}
1463	if protoimpl.UnsafeEnabled {
1464		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[9]
1465		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1466		ms.StoreMessageInfo(mi)
1467	}
1468}
1469
1470func (x *TextInput) String() string {
1471	return protoimpl.X.MessageStringOf(x)
1472}
1473
1474func (*TextInput) ProtoMessage() {}
1475
1476func (x *TextInput) ProtoReflect() protoreflect.Message {
1477	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[9]
1478	if protoimpl.UnsafeEnabled && x != nil {
1479		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1480		if ms.LoadMessageInfo() == nil {
1481			ms.StoreMessageInfo(mi)
1482		}
1483		return ms
1484	}
1485	return mi.MessageOf(x)
1486}
1487
1488// Deprecated: Use TextInput.ProtoReflect.Descriptor instead.
1489func (*TextInput) Descriptor() ([]byte, []int) {
1490	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{9}
1491}
1492
1493func (x *TextInput) GetText() string {
1494	if x != nil {
1495		return x.Text
1496	}
1497	return ""
1498}
1499
1500func (x *TextInput) GetLanguageCode() string {
1501	if x != nil {
1502		return x.LanguageCode
1503	}
1504	return ""
1505}
1506
1507// Events allow for matching intents by event name instead of the natural
1508// language input. For instance, input `<event: { name: "welcome_event",
1509// parameters: { name: "Sam" } }>` can trigger a personalized welcome response.
1510// The parameter `name` may be used by the agent in the response:
1511// `"Hello #welcome_event.name! What can I do for you today?"`.
1512type EventInput struct {
1513	state         protoimpl.MessageState
1514	sizeCache     protoimpl.SizeCache
1515	unknownFields protoimpl.UnknownFields
1516
1517	// Required. The unique identifier of the event.
1518	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1519	// The collection of parameters associated with the event.
1520	//
1521	// Depending on your protocol or client library language, this is a
1522	// map, associative array, symbol table, dictionary, or JSON object
1523	// composed of a collection of (MapKey, MapValue) pairs:
1524	//
1525	// -   MapKey type: string
1526	// -   MapKey value: parameter name
1527	// -   MapValue type:
1528	//     -   If parameter's entity type is a composite entity: map
1529	//     -   Else: string or number, depending on parameter value type
1530	// -   MapValue value:
1531	//     -   If parameter's entity type is a composite entity:
1532	//         map from composite entity property names to property values
1533	//     -   Else: parameter value
1534	Parameters *structpb.Struct `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"`
1535	// Required. The language of this query. See [Language
1536	// Support](https://cloud.google.com/dialogflow/docs/reference/language)
1537	// for a list of the currently supported language codes. Note that queries in
1538	// the same session do not necessarily need to specify the same language.
1539	LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
1540}
1541
1542func (x *EventInput) Reset() {
1543	*x = EventInput{}
1544	if protoimpl.UnsafeEnabled {
1545		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[10]
1546		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1547		ms.StoreMessageInfo(mi)
1548	}
1549}
1550
1551func (x *EventInput) String() string {
1552	return protoimpl.X.MessageStringOf(x)
1553}
1554
1555func (*EventInput) ProtoMessage() {}
1556
1557func (x *EventInput) ProtoReflect() protoreflect.Message {
1558	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[10]
1559	if protoimpl.UnsafeEnabled && x != nil {
1560		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1561		if ms.LoadMessageInfo() == nil {
1562			ms.StoreMessageInfo(mi)
1563		}
1564		return ms
1565	}
1566	return mi.MessageOf(x)
1567}
1568
1569// Deprecated: Use EventInput.ProtoReflect.Descriptor instead.
1570func (*EventInput) Descriptor() ([]byte, []int) {
1571	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{10}
1572}
1573
1574func (x *EventInput) GetName() string {
1575	if x != nil {
1576		return x.Name
1577	}
1578	return ""
1579}
1580
1581func (x *EventInput) GetParameters() *structpb.Struct {
1582	if x != nil {
1583		return x.Parameters
1584	}
1585	return nil
1586}
1587
1588func (x *EventInput) GetLanguageCode() string {
1589	if x != nil {
1590		return x.LanguageCode
1591	}
1592	return ""
1593}
1594
1595// Configures the types of sentiment analysis to perform.
1596type SentimentAnalysisRequestConfig struct {
1597	state         protoimpl.MessageState
1598	sizeCache     protoimpl.SizeCache
1599	unknownFields protoimpl.UnknownFields
1600
1601	// Instructs the service to perform sentiment analysis on
1602	// `query_text`. If not provided, sentiment analysis is not performed on
1603	// `query_text`.
1604	AnalyzeQueryTextSentiment bool `protobuf:"varint,1,opt,name=analyze_query_text_sentiment,json=analyzeQueryTextSentiment,proto3" json:"analyze_query_text_sentiment,omitempty"`
1605}
1606
1607func (x *SentimentAnalysisRequestConfig) Reset() {
1608	*x = SentimentAnalysisRequestConfig{}
1609	if protoimpl.UnsafeEnabled {
1610		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[11]
1611		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1612		ms.StoreMessageInfo(mi)
1613	}
1614}
1615
1616func (x *SentimentAnalysisRequestConfig) String() string {
1617	return protoimpl.X.MessageStringOf(x)
1618}
1619
1620func (*SentimentAnalysisRequestConfig) ProtoMessage() {}
1621
1622func (x *SentimentAnalysisRequestConfig) ProtoReflect() protoreflect.Message {
1623	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[11]
1624	if protoimpl.UnsafeEnabled && x != nil {
1625		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1626		if ms.LoadMessageInfo() == nil {
1627			ms.StoreMessageInfo(mi)
1628		}
1629		return ms
1630	}
1631	return mi.MessageOf(x)
1632}
1633
1634// Deprecated: Use SentimentAnalysisRequestConfig.ProtoReflect.Descriptor instead.
1635func (*SentimentAnalysisRequestConfig) Descriptor() ([]byte, []int) {
1636	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{11}
1637}
1638
1639func (x *SentimentAnalysisRequestConfig) GetAnalyzeQueryTextSentiment() bool {
1640	if x != nil {
1641		return x.AnalyzeQueryTextSentiment
1642	}
1643	return false
1644}
1645
1646// The result of sentiment analysis. Sentiment analysis inspects user input
1647// and identifies the prevailing subjective opinion, especially to determine a
1648// user's attitude as positive, negative, or neutral.
1649// For [Participants.DetectIntent][], it needs to be configured in
1650// [DetectIntentRequest.query_params][google.cloud.dialogflow.v2beta1.DetectIntentRequest.query_params]. For
1651// [Participants.StreamingDetectIntent][], it needs to be configured in
1652// [StreamingDetectIntentRequest.query_params][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_params].
1653// And for [Participants.AnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.AnalyzeContent] and
1654// [Participants.StreamingAnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.StreamingAnalyzeContent], it needs to be configured in
1655// [ConversationProfile.human_agent_assistant_config][google.cloud.dialogflow.v2beta1.ConversationProfile.human_agent_assistant_config]
1656type SentimentAnalysisResult struct {
1657	state         protoimpl.MessageState
1658	sizeCache     protoimpl.SizeCache
1659	unknownFields protoimpl.UnknownFields
1660
1661	// The sentiment analysis result for `query_text`.
1662	QueryTextSentiment *Sentiment `protobuf:"bytes,1,opt,name=query_text_sentiment,json=queryTextSentiment,proto3" json:"query_text_sentiment,omitempty"`
1663}
1664
1665func (x *SentimentAnalysisResult) Reset() {
1666	*x = SentimentAnalysisResult{}
1667	if protoimpl.UnsafeEnabled {
1668		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[12]
1669		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1670		ms.StoreMessageInfo(mi)
1671	}
1672}
1673
1674func (x *SentimentAnalysisResult) String() string {
1675	return protoimpl.X.MessageStringOf(x)
1676}
1677
1678func (*SentimentAnalysisResult) ProtoMessage() {}
1679
1680func (x *SentimentAnalysisResult) ProtoReflect() protoreflect.Message {
1681	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[12]
1682	if protoimpl.UnsafeEnabled && x != nil {
1683		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1684		if ms.LoadMessageInfo() == nil {
1685			ms.StoreMessageInfo(mi)
1686		}
1687		return ms
1688	}
1689	return mi.MessageOf(x)
1690}
1691
1692// Deprecated: Use SentimentAnalysisResult.ProtoReflect.Descriptor instead.
1693func (*SentimentAnalysisResult) Descriptor() ([]byte, []int) {
1694	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{12}
1695}
1696
1697func (x *SentimentAnalysisResult) GetQueryTextSentiment() *Sentiment {
1698	if x != nil {
1699		return x.QueryTextSentiment
1700	}
1701	return nil
1702}
1703
1704// The sentiment, such as positive/negative feeling or association, for a unit
1705// of analysis, such as the query text.
1706type Sentiment struct {
1707	state         protoimpl.MessageState
1708	sizeCache     protoimpl.SizeCache
1709	unknownFields protoimpl.UnknownFields
1710
1711	// Sentiment score between -1.0 (negative sentiment) and 1.0 (positive
1712	// sentiment).
1713	Score float32 `protobuf:"fixed32,1,opt,name=score,proto3" json:"score,omitempty"`
1714	// A non-negative number in the [0, +inf) range, which represents the absolute
1715	// magnitude of sentiment, regardless of score (positive or negative).
1716	Magnitude float32 `protobuf:"fixed32,2,opt,name=magnitude,proto3" json:"magnitude,omitempty"`
1717}
1718
1719func (x *Sentiment) Reset() {
1720	*x = Sentiment{}
1721	if protoimpl.UnsafeEnabled {
1722		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[13]
1723		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1724		ms.StoreMessageInfo(mi)
1725	}
1726}
1727
1728func (x *Sentiment) String() string {
1729	return protoimpl.X.MessageStringOf(x)
1730}
1731
1732func (*Sentiment) ProtoMessage() {}
1733
1734func (x *Sentiment) ProtoReflect() protoreflect.Message {
1735	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[13]
1736	if protoimpl.UnsafeEnabled && x != nil {
1737		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1738		if ms.LoadMessageInfo() == nil {
1739			ms.StoreMessageInfo(mi)
1740		}
1741		return ms
1742	}
1743	return mi.MessageOf(x)
1744}
1745
1746// Deprecated: Use Sentiment.ProtoReflect.Descriptor instead.
1747func (*Sentiment) Descriptor() ([]byte, []int) {
1748	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{13}
1749}
1750
1751func (x *Sentiment) GetScore() float32 {
1752	if x != nil {
1753		return x.Score
1754	}
1755	return 0
1756}
1757
1758func (x *Sentiment) GetMagnitude() float32 {
1759	if x != nil {
1760		return x.Magnitude
1761	}
1762	return 0
1763}
1764
1765// An answer from Knowledge Connector.
1766type KnowledgeAnswers_Answer struct {
1767	state         protoimpl.MessageState
1768	sizeCache     protoimpl.SizeCache
1769	unknownFields protoimpl.UnknownFields
1770
1771	// Indicates which Knowledge Document this answer was extracted from.
1772	// Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base
1773	// ID>/documents/<Document ID>`.
1774	Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
1775	// The corresponding FAQ question if the answer was extracted from a FAQ
1776	// Document, empty otherwise.
1777	FaqQuestion string `protobuf:"bytes,2,opt,name=faq_question,json=faqQuestion,proto3" json:"faq_question,omitempty"`
1778	// The piece of text from the `source` knowledge base document that answers
1779	// this conversational query.
1780	Answer string `protobuf:"bytes,3,opt,name=answer,proto3" json:"answer,omitempty"`
1781	// The system's confidence level that this knowledge answer is a good match
1782	// for this conversational query.
1783	// NOTE: The confidence level for a given `<query, answer>` pair may change
1784	// without notice, as it depends on models that are constantly being
1785	// improved. However, it will change less frequently than the confidence
1786	// score below, and should be preferred for referencing the quality of an
1787	// answer.
1788	MatchConfidenceLevel KnowledgeAnswers_Answer_MatchConfidenceLevel `protobuf:"varint,4,opt,name=match_confidence_level,json=matchConfidenceLevel,proto3,enum=google.cloud.dialogflow.v2beta1.KnowledgeAnswers_Answer_MatchConfidenceLevel" json:"match_confidence_level,omitempty"`
1789	// The system's confidence score that this Knowledge answer is a good match
1790	// for this conversational query.
1791	// The range is from 0.0 (completely uncertain) to 1.0 (completely certain).
1792	// Note: The confidence score is likely to vary somewhat (possibly even for
1793	// identical requests), as the underlying model is under constant
1794	// improvement. It may be deprecated in the future. We recommend using
1795	// `match_confidence_level` which should be generally more stable.
1796	MatchConfidence float32 `protobuf:"fixed32,5,opt,name=match_confidence,json=matchConfidence,proto3" json:"match_confidence,omitempty"`
1797}
1798
1799func (x *KnowledgeAnswers_Answer) Reset() {
1800	*x = KnowledgeAnswers_Answer{}
1801	if protoimpl.UnsafeEnabled {
1802		mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[15]
1803		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1804		ms.StoreMessageInfo(mi)
1805	}
1806}
1807
1808func (x *KnowledgeAnswers_Answer) String() string {
1809	return protoimpl.X.MessageStringOf(x)
1810}
1811
1812func (*KnowledgeAnswers_Answer) ProtoMessage() {}
1813
1814func (x *KnowledgeAnswers_Answer) ProtoReflect() protoreflect.Message {
1815	mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[15]
1816	if protoimpl.UnsafeEnabled && x != nil {
1817		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1818		if ms.LoadMessageInfo() == nil {
1819			ms.StoreMessageInfo(mi)
1820		}
1821		return ms
1822	}
1823	return mi.MessageOf(x)
1824}
1825
1826// Deprecated: Use KnowledgeAnswers_Answer.ProtoReflect.Descriptor instead.
1827func (*KnowledgeAnswers_Answer) Descriptor() ([]byte, []int) {
1828	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{5, 0}
1829}
1830
1831func (x *KnowledgeAnswers_Answer) GetSource() string {
1832	if x != nil {
1833		return x.Source
1834	}
1835	return ""
1836}
1837
1838func (x *KnowledgeAnswers_Answer) GetFaqQuestion() string {
1839	if x != nil {
1840		return x.FaqQuestion
1841	}
1842	return ""
1843}
1844
1845func (x *KnowledgeAnswers_Answer) GetAnswer() string {
1846	if x != nil {
1847		return x.Answer
1848	}
1849	return ""
1850}
1851
1852func (x *KnowledgeAnswers_Answer) GetMatchConfidenceLevel() KnowledgeAnswers_Answer_MatchConfidenceLevel {
1853	if x != nil {
1854		return x.MatchConfidenceLevel
1855	}
1856	return KnowledgeAnswers_Answer_MATCH_CONFIDENCE_LEVEL_UNSPECIFIED
1857}
1858
1859func (x *KnowledgeAnswers_Answer) GetMatchConfidence() float32 {
1860	if x != nil {
1861		return x.MatchConfidence
1862	}
1863	return 0
1864}
1865
1866var File_google_cloud_dialogflow_v2beta1_session_proto protoreflect.FileDescriptor
1867
1868var file_google_cloud_dialogflow_v2beta1_session_proto_rawDesc = []byte{
1869	0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
1870	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61,
1871	0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
1872	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
1873	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31,
1874	0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
1875	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
1876	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e,
1877	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
1878	0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69,
1879	0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1880	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72,
1881	0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
1882	0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62,
1883	0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1884	0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
1885	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61,
1886	0x31, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70,
1887	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f,
1888	0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32,
1889	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72,
1890	0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
1891	0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62,
1892	0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c,
1893	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61,
1894	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
1895	0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x67, 0x6f,
1896	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f,
1897	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65,
1898	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70,
1899	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
1900	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
1901	0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
1902	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d,
1903	0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1904	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63,
1905	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
1906	0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1907	0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6c, 0x61,
1908	0x74, 0x6c, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x03, 0x0a, 0x13, 0x44,
1909	0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
1910	0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
1911	0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x64, 0x69, 0x61,
1912	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
1913	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07,
1914	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79,
1915	0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e,
1916	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
1917	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
1918	0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52,
1919	0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x51, 0x0a, 0x0b,
1920	0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
1921	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
1922	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65,
1923	0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x03,
1924	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12,
1925	0x62, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f,
1926	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67,
1927	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
1928	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f,
1929	0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
1930	0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e,
1931	0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x18, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75,
1932	0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18,
1933	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
1934	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73,
1935	0x6b, 0x52, 0x15, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f,
1936	0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75,
1937	0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x69,
1938	0x6e, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x22, 0xb4, 0x03, 0x0a, 0x14, 0x44, 0x65,
1939	0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
1940	0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x69,
1941	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
1942	0x65, 0x49, 0x64, 0x12, 0x4f, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73,
1943	0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1944	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
1945	0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72,
1946	0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65,
1947	0x73, 0x75, 0x6c, 0x74, 0x12, 0x68, 0x0a, 0x19, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74,
1948	0x69, 0x76, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
1949	0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1950	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
1951	0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
1952	0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69,
1953	0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x39,
1954	0x0a, 0x0e, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
1955	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1956	0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x68,
1957	0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74,
1958	0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52,
1959	0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x62, 0x0a, 0x13,
1960	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e,
1961	0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1962	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
1963	0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70,
1964	0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f,
1965	0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
1966	0x22, 0xa7, 0x06, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
1967	0x74, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e,
1968	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e,
1969	0x65, 0x12, 0x36, 0x0a, 0x0c, 0x67, 0x65, 0x6f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
1970	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1971	0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x0b, 0x67, 0x65,
1972	0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x08, 0x63, 0x6f, 0x6e,
1973	0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f,
1974	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
1975	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f,
1976	0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12,
1977	0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
1978	0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x74, 0x43, 0x6f,
1979	0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 0x64, 0x0a, 0x14, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
1980	0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05,
1981	0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
1982	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76,
1983	0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e,
1984	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x12, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
1985	0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x07,
1986	0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
1987	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
1988	0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12,
1989	0x30, 0x0a, 0x14, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x62, 0x61, 0x73,
1990	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x6b,
1991	0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65,
1992	0x73, 0x12, 0x8a, 0x01, 0x0a, 0x21, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
1993	0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
1994	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e,
1995	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
1996	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
1997	0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69,
1998	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1e,
1999	0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69,
2000	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48,
2001	0x0a, 0x0a, 0x73, 0x75, 0x62, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03,
2002	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2003	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62,
2004	0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x73,
2005	0x75, 0x62, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x6d, 0x0a, 0x0f, 0x77, 0x65, 0x62, 0x68,
2006	0x6f, 0x6f, 0x6b, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28,
2007	0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2008	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65,
2009	0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
2010	0x65, 0x72, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65,
2011	0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b,
2012	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x41, 0x0a, 0x13, 0x57, 0x65, 0x62, 0x68, 0x6f,
2013	0x6f, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
2014	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
2015	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
2016	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf4, 0x01, 0x0a, 0x0a, 0x51,
2017	0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x56, 0x0a, 0x0c, 0x61, 0x75, 0x64,
2018	0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
2019	0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
2020	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61,
2021	0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66,
2022	0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69,
2023	0x67, 0x12, 0x40, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
2024	0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
2025	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61,
2026	0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x04, 0x74,
2027	0x65, 0x78, 0x74, 0x12, 0x43, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01,
2028	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2029	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62,
2030	0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48,
2031	0x00, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75,
2032	0x74, 0x22, 0x89, 0x08, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c,
2033	0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18,
2034	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x78, 0x74,
2035	0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64,
2036	0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
2037	0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x42, 0x0a, 0x1d, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f,
2038	0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
2039	0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1b, 0x73, 0x70,
2040	0x65, 0x65, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43,
2041	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74,
2042	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f,
2043	0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18,
2044	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
2045	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a,
2046	0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x61, 0x6c,
2047	0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
2048	0x73, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
2049	0x18, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x50, 0x61, 0x72, 0x61,
2050	0x6d, 0x73, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x75, 0x6c,
2051	0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20,
2052	0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74,
2053	0x54, 0x65, 0x78, 0x74, 0x12, 0x62, 0x0a, 0x14, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d,
2054	0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03,
2055	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2056	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62,
2057	0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73,
2058	0x61, 0x67, 0x65, 0x52, 0x13, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74,
2059	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x68,
2060	0x6f, 0x6f, 0x6b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
2061	0x52, 0x0d, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
2062	0x40, 0x0a, 0x0f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f,
2063	0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2064	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63,
2065	0x74, 0x52, 0x0e, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
2066	0x64, 0x12, 0x51, 0x0a, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
2067	0x65, 0x78, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
2068	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
2069	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e,
2070	0x74, 0x65, 0x78, 0x74, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x74,
2071	0x65, 0x78, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0b,
2072	0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2073	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76,
2074	0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x69,
2075	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x1b, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f,
2076	0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64,
2077	0x65, 0x6e, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x19, 0x69, 0x6e, 0x74, 0x65,
2078	0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
2079	0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x0f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73,
2080	0x74, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
2081	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2082	0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73,
2083	0x74, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x74, 0x0a, 0x19, 0x73, 0x65, 0x6e, 0x74, 0x69,
2084	0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x72, 0x65,
2085	0x73, 0x75, 0x6c, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f,
2086	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
2087	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x6e,
2088	0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65,
2089	0x73, 0x75, 0x6c, 0x74, 0x52, 0x17, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41,
2090	0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5e, 0x0a,
2091	0x11, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65,
2092	0x72, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2093	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
2094	0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6c,
2095	0x65, 0x64, 0x67, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x52, 0x10, 0x6b, 0x6e, 0x6f,
2096	0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x22, 0xfd, 0x03,
2097	0x0a, 0x10, 0x4b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65,
2098	0x72, 0x73, 0x12, 0x52, 0x0a, 0x07, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20,
2099	0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2100	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32,
2101	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x41,
2102	0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x07, 0x61,
2103	0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x1a, 0x94, 0x03, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65,
2104	0x72, 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
2105	0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
2106	0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
2107	0x6d, 0x2f, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72,
2108	0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x71, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69,
2109	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x61, 0x71, 0x51, 0x75, 0x65,
2110	0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18,
2111	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x83, 0x01,
2112	0x0a, 0x16, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
2113	0x63, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4d,
2114	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
2115	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31,
2116	0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72,
2117	0x73, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f,
2118	0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x14, 0x6d,
2119	0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x4c, 0x65,
2120	0x76, 0x65, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e,
2121	0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d,
2122	0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x5d,
2123	0x0a, 0x14, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63,
2124	0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x22, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f,
2125	0x43, 0x4f, 0x4e, 0x46, 0x49, 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c,
2126	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07,
2127	0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55,
2128	0x4d, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, 0x22, 0x94, 0x04,
2129	0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63,
2130	0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43,
2131	0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
2132	0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
2133	0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
2134	0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73,
2135	0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72,
2136	0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2137	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
2138	0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72,
2139	0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0b, 0x71, 0x75, 0x65,
2140	0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x51, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72,
2141	0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
2142	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
2143	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2144	0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
2145	0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2d, 0x0a, 0x10, 0x73,
2146	0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x18,
2147	0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x6c,
2148	0x65, 0x55, 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x13, 0x6f, 0x75,
2149	0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
2150	0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2151	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2152	0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
2153	0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f, 0x75, 0x74,
2154	0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x53,
2155	0x0a, 0x18, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63,
2156	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
2157	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2158	0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x15, 0x6f, 0x75,
2159	0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d,
2160	0x61, 0x73, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64,
2161	0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41,
2162	0x75, 0x64, 0x69, 0x6f, 0x22, 0xa9, 0x04, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69,
2163	0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65,
2164	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2165	0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73,
2166	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, 0x64, 0x12, 0x6a, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x67,
2167	0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20,
2168	0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2169	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32,
2170	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52,
2171	0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
2172	0x52, 0x11, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
2173	0x75, 0x6c, 0x74, 0x12, 0x4f, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73,
2174	0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2175	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
2176	0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72,
2177	0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65,
2178	0x73, 0x75, 0x6c, 0x74, 0x12, 0x68, 0x0a, 0x19, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74,
2179	0x69, 0x76, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
2180	0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2181	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2182	0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
2183	0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69,
2184	0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x39,
2185	0x0a, 0x0e, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
2186	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2187	0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x68,
2188	0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74,
2189	0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52,
2190	0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x62, 0x0a, 0x13,
2191	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e,
2192	0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2193	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
2194	0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70,
2195	0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f,
2196	0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
2197	0x22, 0xd4, 0x04, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65,
2198	0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
2199	0x6a, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
2200	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2201	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2202	0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e,
2203	0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75,
2204	0x6c, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b,
2205	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74,
2206	0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
2207	0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69,
2208	0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69,
2209	0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64,
2210	0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66,
2211	0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c,
2212	0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x62, 0x69,
2213	0x6c, 0x69, 0x74, 0x79, 0x12, 0x59, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x77,
2214	0x6f, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f,
2215	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
2216	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31,
2217	0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52,
2218	0x0e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12,
2219	0x45, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66,
2220	0x66, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
2221	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
2222	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x45, 0x6e, 0x64,
2223	0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x55, 0x0a, 0x0b, 0x64, 0x74, 0x6d, 0x66, 0x5f, 0x64,
2224	0x69, 0x67, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f,
2225	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
2226	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65,
2227	0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x79, 0x44, 0x74, 0x6d, 0x66, 0x45, 0x76, 0x65, 0x6e, 0x74,
2228	0x73, 0x52, 0x0a, 0x64, 0x74, 0x6d, 0x66, 0x44, 0x69, 0x67, 0x69, 0x74, 0x73, 0x22, 0x58, 0x0a,
2229	0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18,
2230	0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53,
2231	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x52,
2232	0x41, 0x4e, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e,
2233	0x44, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x55, 0x54, 0x54, 0x45,
2234	0x52, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x22, 0x44, 0x0a, 0x09, 0x54, 0x65, 0x78, 0x74, 0x49,
2235	0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01,
2236	0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67,
2237	0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
2238	0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x7e, 0x0a,
2239	0x0a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e,
2240	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
2241	0x37, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20,
2242	0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2243	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x70, 0x61,
2244	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67,
2245	0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
2246	0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x61, 0x0a,
2247	0x1e, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73,
2248	0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
2249	0x3f, 0x0a, 0x1c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79,
2250	0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18,
2251	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x51, 0x75,
2252	0x65, 0x72, 0x79, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74,
2253	0x22, 0x77, 0x0a, 0x17, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61,
2254	0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5c, 0x0a, 0x14, 0x71,
2255	0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d,
2256	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2257	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
2258	0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x74,
2259	0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x12, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x78, 0x74,
2260	0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3f, 0x0a, 0x09, 0x53, 0x65, 0x6e,
2261	0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
2262	0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09,
2263	0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52,
2264	0x09, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x32, 0x8d, 0x06, 0x0a, 0x08, 0x53,
2265	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xe7, 0x03, 0x0a, 0x0c, 0x44, 0x65, 0x74, 0x65,
2266	0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2267	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
2268	0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63,
2269	0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35,
2270	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
2271	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31,
2272	0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73,
2273	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe9, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xcc, 0x02, 0x22,
2274	0x3b, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69,
2275	0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67,
2276	0x65, 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a,
2277	0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x5a,
2278	0x57, 0x22, 0x52, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73,
2279	0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
2280	0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
2281	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73,
2282	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49,
2283	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x4c, 0x22, 0x47, 0x2f, 0x76, 0x32, 0x62,
2284	0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72,
2285	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
2286	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69,
2287	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74,
2288	0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x63, 0x22, 0x5e, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74,
2289	0x61, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
2290	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2291	0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
2292	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f,
2293	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65,
2294	0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x13, 0x73, 0x65,
2295	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75,
2296	0x74, 0x12, 0x9c, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44,
2297	0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f,
2298	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,
2299	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74,
2300	0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74,
2301	0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f,
2302	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
2303	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72,
2304	0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65,
2305	0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01,
2306	0x1a, 0x78, 0xca, 0x41, 0x19, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2307	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41,
2308	0x59, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
2309	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68,
2310	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c,
2311	0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2312	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
2313	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x95, 0x03, 0x0a, 0x23, 0x63,
2314	0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
2315	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74,
2316	0x61, 0x31, 0x42, 0x0c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
2317	0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e,
2318	0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67,
2319	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
2320	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74,
2321	0x61, 0x31, 0x3b, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0xf8, 0x01, 0x01,
2322	0xa2, 0x02, 0x02, 0x44, 0x46, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43,
2323	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2324	0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x41, 0xe7, 0x01, 0x0a, 0x21, 0x64, 0x69, 0x61,
2325	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
2326	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b,
2327	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
2328	0x74, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
2329	0x73, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x53, 0x70, 0x72, 0x6f,
2330	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f,
2331	0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
2332	0x74, 0x73, 0x2f, 0x7b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x7d,
2333	0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x65,
2334	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d,
2335	0x12, 0x40, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a,
2336	0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b,
2337	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f,
2338	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
2339	0x6e, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
2340}
2341
2342var (
2343	file_google_cloud_dialogflow_v2beta1_session_proto_rawDescOnce sync.Once
2344	file_google_cloud_dialogflow_v2beta1_session_proto_rawDescData = file_google_cloud_dialogflow_v2beta1_session_proto_rawDesc
2345)
2346
2347func file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP() []byte {
2348	file_google_cloud_dialogflow_v2beta1_session_proto_rawDescOnce.Do(func() {
2349		file_google_cloud_dialogflow_v2beta1_session_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dialogflow_v2beta1_session_proto_rawDescData)
2350	})
2351	return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescData
2352}
2353
2354var file_google_cloud_dialogflow_v2beta1_session_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
2355var file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
2356var file_google_cloud_dialogflow_v2beta1_session_proto_goTypes = []interface{}{
2357	(KnowledgeAnswers_Answer_MatchConfidenceLevel)(0), // 0: google.cloud.dialogflow.v2beta1.KnowledgeAnswers.Answer.MatchConfidenceLevel
2358	(StreamingRecognitionResult_MessageType)(0),       // 1: google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.MessageType
2359	(*DetectIntentRequest)(nil),                       // 2: google.cloud.dialogflow.v2beta1.DetectIntentRequest
2360	(*DetectIntentResponse)(nil),                      // 3: google.cloud.dialogflow.v2beta1.DetectIntentResponse
2361	(*QueryParameters)(nil),                           // 4: google.cloud.dialogflow.v2beta1.QueryParameters
2362	(*QueryInput)(nil),                                // 5: google.cloud.dialogflow.v2beta1.QueryInput
2363	(*QueryResult)(nil),                               // 6: google.cloud.dialogflow.v2beta1.QueryResult
2364	(*KnowledgeAnswers)(nil),                          // 7: google.cloud.dialogflow.v2beta1.KnowledgeAnswers
2365	(*StreamingDetectIntentRequest)(nil),              // 8: google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest
2366	(*StreamingDetectIntentResponse)(nil),             // 9: google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse
2367	(*StreamingRecognitionResult)(nil),                // 10: google.cloud.dialogflow.v2beta1.StreamingRecognitionResult
2368	(*TextInput)(nil),                                 // 11: google.cloud.dialogflow.v2beta1.TextInput
2369	(*EventInput)(nil),                                // 12: google.cloud.dialogflow.v2beta1.EventInput
2370	(*SentimentAnalysisRequestConfig)(nil),            // 13: google.cloud.dialogflow.v2beta1.SentimentAnalysisRequestConfig
2371	(*SentimentAnalysisResult)(nil),                   // 14: google.cloud.dialogflow.v2beta1.SentimentAnalysisResult
2372	(*Sentiment)(nil),                                 // 15: google.cloud.dialogflow.v2beta1.Sentiment
2373	nil,                                               // 16: google.cloud.dialogflow.v2beta1.QueryParameters.WebhookHeadersEntry
2374	(*KnowledgeAnswers_Answer)(nil),                   // 17: google.cloud.dialogflow.v2beta1.KnowledgeAnswers.Answer
2375	(*OutputAudioConfig)(nil),                         // 18: google.cloud.dialogflow.v2beta1.OutputAudioConfig
2376	(*fieldmaskpb.FieldMask)(nil),                     // 19: google.protobuf.FieldMask
2377	(*status.Status)(nil),                             // 20: google.rpc.Status
2378	(*latlng.LatLng)(nil),                             // 21: google.type.LatLng
2379	(*Context)(nil),                                   // 22: google.cloud.dialogflow.v2beta1.Context
2380	(*SessionEntityType)(nil),                         // 23: google.cloud.dialogflow.v2beta1.SessionEntityType
2381	(*structpb.Struct)(nil),                           // 24: google.protobuf.Struct
2382	(*SubAgent)(nil),                                  // 25: google.cloud.dialogflow.v2beta1.SubAgent
2383	(*InputAudioConfig)(nil),                          // 26: google.cloud.dialogflow.v2beta1.InputAudioConfig
2384	(*Intent_Message)(nil),                            // 27: google.cloud.dialogflow.v2beta1.Intent.Message
2385	(*Intent)(nil),                                    // 28: google.cloud.dialogflow.v2beta1.Intent
2386	(*SpeechWordInfo)(nil),                            // 29: google.cloud.dialogflow.v2beta1.SpeechWordInfo
2387	(*durationpb.Duration)(nil),                       // 30: google.protobuf.Duration
2388	(*TelephonyDtmfEvents)(nil),                       // 31: google.cloud.dialogflow.v2beta1.TelephonyDtmfEvents
2389}
2390var file_google_cloud_dialogflow_v2beta1_session_proto_depIdxs = []int32{
2391	4,  // 0: google.cloud.dialogflow.v2beta1.DetectIntentRequest.query_params:type_name -> google.cloud.dialogflow.v2beta1.QueryParameters
2392	5,  // 1: google.cloud.dialogflow.v2beta1.DetectIntentRequest.query_input:type_name -> google.cloud.dialogflow.v2beta1.QueryInput
2393	18, // 2: google.cloud.dialogflow.v2beta1.DetectIntentRequest.output_audio_config:type_name -> google.cloud.dialogflow.v2beta1.OutputAudioConfig
2394	19, // 3: google.cloud.dialogflow.v2beta1.DetectIntentRequest.output_audio_config_mask:type_name -> google.protobuf.FieldMask
2395	6,  // 4: google.cloud.dialogflow.v2beta1.DetectIntentResponse.query_result:type_name -> google.cloud.dialogflow.v2beta1.QueryResult
2396	6,  // 5: google.cloud.dialogflow.v2beta1.DetectIntentResponse.alternative_query_results:type_name -> google.cloud.dialogflow.v2beta1.QueryResult
2397	20, // 6: google.cloud.dialogflow.v2beta1.DetectIntentResponse.webhook_status:type_name -> google.rpc.Status
2398	18, // 7: google.cloud.dialogflow.v2beta1.DetectIntentResponse.output_audio_config:type_name -> google.cloud.dialogflow.v2beta1.OutputAudioConfig
2399	21, // 8: google.cloud.dialogflow.v2beta1.QueryParameters.geo_location:type_name -> google.type.LatLng
2400	22, // 9: google.cloud.dialogflow.v2beta1.QueryParameters.contexts:type_name -> google.cloud.dialogflow.v2beta1.Context
2401	23, // 10: google.cloud.dialogflow.v2beta1.QueryParameters.session_entity_types:type_name -> google.cloud.dialogflow.v2beta1.SessionEntityType
2402	24, // 11: google.cloud.dialogflow.v2beta1.QueryParameters.payload:type_name -> google.protobuf.Struct
2403	13, // 12: google.cloud.dialogflow.v2beta1.QueryParameters.sentiment_analysis_request_config:type_name -> google.cloud.dialogflow.v2beta1.SentimentAnalysisRequestConfig
2404	25, // 13: google.cloud.dialogflow.v2beta1.QueryParameters.sub_agents:type_name -> google.cloud.dialogflow.v2beta1.SubAgent
2405	16, // 14: google.cloud.dialogflow.v2beta1.QueryParameters.webhook_headers:type_name -> google.cloud.dialogflow.v2beta1.QueryParameters.WebhookHeadersEntry
2406	26, // 15: google.cloud.dialogflow.v2beta1.QueryInput.audio_config:type_name -> google.cloud.dialogflow.v2beta1.InputAudioConfig
2407	11, // 16: google.cloud.dialogflow.v2beta1.QueryInput.text:type_name -> google.cloud.dialogflow.v2beta1.TextInput
2408	12, // 17: google.cloud.dialogflow.v2beta1.QueryInput.event:type_name -> google.cloud.dialogflow.v2beta1.EventInput
2409	24, // 18: google.cloud.dialogflow.v2beta1.QueryResult.parameters:type_name -> google.protobuf.Struct
2410	27, // 19: google.cloud.dialogflow.v2beta1.QueryResult.fulfillment_messages:type_name -> google.cloud.dialogflow.v2beta1.Intent.Message
2411	24, // 20: google.cloud.dialogflow.v2beta1.QueryResult.webhook_payload:type_name -> google.protobuf.Struct
2412	22, // 21: google.cloud.dialogflow.v2beta1.QueryResult.output_contexts:type_name -> google.cloud.dialogflow.v2beta1.Context
2413	28, // 22: google.cloud.dialogflow.v2beta1.QueryResult.intent:type_name -> google.cloud.dialogflow.v2beta1.Intent
2414	24, // 23: google.cloud.dialogflow.v2beta1.QueryResult.diagnostic_info:type_name -> google.protobuf.Struct
2415	14, // 24: google.cloud.dialogflow.v2beta1.QueryResult.sentiment_analysis_result:type_name -> google.cloud.dialogflow.v2beta1.SentimentAnalysisResult
2416	7,  // 25: google.cloud.dialogflow.v2beta1.QueryResult.knowledge_answers:type_name -> google.cloud.dialogflow.v2beta1.KnowledgeAnswers
2417	17, // 26: google.cloud.dialogflow.v2beta1.KnowledgeAnswers.answers:type_name -> google.cloud.dialogflow.v2beta1.KnowledgeAnswers.Answer
2418	4,  // 27: google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_params:type_name -> google.cloud.dialogflow.v2beta1.QueryParameters
2419	5,  // 28: google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_input:type_name -> google.cloud.dialogflow.v2beta1.QueryInput
2420	18, // 29: google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.output_audio_config:type_name -> google.cloud.dialogflow.v2beta1.OutputAudioConfig
2421	19, // 30: google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.output_audio_config_mask:type_name -> google.protobuf.FieldMask
2422	10, // 31: google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse.recognition_result:type_name -> google.cloud.dialogflow.v2beta1.StreamingRecognitionResult
2423	6,  // 32: google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse.query_result:type_name -> google.cloud.dialogflow.v2beta1.QueryResult
2424	6,  // 33: google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse.alternative_query_results:type_name -> google.cloud.dialogflow.v2beta1.QueryResult
2425	20, // 34: google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse.webhook_status:type_name -> google.rpc.Status
2426	18, // 35: google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse.output_audio_config:type_name -> google.cloud.dialogflow.v2beta1.OutputAudioConfig
2427	1,  // 36: google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.message_type:type_name -> google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.MessageType
2428	29, // 37: google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.speech_word_info:type_name -> google.cloud.dialogflow.v2beta1.SpeechWordInfo
2429	30, // 38: google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.speech_end_offset:type_name -> google.protobuf.Duration
2430	31, // 39: google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.dtmf_digits:type_name -> google.cloud.dialogflow.v2beta1.TelephonyDtmfEvents
2431	24, // 40: google.cloud.dialogflow.v2beta1.EventInput.parameters:type_name -> google.protobuf.Struct
2432	15, // 41: google.cloud.dialogflow.v2beta1.SentimentAnalysisResult.query_text_sentiment:type_name -> google.cloud.dialogflow.v2beta1.Sentiment
2433	0,  // 42: google.cloud.dialogflow.v2beta1.KnowledgeAnswers.Answer.match_confidence_level:type_name -> google.cloud.dialogflow.v2beta1.KnowledgeAnswers.Answer.MatchConfidenceLevel
2434	2,  // 43: google.cloud.dialogflow.v2beta1.Sessions.DetectIntent:input_type -> google.cloud.dialogflow.v2beta1.DetectIntentRequest
2435	8,  // 44: google.cloud.dialogflow.v2beta1.Sessions.StreamingDetectIntent:input_type -> google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest
2436	3,  // 45: google.cloud.dialogflow.v2beta1.Sessions.DetectIntent:output_type -> google.cloud.dialogflow.v2beta1.DetectIntentResponse
2437	9,  // 46: google.cloud.dialogflow.v2beta1.Sessions.StreamingDetectIntent:output_type -> google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse
2438	45, // [45:47] is the sub-list for method output_type
2439	43, // [43:45] is the sub-list for method input_type
2440	43, // [43:43] is the sub-list for extension type_name
2441	43, // [43:43] is the sub-list for extension extendee
2442	0,  // [0:43] is the sub-list for field type_name
2443}
2444
2445func init() { file_google_cloud_dialogflow_v2beta1_session_proto_init() }
2446func file_google_cloud_dialogflow_v2beta1_session_proto_init() {
2447	if File_google_cloud_dialogflow_v2beta1_session_proto != nil {
2448		return
2449	}
2450	file_google_cloud_dialogflow_v2beta1_agent_proto_init()
2451	file_google_cloud_dialogflow_v2beta1_audio_config_proto_init()
2452	file_google_cloud_dialogflow_v2beta1_context_proto_init()
2453	file_google_cloud_dialogflow_v2beta1_gcs_proto_init()
2454	file_google_cloud_dialogflow_v2beta1_intent_proto_init()
2455	file_google_cloud_dialogflow_v2beta1_session_entity_type_proto_init()
2456	if !protoimpl.UnsafeEnabled {
2457		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2458			switch v := v.(*DetectIntentRequest); i {
2459			case 0:
2460				return &v.state
2461			case 1:
2462				return &v.sizeCache
2463			case 2:
2464				return &v.unknownFields
2465			default:
2466				return nil
2467			}
2468		}
2469		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2470			switch v := v.(*DetectIntentResponse); i {
2471			case 0:
2472				return &v.state
2473			case 1:
2474				return &v.sizeCache
2475			case 2:
2476				return &v.unknownFields
2477			default:
2478				return nil
2479			}
2480		}
2481		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2482			switch v := v.(*QueryParameters); i {
2483			case 0:
2484				return &v.state
2485			case 1:
2486				return &v.sizeCache
2487			case 2:
2488				return &v.unknownFields
2489			default:
2490				return nil
2491			}
2492		}
2493		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2494			switch v := v.(*QueryInput); i {
2495			case 0:
2496				return &v.state
2497			case 1:
2498				return &v.sizeCache
2499			case 2:
2500				return &v.unknownFields
2501			default:
2502				return nil
2503			}
2504		}
2505		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2506			switch v := v.(*QueryResult); i {
2507			case 0:
2508				return &v.state
2509			case 1:
2510				return &v.sizeCache
2511			case 2:
2512				return &v.unknownFields
2513			default:
2514				return nil
2515			}
2516		}
2517		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2518			switch v := v.(*KnowledgeAnswers); i {
2519			case 0:
2520				return &v.state
2521			case 1:
2522				return &v.sizeCache
2523			case 2:
2524				return &v.unknownFields
2525			default:
2526				return nil
2527			}
2528		}
2529		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2530			switch v := v.(*StreamingDetectIntentRequest); i {
2531			case 0:
2532				return &v.state
2533			case 1:
2534				return &v.sizeCache
2535			case 2:
2536				return &v.unknownFields
2537			default:
2538				return nil
2539			}
2540		}
2541		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2542			switch v := v.(*StreamingDetectIntentResponse); i {
2543			case 0:
2544				return &v.state
2545			case 1:
2546				return &v.sizeCache
2547			case 2:
2548				return &v.unknownFields
2549			default:
2550				return nil
2551			}
2552		}
2553		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2554			switch v := v.(*StreamingRecognitionResult); i {
2555			case 0:
2556				return &v.state
2557			case 1:
2558				return &v.sizeCache
2559			case 2:
2560				return &v.unknownFields
2561			default:
2562				return nil
2563			}
2564		}
2565		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2566			switch v := v.(*TextInput); i {
2567			case 0:
2568				return &v.state
2569			case 1:
2570				return &v.sizeCache
2571			case 2:
2572				return &v.unknownFields
2573			default:
2574				return nil
2575			}
2576		}
2577		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2578			switch v := v.(*EventInput); i {
2579			case 0:
2580				return &v.state
2581			case 1:
2582				return &v.sizeCache
2583			case 2:
2584				return &v.unknownFields
2585			default:
2586				return nil
2587			}
2588		}
2589		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2590			switch v := v.(*SentimentAnalysisRequestConfig); i {
2591			case 0:
2592				return &v.state
2593			case 1:
2594				return &v.sizeCache
2595			case 2:
2596				return &v.unknownFields
2597			default:
2598				return nil
2599			}
2600		}
2601		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2602			switch v := v.(*SentimentAnalysisResult); i {
2603			case 0:
2604				return &v.state
2605			case 1:
2606				return &v.sizeCache
2607			case 2:
2608				return &v.unknownFields
2609			default:
2610				return nil
2611			}
2612		}
2613		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2614			switch v := v.(*Sentiment); i {
2615			case 0:
2616				return &v.state
2617			case 1:
2618				return &v.sizeCache
2619			case 2:
2620				return &v.unknownFields
2621			default:
2622				return nil
2623			}
2624		}
2625		file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2626			switch v := v.(*KnowledgeAnswers_Answer); i {
2627			case 0:
2628				return &v.state
2629			case 1:
2630				return &v.sizeCache
2631			case 2:
2632				return &v.unknownFields
2633			default:
2634				return nil
2635			}
2636		}
2637	}
2638	file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[3].OneofWrappers = []interface{}{
2639		(*QueryInput_AudioConfig)(nil),
2640		(*QueryInput_Text)(nil),
2641		(*QueryInput_Event)(nil),
2642	}
2643	type x struct{}
2644	out := protoimpl.TypeBuilder{
2645		File: protoimpl.DescBuilder{
2646			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2647			RawDescriptor: file_google_cloud_dialogflow_v2beta1_session_proto_rawDesc,
2648			NumEnums:      2,
2649			NumMessages:   16,
2650			NumExtensions: 0,
2651			NumServices:   1,
2652		},
2653		GoTypes:           file_google_cloud_dialogflow_v2beta1_session_proto_goTypes,
2654		DependencyIndexes: file_google_cloud_dialogflow_v2beta1_session_proto_depIdxs,
2655		EnumInfos:         file_google_cloud_dialogflow_v2beta1_session_proto_enumTypes,
2656		MessageInfos:      file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes,
2657	}.Build()
2658	File_google_cloud_dialogflow_v2beta1_session_proto = out.File
2659	file_google_cloud_dialogflow_v2beta1_session_proto_rawDesc = nil
2660	file_google_cloud_dialogflow_v2beta1_session_proto_goTypes = nil
2661	file_google_cloud_dialogflow_v2beta1_session_proto_depIdxs = nil
2662}
2663
2664// Reference imports to suppress errors if they are not otherwise used.
2665var _ context.Context
2666var _ grpc.ClientConnInterface
2667
2668// This is a compile-time assertion to ensure that this generated file
2669// is compatible with the grpc package it is being compiled against.
2670const _ = grpc.SupportPackageIsVersion6
2671
2672// SessionsClient is the client API for Sessions service.
2673//
2674// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2675type SessionsClient interface {
2676	// Processes a natural language query and returns structured, actionable data
2677	// as a result. This method is not idempotent, because it may cause contexts
2678	// and session entity types to be updated, which in turn might affect
2679	// results of future queries.
2680	DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error)
2681	// Processes a natural language query in audio format in a streaming fashion
2682	// and returns structured, actionable data as a result. This method is only
2683	// available via the gRPC API (not REST).
2684	StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error)
2685}
2686
2687type sessionsClient struct {
2688	cc grpc.ClientConnInterface
2689}
2690
2691func NewSessionsClient(cc grpc.ClientConnInterface) SessionsClient {
2692	return &sessionsClient{cc}
2693}
2694
2695func (c *sessionsClient) DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error) {
2696	out := new(DetectIntentResponse)
2697	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.v2beta1.Sessions/DetectIntent", in, out, opts...)
2698	if err != nil {
2699		return nil, err
2700	}
2701	return out, nil
2702}
2703
2704func (c *sessionsClient) StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error) {
2705	stream, err := c.cc.NewStream(ctx, &_Sessions_serviceDesc.Streams[0], "/google.cloud.dialogflow.v2beta1.Sessions/StreamingDetectIntent", opts...)
2706	if err != nil {
2707		return nil, err
2708	}
2709	x := &sessionsStreamingDetectIntentClient{stream}
2710	return x, nil
2711}
2712
2713type Sessions_StreamingDetectIntentClient interface {
2714	Send(*StreamingDetectIntentRequest) error
2715	Recv() (*StreamingDetectIntentResponse, error)
2716	grpc.ClientStream
2717}
2718
2719type sessionsStreamingDetectIntentClient struct {
2720	grpc.ClientStream
2721}
2722
2723func (x *sessionsStreamingDetectIntentClient) Send(m *StreamingDetectIntentRequest) error {
2724	return x.ClientStream.SendMsg(m)
2725}
2726
2727func (x *sessionsStreamingDetectIntentClient) Recv() (*StreamingDetectIntentResponse, error) {
2728	m := new(StreamingDetectIntentResponse)
2729	if err := x.ClientStream.RecvMsg(m); err != nil {
2730		return nil, err
2731	}
2732	return m, nil
2733}
2734
2735// SessionsServer is the server API for Sessions service.
2736type SessionsServer interface {
2737	// Processes a natural language query and returns structured, actionable data
2738	// as a result. This method is not idempotent, because it may cause contexts
2739	// and session entity types to be updated, which in turn might affect
2740	// results of future queries.
2741	DetectIntent(context.Context, *DetectIntentRequest) (*DetectIntentResponse, error)
2742	// Processes a natural language query in audio format in a streaming fashion
2743	// and returns structured, actionable data as a result. This method is only
2744	// available via the gRPC API (not REST).
2745	StreamingDetectIntent(Sessions_StreamingDetectIntentServer) error
2746}
2747
2748// UnimplementedSessionsServer can be embedded to have forward compatible implementations.
2749type UnimplementedSessionsServer struct {
2750}
2751
2752func (*UnimplementedSessionsServer) DetectIntent(context.Context, *DetectIntentRequest) (*DetectIntentResponse, error) {
2753	return nil, status1.Errorf(codes.Unimplemented, "method DetectIntent not implemented")
2754}
2755func (*UnimplementedSessionsServer) StreamingDetectIntent(Sessions_StreamingDetectIntentServer) error {
2756	return status1.Errorf(codes.Unimplemented, "method StreamingDetectIntent not implemented")
2757}
2758
2759func RegisterSessionsServer(s *grpc.Server, srv SessionsServer) {
2760	s.RegisterService(&_Sessions_serviceDesc, srv)
2761}
2762
2763func _Sessions_DetectIntent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2764	in := new(DetectIntentRequest)
2765	if err := dec(in); err != nil {
2766		return nil, err
2767	}
2768	if interceptor == nil {
2769		return srv.(SessionsServer).DetectIntent(ctx, in)
2770	}
2771	info := &grpc.UnaryServerInfo{
2772		Server:     srv,
2773		FullMethod: "/google.cloud.dialogflow.v2beta1.Sessions/DetectIntent",
2774	}
2775	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2776		return srv.(SessionsServer).DetectIntent(ctx, req.(*DetectIntentRequest))
2777	}
2778	return interceptor(ctx, in, info, handler)
2779}
2780
2781func _Sessions_StreamingDetectIntent_Handler(srv interface{}, stream grpc.ServerStream) error {
2782	return srv.(SessionsServer).StreamingDetectIntent(&sessionsStreamingDetectIntentServer{stream})
2783}
2784
2785type Sessions_StreamingDetectIntentServer interface {
2786	Send(*StreamingDetectIntentResponse) error
2787	Recv() (*StreamingDetectIntentRequest, error)
2788	grpc.ServerStream
2789}
2790
2791type sessionsStreamingDetectIntentServer struct {
2792	grpc.ServerStream
2793}
2794
2795func (x *sessionsStreamingDetectIntentServer) Send(m *StreamingDetectIntentResponse) error {
2796	return x.ServerStream.SendMsg(m)
2797}
2798
2799func (x *sessionsStreamingDetectIntentServer) Recv() (*StreamingDetectIntentRequest, error) {
2800	m := new(StreamingDetectIntentRequest)
2801	if err := x.ServerStream.RecvMsg(m); err != nil {
2802		return nil, err
2803	}
2804	return m, nil
2805}
2806
2807var _Sessions_serviceDesc = grpc.ServiceDesc{
2808	ServiceName: "google.cloud.dialogflow.v2beta1.Sessions",
2809	HandlerType: (*SessionsServer)(nil),
2810	Methods: []grpc.MethodDesc{
2811		{
2812			MethodName: "DetectIntent",
2813			Handler:    _Sessions_DetectIntent_Handler,
2814		},
2815	},
2816	Streams: []grpc.StreamDesc{
2817		{
2818			StreamName:    "StreamingDetectIntent",
2819			Handler:       _Sessions_StreamingDetectIntent_Handler,
2820			ServerStreams: true,
2821			ClientStreams: true,
2822		},
2823	},
2824	Metadata: "google/cloud/dialogflow/v2beta1/session.proto",
2825}
2826