1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/cloud/dialogflow/cx/v3beta1/session.proto
20
21package cx
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	status "google.golang.org/genproto/googleapis/rpc/status"
30	latlng "google.golang.org/genproto/googleapis/type/latlng"
31	grpc "google.golang.org/grpc"
32	codes "google.golang.org/grpc/codes"
33	status1 "google.golang.org/grpc/status"
34	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
35	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
36	durationpb "google.golang.org/protobuf/types/known/durationpb"
37	structpb "google.golang.org/protobuf/types/known/structpb"
38)
39
40const (
41	// Verify that this generated code is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
43	// Verify that runtime/protoimpl is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
45)
46
47// Represents different DetectIntentResponse types.
48type DetectIntentResponse_ResponseType int32
49
50const (
51	// Not specified. This should never happen.
52	DetectIntentResponse_RESPONSE_TYPE_UNSPECIFIED DetectIntentResponse_ResponseType = 0
53	// Partial response. e.g. Aggregated responses in a Fulfillment that enables
54	// `return_partial_response` can be returned as partial response.
55	// WARNING: partial response is not eligible for barge-in.
56	DetectIntentResponse_PARTIAL DetectIntentResponse_ResponseType = 1
57	// Final response.
58	DetectIntentResponse_FINAL DetectIntentResponse_ResponseType = 2
59)
60
61// Enum value maps for DetectIntentResponse_ResponseType.
62var (
63	DetectIntentResponse_ResponseType_name = map[int32]string{
64		0: "RESPONSE_TYPE_UNSPECIFIED",
65		1: "PARTIAL",
66		2: "FINAL",
67	}
68	DetectIntentResponse_ResponseType_value = map[string]int32{
69		"RESPONSE_TYPE_UNSPECIFIED": 0,
70		"PARTIAL":                   1,
71		"FINAL":                     2,
72	}
73)
74
75func (x DetectIntentResponse_ResponseType) Enum() *DetectIntentResponse_ResponseType {
76	p := new(DetectIntentResponse_ResponseType)
77	*p = x
78	return p
79}
80
81func (x DetectIntentResponse_ResponseType) String() string {
82	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
83}
84
85func (DetectIntentResponse_ResponseType) Descriptor() protoreflect.EnumDescriptor {
86	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_enumTypes[0].Descriptor()
87}
88
89func (DetectIntentResponse_ResponseType) Type() protoreflect.EnumType {
90	return &file_google_cloud_dialogflow_cx_v3beta1_session_proto_enumTypes[0]
91}
92
93func (x DetectIntentResponse_ResponseType) Number() protoreflect.EnumNumber {
94	return protoreflect.EnumNumber(x)
95}
96
97// Deprecated: Use DetectIntentResponse_ResponseType.Descriptor instead.
98func (DetectIntentResponse_ResponseType) EnumDescriptor() ([]byte, []int) {
99	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{1, 0}
100}
101
102// Type of the response message.
103type StreamingRecognitionResult_MessageType int32
104
105const (
106	// Not specified. Should never be used.
107	StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED StreamingRecognitionResult_MessageType = 0
108	// Message contains a (possibly partial) transcript.
109	StreamingRecognitionResult_TRANSCRIPT StreamingRecognitionResult_MessageType = 1
110	// Event indicates that the server has detected the end of the user's speech
111	// utterance and expects no additional speech. Therefore, the server will
112	// not process additional audio (although it may subsequently return
113	// additional results). The client should stop sending additional audio
114	// data, half-close the gRPC connection, and wait for any additional results
115	// until the server closes the gRPC connection. This message is only sent if
116	// [`single_utterance`][google.cloud.dialogflow.cx.v3beta1.InputAudioConfig.single_utterance] was set to
117	// `true`, and is not used otherwise.
118	StreamingRecognitionResult_END_OF_SINGLE_UTTERANCE StreamingRecognitionResult_MessageType = 2
119)
120
121// Enum value maps for StreamingRecognitionResult_MessageType.
122var (
123	StreamingRecognitionResult_MessageType_name = map[int32]string{
124		0: "MESSAGE_TYPE_UNSPECIFIED",
125		1: "TRANSCRIPT",
126		2: "END_OF_SINGLE_UTTERANCE",
127	}
128	StreamingRecognitionResult_MessageType_value = map[string]int32{
129		"MESSAGE_TYPE_UNSPECIFIED": 0,
130		"TRANSCRIPT":               1,
131		"END_OF_SINGLE_UTTERANCE":  2,
132	}
133)
134
135func (x StreamingRecognitionResult_MessageType) Enum() *StreamingRecognitionResult_MessageType {
136	p := new(StreamingRecognitionResult_MessageType)
137	*p = x
138	return p
139}
140
141func (x StreamingRecognitionResult_MessageType) String() string {
142	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
143}
144
145func (StreamingRecognitionResult_MessageType) Descriptor() protoreflect.EnumDescriptor {
146	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_enumTypes[1].Descriptor()
147}
148
149func (StreamingRecognitionResult_MessageType) Type() protoreflect.EnumType {
150	return &file_google_cloud_dialogflow_cx_v3beta1_session_proto_enumTypes[1]
151}
152
153func (x StreamingRecognitionResult_MessageType) Number() protoreflect.EnumNumber {
154	return protoreflect.EnumNumber(x)
155}
156
157// Deprecated: Use StreamingRecognitionResult_MessageType.Descriptor instead.
158func (StreamingRecognitionResult_MessageType) EnumDescriptor() ([]byte, []int) {
159	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{4, 0}
160}
161
162// Type of a Match.
163type Match_MatchType int32
164
165const (
166	// Not specified. Should never be used.
167	Match_MATCH_TYPE_UNSPECIFIED Match_MatchType = 0
168	// The query was matched to an intent.
169	Match_INTENT Match_MatchType = 1
170	// The query directly triggered an intent.
171	Match_DIRECT_INTENT Match_MatchType = 2
172	// The query was used for parameter filling.
173	Match_PARAMETER_FILLING Match_MatchType = 3
174	// No match was found for the query.
175	Match_NO_MATCH Match_MatchType = 4
176	// Indicates an empty query.
177	Match_NO_INPUT Match_MatchType = 5
178	// The query directly triggered an event.
179	Match_EVENT Match_MatchType = 6
180)
181
182// Enum value maps for Match_MatchType.
183var (
184	Match_MatchType_name = map[int32]string{
185		0: "MATCH_TYPE_UNSPECIFIED",
186		1: "INTENT",
187		2: "DIRECT_INTENT",
188		3: "PARAMETER_FILLING",
189		4: "NO_MATCH",
190		5: "NO_INPUT",
191		6: "EVENT",
192	}
193	Match_MatchType_value = map[string]int32{
194		"MATCH_TYPE_UNSPECIFIED": 0,
195		"INTENT":                 1,
196		"DIRECT_INTENT":          2,
197		"PARAMETER_FILLING":      3,
198		"NO_MATCH":               4,
199		"NO_INPUT":               5,
200		"EVENT":                  6,
201	}
202)
203
204func (x Match_MatchType) Enum() *Match_MatchType {
205	p := new(Match_MatchType)
206	*p = x
207	return p
208}
209
210func (x Match_MatchType) String() string {
211	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
212}
213
214func (Match_MatchType) Descriptor() protoreflect.EnumDescriptor {
215	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_enumTypes[2].Descriptor()
216}
217
218func (Match_MatchType) Type() protoreflect.EnumType {
219	return &file_google_cloud_dialogflow_cx_v3beta1_session_proto_enumTypes[2]
220}
221
222func (x Match_MatchType) Number() protoreflect.EnumNumber {
223	return protoreflect.EnumNumber(x)
224}
225
226// Deprecated: Use Match_MatchType.Descriptor instead.
227func (Match_MatchType) EnumDescriptor() ([]byte, []int) {
228	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{13, 0}
229}
230
231// The request to detect user's intent.
232type DetectIntentRequest struct {
233	state         protoimpl.MessageState
234	sizeCache     protoimpl.SizeCache
235	unknownFields protoimpl.UnknownFields
236
237	// Required. The name of the session this query is sent to.
238	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
239	// ID>/sessions/<Session ID>` or `projects/<Project ID>/locations/<Location
240	// ID>/agents/<Agent ID>/environments/<Environment ID>/sessions/<Session ID>`.
241	// If `Environment ID` is not specified, we assume default 'draft'
242	// environment.
243	// It's up to the API caller to choose an appropriate `Session ID`. It can be
244	// a random number or some type of session identifiers (preferably hashed).
245	// The length of the `Session ID` must not exceed 36 characters.
246	//
247	// For more information, see the [sessions
248	// guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).
249	//
250	// Note: Always use agent versions for production traffic.
251	// See [Versions and
252	// environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).
253	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
254	// The parameters of this query.
255	QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
256	// Required. The input specification.
257	QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
258	// Instructs the speech synthesizer how to generate the output audio.
259	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,4,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
260}
261
262func (x *DetectIntentRequest) Reset() {
263	*x = DetectIntentRequest{}
264	if protoimpl.UnsafeEnabled {
265		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[0]
266		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
267		ms.StoreMessageInfo(mi)
268	}
269}
270
271func (x *DetectIntentRequest) String() string {
272	return protoimpl.X.MessageStringOf(x)
273}
274
275func (*DetectIntentRequest) ProtoMessage() {}
276
277func (x *DetectIntentRequest) ProtoReflect() protoreflect.Message {
278	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[0]
279	if protoimpl.UnsafeEnabled && x != nil {
280		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
281		if ms.LoadMessageInfo() == nil {
282			ms.StoreMessageInfo(mi)
283		}
284		return ms
285	}
286	return mi.MessageOf(x)
287}
288
289// Deprecated: Use DetectIntentRequest.ProtoReflect.Descriptor instead.
290func (*DetectIntentRequest) Descriptor() ([]byte, []int) {
291	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{0}
292}
293
294func (x *DetectIntentRequest) GetSession() string {
295	if x != nil {
296		return x.Session
297	}
298	return ""
299}
300
301func (x *DetectIntentRequest) GetQueryParams() *QueryParameters {
302	if x != nil {
303		return x.QueryParams
304	}
305	return nil
306}
307
308func (x *DetectIntentRequest) GetQueryInput() *QueryInput {
309	if x != nil {
310		return x.QueryInput
311	}
312	return nil
313}
314
315func (x *DetectIntentRequest) GetOutputAudioConfig() *OutputAudioConfig {
316	if x != nil {
317		return x.OutputAudioConfig
318	}
319	return nil
320}
321
322// The message returned from the DetectIntent method.
323type DetectIntentResponse struct {
324	state         protoimpl.MessageState
325	sizeCache     protoimpl.SizeCache
326	unknownFields protoimpl.UnknownFields
327
328	// Output only. The unique identifier of the response. It can be used to
329	// locate a response in the training example set or for reporting issues.
330	ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
331	// The result of the conversational query.
332	QueryResult *QueryResult `protobuf:"bytes,2,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"`
333	// The audio data bytes encoded as specified in the request.
334	// Note: The output audio is generated based on the values of default platform
335	// text responses found in the
336	// [`query_result.response_messages`][google.cloud.dialogflow.cx.v3beta1.QueryResult.response_messages] field. If
337	// multiple default text responses exist, they will be concatenated when
338	// generating audio. If no default platform text responses exist, the
339	// generated audio content will be empty.
340	//
341	// In some scenarios, multiple output audio fields may be present in the
342	// response structure. In these cases, only the top-most-level audio output
343	// has content.
344	OutputAudio []byte `protobuf:"bytes,4,opt,name=output_audio,json=outputAudio,proto3" json:"output_audio,omitempty"`
345	// The config used by the speech synthesizer to generate the output audio.
346	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,5,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
347	// Response type.
348	ResponseType DetectIntentResponse_ResponseType `protobuf:"varint,6,opt,name=response_type,json=responseType,proto3,enum=google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse_ResponseType" json:"response_type,omitempty"`
349	// Indicates whether the partial response can be cancelled when a later
350	// response arrives. e.g. if the agent specified some music as partial
351	// response, it can be cancelled.
352	AllowCancellation bool `protobuf:"varint,7,opt,name=allow_cancellation,json=allowCancellation,proto3" json:"allow_cancellation,omitempty"`
353}
354
355func (x *DetectIntentResponse) Reset() {
356	*x = DetectIntentResponse{}
357	if protoimpl.UnsafeEnabled {
358		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[1]
359		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
360		ms.StoreMessageInfo(mi)
361	}
362}
363
364func (x *DetectIntentResponse) String() string {
365	return protoimpl.X.MessageStringOf(x)
366}
367
368func (*DetectIntentResponse) ProtoMessage() {}
369
370func (x *DetectIntentResponse) ProtoReflect() protoreflect.Message {
371	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[1]
372	if protoimpl.UnsafeEnabled && x != nil {
373		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
374		if ms.LoadMessageInfo() == nil {
375			ms.StoreMessageInfo(mi)
376		}
377		return ms
378	}
379	return mi.MessageOf(x)
380}
381
382// Deprecated: Use DetectIntentResponse.ProtoReflect.Descriptor instead.
383func (*DetectIntentResponse) Descriptor() ([]byte, []int) {
384	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{1}
385}
386
387func (x *DetectIntentResponse) GetResponseId() string {
388	if x != nil {
389		return x.ResponseId
390	}
391	return ""
392}
393
394func (x *DetectIntentResponse) GetQueryResult() *QueryResult {
395	if x != nil {
396		return x.QueryResult
397	}
398	return nil
399}
400
401func (x *DetectIntentResponse) GetOutputAudio() []byte {
402	if x != nil {
403		return x.OutputAudio
404	}
405	return nil
406}
407
408func (x *DetectIntentResponse) GetOutputAudioConfig() *OutputAudioConfig {
409	if x != nil {
410		return x.OutputAudioConfig
411	}
412	return nil
413}
414
415func (x *DetectIntentResponse) GetResponseType() DetectIntentResponse_ResponseType {
416	if x != nil {
417		return x.ResponseType
418	}
419	return DetectIntentResponse_RESPONSE_TYPE_UNSPECIFIED
420}
421
422func (x *DetectIntentResponse) GetAllowCancellation() bool {
423	if x != nil {
424		return x.AllowCancellation
425	}
426	return false
427}
428
429// The top-level message sent by the client to the
430// [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3beta1.Sessions.StreamingDetectIntent] method.
431//
432// Multiple request messages should be sent in order:
433//
434// 1.  The first message must contain
435//     [session][google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest.session],
436//     [query_input][google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest.query_input] plus optionally
437//     [query_params][google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest.query_params]. If the client
438//     wants to receive an audio response, it should also contain
439//     [output_audio_config][google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest.output_audio_config].
440//
441// 2.  If [query_input][google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest.query_input] was set to
442//     [query_input.audio.config][google.cloud.dialogflow.cx.v3beta1.AudioInput.config], all subsequent messages
443//     must contain [query_input.audio.audio][google.cloud.dialogflow.cx.v3beta1.AudioInput.audio] to continue with
444//     Speech recognition.
445//     If you decide to rather detect an intent from text
446//     input after you already started Speech recognition, please send a message
447//     with [query_input.text][google.cloud.dialogflow.cx.v3beta1.QueryInput.text].
448//
449//     However, note that:
450//
451//     * Dialogflow will bill you for the audio duration so far.
452//     * Dialogflow discards all Speech recognition results in favor of the
453//       input text.
454//     * Dialogflow will use the language code from the first message.
455//
456// After you sent all input, you must half-close or abort the request stream.
457type StreamingDetectIntentRequest struct {
458	state         protoimpl.MessageState
459	sizeCache     protoimpl.SizeCache
460	unknownFields protoimpl.UnknownFields
461
462	// The name of the session this query is sent to.
463	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
464	// ID>/sessions/<Session ID>` or `projects/<Project ID>/locations/<Location
465	// ID>/agents/<Agent ID>/environments/<Environment ID>/sessions/<Session ID>`.
466	// If `Environment ID` is not specified, we assume default 'draft'
467	// environment.
468	// It's up to the API caller to choose an appropriate `Session ID`. It can be
469	// a random number or some type of session identifiers (preferably hashed).
470	// The length of the `Session ID` must not exceed 36 characters.
471	// Note: session must be set in the first request.
472	//
473	// For more information, see the [sessions
474	// guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).
475	//
476	// Note: Always use agent versions for production traffic.
477	// See [Versions and
478	// environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).
479	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
480	// The parameters of this query.
481	QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
482	// Required. The input specification.
483	QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
484	// Instructs the speech synthesizer how to generate the output audio.
485	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,4,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
486	// Enable partial detect intent response. If this flag is not enabled,
487	// response stream still contains only one final `DetectIntentResponse` even
488	// if some `Fulfillment`s in the agent have been configured to return partial
489	// responses.
490	EnablePartialResponse bool `protobuf:"varint,5,opt,name=enable_partial_response,json=enablePartialResponse,proto3" json:"enable_partial_response,omitempty"`
491}
492
493func (x *StreamingDetectIntentRequest) Reset() {
494	*x = StreamingDetectIntentRequest{}
495	if protoimpl.UnsafeEnabled {
496		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[2]
497		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
498		ms.StoreMessageInfo(mi)
499	}
500}
501
502func (x *StreamingDetectIntentRequest) String() string {
503	return protoimpl.X.MessageStringOf(x)
504}
505
506func (*StreamingDetectIntentRequest) ProtoMessage() {}
507
508func (x *StreamingDetectIntentRequest) ProtoReflect() protoreflect.Message {
509	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[2]
510	if protoimpl.UnsafeEnabled && x != nil {
511		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
512		if ms.LoadMessageInfo() == nil {
513			ms.StoreMessageInfo(mi)
514		}
515		return ms
516	}
517	return mi.MessageOf(x)
518}
519
520// Deprecated: Use StreamingDetectIntentRequest.ProtoReflect.Descriptor instead.
521func (*StreamingDetectIntentRequest) Descriptor() ([]byte, []int) {
522	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{2}
523}
524
525func (x *StreamingDetectIntentRequest) GetSession() string {
526	if x != nil {
527		return x.Session
528	}
529	return ""
530}
531
532func (x *StreamingDetectIntentRequest) GetQueryParams() *QueryParameters {
533	if x != nil {
534		return x.QueryParams
535	}
536	return nil
537}
538
539func (x *StreamingDetectIntentRequest) GetQueryInput() *QueryInput {
540	if x != nil {
541		return x.QueryInput
542	}
543	return nil
544}
545
546func (x *StreamingDetectIntentRequest) GetOutputAudioConfig() *OutputAudioConfig {
547	if x != nil {
548		return x.OutputAudioConfig
549	}
550	return nil
551}
552
553func (x *StreamingDetectIntentRequest) GetEnablePartialResponse() bool {
554	if x != nil {
555		return x.EnablePartialResponse
556	}
557	return false
558}
559
560// The top-level message returned from the
561// [StreamingDetectIntent][google.cloud.dialogflow.cx.v3beta1.Sessions.StreamingDetectIntent] method.
562//
563// Multiple response messages (N) can be returned in order.
564//
565// The first (N-1) responses set either the `recognition_result` or
566// `detect_intent_response` field, depending on the request:
567//
568// *   If the `StreamingDetectIntentRequest.query_input.audio` field was
569//     set, and the `StreamingDetectIntentRequest.enable_partial_response`
570//     field was false, the `recognition_result` field is populated for each
571//     of the (N-1) responses.
572//     See the [StreamingRecognitionResult][google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult] message for details
573//     about the result message sequence.
574//
575// *   If the `StreamingDetectIntentRequest.enable_partial_response` field was
576//     true, the `detect_intent_response` field is populated for each
577//     of the (N-1) responses, where 1 <= N <= 4.
578//     These responses set the [DetectIntentResponse.response_type][google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse.response_type] field
579//     to `PARTIAL`.
580//
581// For the final Nth response message, the `detect_intent_response` is fully
582// populated, and [DetectIntentResponse.response_type][google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse.response_type] is set to `FINAL`.
583type StreamingDetectIntentResponse struct {
584	state         protoimpl.MessageState
585	sizeCache     protoimpl.SizeCache
586	unknownFields protoimpl.UnknownFields
587
588	// The output response.
589	//
590	// Types that are assignable to Response:
591	//	*StreamingDetectIntentResponse_RecognitionResult
592	//	*StreamingDetectIntentResponse_DetectIntentResponse
593	Response isStreamingDetectIntentResponse_Response `protobuf_oneof:"response"`
594}
595
596func (x *StreamingDetectIntentResponse) Reset() {
597	*x = StreamingDetectIntentResponse{}
598	if protoimpl.UnsafeEnabled {
599		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[3]
600		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
601		ms.StoreMessageInfo(mi)
602	}
603}
604
605func (x *StreamingDetectIntentResponse) String() string {
606	return protoimpl.X.MessageStringOf(x)
607}
608
609func (*StreamingDetectIntentResponse) ProtoMessage() {}
610
611func (x *StreamingDetectIntentResponse) ProtoReflect() protoreflect.Message {
612	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[3]
613	if protoimpl.UnsafeEnabled && x != nil {
614		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
615		if ms.LoadMessageInfo() == nil {
616			ms.StoreMessageInfo(mi)
617		}
618		return ms
619	}
620	return mi.MessageOf(x)
621}
622
623// Deprecated: Use StreamingDetectIntentResponse.ProtoReflect.Descriptor instead.
624func (*StreamingDetectIntentResponse) Descriptor() ([]byte, []int) {
625	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{3}
626}
627
628func (m *StreamingDetectIntentResponse) GetResponse() isStreamingDetectIntentResponse_Response {
629	if m != nil {
630		return m.Response
631	}
632	return nil
633}
634
635func (x *StreamingDetectIntentResponse) GetRecognitionResult() *StreamingRecognitionResult {
636	if x, ok := x.GetResponse().(*StreamingDetectIntentResponse_RecognitionResult); ok {
637		return x.RecognitionResult
638	}
639	return nil
640}
641
642func (x *StreamingDetectIntentResponse) GetDetectIntentResponse() *DetectIntentResponse {
643	if x, ok := x.GetResponse().(*StreamingDetectIntentResponse_DetectIntentResponse); ok {
644		return x.DetectIntentResponse
645	}
646	return nil
647}
648
649type isStreamingDetectIntentResponse_Response interface {
650	isStreamingDetectIntentResponse_Response()
651}
652
653type StreamingDetectIntentResponse_RecognitionResult struct {
654	// The result of speech recognition.
655	RecognitionResult *StreamingRecognitionResult `protobuf:"bytes,1,opt,name=recognition_result,json=recognitionResult,proto3,oneof"`
656}
657
658type StreamingDetectIntentResponse_DetectIntentResponse struct {
659	// The response from detect intent.
660	DetectIntentResponse *DetectIntentResponse `protobuf:"bytes,2,opt,name=detect_intent_response,json=detectIntentResponse,proto3,oneof"`
661}
662
663func (*StreamingDetectIntentResponse_RecognitionResult) isStreamingDetectIntentResponse_Response() {}
664
665func (*StreamingDetectIntentResponse_DetectIntentResponse) isStreamingDetectIntentResponse_Response() {
666}
667
668// Contains a speech recognition result corresponding to a portion of the audio
669// that is currently being processed or an indication that this is the end
670// of the single requested utterance.
671//
672// While end-user audio is being processed, Dialogflow sends a series of
673// results. Each result may contain a `transcript` value. A transcript
674// represents a portion of the utterance. While the recognizer is processing
675// audio, transcript values may be interim values or finalized values.
676// Once a transcript is finalized, the `is_final` value is set to true and
677// processing continues for the next transcript.
678//
679// If `StreamingDetectIntentRequest.query_input.audio.config.single_utterance`
680// was true, and the recognizer has completed processing audio,
681// the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the
682// following (last) result contains the last finalized transcript.
683//
684// The complete end-user utterance is determined by concatenating the
685// finalized transcript values received for the series of results.
686//
687// In the following example, single utterance is enabled. In the case where
688// single utterance is not enabled, result 7 would not occur.
689//
690// ```
691// Num | transcript              | message_type            | is_final
692// --- | ----------------------- | ----------------------- | --------
693// 1   | "tube"                  | TRANSCRIPT              | false
694// 2   | "to be a"               | TRANSCRIPT              | false
695// 3   | "to be"                 | TRANSCRIPT              | false
696// 4   | "to be or not to be"    | TRANSCRIPT              | true
697// 5   | "that's"                | TRANSCRIPT              | false
698// 6   | "that is                | TRANSCRIPT              | false
699// 7   | unset                   | END_OF_SINGLE_UTTERANCE | unset
700// 8   | " that is the question" | TRANSCRIPT              | true
701// ```
702//
703// Concatenating the finalized transcripts with `is_final` set to true,
704// the complete utterance becomes "to be or not to be that is the question".
705type StreamingRecognitionResult struct {
706	state         protoimpl.MessageState
707	sizeCache     protoimpl.SizeCache
708	unknownFields protoimpl.UnknownFields
709
710	// Type of the result message.
711	MessageType StreamingRecognitionResult_MessageType `protobuf:"varint,1,opt,name=message_type,json=messageType,proto3,enum=google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult_MessageType" json:"message_type,omitempty"`
712	// Transcript text representing the words that the user spoke.
713	// Populated if and only if `message_type` = `TRANSCRIPT`.
714	Transcript string `protobuf:"bytes,2,opt,name=transcript,proto3" json:"transcript,omitempty"`
715	// If `false`, the `StreamingRecognitionResult` represents an
716	// interim result that may change. If `true`, the recognizer will not return
717	// any further hypotheses about this piece of the audio. May only be populated
718	// for `message_type` = `TRANSCRIPT`.
719	IsFinal bool `protobuf:"varint,3,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"`
720	// The Speech confidence between 0.0 and 1.0 for the current portion of audio.
721	// A higher number indicates an estimated greater likelihood that the
722	// recognized words are correct. The default of 0.0 is a sentinel value
723	// indicating that confidence was not set.
724	//
725	// This field is typically only provided if `is_final` is true and you should
726	// not rely on it being accurate or even set.
727	Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
728	// An estimate of the likelihood that the speech recognizer will
729	// not change its guess about this interim recognition result:
730	// * If the value is unspecified or 0.0, Dialogflow didn't compute the
731	//   stability. In particular, Dialogflow will only provide stability for
732	//   `TRANSCRIPT` results with `is_final = false`.
733	// * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely
734	//   unstable and 1.0 means completely stable.
735	Stability float32 `protobuf:"fixed32,6,opt,name=stability,proto3" json:"stability,omitempty"`
736	// Word-specific information for the words recognized by Speech in
737	// [transcript][google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult.transcript]. Populated if and only if `message_type` = `TRANSCRIPT` and
738	// [InputAudioConfig.enable_word_info] is set.
739	SpeechWordInfo []*SpeechWordInfo `protobuf:"bytes,7,rep,name=speech_word_info,json=speechWordInfo,proto3" json:"speech_word_info,omitempty"`
740	// Time offset of the end of this Speech recognition result relative to the
741	// beginning of the audio. Only populated for `message_type` =
742	// `TRANSCRIPT`.
743	SpeechEndOffset *durationpb.Duration `protobuf:"bytes,8,opt,name=speech_end_offset,json=speechEndOffset,proto3" json:"speech_end_offset,omitempty"`
744	// Detected language code for the transcript.
745	LanguageCode string `protobuf:"bytes,10,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
746}
747
748func (x *StreamingRecognitionResult) Reset() {
749	*x = StreamingRecognitionResult{}
750	if protoimpl.UnsafeEnabled {
751		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[4]
752		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
753		ms.StoreMessageInfo(mi)
754	}
755}
756
757func (x *StreamingRecognitionResult) String() string {
758	return protoimpl.X.MessageStringOf(x)
759}
760
761func (*StreamingRecognitionResult) ProtoMessage() {}
762
763func (x *StreamingRecognitionResult) ProtoReflect() protoreflect.Message {
764	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[4]
765	if protoimpl.UnsafeEnabled && x != nil {
766		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
767		if ms.LoadMessageInfo() == nil {
768			ms.StoreMessageInfo(mi)
769		}
770		return ms
771	}
772	return mi.MessageOf(x)
773}
774
775// Deprecated: Use StreamingRecognitionResult.ProtoReflect.Descriptor instead.
776func (*StreamingRecognitionResult) Descriptor() ([]byte, []int) {
777	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{4}
778}
779
780func (x *StreamingRecognitionResult) GetMessageType() StreamingRecognitionResult_MessageType {
781	if x != nil {
782		return x.MessageType
783	}
784	return StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED
785}
786
787func (x *StreamingRecognitionResult) GetTranscript() string {
788	if x != nil {
789		return x.Transcript
790	}
791	return ""
792}
793
794func (x *StreamingRecognitionResult) GetIsFinal() bool {
795	if x != nil {
796		return x.IsFinal
797	}
798	return false
799}
800
801func (x *StreamingRecognitionResult) GetConfidence() float32 {
802	if x != nil {
803		return x.Confidence
804	}
805	return 0
806}
807
808func (x *StreamingRecognitionResult) GetStability() float32 {
809	if x != nil {
810		return x.Stability
811	}
812	return 0
813}
814
815func (x *StreamingRecognitionResult) GetSpeechWordInfo() []*SpeechWordInfo {
816	if x != nil {
817		return x.SpeechWordInfo
818	}
819	return nil
820}
821
822func (x *StreamingRecognitionResult) GetSpeechEndOffset() *durationpb.Duration {
823	if x != nil {
824		return x.SpeechEndOffset
825	}
826	return nil
827}
828
829func (x *StreamingRecognitionResult) GetLanguageCode() string {
830	if x != nil {
831		return x.LanguageCode
832	}
833	return ""
834}
835
836// Represents the parameters of a conversational query.
837type QueryParameters struct {
838	state         protoimpl.MessageState
839	sizeCache     protoimpl.SizeCache
840	unknownFields protoimpl.UnknownFields
841
842	// The time zone of this conversational query from the [time zone
843	// database](https://www.iana.org/time-zones), e.g., America/New_York,
844	// Europe/Paris. If not provided, the time zone specified in the agent is
845	// used.
846	TimeZone string `protobuf:"bytes,1,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
847	// The geo location of this conversational query.
848	GeoLocation *latlng.LatLng `protobuf:"bytes,2,opt,name=geo_location,json=geoLocation,proto3" json:"geo_location,omitempty"`
849	// Additional session entity types to replace or extend developer entity types
850	// with. The entity synonyms apply to all languages and persist for the
851	// session of this query.
852	SessionEntityTypes []*SessionEntityType `protobuf:"bytes,3,rep,name=session_entity_types,json=sessionEntityTypes,proto3" json:"session_entity_types,omitempty"`
853	// This field can be used to pass custom data into the webhook associated with
854	// the agent. Arbitrary JSON objects are supported.
855	// Some integrations that query a Dialogflow agent may provide additional
856	// information in the payload.
857	// In particular, for the Dialogflow Phone Gateway integration, this field has
858	// the form:
859	// ```
860	// {
861	//  "telephony": {
862	//    "caller_id": "+18558363987"
863	//  }
864	// }
865	// ```
866	Payload *structpb.Struct `protobuf:"bytes,4,opt,name=payload,proto3" json:"payload,omitempty"`
867	// Additional parameters to be put into [session
868	// parameters][SessionInfo.parameters]. To remove a
869	// parameter from the session, clients should explicitly set the parameter
870	// value to null.
871	//
872	// You can reference the session parameters in the agent with the following
873	// format: $session.params.parameter-id.
874	//
875	// Depending on your protocol or client library language, this is a
876	// map, associative array, symbol table, dictionary, or JSON object
877	// composed of a collection of (MapKey, MapValue) pairs:
878	//
879	// -   MapKey type: string
880	// -   MapKey value: parameter name
881	// -   MapValue type:
882	//     -   If parameter's entity type is a composite entity: map
883	//     -   Else: depending on parameter value type, could be one of string,
884	//         number, boolean, null, list or map
885	// -   MapValue value:
886	//     -   If parameter's entity type is a composite entity:
887	//         map from composite entity property names to property values
888	//     -   Else: parameter value
889	Parameters *structpb.Struct `protobuf:"bytes,5,opt,name=parameters,proto3" json:"parameters,omitempty"`
890	// The unique identifier of the [page][google.cloud.dialogflow.cx.v3beta1.Page] to override the [current
891	// page][QueryResult.current_page] in the session.
892	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
893	// ID>/flows/<Flow ID>/pages/<Page ID>`.
894	//
895	// If `current_page` is specified, the previous state of the session will be
896	// ignored by Dialogflow, including the [previous
897	// page][QueryResult.current_page] and the [previous session
898	// parameters][QueryResult.parameters].
899	// In most cases, [current_page][google.cloud.dialogflow.cx.v3beta1.QueryParameters.current_page] and
900	// [parameters][google.cloud.dialogflow.cx.v3beta1.QueryParameters.parameters] should be configured together to
901	// direct a session to a specific state.
902	CurrentPage string `protobuf:"bytes,6,opt,name=current_page,json=currentPage,proto3" json:"current_page,omitempty"`
903	// Whether to disable webhook calls for this request.
904	DisableWebhook bool `protobuf:"varint,7,opt,name=disable_webhook,json=disableWebhook,proto3" json:"disable_webhook,omitempty"`
905	// Configures whether sentiment analysis should be performed. If not
906	// provided, sentiment analysis is not performed.
907	AnalyzeQueryTextSentiment bool `protobuf:"varint,8,opt,name=analyze_query_text_sentiment,json=analyzeQueryTextSentiment,proto3" json:"analyze_query_text_sentiment,omitempty"`
908	// This field can be used to pass HTTP headers for a webhook
909	// call. These headers will be sent to webhook along with the headers that
910	// have been configured through Dialogflow web console. The headers defined
911	// within this field will overwrite the headers configured through Dialogflow
912	// console if there is a conflict. Header names are case-insensitive.
913	// Google's specified headers are not allowed. Including: "Host",
914	// "Content-Length", "Connection", "From", "User-Agent", "Accept-Encoding",
915	// "If-Modified-Since", "If-None-Match", "X-Forwarded-For", etc.
916	WebhookHeaders map[string]string `protobuf:"bytes,10,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"`
917	// A list of flow versions to override for the request.
918	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
919	// ID>/flows/<Flow ID>/versions/<Version ID>`.
920	//
921	// If version 1 of flow X is included in this list, the traffic of
922	// flow X will go through version 1 regardless of the version configuration in
923	// the environment. Each flow can have at most one version specified in this
924	// list.
925	FlowVersions []string `protobuf:"bytes,14,rep,name=flow_versions,json=flowVersions,proto3" json:"flow_versions,omitempty"`
926}
927
928func (x *QueryParameters) Reset() {
929	*x = QueryParameters{}
930	if protoimpl.UnsafeEnabled {
931		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[5]
932		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
933		ms.StoreMessageInfo(mi)
934	}
935}
936
937func (x *QueryParameters) String() string {
938	return protoimpl.X.MessageStringOf(x)
939}
940
941func (*QueryParameters) ProtoMessage() {}
942
943func (x *QueryParameters) ProtoReflect() protoreflect.Message {
944	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[5]
945	if protoimpl.UnsafeEnabled && x != nil {
946		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
947		if ms.LoadMessageInfo() == nil {
948			ms.StoreMessageInfo(mi)
949		}
950		return ms
951	}
952	return mi.MessageOf(x)
953}
954
955// Deprecated: Use QueryParameters.ProtoReflect.Descriptor instead.
956func (*QueryParameters) Descriptor() ([]byte, []int) {
957	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{5}
958}
959
960func (x *QueryParameters) GetTimeZone() string {
961	if x != nil {
962		return x.TimeZone
963	}
964	return ""
965}
966
967func (x *QueryParameters) GetGeoLocation() *latlng.LatLng {
968	if x != nil {
969		return x.GeoLocation
970	}
971	return nil
972}
973
974func (x *QueryParameters) GetSessionEntityTypes() []*SessionEntityType {
975	if x != nil {
976		return x.SessionEntityTypes
977	}
978	return nil
979}
980
981func (x *QueryParameters) GetPayload() *structpb.Struct {
982	if x != nil {
983		return x.Payload
984	}
985	return nil
986}
987
988func (x *QueryParameters) GetParameters() *structpb.Struct {
989	if x != nil {
990		return x.Parameters
991	}
992	return nil
993}
994
995func (x *QueryParameters) GetCurrentPage() string {
996	if x != nil {
997		return x.CurrentPage
998	}
999	return ""
1000}
1001
1002func (x *QueryParameters) GetDisableWebhook() bool {
1003	if x != nil {
1004		return x.DisableWebhook
1005	}
1006	return false
1007}
1008
1009func (x *QueryParameters) GetAnalyzeQueryTextSentiment() bool {
1010	if x != nil {
1011		return x.AnalyzeQueryTextSentiment
1012	}
1013	return false
1014}
1015
1016func (x *QueryParameters) GetWebhookHeaders() map[string]string {
1017	if x != nil {
1018		return x.WebhookHeaders
1019	}
1020	return nil
1021}
1022
1023func (x *QueryParameters) GetFlowVersions() []string {
1024	if x != nil {
1025		return x.FlowVersions
1026	}
1027	return nil
1028}
1029
1030// Represents the query input. It can contain one of:
1031//
1032// 1.  A conversational query in the form of text.
1033//
1034// 2.  An intent query that specifies which intent to trigger.
1035//
1036// 3.  Natural language speech audio to be processed.
1037//
1038// 4.  An event to be triggered.
1039//
1040type QueryInput struct {
1041	state         protoimpl.MessageState
1042	sizeCache     protoimpl.SizeCache
1043	unknownFields protoimpl.UnknownFields
1044
1045	// Required. The input specification.
1046	//
1047	// Types that are assignable to Input:
1048	//	*QueryInput_Text
1049	//	*QueryInput_Intent
1050	//	*QueryInput_Audio
1051	//	*QueryInput_Event
1052	//	*QueryInput_Dtmf
1053	Input isQueryInput_Input `protobuf_oneof:"input"`
1054	// Required. The language of the input. See [Language
1055	// Support](https://cloud.google.com/dialogflow/cx/docs/reference/language)
1056	// for a list of the currently supported language codes. Note that queries in
1057	// the same session do not necessarily need to specify the same language.
1058	LanguageCode string `protobuf:"bytes,4,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
1059}
1060
1061func (x *QueryInput) Reset() {
1062	*x = QueryInput{}
1063	if protoimpl.UnsafeEnabled {
1064		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[6]
1065		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1066		ms.StoreMessageInfo(mi)
1067	}
1068}
1069
1070func (x *QueryInput) String() string {
1071	return protoimpl.X.MessageStringOf(x)
1072}
1073
1074func (*QueryInput) ProtoMessage() {}
1075
1076func (x *QueryInput) ProtoReflect() protoreflect.Message {
1077	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[6]
1078	if protoimpl.UnsafeEnabled && x != nil {
1079		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1080		if ms.LoadMessageInfo() == nil {
1081			ms.StoreMessageInfo(mi)
1082		}
1083		return ms
1084	}
1085	return mi.MessageOf(x)
1086}
1087
1088// Deprecated: Use QueryInput.ProtoReflect.Descriptor instead.
1089func (*QueryInput) Descriptor() ([]byte, []int) {
1090	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{6}
1091}
1092
1093func (m *QueryInput) GetInput() isQueryInput_Input {
1094	if m != nil {
1095		return m.Input
1096	}
1097	return nil
1098}
1099
1100func (x *QueryInput) GetText() *TextInput {
1101	if x, ok := x.GetInput().(*QueryInput_Text); ok {
1102		return x.Text
1103	}
1104	return nil
1105}
1106
1107func (x *QueryInput) GetIntent() *IntentInput {
1108	if x, ok := x.GetInput().(*QueryInput_Intent); ok {
1109		return x.Intent
1110	}
1111	return nil
1112}
1113
1114func (x *QueryInput) GetAudio() *AudioInput {
1115	if x, ok := x.GetInput().(*QueryInput_Audio); ok {
1116		return x.Audio
1117	}
1118	return nil
1119}
1120
1121func (x *QueryInput) GetEvent() *EventInput {
1122	if x, ok := x.GetInput().(*QueryInput_Event); ok {
1123		return x.Event
1124	}
1125	return nil
1126}
1127
1128func (x *QueryInput) GetDtmf() *DtmfInput {
1129	if x, ok := x.GetInput().(*QueryInput_Dtmf); ok {
1130		return x.Dtmf
1131	}
1132	return nil
1133}
1134
1135func (x *QueryInput) GetLanguageCode() string {
1136	if x != nil {
1137		return x.LanguageCode
1138	}
1139	return ""
1140}
1141
1142type isQueryInput_Input interface {
1143	isQueryInput_Input()
1144}
1145
1146type QueryInput_Text struct {
1147	// The natural language text to be processed.
1148	Text *TextInput `protobuf:"bytes,2,opt,name=text,proto3,oneof"`
1149}
1150
1151type QueryInput_Intent struct {
1152	// The intent to be triggered.
1153	Intent *IntentInput `protobuf:"bytes,3,opt,name=intent,proto3,oneof"`
1154}
1155
1156type QueryInput_Audio struct {
1157	// The natural language speech audio to be processed.
1158	Audio *AudioInput `protobuf:"bytes,5,opt,name=audio,proto3,oneof"`
1159}
1160
1161type QueryInput_Event struct {
1162	// The event to be triggered.
1163	Event *EventInput `protobuf:"bytes,6,opt,name=event,proto3,oneof"`
1164}
1165
1166type QueryInput_Dtmf struct {
1167	// The DTMF event to be handled.
1168	Dtmf *DtmfInput `protobuf:"bytes,7,opt,name=dtmf,proto3,oneof"`
1169}
1170
1171func (*QueryInput_Text) isQueryInput_Input() {}
1172
1173func (*QueryInput_Intent) isQueryInput_Input() {}
1174
1175func (*QueryInput_Audio) isQueryInput_Input() {}
1176
1177func (*QueryInput_Event) isQueryInput_Input() {}
1178
1179func (*QueryInput_Dtmf) isQueryInput_Input() {}
1180
1181// Represents the result of a conversational query.
1182type QueryResult struct {
1183	state         protoimpl.MessageState
1184	sizeCache     protoimpl.SizeCache
1185	unknownFields protoimpl.UnknownFields
1186
1187	// The original conversational query.
1188	//
1189	// Types that are assignable to Query:
1190	//	*QueryResult_Text
1191	//	*QueryResult_TriggerIntent
1192	//	*QueryResult_Transcript
1193	//	*QueryResult_TriggerEvent
1194	//	*QueryResult_Dtmf
1195	Query isQueryResult_Query `protobuf_oneof:"query"`
1196	// The language that was triggered during intent detection.
1197	// See [Language
1198	// Support](https://cloud.google.com/dialogflow/cx/docs/reference/language)
1199	// for a list of the currently supported language codes.
1200	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
1201	// The collected [session parameters][google.cloud.dialogflow.cx.v3beta1.SessionInfo.parameters].
1202	//
1203	// Depending on your protocol or client library language, this is a
1204	// map, associative array, symbol table, dictionary, or JSON object
1205	// composed of a collection of (MapKey, MapValue) pairs:
1206	//
1207	// -   MapKey type: string
1208	// -   MapKey value: parameter name
1209	// -   MapValue type:
1210	//     -   If parameter's entity type is a composite entity: map
1211	//     -   Else: depending on parameter value type, could be one of string,
1212	//     number, boolean, null, list or map
1213	// -   MapValue value:
1214	//     -   If parameter's entity type is a composite entity:
1215	//         map from composite entity property names to property values
1216	//     -   Else: parameter value
1217	Parameters *structpb.Struct `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"`
1218	// The list of rich messages returned to the client. Responses vary from
1219	// simple text messages to more sophisticated, structured payloads used
1220	// to drive complex logic.
1221	ResponseMessages []*ResponseMessage `protobuf:"bytes,4,rep,name=response_messages,json=responseMessages,proto3" json:"response_messages,omitempty"`
1222	// The list of webhook call status in the order of call sequence.
1223	WebhookStatuses []*status.Status `protobuf:"bytes,13,rep,name=webhook_statuses,json=webhookStatuses,proto3" json:"webhook_statuses,omitempty"`
1224	// The list of webhook payload in [WebhookResponse.payload][google.cloud.dialogflow.cx.v3beta1.WebhookResponse.payload], in
1225	// the order of call sequence. If some webhook call fails or doesn't return
1226	// any payload, an empty `Struct` would be used instead.
1227	WebhookPayloads []*structpb.Struct `protobuf:"bytes,6,rep,name=webhook_payloads,json=webhookPayloads,proto3" json:"webhook_payloads,omitempty"`
1228	// The current [Page][google.cloud.dialogflow.cx.v3beta1.Page]. Some, not all fields are filled in this message,
1229	// including but not limited to `name` and `display_name`.
1230	CurrentPage *Page `protobuf:"bytes,7,opt,name=current_page,json=currentPage,proto3" json:"current_page,omitempty"`
1231	// The [Intent][google.cloud.dialogflow.cx.v3beta1.Intent] that matched the conversational query. Some, not all fields
1232	// are filled in this message, including but not limited to: `name` and
1233	// `display_name`.
1234	// This field is deprecated, please use [QueryResult.match][google.cloud.dialogflow.cx.v3beta1.QueryResult.match] instead.
1235	//
1236	// Deprecated: Do not use.
1237	Intent *Intent `protobuf:"bytes,8,opt,name=intent,proto3" json:"intent,omitempty"`
1238	// The intent detection confidence. Values range from 0.0 (completely
1239	// uncertain) to 1.0 (completely certain).
1240	// This value is for informational purpose only and is only used to
1241	// help match the best intent within the classification threshold.
1242	// This value may change for the same end-user expression at any time due to a
1243	// model retraining or change in implementation.
1244	// This field is deprecated, please use [QueryResult.match][google.cloud.dialogflow.cx.v3beta1.QueryResult.match] instead.
1245	//
1246	// Deprecated: Do not use.
1247	IntentDetectionConfidence float32 `protobuf:"fixed32,9,opt,name=intent_detection_confidence,json=intentDetectionConfidence,proto3" json:"intent_detection_confidence,omitempty"`
1248	// Intent match result, could be an intent or an event.
1249	Match *Match `protobuf:"bytes,15,opt,name=match,proto3" json:"match,omitempty"`
1250	// The free-form diagnostic info. For example, this field could contain
1251	// webhook call latency. The string keys of the Struct's fields map can change
1252	// without notice.
1253	DiagnosticInfo *structpb.Struct `protobuf:"bytes,10,opt,name=diagnostic_info,json=diagnosticInfo,proto3" json:"diagnostic_info,omitempty"`
1254	// The sentiment analyss result, which depends on
1255	// [`analyze_query_text_sentiment`]
1256	// [google.cloud.dialogflow.cx.v3beta1.QueryParameters.analyze_query_text_sentiment], specified in the request.
1257	SentimentAnalysisResult *SentimentAnalysisResult `protobuf:"bytes,17,opt,name=sentiment_analysis_result,json=sentimentAnalysisResult,proto3" json:"sentiment_analysis_result,omitempty"`
1258}
1259
1260func (x *QueryResult) Reset() {
1261	*x = QueryResult{}
1262	if protoimpl.UnsafeEnabled {
1263		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[7]
1264		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1265		ms.StoreMessageInfo(mi)
1266	}
1267}
1268
1269func (x *QueryResult) String() string {
1270	return protoimpl.X.MessageStringOf(x)
1271}
1272
1273func (*QueryResult) ProtoMessage() {}
1274
1275func (x *QueryResult) ProtoReflect() protoreflect.Message {
1276	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[7]
1277	if protoimpl.UnsafeEnabled && x != nil {
1278		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1279		if ms.LoadMessageInfo() == nil {
1280			ms.StoreMessageInfo(mi)
1281		}
1282		return ms
1283	}
1284	return mi.MessageOf(x)
1285}
1286
1287// Deprecated: Use QueryResult.ProtoReflect.Descriptor instead.
1288func (*QueryResult) Descriptor() ([]byte, []int) {
1289	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{7}
1290}
1291
1292func (m *QueryResult) GetQuery() isQueryResult_Query {
1293	if m != nil {
1294		return m.Query
1295	}
1296	return nil
1297}
1298
1299func (x *QueryResult) GetText() string {
1300	if x, ok := x.GetQuery().(*QueryResult_Text); ok {
1301		return x.Text
1302	}
1303	return ""
1304}
1305
1306func (x *QueryResult) GetTriggerIntent() string {
1307	if x, ok := x.GetQuery().(*QueryResult_TriggerIntent); ok {
1308		return x.TriggerIntent
1309	}
1310	return ""
1311}
1312
1313func (x *QueryResult) GetTranscript() string {
1314	if x, ok := x.GetQuery().(*QueryResult_Transcript); ok {
1315		return x.Transcript
1316	}
1317	return ""
1318}
1319
1320func (x *QueryResult) GetTriggerEvent() string {
1321	if x, ok := x.GetQuery().(*QueryResult_TriggerEvent); ok {
1322		return x.TriggerEvent
1323	}
1324	return ""
1325}
1326
1327func (x *QueryResult) GetDtmf() *DtmfInput {
1328	if x, ok := x.GetQuery().(*QueryResult_Dtmf); ok {
1329		return x.Dtmf
1330	}
1331	return nil
1332}
1333
1334func (x *QueryResult) GetLanguageCode() string {
1335	if x != nil {
1336		return x.LanguageCode
1337	}
1338	return ""
1339}
1340
1341func (x *QueryResult) GetParameters() *structpb.Struct {
1342	if x != nil {
1343		return x.Parameters
1344	}
1345	return nil
1346}
1347
1348func (x *QueryResult) GetResponseMessages() []*ResponseMessage {
1349	if x != nil {
1350		return x.ResponseMessages
1351	}
1352	return nil
1353}
1354
1355func (x *QueryResult) GetWebhookStatuses() []*status.Status {
1356	if x != nil {
1357		return x.WebhookStatuses
1358	}
1359	return nil
1360}
1361
1362func (x *QueryResult) GetWebhookPayloads() []*structpb.Struct {
1363	if x != nil {
1364		return x.WebhookPayloads
1365	}
1366	return nil
1367}
1368
1369func (x *QueryResult) GetCurrentPage() *Page {
1370	if x != nil {
1371		return x.CurrentPage
1372	}
1373	return nil
1374}
1375
1376// Deprecated: Do not use.
1377func (x *QueryResult) GetIntent() *Intent {
1378	if x != nil {
1379		return x.Intent
1380	}
1381	return nil
1382}
1383
1384// Deprecated: Do not use.
1385func (x *QueryResult) GetIntentDetectionConfidence() float32 {
1386	if x != nil {
1387		return x.IntentDetectionConfidence
1388	}
1389	return 0
1390}
1391
1392func (x *QueryResult) GetMatch() *Match {
1393	if x != nil {
1394		return x.Match
1395	}
1396	return nil
1397}
1398
1399func (x *QueryResult) GetDiagnosticInfo() *structpb.Struct {
1400	if x != nil {
1401		return x.DiagnosticInfo
1402	}
1403	return nil
1404}
1405
1406func (x *QueryResult) GetSentimentAnalysisResult() *SentimentAnalysisResult {
1407	if x != nil {
1408		return x.SentimentAnalysisResult
1409	}
1410	return nil
1411}
1412
1413type isQueryResult_Query interface {
1414	isQueryResult_Query()
1415}
1416
1417type QueryResult_Text struct {
1418	// If [natural language text][google.cloud.dialogflow.cx.v3beta1.TextInput] was provided as input, this field
1419	// will contain a copy of the text.
1420	Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"`
1421}
1422
1423type QueryResult_TriggerIntent struct {
1424	// If an [intent][google.cloud.dialogflow.cx.v3beta1.IntentInput] was provided as input, this field will
1425	// contain a copy of the intent identifier.
1426	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1427	// ID>/intents/<Intent ID>`.
1428	TriggerIntent string `protobuf:"bytes,11,opt,name=trigger_intent,json=triggerIntent,proto3,oneof"`
1429}
1430
1431type QueryResult_Transcript struct {
1432	// If [natural language speech audio][google.cloud.dialogflow.cx.v3beta1.AudioInput] was provided as input,
1433	// this field will contain the transcript for the audio.
1434	Transcript string `protobuf:"bytes,12,opt,name=transcript,proto3,oneof"`
1435}
1436
1437type QueryResult_TriggerEvent struct {
1438	// If an [event][google.cloud.dialogflow.cx.v3beta1.EventInput] was provided as input, this field will contain
1439	// the name of the event.
1440	TriggerEvent string `protobuf:"bytes,14,opt,name=trigger_event,json=triggerEvent,proto3,oneof"`
1441}
1442
1443type QueryResult_Dtmf struct {
1444	// If a [DTMF][DTMFInput] was provided as input, this field will contain
1445	// a copy of the [DTMFInput][].
1446	Dtmf *DtmfInput `protobuf:"bytes,23,opt,name=dtmf,proto3,oneof"`
1447}
1448
1449func (*QueryResult_Text) isQueryResult_Query() {}
1450
1451func (*QueryResult_TriggerIntent) isQueryResult_Query() {}
1452
1453func (*QueryResult_Transcript) isQueryResult_Query() {}
1454
1455func (*QueryResult_TriggerEvent) isQueryResult_Query() {}
1456
1457func (*QueryResult_Dtmf) isQueryResult_Query() {}
1458
1459// Represents the natural language text to be processed.
1460type TextInput struct {
1461	state         protoimpl.MessageState
1462	sizeCache     protoimpl.SizeCache
1463	unknownFields protoimpl.UnknownFields
1464
1465	// Required. The UTF-8 encoded natural language text to be processed. Text length must
1466	// not exceed 256 characters.
1467	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
1468}
1469
1470func (x *TextInput) Reset() {
1471	*x = TextInput{}
1472	if protoimpl.UnsafeEnabled {
1473		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[8]
1474		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1475		ms.StoreMessageInfo(mi)
1476	}
1477}
1478
1479func (x *TextInput) String() string {
1480	return protoimpl.X.MessageStringOf(x)
1481}
1482
1483func (*TextInput) ProtoMessage() {}
1484
1485func (x *TextInput) ProtoReflect() protoreflect.Message {
1486	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[8]
1487	if protoimpl.UnsafeEnabled && x != nil {
1488		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1489		if ms.LoadMessageInfo() == nil {
1490			ms.StoreMessageInfo(mi)
1491		}
1492		return ms
1493	}
1494	return mi.MessageOf(x)
1495}
1496
1497// Deprecated: Use TextInput.ProtoReflect.Descriptor instead.
1498func (*TextInput) Descriptor() ([]byte, []int) {
1499	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{8}
1500}
1501
1502func (x *TextInput) GetText() string {
1503	if x != nil {
1504		return x.Text
1505	}
1506	return ""
1507}
1508
1509// Represents the intent to trigger programmatically rather than as a result of
1510// natural language processing.
1511type IntentInput struct {
1512	state         protoimpl.MessageState
1513	sizeCache     protoimpl.SizeCache
1514	unknownFields protoimpl.UnknownFields
1515
1516	// Required. The unique identifier of the intent.
1517	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1518	// ID>/intents/<Intent ID>`.
1519	Intent string `protobuf:"bytes,1,opt,name=intent,proto3" json:"intent,omitempty"`
1520}
1521
1522func (x *IntentInput) Reset() {
1523	*x = IntentInput{}
1524	if protoimpl.UnsafeEnabled {
1525		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[9]
1526		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1527		ms.StoreMessageInfo(mi)
1528	}
1529}
1530
1531func (x *IntentInput) String() string {
1532	return protoimpl.X.MessageStringOf(x)
1533}
1534
1535func (*IntentInput) ProtoMessage() {}
1536
1537func (x *IntentInput) ProtoReflect() protoreflect.Message {
1538	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[9]
1539	if protoimpl.UnsafeEnabled && x != nil {
1540		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1541		if ms.LoadMessageInfo() == nil {
1542			ms.StoreMessageInfo(mi)
1543		}
1544		return ms
1545	}
1546	return mi.MessageOf(x)
1547}
1548
1549// Deprecated: Use IntentInput.ProtoReflect.Descriptor instead.
1550func (*IntentInput) Descriptor() ([]byte, []int) {
1551	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{9}
1552}
1553
1554func (x *IntentInput) GetIntent() string {
1555	if x != nil {
1556		return x.Intent
1557	}
1558	return ""
1559}
1560
1561// Represents the natural speech audio to be processed.
1562type AudioInput struct {
1563	state         protoimpl.MessageState
1564	sizeCache     protoimpl.SizeCache
1565	unknownFields protoimpl.UnknownFields
1566
1567	// Required. Instructs the speech recognizer how to process the speech audio.
1568	Config *InputAudioConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
1569	// The natural language speech audio to be processed.
1570	// A single request can contain up to 1 minute of speech audio data.
1571	// The [transcribed text][google.cloud.dialogflow.cx.v3beta1.QueryResult.transcript] cannot contain more than 256
1572	// bytes.
1573	//
1574	// For non-streaming audio detect intent, both `config` and `audio` must be
1575	// provided.
1576	// For streaming audio detect intent, `config` must be provided in
1577	// the first request and `audio` must be provided in all following requests.
1578	Audio []byte `protobuf:"bytes,2,opt,name=audio,proto3" json:"audio,omitempty"`
1579}
1580
1581func (x *AudioInput) Reset() {
1582	*x = AudioInput{}
1583	if protoimpl.UnsafeEnabled {
1584		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[10]
1585		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1586		ms.StoreMessageInfo(mi)
1587	}
1588}
1589
1590func (x *AudioInput) String() string {
1591	return protoimpl.X.MessageStringOf(x)
1592}
1593
1594func (*AudioInput) ProtoMessage() {}
1595
1596func (x *AudioInput) ProtoReflect() protoreflect.Message {
1597	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[10]
1598	if protoimpl.UnsafeEnabled && x != nil {
1599		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1600		if ms.LoadMessageInfo() == nil {
1601			ms.StoreMessageInfo(mi)
1602		}
1603		return ms
1604	}
1605	return mi.MessageOf(x)
1606}
1607
1608// Deprecated: Use AudioInput.ProtoReflect.Descriptor instead.
1609func (*AudioInput) Descriptor() ([]byte, []int) {
1610	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{10}
1611}
1612
1613func (x *AudioInput) GetConfig() *InputAudioConfig {
1614	if x != nil {
1615		return x.Config
1616	}
1617	return nil
1618}
1619
1620func (x *AudioInput) GetAudio() []byte {
1621	if x != nil {
1622		return x.Audio
1623	}
1624	return nil
1625}
1626
1627// Represents the event to trigger.
1628type EventInput struct {
1629	state         protoimpl.MessageState
1630	sizeCache     protoimpl.SizeCache
1631	unknownFields protoimpl.UnknownFields
1632
1633	// Name of the event.
1634	Event string `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"`
1635}
1636
1637func (x *EventInput) Reset() {
1638	*x = EventInput{}
1639	if protoimpl.UnsafeEnabled {
1640		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[11]
1641		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1642		ms.StoreMessageInfo(mi)
1643	}
1644}
1645
1646func (x *EventInput) String() string {
1647	return protoimpl.X.MessageStringOf(x)
1648}
1649
1650func (*EventInput) ProtoMessage() {}
1651
1652func (x *EventInput) ProtoReflect() protoreflect.Message {
1653	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[11]
1654	if protoimpl.UnsafeEnabled && x != nil {
1655		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1656		if ms.LoadMessageInfo() == nil {
1657			ms.StoreMessageInfo(mi)
1658		}
1659		return ms
1660	}
1661	return mi.MessageOf(x)
1662}
1663
1664// Deprecated: Use EventInput.ProtoReflect.Descriptor instead.
1665func (*EventInput) Descriptor() ([]byte, []int) {
1666	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{11}
1667}
1668
1669func (x *EventInput) GetEvent() string {
1670	if x != nil {
1671		return x.Event
1672	}
1673	return ""
1674}
1675
1676// Represents the input for dtmf event.
1677type DtmfInput struct {
1678	state         protoimpl.MessageState
1679	sizeCache     protoimpl.SizeCache
1680	unknownFields protoimpl.UnknownFields
1681
1682	// The dtmf digits.
1683	Digits string `protobuf:"bytes,1,opt,name=digits,proto3" json:"digits,omitempty"`
1684	// The finish digit (if any).
1685	FinishDigit string `protobuf:"bytes,2,opt,name=finish_digit,json=finishDigit,proto3" json:"finish_digit,omitempty"`
1686}
1687
1688func (x *DtmfInput) Reset() {
1689	*x = DtmfInput{}
1690	if protoimpl.UnsafeEnabled {
1691		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[12]
1692		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1693		ms.StoreMessageInfo(mi)
1694	}
1695}
1696
1697func (x *DtmfInput) String() string {
1698	return protoimpl.X.MessageStringOf(x)
1699}
1700
1701func (*DtmfInput) ProtoMessage() {}
1702
1703func (x *DtmfInput) ProtoReflect() protoreflect.Message {
1704	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[12]
1705	if protoimpl.UnsafeEnabled && x != nil {
1706		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1707		if ms.LoadMessageInfo() == nil {
1708			ms.StoreMessageInfo(mi)
1709		}
1710		return ms
1711	}
1712	return mi.MessageOf(x)
1713}
1714
1715// Deprecated: Use DtmfInput.ProtoReflect.Descriptor instead.
1716func (*DtmfInput) Descriptor() ([]byte, []int) {
1717	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{12}
1718}
1719
1720func (x *DtmfInput) GetDigits() string {
1721	if x != nil {
1722		return x.Digits
1723	}
1724	return ""
1725}
1726
1727func (x *DtmfInput) GetFinishDigit() string {
1728	if x != nil {
1729		return x.FinishDigit
1730	}
1731	return ""
1732}
1733
1734// Represents one match result of [MatchIntent][].
1735type Match struct {
1736	state         protoimpl.MessageState
1737	sizeCache     protoimpl.SizeCache
1738	unknownFields protoimpl.UnknownFields
1739
1740	// The [Intent][google.cloud.dialogflow.cx.v3beta1.Intent] that matched the query. Some, not all fields are filled in
1741	// this message, including but not limited to: `name` and `display_name`. Only
1742	// filled for [`INTENT`][google.cloud.dialogflow.cx.v3beta1.Match.MatchType] match type.
1743	Intent *Intent `protobuf:"bytes,1,opt,name=intent,proto3" json:"intent,omitempty"`
1744	// The event that matched the query. Only filled for
1745	// [`EVENT`][google.cloud.dialogflow.cx.v3beta1.Match.MatchType] match type.
1746	Event string `protobuf:"bytes,6,opt,name=event,proto3" json:"event,omitempty"`
1747	// The collection of parameters extracted from the query.
1748	//
1749	// Depending on your protocol or client library language, this is a
1750	// map, associative array, symbol table, dictionary, or JSON object
1751	// composed of a collection of (MapKey, MapValue) pairs:
1752	//
1753	// -   MapKey type: string
1754	// -   MapKey value: parameter name
1755	// -   MapValue type:
1756	//     -   If parameter's entity type is a composite entity: map
1757	//     -   Else: depending on parameter value type, could be one of string,
1758	//     number, boolean, null, list or map
1759	// -   MapValue value:
1760	//     -   If parameter's entity type is a composite entity:
1761	//         map from composite entity property names to property values
1762	//     -   Else: parameter value
1763	Parameters *structpb.Struct `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"`
1764	// Final text input which was matched during MatchIntent. This value can be
1765	// different from original input sent in request because of spelling
1766	// correction or other processing.
1767	ResolvedInput string `protobuf:"bytes,3,opt,name=resolved_input,json=resolvedInput,proto3" json:"resolved_input,omitempty"`
1768	// Type of this [Match][google.cloud.dialogflow.cx.v3beta1.Match].
1769	MatchType Match_MatchType `protobuf:"varint,4,opt,name=match_type,json=matchType,proto3,enum=google.cloud.dialogflow.cx.v3beta1.Match_MatchType" json:"match_type,omitempty"`
1770	// The confidence of this match. Values range from 0.0 (completely uncertain)
1771	// to 1.0 (completely certain).
1772	// This value is for informational purpose only and is only used to help match
1773	// the best intent within the classification threshold. This value may change
1774	// for the same end-user expression at any time due to a model retraining or
1775	// change in implementation.
1776	Confidence float32 `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
1777}
1778
1779func (x *Match) Reset() {
1780	*x = Match{}
1781	if protoimpl.UnsafeEnabled {
1782		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[13]
1783		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1784		ms.StoreMessageInfo(mi)
1785	}
1786}
1787
1788func (x *Match) String() string {
1789	return protoimpl.X.MessageStringOf(x)
1790}
1791
1792func (*Match) ProtoMessage() {}
1793
1794func (x *Match) ProtoReflect() protoreflect.Message {
1795	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[13]
1796	if protoimpl.UnsafeEnabled && x != nil {
1797		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1798		if ms.LoadMessageInfo() == nil {
1799			ms.StoreMessageInfo(mi)
1800		}
1801		return ms
1802	}
1803	return mi.MessageOf(x)
1804}
1805
1806// Deprecated: Use Match.ProtoReflect.Descriptor instead.
1807func (*Match) Descriptor() ([]byte, []int) {
1808	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{13}
1809}
1810
1811func (x *Match) GetIntent() *Intent {
1812	if x != nil {
1813		return x.Intent
1814	}
1815	return nil
1816}
1817
1818func (x *Match) GetEvent() string {
1819	if x != nil {
1820		return x.Event
1821	}
1822	return ""
1823}
1824
1825func (x *Match) GetParameters() *structpb.Struct {
1826	if x != nil {
1827		return x.Parameters
1828	}
1829	return nil
1830}
1831
1832func (x *Match) GetResolvedInput() string {
1833	if x != nil {
1834		return x.ResolvedInput
1835	}
1836	return ""
1837}
1838
1839func (x *Match) GetMatchType() Match_MatchType {
1840	if x != nil {
1841		return x.MatchType
1842	}
1843	return Match_MATCH_TYPE_UNSPECIFIED
1844}
1845
1846func (x *Match) GetConfidence() float32 {
1847	if x != nil {
1848		return x.Confidence
1849	}
1850	return 0
1851}
1852
1853// Request of [MatchIntent][].
1854type MatchIntentRequest struct {
1855	state         protoimpl.MessageState
1856	sizeCache     protoimpl.SizeCache
1857	unknownFields protoimpl.UnknownFields
1858
1859	// Required. The name of the session this query is sent to.
1860	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1861	// ID>/sessions/<Session ID>` or `projects/<Project ID>/locations/<Location
1862	// ID>/agents/<Agent ID>/environments/<Environment ID>/sessions/<Session ID>`.
1863	// If `Environment ID` is not specified, we assume default 'draft'
1864	// environment.
1865	// It's up to the API caller to choose an appropriate `Session ID`. It can be
1866	// a random number or some type of session identifiers (preferably hashed).
1867	// The length of the `Session ID` must not exceed 36 characters.
1868	//
1869	// For more information, see the [sessions
1870	// guide](https://cloud.google.com/dialogflow/cx/docs/concept/session).
1871	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
1872	// The parameters of this query.
1873	QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
1874	// Required. The input specification.
1875	QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
1876}
1877
1878func (x *MatchIntentRequest) Reset() {
1879	*x = MatchIntentRequest{}
1880	if protoimpl.UnsafeEnabled {
1881		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[14]
1882		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1883		ms.StoreMessageInfo(mi)
1884	}
1885}
1886
1887func (x *MatchIntentRequest) String() string {
1888	return protoimpl.X.MessageStringOf(x)
1889}
1890
1891func (*MatchIntentRequest) ProtoMessage() {}
1892
1893func (x *MatchIntentRequest) ProtoReflect() protoreflect.Message {
1894	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[14]
1895	if protoimpl.UnsafeEnabled && x != nil {
1896		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1897		if ms.LoadMessageInfo() == nil {
1898			ms.StoreMessageInfo(mi)
1899		}
1900		return ms
1901	}
1902	return mi.MessageOf(x)
1903}
1904
1905// Deprecated: Use MatchIntentRequest.ProtoReflect.Descriptor instead.
1906func (*MatchIntentRequest) Descriptor() ([]byte, []int) {
1907	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{14}
1908}
1909
1910func (x *MatchIntentRequest) GetSession() string {
1911	if x != nil {
1912		return x.Session
1913	}
1914	return ""
1915}
1916
1917func (x *MatchIntentRequest) GetQueryParams() *QueryParameters {
1918	if x != nil {
1919		return x.QueryParams
1920	}
1921	return nil
1922}
1923
1924func (x *MatchIntentRequest) GetQueryInput() *QueryInput {
1925	if x != nil {
1926		return x.QueryInput
1927	}
1928	return nil
1929}
1930
1931// Response of [MatchIntent][].
1932type MatchIntentResponse struct {
1933	state         protoimpl.MessageState
1934	sizeCache     protoimpl.SizeCache
1935	unknownFields protoimpl.UnknownFields
1936
1937	// The original conversational query.
1938	//
1939	// Types that are assignable to Query:
1940	//	*MatchIntentResponse_Text
1941	//	*MatchIntentResponse_TriggerIntent
1942	//	*MatchIntentResponse_Transcript
1943	//	*MatchIntentResponse_TriggerEvent
1944	Query isMatchIntentResponse_Query `protobuf_oneof:"query"`
1945	// Match results, if more than one, ordered descendingly by the confidence
1946	// we have that the particular intent matches the query.
1947	Matches []*Match `protobuf:"bytes,4,rep,name=matches,proto3" json:"matches,omitempty"`
1948	// The current [Page][google.cloud.dialogflow.cx.v3beta1.Page]. Some, not all fields are filled in this message,
1949	// including but not limited to `name` and `display_name`.
1950	CurrentPage *Page `protobuf:"bytes,5,opt,name=current_page,json=currentPage,proto3" json:"current_page,omitempty"`
1951}
1952
1953func (x *MatchIntentResponse) Reset() {
1954	*x = MatchIntentResponse{}
1955	if protoimpl.UnsafeEnabled {
1956		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[15]
1957		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1958		ms.StoreMessageInfo(mi)
1959	}
1960}
1961
1962func (x *MatchIntentResponse) String() string {
1963	return protoimpl.X.MessageStringOf(x)
1964}
1965
1966func (*MatchIntentResponse) ProtoMessage() {}
1967
1968func (x *MatchIntentResponse) ProtoReflect() protoreflect.Message {
1969	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[15]
1970	if protoimpl.UnsafeEnabled && x != nil {
1971		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1972		if ms.LoadMessageInfo() == nil {
1973			ms.StoreMessageInfo(mi)
1974		}
1975		return ms
1976	}
1977	return mi.MessageOf(x)
1978}
1979
1980// Deprecated: Use MatchIntentResponse.ProtoReflect.Descriptor instead.
1981func (*MatchIntentResponse) Descriptor() ([]byte, []int) {
1982	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{15}
1983}
1984
1985func (m *MatchIntentResponse) GetQuery() isMatchIntentResponse_Query {
1986	if m != nil {
1987		return m.Query
1988	}
1989	return nil
1990}
1991
1992func (x *MatchIntentResponse) GetText() string {
1993	if x, ok := x.GetQuery().(*MatchIntentResponse_Text); ok {
1994		return x.Text
1995	}
1996	return ""
1997}
1998
1999func (x *MatchIntentResponse) GetTriggerIntent() string {
2000	if x, ok := x.GetQuery().(*MatchIntentResponse_TriggerIntent); ok {
2001		return x.TriggerIntent
2002	}
2003	return ""
2004}
2005
2006func (x *MatchIntentResponse) GetTranscript() string {
2007	if x, ok := x.GetQuery().(*MatchIntentResponse_Transcript); ok {
2008		return x.Transcript
2009	}
2010	return ""
2011}
2012
2013func (x *MatchIntentResponse) GetTriggerEvent() string {
2014	if x, ok := x.GetQuery().(*MatchIntentResponse_TriggerEvent); ok {
2015		return x.TriggerEvent
2016	}
2017	return ""
2018}
2019
2020func (x *MatchIntentResponse) GetMatches() []*Match {
2021	if x != nil {
2022		return x.Matches
2023	}
2024	return nil
2025}
2026
2027func (x *MatchIntentResponse) GetCurrentPage() *Page {
2028	if x != nil {
2029		return x.CurrentPage
2030	}
2031	return nil
2032}
2033
2034type isMatchIntentResponse_Query interface {
2035	isMatchIntentResponse_Query()
2036}
2037
2038type MatchIntentResponse_Text struct {
2039	// If [natural language text][google.cloud.dialogflow.cx.v3beta1.TextInput] was provided as input, this field
2040	// will contain a copy of the text.
2041	Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"`
2042}
2043
2044type MatchIntentResponse_TriggerIntent struct {
2045	// If an [intent][google.cloud.dialogflow.cx.v3beta1.IntentInput] was provided as input, this field will
2046	// contain a copy of the intent identifier.
2047	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
2048	// ID>/intents/<Intent ID>`.
2049	TriggerIntent string `protobuf:"bytes,2,opt,name=trigger_intent,json=triggerIntent,proto3,oneof"`
2050}
2051
2052type MatchIntentResponse_Transcript struct {
2053	// If [natural language speech audio][google.cloud.dialogflow.cx.v3beta1.AudioInput] was provided as input,
2054	// this field will contain the transcript for the audio.
2055	Transcript string `protobuf:"bytes,3,opt,name=transcript,proto3,oneof"`
2056}
2057
2058type MatchIntentResponse_TriggerEvent struct {
2059	// If an [event][google.cloud.dialogflow.cx.v3beta1.EventInput] was provided as input, this field will
2060	// contain a copy of the event name.
2061	TriggerEvent string `protobuf:"bytes,6,opt,name=trigger_event,json=triggerEvent,proto3,oneof"`
2062}
2063
2064func (*MatchIntentResponse_Text) isMatchIntentResponse_Query() {}
2065
2066func (*MatchIntentResponse_TriggerIntent) isMatchIntentResponse_Query() {}
2067
2068func (*MatchIntentResponse_Transcript) isMatchIntentResponse_Query() {}
2069
2070func (*MatchIntentResponse_TriggerEvent) isMatchIntentResponse_Query() {}
2071
2072// Request of [FulfillIntent][]
2073type FulfillIntentRequest struct {
2074	state         protoimpl.MessageState
2075	sizeCache     protoimpl.SizeCache
2076	unknownFields protoimpl.UnknownFields
2077
2078	// Must be same as the corresponding MatchIntent request, otherwise the
2079	// behavior is undefined.
2080	MatchIntentRequest *MatchIntentRequest `protobuf:"bytes,1,opt,name=match_intent_request,json=matchIntentRequest,proto3" json:"match_intent_request,omitempty"`
2081	// The matched intent/event to fulfill.
2082	Match *Match `protobuf:"bytes,2,opt,name=match,proto3" json:"match,omitempty"`
2083	// Instructs the speech synthesizer how to generate output audio.
2084	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,3,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
2085}
2086
2087func (x *FulfillIntentRequest) Reset() {
2088	*x = FulfillIntentRequest{}
2089	if protoimpl.UnsafeEnabled {
2090		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[16]
2091		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2092		ms.StoreMessageInfo(mi)
2093	}
2094}
2095
2096func (x *FulfillIntentRequest) String() string {
2097	return protoimpl.X.MessageStringOf(x)
2098}
2099
2100func (*FulfillIntentRequest) ProtoMessage() {}
2101
2102func (x *FulfillIntentRequest) ProtoReflect() protoreflect.Message {
2103	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[16]
2104	if protoimpl.UnsafeEnabled && x != nil {
2105		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2106		if ms.LoadMessageInfo() == nil {
2107			ms.StoreMessageInfo(mi)
2108		}
2109		return ms
2110	}
2111	return mi.MessageOf(x)
2112}
2113
2114// Deprecated: Use FulfillIntentRequest.ProtoReflect.Descriptor instead.
2115func (*FulfillIntentRequest) Descriptor() ([]byte, []int) {
2116	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{16}
2117}
2118
2119func (x *FulfillIntentRequest) GetMatchIntentRequest() *MatchIntentRequest {
2120	if x != nil {
2121		return x.MatchIntentRequest
2122	}
2123	return nil
2124}
2125
2126func (x *FulfillIntentRequest) GetMatch() *Match {
2127	if x != nil {
2128		return x.Match
2129	}
2130	return nil
2131}
2132
2133func (x *FulfillIntentRequest) GetOutputAudioConfig() *OutputAudioConfig {
2134	if x != nil {
2135		return x.OutputAudioConfig
2136	}
2137	return nil
2138}
2139
2140// Response of [FulfillIntent][]
2141type FulfillIntentResponse struct {
2142	state         protoimpl.MessageState
2143	sizeCache     protoimpl.SizeCache
2144	unknownFields protoimpl.UnknownFields
2145
2146	// Output only. The unique identifier of the response. It can be used to
2147	// locate a response in the training example set or for reporting issues.
2148	ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
2149	// The result of the conversational query.
2150	QueryResult *QueryResult `protobuf:"bytes,2,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"`
2151	// The audio data bytes encoded as specified in the request.
2152	// Note: The output audio is generated based on the values of default platform
2153	// text responses found in the
2154	// [`query_result.response_messages`][google.cloud.dialogflow.cx.v3beta1.QueryResult.response_messages] field. If
2155	// multiple default text responses exist, they will be concatenated when
2156	// generating audio. If no default platform text responses exist, the
2157	// generated audio content will be empty.
2158	//
2159	// In some scenarios, multiple output audio fields may be present in the
2160	// response structure. In these cases, only the top-most-level audio output
2161	// has content.
2162	OutputAudio []byte `protobuf:"bytes,3,opt,name=output_audio,json=outputAudio,proto3" json:"output_audio,omitempty"`
2163	// The config used by the speech synthesizer to generate the output audio.
2164	OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,4,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"`
2165}
2166
2167func (x *FulfillIntentResponse) Reset() {
2168	*x = FulfillIntentResponse{}
2169	if protoimpl.UnsafeEnabled {
2170		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[17]
2171		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2172		ms.StoreMessageInfo(mi)
2173	}
2174}
2175
2176func (x *FulfillIntentResponse) String() string {
2177	return protoimpl.X.MessageStringOf(x)
2178}
2179
2180func (*FulfillIntentResponse) ProtoMessage() {}
2181
2182func (x *FulfillIntentResponse) ProtoReflect() protoreflect.Message {
2183	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[17]
2184	if protoimpl.UnsafeEnabled && x != nil {
2185		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2186		if ms.LoadMessageInfo() == nil {
2187			ms.StoreMessageInfo(mi)
2188		}
2189		return ms
2190	}
2191	return mi.MessageOf(x)
2192}
2193
2194// Deprecated: Use FulfillIntentResponse.ProtoReflect.Descriptor instead.
2195func (*FulfillIntentResponse) Descriptor() ([]byte, []int) {
2196	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{17}
2197}
2198
2199func (x *FulfillIntentResponse) GetResponseId() string {
2200	if x != nil {
2201		return x.ResponseId
2202	}
2203	return ""
2204}
2205
2206func (x *FulfillIntentResponse) GetQueryResult() *QueryResult {
2207	if x != nil {
2208		return x.QueryResult
2209	}
2210	return nil
2211}
2212
2213func (x *FulfillIntentResponse) GetOutputAudio() []byte {
2214	if x != nil {
2215		return x.OutputAudio
2216	}
2217	return nil
2218}
2219
2220func (x *FulfillIntentResponse) GetOutputAudioConfig() *OutputAudioConfig {
2221	if x != nil {
2222		return x.OutputAudioConfig
2223	}
2224	return nil
2225}
2226
2227// The result of sentiment analysis. Sentiment analysis inspects user input
2228// and identifies the prevailing subjective opinion, especially to determine a
2229// user's attitude as positive, negative, or neutral.
2230type SentimentAnalysisResult struct {
2231	state         protoimpl.MessageState
2232	sizeCache     protoimpl.SizeCache
2233	unknownFields protoimpl.UnknownFields
2234
2235	// Sentiment score between -1.0 (negative sentiment) and 1.0 (positive
2236	// sentiment).
2237	Score float32 `protobuf:"fixed32,1,opt,name=score,proto3" json:"score,omitempty"`
2238	// A non-negative number in the [0, +inf) range, which represents the absolute
2239	// magnitude of sentiment, regardless of score (positive or negative).
2240	Magnitude float32 `protobuf:"fixed32,2,opt,name=magnitude,proto3" json:"magnitude,omitempty"`
2241}
2242
2243func (x *SentimentAnalysisResult) Reset() {
2244	*x = SentimentAnalysisResult{}
2245	if protoimpl.UnsafeEnabled {
2246		mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[18]
2247		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2248		ms.StoreMessageInfo(mi)
2249	}
2250}
2251
2252func (x *SentimentAnalysisResult) String() string {
2253	return protoimpl.X.MessageStringOf(x)
2254}
2255
2256func (*SentimentAnalysisResult) ProtoMessage() {}
2257
2258func (x *SentimentAnalysisResult) ProtoReflect() protoreflect.Message {
2259	mi := &file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[18]
2260	if protoimpl.UnsafeEnabled && x != nil {
2261		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2262		if ms.LoadMessageInfo() == nil {
2263			ms.StoreMessageInfo(mi)
2264		}
2265		return ms
2266	}
2267	return mi.MessageOf(x)
2268}
2269
2270// Deprecated: Use SentimentAnalysisResult.ProtoReflect.Descriptor instead.
2271func (*SentimentAnalysisResult) Descriptor() ([]byte, []int) {
2272	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP(), []int{18}
2273}
2274
2275func (x *SentimentAnalysisResult) GetScore() float32 {
2276	if x != nil {
2277		return x.Score
2278	}
2279	return 0
2280}
2281
2282func (x *SentimentAnalysisResult) GetMagnitude() float32 {
2283	if x != nil {
2284		return x.Magnitude
2285	}
2286	return 0
2287}
2288
2289var File_google_cloud_dialogflow_cx_v3beta1_session_proto protoreflect.FileDescriptor
2290
2291var file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDesc = []byte{
2292	0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
2293	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62,
2294	0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
2295	0x74, 0x6f, 0x12, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2296	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
2297	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
2298	0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
2299	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
2300	0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e,
2301	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
2302	0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2303	0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
2304	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62,
2305	0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x73, 0x65,
2306	0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f,
2307	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f,
2308	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,
2309	0x2f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72,
2310	0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
2311	0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f,
2312	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f,
2313	0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2314	0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76,
2315	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72,
2316	0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
2317	0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f,
2318	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2319	0x74, 0x6f, 0x1a, 0x39, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2320	0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76,
2321	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f,
2322	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3c, 0x67,
2323	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c,
2324	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
2325	0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
2326	0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f,
2327	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72,
2328	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
2329	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72,
2330	0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2331	0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
2332	0x74, 0x6f, 0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f,
2333	0x6c, 0x61, 0x74, 0x6c, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f,
2334	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
2335	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xef, 0x02, 0x0a, 0x13, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
2336	0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a,
2337	0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29,
2338	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
2339	0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
2340	0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69,
2341	0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61,
2342	0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2343	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
2344	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75,
2345	0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0b, 0x71,
2346	0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x54, 0x0a, 0x0b, 0x71, 0x75,
2347	0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
2348	0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
2349	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
2350	0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42,
2351	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74,
2352	0x12, 0x65, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f,
2353	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e,
2354	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
2355	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
2356	0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f,
2357	0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69,
2358	0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xf7, 0x03, 0x0a, 0x14, 0x44, 0x65, 0x74, 0x65,
2359	0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
2360	0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18,
2361	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49,
2362	0x64, 0x12, 0x52, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c,
2363	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2364	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2365	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65,
2366	0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52,
2367	0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f,
2368	0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6f, 0x75, 0x74,
2369	0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x65, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x70,
2370	0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
2371	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2372	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2373	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75,
2374	0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f, 0x75,
2375	0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
2376	0x6a, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
2377	0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2378	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2379	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65,
2380	0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
2381	0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72,
2382	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x61,
2383	0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f,
2384	0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x61,
2385	0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x0c, 0x52, 0x65,
2386	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45,
2387	0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
2388	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x41, 0x52,
2389	0x54, 0x49, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x10,
2390	0x02, 0x22, 0xad, 0x03, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44,
2391	0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
2392	0x73, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
2393	0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
2394	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
2395	0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73,
2396	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61,
2397	0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
2398	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
2399	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2400	0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52,
2401	0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x54, 0x0a, 0x0b,
2402	0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
2403	0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2404	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
2405	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75,
2406	0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70,
2407	0x75, 0x74, 0x12, 0x65, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64,
2408	0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
2409	0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
2410	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
2411	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f,
2412	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75,
2413	0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x61,
2414	0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70,
2415	0x6f, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62,
2416	0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
2417	0x65, 0x22, 0x8e, 0x02, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44,
2418	0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
2419	0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69,
2420	0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
2421	0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
2422	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
2423	0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65,
2424	0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48,
2425	0x00, 0x52, 0x11, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
2426	0x73, 0x75, 0x6c, 0x74, 0x12, 0x70, 0x0a, 0x16, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x5f, 0x69,
2427	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02,
2428	0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2429	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
2430	0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
2431	0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00,
2432	0x52, 0x14, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65,
2433	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2434	0x73, 0x65, 0x22, 0xa8, 0x04, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67,
2435	0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c,
2436	0x74, 0x12, 0x6d, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70,
2437	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2438	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2439	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72,
2440	0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f,
2441	0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54,
2442	0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65,
2443	0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x02,
2444	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
2445	0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01,
2446	0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x63,
2447	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52,
2448	0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73,
2449	0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09,
2450	0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x5c, 0x0a, 0x10, 0x73, 0x70, 0x65,
2451	0x65, 0x63, 0x68, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20,
2452	0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2453	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
2454	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x57,
2455	0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x57,
2456	0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x65, 0x63,
2457	0x68, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01,
2458	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2459	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x73,
2460	0x70, 0x65, 0x65, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x23,
2461	0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
2462	0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43,
2463	0x6f, 0x64, 0x65, 0x22, 0x58, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79,
2464	0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59,
2465	0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
2466	0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x01,
2467	0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x44, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c,
2468	0x45, 0x5f, 0x55, 0x54, 0x54, 0x45, 0x52, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x22, 0xef, 0x05,
2469	0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
2470	0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01,
2471	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x36,
2472	0x0a, 0x0c, 0x67, 0x65, 0x6f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
2473	0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79,
2474	0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x0b, 0x67, 0x65, 0x6f, 0x4c, 0x6f,
2475	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x14, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
2476	0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03,
2477	0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2478	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
2479	0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
2480	0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x12, 0x73, 0x65, 0x73,
2481	0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12,
2482	0x31, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
2483	0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2484	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
2485	0x61, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
2486	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2487	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52,
2488	0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, 0x0c, 0x63,
2489	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
2490	0x09, 0x42, 0x23, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
2491	0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
2492	0x6d, 0x2f, 0x50, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50,
2493	0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77,
2494	0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69,
2495	0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x3f, 0x0a, 0x1c,
2496	0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x65,
2497	0x78, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01,
2498	0x28, 0x08, 0x52, 0x19, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79,
2499	0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x70, 0x0a,
2500	0x0f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
2501	0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2502	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2503	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72,
2504	0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x68,
2505	0x6f, 0x6f, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
2506	0x0e, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12,
2507	0x4b, 0x0a, 0x0d, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
2508	0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x64, 0x69, 0x61,
2509	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
2510	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c,
2511	0x66, 0x6c, 0x6f, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x41, 0x0a, 0x13,
2512	0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e,
2513	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2514	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
2515	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
2516	0xa4, 0x03, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x43,
2517	0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
2518	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
2519	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
2520	0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x04, 0x74,
2521	0x65, 0x78, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20,
2522	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2523	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
2524	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49,
2525	0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x46,
2526	0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
2527	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
2528	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
2529	0x61, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52,
2530	0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x46, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18,
2531	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2532	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2533	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74,
2534	0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x43,
2535	0x0a, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
2536	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
2537	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
2538	0x31, 0x2e, 0x44, 0x74, 0x6d, 0x66, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x04, 0x64,
2539	0x74, 0x6d, 0x66, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f,
2540	0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
2541	0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x07, 0x0a,
2542	0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0xa2, 0x08, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79,
2543	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01,
2544	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x4e, 0x0a, 0x0e,
2545	0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0b,
2546	0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x64, 0x69, 0x61, 0x6c, 0x6f,
2547	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
2548	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x74,
2549	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0a,
2550	0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09,
2551	0x48, 0x00, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x25,
2552	0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18,
2553	0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
2554	0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x18, 0x17, 0x20,
2555	0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2556	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
2557	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x74, 0x6d, 0x66, 0x49, 0x6e, 0x70,
2558	0x75, 0x74, 0x48, 0x00, 0x52, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61,
2559	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
2560	0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12,
2561	0x37, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20,
2562	0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2563	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x70, 0x61,
2564	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x60, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70,
2565	0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20,
2566	0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2567	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
2568	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
2569	0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2570	0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x10, 0x77, 0x65,
2571	0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x0d,
2572	0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70,
2573	0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f,
2574	0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x10, 0x77, 0x65, 0x62,
2575	0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x06, 0x20,
2576	0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2577	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0f, 0x77, 0x65,
2578	0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x4b, 0x0a,
2579	0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20,
2580	0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2581	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
2582	0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x63,
2583	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x67, 0x65, 0x12, 0x46, 0x0a, 0x06, 0x69, 0x6e,
2584	0x74, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f,
2585	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
2586	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2587	0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x69, 0x6e, 0x74, 0x65,
2588	0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x74,
2589	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63,
2590	0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x19, 0x69, 0x6e, 0x74,
2591	0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66,
2592	0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18,
2593	0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2594	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
2595	0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68,
2596	0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x40, 0x0a, 0x0f, 0x64, 0x69, 0x61, 0x67, 0x6e,
2597	0x6f, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
2598	0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2599	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x64, 0x69, 0x61, 0x67, 0x6e,
2600	0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x77, 0x0a, 0x19, 0x73, 0x65, 0x6e,
2601	0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f,
2602	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67,
2603	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
2604	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
2605	0x31, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79,
2606	0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x17, 0x73, 0x65, 0x6e, 0x74, 0x69,
2607	0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75,
2608	0x6c, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x24, 0x0a, 0x09, 0x54,
2609	0x65, 0x78, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74,
2610	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x65, 0x78,
2611	0x74, 0x22, 0x4f, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74,
2612	0x12, 0x40, 0x0a, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2613	0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
2614	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
2615	0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x74, 0x65,
2616	0x6e, 0x74, 0x22, 0x75, 0x0a, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x49, 0x6e, 0x70, 0x75, 0x74,
2617	0x12, 0x51, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
2618	0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
2619	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
2620	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f,
2621	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x63, 0x6f, 0x6e,
2622	0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01,
2623	0x28, 0x0c, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x22, 0x22, 0x0a, 0x0a, 0x45, 0x76, 0x65,
2624	0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74,
2625	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x46, 0x0a,
2626	0x09, 0x44, 0x74, 0x6d, 0x66, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69,
2627	0x67, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x67, 0x69,
2628	0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x64, 0x69, 0x67,
2629	0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68,
2630	0x44, 0x69, 0x67, 0x69, 0x74, 0x22, 0xbc, 0x03, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12,
2631	0x42, 0x0a, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
2632	0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
2633	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,
2634	0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x74,
2635	0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01,
2636	0x28, 0x09, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x61, 0x72,
2637	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
2638	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2639	0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
2640	0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x69,
2641	0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f,
2642	0x6c, 0x76, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x52, 0x0a, 0x0a, 0x6d, 0x61, 0x74,
2643	0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e,
2644	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
2645	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
2646	0x61, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79,
2647	0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a,
2648	0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
2649	0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x84, 0x01,
2650	0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4d,
2651	0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
2652	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x54, 0x45, 0x4e,
2653	0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e,
2654	0x54, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45,
2655	0x54, 0x45, 0x52, 0x5f, 0x46, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a,
2656	0x08, 0x4e, 0x4f, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x4e,
2657	0x4f, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x56, 0x45,
2658	0x4e, 0x54, 0x10, 0x06, 0x22, 0x87, 0x02, 0x0a, 0x12, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e,
2659	0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x73,
2660	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41,
2661	0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2662	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
2663	0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
2664	0x12, 0x56, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
2665	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2666	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2667	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72,
2668	0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0b, 0x71, 0x75, 0x65,
2669	0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x54, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72,
2670	0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
2671	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
2672	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,
2673	0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x03, 0xe0,
2674	0x41, 0x02, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0xdf,
2675	0x02, 0x0a, 0x13, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65,
2676	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01,
2677	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x4e, 0x0a, 0x0e,
2678	0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02,
2679	0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x64, 0x69, 0x61, 0x6c, 0x6f,
2680	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
2681	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x74,
2682	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0a,
2683	0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
2684	0x48, 0x00, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x25,
2685	0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18,
2686	0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
2687	0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73,
2688	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2689	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2690	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63,
2691	0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0c, 0x63, 0x75,
2692	0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
2693	0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
2694	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
2695	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72,
2696	0x65, 0x6e, 0x74, 0x50, 0x61, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79,
2697	0x22, 0xa8, 0x02, 0x0a, 0x14, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65,
2698	0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x14, 0x6d, 0x61, 0x74,
2699	0x63, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
2700	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2701	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2702	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x74,
2703	0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52,
2704	0x12, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
2705	0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01,
2706	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2707	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
2708	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x6d,
2709	0x61, 0x74, 0x63, 0x68, 0x12, 0x65, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61,
2710	0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
2711	0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2712	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
2713	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64,
2714	0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
2715	0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x96, 0x02, 0x0a, 0x15,
2716	0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73,
2717	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
2718	0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x70,
2719	0x6f, 0x6e, 0x73, 0x65, 0x49, 0x64, 0x12, 0x52, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f,
2720	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67,
2721	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
2722	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
2723	0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x71,
2724	0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75,
2725	0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
2726	0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x65, 0x0a,
2727	0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f,
2728	0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f,
2729	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
2730	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2731	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69,
2732	0x67, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f,
2733	0x6e, 0x66, 0x69, 0x67, 0x22, 0x4d, 0x0a, 0x17, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e,
2734	0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
2735	0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05,
2736	0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75,
2737	0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74,
2738	0x75, 0x64, 0x65, 0x32, 0x8a, 0x0a, 0x0a, 0x08, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
2739	0x12, 0xba, 0x02, 0x0a, 0x0c, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e,
2740	0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2741	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
2742	0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74,
2743	0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f,
2744	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
2745	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2746	0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
2747	0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb6, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xaf, 0x01, 0x22, 0x4a,
2748	0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
2749	0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
2750	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f,
2751	0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65,
2752	0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x5e, 0x22,
2753	0x59, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69,
2754	0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
2755	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73,
2756	0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f,
2757	0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65,
2758	0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xa2, 0x01,
2759	0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63,
2760	0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2761	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
2762	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72,
2763	0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65,
2764	0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2765	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
2766	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53,
2767	0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e,
2768	0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01,
2769	0x30, 0x01, 0x12, 0xb5, 0x02, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x65,
2770	0x6e, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2771	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
2772	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74,
2773	0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f,
2774	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
2775	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2776	0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
2777	0x6e, 0x73, 0x65, 0x22, 0xb4, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xad, 0x01, 0x22, 0x49, 0x2f,
2778	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
2779	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
2780	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a,
2781	0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x61, 0x74,
2782	0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x5d, 0x22, 0x58, 0x2f,
2783	0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
2784	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
2785	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a,
2786	0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
2787	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x61, 0x74, 0x63,
2788	0x68, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xe9, 0x02, 0x0a, 0x0d, 0x46,
2789	0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x67,
2790	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
2791	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,
2792	0x31, 0x2e, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52,
2793	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2794	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2795	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x75, 0x6c, 0x66,
2796	0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
2797	0x65, 0x22, 0xe2, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xdb, 0x01, 0x22, 0x60, 0x2f, 0x76, 0x33,
2798	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x74,
2799	0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x73, 0x65, 0x73, 0x73,
2800	0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
2801	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74,
2802	0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a,
2803	0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a,
2804	0x5a, 0x74, 0x22, 0x6f, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, 0x61,
2805	0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
2806	0x73, 0x74, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
2807	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
2808	0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72,
2809	0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
2810	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x74,
2811	0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x1a, 0x78, 0xca, 0x41, 0x19, 0x64, 0x69, 0x61, 0x6c, 0x6f,
2812	0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
2813	0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x59, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
2814	0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
2815	0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61,
2816	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
2817	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
2818	0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2819	0x42, 0xac, 0x03, 0x0a, 0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2820	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
2821	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x65, 0x73,
2822	0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x6f, 0x6f,
2823	0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67,
2824	0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
2825	0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
2826	0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x63,
2827	0x78, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x02, 0x44, 0x46, 0xaa, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67,
2828	0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
2829	0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x78, 0x2e, 0x56, 0x33, 0x42, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02,
2830	0x26, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a,
2831	0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x3a, 0x43, 0x58, 0x3a, 0x3a,
2832	0x56, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x41, 0xd4, 0x01, 0x0a, 0x21, 0x64, 0x69, 0x61,
2833	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
2834	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x49,
2835	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
2836	0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f,
2837	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b,
2838	0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
2839	0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x64, 0x70, 0x72, 0x6f, 0x6a, 0x65,
2840	0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f,
2841	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
2842	0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74,
2843	0x7d, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b,
2844	0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x73,
2845	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x62,
2846	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
2847}
2848
2849var (
2850	file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescOnce sync.Once
2851	file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescData = file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDesc
2852)
2853
2854func file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescGZIP() []byte {
2855	file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescOnce.Do(func() {
2856		file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescData)
2857	})
2858	return file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDescData
2859}
2860
2861var file_google_cloud_dialogflow_cx_v3beta1_session_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
2862var file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
2863var file_google_cloud_dialogflow_cx_v3beta1_session_proto_goTypes = []interface{}{
2864	(DetectIntentResponse_ResponseType)(0),      // 0: google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse.ResponseType
2865	(StreamingRecognitionResult_MessageType)(0), // 1: google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult.MessageType
2866	(Match_MatchType)(0),                        // 2: google.cloud.dialogflow.cx.v3beta1.Match.MatchType
2867	(*DetectIntentRequest)(nil),                 // 3: google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest
2868	(*DetectIntentResponse)(nil),                // 4: google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse
2869	(*StreamingDetectIntentRequest)(nil),        // 5: google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest
2870	(*StreamingDetectIntentResponse)(nil),       // 6: google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentResponse
2871	(*StreamingRecognitionResult)(nil),          // 7: google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult
2872	(*QueryParameters)(nil),                     // 8: google.cloud.dialogflow.cx.v3beta1.QueryParameters
2873	(*QueryInput)(nil),                          // 9: google.cloud.dialogflow.cx.v3beta1.QueryInput
2874	(*QueryResult)(nil),                         // 10: google.cloud.dialogflow.cx.v3beta1.QueryResult
2875	(*TextInput)(nil),                           // 11: google.cloud.dialogflow.cx.v3beta1.TextInput
2876	(*IntentInput)(nil),                         // 12: google.cloud.dialogflow.cx.v3beta1.IntentInput
2877	(*AudioInput)(nil),                          // 13: google.cloud.dialogflow.cx.v3beta1.AudioInput
2878	(*EventInput)(nil),                          // 14: google.cloud.dialogflow.cx.v3beta1.EventInput
2879	(*DtmfInput)(nil),                           // 15: google.cloud.dialogflow.cx.v3beta1.DtmfInput
2880	(*Match)(nil),                               // 16: google.cloud.dialogflow.cx.v3beta1.Match
2881	(*MatchIntentRequest)(nil),                  // 17: google.cloud.dialogflow.cx.v3beta1.MatchIntentRequest
2882	(*MatchIntentResponse)(nil),                 // 18: google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse
2883	(*FulfillIntentRequest)(nil),                // 19: google.cloud.dialogflow.cx.v3beta1.FulfillIntentRequest
2884	(*FulfillIntentResponse)(nil),               // 20: google.cloud.dialogflow.cx.v3beta1.FulfillIntentResponse
2885	(*SentimentAnalysisResult)(nil),             // 21: google.cloud.dialogflow.cx.v3beta1.SentimentAnalysisResult
2886	nil,                                         // 22: google.cloud.dialogflow.cx.v3beta1.QueryParameters.WebhookHeadersEntry
2887	(*OutputAudioConfig)(nil),                   // 23: google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig
2888	(*SpeechWordInfo)(nil),                      // 24: google.cloud.dialogflow.cx.v3beta1.SpeechWordInfo
2889	(*durationpb.Duration)(nil),                 // 25: google.protobuf.Duration
2890	(*latlng.LatLng)(nil),                       // 26: google.type.LatLng
2891	(*SessionEntityType)(nil),                   // 27: google.cloud.dialogflow.cx.v3beta1.SessionEntityType
2892	(*structpb.Struct)(nil),                     // 28: google.protobuf.Struct
2893	(*ResponseMessage)(nil),                     // 29: google.cloud.dialogflow.cx.v3beta1.ResponseMessage
2894	(*status.Status)(nil),                       // 30: google.rpc.Status
2895	(*Page)(nil),                                // 31: google.cloud.dialogflow.cx.v3beta1.Page
2896	(*Intent)(nil),                              // 32: google.cloud.dialogflow.cx.v3beta1.Intent
2897	(*InputAudioConfig)(nil),                    // 33: google.cloud.dialogflow.cx.v3beta1.InputAudioConfig
2898}
2899var file_google_cloud_dialogflow_cx_v3beta1_session_proto_depIdxs = []int32{
2900	8,  // 0: google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest.query_params:type_name -> google.cloud.dialogflow.cx.v3beta1.QueryParameters
2901	9,  // 1: google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest.query_input:type_name -> google.cloud.dialogflow.cx.v3beta1.QueryInput
2902	23, // 2: google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest.output_audio_config:type_name -> google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig
2903	10, // 3: google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse.query_result:type_name -> google.cloud.dialogflow.cx.v3beta1.QueryResult
2904	23, // 4: google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse.output_audio_config:type_name -> google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig
2905	0,  // 5: google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse.response_type:type_name -> google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse.ResponseType
2906	8,  // 6: google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest.query_params:type_name -> google.cloud.dialogflow.cx.v3beta1.QueryParameters
2907	9,  // 7: google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest.query_input:type_name -> google.cloud.dialogflow.cx.v3beta1.QueryInput
2908	23, // 8: google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest.output_audio_config:type_name -> google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig
2909	7,  // 9: google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentResponse.recognition_result:type_name -> google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult
2910	4,  // 10: google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentResponse.detect_intent_response:type_name -> google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse
2911	1,  // 11: google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult.message_type:type_name -> google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult.MessageType
2912	24, // 12: google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult.speech_word_info:type_name -> google.cloud.dialogflow.cx.v3beta1.SpeechWordInfo
2913	25, // 13: google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult.speech_end_offset:type_name -> google.protobuf.Duration
2914	26, // 14: google.cloud.dialogflow.cx.v3beta1.QueryParameters.geo_location:type_name -> google.type.LatLng
2915	27, // 15: google.cloud.dialogflow.cx.v3beta1.QueryParameters.session_entity_types:type_name -> google.cloud.dialogflow.cx.v3beta1.SessionEntityType
2916	28, // 16: google.cloud.dialogflow.cx.v3beta1.QueryParameters.payload:type_name -> google.protobuf.Struct
2917	28, // 17: google.cloud.dialogflow.cx.v3beta1.QueryParameters.parameters:type_name -> google.protobuf.Struct
2918	22, // 18: google.cloud.dialogflow.cx.v3beta1.QueryParameters.webhook_headers:type_name -> google.cloud.dialogflow.cx.v3beta1.QueryParameters.WebhookHeadersEntry
2919	11, // 19: google.cloud.dialogflow.cx.v3beta1.QueryInput.text:type_name -> google.cloud.dialogflow.cx.v3beta1.TextInput
2920	12, // 20: google.cloud.dialogflow.cx.v3beta1.QueryInput.intent:type_name -> google.cloud.dialogflow.cx.v3beta1.IntentInput
2921	13, // 21: google.cloud.dialogflow.cx.v3beta1.QueryInput.audio:type_name -> google.cloud.dialogflow.cx.v3beta1.AudioInput
2922	14, // 22: google.cloud.dialogflow.cx.v3beta1.QueryInput.event:type_name -> google.cloud.dialogflow.cx.v3beta1.EventInput
2923	15, // 23: google.cloud.dialogflow.cx.v3beta1.QueryInput.dtmf:type_name -> google.cloud.dialogflow.cx.v3beta1.DtmfInput
2924	15, // 24: google.cloud.dialogflow.cx.v3beta1.QueryResult.dtmf:type_name -> google.cloud.dialogflow.cx.v3beta1.DtmfInput
2925	28, // 25: google.cloud.dialogflow.cx.v3beta1.QueryResult.parameters:type_name -> google.protobuf.Struct
2926	29, // 26: google.cloud.dialogflow.cx.v3beta1.QueryResult.response_messages:type_name -> google.cloud.dialogflow.cx.v3beta1.ResponseMessage
2927	30, // 27: google.cloud.dialogflow.cx.v3beta1.QueryResult.webhook_statuses:type_name -> google.rpc.Status
2928	28, // 28: google.cloud.dialogflow.cx.v3beta1.QueryResult.webhook_payloads:type_name -> google.protobuf.Struct
2929	31, // 29: google.cloud.dialogflow.cx.v3beta1.QueryResult.current_page:type_name -> google.cloud.dialogflow.cx.v3beta1.Page
2930	32, // 30: google.cloud.dialogflow.cx.v3beta1.QueryResult.intent:type_name -> google.cloud.dialogflow.cx.v3beta1.Intent
2931	16, // 31: google.cloud.dialogflow.cx.v3beta1.QueryResult.match:type_name -> google.cloud.dialogflow.cx.v3beta1.Match
2932	28, // 32: google.cloud.dialogflow.cx.v3beta1.QueryResult.diagnostic_info:type_name -> google.protobuf.Struct
2933	21, // 33: google.cloud.dialogflow.cx.v3beta1.QueryResult.sentiment_analysis_result:type_name -> google.cloud.dialogflow.cx.v3beta1.SentimentAnalysisResult
2934	33, // 34: google.cloud.dialogflow.cx.v3beta1.AudioInput.config:type_name -> google.cloud.dialogflow.cx.v3beta1.InputAudioConfig
2935	32, // 35: google.cloud.dialogflow.cx.v3beta1.Match.intent:type_name -> google.cloud.dialogflow.cx.v3beta1.Intent
2936	28, // 36: google.cloud.dialogflow.cx.v3beta1.Match.parameters:type_name -> google.protobuf.Struct
2937	2,  // 37: google.cloud.dialogflow.cx.v3beta1.Match.match_type:type_name -> google.cloud.dialogflow.cx.v3beta1.Match.MatchType
2938	8,  // 38: google.cloud.dialogflow.cx.v3beta1.MatchIntentRequest.query_params:type_name -> google.cloud.dialogflow.cx.v3beta1.QueryParameters
2939	9,  // 39: google.cloud.dialogflow.cx.v3beta1.MatchIntentRequest.query_input:type_name -> google.cloud.dialogflow.cx.v3beta1.QueryInput
2940	16, // 40: google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse.matches:type_name -> google.cloud.dialogflow.cx.v3beta1.Match
2941	31, // 41: google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse.current_page:type_name -> google.cloud.dialogflow.cx.v3beta1.Page
2942	17, // 42: google.cloud.dialogflow.cx.v3beta1.FulfillIntentRequest.match_intent_request:type_name -> google.cloud.dialogflow.cx.v3beta1.MatchIntentRequest
2943	16, // 43: google.cloud.dialogflow.cx.v3beta1.FulfillIntentRequest.match:type_name -> google.cloud.dialogflow.cx.v3beta1.Match
2944	23, // 44: google.cloud.dialogflow.cx.v3beta1.FulfillIntentRequest.output_audio_config:type_name -> google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig
2945	10, // 45: google.cloud.dialogflow.cx.v3beta1.FulfillIntentResponse.query_result:type_name -> google.cloud.dialogflow.cx.v3beta1.QueryResult
2946	23, // 46: google.cloud.dialogflow.cx.v3beta1.FulfillIntentResponse.output_audio_config:type_name -> google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig
2947	3,  // 47: google.cloud.dialogflow.cx.v3beta1.Sessions.DetectIntent:input_type -> google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest
2948	5,  // 48: google.cloud.dialogflow.cx.v3beta1.Sessions.StreamingDetectIntent:input_type -> google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest
2949	17, // 49: google.cloud.dialogflow.cx.v3beta1.Sessions.MatchIntent:input_type -> google.cloud.dialogflow.cx.v3beta1.MatchIntentRequest
2950	19, // 50: google.cloud.dialogflow.cx.v3beta1.Sessions.FulfillIntent:input_type -> google.cloud.dialogflow.cx.v3beta1.FulfillIntentRequest
2951	4,  // 51: google.cloud.dialogflow.cx.v3beta1.Sessions.DetectIntent:output_type -> google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse
2952	6,  // 52: google.cloud.dialogflow.cx.v3beta1.Sessions.StreamingDetectIntent:output_type -> google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentResponse
2953	18, // 53: google.cloud.dialogflow.cx.v3beta1.Sessions.MatchIntent:output_type -> google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse
2954	20, // 54: google.cloud.dialogflow.cx.v3beta1.Sessions.FulfillIntent:output_type -> google.cloud.dialogflow.cx.v3beta1.FulfillIntentResponse
2955	51, // [51:55] is the sub-list for method output_type
2956	47, // [47:51] is the sub-list for method input_type
2957	47, // [47:47] is the sub-list for extension type_name
2958	47, // [47:47] is the sub-list for extension extendee
2959	0,  // [0:47] is the sub-list for field type_name
2960}
2961
2962func init() { file_google_cloud_dialogflow_cx_v3beta1_session_proto_init() }
2963func file_google_cloud_dialogflow_cx_v3beta1_session_proto_init() {
2964	if File_google_cloud_dialogflow_cx_v3beta1_session_proto != nil {
2965		return
2966	}
2967	file_google_cloud_dialogflow_cx_v3beta1_advanced_settings_proto_init()
2968	file_google_cloud_dialogflow_cx_v3beta1_audio_config_proto_init()
2969	file_google_cloud_dialogflow_cx_v3beta1_flow_proto_init()
2970	file_google_cloud_dialogflow_cx_v3beta1_intent_proto_init()
2971	file_google_cloud_dialogflow_cx_v3beta1_page_proto_init()
2972	file_google_cloud_dialogflow_cx_v3beta1_response_message_proto_init()
2973	file_google_cloud_dialogflow_cx_v3beta1_session_entity_type_proto_init()
2974	if !protoimpl.UnsafeEnabled {
2975		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2976			switch v := v.(*DetectIntentRequest); i {
2977			case 0:
2978				return &v.state
2979			case 1:
2980				return &v.sizeCache
2981			case 2:
2982				return &v.unknownFields
2983			default:
2984				return nil
2985			}
2986		}
2987		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2988			switch v := v.(*DetectIntentResponse); i {
2989			case 0:
2990				return &v.state
2991			case 1:
2992				return &v.sizeCache
2993			case 2:
2994				return &v.unknownFields
2995			default:
2996				return nil
2997			}
2998		}
2999		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
3000			switch v := v.(*StreamingDetectIntentRequest); i {
3001			case 0:
3002				return &v.state
3003			case 1:
3004				return &v.sizeCache
3005			case 2:
3006				return &v.unknownFields
3007			default:
3008				return nil
3009			}
3010		}
3011		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
3012			switch v := v.(*StreamingDetectIntentResponse); i {
3013			case 0:
3014				return &v.state
3015			case 1:
3016				return &v.sizeCache
3017			case 2:
3018				return &v.unknownFields
3019			default:
3020				return nil
3021			}
3022		}
3023		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
3024			switch v := v.(*StreamingRecognitionResult); i {
3025			case 0:
3026				return &v.state
3027			case 1:
3028				return &v.sizeCache
3029			case 2:
3030				return &v.unknownFields
3031			default:
3032				return nil
3033			}
3034		}
3035		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
3036			switch v := v.(*QueryParameters); i {
3037			case 0:
3038				return &v.state
3039			case 1:
3040				return &v.sizeCache
3041			case 2:
3042				return &v.unknownFields
3043			default:
3044				return nil
3045			}
3046		}
3047		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
3048			switch v := v.(*QueryInput); i {
3049			case 0:
3050				return &v.state
3051			case 1:
3052				return &v.sizeCache
3053			case 2:
3054				return &v.unknownFields
3055			default:
3056				return nil
3057			}
3058		}
3059		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
3060			switch v := v.(*QueryResult); i {
3061			case 0:
3062				return &v.state
3063			case 1:
3064				return &v.sizeCache
3065			case 2:
3066				return &v.unknownFields
3067			default:
3068				return nil
3069			}
3070		}
3071		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
3072			switch v := v.(*TextInput); i {
3073			case 0:
3074				return &v.state
3075			case 1:
3076				return &v.sizeCache
3077			case 2:
3078				return &v.unknownFields
3079			default:
3080				return nil
3081			}
3082		}
3083		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
3084			switch v := v.(*IntentInput); i {
3085			case 0:
3086				return &v.state
3087			case 1:
3088				return &v.sizeCache
3089			case 2:
3090				return &v.unknownFields
3091			default:
3092				return nil
3093			}
3094		}
3095		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
3096			switch v := v.(*AudioInput); i {
3097			case 0:
3098				return &v.state
3099			case 1:
3100				return &v.sizeCache
3101			case 2:
3102				return &v.unknownFields
3103			default:
3104				return nil
3105			}
3106		}
3107		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
3108			switch v := v.(*EventInput); i {
3109			case 0:
3110				return &v.state
3111			case 1:
3112				return &v.sizeCache
3113			case 2:
3114				return &v.unknownFields
3115			default:
3116				return nil
3117			}
3118		}
3119		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
3120			switch v := v.(*DtmfInput); i {
3121			case 0:
3122				return &v.state
3123			case 1:
3124				return &v.sizeCache
3125			case 2:
3126				return &v.unknownFields
3127			default:
3128				return nil
3129			}
3130		}
3131		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
3132			switch v := v.(*Match); i {
3133			case 0:
3134				return &v.state
3135			case 1:
3136				return &v.sizeCache
3137			case 2:
3138				return &v.unknownFields
3139			default:
3140				return nil
3141			}
3142		}
3143		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
3144			switch v := v.(*MatchIntentRequest); i {
3145			case 0:
3146				return &v.state
3147			case 1:
3148				return &v.sizeCache
3149			case 2:
3150				return &v.unknownFields
3151			default:
3152				return nil
3153			}
3154		}
3155		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
3156			switch v := v.(*MatchIntentResponse); i {
3157			case 0:
3158				return &v.state
3159			case 1:
3160				return &v.sizeCache
3161			case 2:
3162				return &v.unknownFields
3163			default:
3164				return nil
3165			}
3166		}
3167		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
3168			switch v := v.(*FulfillIntentRequest); i {
3169			case 0:
3170				return &v.state
3171			case 1:
3172				return &v.sizeCache
3173			case 2:
3174				return &v.unknownFields
3175			default:
3176				return nil
3177			}
3178		}
3179		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
3180			switch v := v.(*FulfillIntentResponse); i {
3181			case 0:
3182				return &v.state
3183			case 1:
3184				return &v.sizeCache
3185			case 2:
3186				return &v.unknownFields
3187			default:
3188				return nil
3189			}
3190		}
3191		file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
3192			switch v := v.(*SentimentAnalysisResult); i {
3193			case 0:
3194				return &v.state
3195			case 1:
3196				return &v.sizeCache
3197			case 2:
3198				return &v.unknownFields
3199			default:
3200				return nil
3201			}
3202		}
3203	}
3204	file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[3].OneofWrappers = []interface{}{
3205		(*StreamingDetectIntentResponse_RecognitionResult)(nil),
3206		(*StreamingDetectIntentResponse_DetectIntentResponse)(nil),
3207	}
3208	file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[6].OneofWrappers = []interface{}{
3209		(*QueryInput_Text)(nil),
3210		(*QueryInput_Intent)(nil),
3211		(*QueryInput_Audio)(nil),
3212		(*QueryInput_Event)(nil),
3213		(*QueryInput_Dtmf)(nil),
3214	}
3215	file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[7].OneofWrappers = []interface{}{
3216		(*QueryResult_Text)(nil),
3217		(*QueryResult_TriggerIntent)(nil),
3218		(*QueryResult_Transcript)(nil),
3219		(*QueryResult_TriggerEvent)(nil),
3220		(*QueryResult_Dtmf)(nil),
3221	}
3222	file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes[15].OneofWrappers = []interface{}{
3223		(*MatchIntentResponse_Text)(nil),
3224		(*MatchIntentResponse_TriggerIntent)(nil),
3225		(*MatchIntentResponse_Transcript)(nil),
3226		(*MatchIntentResponse_TriggerEvent)(nil),
3227	}
3228	type x struct{}
3229	out := protoimpl.TypeBuilder{
3230		File: protoimpl.DescBuilder{
3231			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
3232			RawDescriptor: file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDesc,
3233			NumEnums:      3,
3234			NumMessages:   20,
3235			NumExtensions: 0,
3236			NumServices:   1,
3237		},
3238		GoTypes:           file_google_cloud_dialogflow_cx_v3beta1_session_proto_goTypes,
3239		DependencyIndexes: file_google_cloud_dialogflow_cx_v3beta1_session_proto_depIdxs,
3240		EnumInfos:         file_google_cloud_dialogflow_cx_v3beta1_session_proto_enumTypes,
3241		MessageInfos:      file_google_cloud_dialogflow_cx_v3beta1_session_proto_msgTypes,
3242	}.Build()
3243	File_google_cloud_dialogflow_cx_v3beta1_session_proto = out.File
3244	file_google_cloud_dialogflow_cx_v3beta1_session_proto_rawDesc = nil
3245	file_google_cloud_dialogflow_cx_v3beta1_session_proto_goTypes = nil
3246	file_google_cloud_dialogflow_cx_v3beta1_session_proto_depIdxs = nil
3247}
3248
3249// Reference imports to suppress errors if they are not otherwise used.
3250var _ context.Context
3251var _ grpc.ClientConnInterface
3252
3253// This is a compile-time assertion to ensure that this generated file
3254// is compatible with the grpc package it is being compiled against.
3255const _ = grpc.SupportPackageIsVersion6
3256
3257// SessionsClient is the client API for Sessions service.
3258//
3259// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
3260type SessionsClient interface {
3261	// Processes a natural language query and returns structured, actionable data
3262	// as a result. This method is not idempotent, because it may cause session
3263	// entity types to be updated, which in turn might affect results of future
3264	// queries.
3265	//
3266	// Note: Always use agent versions for production traffic.
3267	// See [Versions and
3268	// environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).
3269	DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error)
3270	// Processes a natural language query in audio format in a streaming fashion
3271	// and returns structured, actionable data as a result. This method is only
3272	// available via the gRPC API (not REST).
3273	//
3274	// Note: Always use agent versions for production traffic.
3275	// See [Versions and
3276	// environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).
3277	StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error)
3278	// Returns preliminary intent match results, doesn't change the session
3279	// status.
3280	MatchIntent(ctx context.Context, in *MatchIntentRequest, opts ...grpc.CallOption) (*MatchIntentResponse, error)
3281	// Fulfills a matched intent returned by [MatchIntent][google.cloud.dialogflow.cx.v3beta1.Sessions.MatchIntent].
3282	// Must be called after [MatchIntent][google.cloud.dialogflow.cx.v3beta1.Sessions.MatchIntent], with input from
3283	// [MatchIntentResponse][google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse]. Otherwise, the behavior is undefined.
3284	FulfillIntent(ctx context.Context, in *FulfillIntentRequest, opts ...grpc.CallOption) (*FulfillIntentResponse, error)
3285}
3286
3287type sessionsClient struct {
3288	cc grpc.ClientConnInterface
3289}
3290
3291func NewSessionsClient(cc grpc.ClientConnInterface) SessionsClient {
3292	return &sessionsClient{cc}
3293}
3294
3295func (c *sessionsClient) DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error) {
3296	out := new(DetectIntentResponse)
3297	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Sessions/DetectIntent", in, out, opts...)
3298	if err != nil {
3299		return nil, err
3300	}
3301	return out, nil
3302}
3303
3304func (c *sessionsClient) StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error) {
3305	stream, err := c.cc.NewStream(ctx, &_Sessions_serviceDesc.Streams[0], "/google.cloud.dialogflow.cx.v3beta1.Sessions/StreamingDetectIntent", opts...)
3306	if err != nil {
3307		return nil, err
3308	}
3309	x := &sessionsStreamingDetectIntentClient{stream}
3310	return x, nil
3311}
3312
3313type Sessions_StreamingDetectIntentClient interface {
3314	Send(*StreamingDetectIntentRequest) error
3315	Recv() (*StreamingDetectIntentResponse, error)
3316	grpc.ClientStream
3317}
3318
3319type sessionsStreamingDetectIntentClient struct {
3320	grpc.ClientStream
3321}
3322
3323func (x *sessionsStreamingDetectIntentClient) Send(m *StreamingDetectIntentRequest) error {
3324	return x.ClientStream.SendMsg(m)
3325}
3326
3327func (x *sessionsStreamingDetectIntentClient) Recv() (*StreamingDetectIntentResponse, error) {
3328	m := new(StreamingDetectIntentResponse)
3329	if err := x.ClientStream.RecvMsg(m); err != nil {
3330		return nil, err
3331	}
3332	return m, nil
3333}
3334
3335func (c *sessionsClient) MatchIntent(ctx context.Context, in *MatchIntentRequest, opts ...grpc.CallOption) (*MatchIntentResponse, error) {
3336	out := new(MatchIntentResponse)
3337	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Sessions/MatchIntent", in, out, opts...)
3338	if err != nil {
3339		return nil, err
3340	}
3341	return out, nil
3342}
3343
3344func (c *sessionsClient) FulfillIntent(ctx context.Context, in *FulfillIntentRequest, opts ...grpc.CallOption) (*FulfillIntentResponse, error) {
3345	out := new(FulfillIntentResponse)
3346	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.Sessions/FulfillIntent", in, out, opts...)
3347	if err != nil {
3348		return nil, err
3349	}
3350	return out, nil
3351}
3352
3353// SessionsServer is the server API for Sessions service.
3354type SessionsServer interface {
3355	// Processes a natural language query and returns structured, actionable data
3356	// as a result. This method is not idempotent, because it may cause session
3357	// entity types to be updated, which in turn might affect results of future
3358	// queries.
3359	//
3360	// Note: Always use agent versions for production traffic.
3361	// See [Versions and
3362	// environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).
3363	DetectIntent(context.Context, *DetectIntentRequest) (*DetectIntentResponse, error)
3364	// Processes a natural language query in audio format in a streaming fashion
3365	// and returns structured, actionable data as a result. This method is only
3366	// available via the gRPC API (not REST).
3367	//
3368	// Note: Always use agent versions for production traffic.
3369	// See [Versions and
3370	// environments](https://cloud.google.com/dialogflow/cx/docs/concept/version).
3371	StreamingDetectIntent(Sessions_StreamingDetectIntentServer) error
3372	// Returns preliminary intent match results, doesn't change the session
3373	// status.
3374	MatchIntent(context.Context, *MatchIntentRequest) (*MatchIntentResponse, error)
3375	// Fulfills a matched intent returned by [MatchIntent][google.cloud.dialogflow.cx.v3beta1.Sessions.MatchIntent].
3376	// Must be called after [MatchIntent][google.cloud.dialogflow.cx.v3beta1.Sessions.MatchIntent], with input from
3377	// [MatchIntentResponse][google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse]. Otherwise, the behavior is undefined.
3378	FulfillIntent(context.Context, *FulfillIntentRequest) (*FulfillIntentResponse, error)
3379}
3380
3381// UnimplementedSessionsServer can be embedded to have forward compatible implementations.
3382type UnimplementedSessionsServer struct {
3383}
3384
3385func (*UnimplementedSessionsServer) DetectIntent(context.Context, *DetectIntentRequest) (*DetectIntentResponse, error) {
3386	return nil, status1.Errorf(codes.Unimplemented, "method DetectIntent not implemented")
3387}
3388func (*UnimplementedSessionsServer) StreamingDetectIntent(Sessions_StreamingDetectIntentServer) error {
3389	return status1.Errorf(codes.Unimplemented, "method StreamingDetectIntent not implemented")
3390}
3391func (*UnimplementedSessionsServer) MatchIntent(context.Context, *MatchIntentRequest) (*MatchIntentResponse, error) {
3392	return nil, status1.Errorf(codes.Unimplemented, "method MatchIntent not implemented")
3393}
3394func (*UnimplementedSessionsServer) FulfillIntent(context.Context, *FulfillIntentRequest) (*FulfillIntentResponse, error) {
3395	return nil, status1.Errorf(codes.Unimplemented, "method FulfillIntent not implemented")
3396}
3397
3398func RegisterSessionsServer(s *grpc.Server, srv SessionsServer) {
3399	s.RegisterService(&_Sessions_serviceDesc, srv)
3400}
3401
3402func _Sessions_DetectIntent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3403	in := new(DetectIntentRequest)
3404	if err := dec(in); err != nil {
3405		return nil, err
3406	}
3407	if interceptor == nil {
3408		return srv.(SessionsServer).DetectIntent(ctx, in)
3409	}
3410	info := &grpc.UnaryServerInfo{
3411		Server:     srv,
3412		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Sessions/DetectIntent",
3413	}
3414	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3415		return srv.(SessionsServer).DetectIntent(ctx, req.(*DetectIntentRequest))
3416	}
3417	return interceptor(ctx, in, info, handler)
3418}
3419
3420func _Sessions_StreamingDetectIntent_Handler(srv interface{}, stream grpc.ServerStream) error {
3421	return srv.(SessionsServer).StreamingDetectIntent(&sessionsStreamingDetectIntentServer{stream})
3422}
3423
3424type Sessions_StreamingDetectIntentServer interface {
3425	Send(*StreamingDetectIntentResponse) error
3426	Recv() (*StreamingDetectIntentRequest, error)
3427	grpc.ServerStream
3428}
3429
3430type sessionsStreamingDetectIntentServer struct {
3431	grpc.ServerStream
3432}
3433
3434func (x *sessionsStreamingDetectIntentServer) Send(m *StreamingDetectIntentResponse) error {
3435	return x.ServerStream.SendMsg(m)
3436}
3437
3438func (x *sessionsStreamingDetectIntentServer) Recv() (*StreamingDetectIntentRequest, error) {
3439	m := new(StreamingDetectIntentRequest)
3440	if err := x.ServerStream.RecvMsg(m); err != nil {
3441		return nil, err
3442	}
3443	return m, nil
3444}
3445
3446func _Sessions_MatchIntent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3447	in := new(MatchIntentRequest)
3448	if err := dec(in); err != nil {
3449		return nil, err
3450	}
3451	if interceptor == nil {
3452		return srv.(SessionsServer).MatchIntent(ctx, in)
3453	}
3454	info := &grpc.UnaryServerInfo{
3455		Server:     srv,
3456		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Sessions/MatchIntent",
3457	}
3458	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3459		return srv.(SessionsServer).MatchIntent(ctx, req.(*MatchIntentRequest))
3460	}
3461	return interceptor(ctx, in, info, handler)
3462}
3463
3464func _Sessions_FulfillIntent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3465	in := new(FulfillIntentRequest)
3466	if err := dec(in); err != nil {
3467		return nil, err
3468	}
3469	if interceptor == nil {
3470		return srv.(SessionsServer).FulfillIntent(ctx, in)
3471	}
3472	info := &grpc.UnaryServerInfo{
3473		Server:     srv,
3474		FullMethod: "/google.cloud.dialogflow.cx.v3beta1.Sessions/FulfillIntent",
3475	}
3476	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3477		return srv.(SessionsServer).FulfillIntent(ctx, req.(*FulfillIntentRequest))
3478	}
3479	return interceptor(ctx, in, info, handler)
3480}
3481
3482var _Sessions_serviceDesc = grpc.ServiceDesc{
3483	ServiceName: "google.cloud.dialogflow.cx.v3beta1.Sessions",
3484	HandlerType: (*SessionsServer)(nil),
3485	Methods: []grpc.MethodDesc{
3486		{
3487			MethodName: "DetectIntent",
3488			Handler:    _Sessions_DetectIntent_Handler,
3489		},
3490		{
3491			MethodName: "MatchIntent",
3492			Handler:    _Sessions_MatchIntent_Handler,
3493		},
3494		{
3495			MethodName: "FulfillIntent",
3496			Handler:    _Sessions_FulfillIntent_Handler,
3497		},
3498	},
3499	Streams: []grpc.StreamDesc{
3500		{
3501			StreamName:    "StreamingDetectIntent",
3502			Handler:       _Sessions_StreamingDetectIntent_Handler,
3503			ServerStreams: true,
3504			ClientStreams: true,
3505		},
3506	},
3507	Metadata: "google/cloud/dialogflow/cx/v3beta1/session.proto",
3508}
3509