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/v3/test_case.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	longrunning "google.golang.org/genproto/googleapis/longrunning"
30	status "google.golang.org/genproto/googleapis/rpc/status"
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	emptypb "google.golang.org/protobuf/types/known/emptypb"
37	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
38	structpb "google.golang.org/protobuf/types/known/structpb"
39	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
40)
41
42const (
43	// Verify that this generated code is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
45	// Verify that runtime/protoimpl is sufficiently up-to-date.
46	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
47)
48
49// The test result for a test case and an agent environment.
50type TestResult int32
51
52const (
53	// Not specified. Should never be used.
54	TestResult_TEST_RESULT_UNSPECIFIED TestResult = 0
55	// The test passed.
56	TestResult_PASSED TestResult = 1
57	// The test did not pass.
58	TestResult_FAILED TestResult = 2
59)
60
61// Enum value maps for TestResult.
62var (
63	TestResult_name = map[int32]string{
64		0: "TEST_RESULT_UNSPECIFIED",
65		1: "PASSED",
66		2: "FAILED",
67	}
68	TestResult_value = map[string]int32{
69		"TEST_RESULT_UNSPECIFIED": 0,
70		"PASSED":                  1,
71		"FAILED":                  2,
72	}
73)
74
75func (x TestResult) Enum() *TestResult {
76	p := new(TestResult)
77	*p = x
78	return p
79}
80
81func (x TestResult) String() string {
82	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
83}
84
85func (TestResult) Descriptor() protoreflect.EnumDescriptor {
86	return file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[0].Descriptor()
87}
88
89func (TestResult) Type() protoreflect.EnumType {
90	return &file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[0]
91}
92
93func (x TestResult) Number() protoreflect.EnumNumber {
94	return protoreflect.EnumNumber(x)
95}
96
97// Deprecated: Use TestResult.Descriptor instead.
98func (TestResult) EnumDescriptor() ([]byte, []int) {
99	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{0}
100}
101
102// What part of the message replay differs from the test case.
103type TestRunDifference_DiffType int32
104
105const (
106	// Should never be used.
107	TestRunDifference_DIFF_TYPE_UNSPECIFIED TestRunDifference_DiffType = 0
108	// The intent.
109	TestRunDifference_INTENT TestRunDifference_DiffType = 1
110	// The page.
111	TestRunDifference_PAGE TestRunDifference_DiffType = 2
112	// The parameters.
113	TestRunDifference_PARAMETERS TestRunDifference_DiffType = 3
114	// The message utterance.
115	TestRunDifference_UTTERANCE TestRunDifference_DiffType = 4
116)
117
118// Enum value maps for TestRunDifference_DiffType.
119var (
120	TestRunDifference_DiffType_name = map[int32]string{
121		0: "DIFF_TYPE_UNSPECIFIED",
122		1: "INTENT",
123		2: "PAGE",
124		3: "PARAMETERS",
125		4: "UTTERANCE",
126	}
127	TestRunDifference_DiffType_value = map[string]int32{
128		"DIFF_TYPE_UNSPECIFIED": 0,
129		"INTENT":                1,
130		"PAGE":                  2,
131		"PARAMETERS":            3,
132		"UTTERANCE":             4,
133	}
134)
135
136func (x TestRunDifference_DiffType) Enum() *TestRunDifference_DiffType {
137	p := new(TestRunDifference_DiffType)
138	*p = x
139	return p
140}
141
142func (x TestRunDifference_DiffType) String() string {
143	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
144}
145
146func (TestRunDifference_DiffType) Descriptor() protoreflect.EnumDescriptor {
147	return file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[1].Descriptor()
148}
149
150func (TestRunDifference_DiffType) Type() protoreflect.EnumType {
151	return &file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[1]
152}
153
154func (x TestRunDifference_DiffType) Number() protoreflect.EnumNumber {
155	return protoreflect.EnumNumber(x)
156}
157
158// Deprecated: Use TestRunDifference_DiffType.Descriptor instead.
159func (TestRunDifference_DiffType) EnumDescriptor() ([]byte, []int) {
160	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{4, 0}
161}
162
163// The type of coverage score requested.
164type CalculateCoverageRequest_CoverageType int32
165
166const (
167	// Should never be used.
168	CalculateCoverageRequest_COVERAGE_TYPE_UNSPECIFIED CalculateCoverageRequest_CoverageType = 0
169	// Intent coverage.
170	CalculateCoverageRequest_INTENT CalculateCoverageRequest_CoverageType = 1
171	// Page transition coverage.
172	CalculateCoverageRequest_PAGE_TRANSITION CalculateCoverageRequest_CoverageType = 2
173	// Transition route group coverage.
174	CalculateCoverageRequest_TRANSITION_ROUTE_GROUP CalculateCoverageRequest_CoverageType = 3
175)
176
177// Enum value maps for CalculateCoverageRequest_CoverageType.
178var (
179	CalculateCoverageRequest_CoverageType_name = map[int32]string{
180		0: "COVERAGE_TYPE_UNSPECIFIED",
181		1: "INTENT",
182		2: "PAGE_TRANSITION",
183		3: "TRANSITION_ROUTE_GROUP",
184	}
185	CalculateCoverageRequest_CoverageType_value = map[string]int32{
186		"COVERAGE_TYPE_UNSPECIFIED": 0,
187		"INTENT":                    1,
188		"PAGE_TRANSITION":           2,
189		"TRANSITION_ROUTE_GROUP":    3,
190	}
191)
192
193func (x CalculateCoverageRequest_CoverageType) Enum() *CalculateCoverageRequest_CoverageType {
194	p := new(CalculateCoverageRequest_CoverageType)
195	*p = x
196	return p
197}
198
199func (x CalculateCoverageRequest_CoverageType) String() string {
200	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
201}
202
203func (CalculateCoverageRequest_CoverageType) Descriptor() protoreflect.EnumDescriptor {
204	return file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[2].Descriptor()
205}
206
207func (CalculateCoverageRequest_CoverageType) Type() protoreflect.EnumType {
208	return &file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[2]
209}
210
211func (x CalculateCoverageRequest_CoverageType) Number() protoreflect.EnumNumber {
212	return protoreflect.EnumNumber(x)
213}
214
215// Deprecated: Use CalculateCoverageRequest_CoverageType.Descriptor instead.
216func (CalculateCoverageRequest_CoverageType) EnumDescriptor() ([]byte, []int) {
217	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{8, 0}
218}
219
220// Specifies how much test case information to include in the response.
221type ListTestCasesRequest_TestCaseView int32
222
223const (
224	// The default / unset value.
225	// The API will default to the BASIC view.
226	ListTestCasesRequest_TEST_CASE_VIEW_UNSPECIFIED ListTestCasesRequest_TestCaseView = 0
227	// Include basic metadata about the test case, but not the conversation
228	// turns. This is the default value.
229	ListTestCasesRequest_BASIC ListTestCasesRequest_TestCaseView = 1
230	// Include everything.
231	ListTestCasesRequest_FULL ListTestCasesRequest_TestCaseView = 2
232)
233
234// Enum value maps for ListTestCasesRequest_TestCaseView.
235var (
236	ListTestCasesRequest_TestCaseView_name = map[int32]string{
237		0: "TEST_CASE_VIEW_UNSPECIFIED",
238		1: "BASIC",
239		2: "FULL",
240	}
241	ListTestCasesRequest_TestCaseView_value = map[string]int32{
242		"TEST_CASE_VIEW_UNSPECIFIED": 0,
243		"BASIC":                      1,
244		"FULL":                       2,
245	}
246)
247
248func (x ListTestCasesRequest_TestCaseView) Enum() *ListTestCasesRequest_TestCaseView {
249	p := new(ListTestCasesRequest_TestCaseView)
250	*p = x
251	return p
252}
253
254func (x ListTestCasesRequest_TestCaseView) String() string {
255	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
256}
257
258func (ListTestCasesRequest_TestCaseView) Descriptor() protoreflect.EnumDescriptor {
259	return file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[3].Descriptor()
260}
261
262func (ListTestCasesRequest_TestCaseView) Type() protoreflect.EnumType {
263	return &file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[3]
264}
265
266func (x ListTestCasesRequest_TestCaseView) Number() protoreflect.EnumNumber {
267	return protoreflect.EnumNumber(x)
268}
269
270// Deprecated: Use ListTestCasesRequest_TestCaseView.Descriptor instead.
271func (ListTestCasesRequest_TestCaseView) EnumDescriptor() ([]byte, []int) {
272	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{10, 0}
273}
274
275// Data format of the exported test cases.
276type ExportTestCasesRequest_DataFormat int32
277
278const (
279	// Unspecified format.
280	ExportTestCasesRequest_DATA_FORMAT_UNSPECIFIED ExportTestCasesRequest_DataFormat = 0
281	// Raw bytes.
282	ExportTestCasesRequest_BLOB ExportTestCasesRequest_DataFormat = 1
283	// JSON format.
284	ExportTestCasesRequest_JSON ExportTestCasesRequest_DataFormat = 2
285)
286
287// Enum value maps for ExportTestCasesRequest_DataFormat.
288var (
289	ExportTestCasesRequest_DataFormat_name = map[int32]string{
290		0: "DATA_FORMAT_UNSPECIFIED",
291		1: "BLOB",
292		2: "JSON",
293	}
294	ExportTestCasesRequest_DataFormat_value = map[string]int32{
295		"DATA_FORMAT_UNSPECIFIED": 0,
296		"BLOB":                    1,
297		"JSON":                    2,
298	}
299)
300
301func (x ExportTestCasesRequest_DataFormat) Enum() *ExportTestCasesRequest_DataFormat {
302	p := new(ExportTestCasesRequest_DataFormat)
303	*p = x
304	return p
305}
306
307func (x ExportTestCasesRequest_DataFormat) String() string {
308	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
309}
310
311func (ExportTestCasesRequest_DataFormat) Descriptor() protoreflect.EnumDescriptor {
312	return file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[4].Descriptor()
313}
314
315func (ExportTestCasesRequest_DataFormat) Type() protoreflect.EnumType {
316	return &file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[4]
317}
318
319func (x ExportTestCasesRequest_DataFormat) Number() protoreflect.EnumNumber {
320	return protoreflect.EnumNumber(x)
321}
322
323// Deprecated: Use ExportTestCasesRequest_DataFormat.Descriptor instead.
324func (ExportTestCasesRequest_DataFormat) EnumDescriptor() ([]byte, []int) {
325	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{27, 0}
326}
327
328// Represents a test case.
329type TestCase struct {
330	state         protoimpl.MessageState
331	sizeCache     protoimpl.SizeCache
332	unknownFields protoimpl.UnknownFields
333
334	// The unique identifier of the test case.
335	// [TestCases.CreateTestCase][google.cloud.dialogflow.cx.v3.TestCases.CreateTestCase] will populate the name automatically.
336	// Otherwise use format: `projects/<Project ID>/locations/<LocationID>/agents/
337	// <AgentID>/testCases/<TestCase ID>`.
338	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
339	// Tags are short descriptions that users may apply to test cases for
340	// organizational and filtering purposes. Each tag should start with "#" and
341	// has a limit of 30 characters.
342	Tags []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"`
343	// Required. The human-readable name of the test case, unique within the agent. Limit of
344	// 200 characters.
345	DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
346	// Additional freeform notes about the test case. Limit of 400 characters.
347	Notes string `protobuf:"bytes,4,opt,name=notes,proto3" json:"notes,omitempty"`
348	// Config for the test case.
349	TestConfig *TestConfig `protobuf:"bytes,13,opt,name=test_config,json=testConfig,proto3" json:"test_config,omitempty"`
350	// The conversation turns uttered when the test case was created, in
351	// chronological order. These include the canonical set of agent utterances
352	// that should occur when the agent is working properly.
353	TestCaseConversationTurns []*ConversationTurn `protobuf:"bytes,5,rep,name=test_case_conversation_turns,json=testCaseConversationTurns,proto3" json:"test_case_conversation_turns,omitempty"`
354	// Output only. When the test was created.
355	CreationTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
356	// The latest test result.
357	LastTestResult *TestCaseResult `protobuf:"bytes,12,opt,name=last_test_result,json=lastTestResult,proto3" json:"last_test_result,omitempty"`
358}
359
360func (x *TestCase) Reset() {
361	*x = TestCase{}
362	if protoimpl.UnsafeEnabled {
363		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[0]
364		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
365		ms.StoreMessageInfo(mi)
366	}
367}
368
369func (x *TestCase) String() string {
370	return protoimpl.X.MessageStringOf(x)
371}
372
373func (*TestCase) ProtoMessage() {}
374
375func (x *TestCase) ProtoReflect() protoreflect.Message {
376	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[0]
377	if protoimpl.UnsafeEnabled && x != nil {
378		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
379		if ms.LoadMessageInfo() == nil {
380			ms.StoreMessageInfo(mi)
381		}
382		return ms
383	}
384	return mi.MessageOf(x)
385}
386
387// Deprecated: Use TestCase.ProtoReflect.Descriptor instead.
388func (*TestCase) Descriptor() ([]byte, []int) {
389	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{0}
390}
391
392func (x *TestCase) GetName() string {
393	if x != nil {
394		return x.Name
395	}
396	return ""
397}
398
399func (x *TestCase) GetTags() []string {
400	if x != nil {
401		return x.Tags
402	}
403	return nil
404}
405
406func (x *TestCase) GetDisplayName() string {
407	if x != nil {
408		return x.DisplayName
409	}
410	return ""
411}
412
413func (x *TestCase) GetNotes() string {
414	if x != nil {
415		return x.Notes
416	}
417	return ""
418}
419
420func (x *TestCase) GetTestConfig() *TestConfig {
421	if x != nil {
422		return x.TestConfig
423	}
424	return nil
425}
426
427func (x *TestCase) GetTestCaseConversationTurns() []*ConversationTurn {
428	if x != nil {
429		return x.TestCaseConversationTurns
430	}
431	return nil
432}
433
434func (x *TestCase) GetCreationTime() *timestamppb.Timestamp {
435	if x != nil {
436		return x.CreationTime
437	}
438	return nil
439}
440
441func (x *TestCase) GetLastTestResult() *TestCaseResult {
442	if x != nil {
443		return x.LastTestResult
444	}
445	return nil
446}
447
448// Represents a result from running a test case in an agent environment.
449type TestCaseResult struct {
450	state         protoimpl.MessageState
451	sizeCache     protoimpl.SizeCache
452	unknownFields protoimpl.UnknownFields
453
454	// The resource name for the test case result. Format:
455	// `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/testCases/
456	// <TestCase ID>/results/<TestCaseResult ID>`.
457	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
458	// Environment where the test was run. If not set, it indicates the draft
459	// environment.
460	Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"`
461	// The conversation turns uttered during the test case replay in chronological
462	// order.
463	ConversationTurns []*ConversationTurn `protobuf:"bytes,3,rep,name=conversation_turns,json=conversationTurns,proto3" json:"conversation_turns,omitempty"`
464	// Whether the test case passed in the agent environment.
465	TestResult TestResult `protobuf:"varint,4,opt,name=test_result,json=testResult,proto3,enum=google.cloud.dialogflow.cx.v3.TestResult" json:"test_result,omitempty"`
466	// The time that the test was run.
467	TestTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=test_time,json=testTime,proto3" json:"test_time,omitempty"`
468}
469
470func (x *TestCaseResult) Reset() {
471	*x = TestCaseResult{}
472	if protoimpl.UnsafeEnabled {
473		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[1]
474		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
475		ms.StoreMessageInfo(mi)
476	}
477}
478
479func (x *TestCaseResult) String() string {
480	return protoimpl.X.MessageStringOf(x)
481}
482
483func (*TestCaseResult) ProtoMessage() {}
484
485func (x *TestCaseResult) ProtoReflect() protoreflect.Message {
486	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[1]
487	if protoimpl.UnsafeEnabled && x != nil {
488		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
489		if ms.LoadMessageInfo() == nil {
490			ms.StoreMessageInfo(mi)
491		}
492		return ms
493	}
494	return mi.MessageOf(x)
495}
496
497// Deprecated: Use TestCaseResult.ProtoReflect.Descriptor instead.
498func (*TestCaseResult) Descriptor() ([]byte, []int) {
499	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{1}
500}
501
502func (x *TestCaseResult) GetName() string {
503	if x != nil {
504		return x.Name
505	}
506	return ""
507}
508
509func (x *TestCaseResult) GetEnvironment() string {
510	if x != nil {
511		return x.Environment
512	}
513	return ""
514}
515
516func (x *TestCaseResult) GetConversationTurns() []*ConversationTurn {
517	if x != nil {
518		return x.ConversationTurns
519	}
520	return nil
521}
522
523func (x *TestCaseResult) GetTestResult() TestResult {
524	if x != nil {
525		return x.TestResult
526	}
527	return TestResult_TEST_RESULT_UNSPECIFIED
528}
529
530func (x *TestCaseResult) GetTestTime() *timestamppb.Timestamp {
531	if x != nil {
532		return x.TestTime
533	}
534	return nil
535}
536
537// Represents configurations for a test case.
538type TestConfig struct {
539	state         protoimpl.MessageState
540	sizeCache     protoimpl.SizeCache
541	unknownFields protoimpl.UnknownFields
542
543	// Session parameters to be compared when calculating differences.
544	TrackingParameters []string `protobuf:"bytes,1,rep,name=tracking_parameters,json=trackingParameters,proto3" json:"tracking_parameters,omitempty"`
545	// Flow name. If not set, default start flow is assumed.
546	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
547	// ID>/flows/<Flow ID>`.
548	Flow string `protobuf:"bytes,2,opt,name=flow,proto3" json:"flow,omitempty"`
549}
550
551func (x *TestConfig) Reset() {
552	*x = TestConfig{}
553	if protoimpl.UnsafeEnabled {
554		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[2]
555		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
556		ms.StoreMessageInfo(mi)
557	}
558}
559
560func (x *TestConfig) String() string {
561	return protoimpl.X.MessageStringOf(x)
562}
563
564func (*TestConfig) ProtoMessage() {}
565
566func (x *TestConfig) ProtoReflect() protoreflect.Message {
567	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[2]
568	if protoimpl.UnsafeEnabled && x != nil {
569		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
570		if ms.LoadMessageInfo() == nil {
571			ms.StoreMessageInfo(mi)
572		}
573		return ms
574	}
575	return mi.MessageOf(x)
576}
577
578// Deprecated: Use TestConfig.ProtoReflect.Descriptor instead.
579func (*TestConfig) Descriptor() ([]byte, []int) {
580	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{2}
581}
582
583func (x *TestConfig) GetTrackingParameters() []string {
584	if x != nil {
585		return x.TrackingParameters
586	}
587	return nil
588}
589
590func (x *TestConfig) GetFlow() string {
591	if x != nil {
592		return x.Flow
593	}
594	return ""
595}
596
597// One interaction between a human and virtual agent. The human provides some
598// input and the virtual agent provides a response.
599type ConversationTurn struct {
600	state         protoimpl.MessageState
601	sizeCache     protoimpl.SizeCache
602	unknownFields protoimpl.UnknownFields
603
604	// The user input.
605	UserInput *ConversationTurn_UserInput `protobuf:"bytes,1,opt,name=user_input,json=userInput,proto3" json:"user_input,omitempty"`
606	// The virtual agent output.
607	VirtualAgentOutput *ConversationTurn_VirtualAgentOutput `protobuf:"bytes,2,opt,name=virtual_agent_output,json=virtualAgentOutput,proto3" json:"virtual_agent_output,omitempty"`
608}
609
610func (x *ConversationTurn) Reset() {
611	*x = ConversationTurn{}
612	if protoimpl.UnsafeEnabled {
613		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[3]
614		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
615		ms.StoreMessageInfo(mi)
616	}
617}
618
619func (x *ConversationTurn) String() string {
620	return protoimpl.X.MessageStringOf(x)
621}
622
623func (*ConversationTurn) ProtoMessage() {}
624
625func (x *ConversationTurn) ProtoReflect() protoreflect.Message {
626	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[3]
627	if protoimpl.UnsafeEnabled && x != nil {
628		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
629		if ms.LoadMessageInfo() == nil {
630			ms.StoreMessageInfo(mi)
631		}
632		return ms
633	}
634	return mi.MessageOf(x)
635}
636
637// Deprecated: Use ConversationTurn.ProtoReflect.Descriptor instead.
638func (*ConversationTurn) Descriptor() ([]byte, []int) {
639	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{3}
640}
641
642func (x *ConversationTurn) GetUserInput() *ConversationTurn_UserInput {
643	if x != nil {
644		return x.UserInput
645	}
646	return nil
647}
648
649func (x *ConversationTurn) GetVirtualAgentOutput() *ConversationTurn_VirtualAgentOutput {
650	if x != nil {
651		return x.VirtualAgentOutput
652	}
653	return nil
654}
655
656// The description of differences between original and replayed agent output.
657type TestRunDifference struct {
658	state         protoimpl.MessageState
659	sizeCache     protoimpl.SizeCache
660	unknownFields protoimpl.UnknownFields
661
662	// The type of diff.
663	Type TestRunDifference_DiffType `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.dialogflow.cx.v3.TestRunDifference_DiffType" json:"type,omitempty"`
664	// A description of the diff, showing the actual output vs expected output.
665	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
666}
667
668func (x *TestRunDifference) Reset() {
669	*x = TestRunDifference{}
670	if protoimpl.UnsafeEnabled {
671		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[4]
672		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
673		ms.StoreMessageInfo(mi)
674	}
675}
676
677func (x *TestRunDifference) String() string {
678	return protoimpl.X.MessageStringOf(x)
679}
680
681func (*TestRunDifference) ProtoMessage() {}
682
683func (x *TestRunDifference) ProtoReflect() protoreflect.Message {
684	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[4]
685	if protoimpl.UnsafeEnabled && x != nil {
686		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
687		if ms.LoadMessageInfo() == nil {
688			ms.StoreMessageInfo(mi)
689		}
690		return ms
691	}
692	return mi.MessageOf(x)
693}
694
695// Deprecated: Use TestRunDifference.ProtoReflect.Descriptor instead.
696func (*TestRunDifference) Descriptor() ([]byte, []int) {
697	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{4}
698}
699
700func (x *TestRunDifference) GetType() TestRunDifference_DiffType {
701	if x != nil {
702		return x.Type
703	}
704	return TestRunDifference_DIFF_TYPE_UNSPECIFIED
705}
706
707func (x *TestRunDifference) GetDescription() string {
708	if x != nil {
709		return x.Description
710	}
711	return ""
712}
713
714// Transition coverage represents the percentage of all possible page
715// transitions (page-level transition routes and event handlers, excluding
716// transition route groups) present within any of a parent's test cases.
717type TransitionCoverage struct {
718	state         protoimpl.MessageState
719	sizeCache     protoimpl.SizeCache
720	unknownFields protoimpl.UnknownFields
721
722	// The list of Transitions present in the agent.
723	Transitions []*TransitionCoverage_Transition `protobuf:"bytes,1,rep,name=transitions,proto3" json:"transitions,omitempty"`
724	// The percent of transitions in the agent that are covered.
725	CoverageScore float32 `protobuf:"fixed32,2,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"`
726}
727
728func (x *TransitionCoverage) Reset() {
729	*x = TransitionCoverage{}
730	if protoimpl.UnsafeEnabled {
731		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[5]
732		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
733		ms.StoreMessageInfo(mi)
734	}
735}
736
737func (x *TransitionCoverage) String() string {
738	return protoimpl.X.MessageStringOf(x)
739}
740
741func (*TransitionCoverage) ProtoMessage() {}
742
743func (x *TransitionCoverage) ProtoReflect() protoreflect.Message {
744	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[5]
745	if protoimpl.UnsafeEnabled && x != nil {
746		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
747		if ms.LoadMessageInfo() == nil {
748			ms.StoreMessageInfo(mi)
749		}
750		return ms
751	}
752	return mi.MessageOf(x)
753}
754
755// Deprecated: Use TransitionCoverage.ProtoReflect.Descriptor instead.
756func (*TransitionCoverage) Descriptor() ([]byte, []int) {
757	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{5}
758}
759
760func (x *TransitionCoverage) GetTransitions() []*TransitionCoverage_Transition {
761	if x != nil {
762		return x.Transitions
763	}
764	return nil
765}
766
767func (x *TransitionCoverage) GetCoverageScore() float32 {
768	if x != nil {
769		return x.CoverageScore
770	}
771	return 0
772}
773
774// Transition route group coverage represents the percentage of all possible
775// transition routes present within any of a parent's test cases. The results
776// are grouped by the transition route group.
777type TransitionRouteGroupCoverage struct {
778	state         protoimpl.MessageState
779	sizeCache     protoimpl.SizeCache
780	unknownFields protoimpl.UnknownFields
781
782	// Transition route group coverages.
783	Coverages []*TransitionRouteGroupCoverage_Coverage `protobuf:"bytes,1,rep,name=coverages,proto3" json:"coverages,omitempty"`
784	// The percent of transition routes in all the transition route groups that
785	// are covered.
786	CoverageScore float32 `protobuf:"fixed32,2,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"`
787}
788
789func (x *TransitionRouteGroupCoverage) Reset() {
790	*x = TransitionRouteGroupCoverage{}
791	if protoimpl.UnsafeEnabled {
792		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[6]
793		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
794		ms.StoreMessageInfo(mi)
795	}
796}
797
798func (x *TransitionRouteGroupCoverage) String() string {
799	return protoimpl.X.MessageStringOf(x)
800}
801
802func (*TransitionRouteGroupCoverage) ProtoMessage() {}
803
804func (x *TransitionRouteGroupCoverage) ProtoReflect() protoreflect.Message {
805	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[6]
806	if protoimpl.UnsafeEnabled && x != nil {
807		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
808		if ms.LoadMessageInfo() == nil {
809			ms.StoreMessageInfo(mi)
810		}
811		return ms
812	}
813	return mi.MessageOf(x)
814}
815
816// Deprecated: Use TransitionRouteGroupCoverage.ProtoReflect.Descriptor instead.
817func (*TransitionRouteGroupCoverage) Descriptor() ([]byte, []int) {
818	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{6}
819}
820
821func (x *TransitionRouteGroupCoverage) GetCoverages() []*TransitionRouteGroupCoverage_Coverage {
822	if x != nil {
823		return x.Coverages
824	}
825	return nil
826}
827
828func (x *TransitionRouteGroupCoverage) GetCoverageScore() float32 {
829	if x != nil {
830		return x.CoverageScore
831	}
832	return 0
833}
834
835// Intent coverage represents the percentage of all possible intents in the
836// agent that are triggered in any of a parent's test cases.
837type IntentCoverage struct {
838	state         protoimpl.MessageState
839	sizeCache     protoimpl.SizeCache
840	unknownFields protoimpl.UnknownFields
841
842	// The list of Intents present in the agent
843	Intents []*IntentCoverage_Intent `protobuf:"bytes,1,rep,name=intents,proto3" json:"intents,omitempty"`
844	// The percent of intents in the agent that are covered.
845	CoverageScore float32 `protobuf:"fixed32,2,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"`
846}
847
848func (x *IntentCoverage) Reset() {
849	*x = IntentCoverage{}
850	if protoimpl.UnsafeEnabled {
851		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[7]
852		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
853		ms.StoreMessageInfo(mi)
854	}
855}
856
857func (x *IntentCoverage) String() string {
858	return protoimpl.X.MessageStringOf(x)
859}
860
861func (*IntentCoverage) ProtoMessage() {}
862
863func (x *IntentCoverage) ProtoReflect() protoreflect.Message {
864	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[7]
865	if protoimpl.UnsafeEnabled && x != nil {
866		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
867		if ms.LoadMessageInfo() == nil {
868			ms.StoreMessageInfo(mi)
869		}
870		return ms
871	}
872	return mi.MessageOf(x)
873}
874
875// Deprecated: Use IntentCoverage.ProtoReflect.Descriptor instead.
876func (*IntentCoverage) Descriptor() ([]byte, []int) {
877	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{7}
878}
879
880func (x *IntentCoverage) GetIntents() []*IntentCoverage_Intent {
881	if x != nil {
882		return x.Intents
883	}
884	return nil
885}
886
887func (x *IntentCoverage) GetCoverageScore() float32 {
888	if x != nil {
889		return x.CoverageScore
890	}
891	return 0
892}
893
894// The request message for [TestCases.CalculateCoverage][google.cloud.dialogflow.cx.v3.TestCases.CalculateCoverage].
895type CalculateCoverageRequest struct {
896	state         protoimpl.MessageState
897	sizeCache     protoimpl.SizeCache
898	unknownFields protoimpl.UnknownFields
899
900	// Required. The agent to calculate coverage for.
901	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
902	Agent string `protobuf:"bytes,3,opt,name=agent,proto3" json:"agent,omitempty"`
903	// Required. The type of coverage requested.
904	Type CalculateCoverageRequest_CoverageType `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.dialogflow.cx.v3.CalculateCoverageRequest_CoverageType" json:"type,omitempty"`
905}
906
907func (x *CalculateCoverageRequest) Reset() {
908	*x = CalculateCoverageRequest{}
909	if protoimpl.UnsafeEnabled {
910		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[8]
911		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
912		ms.StoreMessageInfo(mi)
913	}
914}
915
916func (x *CalculateCoverageRequest) String() string {
917	return protoimpl.X.MessageStringOf(x)
918}
919
920func (*CalculateCoverageRequest) ProtoMessage() {}
921
922func (x *CalculateCoverageRequest) ProtoReflect() protoreflect.Message {
923	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[8]
924	if protoimpl.UnsafeEnabled && x != nil {
925		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
926		if ms.LoadMessageInfo() == nil {
927			ms.StoreMessageInfo(mi)
928		}
929		return ms
930	}
931	return mi.MessageOf(x)
932}
933
934// Deprecated: Use CalculateCoverageRequest.ProtoReflect.Descriptor instead.
935func (*CalculateCoverageRequest) Descriptor() ([]byte, []int) {
936	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{8}
937}
938
939func (x *CalculateCoverageRequest) GetAgent() string {
940	if x != nil {
941		return x.Agent
942	}
943	return ""
944}
945
946func (x *CalculateCoverageRequest) GetType() CalculateCoverageRequest_CoverageType {
947	if x != nil {
948		return x.Type
949	}
950	return CalculateCoverageRequest_COVERAGE_TYPE_UNSPECIFIED
951}
952
953// The response message for [TestCases.CalculateCoverage][google.cloud.dialogflow.cx.v3.TestCases.CalculateCoverage].
954type CalculateCoverageResponse struct {
955	state         protoimpl.MessageState
956	sizeCache     protoimpl.SizeCache
957	unknownFields protoimpl.UnknownFields
958
959	// The agent to calculate coverage for.
960	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
961	Agent string `protobuf:"bytes,5,opt,name=agent,proto3" json:"agent,omitempty"`
962	// The type of coverage requested.
963	//
964	// Types that are assignable to CoverageType:
965	//	*CalculateCoverageResponse_IntentCoverage
966	//	*CalculateCoverageResponse_TransitionCoverage
967	//	*CalculateCoverageResponse_RouteGroupCoverage
968	CoverageType isCalculateCoverageResponse_CoverageType `protobuf_oneof:"coverage_type"`
969}
970
971func (x *CalculateCoverageResponse) Reset() {
972	*x = CalculateCoverageResponse{}
973	if protoimpl.UnsafeEnabled {
974		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[9]
975		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
976		ms.StoreMessageInfo(mi)
977	}
978}
979
980func (x *CalculateCoverageResponse) String() string {
981	return protoimpl.X.MessageStringOf(x)
982}
983
984func (*CalculateCoverageResponse) ProtoMessage() {}
985
986func (x *CalculateCoverageResponse) ProtoReflect() protoreflect.Message {
987	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[9]
988	if protoimpl.UnsafeEnabled && x != nil {
989		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
990		if ms.LoadMessageInfo() == nil {
991			ms.StoreMessageInfo(mi)
992		}
993		return ms
994	}
995	return mi.MessageOf(x)
996}
997
998// Deprecated: Use CalculateCoverageResponse.ProtoReflect.Descriptor instead.
999func (*CalculateCoverageResponse) Descriptor() ([]byte, []int) {
1000	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{9}
1001}
1002
1003func (x *CalculateCoverageResponse) GetAgent() string {
1004	if x != nil {
1005		return x.Agent
1006	}
1007	return ""
1008}
1009
1010func (m *CalculateCoverageResponse) GetCoverageType() isCalculateCoverageResponse_CoverageType {
1011	if m != nil {
1012		return m.CoverageType
1013	}
1014	return nil
1015}
1016
1017func (x *CalculateCoverageResponse) GetIntentCoverage() *IntentCoverage {
1018	if x, ok := x.GetCoverageType().(*CalculateCoverageResponse_IntentCoverage); ok {
1019		return x.IntentCoverage
1020	}
1021	return nil
1022}
1023
1024func (x *CalculateCoverageResponse) GetTransitionCoverage() *TransitionCoverage {
1025	if x, ok := x.GetCoverageType().(*CalculateCoverageResponse_TransitionCoverage); ok {
1026		return x.TransitionCoverage
1027	}
1028	return nil
1029}
1030
1031func (x *CalculateCoverageResponse) GetRouteGroupCoverage() *TransitionRouteGroupCoverage {
1032	if x, ok := x.GetCoverageType().(*CalculateCoverageResponse_RouteGroupCoverage); ok {
1033		return x.RouteGroupCoverage
1034	}
1035	return nil
1036}
1037
1038type isCalculateCoverageResponse_CoverageType interface {
1039	isCalculateCoverageResponse_CoverageType()
1040}
1041
1042type CalculateCoverageResponse_IntentCoverage struct {
1043	// Intent coverage.
1044	IntentCoverage *IntentCoverage `protobuf:"bytes,2,opt,name=intent_coverage,json=intentCoverage,proto3,oneof"`
1045}
1046
1047type CalculateCoverageResponse_TransitionCoverage struct {
1048	// Transition (excluding transition route groups) coverage.
1049	TransitionCoverage *TransitionCoverage `protobuf:"bytes,4,opt,name=transition_coverage,json=transitionCoverage,proto3,oneof"`
1050}
1051
1052type CalculateCoverageResponse_RouteGroupCoverage struct {
1053	// Transition route group coverage.
1054	RouteGroupCoverage *TransitionRouteGroupCoverage `protobuf:"bytes,6,opt,name=route_group_coverage,json=routeGroupCoverage,proto3,oneof"`
1055}
1056
1057func (*CalculateCoverageResponse_IntentCoverage) isCalculateCoverageResponse_CoverageType() {}
1058
1059func (*CalculateCoverageResponse_TransitionCoverage) isCalculateCoverageResponse_CoverageType() {}
1060
1061func (*CalculateCoverageResponse_RouteGroupCoverage) isCalculateCoverageResponse_CoverageType() {}
1062
1063// The request message for [TestCases.ListTestCases][google.cloud.dialogflow.cx.v3.TestCases.ListTestCases].
1064type ListTestCasesRequest struct {
1065	state         protoimpl.MessageState
1066	sizeCache     protoimpl.SizeCache
1067	unknownFields protoimpl.UnknownFields
1068
1069	// Required. The agent to list all pages for.
1070	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
1071	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1072	// The maximum number of items to return in a single page. By default 20.
1073	// Note that when TestCaseView = FULL, the maximum page size allowed is 20.
1074	// When TestCaseView = BASIC, the maximum page size allowed is 500.
1075	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
1076	// The next_page_token value returned from a previous list request.
1077	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
1078	// Specifies whether response should include all fields or just the metadata.
1079	View ListTestCasesRequest_TestCaseView `protobuf:"varint,4,opt,name=view,proto3,enum=google.cloud.dialogflow.cx.v3.ListTestCasesRequest_TestCaseView" json:"view,omitempty"`
1080}
1081
1082func (x *ListTestCasesRequest) Reset() {
1083	*x = ListTestCasesRequest{}
1084	if protoimpl.UnsafeEnabled {
1085		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[10]
1086		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1087		ms.StoreMessageInfo(mi)
1088	}
1089}
1090
1091func (x *ListTestCasesRequest) String() string {
1092	return protoimpl.X.MessageStringOf(x)
1093}
1094
1095func (*ListTestCasesRequest) ProtoMessage() {}
1096
1097func (x *ListTestCasesRequest) ProtoReflect() protoreflect.Message {
1098	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[10]
1099	if protoimpl.UnsafeEnabled && x != nil {
1100		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1101		if ms.LoadMessageInfo() == nil {
1102			ms.StoreMessageInfo(mi)
1103		}
1104		return ms
1105	}
1106	return mi.MessageOf(x)
1107}
1108
1109// Deprecated: Use ListTestCasesRequest.ProtoReflect.Descriptor instead.
1110func (*ListTestCasesRequest) Descriptor() ([]byte, []int) {
1111	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{10}
1112}
1113
1114func (x *ListTestCasesRequest) GetParent() string {
1115	if x != nil {
1116		return x.Parent
1117	}
1118	return ""
1119}
1120
1121func (x *ListTestCasesRequest) GetPageSize() int32 {
1122	if x != nil {
1123		return x.PageSize
1124	}
1125	return 0
1126}
1127
1128func (x *ListTestCasesRequest) GetPageToken() string {
1129	if x != nil {
1130		return x.PageToken
1131	}
1132	return ""
1133}
1134
1135func (x *ListTestCasesRequest) GetView() ListTestCasesRequest_TestCaseView {
1136	if x != nil {
1137		return x.View
1138	}
1139	return ListTestCasesRequest_TEST_CASE_VIEW_UNSPECIFIED
1140}
1141
1142// The response message for [TestCases.ListTestCases][google.cloud.dialogflow.cx.v3.TestCases.ListTestCases].
1143type ListTestCasesResponse struct {
1144	state         protoimpl.MessageState
1145	sizeCache     protoimpl.SizeCache
1146	unknownFields protoimpl.UnknownFields
1147
1148	// The list of test cases. There will be a maximum number of items returned
1149	// based on the page_size field in the request.
1150	TestCases []*TestCase `protobuf:"bytes,1,rep,name=test_cases,json=testCases,proto3" json:"test_cases,omitempty"`
1151	// Token to retrieve the next page of results, or empty if there are no more
1152	// results in the list.
1153	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1154}
1155
1156func (x *ListTestCasesResponse) Reset() {
1157	*x = ListTestCasesResponse{}
1158	if protoimpl.UnsafeEnabled {
1159		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[11]
1160		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1161		ms.StoreMessageInfo(mi)
1162	}
1163}
1164
1165func (x *ListTestCasesResponse) String() string {
1166	return protoimpl.X.MessageStringOf(x)
1167}
1168
1169func (*ListTestCasesResponse) ProtoMessage() {}
1170
1171func (x *ListTestCasesResponse) ProtoReflect() protoreflect.Message {
1172	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[11]
1173	if protoimpl.UnsafeEnabled && x != nil {
1174		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1175		if ms.LoadMessageInfo() == nil {
1176			ms.StoreMessageInfo(mi)
1177		}
1178		return ms
1179	}
1180	return mi.MessageOf(x)
1181}
1182
1183// Deprecated: Use ListTestCasesResponse.ProtoReflect.Descriptor instead.
1184func (*ListTestCasesResponse) Descriptor() ([]byte, []int) {
1185	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{11}
1186}
1187
1188func (x *ListTestCasesResponse) GetTestCases() []*TestCase {
1189	if x != nil {
1190		return x.TestCases
1191	}
1192	return nil
1193}
1194
1195func (x *ListTestCasesResponse) GetNextPageToken() string {
1196	if x != nil {
1197		return x.NextPageToken
1198	}
1199	return ""
1200}
1201
1202// The request message for [TestCases.BatchDeleteTestCases][google.cloud.dialogflow.cx.v3.TestCases.BatchDeleteTestCases].
1203type BatchDeleteTestCasesRequest struct {
1204	state         protoimpl.MessageState
1205	sizeCache     protoimpl.SizeCache
1206	unknownFields protoimpl.UnknownFields
1207
1208	// Required. The agent to delete test cases from.
1209	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
1210	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1211	// Required. Format of test case names: `projects/<Project ID>/locations/
1212	// <Location ID>/agents/<AgentID>/testCases/<TestCase ID>`.
1213	Names []string `protobuf:"bytes,3,rep,name=names,proto3" json:"names,omitempty"`
1214}
1215
1216func (x *BatchDeleteTestCasesRequest) Reset() {
1217	*x = BatchDeleteTestCasesRequest{}
1218	if protoimpl.UnsafeEnabled {
1219		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[12]
1220		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1221		ms.StoreMessageInfo(mi)
1222	}
1223}
1224
1225func (x *BatchDeleteTestCasesRequest) String() string {
1226	return protoimpl.X.MessageStringOf(x)
1227}
1228
1229func (*BatchDeleteTestCasesRequest) ProtoMessage() {}
1230
1231func (x *BatchDeleteTestCasesRequest) ProtoReflect() protoreflect.Message {
1232	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[12]
1233	if protoimpl.UnsafeEnabled && x != nil {
1234		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1235		if ms.LoadMessageInfo() == nil {
1236			ms.StoreMessageInfo(mi)
1237		}
1238		return ms
1239	}
1240	return mi.MessageOf(x)
1241}
1242
1243// Deprecated: Use BatchDeleteTestCasesRequest.ProtoReflect.Descriptor instead.
1244func (*BatchDeleteTestCasesRequest) Descriptor() ([]byte, []int) {
1245	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{12}
1246}
1247
1248func (x *BatchDeleteTestCasesRequest) GetParent() string {
1249	if x != nil {
1250		return x.Parent
1251	}
1252	return ""
1253}
1254
1255func (x *BatchDeleteTestCasesRequest) GetNames() []string {
1256	if x != nil {
1257		return x.Names
1258	}
1259	return nil
1260}
1261
1262// The request message for [TestCases.CreateTestCase][google.cloud.dialogflow.cx.v3.TestCases.CreateTestCase].
1263type CreateTestCaseRequest struct {
1264	state         protoimpl.MessageState
1265	sizeCache     protoimpl.SizeCache
1266	unknownFields protoimpl.UnknownFields
1267
1268	// Required. The agent to create the test case for.
1269	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
1270	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1271	// Required. The test case to create.
1272	TestCase *TestCase `protobuf:"bytes,2,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`
1273}
1274
1275func (x *CreateTestCaseRequest) Reset() {
1276	*x = CreateTestCaseRequest{}
1277	if protoimpl.UnsafeEnabled {
1278		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[13]
1279		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1280		ms.StoreMessageInfo(mi)
1281	}
1282}
1283
1284func (x *CreateTestCaseRequest) String() string {
1285	return protoimpl.X.MessageStringOf(x)
1286}
1287
1288func (*CreateTestCaseRequest) ProtoMessage() {}
1289
1290func (x *CreateTestCaseRequest) ProtoReflect() protoreflect.Message {
1291	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[13]
1292	if protoimpl.UnsafeEnabled && x != nil {
1293		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1294		if ms.LoadMessageInfo() == nil {
1295			ms.StoreMessageInfo(mi)
1296		}
1297		return ms
1298	}
1299	return mi.MessageOf(x)
1300}
1301
1302// Deprecated: Use CreateTestCaseRequest.ProtoReflect.Descriptor instead.
1303func (*CreateTestCaseRequest) Descriptor() ([]byte, []int) {
1304	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{13}
1305}
1306
1307func (x *CreateTestCaseRequest) GetParent() string {
1308	if x != nil {
1309		return x.Parent
1310	}
1311	return ""
1312}
1313
1314func (x *CreateTestCaseRequest) GetTestCase() *TestCase {
1315	if x != nil {
1316		return x.TestCase
1317	}
1318	return nil
1319}
1320
1321// The request message for [TestCases.UpdateTestCase][google.cloud.dialogflow.cx.v3.TestCases.UpdateTestCase].
1322type UpdateTestCaseRequest struct {
1323	state         protoimpl.MessageState
1324	sizeCache     protoimpl.SizeCache
1325	unknownFields protoimpl.UnknownFields
1326
1327	// Required. The test case to update.
1328	TestCase *TestCase `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`
1329	// Required. The mask to specify which fields should be updated. The
1330	// [`creationTime`][google.cloud.dialogflow.cx.v3.TestCase.creation_time] and
1331	// [`lastTestResult`][google.cloud.dialogflow.cx.v3.TestCase.last_test_result] cannot be updated.
1332	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1333}
1334
1335func (x *UpdateTestCaseRequest) Reset() {
1336	*x = UpdateTestCaseRequest{}
1337	if protoimpl.UnsafeEnabled {
1338		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[14]
1339		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1340		ms.StoreMessageInfo(mi)
1341	}
1342}
1343
1344func (x *UpdateTestCaseRequest) String() string {
1345	return protoimpl.X.MessageStringOf(x)
1346}
1347
1348func (*UpdateTestCaseRequest) ProtoMessage() {}
1349
1350func (x *UpdateTestCaseRequest) ProtoReflect() protoreflect.Message {
1351	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[14]
1352	if protoimpl.UnsafeEnabled && x != nil {
1353		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1354		if ms.LoadMessageInfo() == nil {
1355			ms.StoreMessageInfo(mi)
1356		}
1357		return ms
1358	}
1359	return mi.MessageOf(x)
1360}
1361
1362// Deprecated: Use UpdateTestCaseRequest.ProtoReflect.Descriptor instead.
1363func (*UpdateTestCaseRequest) Descriptor() ([]byte, []int) {
1364	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{14}
1365}
1366
1367func (x *UpdateTestCaseRequest) GetTestCase() *TestCase {
1368	if x != nil {
1369		return x.TestCase
1370	}
1371	return nil
1372}
1373
1374func (x *UpdateTestCaseRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1375	if x != nil {
1376		return x.UpdateMask
1377	}
1378	return nil
1379}
1380
1381// The request message for [TestCases.GetTestCase][google.cloud.dialogflow.cx.v3.TestCases.GetTestCase].
1382type GetTestCaseRequest struct {
1383	state         protoimpl.MessageState
1384	sizeCache     protoimpl.SizeCache
1385	unknownFields protoimpl.UnknownFields
1386
1387	// Required. The name of the testcase.
1388	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1389	// ID>/testCases/<TestCase ID>`.
1390	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1391}
1392
1393func (x *GetTestCaseRequest) Reset() {
1394	*x = GetTestCaseRequest{}
1395	if protoimpl.UnsafeEnabled {
1396		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[15]
1397		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1398		ms.StoreMessageInfo(mi)
1399	}
1400}
1401
1402func (x *GetTestCaseRequest) String() string {
1403	return protoimpl.X.MessageStringOf(x)
1404}
1405
1406func (*GetTestCaseRequest) ProtoMessage() {}
1407
1408func (x *GetTestCaseRequest) ProtoReflect() protoreflect.Message {
1409	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[15]
1410	if protoimpl.UnsafeEnabled && x != nil {
1411		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1412		if ms.LoadMessageInfo() == nil {
1413			ms.StoreMessageInfo(mi)
1414		}
1415		return ms
1416	}
1417	return mi.MessageOf(x)
1418}
1419
1420// Deprecated: Use GetTestCaseRequest.ProtoReflect.Descriptor instead.
1421func (*GetTestCaseRequest) Descriptor() ([]byte, []int) {
1422	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{15}
1423}
1424
1425func (x *GetTestCaseRequest) GetName() string {
1426	if x != nil {
1427		return x.Name
1428	}
1429	return ""
1430}
1431
1432// The request message for [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3.TestCases.RunTestCase].
1433type RunTestCaseRequest struct {
1434	state         protoimpl.MessageState
1435	sizeCache     protoimpl.SizeCache
1436	unknownFields protoimpl.UnknownFields
1437
1438	// Required. Format of test case name to run: `projects/<Project ID>/locations/
1439	// <Location ID>/agents/<AgentID>/testCases/<TestCase ID>`.
1440	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1441	// Optional. Environment name. If not set, draft environment is assumed.
1442	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1443	// ID>/environments/<Environment ID>`.
1444	Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"`
1445}
1446
1447func (x *RunTestCaseRequest) Reset() {
1448	*x = RunTestCaseRequest{}
1449	if protoimpl.UnsafeEnabled {
1450		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[16]
1451		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1452		ms.StoreMessageInfo(mi)
1453	}
1454}
1455
1456func (x *RunTestCaseRequest) String() string {
1457	return protoimpl.X.MessageStringOf(x)
1458}
1459
1460func (*RunTestCaseRequest) ProtoMessage() {}
1461
1462func (x *RunTestCaseRequest) ProtoReflect() protoreflect.Message {
1463	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[16]
1464	if protoimpl.UnsafeEnabled && x != nil {
1465		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1466		if ms.LoadMessageInfo() == nil {
1467			ms.StoreMessageInfo(mi)
1468		}
1469		return ms
1470	}
1471	return mi.MessageOf(x)
1472}
1473
1474// Deprecated: Use RunTestCaseRequest.ProtoReflect.Descriptor instead.
1475func (*RunTestCaseRequest) Descriptor() ([]byte, []int) {
1476	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{16}
1477}
1478
1479func (x *RunTestCaseRequest) GetName() string {
1480	if x != nil {
1481		return x.Name
1482	}
1483	return ""
1484}
1485
1486func (x *RunTestCaseRequest) GetEnvironment() string {
1487	if x != nil {
1488		return x.Environment
1489	}
1490	return ""
1491}
1492
1493// The response message for [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3.TestCases.RunTestCase].
1494type RunTestCaseResponse struct {
1495	state         protoimpl.MessageState
1496	sizeCache     protoimpl.SizeCache
1497	unknownFields protoimpl.UnknownFields
1498
1499	// The result.
1500	Result *TestCaseResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
1501}
1502
1503func (x *RunTestCaseResponse) Reset() {
1504	*x = RunTestCaseResponse{}
1505	if protoimpl.UnsafeEnabled {
1506		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[17]
1507		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1508		ms.StoreMessageInfo(mi)
1509	}
1510}
1511
1512func (x *RunTestCaseResponse) String() string {
1513	return protoimpl.X.MessageStringOf(x)
1514}
1515
1516func (*RunTestCaseResponse) ProtoMessage() {}
1517
1518func (x *RunTestCaseResponse) ProtoReflect() protoreflect.Message {
1519	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[17]
1520	if protoimpl.UnsafeEnabled && x != nil {
1521		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1522		if ms.LoadMessageInfo() == nil {
1523			ms.StoreMessageInfo(mi)
1524		}
1525		return ms
1526	}
1527	return mi.MessageOf(x)
1528}
1529
1530// Deprecated: Use RunTestCaseResponse.ProtoReflect.Descriptor instead.
1531func (*RunTestCaseResponse) Descriptor() ([]byte, []int) {
1532	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{17}
1533}
1534
1535func (x *RunTestCaseResponse) GetResult() *TestCaseResult {
1536	if x != nil {
1537		return x.Result
1538	}
1539	return nil
1540}
1541
1542// Metadata returned for the [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3.TestCases.RunTestCase] long running operation.
1543// This message currently has no fields.
1544type RunTestCaseMetadata struct {
1545	state         protoimpl.MessageState
1546	sizeCache     protoimpl.SizeCache
1547	unknownFields protoimpl.UnknownFields
1548}
1549
1550func (x *RunTestCaseMetadata) Reset() {
1551	*x = RunTestCaseMetadata{}
1552	if protoimpl.UnsafeEnabled {
1553		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[18]
1554		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1555		ms.StoreMessageInfo(mi)
1556	}
1557}
1558
1559func (x *RunTestCaseMetadata) String() string {
1560	return protoimpl.X.MessageStringOf(x)
1561}
1562
1563func (*RunTestCaseMetadata) ProtoMessage() {}
1564
1565func (x *RunTestCaseMetadata) ProtoReflect() protoreflect.Message {
1566	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[18]
1567	if protoimpl.UnsafeEnabled && x != nil {
1568		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1569		if ms.LoadMessageInfo() == nil {
1570			ms.StoreMessageInfo(mi)
1571		}
1572		return ms
1573	}
1574	return mi.MessageOf(x)
1575}
1576
1577// Deprecated: Use RunTestCaseMetadata.ProtoReflect.Descriptor instead.
1578func (*RunTestCaseMetadata) Descriptor() ([]byte, []int) {
1579	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{18}
1580}
1581
1582// The request message for [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3.TestCases.BatchRunTestCases].
1583type BatchRunTestCasesRequest struct {
1584	state         protoimpl.MessageState
1585	sizeCache     protoimpl.SizeCache
1586	unknownFields protoimpl.UnknownFields
1587
1588	// Required. Agent name. Format: `projects/<Project ID>/locations/<Location ID>/agents/
1589	// <AgentID>`.
1590	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1591	// Optional. If not set, draft environment is assumed. Format: `projects/<Project
1592	// ID>/locations/<Location ID>/agents/<Agent ID>/environments/<Environment
1593	// ID>`.
1594	Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"`
1595	// Required. Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1596	// ID>/testCases/<TestCase ID>`.
1597	TestCases []string `protobuf:"bytes,3,rep,name=test_cases,json=testCases,proto3" json:"test_cases,omitempty"`
1598}
1599
1600func (x *BatchRunTestCasesRequest) Reset() {
1601	*x = BatchRunTestCasesRequest{}
1602	if protoimpl.UnsafeEnabled {
1603		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[19]
1604		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1605		ms.StoreMessageInfo(mi)
1606	}
1607}
1608
1609func (x *BatchRunTestCasesRequest) String() string {
1610	return protoimpl.X.MessageStringOf(x)
1611}
1612
1613func (*BatchRunTestCasesRequest) ProtoMessage() {}
1614
1615func (x *BatchRunTestCasesRequest) ProtoReflect() protoreflect.Message {
1616	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[19]
1617	if protoimpl.UnsafeEnabled && x != nil {
1618		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1619		if ms.LoadMessageInfo() == nil {
1620			ms.StoreMessageInfo(mi)
1621		}
1622		return ms
1623	}
1624	return mi.MessageOf(x)
1625}
1626
1627// Deprecated: Use BatchRunTestCasesRequest.ProtoReflect.Descriptor instead.
1628func (*BatchRunTestCasesRequest) Descriptor() ([]byte, []int) {
1629	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{19}
1630}
1631
1632func (x *BatchRunTestCasesRequest) GetParent() string {
1633	if x != nil {
1634		return x.Parent
1635	}
1636	return ""
1637}
1638
1639func (x *BatchRunTestCasesRequest) GetEnvironment() string {
1640	if x != nil {
1641		return x.Environment
1642	}
1643	return ""
1644}
1645
1646func (x *BatchRunTestCasesRequest) GetTestCases() []string {
1647	if x != nil {
1648		return x.TestCases
1649	}
1650	return nil
1651}
1652
1653// The response message for [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3.TestCases.BatchRunTestCases].
1654type BatchRunTestCasesResponse struct {
1655	state         protoimpl.MessageState
1656	sizeCache     protoimpl.SizeCache
1657	unknownFields protoimpl.UnknownFields
1658
1659	// The test case results. The detailed
1660	// [conversation turns][google.cloud.dialogflow.cx.v3.TestCaseResult.conversation_turns] are empty in this
1661	// response.
1662	Results []*TestCaseResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
1663}
1664
1665func (x *BatchRunTestCasesResponse) Reset() {
1666	*x = BatchRunTestCasesResponse{}
1667	if protoimpl.UnsafeEnabled {
1668		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[20]
1669		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1670		ms.StoreMessageInfo(mi)
1671	}
1672}
1673
1674func (x *BatchRunTestCasesResponse) String() string {
1675	return protoimpl.X.MessageStringOf(x)
1676}
1677
1678func (*BatchRunTestCasesResponse) ProtoMessage() {}
1679
1680func (x *BatchRunTestCasesResponse) ProtoReflect() protoreflect.Message {
1681	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[20]
1682	if protoimpl.UnsafeEnabled && x != nil {
1683		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1684		if ms.LoadMessageInfo() == nil {
1685			ms.StoreMessageInfo(mi)
1686		}
1687		return ms
1688	}
1689	return mi.MessageOf(x)
1690}
1691
1692// Deprecated: Use BatchRunTestCasesResponse.ProtoReflect.Descriptor instead.
1693func (*BatchRunTestCasesResponse) Descriptor() ([]byte, []int) {
1694	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{20}
1695}
1696
1697func (x *BatchRunTestCasesResponse) GetResults() []*TestCaseResult {
1698	if x != nil {
1699		return x.Results
1700	}
1701	return nil
1702}
1703
1704// Metadata returned for the [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3.TestCases.BatchRunTestCases] long running
1705// operation.
1706type BatchRunTestCasesMetadata struct {
1707	state         protoimpl.MessageState
1708	sizeCache     protoimpl.SizeCache
1709	unknownFields protoimpl.UnknownFields
1710
1711	// The test errors.
1712	Errors []*TestError `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
1713}
1714
1715func (x *BatchRunTestCasesMetadata) Reset() {
1716	*x = BatchRunTestCasesMetadata{}
1717	if protoimpl.UnsafeEnabled {
1718		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[21]
1719		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1720		ms.StoreMessageInfo(mi)
1721	}
1722}
1723
1724func (x *BatchRunTestCasesMetadata) String() string {
1725	return protoimpl.X.MessageStringOf(x)
1726}
1727
1728func (*BatchRunTestCasesMetadata) ProtoMessage() {}
1729
1730func (x *BatchRunTestCasesMetadata) ProtoReflect() protoreflect.Message {
1731	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[21]
1732	if protoimpl.UnsafeEnabled && x != nil {
1733		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1734		if ms.LoadMessageInfo() == nil {
1735			ms.StoreMessageInfo(mi)
1736		}
1737		return ms
1738	}
1739	return mi.MessageOf(x)
1740}
1741
1742// Deprecated: Use BatchRunTestCasesMetadata.ProtoReflect.Descriptor instead.
1743func (*BatchRunTestCasesMetadata) Descriptor() ([]byte, []int) {
1744	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{21}
1745}
1746
1747func (x *BatchRunTestCasesMetadata) GetErrors() []*TestError {
1748	if x != nil {
1749		return x.Errors
1750	}
1751	return nil
1752}
1753
1754// Error info for running a test.
1755type TestError struct {
1756	state         protoimpl.MessageState
1757	sizeCache     protoimpl.SizeCache
1758	unknownFields protoimpl.UnknownFields
1759
1760	// The test case resource name.
1761	TestCase string `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`
1762	// The status associated with the test.
1763	Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
1764	// The timestamp when the test was completed.
1765	TestTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=test_time,json=testTime,proto3" json:"test_time,omitempty"`
1766}
1767
1768func (x *TestError) Reset() {
1769	*x = TestError{}
1770	if protoimpl.UnsafeEnabled {
1771		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[22]
1772		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1773		ms.StoreMessageInfo(mi)
1774	}
1775}
1776
1777func (x *TestError) String() string {
1778	return protoimpl.X.MessageStringOf(x)
1779}
1780
1781func (*TestError) ProtoMessage() {}
1782
1783func (x *TestError) ProtoReflect() protoreflect.Message {
1784	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[22]
1785	if protoimpl.UnsafeEnabled && x != nil {
1786		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1787		if ms.LoadMessageInfo() == nil {
1788			ms.StoreMessageInfo(mi)
1789		}
1790		return ms
1791	}
1792	return mi.MessageOf(x)
1793}
1794
1795// Deprecated: Use TestError.ProtoReflect.Descriptor instead.
1796func (*TestError) Descriptor() ([]byte, []int) {
1797	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{22}
1798}
1799
1800func (x *TestError) GetTestCase() string {
1801	if x != nil {
1802		return x.TestCase
1803	}
1804	return ""
1805}
1806
1807func (x *TestError) GetStatus() *status.Status {
1808	if x != nil {
1809		return x.Status
1810	}
1811	return nil
1812}
1813
1814func (x *TestError) GetTestTime() *timestamppb.Timestamp {
1815	if x != nil {
1816		return x.TestTime
1817	}
1818	return nil
1819}
1820
1821// The request message for [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3.TestCases.ImportTestCases].
1822type ImportTestCasesRequest struct {
1823	state         protoimpl.MessageState
1824	sizeCache     protoimpl.SizeCache
1825	unknownFields protoimpl.UnknownFields
1826
1827	// Required. The agent to import test cases to.
1828	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
1829	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1830	// Required. The source to import.
1831	//
1832	// Types that are assignable to Source:
1833	//	*ImportTestCasesRequest_GcsUri
1834	//	*ImportTestCasesRequest_Content
1835	Source isImportTestCasesRequest_Source `protobuf_oneof:"source"`
1836}
1837
1838func (x *ImportTestCasesRequest) Reset() {
1839	*x = ImportTestCasesRequest{}
1840	if protoimpl.UnsafeEnabled {
1841		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[23]
1842		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1843		ms.StoreMessageInfo(mi)
1844	}
1845}
1846
1847func (x *ImportTestCasesRequest) String() string {
1848	return protoimpl.X.MessageStringOf(x)
1849}
1850
1851func (*ImportTestCasesRequest) ProtoMessage() {}
1852
1853func (x *ImportTestCasesRequest) ProtoReflect() protoreflect.Message {
1854	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[23]
1855	if protoimpl.UnsafeEnabled && x != nil {
1856		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1857		if ms.LoadMessageInfo() == nil {
1858			ms.StoreMessageInfo(mi)
1859		}
1860		return ms
1861	}
1862	return mi.MessageOf(x)
1863}
1864
1865// Deprecated: Use ImportTestCasesRequest.ProtoReflect.Descriptor instead.
1866func (*ImportTestCasesRequest) Descriptor() ([]byte, []int) {
1867	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{23}
1868}
1869
1870func (x *ImportTestCasesRequest) GetParent() string {
1871	if x != nil {
1872		return x.Parent
1873	}
1874	return ""
1875}
1876
1877func (m *ImportTestCasesRequest) GetSource() isImportTestCasesRequest_Source {
1878	if m != nil {
1879		return m.Source
1880	}
1881	return nil
1882}
1883
1884func (x *ImportTestCasesRequest) GetGcsUri() string {
1885	if x, ok := x.GetSource().(*ImportTestCasesRequest_GcsUri); ok {
1886		return x.GcsUri
1887	}
1888	return ""
1889}
1890
1891func (x *ImportTestCasesRequest) GetContent() []byte {
1892	if x, ok := x.GetSource().(*ImportTestCasesRequest_Content); ok {
1893		return x.Content
1894	}
1895	return nil
1896}
1897
1898type isImportTestCasesRequest_Source interface {
1899	isImportTestCasesRequest_Source()
1900}
1901
1902type ImportTestCasesRequest_GcsUri struct {
1903	// The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI
1904	// to import test cases from. The format of this URI must be
1905	// `gs://<bucket-name>/<object-name>`.
1906	GcsUri string `protobuf:"bytes,2,opt,name=gcs_uri,json=gcsUri,proto3,oneof"`
1907}
1908
1909type ImportTestCasesRequest_Content struct {
1910	// Uncompressed raw byte content for test cases.
1911	Content []byte `protobuf:"bytes,3,opt,name=content,proto3,oneof"`
1912}
1913
1914func (*ImportTestCasesRequest_GcsUri) isImportTestCasesRequest_Source() {}
1915
1916func (*ImportTestCasesRequest_Content) isImportTestCasesRequest_Source() {}
1917
1918// The response message for [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3.TestCases.ImportTestCases].
1919type ImportTestCasesResponse struct {
1920	state         protoimpl.MessageState
1921	sizeCache     protoimpl.SizeCache
1922	unknownFields protoimpl.UnknownFields
1923
1924	// The unique identifiers of the new test cases.
1925	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
1926	// ID>/testCases/<TestCase ID>`.
1927	Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"`
1928}
1929
1930func (x *ImportTestCasesResponse) Reset() {
1931	*x = ImportTestCasesResponse{}
1932	if protoimpl.UnsafeEnabled {
1933		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[24]
1934		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1935		ms.StoreMessageInfo(mi)
1936	}
1937}
1938
1939func (x *ImportTestCasesResponse) String() string {
1940	return protoimpl.X.MessageStringOf(x)
1941}
1942
1943func (*ImportTestCasesResponse) ProtoMessage() {}
1944
1945func (x *ImportTestCasesResponse) ProtoReflect() protoreflect.Message {
1946	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[24]
1947	if protoimpl.UnsafeEnabled && x != nil {
1948		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1949		if ms.LoadMessageInfo() == nil {
1950			ms.StoreMessageInfo(mi)
1951		}
1952		return ms
1953	}
1954	return mi.MessageOf(x)
1955}
1956
1957// Deprecated: Use ImportTestCasesResponse.ProtoReflect.Descriptor instead.
1958func (*ImportTestCasesResponse) Descriptor() ([]byte, []int) {
1959	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{24}
1960}
1961
1962func (x *ImportTestCasesResponse) GetNames() []string {
1963	if x != nil {
1964		return x.Names
1965	}
1966	return nil
1967}
1968
1969// Metadata returned for the [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3.TestCases.ImportTestCases] long running
1970// operation.
1971type ImportTestCasesMetadata struct {
1972	state         protoimpl.MessageState
1973	sizeCache     protoimpl.SizeCache
1974	unknownFields protoimpl.UnknownFields
1975
1976	// Errors for failed test cases.
1977	Errors []*TestCaseError `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
1978}
1979
1980func (x *ImportTestCasesMetadata) Reset() {
1981	*x = ImportTestCasesMetadata{}
1982	if protoimpl.UnsafeEnabled {
1983		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[25]
1984		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1985		ms.StoreMessageInfo(mi)
1986	}
1987}
1988
1989func (x *ImportTestCasesMetadata) String() string {
1990	return protoimpl.X.MessageStringOf(x)
1991}
1992
1993func (*ImportTestCasesMetadata) ProtoMessage() {}
1994
1995func (x *ImportTestCasesMetadata) ProtoReflect() protoreflect.Message {
1996	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[25]
1997	if protoimpl.UnsafeEnabled && x != nil {
1998		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1999		if ms.LoadMessageInfo() == nil {
2000			ms.StoreMessageInfo(mi)
2001		}
2002		return ms
2003	}
2004	return mi.MessageOf(x)
2005}
2006
2007// Deprecated: Use ImportTestCasesMetadata.ProtoReflect.Descriptor instead.
2008func (*ImportTestCasesMetadata) Descriptor() ([]byte, []int) {
2009	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{25}
2010}
2011
2012func (x *ImportTestCasesMetadata) GetErrors() []*TestCaseError {
2013	if x != nil {
2014		return x.Errors
2015	}
2016	return nil
2017}
2018
2019// Error info for importing a test.
2020type TestCaseError struct {
2021	state         protoimpl.MessageState
2022	sizeCache     protoimpl.SizeCache
2023	unknownFields protoimpl.UnknownFields
2024
2025	// The test case.
2026	TestCase *TestCase `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`
2027	// The status associated with the test case.
2028	Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
2029}
2030
2031func (x *TestCaseError) Reset() {
2032	*x = TestCaseError{}
2033	if protoimpl.UnsafeEnabled {
2034		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[26]
2035		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2036		ms.StoreMessageInfo(mi)
2037	}
2038}
2039
2040func (x *TestCaseError) String() string {
2041	return protoimpl.X.MessageStringOf(x)
2042}
2043
2044func (*TestCaseError) ProtoMessage() {}
2045
2046func (x *TestCaseError) ProtoReflect() protoreflect.Message {
2047	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[26]
2048	if protoimpl.UnsafeEnabled && x != nil {
2049		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2050		if ms.LoadMessageInfo() == nil {
2051			ms.StoreMessageInfo(mi)
2052		}
2053		return ms
2054	}
2055	return mi.MessageOf(x)
2056}
2057
2058// Deprecated: Use TestCaseError.ProtoReflect.Descriptor instead.
2059func (*TestCaseError) Descriptor() ([]byte, []int) {
2060	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{26}
2061}
2062
2063func (x *TestCaseError) GetTestCase() *TestCase {
2064	if x != nil {
2065		return x.TestCase
2066	}
2067	return nil
2068}
2069
2070func (x *TestCaseError) GetStatus() *status.Status {
2071	if x != nil {
2072		return x.Status
2073	}
2074	return nil
2075}
2076
2077// The request message for [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3.TestCases.ExportTestCases].
2078type ExportTestCasesRequest struct {
2079	state         protoimpl.MessageState
2080	sizeCache     protoimpl.SizeCache
2081	unknownFields protoimpl.UnknownFields
2082
2083	// Required. The agent where to export test cases from.
2084	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
2085	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2086	// The destination to export.
2087	//
2088	// Types that are assignable to Destination:
2089	//	*ExportTestCasesRequest_GcsUri
2090	Destination isExportTestCasesRequest_Destination `protobuf_oneof:"destination"`
2091	// The data format of the exported test cases. If not specified, `BLOB` is
2092	// assumed.
2093	DataFormat ExportTestCasesRequest_DataFormat `protobuf:"varint,3,opt,name=data_format,json=dataFormat,proto3,enum=google.cloud.dialogflow.cx.v3.ExportTestCasesRequest_DataFormat" json:"data_format,omitempty"`
2094	// The filter expression used to filter exported test cases, see
2095	// [API Filtering](https://aip.dev/160). The expression is case insensitive
2096	// and supports the following syntax:
2097	//
2098	//   name = <value> [OR name = <value>] ...
2099	//
2100	// For example:
2101	//
2102	// *   "name = t1 OR name = t2" matches the test case with the exact resource
2103	//     name "t1" or "t2".
2104	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
2105}
2106
2107func (x *ExportTestCasesRequest) Reset() {
2108	*x = ExportTestCasesRequest{}
2109	if protoimpl.UnsafeEnabled {
2110		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[27]
2111		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2112		ms.StoreMessageInfo(mi)
2113	}
2114}
2115
2116func (x *ExportTestCasesRequest) String() string {
2117	return protoimpl.X.MessageStringOf(x)
2118}
2119
2120func (*ExportTestCasesRequest) ProtoMessage() {}
2121
2122func (x *ExportTestCasesRequest) ProtoReflect() protoreflect.Message {
2123	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[27]
2124	if protoimpl.UnsafeEnabled && x != nil {
2125		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2126		if ms.LoadMessageInfo() == nil {
2127			ms.StoreMessageInfo(mi)
2128		}
2129		return ms
2130	}
2131	return mi.MessageOf(x)
2132}
2133
2134// Deprecated: Use ExportTestCasesRequest.ProtoReflect.Descriptor instead.
2135func (*ExportTestCasesRequest) Descriptor() ([]byte, []int) {
2136	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{27}
2137}
2138
2139func (x *ExportTestCasesRequest) GetParent() string {
2140	if x != nil {
2141		return x.Parent
2142	}
2143	return ""
2144}
2145
2146func (m *ExportTestCasesRequest) GetDestination() isExportTestCasesRequest_Destination {
2147	if m != nil {
2148		return m.Destination
2149	}
2150	return nil
2151}
2152
2153func (x *ExportTestCasesRequest) GetGcsUri() string {
2154	if x, ok := x.GetDestination().(*ExportTestCasesRequest_GcsUri); ok {
2155		return x.GcsUri
2156	}
2157	return ""
2158}
2159
2160func (x *ExportTestCasesRequest) GetDataFormat() ExportTestCasesRequest_DataFormat {
2161	if x != nil {
2162		return x.DataFormat
2163	}
2164	return ExportTestCasesRequest_DATA_FORMAT_UNSPECIFIED
2165}
2166
2167func (x *ExportTestCasesRequest) GetFilter() string {
2168	if x != nil {
2169		return x.Filter
2170	}
2171	return ""
2172}
2173
2174type isExportTestCasesRequest_Destination interface {
2175	isExportTestCasesRequest_Destination()
2176}
2177
2178type ExportTestCasesRequest_GcsUri struct {
2179	// The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to
2180	// export the test cases to. The format of this URI must be
2181	// `gs://<bucket-name>/<object-name>`. If unspecified, the serialized test
2182	// cases is returned inline.
2183	GcsUri string `protobuf:"bytes,2,opt,name=gcs_uri,json=gcsUri,proto3,oneof"`
2184}
2185
2186func (*ExportTestCasesRequest_GcsUri) isExportTestCasesRequest_Destination() {}
2187
2188// The response message for [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3.TestCases.ExportTestCases].
2189type ExportTestCasesResponse struct {
2190	state         protoimpl.MessageState
2191	sizeCache     protoimpl.SizeCache
2192	unknownFields protoimpl.UnknownFields
2193
2194	// The exported test cases.
2195	//
2196	// Types that are assignable to Destination:
2197	//	*ExportTestCasesResponse_GcsUri
2198	//	*ExportTestCasesResponse_Content
2199	Destination isExportTestCasesResponse_Destination `protobuf_oneof:"destination"`
2200}
2201
2202func (x *ExportTestCasesResponse) Reset() {
2203	*x = ExportTestCasesResponse{}
2204	if protoimpl.UnsafeEnabled {
2205		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[28]
2206		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2207		ms.StoreMessageInfo(mi)
2208	}
2209}
2210
2211func (x *ExportTestCasesResponse) String() string {
2212	return protoimpl.X.MessageStringOf(x)
2213}
2214
2215func (*ExportTestCasesResponse) ProtoMessage() {}
2216
2217func (x *ExportTestCasesResponse) ProtoReflect() protoreflect.Message {
2218	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[28]
2219	if protoimpl.UnsafeEnabled && x != nil {
2220		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2221		if ms.LoadMessageInfo() == nil {
2222			ms.StoreMessageInfo(mi)
2223		}
2224		return ms
2225	}
2226	return mi.MessageOf(x)
2227}
2228
2229// Deprecated: Use ExportTestCasesResponse.ProtoReflect.Descriptor instead.
2230func (*ExportTestCasesResponse) Descriptor() ([]byte, []int) {
2231	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{28}
2232}
2233
2234func (m *ExportTestCasesResponse) GetDestination() isExportTestCasesResponse_Destination {
2235	if m != nil {
2236		return m.Destination
2237	}
2238	return nil
2239}
2240
2241func (x *ExportTestCasesResponse) GetGcsUri() string {
2242	if x, ok := x.GetDestination().(*ExportTestCasesResponse_GcsUri); ok {
2243		return x.GcsUri
2244	}
2245	return ""
2246}
2247
2248func (x *ExportTestCasesResponse) GetContent() []byte {
2249	if x, ok := x.GetDestination().(*ExportTestCasesResponse_Content); ok {
2250		return x.Content
2251	}
2252	return nil
2253}
2254
2255type isExportTestCasesResponse_Destination interface {
2256	isExportTestCasesResponse_Destination()
2257}
2258
2259type ExportTestCasesResponse_GcsUri struct {
2260	// The URI to a file containing the exported test cases. This field is
2261	// populated only if `gcs_uri` is specified in
2262	// [ExportTestCasesRequest][google.cloud.dialogflow.cx.v3.ExportTestCasesRequest].
2263	GcsUri string `protobuf:"bytes,1,opt,name=gcs_uri,json=gcsUri,proto3,oneof"`
2264}
2265
2266type ExportTestCasesResponse_Content struct {
2267	// Uncompressed raw byte content for test cases.
2268	Content []byte `protobuf:"bytes,2,opt,name=content,proto3,oneof"`
2269}
2270
2271func (*ExportTestCasesResponse_GcsUri) isExportTestCasesResponse_Destination() {}
2272
2273func (*ExportTestCasesResponse_Content) isExportTestCasesResponse_Destination() {}
2274
2275// Metadata returned for the [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3.TestCases.ExportTestCases] long running
2276// operation.
2277type ExportTestCasesMetadata struct {
2278	state         protoimpl.MessageState
2279	sizeCache     protoimpl.SizeCache
2280	unknownFields protoimpl.UnknownFields
2281}
2282
2283func (x *ExportTestCasesMetadata) Reset() {
2284	*x = ExportTestCasesMetadata{}
2285	if protoimpl.UnsafeEnabled {
2286		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[29]
2287		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2288		ms.StoreMessageInfo(mi)
2289	}
2290}
2291
2292func (x *ExportTestCasesMetadata) String() string {
2293	return protoimpl.X.MessageStringOf(x)
2294}
2295
2296func (*ExportTestCasesMetadata) ProtoMessage() {}
2297
2298func (x *ExportTestCasesMetadata) ProtoReflect() protoreflect.Message {
2299	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[29]
2300	if protoimpl.UnsafeEnabled && x != nil {
2301		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2302		if ms.LoadMessageInfo() == nil {
2303			ms.StoreMessageInfo(mi)
2304		}
2305		return ms
2306	}
2307	return mi.MessageOf(x)
2308}
2309
2310// Deprecated: Use ExportTestCasesMetadata.ProtoReflect.Descriptor instead.
2311func (*ExportTestCasesMetadata) Descriptor() ([]byte, []int) {
2312	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{29}
2313}
2314
2315// The request message for [TestCases.ListTestCaseResults][google.cloud.dialogflow.cx.v3.TestCases.ListTestCaseResults].
2316type ListTestCaseResultsRequest struct {
2317	state         protoimpl.MessageState
2318	sizeCache     protoimpl.SizeCache
2319	unknownFields protoimpl.UnknownFields
2320
2321	// Required. The test case to list results for.
2322	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/
2323	// testCases/<TestCase ID>`. Specify a `-` as a wildcard for TestCase ID to
2324	// list results across multiple test cases.
2325	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2326	// The maximum number of items to return in a single page. By default 100 and
2327	// at most 1000.
2328	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2329	// The next_page_token value returned from a previous list request.
2330	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2331	// The filter expression used to filter test case results. See
2332	// [API Filtering](https://aip.dev/160).
2333	//
2334	// The expression is case insensitive. Only 'AND' is supported for logical
2335	// operators. The supported syntax is listed below in detail:
2336	//
2337	//   <field> <operator> <value> [AND <field> <operator> <value>] ...
2338	//   [AND latest]
2339	//
2340	// The supported fields and operators are:
2341	// field                 operator
2342	// `environment`         `=`, `IN`  (Use value `draft` for draft environment)
2343	// `test_time`           `>`, `<`
2344	//
2345	// `latest` only returns the latest test result in all results for each test
2346	// case.
2347	//
2348	// Examples:
2349	// *   "environment=draft AND latest" matches the latest test result for each
2350	//     test case in the draft environment.
2351	// *   "environment IN (e1,e2)" matches any test case results with an
2352	//     environment resource name of either "e1" or "e2".
2353	// *   "test_time > 1602540713" matches any test case results with test time
2354	//     later than a unix timestamp in seconds 1602540713.
2355	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
2356}
2357
2358func (x *ListTestCaseResultsRequest) Reset() {
2359	*x = ListTestCaseResultsRequest{}
2360	if protoimpl.UnsafeEnabled {
2361		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[30]
2362		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2363		ms.StoreMessageInfo(mi)
2364	}
2365}
2366
2367func (x *ListTestCaseResultsRequest) String() string {
2368	return protoimpl.X.MessageStringOf(x)
2369}
2370
2371func (*ListTestCaseResultsRequest) ProtoMessage() {}
2372
2373func (x *ListTestCaseResultsRequest) ProtoReflect() protoreflect.Message {
2374	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[30]
2375	if protoimpl.UnsafeEnabled && x != nil {
2376		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2377		if ms.LoadMessageInfo() == nil {
2378			ms.StoreMessageInfo(mi)
2379		}
2380		return ms
2381	}
2382	return mi.MessageOf(x)
2383}
2384
2385// Deprecated: Use ListTestCaseResultsRequest.ProtoReflect.Descriptor instead.
2386func (*ListTestCaseResultsRequest) Descriptor() ([]byte, []int) {
2387	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{30}
2388}
2389
2390func (x *ListTestCaseResultsRequest) GetParent() string {
2391	if x != nil {
2392		return x.Parent
2393	}
2394	return ""
2395}
2396
2397func (x *ListTestCaseResultsRequest) GetPageSize() int32 {
2398	if x != nil {
2399		return x.PageSize
2400	}
2401	return 0
2402}
2403
2404func (x *ListTestCaseResultsRequest) GetPageToken() string {
2405	if x != nil {
2406		return x.PageToken
2407	}
2408	return ""
2409}
2410
2411func (x *ListTestCaseResultsRequest) GetFilter() string {
2412	if x != nil {
2413		return x.Filter
2414	}
2415	return ""
2416}
2417
2418// The response message for [TestCases.ListTestCaseResults][google.cloud.dialogflow.cx.v3.TestCases.ListTestCaseResults].
2419type ListTestCaseResultsResponse struct {
2420	state         protoimpl.MessageState
2421	sizeCache     protoimpl.SizeCache
2422	unknownFields protoimpl.UnknownFields
2423
2424	// The list of test case results.
2425	TestCaseResults []*TestCaseResult `protobuf:"bytes,1,rep,name=test_case_results,json=testCaseResults,proto3" json:"test_case_results,omitempty"`
2426	// Token to retrieve the next page of results, or empty if there are no more
2427	// results in the list.
2428	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2429}
2430
2431func (x *ListTestCaseResultsResponse) Reset() {
2432	*x = ListTestCaseResultsResponse{}
2433	if protoimpl.UnsafeEnabled {
2434		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[31]
2435		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2436		ms.StoreMessageInfo(mi)
2437	}
2438}
2439
2440func (x *ListTestCaseResultsResponse) String() string {
2441	return protoimpl.X.MessageStringOf(x)
2442}
2443
2444func (*ListTestCaseResultsResponse) ProtoMessage() {}
2445
2446func (x *ListTestCaseResultsResponse) ProtoReflect() protoreflect.Message {
2447	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[31]
2448	if protoimpl.UnsafeEnabled && x != nil {
2449		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2450		if ms.LoadMessageInfo() == nil {
2451			ms.StoreMessageInfo(mi)
2452		}
2453		return ms
2454	}
2455	return mi.MessageOf(x)
2456}
2457
2458// Deprecated: Use ListTestCaseResultsResponse.ProtoReflect.Descriptor instead.
2459func (*ListTestCaseResultsResponse) Descriptor() ([]byte, []int) {
2460	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{31}
2461}
2462
2463func (x *ListTestCaseResultsResponse) GetTestCaseResults() []*TestCaseResult {
2464	if x != nil {
2465		return x.TestCaseResults
2466	}
2467	return nil
2468}
2469
2470func (x *ListTestCaseResultsResponse) GetNextPageToken() string {
2471	if x != nil {
2472		return x.NextPageToken
2473	}
2474	return ""
2475}
2476
2477// The request message for [TestCases.GetTestCaseResult][google.cloud.dialogflow.cx.v3.TestCases.GetTestCaseResult].
2478type GetTestCaseResultRequest struct {
2479	state         protoimpl.MessageState
2480	sizeCache     protoimpl.SizeCache
2481	unknownFields protoimpl.UnknownFields
2482
2483	// Required. The name of the testcase.
2484	// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
2485	// ID>/testCases/<TestCase ID>/results/<TestCaseResult ID>`.
2486	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2487}
2488
2489func (x *GetTestCaseResultRequest) Reset() {
2490	*x = GetTestCaseResultRequest{}
2491	if protoimpl.UnsafeEnabled {
2492		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[32]
2493		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2494		ms.StoreMessageInfo(mi)
2495	}
2496}
2497
2498func (x *GetTestCaseResultRequest) String() string {
2499	return protoimpl.X.MessageStringOf(x)
2500}
2501
2502func (*GetTestCaseResultRequest) ProtoMessage() {}
2503
2504func (x *GetTestCaseResultRequest) ProtoReflect() protoreflect.Message {
2505	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[32]
2506	if protoimpl.UnsafeEnabled && x != nil {
2507		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2508		if ms.LoadMessageInfo() == nil {
2509			ms.StoreMessageInfo(mi)
2510		}
2511		return ms
2512	}
2513	return mi.MessageOf(x)
2514}
2515
2516// Deprecated: Use GetTestCaseResultRequest.ProtoReflect.Descriptor instead.
2517func (*GetTestCaseResultRequest) Descriptor() ([]byte, []int) {
2518	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{32}
2519}
2520
2521func (x *GetTestCaseResultRequest) GetName() string {
2522	if x != nil {
2523		return x.Name
2524	}
2525	return ""
2526}
2527
2528// The input from the human user.
2529type ConversationTurn_UserInput struct {
2530	state         protoimpl.MessageState
2531	sizeCache     protoimpl.SizeCache
2532	unknownFields protoimpl.UnknownFields
2533
2534	// Supports [text input][google.cloud.dialogflow.cx.v3.QueryInput.text], [event input][google.cloud.dialogflow.cx.v3.QueryInput.event],
2535	// [dtmf input][google.cloud.dialogflow.cx.v3.QueryInput.dtmf] in the test case.
2536	Input *QueryInput `protobuf:"bytes,5,opt,name=input,proto3" json:"input,omitempty"`
2537	// Parameters that need to be injected into the conversation during intent
2538	// detection.
2539	InjectedParameters *structpb.Struct `protobuf:"bytes,2,opt,name=injected_parameters,json=injectedParameters,proto3" json:"injected_parameters,omitempty"`
2540	// If webhooks should be allowed to trigger in response to the user
2541	// utterance. Often if parameters are injected, webhooks should not be
2542	// enabled.
2543	IsWebhookEnabled bool `protobuf:"varint,3,opt,name=is_webhook_enabled,json=isWebhookEnabled,proto3" json:"is_webhook_enabled,omitempty"`
2544	// Whether sentiment analysis is enabled.
2545	EnableSentimentAnalysis bool `protobuf:"varint,7,opt,name=enable_sentiment_analysis,json=enableSentimentAnalysis,proto3" json:"enable_sentiment_analysis,omitempty"`
2546}
2547
2548func (x *ConversationTurn_UserInput) Reset() {
2549	*x = ConversationTurn_UserInput{}
2550	if protoimpl.UnsafeEnabled {
2551		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[33]
2552		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2553		ms.StoreMessageInfo(mi)
2554	}
2555}
2556
2557func (x *ConversationTurn_UserInput) String() string {
2558	return protoimpl.X.MessageStringOf(x)
2559}
2560
2561func (*ConversationTurn_UserInput) ProtoMessage() {}
2562
2563func (x *ConversationTurn_UserInput) ProtoReflect() protoreflect.Message {
2564	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[33]
2565	if protoimpl.UnsafeEnabled && x != nil {
2566		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2567		if ms.LoadMessageInfo() == nil {
2568			ms.StoreMessageInfo(mi)
2569		}
2570		return ms
2571	}
2572	return mi.MessageOf(x)
2573}
2574
2575// Deprecated: Use ConversationTurn_UserInput.ProtoReflect.Descriptor instead.
2576func (*ConversationTurn_UserInput) Descriptor() ([]byte, []int) {
2577	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{3, 0}
2578}
2579
2580func (x *ConversationTurn_UserInput) GetInput() *QueryInput {
2581	if x != nil {
2582		return x.Input
2583	}
2584	return nil
2585}
2586
2587func (x *ConversationTurn_UserInput) GetInjectedParameters() *structpb.Struct {
2588	if x != nil {
2589		return x.InjectedParameters
2590	}
2591	return nil
2592}
2593
2594func (x *ConversationTurn_UserInput) GetIsWebhookEnabled() bool {
2595	if x != nil {
2596		return x.IsWebhookEnabled
2597	}
2598	return false
2599}
2600
2601func (x *ConversationTurn_UserInput) GetEnableSentimentAnalysis() bool {
2602	if x != nil {
2603		return x.EnableSentimentAnalysis
2604	}
2605	return false
2606}
2607
2608// The output from the virtual agent.
2609type ConversationTurn_VirtualAgentOutput struct {
2610	state         protoimpl.MessageState
2611	sizeCache     protoimpl.SizeCache
2612	unknownFields protoimpl.UnknownFields
2613
2614	// The session parameters available to the bot at this point.
2615	SessionParameters *structpb.Struct `protobuf:"bytes,4,opt,name=session_parameters,json=sessionParameters,proto3" json:"session_parameters,omitempty"`
2616	// Output only. If this is part of a [result conversation
2617	// turn][TestCaseResult.conversation_turns], the list of differences
2618	// between the original run and the replay for this output, if any.
2619	Differences []*TestRunDifference `protobuf:"bytes,5,rep,name=differences,proto3" json:"differences,omitempty"`
2620	// Required. Input only. The diagnostic
2621	// [info][Session.DetectIntentResponse.QueryResult.diagnostic_info]
2622	// output for the turn. Required to calculate the testing coverage.
2623	DiagnosticInfo *structpb.Struct `protobuf:"bytes,6,opt,name=diagnostic_info,json=diagnosticInfo,proto3" json:"diagnostic_info,omitempty"`
2624	// The [Intent][google.cloud.dialogflow.cx.v3.Intent] that triggered the response. Only name and displayName
2625	// will be set.
2626	TriggeredIntent *Intent `protobuf:"bytes,7,opt,name=triggered_intent,json=triggeredIntent,proto3" json:"triggered_intent,omitempty"`
2627	// The [Page][google.cloud.dialogflow.cx.v3.Page] on which the utterance was spoken. Only name and displayName
2628	// will be set.
2629	CurrentPage *Page `protobuf:"bytes,8,opt,name=current_page,json=currentPage,proto3" json:"current_page,omitempty"`
2630	// The [text][google.cloud.dialogflow.cx.v3.ResponseMessage.Text] responses from the agent for the turn.
2631	TextResponses []*ResponseMessage_Text `protobuf:"bytes,9,rep,name=text_responses,json=textResponses,proto3" json:"text_responses,omitempty"`
2632	// Response error from the agent in the test result. If set, other output
2633	// is empty.
2634	Status *status.Status `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"`
2635}
2636
2637func (x *ConversationTurn_VirtualAgentOutput) Reset() {
2638	*x = ConversationTurn_VirtualAgentOutput{}
2639	if protoimpl.UnsafeEnabled {
2640		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[34]
2641		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2642		ms.StoreMessageInfo(mi)
2643	}
2644}
2645
2646func (x *ConversationTurn_VirtualAgentOutput) String() string {
2647	return protoimpl.X.MessageStringOf(x)
2648}
2649
2650func (*ConversationTurn_VirtualAgentOutput) ProtoMessage() {}
2651
2652func (x *ConversationTurn_VirtualAgentOutput) ProtoReflect() protoreflect.Message {
2653	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[34]
2654	if protoimpl.UnsafeEnabled && x != nil {
2655		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2656		if ms.LoadMessageInfo() == nil {
2657			ms.StoreMessageInfo(mi)
2658		}
2659		return ms
2660	}
2661	return mi.MessageOf(x)
2662}
2663
2664// Deprecated: Use ConversationTurn_VirtualAgentOutput.ProtoReflect.Descriptor instead.
2665func (*ConversationTurn_VirtualAgentOutput) Descriptor() ([]byte, []int) {
2666	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{3, 1}
2667}
2668
2669func (x *ConversationTurn_VirtualAgentOutput) GetSessionParameters() *structpb.Struct {
2670	if x != nil {
2671		return x.SessionParameters
2672	}
2673	return nil
2674}
2675
2676func (x *ConversationTurn_VirtualAgentOutput) GetDifferences() []*TestRunDifference {
2677	if x != nil {
2678		return x.Differences
2679	}
2680	return nil
2681}
2682
2683func (x *ConversationTurn_VirtualAgentOutput) GetDiagnosticInfo() *structpb.Struct {
2684	if x != nil {
2685		return x.DiagnosticInfo
2686	}
2687	return nil
2688}
2689
2690func (x *ConversationTurn_VirtualAgentOutput) GetTriggeredIntent() *Intent {
2691	if x != nil {
2692		return x.TriggeredIntent
2693	}
2694	return nil
2695}
2696
2697func (x *ConversationTurn_VirtualAgentOutput) GetCurrentPage() *Page {
2698	if x != nil {
2699		return x.CurrentPage
2700	}
2701	return nil
2702}
2703
2704func (x *ConversationTurn_VirtualAgentOutput) GetTextResponses() []*ResponseMessage_Text {
2705	if x != nil {
2706		return x.TextResponses
2707	}
2708	return nil
2709}
2710
2711func (x *ConversationTurn_VirtualAgentOutput) GetStatus() *status.Status {
2712	if x != nil {
2713		return x.Status
2714	}
2715	return nil
2716}
2717
2718// The source or target of a transition.
2719type TransitionCoverage_TransitionNode struct {
2720	state         protoimpl.MessageState
2721	sizeCache     protoimpl.SizeCache
2722	unknownFields protoimpl.UnknownFields
2723
2724	// A TransitionNode can be either a page or a flow.
2725	//
2726	// Types that are assignable to Kind:
2727	//	*TransitionCoverage_TransitionNode_Page
2728	//	*TransitionCoverage_TransitionNode_Flow
2729	Kind isTransitionCoverage_TransitionNode_Kind `protobuf_oneof:"kind"`
2730}
2731
2732func (x *TransitionCoverage_TransitionNode) Reset() {
2733	*x = TransitionCoverage_TransitionNode{}
2734	if protoimpl.UnsafeEnabled {
2735		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[35]
2736		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2737		ms.StoreMessageInfo(mi)
2738	}
2739}
2740
2741func (x *TransitionCoverage_TransitionNode) String() string {
2742	return protoimpl.X.MessageStringOf(x)
2743}
2744
2745func (*TransitionCoverage_TransitionNode) ProtoMessage() {}
2746
2747func (x *TransitionCoverage_TransitionNode) ProtoReflect() protoreflect.Message {
2748	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[35]
2749	if protoimpl.UnsafeEnabled && x != nil {
2750		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2751		if ms.LoadMessageInfo() == nil {
2752			ms.StoreMessageInfo(mi)
2753		}
2754		return ms
2755	}
2756	return mi.MessageOf(x)
2757}
2758
2759// Deprecated: Use TransitionCoverage_TransitionNode.ProtoReflect.Descriptor instead.
2760func (*TransitionCoverage_TransitionNode) Descriptor() ([]byte, []int) {
2761	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{5, 0}
2762}
2763
2764func (m *TransitionCoverage_TransitionNode) GetKind() isTransitionCoverage_TransitionNode_Kind {
2765	if m != nil {
2766		return m.Kind
2767	}
2768	return nil
2769}
2770
2771func (x *TransitionCoverage_TransitionNode) GetPage() *Page {
2772	if x, ok := x.GetKind().(*TransitionCoverage_TransitionNode_Page); ok {
2773		return x.Page
2774	}
2775	return nil
2776}
2777
2778func (x *TransitionCoverage_TransitionNode) GetFlow() *Flow {
2779	if x, ok := x.GetKind().(*TransitionCoverage_TransitionNode_Flow); ok {
2780		return x.Flow
2781	}
2782	return nil
2783}
2784
2785type isTransitionCoverage_TransitionNode_Kind interface {
2786	isTransitionCoverage_TransitionNode_Kind()
2787}
2788
2789type TransitionCoverage_TransitionNode_Page struct {
2790	// Indicates a transition to a [Page][google.cloud.dialogflow.cx.v3.Page]. Only some fields such as name and
2791	// displayname will be set.
2792	Page *Page `protobuf:"bytes,1,opt,name=page,proto3,oneof"`
2793}
2794
2795type TransitionCoverage_TransitionNode_Flow struct {
2796	// Indicates a transition to a [Flow][google.cloud.dialogflow.cx.v3.Flow]. Only some fields such as name and
2797	// displayname will be set.
2798	Flow *Flow `protobuf:"bytes,2,opt,name=flow,proto3,oneof"`
2799}
2800
2801func (*TransitionCoverage_TransitionNode_Page) isTransitionCoverage_TransitionNode_Kind() {}
2802
2803func (*TransitionCoverage_TransitionNode_Flow) isTransitionCoverage_TransitionNode_Kind() {}
2804
2805// A transition in a page.
2806type TransitionCoverage_Transition struct {
2807	state         protoimpl.MessageState
2808	sizeCache     protoimpl.SizeCache
2809	unknownFields protoimpl.UnknownFields
2810
2811	// The start node of a transition.
2812	Source *TransitionCoverage_TransitionNode `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
2813	// The index of a transition in the transition list. Starting from 0.
2814	Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
2815	// The end node of a transition.
2816	Target *TransitionCoverage_TransitionNode `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
2817	// Whether or not the transition is covered by at least one of the
2818	// agent's test cases.
2819	Covered bool `protobuf:"varint,3,opt,name=covered,proto3" json:"covered,omitempty"`
2820	// The detailed transition.
2821	//
2822	// Types that are assignable to Detail:
2823	//	*TransitionCoverage_Transition_TransitionRoute
2824	//	*TransitionCoverage_Transition_EventHandler
2825	Detail isTransitionCoverage_Transition_Detail `protobuf_oneof:"detail"`
2826}
2827
2828func (x *TransitionCoverage_Transition) Reset() {
2829	*x = TransitionCoverage_Transition{}
2830	if protoimpl.UnsafeEnabled {
2831		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[36]
2832		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2833		ms.StoreMessageInfo(mi)
2834	}
2835}
2836
2837func (x *TransitionCoverage_Transition) String() string {
2838	return protoimpl.X.MessageStringOf(x)
2839}
2840
2841func (*TransitionCoverage_Transition) ProtoMessage() {}
2842
2843func (x *TransitionCoverage_Transition) ProtoReflect() protoreflect.Message {
2844	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[36]
2845	if protoimpl.UnsafeEnabled && x != nil {
2846		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2847		if ms.LoadMessageInfo() == nil {
2848			ms.StoreMessageInfo(mi)
2849		}
2850		return ms
2851	}
2852	return mi.MessageOf(x)
2853}
2854
2855// Deprecated: Use TransitionCoverage_Transition.ProtoReflect.Descriptor instead.
2856func (*TransitionCoverage_Transition) Descriptor() ([]byte, []int) {
2857	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{5, 1}
2858}
2859
2860func (x *TransitionCoverage_Transition) GetSource() *TransitionCoverage_TransitionNode {
2861	if x != nil {
2862		return x.Source
2863	}
2864	return nil
2865}
2866
2867func (x *TransitionCoverage_Transition) GetIndex() int32 {
2868	if x != nil {
2869		return x.Index
2870	}
2871	return 0
2872}
2873
2874func (x *TransitionCoverage_Transition) GetTarget() *TransitionCoverage_TransitionNode {
2875	if x != nil {
2876		return x.Target
2877	}
2878	return nil
2879}
2880
2881func (x *TransitionCoverage_Transition) GetCovered() bool {
2882	if x != nil {
2883		return x.Covered
2884	}
2885	return false
2886}
2887
2888func (m *TransitionCoverage_Transition) GetDetail() isTransitionCoverage_Transition_Detail {
2889	if m != nil {
2890		return m.Detail
2891	}
2892	return nil
2893}
2894
2895func (x *TransitionCoverage_Transition) GetTransitionRoute() *TransitionRoute {
2896	if x, ok := x.GetDetail().(*TransitionCoverage_Transition_TransitionRoute); ok {
2897		return x.TransitionRoute
2898	}
2899	return nil
2900}
2901
2902func (x *TransitionCoverage_Transition) GetEventHandler() *EventHandler {
2903	if x, ok := x.GetDetail().(*TransitionCoverage_Transition_EventHandler); ok {
2904		return x.EventHandler
2905	}
2906	return nil
2907}
2908
2909type isTransitionCoverage_Transition_Detail interface {
2910	isTransitionCoverage_Transition_Detail()
2911}
2912
2913type TransitionCoverage_Transition_TransitionRoute struct {
2914	// Intent route or condition route.
2915	TransitionRoute *TransitionRoute `protobuf:"bytes,5,opt,name=transition_route,json=transitionRoute,proto3,oneof"`
2916}
2917
2918type TransitionCoverage_Transition_EventHandler struct {
2919	// Event handler.
2920	EventHandler *EventHandler `protobuf:"bytes,6,opt,name=event_handler,json=eventHandler,proto3,oneof"`
2921}
2922
2923func (*TransitionCoverage_Transition_TransitionRoute) isTransitionCoverage_Transition_Detail() {}
2924
2925func (*TransitionCoverage_Transition_EventHandler) isTransitionCoverage_Transition_Detail() {}
2926
2927// Coverage result message for one transition route group.
2928type TransitionRouteGroupCoverage_Coverage struct {
2929	state         protoimpl.MessageState
2930	sizeCache     protoimpl.SizeCache
2931	unknownFields protoimpl.UnknownFields
2932
2933	// Transition route group metadata. Only name and displayName will be set.
2934	RouteGroup *TransitionRouteGroup `protobuf:"bytes,1,opt,name=route_group,json=routeGroup,proto3" json:"route_group,omitempty"`
2935	// The list of transition routes and coverage in the transition route group.
2936	Transitions []*TransitionRouteGroupCoverage_Coverage_Transition `protobuf:"bytes,2,rep,name=transitions,proto3" json:"transitions,omitempty"`
2937	// The percent of transition routes in the transition route group that are
2938	// covered.
2939	CoverageScore float32 `protobuf:"fixed32,3,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"`
2940}
2941
2942func (x *TransitionRouteGroupCoverage_Coverage) Reset() {
2943	*x = TransitionRouteGroupCoverage_Coverage{}
2944	if protoimpl.UnsafeEnabled {
2945		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[37]
2946		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2947		ms.StoreMessageInfo(mi)
2948	}
2949}
2950
2951func (x *TransitionRouteGroupCoverage_Coverage) String() string {
2952	return protoimpl.X.MessageStringOf(x)
2953}
2954
2955func (*TransitionRouteGroupCoverage_Coverage) ProtoMessage() {}
2956
2957func (x *TransitionRouteGroupCoverage_Coverage) ProtoReflect() protoreflect.Message {
2958	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[37]
2959	if protoimpl.UnsafeEnabled && x != nil {
2960		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2961		if ms.LoadMessageInfo() == nil {
2962			ms.StoreMessageInfo(mi)
2963		}
2964		return ms
2965	}
2966	return mi.MessageOf(x)
2967}
2968
2969// Deprecated: Use TransitionRouteGroupCoverage_Coverage.ProtoReflect.Descriptor instead.
2970func (*TransitionRouteGroupCoverage_Coverage) Descriptor() ([]byte, []int) {
2971	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{6, 0}
2972}
2973
2974func (x *TransitionRouteGroupCoverage_Coverage) GetRouteGroup() *TransitionRouteGroup {
2975	if x != nil {
2976		return x.RouteGroup
2977	}
2978	return nil
2979}
2980
2981func (x *TransitionRouteGroupCoverage_Coverage) GetTransitions() []*TransitionRouteGroupCoverage_Coverage_Transition {
2982	if x != nil {
2983		return x.Transitions
2984	}
2985	return nil
2986}
2987
2988func (x *TransitionRouteGroupCoverage_Coverage) GetCoverageScore() float32 {
2989	if x != nil {
2990		return x.CoverageScore
2991	}
2992	return 0
2993}
2994
2995// A transition coverage in a transition route group.
2996type TransitionRouteGroupCoverage_Coverage_Transition struct {
2997	state         protoimpl.MessageState
2998	sizeCache     protoimpl.SizeCache
2999	unknownFields protoimpl.UnknownFields
3000
3001	// Intent route or condition route.
3002	TransitionRoute *TransitionRoute `protobuf:"bytes,1,opt,name=transition_route,json=transitionRoute,proto3" json:"transition_route,omitempty"`
3003	// Whether or not the transition route is covered by at least one of the
3004	// agent's test cases.
3005	Covered bool `protobuf:"varint,2,opt,name=covered,proto3" json:"covered,omitempty"`
3006}
3007
3008func (x *TransitionRouteGroupCoverage_Coverage_Transition) Reset() {
3009	*x = TransitionRouteGroupCoverage_Coverage_Transition{}
3010	if protoimpl.UnsafeEnabled {
3011		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[38]
3012		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3013		ms.StoreMessageInfo(mi)
3014	}
3015}
3016
3017func (x *TransitionRouteGroupCoverage_Coverage_Transition) String() string {
3018	return protoimpl.X.MessageStringOf(x)
3019}
3020
3021func (*TransitionRouteGroupCoverage_Coverage_Transition) ProtoMessage() {}
3022
3023func (x *TransitionRouteGroupCoverage_Coverage_Transition) ProtoReflect() protoreflect.Message {
3024	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[38]
3025	if protoimpl.UnsafeEnabled && x != nil {
3026		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3027		if ms.LoadMessageInfo() == nil {
3028			ms.StoreMessageInfo(mi)
3029		}
3030		return ms
3031	}
3032	return mi.MessageOf(x)
3033}
3034
3035// Deprecated: Use TransitionRouteGroupCoverage_Coverage_Transition.ProtoReflect.Descriptor instead.
3036func (*TransitionRouteGroupCoverage_Coverage_Transition) Descriptor() ([]byte, []int) {
3037	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{6, 0, 0}
3038}
3039
3040func (x *TransitionRouteGroupCoverage_Coverage_Transition) GetTransitionRoute() *TransitionRoute {
3041	if x != nil {
3042		return x.TransitionRoute
3043	}
3044	return nil
3045}
3046
3047func (x *TransitionRouteGroupCoverage_Coverage_Transition) GetCovered() bool {
3048	if x != nil {
3049		return x.Covered
3050	}
3051	return false
3052}
3053
3054// The agent's intent.
3055type IntentCoverage_Intent struct {
3056	state         protoimpl.MessageState
3057	sizeCache     protoimpl.SizeCache
3058	unknownFields protoimpl.UnknownFields
3059
3060	// The intent full resource name
3061	Intent string `protobuf:"bytes,1,opt,name=intent,proto3" json:"intent,omitempty"`
3062	// Whether or not the intent is covered by at least one of the agent's
3063	// test cases.
3064	Covered bool `protobuf:"varint,2,opt,name=covered,proto3" json:"covered,omitempty"`
3065}
3066
3067func (x *IntentCoverage_Intent) Reset() {
3068	*x = IntentCoverage_Intent{}
3069	if protoimpl.UnsafeEnabled {
3070		mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[39]
3071		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3072		ms.StoreMessageInfo(mi)
3073	}
3074}
3075
3076func (x *IntentCoverage_Intent) String() string {
3077	return protoimpl.X.MessageStringOf(x)
3078}
3079
3080func (*IntentCoverage_Intent) ProtoMessage() {}
3081
3082func (x *IntentCoverage_Intent) ProtoReflect() protoreflect.Message {
3083	mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[39]
3084	if protoimpl.UnsafeEnabled && x != nil {
3085		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3086		if ms.LoadMessageInfo() == nil {
3087			ms.StoreMessageInfo(mi)
3088		}
3089		return ms
3090	}
3091	return mi.MessageOf(x)
3092}
3093
3094// Deprecated: Use IntentCoverage_Intent.ProtoReflect.Descriptor instead.
3095func (*IntentCoverage_Intent) Descriptor() ([]byte, []int) {
3096	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{7, 0}
3097}
3098
3099func (x *IntentCoverage_Intent) GetIntent() string {
3100	if x != nil {
3101		return x.Intent
3102	}
3103	return ""
3104}
3105
3106func (x *IntentCoverage_Intent) GetCovered() bool {
3107	if x != nil {
3108		return x.Covered
3109	}
3110	return false
3111}
3112
3113var File_google_cloud_dialogflow_cx_v3_test_case_proto protoreflect.FileDescriptor
3114
3115var file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDesc = []byte{
3116	0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,
3117	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f,
3118	0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
3119	0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3120	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x1a, 0x1c,
3121	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
3122	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f,
3123	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
3124	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
3125	0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,
3126	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
3127	0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3128	0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
3129	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33,
3130	0x2f, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f,
3131	0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3132	0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x6e,
3133	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
3134	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3135	0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3136	0x6f, 0x1a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
3137	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33,
3138	0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
3139	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
3140	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3141	0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
3142	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f,
3143	0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78,
3144	0x2f, 0x76, 0x33, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72,
3145	0x6f, 0x75, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3146	0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e,
3147	0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
3148	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
3149	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f,
3150	0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3151	0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70,
3152	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
3153	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f,
3154	0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3155	0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
3156	0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f,
3157	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x04, 0x0a,
3158	0x08, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
3159	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a,
3160	0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67,
3161	0x73, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
3162	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69,
3163	0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74,
3164	0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12,
3165	0x4a, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d,
3166	0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3167	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
3168	0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
3169	0x0a, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x70, 0x0a, 0x1c, 0x74,
3170	0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73,
3171	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
3172	0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3173	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3174	0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75,
3175	0x72, 0x6e, 0x52, 0x19, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x76,
3176	0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x73, 0x12, 0x44, 0x0a,
3177	0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a,
3178	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
3179	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
3180	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
3181	0x69, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x65, 0x73, 0x74,
3182	0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
3183	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
3184	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65,
3185	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x6c, 0x61,
3186	0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3a, 0x75, 0xea, 0x41,
3187	0x72, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f,
3188	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73,
3189	0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x4c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
3190	0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3191	0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61,
3192	0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x74, 0x65,
3193	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61,
3194	0x73, 0x65, 0x7d, 0x22, 0xe7, 0x03, 0x0a, 0x0e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3195	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
3196	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x65, 0x6e,
3197	0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
3198	0x2a, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3199	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3200	0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76,
3201	0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x76,
3202	0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x03,
3203	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3204	0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,
3205	0x78, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
3206	0x6e, 0x54, 0x75, 0x72, 0x6e, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74,
3207	0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74,
3208	0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e,
3209	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,
3210	0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65,
3211	0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65,
3212	0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d,
3213	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3214	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
3215	0x61, 0x6d, 0x70, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x3a, 0x8d, 0x01,
3216	0xea, 0x41, 0x89, 0x01, 0x0a, 0x28, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3217	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3218	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5d,
3219	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
3220	0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f,
3221	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b,
3222	0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,
3223	0x2f, 0x7b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x7d, 0x2f, 0x72, 0x65, 0x73,
3224	0x75, 0x6c, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x7d, 0x22, 0x76, 0x0a,
3225	0x0a, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x74,
3226	0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
3227	0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69,
3228	0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x37, 0x0a, 0x04,
3229	0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xfa, 0x41, 0x20, 0x0a,
3230	0x1e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3231	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6c, 0x6f, 0x77, 0x52,
3232	0x04, 0x66, 0x6c, 0x6f, 0x77, 0x22, 0x89, 0x08, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72,
3233	0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x12, 0x58, 0x0a, 0x0a, 0x75, 0x73,
3234	0x65, 0x72, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39,
3235	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3236	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x43,
3237	0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x2e,
3238	0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49,
3239	0x6e, 0x70, 0x75, 0x74, 0x12, 0x74, 0x0a, 0x14, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f,
3240	0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01,
3241	0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3242	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3243	0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
3244	0x75, 0x72, 0x6e, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74,
3245	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x12, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41,
3246	0x67, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x1a, 0x80, 0x02, 0x0a, 0x09, 0x55,
3247	0x73, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75,
3248	0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3249	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3250	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70,
3251	0x75, 0x74, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x13, 0x69, 0x6e, 0x6a,
3252	0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
3253	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3254	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52,
3255	0x12, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
3256	0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f,
3257	0x6b, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
3258	0x10, 0x69, 0x73, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
3259	0x64, 0x12, 0x3a, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x74,
3260	0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x07,
3261	0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x74,
3262	0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x1a, 0xa1, 0x04,
3263	0x0a, 0x12, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4f, 0x75,
3264	0x74, 0x70, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x12, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
3265	0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
3266	0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
3267	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x11, 0x73, 0x65, 0x73, 0x73, 0x69,
3268	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x0b,
3269	0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
3270	0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3271	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3272	0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65,
3273	0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72,
3274	0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x0f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73,
3275	0x74, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
3276	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
3277	0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x04, 0x52,
3278	0x0e, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12,
3279	0x50, 0x0a, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74,
3280	0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3281	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3282	0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74,
3283	0x52, 0x0f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x6e,
3284	0x74, 0x12, 0x46, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x67,
3285	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3286	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3287	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x63, 0x75,
3288	0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x67, 0x65, 0x12, 0x5a, 0x0a, 0x0e, 0x74, 0x65, 0x78,
3289	0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28,
3290	0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3291	0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,
3292	0x33, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
3293	0x65, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x52, 0x0d, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70,
3294	0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
3295	0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72,
3296	0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
3297	0x73, 0x22, 0xe0, 0x01, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x69, 0x66,
3298	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
3299	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3300	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3301	0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x69, 0x66,
3302	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x54, 0x79, 0x70, 0x65,
3303	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
3304	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
3305	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5a, 0x0a, 0x08, 0x44, 0x69, 0x66, 0x66,
3306	0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x54, 0x59, 0x50,
3307	0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
3308	0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x50,
3309	0x41, 0x47, 0x45, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54,
3310	0x45, 0x52, 0x53, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x54, 0x54, 0x45, 0x52, 0x41, 0x4e,
3311	0x43, 0x45, 0x10, 0x04, 0x22, 0xda, 0x05, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74,
3312	0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x5e, 0x0a, 0x0b, 0x74,
3313	0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3314	0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3315	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
3316	0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72,
3317	0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b,
3318	0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63,
3319	0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20,
3320	0x01, 0x28, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f,
3321	0x72, 0x65, 0x1a, 0x8e, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f,
3322	0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20,
3323	0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3324	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
3325	0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65,
3326	0x12, 0x39, 0x0a, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
3327	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3328	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x46,
3329	0x6c, 0x6f, 0x77, 0x48, 0x00, 0x52, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x06, 0x0a, 0x04, 0x6b,
3330	0x69, 0x6e, 0x64, 0x1a, 0xab, 0x03, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69,
3331	0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
3332	0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3333	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3334	0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76,
3335	0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
3336	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
3337	0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64,
3338	0x65, 0x78, 0x12, 0x58, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01,
3339	0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3340	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3341	0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76,
3342	0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
3343	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07,
3344	0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63,
3345	0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x12, 0x5b, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69,
3346	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
3347	0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3348	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
3349	0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65,
3350	0x48, 0x00, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f,
3351	0x75, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x6e,
3352	0x64, 0x6c, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
3353	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3354	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74,
3355	0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74,
3356	0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69,
3357	0x6c, 0x22, 0xaa, 0x04, 0x0a, 0x1c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
3358	0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61,
3359	0x67, 0x65, 0x12, 0x62, 0x0a, 0x09, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18,
3360	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3361	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3362	0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
3363	0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61,
3364	0x67, 0x65, 0x2e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x76,
3365	0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61,
3366	0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d,
3367	0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0xfe, 0x02,
3368	0x0a, 0x08, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x54, 0x0a, 0x0b, 0x72, 0x6f,
3369	0x75, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
3370	0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3371	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e,
3372	0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47,
3373	0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
3374	0x12, 0x71, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
3375	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3376	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3377	0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
3378	0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61,
3379	0x67, 0x65, 0x2e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e,
3380	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69,
3381	0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f,
3382	0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x76,
3383	0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x81, 0x01, 0x0a, 0x0a, 0x54,
3384	0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x10, 0x74, 0x72, 0x61,
3385	0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20,
3386	0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3387	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
3388	0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f,
3389	0x75, 0x74, 0x65, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
3390	0x6f, 0x75, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18,
3391	0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x22, 0xea,
3392	0x01, 0x0a, 0x0e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67,
3393	0x65, 0x12, 0x4e, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
3394	0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3395	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3396	0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67,
3397	0x65, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74,
3398	0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63,
3399	0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72,
3400	0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x61, 0x0a, 0x06, 0x49, 0x6e, 0x74, 0x65,
3401	0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
3402	0x28, 0x09, 0x42, 0x25, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3403	0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
3404	0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e,
3405	0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01,
3406	0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x22, 0xa4, 0x02, 0x0a, 0x18,
3407	0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67,
3408	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e,
3409	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a,
3410	0x1f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3411	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74,
3412	0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x5d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
3413	0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3414	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3415	0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43,
3416	0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43,
3417	0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02,
3418	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x6a, 0x0a, 0x0c, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61,
3419	0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x41,
3420	0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
3421	0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10,
3422	0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49,
3423	0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49,
3424	0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50,
3425	0x10, 0x03, 0x22, 0x99, 0x03, 0x0a, 0x19, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65,
3426	0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
3427	0x12, 0x3a, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42,
3428	0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3429	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3430	0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x0f,
3431	0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18,
3432	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3433	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3434	0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x76, 0x65,
3435	0x72, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f,
3436	0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x64, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69,
3437	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20,
3438	0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3439	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
3440	0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
3441	0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69,
3442	0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x6f, 0x0a, 0x14,
3443	0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x76, 0x65,
3444	0x72, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f,
3445	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3446	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,
3447	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43,
3448	0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65,
3449	0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x42, 0x0f, 0x0a,
3450	0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb1,
3451	0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,
3452	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
3453	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12,
3454	0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3455	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43,
3456	0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70,
3457	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
3458	0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65,
3459	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61,
3460	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x54, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18,
3461	0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3462	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3463	0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3464	0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43,
3465	0x61, 0x73, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0x43, 0x0a,
3466	0x0c, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1e, 0x0a,
3467	0x1a, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f,
3468	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a,
3469	0x05, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c,
3470	0x10, 0x02, 0x22, 0x87, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43,
3471	0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0a,
3472	0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3473	0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3474	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
3475	0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x43,
3476	0x61, 0x73, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67,
3477	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e,
3478	0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa3, 0x01, 0x0a,
3479	0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74,
3480	0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06,
3481	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41,
3482	0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3483	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3484	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
3485	0x12, 0x40, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42,
3486	0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,
3487	0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
3488	0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d,
3489	0x65, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73,
3490	0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06,
3491	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41,
3492	0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3493	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3494	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
3495	0x12, 0x49, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20,
3496	0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3497	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
3498	0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41,
3499	0x02, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x15,
3500	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65,
3501	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61,
3502	0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3503	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
3504	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3505	0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3506	0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18,
3507	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
3508	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73,
3509	0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61,
3510	0x73, 0x6b, 0x22, 0x54, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3511	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3512	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22,
3513	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3514	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3515	0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e,
3516	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
3517	0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0,
3518	0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3519	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3520	0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
3521	0x4f, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02,
3522	0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69,
3523	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3524	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
3525	0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
3526	0x22, 0x5c, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,
3527	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c,
3528	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3529	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3530	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3531	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x15,
3532	0x0a, 0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74,
3533	0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xfa, 0x01, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52,
3534	0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
3535	0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
3536	0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c,
3537	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
3538	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06,
3539	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f,
3540	0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x01,
3541	0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3542	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45,
3543	0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69,
3544	0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x5f,
3545	0x63, 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02,
3546	0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3547	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54,
3548	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3549	0x65, 0x73, 0x22, 0x64, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65,
3550	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3551	0x47, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3552	0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3553	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
3554	0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
3555	0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x5d, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63,
3556	0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74,
3557	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18,
3558	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3559	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3560	0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52,
3561	0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74,
3562	0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x44, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61,
3563	0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64,
3564	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3565	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3566	0x65, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73,
3567	0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f,
3568	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
3569	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f,
3570	0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
3571	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
3572	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65,
3573	0x22, 0x9d, 0x01, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43,
3574	0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70,
3575	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02,
3576	0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3577	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54,
3578	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
3579	0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3580	0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f,
3581	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63,
3582	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
3583	0x22, 0x58, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3584	0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x6e,
3585	0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a,
3586	0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3587	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43,
3588	0x61, 0x73, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x5f, 0x0a, 0x17, 0x49, 0x6d,
3589	0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74,
3590	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18,
3591	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3592	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3593	0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x45, 0x72,
3594	0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x0d,
3595	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x44, 0x0a,
3596	0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
3597	0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3598	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
3599	0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x43,
3600	0x61, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20,
3601	0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63,
3602	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22,
3603	0xc0, 0x02, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3604	0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61,
3605	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa,
3606	0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67,
3607	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65,
3608	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x19,
3609	0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48,
3610	0x00, 0x52, 0x06, 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, 0x61, 0x0a, 0x0b, 0x64, 0x61, 0x74,
3611	0x61, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40,
3612	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3613	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x45,
3614	0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65,
3615	0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74,
3616	0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06,
3617	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69,
3618	0x6c, 0x74, 0x65, 0x72, 0x22, 0x3d, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d,
3619	0x61, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41,
3620	0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
3621	0x08, 0x0a, 0x04, 0x42, 0x4c, 0x4f, 0x42, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f,
3622	0x4e, 0x10, 0x02, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
3623	0x6f, 0x6e, 0x22, 0x5f, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74,
3624	0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a,
3625	0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
3626	0x52, 0x06, 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74,
3627	0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e,
3628	0x74, 0x65, 0x6e, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
3629	0x69, 0x6f, 0x6e, 0x22, 0x19, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73,
3630	0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xba,
3631	0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,
3632	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a,
3633	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0,
3634	0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3635	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3636	0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
3637	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f,
3638	0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65,
3639	0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
3640	0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f,
3641	0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20,
3642	0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa0, 0x01, 0x0a, 0x1b,
3643	0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75,
3644	0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x74,
3645	0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
3646	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3647	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3648	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,
3649	0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,
3650	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
3651	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
3652	0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x60,
3653	0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73,
3654	0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61,
3655	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a,
3656	0x0a, 0x28, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
3657	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74,
3658	0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3659	0x2a, 0x41, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b,
3660	0x0a, 0x17, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x55, 0x4e,
3661	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50,
3662	0x41, 0x53, 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45,
3663	0x44, 0x10, 0x02, 0x32, 0x99, 0x15, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3664	0x73, 0x12, 0xc3, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3665	0x73, 0x65, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3666	0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,
3667	0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3668	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3669	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
3670	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73,
3671	0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47,
3672	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72,
3673	0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
3674	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74,
3675	0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0xda, 0x41,
3676	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xc2, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63,
3677	0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,
3678	0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3679	0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,
3680	0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74,
3681	0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
3682	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
3683	0x6d, 0x70, 0x74, 0x79, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x42, 0x2f, 0x76,
3684	0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
3685	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
3686	0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43,
3687	0x61, 0x73, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
3688	0x3a, 0x01, 0x2a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb0, 0x01, 0x0a,
3689	0x0b, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x31, 0x2e, 0x67,
3690	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
3691	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x65, 0x74,
3692	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3693	0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3694	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e,
3695	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38,
3696	0x12, 0x36, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
3697	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3698	0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74,
3699	0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
3700	0xcd, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3701	0x73, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3702	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3703	0x76, 0x33, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3704	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3705	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
3706	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3707	0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x22, 0x36, 0x2f, 0x76, 0x33, 0x2f, 0x7b,
3708	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
3709	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67,
3710	0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3711	0x73, 0x3a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0xda, 0x41, 0x10, 0x70,
3712	0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x12,
3713	0xdc, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3714	0x73, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3715	0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,
3716	0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3717	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3718	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,
3719	0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3720	0x65, 0x22, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x32, 0x40, 0x2f, 0x76, 0x33, 0x2f, 0x7b,
3721	0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
3722	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3723	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74,
3724	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x09, 0x74, 0x65, 0x73,
3725	0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0xda, 0x41, 0x15, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61,
3726	0x73, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xd3,
3727	0x01, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x31,
3728	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3729	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x52,
3730	0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3731	0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72,
3732	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3733	0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3a, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x6e,
3734	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
3735	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74,
3736	0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d,
3737	0x3a, 0x72, 0x75, 0x6e, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x2a, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x54,
3738	0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3739	0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61,
3740	0x64, 0x61, 0x74, 0x61, 0x12, 0xf1, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75,
3741	0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f,
3742	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3743	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68,
3744	0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
3745	0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e,
3746	0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
3747	0x6f, 0x6e, 0x22, 0x83, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x22, 0x3f, 0x2f, 0x76, 0x33,
3748	0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
3749	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
3750	0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61,
3751	0x73, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x3a, 0x01, 0x2a, 0xca,
3752	0x41, 0x36, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74,
3753	0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x42,
3754	0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,
3755	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd7, 0x01, 0x0a, 0x11, 0x43, 0x61, 0x6c,
3756	0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x37,
3757	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,
3758	0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x43,
3759	0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65,
3760	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3761	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3762	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74,
3763	0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3764	0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x76, 0x33, 0x2f, 0x7b,
3765	0x61, 0x67, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
3766	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65,
3767	0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,
3768	0x3a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61,
3769	0x67, 0x65, 0x12, 0xe6, 0x01, 0x0a, 0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73,
3770	0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3771	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,
3772	0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73,
3773	0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
3774	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69,
3775	0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0x82, 0xd3,
3776	0xe4, 0x93, 0x02, 0x42, 0x22, 0x3d, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
3777	0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
3778	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f,
3779	0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x69, 0x6d, 0x70,
3780	0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x32, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72,
3781	0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3782	0x73, 0x65, 0x12, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3783	0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe6, 0x01, 0x0a, 0x0f,
3784	0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12,
3785	0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,
3786	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e,
3787	0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52,
3788	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3789	0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72,
3790	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x3d, 0x2f,
3791	0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3792	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3793	0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74,
3794	0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca,
3795	0x41, 0x32, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,
3796	0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x45, 0x78, 0x70,
3797	0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61,
3798	0x64, 0x61, 0x74, 0x61, 0x12, 0xdf, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73,
3799	0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x39, 0x2e, 0x67,
3800	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
3801	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73,
3802	0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
3803	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3804	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,
3805	0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74,
3806	0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
3807	0x6e, 0x73, 0x65, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x76, 0x33,
3808	0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
3809	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
3810	0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,
3811	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0xda, 0x41, 0x06,
3812	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xcc, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x65,
3813	0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x2e, 0x67,
3814	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,
3815	0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x65, 0x74,
3816	0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65,
3817	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3818	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3819	0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65,
3820	0x73, 0x75, 0x6c, 0x74, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x76,
3821	0x33, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
3822	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61,
3823	0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,
3824	0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41,
3825	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x78, 0xca, 0x41, 0x19, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
3826	0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3827	0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x59, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
3828	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3829	0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74,
3830	0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
3831	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3832	0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x42,
3833	0xc1, 0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3834	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
3835	0x63, 0x78, 0x2e, 0x76, 0x33, 0x42, 0x0d, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x50,
3836	0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67,
3837	0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f,
3838	0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c,
3839	0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63,
3840	0x78, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x78, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x02, 0x44, 0x46, 0xaa,
3841	0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44,
3842	0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x78, 0x2e, 0x56, 0x33, 0xea,
3843	0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a,
3844	0x3a, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x3a, 0x43, 0x58, 0x3a,
3845	0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
3846}
3847
3848var (
3849	file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescOnce sync.Once
3850	file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescData = file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDesc
3851)
3852
3853func file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP() []byte {
3854	file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescOnce.Do(func() {
3855		file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescData)
3856	})
3857	return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescData
3858}
3859
3860var file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
3861var file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes = make([]protoimpl.MessageInfo, 40)
3862var file_google_cloud_dialogflow_cx_v3_test_case_proto_goTypes = []interface{}{
3863	(TestResult)(0),                                          // 0: google.cloud.dialogflow.cx.v3.TestResult
3864	(TestRunDifference_DiffType)(0),                          // 1: google.cloud.dialogflow.cx.v3.TestRunDifference.DiffType
3865	(CalculateCoverageRequest_CoverageType)(0),               // 2: google.cloud.dialogflow.cx.v3.CalculateCoverageRequest.CoverageType
3866	(ListTestCasesRequest_TestCaseView)(0),                   // 3: google.cloud.dialogflow.cx.v3.ListTestCasesRequest.TestCaseView
3867	(ExportTestCasesRequest_DataFormat)(0),                   // 4: google.cloud.dialogflow.cx.v3.ExportTestCasesRequest.DataFormat
3868	(*TestCase)(nil),                                         // 5: google.cloud.dialogflow.cx.v3.TestCase
3869	(*TestCaseResult)(nil),                                   // 6: google.cloud.dialogflow.cx.v3.TestCaseResult
3870	(*TestConfig)(nil),                                       // 7: google.cloud.dialogflow.cx.v3.TestConfig
3871	(*ConversationTurn)(nil),                                 // 8: google.cloud.dialogflow.cx.v3.ConversationTurn
3872	(*TestRunDifference)(nil),                                // 9: google.cloud.dialogflow.cx.v3.TestRunDifference
3873	(*TransitionCoverage)(nil),                               // 10: google.cloud.dialogflow.cx.v3.TransitionCoverage
3874	(*TransitionRouteGroupCoverage)(nil),                     // 11: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage
3875	(*IntentCoverage)(nil),                                   // 12: google.cloud.dialogflow.cx.v3.IntentCoverage
3876	(*CalculateCoverageRequest)(nil),                         // 13: google.cloud.dialogflow.cx.v3.CalculateCoverageRequest
3877	(*CalculateCoverageResponse)(nil),                        // 14: google.cloud.dialogflow.cx.v3.CalculateCoverageResponse
3878	(*ListTestCasesRequest)(nil),                             // 15: google.cloud.dialogflow.cx.v3.ListTestCasesRequest
3879	(*ListTestCasesResponse)(nil),                            // 16: google.cloud.dialogflow.cx.v3.ListTestCasesResponse
3880	(*BatchDeleteTestCasesRequest)(nil),                      // 17: google.cloud.dialogflow.cx.v3.BatchDeleteTestCasesRequest
3881	(*CreateTestCaseRequest)(nil),                            // 18: google.cloud.dialogflow.cx.v3.CreateTestCaseRequest
3882	(*UpdateTestCaseRequest)(nil),                            // 19: google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest
3883	(*GetTestCaseRequest)(nil),                               // 20: google.cloud.dialogflow.cx.v3.GetTestCaseRequest
3884	(*RunTestCaseRequest)(nil),                               // 21: google.cloud.dialogflow.cx.v3.RunTestCaseRequest
3885	(*RunTestCaseResponse)(nil),                              // 22: google.cloud.dialogflow.cx.v3.RunTestCaseResponse
3886	(*RunTestCaseMetadata)(nil),                              // 23: google.cloud.dialogflow.cx.v3.RunTestCaseMetadata
3887	(*BatchRunTestCasesRequest)(nil),                         // 24: google.cloud.dialogflow.cx.v3.BatchRunTestCasesRequest
3888	(*BatchRunTestCasesResponse)(nil),                        // 25: google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse
3889	(*BatchRunTestCasesMetadata)(nil),                        // 26: google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata
3890	(*TestError)(nil),                                        // 27: google.cloud.dialogflow.cx.v3.TestError
3891	(*ImportTestCasesRequest)(nil),                           // 28: google.cloud.dialogflow.cx.v3.ImportTestCasesRequest
3892	(*ImportTestCasesResponse)(nil),                          // 29: google.cloud.dialogflow.cx.v3.ImportTestCasesResponse
3893	(*ImportTestCasesMetadata)(nil),                          // 30: google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata
3894	(*TestCaseError)(nil),                                    // 31: google.cloud.dialogflow.cx.v3.TestCaseError
3895	(*ExportTestCasesRequest)(nil),                           // 32: google.cloud.dialogflow.cx.v3.ExportTestCasesRequest
3896	(*ExportTestCasesResponse)(nil),                          // 33: google.cloud.dialogflow.cx.v3.ExportTestCasesResponse
3897	(*ExportTestCasesMetadata)(nil),                          // 34: google.cloud.dialogflow.cx.v3.ExportTestCasesMetadata
3898	(*ListTestCaseResultsRequest)(nil),                       // 35: google.cloud.dialogflow.cx.v3.ListTestCaseResultsRequest
3899	(*ListTestCaseResultsResponse)(nil),                      // 36: google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse
3900	(*GetTestCaseResultRequest)(nil),                         // 37: google.cloud.dialogflow.cx.v3.GetTestCaseResultRequest
3901	(*ConversationTurn_UserInput)(nil),                       // 38: google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput
3902	(*ConversationTurn_VirtualAgentOutput)(nil),              // 39: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput
3903	(*TransitionCoverage_TransitionNode)(nil),                // 40: google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode
3904	(*TransitionCoverage_Transition)(nil),                    // 41: google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition
3905	(*TransitionRouteGroupCoverage_Coverage)(nil),            // 42: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage
3906	(*TransitionRouteGroupCoverage_Coverage_Transition)(nil), // 43: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.Transition
3907	(*IntentCoverage_Intent)(nil),                            // 44: google.cloud.dialogflow.cx.v3.IntentCoverage.Intent
3908	(*timestamppb.Timestamp)(nil),                            // 45: google.protobuf.Timestamp
3909	(*fieldmaskpb.FieldMask)(nil),                            // 46: google.protobuf.FieldMask
3910	(*status.Status)(nil),                                    // 47: google.rpc.Status
3911	(*QueryInput)(nil),                                       // 48: google.cloud.dialogflow.cx.v3.QueryInput
3912	(*structpb.Struct)(nil),                                  // 49: google.protobuf.Struct
3913	(*Intent)(nil),                                           // 50: google.cloud.dialogflow.cx.v3.Intent
3914	(*Page)(nil),                                             // 51: google.cloud.dialogflow.cx.v3.Page
3915	(*ResponseMessage_Text)(nil),                             // 52: google.cloud.dialogflow.cx.v3.ResponseMessage.Text
3916	(*Flow)(nil),                                             // 53: google.cloud.dialogflow.cx.v3.Flow
3917	(*TransitionRoute)(nil),                                  // 54: google.cloud.dialogflow.cx.v3.TransitionRoute
3918	(*EventHandler)(nil),                                     // 55: google.cloud.dialogflow.cx.v3.EventHandler
3919	(*TransitionRouteGroup)(nil),                             // 56: google.cloud.dialogflow.cx.v3.TransitionRouteGroup
3920	(*emptypb.Empty)(nil),                                    // 57: google.protobuf.Empty
3921	(*longrunning.Operation)(nil),                            // 58: google.longrunning.Operation
3922}
3923var file_google_cloud_dialogflow_cx_v3_test_case_proto_depIdxs = []int32{
3924	7,  // 0: google.cloud.dialogflow.cx.v3.TestCase.test_config:type_name -> google.cloud.dialogflow.cx.v3.TestConfig
3925	8,  // 1: google.cloud.dialogflow.cx.v3.TestCase.test_case_conversation_turns:type_name -> google.cloud.dialogflow.cx.v3.ConversationTurn
3926	45, // 2: google.cloud.dialogflow.cx.v3.TestCase.creation_time:type_name -> google.protobuf.Timestamp
3927	6,  // 3: google.cloud.dialogflow.cx.v3.TestCase.last_test_result:type_name -> google.cloud.dialogflow.cx.v3.TestCaseResult
3928	8,  // 4: google.cloud.dialogflow.cx.v3.TestCaseResult.conversation_turns:type_name -> google.cloud.dialogflow.cx.v3.ConversationTurn
3929	0,  // 5: google.cloud.dialogflow.cx.v3.TestCaseResult.test_result:type_name -> google.cloud.dialogflow.cx.v3.TestResult
3930	45, // 6: google.cloud.dialogflow.cx.v3.TestCaseResult.test_time:type_name -> google.protobuf.Timestamp
3931	38, // 7: google.cloud.dialogflow.cx.v3.ConversationTurn.user_input:type_name -> google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput
3932	39, // 8: google.cloud.dialogflow.cx.v3.ConversationTurn.virtual_agent_output:type_name -> google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput
3933	1,  // 9: google.cloud.dialogflow.cx.v3.TestRunDifference.type:type_name -> google.cloud.dialogflow.cx.v3.TestRunDifference.DiffType
3934	41, // 10: google.cloud.dialogflow.cx.v3.TransitionCoverage.transitions:type_name -> google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition
3935	42, // 11: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.coverages:type_name -> google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage
3936	44, // 12: google.cloud.dialogflow.cx.v3.IntentCoverage.intents:type_name -> google.cloud.dialogflow.cx.v3.IntentCoverage.Intent
3937	2,  // 13: google.cloud.dialogflow.cx.v3.CalculateCoverageRequest.type:type_name -> google.cloud.dialogflow.cx.v3.CalculateCoverageRequest.CoverageType
3938	12, // 14: google.cloud.dialogflow.cx.v3.CalculateCoverageResponse.intent_coverage:type_name -> google.cloud.dialogflow.cx.v3.IntentCoverage
3939	10, // 15: google.cloud.dialogflow.cx.v3.CalculateCoverageResponse.transition_coverage:type_name -> google.cloud.dialogflow.cx.v3.TransitionCoverage
3940	11, // 16: google.cloud.dialogflow.cx.v3.CalculateCoverageResponse.route_group_coverage:type_name -> google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage
3941	3,  // 17: google.cloud.dialogflow.cx.v3.ListTestCasesRequest.view:type_name -> google.cloud.dialogflow.cx.v3.ListTestCasesRequest.TestCaseView
3942	5,  // 18: google.cloud.dialogflow.cx.v3.ListTestCasesResponse.test_cases:type_name -> google.cloud.dialogflow.cx.v3.TestCase
3943	5,  // 19: google.cloud.dialogflow.cx.v3.CreateTestCaseRequest.test_case:type_name -> google.cloud.dialogflow.cx.v3.TestCase
3944	5,  // 20: google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest.test_case:type_name -> google.cloud.dialogflow.cx.v3.TestCase
3945	46, // 21: google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest.update_mask:type_name -> google.protobuf.FieldMask
3946	6,  // 22: google.cloud.dialogflow.cx.v3.RunTestCaseResponse.result:type_name -> google.cloud.dialogflow.cx.v3.TestCaseResult
3947	6,  // 23: google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse.results:type_name -> google.cloud.dialogflow.cx.v3.TestCaseResult
3948	27, // 24: google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata.errors:type_name -> google.cloud.dialogflow.cx.v3.TestError
3949	47, // 25: google.cloud.dialogflow.cx.v3.TestError.status:type_name -> google.rpc.Status
3950	45, // 26: google.cloud.dialogflow.cx.v3.TestError.test_time:type_name -> google.protobuf.Timestamp
3951	31, // 27: google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata.errors:type_name -> google.cloud.dialogflow.cx.v3.TestCaseError
3952	5,  // 28: google.cloud.dialogflow.cx.v3.TestCaseError.test_case:type_name -> google.cloud.dialogflow.cx.v3.TestCase
3953	47, // 29: google.cloud.dialogflow.cx.v3.TestCaseError.status:type_name -> google.rpc.Status
3954	4,  // 30: google.cloud.dialogflow.cx.v3.ExportTestCasesRequest.data_format:type_name -> google.cloud.dialogflow.cx.v3.ExportTestCasesRequest.DataFormat
3955	6,  // 31: google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse.test_case_results:type_name -> google.cloud.dialogflow.cx.v3.TestCaseResult
3956	48, // 32: google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput.input:type_name -> google.cloud.dialogflow.cx.v3.QueryInput
3957	49, // 33: google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput.injected_parameters:type_name -> google.protobuf.Struct
3958	49, // 34: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.session_parameters:type_name -> google.protobuf.Struct
3959	9,  // 35: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.differences:type_name -> google.cloud.dialogflow.cx.v3.TestRunDifference
3960	49, // 36: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.diagnostic_info:type_name -> google.protobuf.Struct
3961	50, // 37: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.triggered_intent:type_name -> google.cloud.dialogflow.cx.v3.Intent
3962	51, // 38: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.current_page:type_name -> google.cloud.dialogflow.cx.v3.Page
3963	52, // 39: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.text_responses:type_name -> google.cloud.dialogflow.cx.v3.ResponseMessage.Text
3964	47, // 40: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.status:type_name -> google.rpc.Status
3965	51, // 41: google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode.page:type_name -> google.cloud.dialogflow.cx.v3.Page
3966	53, // 42: google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode.flow:type_name -> google.cloud.dialogflow.cx.v3.Flow
3967	40, // 43: google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition.source:type_name -> google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode
3968	40, // 44: google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition.target:type_name -> google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode
3969	54, // 45: google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition.transition_route:type_name -> google.cloud.dialogflow.cx.v3.TransitionRoute
3970	55, // 46: google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition.event_handler:type_name -> google.cloud.dialogflow.cx.v3.EventHandler
3971	56, // 47: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.route_group:type_name -> google.cloud.dialogflow.cx.v3.TransitionRouteGroup
3972	43, // 48: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.transitions:type_name -> google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.Transition
3973	54, // 49: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.Transition.transition_route:type_name -> google.cloud.dialogflow.cx.v3.TransitionRoute
3974	15, // 50: google.cloud.dialogflow.cx.v3.TestCases.ListTestCases:input_type -> google.cloud.dialogflow.cx.v3.ListTestCasesRequest
3975	17, // 51: google.cloud.dialogflow.cx.v3.TestCases.BatchDeleteTestCases:input_type -> google.cloud.dialogflow.cx.v3.BatchDeleteTestCasesRequest
3976	20, // 52: google.cloud.dialogflow.cx.v3.TestCases.GetTestCase:input_type -> google.cloud.dialogflow.cx.v3.GetTestCaseRequest
3977	18, // 53: google.cloud.dialogflow.cx.v3.TestCases.CreateTestCase:input_type -> google.cloud.dialogflow.cx.v3.CreateTestCaseRequest
3978	19, // 54: google.cloud.dialogflow.cx.v3.TestCases.UpdateTestCase:input_type -> google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest
3979	21, // 55: google.cloud.dialogflow.cx.v3.TestCases.RunTestCase:input_type -> google.cloud.dialogflow.cx.v3.RunTestCaseRequest
3980	24, // 56: google.cloud.dialogflow.cx.v3.TestCases.BatchRunTestCases:input_type -> google.cloud.dialogflow.cx.v3.BatchRunTestCasesRequest
3981	13, // 57: google.cloud.dialogflow.cx.v3.TestCases.CalculateCoverage:input_type -> google.cloud.dialogflow.cx.v3.CalculateCoverageRequest
3982	28, // 58: google.cloud.dialogflow.cx.v3.TestCases.ImportTestCases:input_type -> google.cloud.dialogflow.cx.v3.ImportTestCasesRequest
3983	32, // 59: google.cloud.dialogflow.cx.v3.TestCases.ExportTestCases:input_type -> google.cloud.dialogflow.cx.v3.ExportTestCasesRequest
3984	35, // 60: google.cloud.dialogflow.cx.v3.TestCases.ListTestCaseResults:input_type -> google.cloud.dialogflow.cx.v3.ListTestCaseResultsRequest
3985	37, // 61: google.cloud.dialogflow.cx.v3.TestCases.GetTestCaseResult:input_type -> google.cloud.dialogflow.cx.v3.GetTestCaseResultRequest
3986	16, // 62: google.cloud.dialogflow.cx.v3.TestCases.ListTestCases:output_type -> google.cloud.dialogflow.cx.v3.ListTestCasesResponse
3987	57, // 63: google.cloud.dialogflow.cx.v3.TestCases.BatchDeleteTestCases:output_type -> google.protobuf.Empty
3988	5,  // 64: google.cloud.dialogflow.cx.v3.TestCases.GetTestCase:output_type -> google.cloud.dialogflow.cx.v3.TestCase
3989	5,  // 65: google.cloud.dialogflow.cx.v3.TestCases.CreateTestCase:output_type -> google.cloud.dialogflow.cx.v3.TestCase
3990	5,  // 66: google.cloud.dialogflow.cx.v3.TestCases.UpdateTestCase:output_type -> google.cloud.dialogflow.cx.v3.TestCase
3991	58, // 67: google.cloud.dialogflow.cx.v3.TestCases.RunTestCase:output_type -> google.longrunning.Operation
3992	58, // 68: google.cloud.dialogflow.cx.v3.TestCases.BatchRunTestCases:output_type -> google.longrunning.Operation
3993	14, // 69: google.cloud.dialogflow.cx.v3.TestCases.CalculateCoverage:output_type -> google.cloud.dialogflow.cx.v3.CalculateCoverageResponse
3994	58, // 70: google.cloud.dialogflow.cx.v3.TestCases.ImportTestCases:output_type -> google.longrunning.Operation
3995	58, // 71: google.cloud.dialogflow.cx.v3.TestCases.ExportTestCases:output_type -> google.longrunning.Operation
3996	36, // 72: google.cloud.dialogflow.cx.v3.TestCases.ListTestCaseResults:output_type -> google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse
3997	6,  // 73: google.cloud.dialogflow.cx.v3.TestCases.GetTestCaseResult:output_type -> google.cloud.dialogflow.cx.v3.TestCaseResult
3998	62, // [62:74] is the sub-list for method output_type
3999	50, // [50:62] is the sub-list for method input_type
4000	50, // [50:50] is the sub-list for extension type_name
4001	50, // [50:50] is the sub-list for extension extendee
4002	0,  // [0:50] is the sub-list for field type_name
4003}
4004
4005func init() { file_google_cloud_dialogflow_cx_v3_test_case_proto_init() }
4006func file_google_cloud_dialogflow_cx_v3_test_case_proto_init() {
4007	if File_google_cloud_dialogflow_cx_v3_test_case_proto != nil {
4008		return
4009	}
4010	file_google_cloud_dialogflow_cx_v3_flow_proto_init()
4011	file_google_cloud_dialogflow_cx_v3_intent_proto_init()
4012	file_google_cloud_dialogflow_cx_v3_page_proto_init()
4013	file_google_cloud_dialogflow_cx_v3_response_message_proto_init()
4014	file_google_cloud_dialogflow_cx_v3_session_proto_init()
4015	file_google_cloud_dialogflow_cx_v3_transition_route_group_proto_init()
4016	if !protoimpl.UnsafeEnabled {
4017		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
4018			switch v := v.(*TestCase); i {
4019			case 0:
4020				return &v.state
4021			case 1:
4022				return &v.sizeCache
4023			case 2:
4024				return &v.unknownFields
4025			default:
4026				return nil
4027			}
4028		}
4029		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
4030			switch v := v.(*TestCaseResult); i {
4031			case 0:
4032				return &v.state
4033			case 1:
4034				return &v.sizeCache
4035			case 2:
4036				return &v.unknownFields
4037			default:
4038				return nil
4039			}
4040		}
4041		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
4042			switch v := v.(*TestConfig); i {
4043			case 0:
4044				return &v.state
4045			case 1:
4046				return &v.sizeCache
4047			case 2:
4048				return &v.unknownFields
4049			default:
4050				return nil
4051			}
4052		}
4053		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
4054			switch v := v.(*ConversationTurn); i {
4055			case 0:
4056				return &v.state
4057			case 1:
4058				return &v.sizeCache
4059			case 2:
4060				return &v.unknownFields
4061			default:
4062				return nil
4063			}
4064		}
4065		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
4066			switch v := v.(*TestRunDifference); i {
4067			case 0:
4068				return &v.state
4069			case 1:
4070				return &v.sizeCache
4071			case 2:
4072				return &v.unknownFields
4073			default:
4074				return nil
4075			}
4076		}
4077		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
4078			switch v := v.(*TransitionCoverage); i {
4079			case 0:
4080				return &v.state
4081			case 1:
4082				return &v.sizeCache
4083			case 2:
4084				return &v.unknownFields
4085			default:
4086				return nil
4087			}
4088		}
4089		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
4090			switch v := v.(*TransitionRouteGroupCoverage); i {
4091			case 0:
4092				return &v.state
4093			case 1:
4094				return &v.sizeCache
4095			case 2:
4096				return &v.unknownFields
4097			default:
4098				return nil
4099			}
4100		}
4101		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
4102			switch v := v.(*IntentCoverage); i {
4103			case 0:
4104				return &v.state
4105			case 1:
4106				return &v.sizeCache
4107			case 2:
4108				return &v.unknownFields
4109			default:
4110				return nil
4111			}
4112		}
4113		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
4114			switch v := v.(*CalculateCoverageRequest); i {
4115			case 0:
4116				return &v.state
4117			case 1:
4118				return &v.sizeCache
4119			case 2:
4120				return &v.unknownFields
4121			default:
4122				return nil
4123			}
4124		}
4125		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
4126			switch v := v.(*CalculateCoverageResponse); i {
4127			case 0:
4128				return &v.state
4129			case 1:
4130				return &v.sizeCache
4131			case 2:
4132				return &v.unknownFields
4133			default:
4134				return nil
4135			}
4136		}
4137		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
4138			switch v := v.(*ListTestCasesRequest); i {
4139			case 0:
4140				return &v.state
4141			case 1:
4142				return &v.sizeCache
4143			case 2:
4144				return &v.unknownFields
4145			default:
4146				return nil
4147			}
4148		}
4149		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
4150			switch v := v.(*ListTestCasesResponse); i {
4151			case 0:
4152				return &v.state
4153			case 1:
4154				return &v.sizeCache
4155			case 2:
4156				return &v.unknownFields
4157			default:
4158				return nil
4159			}
4160		}
4161		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
4162			switch v := v.(*BatchDeleteTestCasesRequest); i {
4163			case 0:
4164				return &v.state
4165			case 1:
4166				return &v.sizeCache
4167			case 2:
4168				return &v.unknownFields
4169			default:
4170				return nil
4171			}
4172		}
4173		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
4174			switch v := v.(*CreateTestCaseRequest); i {
4175			case 0:
4176				return &v.state
4177			case 1:
4178				return &v.sizeCache
4179			case 2:
4180				return &v.unknownFields
4181			default:
4182				return nil
4183			}
4184		}
4185		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
4186			switch v := v.(*UpdateTestCaseRequest); i {
4187			case 0:
4188				return &v.state
4189			case 1:
4190				return &v.sizeCache
4191			case 2:
4192				return &v.unknownFields
4193			default:
4194				return nil
4195			}
4196		}
4197		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
4198			switch v := v.(*GetTestCaseRequest); i {
4199			case 0:
4200				return &v.state
4201			case 1:
4202				return &v.sizeCache
4203			case 2:
4204				return &v.unknownFields
4205			default:
4206				return nil
4207			}
4208		}
4209		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
4210			switch v := v.(*RunTestCaseRequest); i {
4211			case 0:
4212				return &v.state
4213			case 1:
4214				return &v.sizeCache
4215			case 2:
4216				return &v.unknownFields
4217			default:
4218				return nil
4219			}
4220		}
4221		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
4222			switch v := v.(*RunTestCaseResponse); i {
4223			case 0:
4224				return &v.state
4225			case 1:
4226				return &v.sizeCache
4227			case 2:
4228				return &v.unknownFields
4229			default:
4230				return nil
4231			}
4232		}
4233		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
4234			switch v := v.(*RunTestCaseMetadata); i {
4235			case 0:
4236				return &v.state
4237			case 1:
4238				return &v.sizeCache
4239			case 2:
4240				return &v.unknownFields
4241			default:
4242				return nil
4243			}
4244		}
4245		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
4246			switch v := v.(*BatchRunTestCasesRequest); i {
4247			case 0:
4248				return &v.state
4249			case 1:
4250				return &v.sizeCache
4251			case 2:
4252				return &v.unknownFields
4253			default:
4254				return nil
4255			}
4256		}
4257		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
4258			switch v := v.(*BatchRunTestCasesResponse); i {
4259			case 0:
4260				return &v.state
4261			case 1:
4262				return &v.sizeCache
4263			case 2:
4264				return &v.unknownFields
4265			default:
4266				return nil
4267			}
4268		}
4269		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
4270			switch v := v.(*BatchRunTestCasesMetadata); i {
4271			case 0:
4272				return &v.state
4273			case 1:
4274				return &v.sizeCache
4275			case 2:
4276				return &v.unknownFields
4277			default:
4278				return nil
4279			}
4280		}
4281		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
4282			switch v := v.(*TestError); i {
4283			case 0:
4284				return &v.state
4285			case 1:
4286				return &v.sizeCache
4287			case 2:
4288				return &v.unknownFields
4289			default:
4290				return nil
4291			}
4292		}
4293		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
4294			switch v := v.(*ImportTestCasesRequest); i {
4295			case 0:
4296				return &v.state
4297			case 1:
4298				return &v.sizeCache
4299			case 2:
4300				return &v.unknownFields
4301			default:
4302				return nil
4303			}
4304		}
4305		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
4306			switch v := v.(*ImportTestCasesResponse); i {
4307			case 0:
4308				return &v.state
4309			case 1:
4310				return &v.sizeCache
4311			case 2:
4312				return &v.unknownFields
4313			default:
4314				return nil
4315			}
4316		}
4317		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
4318			switch v := v.(*ImportTestCasesMetadata); i {
4319			case 0:
4320				return &v.state
4321			case 1:
4322				return &v.sizeCache
4323			case 2:
4324				return &v.unknownFields
4325			default:
4326				return nil
4327			}
4328		}
4329		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
4330			switch v := v.(*TestCaseError); i {
4331			case 0:
4332				return &v.state
4333			case 1:
4334				return &v.sizeCache
4335			case 2:
4336				return &v.unknownFields
4337			default:
4338				return nil
4339			}
4340		}
4341		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
4342			switch v := v.(*ExportTestCasesRequest); i {
4343			case 0:
4344				return &v.state
4345			case 1:
4346				return &v.sizeCache
4347			case 2:
4348				return &v.unknownFields
4349			default:
4350				return nil
4351			}
4352		}
4353		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
4354			switch v := v.(*ExportTestCasesResponse); i {
4355			case 0:
4356				return &v.state
4357			case 1:
4358				return &v.sizeCache
4359			case 2:
4360				return &v.unknownFields
4361			default:
4362				return nil
4363			}
4364		}
4365		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
4366			switch v := v.(*ExportTestCasesMetadata); i {
4367			case 0:
4368				return &v.state
4369			case 1:
4370				return &v.sizeCache
4371			case 2:
4372				return &v.unknownFields
4373			default:
4374				return nil
4375			}
4376		}
4377		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
4378			switch v := v.(*ListTestCaseResultsRequest); i {
4379			case 0:
4380				return &v.state
4381			case 1:
4382				return &v.sizeCache
4383			case 2:
4384				return &v.unknownFields
4385			default:
4386				return nil
4387			}
4388		}
4389		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
4390			switch v := v.(*ListTestCaseResultsResponse); i {
4391			case 0:
4392				return &v.state
4393			case 1:
4394				return &v.sizeCache
4395			case 2:
4396				return &v.unknownFields
4397			default:
4398				return nil
4399			}
4400		}
4401		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
4402			switch v := v.(*GetTestCaseResultRequest); i {
4403			case 0:
4404				return &v.state
4405			case 1:
4406				return &v.sizeCache
4407			case 2:
4408				return &v.unknownFields
4409			default:
4410				return nil
4411			}
4412		}
4413		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
4414			switch v := v.(*ConversationTurn_UserInput); i {
4415			case 0:
4416				return &v.state
4417			case 1:
4418				return &v.sizeCache
4419			case 2:
4420				return &v.unknownFields
4421			default:
4422				return nil
4423			}
4424		}
4425		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
4426			switch v := v.(*ConversationTurn_VirtualAgentOutput); i {
4427			case 0:
4428				return &v.state
4429			case 1:
4430				return &v.sizeCache
4431			case 2:
4432				return &v.unknownFields
4433			default:
4434				return nil
4435			}
4436		}
4437		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
4438			switch v := v.(*TransitionCoverage_TransitionNode); i {
4439			case 0:
4440				return &v.state
4441			case 1:
4442				return &v.sizeCache
4443			case 2:
4444				return &v.unknownFields
4445			default:
4446				return nil
4447			}
4448		}
4449		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
4450			switch v := v.(*TransitionCoverage_Transition); i {
4451			case 0:
4452				return &v.state
4453			case 1:
4454				return &v.sizeCache
4455			case 2:
4456				return &v.unknownFields
4457			default:
4458				return nil
4459			}
4460		}
4461		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
4462			switch v := v.(*TransitionRouteGroupCoverage_Coverage); i {
4463			case 0:
4464				return &v.state
4465			case 1:
4466				return &v.sizeCache
4467			case 2:
4468				return &v.unknownFields
4469			default:
4470				return nil
4471			}
4472		}
4473		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
4474			switch v := v.(*TransitionRouteGroupCoverage_Coverage_Transition); i {
4475			case 0:
4476				return &v.state
4477			case 1:
4478				return &v.sizeCache
4479			case 2:
4480				return &v.unknownFields
4481			default:
4482				return nil
4483			}
4484		}
4485		file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
4486			switch v := v.(*IntentCoverage_Intent); i {
4487			case 0:
4488				return &v.state
4489			case 1:
4490				return &v.sizeCache
4491			case 2:
4492				return &v.unknownFields
4493			default:
4494				return nil
4495			}
4496		}
4497	}
4498	file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[9].OneofWrappers = []interface{}{
4499		(*CalculateCoverageResponse_IntentCoverage)(nil),
4500		(*CalculateCoverageResponse_TransitionCoverage)(nil),
4501		(*CalculateCoverageResponse_RouteGroupCoverage)(nil),
4502	}
4503	file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[23].OneofWrappers = []interface{}{
4504		(*ImportTestCasesRequest_GcsUri)(nil),
4505		(*ImportTestCasesRequest_Content)(nil),
4506	}
4507	file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[27].OneofWrappers = []interface{}{
4508		(*ExportTestCasesRequest_GcsUri)(nil),
4509	}
4510	file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[28].OneofWrappers = []interface{}{
4511		(*ExportTestCasesResponse_GcsUri)(nil),
4512		(*ExportTestCasesResponse_Content)(nil),
4513	}
4514	file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[35].OneofWrappers = []interface{}{
4515		(*TransitionCoverage_TransitionNode_Page)(nil),
4516		(*TransitionCoverage_TransitionNode_Flow)(nil),
4517	}
4518	file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[36].OneofWrappers = []interface{}{
4519		(*TransitionCoverage_Transition_TransitionRoute)(nil),
4520		(*TransitionCoverage_Transition_EventHandler)(nil),
4521	}
4522	type x struct{}
4523	out := protoimpl.TypeBuilder{
4524		File: protoimpl.DescBuilder{
4525			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4526			RawDescriptor: file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDesc,
4527			NumEnums:      5,
4528			NumMessages:   40,
4529			NumExtensions: 0,
4530			NumServices:   1,
4531		},
4532		GoTypes:           file_google_cloud_dialogflow_cx_v3_test_case_proto_goTypes,
4533		DependencyIndexes: file_google_cloud_dialogflow_cx_v3_test_case_proto_depIdxs,
4534		EnumInfos:         file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes,
4535		MessageInfos:      file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes,
4536	}.Build()
4537	File_google_cloud_dialogflow_cx_v3_test_case_proto = out.File
4538	file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDesc = nil
4539	file_google_cloud_dialogflow_cx_v3_test_case_proto_goTypes = nil
4540	file_google_cloud_dialogflow_cx_v3_test_case_proto_depIdxs = nil
4541}
4542
4543// Reference imports to suppress errors if they are not otherwise used.
4544var _ context.Context
4545var _ grpc.ClientConnInterface
4546
4547// This is a compile-time assertion to ensure that this generated file
4548// is compatible with the grpc package it is being compiled against.
4549const _ = grpc.SupportPackageIsVersion6
4550
4551// TestCasesClient is the client API for TestCases service.
4552//
4553// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
4554type TestCasesClient interface {
4555	// Fetches a list of test cases for a given agent.
4556	ListTestCases(ctx context.Context, in *ListTestCasesRequest, opts ...grpc.CallOption) (*ListTestCasesResponse, error)
4557	// Batch deletes test cases.
4558	BatchDeleteTestCases(ctx context.Context, in *BatchDeleteTestCasesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
4559	// Gets a test case.
4560	GetTestCase(ctx context.Context, in *GetTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error)
4561	// Creates a test case for the given agent.
4562	CreateTestCase(ctx context.Context, in *CreateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error)
4563	// Updates the specified test case.
4564	UpdateTestCase(ctx context.Context, in *UpdateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error)
4565	// Kicks off a test case run.
4566	// This method is a [long-running
4567	// operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
4568	// The returned `Operation` type has the following method-specific fields:
4569	//
4570	// - `metadata`: [RunTestCaseMetadata][google.cloud.dialogflow.cx.v3.RunTestCaseMetadata]
4571	// - `response`: [RunTestCaseResponse][google.cloud.dialogflow.cx.v3.RunTestCaseResponse]
4572	RunTestCase(ctx context.Context, in *RunTestCaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4573	// Kicks off a batch run of test cases.
4574	BatchRunTestCases(ctx context.Context, in *BatchRunTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4575	// Calculates the test coverage for an agent.
4576	CalculateCoverage(ctx context.Context, in *CalculateCoverageRequest, opts ...grpc.CallOption) (*CalculateCoverageResponse, error)
4577	// Imports the test cases from a Cloud Storage bucket or a local file. It
4578	// always creates new test cases and won't overwite any existing ones. The
4579	// provided ID in the imported test case is neglected.
4580	ImportTestCases(ctx context.Context, in *ImportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4581	// Exports the test cases under the agent to a Cloud Storage bucket or a local
4582	// file. Filter can be applied to export a subset of test cases.
4583	ExportTestCases(ctx context.Context, in *ExportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4584	// Fetches a list of results for a given test case.
4585	ListTestCaseResults(ctx context.Context, in *ListTestCaseResultsRequest, opts ...grpc.CallOption) (*ListTestCaseResultsResponse, error)
4586	// Gets a test case result.
4587	GetTestCaseResult(ctx context.Context, in *GetTestCaseResultRequest, opts ...grpc.CallOption) (*TestCaseResult, error)
4588}
4589
4590type testCasesClient struct {
4591	cc grpc.ClientConnInterface
4592}
4593
4594func NewTestCasesClient(cc grpc.ClientConnInterface) TestCasesClient {
4595	return &testCasesClient{cc}
4596}
4597
4598func (c *testCasesClient) ListTestCases(ctx context.Context, in *ListTestCasesRequest, opts ...grpc.CallOption) (*ListTestCasesResponse, error) {
4599	out := new(ListTestCasesResponse)
4600	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/ListTestCases", in, out, opts...)
4601	if err != nil {
4602		return nil, err
4603	}
4604	return out, nil
4605}
4606
4607func (c *testCasesClient) BatchDeleteTestCases(ctx context.Context, in *BatchDeleteTestCasesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
4608	out := new(emptypb.Empty)
4609	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/BatchDeleteTestCases", in, out, opts...)
4610	if err != nil {
4611		return nil, err
4612	}
4613	return out, nil
4614}
4615
4616func (c *testCasesClient) GetTestCase(ctx context.Context, in *GetTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) {
4617	out := new(TestCase)
4618	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/GetTestCase", in, out, opts...)
4619	if err != nil {
4620		return nil, err
4621	}
4622	return out, nil
4623}
4624
4625func (c *testCasesClient) CreateTestCase(ctx context.Context, in *CreateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) {
4626	out := new(TestCase)
4627	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/CreateTestCase", in, out, opts...)
4628	if err != nil {
4629		return nil, err
4630	}
4631	return out, nil
4632}
4633
4634func (c *testCasesClient) UpdateTestCase(ctx context.Context, in *UpdateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) {
4635	out := new(TestCase)
4636	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/UpdateTestCase", in, out, opts...)
4637	if err != nil {
4638		return nil, err
4639	}
4640	return out, nil
4641}
4642
4643func (c *testCasesClient) RunTestCase(ctx context.Context, in *RunTestCaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4644	out := new(longrunning.Operation)
4645	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/RunTestCase", in, out, opts...)
4646	if err != nil {
4647		return nil, err
4648	}
4649	return out, nil
4650}
4651
4652func (c *testCasesClient) BatchRunTestCases(ctx context.Context, in *BatchRunTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4653	out := new(longrunning.Operation)
4654	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/BatchRunTestCases", in, out, opts...)
4655	if err != nil {
4656		return nil, err
4657	}
4658	return out, nil
4659}
4660
4661func (c *testCasesClient) CalculateCoverage(ctx context.Context, in *CalculateCoverageRequest, opts ...grpc.CallOption) (*CalculateCoverageResponse, error) {
4662	out := new(CalculateCoverageResponse)
4663	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/CalculateCoverage", in, out, opts...)
4664	if err != nil {
4665		return nil, err
4666	}
4667	return out, nil
4668}
4669
4670func (c *testCasesClient) ImportTestCases(ctx context.Context, in *ImportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4671	out := new(longrunning.Operation)
4672	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/ImportTestCases", in, out, opts...)
4673	if err != nil {
4674		return nil, err
4675	}
4676	return out, nil
4677}
4678
4679func (c *testCasesClient) ExportTestCases(ctx context.Context, in *ExportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4680	out := new(longrunning.Operation)
4681	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/ExportTestCases", in, out, opts...)
4682	if err != nil {
4683		return nil, err
4684	}
4685	return out, nil
4686}
4687
4688func (c *testCasesClient) ListTestCaseResults(ctx context.Context, in *ListTestCaseResultsRequest, opts ...grpc.CallOption) (*ListTestCaseResultsResponse, error) {
4689	out := new(ListTestCaseResultsResponse)
4690	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/ListTestCaseResults", in, out, opts...)
4691	if err != nil {
4692		return nil, err
4693	}
4694	return out, nil
4695}
4696
4697func (c *testCasesClient) GetTestCaseResult(ctx context.Context, in *GetTestCaseResultRequest, opts ...grpc.CallOption) (*TestCaseResult, error) {
4698	out := new(TestCaseResult)
4699	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/GetTestCaseResult", in, out, opts...)
4700	if err != nil {
4701		return nil, err
4702	}
4703	return out, nil
4704}
4705
4706// TestCasesServer is the server API for TestCases service.
4707type TestCasesServer interface {
4708	// Fetches a list of test cases for a given agent.
4709	ListTestCases(context.Context, *ListTestCasesRequest) (*ListTestCasesResponse, error)
4710	// Batch deletes test cases.
4711	BatchDeleteTestCases(context.Context, *BatchDeleteTestCasesRequest) (*emptypb.Empty, error)
4712	// Gets a test case.
4713	GetTestCase(context.Context, *GetTestCaseRequest) (*TestCase, error)
4714	// Creates a test case for the given agent.
4715	CreateTestCase(context.Context, *CreateTestCaseRequest) (*TestCase, error)
4716	// Updates the specified test case.
4717	UpdateTestCase(context.Context, *UpdateTestCaseRequest) (*TestCase, error)
4718	// Kicks off a test case run.
4719	// This method is a [long-running
4720	// operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
4721	// The returned `Operation` type has the following method-specific fields:
4722	//
4723	// - `metadata`: [RunTestCaseMetadata][google.cloud.dialogflow.cx.v3.RunTestCaseMetadata]
4724	// - `response`: [RunTestCaseResponse][google.cloud.dialogflow.cx.v3.RunTestCaseResponse]
4725	RunTestCase(context.Context, *RunTestCaseRequest) (*longrunning.Operation, error)
4726	// Kicks off a batch run of test cases.
4727	BatchRunTestCases(context.Context, *BatchRunTestCasesRequest) (*longrunning.Operation, error)
4728	// Calculates the test coverage for an agent.
4729	CalculateCoverage(context.Context, *CalculateCoverageRequest) (*CalculateCoverageResponse, error)
4730	// Imports the test cases from a Cloud Storage bucket or a local file. It
4731	// always creates new test cases and won't overwite any existing ones. The
4732	// provided ID in the imported test case is neglected.
4733	ImportTestCases(context.Context, *ImportTestCasesRequest) (*longrunning.Operation, error)
4734	// Exports the test cases under the agent to a Cloud Storage bucket or a local
4735	// file. Filter can be applied to export a subset of test cases.
4736	ExportTestCases(context.Context, *ExportTestCasesRequest) (*longrunning.Operation, error)
4737	// Fetches a list of results for a given test case.
4738	ListTestCaseResults(context.Context, *ListTestCaseResultsRequest) (*ListTestCaseResultsResponse, error)
4739	// Gets a test case result.
4740	GetTestCaseResult(context.Context, *GetTestCaseResultRequest) (*TestCaseResult, error)
4741}
4742
4743// UnimplementedTestCasesServer can be embedded to have forward compatible implementations.
4744type UnimplementedTestCasesServer struct {
4745}
4746
4747func (*UnimplementedTestCasesServer) ListTestCases(context.Context, *ListTestCasesRequest) (*ListTestCasesResponse, error) {
4748	return nil, status1.Errorf(codes.Unimplemented, "method ListTestCases not implemented")
4749}
4750func (*UnimplementedTestCasesServer) BatchDeleteTestCases(context.Context, *BatchDeleteTestCasesRequest) (*emptypb.Empty, error) {
4751	return nil, status1.Errorf(codes.Unimplemented, "method BatchDeleteTestCases not implemented")
4752}
4753func (*UnimplementedTestCasesServer) GetTestCase(context.Context, *GetTestCaseRequest) (*TestCase, error) {
4754	return nil, status1.Errorf(codes.Unimplemented, "method GetTestCase not implemented")
4755}
4756func (*UnimplementedTestCasesServer) CreateTestCase(context.Context, *CreateTestCaseRequest) (*TestCase, error) {
4757	return nil, status1.Errorf(codes.Unimplemented, "method CreateTestCase not implemented")
4758}
4759func (*UnimplementedTestCasesServer) UpdateTestCase(context.Context, *UpdateTestCaseRequest) (*TestCase, error) {
4760	return nil, status1.Errorf(codes.Unimplemented, "method UpdateTestCase not implemented")
4761}
4762func (*UnimplementedTestCasesServer) RunTestCase(context.Context, *RunTestCaseRequest) (*longrunning.Operation, error) {
4763	return nil, status1.Errorf(codes.Unimplemented, "method RunTestCase not implemented")
4764}
4765func (*UnimplementedTestCasesServer) BatchRunTestCases(context.Context, *BatchRunTestCasesRequest) (*longrunning.Operation, error) {
4766	return nil, status1.Errorf(codes.Unimplemented, "method BatchRunTestCases not implemented")
4767}
4768func (*UnimplementedTestCasesServer) CalculateCoverage(context.Context, *CalculateCoverageRequest) (*CalculateCoverageResponse, error) {
4769	return nil, status1.Errorf(codes.Unimplemented, "method CalculateCoverage not implemented")
4770}
4771func (*UnimplementedTestCasesServer) ImportTestCases(context.Context, *ImportTestCasesRequest) (*longrunning.Operation, error) {
4772	return nil, status1.Errorf(codes.Unimplemented, "method ImportTestCases not implemented")
4773}
4774func (*UnimplementedTestCasesServer) ExportTestCases(context.Context, *ExportTestCasesRequest) (*longrunning.Operation, error) {
4775	return nil, status1.Errorf(codes.Unimplemented, "method ExportTestCases not implemented")
4776}
4777func (*UnimplementedTestCasesServer) ListTestCaseResults(context.Context, *ListTestCaseResultsRequest) (*ListTestCaseResultsResponse, error) {
4778	return nil, status1.Errorf(codes.Unimplemented, "method ListTestCaseResults not implemented")
4779}
4780func (*UnimplementedTestCasesServer) GetTestCaseResult(context.Context, *GetTestCaseResultRequest) (*TestCaseResult, error) {
4781	return nil, status1.Errorf(codes.Unimplemented, "method GetTestCaseResult not implemented")
4782}
4783
4784func RegisterTestCasesServer(s *grpc.Server, srv TestCasesServer) {
4785	s.RegisterService(&_TestCases_serviceDesc, srv)
4786}
4787
4788func _TestCases_ListTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4789	in := new(ListTestCasesRequest)
4790	if err := dec(in); err != nil {
4791		return nil, err
4792	}
4793	if interceptor == nil {
4794		return srv.(TestCasesServer).ListTestCases(ctx, in)
4795	}
4796	info := &grpc.UnaryServerInfo{
4797		Server:     srv,
4798		FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/ListTestCases",
4799	}
4800	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4801		return srv.(TestCasesServer).ListTestCases(ctx, req.(*ListTestCasesRequest))
4802	}
4803	return interceptor(ctx, in, info, handler)
4804}
4805
4806func _TestCases_BatchDeleteTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4807	in := new(BatchDeleteTestCasesRequest)
4808	if err := dec(in); err != nil {
4809		return nil, err
4810	}
4811	if interceptor == nil {
4812		return srv.(TestCasesServer).BatchDeleteTestCases(ctx, in)
4813	}
4814	info := &grpc.UnaryServerInfo{
4815		Server:     srv,
4816		FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/BatchDeleteTestCases",
4817	}
4818	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4819		return srv.(TestCasesServer).BatchDeleteTestCases(ctx, req.(*BatchDeleteTestCasesRequest))
4820	}
4821	return interceptor(ctx, in, info, handler)
4822}
4823
4824func _TestCases_GetTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4825	in := new(GetTestCaseRequest)
4826	if err := dec(in); err != nil {
4827		return nil, err
4828	}
4829	if interceptor == nil {
4830		return srv.(TestCasesServer).GetTestCase(ctx, in)
4831	}
4832	info := &grpc.UnaryServerInfo{
4833		Server:     srv,
4834		FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/GetTestCase",
4835	}
4836	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4837		return srv.(TestCasesServer).GetTestCase(ctx, req.(*GetTestCaseRequest))
4838	}
4839	return interceptor(ctx, in, info, handler)
4840}
4841
4842func _TestCases_CreateTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4843	in := new(CreateTestCaseRequest)
4844	if err := dec(in); err != nil {
4845		return nil, err
4846	}
4847	if interceptor == nil {
4848		return srv.(TestCasesServer).CreateTestCase(ctx, in)
4849	}
4850	info := &grpc.UnaryServerInfo{
4851		Server:     srv,
4852		FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/CreateTestCase",
4853	}
4854	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4855		return srv.(TestCasesServer).CreateTestCase(ctx, req.(*CreateTestCaseRequest))
4856	}
4857	return interceptor(ctx, in, info, handler)
4858}
4859
4860func _TestCases_UpdateTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4861	in := new(UpdateTestCaseRequest)
4862	if err := dec(in); err != nil {
4863		return nil, err
4864	}
4865	if interceptor == nil {
4866		return srv.(TestCasesServer).UpdateTestCase(ctx, in)
4867	}
4868	info := &grpc.UnaryServerInfo{
4869		Server:     srv,
4870		FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/UpdateTestCase",
4871	}
4872	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4873		return srv.(TestCasesServer).UpdateTestCase(ctx, req.(*UpdateTestCaseRequest))
4874	}
4875	return interceptor(ctx, in, info, handler)
4876}
4877
4878func _TestCases_RunTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4879	in := new(RunTestCaseRequest)
4880	if err := dec(in); err != nil {
4881		return nil, err
4882	}
4883	if interceptor == nil {
4884		return srv.(TestCasesServer).RunTestCase(ctx, in)
4885	}
4886	info := &grpc.UnaryServerInfo{
4887		Server:     srv,
4888		FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/RunTestCase",
4889	}
4890	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4891		return srv.(TestCasesServer).RunTestCase(ctx, req.(*RunTestCaseRequest))
4892	}
4893	return interceptor(ctx, in, info, handler)
4894}
4895
4896func _TestCases_BatchRunTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4897	in := new(BatchRunTestCasesRequest)
4898	if err := dec(in); err != nil {
4899		return nil, err
4900	}
4901	if interceptor == nil {
4902		return srv.(TestCasesServer).BatchRunTestCases(ctx, in)
4903	}
4904	info := &grpc.UnaryServerInfo{
4905		Server:     srv,
4906		FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/BatchRunTestCases",
4907	}
4908	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4909		return srv.(TestCasesServer).BatchRunTestCases(ctx, req.(*BatchRunTestCasesRequest))
4910	}
4911	return interceptor(ctx, in, info, handler)
4912}
4913
4914func _TestCases_CalculateCoverage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4915	in := new(CalculateCoverageRequest)
4916	if err := dec(in); err != nil {
4917		return nil, err
4918	}
4919	if interceptor == nil {
4920		return srv.(TestCasesServer).CalculateCoverage(ctx, in)
4921	}
4922	info := &grpc.UnaryServerInfo{
4923		Server:     srv,
4924		FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/CalculateCoverage",
4925	}
4926	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4927		return srv.(TestCasesServer).CalculateCoverage(ctx, req.(*CalculateCoverageRequest))
4928	}
4929	return interceptor(ctx, in, info, handler)
4930}
4931
4932func _TestCases_ImportTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4933	in := new(ImportTestCasesRequest)
4934	if err := dec(in); err != nil {
4935		return nil, err
4936	}
4937	if interceptor == nil {
4938		return srv.(TestCasesServer).ImportTestCases(ctx, in)
4939	}
4940	info := &grpc.UnaryServerInfo{
4941		Server:     srv,
4942		FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/ImportTestCases",
4943	}
4944	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4945		return srv.(TestCasesServer).ImportTestCases(ctx, req.(*ImportTestCasesRequest))
4946	}
4947	return interceptor(ctx, in, info, handler)
4948}
4949
4950func _TestCases_ExportTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4951	in := new(ExportTestCasesRequest)
4952	if err := dec(in); err != nil {
4953		return nil, err
4954	}
4955	if interceptor == nil {
4956		return srv.(TestCasesServer).ExportTestCases(ctx, in)
4957	}
4958	info := &grpc.UnaryServerInfo{
4959		Server:     srv,
4960		FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/ExportTestCases",
4961	}
4962	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4963		return srv.(TestCasesServer).ExportTestCases(ctx, req.(*ExportTestCasesRequest))
4964	}
4965	return interceptor(ctx, in, info, handler)
4966}
4967
4968func _TestCases_ListTestCaseResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4969	in := new(ListTestCaseResultsRequest)
4970	if err := dec(in); err != nil {
4971		return nil, err
4972	}
4973	if interceptor == nil {
4974		return srv.(TestCasesServer).ListTestCaseResults(ctx, in)
4975	}
4976	info := &grpc.UnaryServerInfo{
4977		Server:     srv,
4978		FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/ListTestCaseResults",
4979	}
4980	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4981		return srv.(TestCasesServer).ListTestCaseResults(ctx, req.(*ListTestCaseResultsRequest))
4982	}
4983	return interceptor(ctx, in, info, handler)
4984}
4985
4986func _TestCases_GetTestCaseResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4987	in := new(GetTestCaseResultRequest)
4988	if err := dec(in); err != nil {
4989		return nil, err
4990	}
4991	if interceptor == nil {
4992		return srv.(TestCasesServer).GetTestCaseResult(ctx, in)
4993	}
4994	info := &grpc.UnaryServerInfo{
4995		Server:     srv,
4996		FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/GetTestCaseResult",
4997	}
4998	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4999		return srv.(TestCasesServer).GetTestCaseResult(ctx, req.(*GetTestCaseResultRequest))
5000	}
5001	return interceptor(ctx, in, info, handler)
5002}
5003
5004var _TestCases_serviceDesc = grpc.ServiceDesc{
5005	ServiceName: "google.cloud.dialogflow.cx.v3.TestCases",
5006	HandlerType: (*TestCasesServer)(nil),
5007	Methods: []grpc.MethodDesc{
5008		{
5009			MethodName: "ListTestCases",
5010			Handler:    _TestCases_ListTestCases_Handler,
5011		},
5012		{
5013			MethodName: "BatchDeleteTestCases",
5014			Handler:    _TestCases_BatchDeleteTestCases_Handler,
5015		},
5016		{
5017			MethodName: "GetTestCase",
5018			Handler:    _TestCases_GetTestCase_Handler,
5019		},
5020		{
5021			MethodName: "CreateTestCase",
5022			Handler:    _TestCases_CreateTestCase_Handler,
5023		},
5024		{
5025			MethodName: "UpdateTestCase",
5026			Handler:    _TestCases_UpdateTestCase_Handler,
5027		},
5028		{
5029			MethodName: "RunTestCase",
5030			Handler:    _TestCases_RunTestCase_Handler,
5031		},
5032		{
5033			MethodName: "BatchRunTestCases",
5034			Handler:    _TestCases_BatchRunTestCases_Handler,
5035		},
5036		{
5037			MethodName: "CalculateCoverage",
5038			Handler:    _TestCases_CalculateCoverage_Handler,
5039		},
5040		{
5041			MethodName: "ImportTestCases",
5042			Handler:    _TestCases_ImportTestCases_Handler,
5043		},
5044		{
5045			MethodName: "ExportTestCases",
5046			Handler:    _TestCases_ExportTestCases_Handler,
5047		},
5048		{
5049			MethodName: "ListTestCaseResults",
5050			Handler:    _TestCases_ListTestCaseResults_Handler,
5051		},
5052		{
5053			MethodName: "GetTestCaseResult",
5054			Handler:    _TestCases_GetTestCaseResult_Handler,
5055		},
5056	},
5057	Streams:  []grpc.StreamDesc{},
5058	Metadata: "google/cloud/dialogflow/cx/v3/test_case.proto",
5059}
5060