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/kms/v1/service.proto
20
21package kms
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	grpc "google.golang.org/grpc"
30	codes "google.golang.org/grpc/codes"
31	status "google.golang.org/grpc/status"
32	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
33	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
34	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
35	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
36)
37
38const (
39	// Verify that this generated code is sufficiently up-to-date.
40	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
41	// Verify that runtime/protoimpl is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
43)
44
45// Request message for [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
46type ListKeyRingsRequest struct {
47	state         protoimpl.MessageState
48	sizeCache     protoimpl.SizeCache
49	unknownFields protoimpl.UnknownFields
50
51	// Required. The resource name of the location associated with the
52	// [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
53	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
54	// Optional. Optional limit on the number of [KeyRings][google.cloud.kms.v1.KeyRing] to include in the
55	// response.  Further [KeyRings][google.cloud.kms.v1.KeyRing] can subsequently be obtained by
56	// including the [ListKeyRingsResponse.next_page_token][google.cloud.kms.v1.ListKeyRingsResponse.next_page_token] in a subsequent
57	// request.  If unspecified, the server will pick an appropriate default.
58	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
59	// Optional. Optional pagination token, returned earlier via
60	// [ListKeyRingsResponse.next_page_token][google.cloud.kms.v1.ListKeyRingsResponse.next_page_token].
61	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
62	// Optional. Only include resources that match the filter in the response. For
63	// more information, see
64	// [Sorting and filtering list
65	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
66	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
67	// Optional. Specify how the results should be sorted. If not specified, the
68	// results will be sorted in the default order.  For more information, see
69	// [Sorting and filtering list
70	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
71	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
72}
73
74func (x *ListKeyRingsRequest) Reset() {
75	*x = ListKeyRingsRequest{}
76	if protoimpl.UnsafeEnabled {
77		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[0]
78		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
79		ms.StoreMessageInfo(mi)
80	}
81}
82
83func (x *ListKeyRingsRequest) String() string {
84	return protoimpl.X.MessageStringOf(x)
85}
86
87func (*ListKeyRingsRequest) ProtoMessage() {}
88
89func (x *ListKeyRingsRequest) ProtoReflect() protoreflect.Message {
90	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[0]
91	if protoimpl.UnsafeEnabled && x != nil {
92		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
93		if ms.LoadMessageInfo() == nil {
94			ms.StoreMessageInfo(mi)
95		}
96		return ms
97	}
98	return mi.MessageOf(x)
99}
100
101// Deprecated: Use ListKeyRingsRequest.ProtoReflect.Descriptor instead.
102func (*ListKeyRingsRequest) Descriptor() ([]byte, []int) {
103	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{0}
104}
105
106func (x *ListKeyRingsRequest) GetParent() string {
107	if x != nil {
108		return x.Parent
109	}
110	return ""
111}
112
113func (x *ListKeyRingsRequest) GetPageSize() int32 {
114	if x != nil {
115		return x.PageSize
116	}
117	return 0
118}
119
120func (x *ListKeyRingsRequest) GetPageToken() string {
121	if x != nil {
122		return x.PageToken
123	}
124	return ""
125}
126
127func (x *ListKeyRingsRequest) GetFilter() string {
128	if x != nil {
129		return x.Filter
130	}
131	return ""
132}
133
134func (x *ListKeyRingsRequest) GetOrderBy() string {
135	if x != nil {
136		return x.OrderBy
137	}
138	return ""
139}
140
141// Request message for [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
142type ListCryptoKeysRequest struct {
143	state         protoimpl.MessageState
144	sizeCache     protoimpl.SizeCache
145	unknownFields protoimpl.UnknownFields
146
147	// Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to list, in the format
148	// `projects/*/locations/*/keyRings/*`.
149	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
150	// Optional. Optional limit on the number of [CryptoKeys][google.cloud.kms.v1.CryptoKey] to include in the
151	// response.  Further [CryptoKeys][google.cloud.kms.v1.CryptoKey] can subsequently be obtained by
152	// including the [ListCryptoKeysResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeysResponse.next_page_token] in a subsequent
153	// request.  If unspecified, the server will pick an appropriate default.
154	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
155	// Optional. Optional pagination token, returned earlier via
156	// [ListCryptoKeysResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeysResponse.next_page_token].
157	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
158	// The fields of the primary version to include in the response.
159	VersionView CryptoKeyVersion_CryptoKeyVersionView `protobuf:"varint,4,opt,name=version_view,json=versionView,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionView" json:"version_view,omitempty"`
160	// Optional. Only include resources that match the filter in the response. For
161	// more information, see
162	// [Sorting and filtering list
163	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
164	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
165	// Optional. Specify how the results should be sorted. If not specified, the
166	// results will be sorted in the default order. For more information, see
167	// [Sorting and filtering list
168	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
169	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
170}
171
172func (x *ListCryptoKeysRequest) Reset() {
173	*x = ListCryptoKeysRequest{}
174	if protoimpl.UnsafeEnabled {
175		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[1]
176		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
177		ms.StoreMessageInfo(mi)
178	}
179}
180
181func (x *ListCryptoKeysRequest) String() string {
182	return protoimpl.X.MessageStringOf(x)
183}
184
185func (*ListCryptoKeysRequest) ProtoMessage() {}
186
187func (x *ListCryptoKeysRequest) ProtoReflect() protoreflect.Message {
188	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[1]
189	if protoimpl.UnsafeEnabled && x != nil {
190		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
191		if ms.LoadMessageInfo() == nil {
192			ms.StoreMessageInfo(mi)
193		}
194		return ms
195	}
196	return mi.MessageOf(x)
197}
198
199// Deprecated: Use ListCryptoKeysRequest.ProtoReflect.Descriptor instead.
200func (*ListCryptoKeysRequest) Descriptor() ([]byte, []int) {
201	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{1}
202}
203
204func (x *ListCryptoKeysRequest) GetParent() string {
205	if x != nil {
206		return x.Parent
207	}
208	return ""
209}
210
211func (x *ListCryptoKeysRequest) GetPageSize() int32 {
212	if x != nil {
213		return x.PageSize
214	}
215	return 0
216}
217
218func (x *ListCryptoKeysRequest) GetPageToken() string {
219	if x != nil {
220		return x.PageToken
221	}
222	return ""
223}
224
225func (x *ListCryptoKeysRequest) GetVersionView() CryptoKeyVersion_CryptoKeyVersionView {
226	if x != nil {
227		return x.VersionView
228	}
229	return CryptoKeyVersion_CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED
230}
231
232func (x *ListCryptoKeysRequest) GetFilter() string {
233	if x != nil {
234		return x.Filter
235	}
236	return ""
237}
238
239func (x *ListCryptoKeysRequest) GetOrderBy() string {
240	if x != nil {
241		return x.OrderBy
242	}
243	return ""
244}
245
246// Request message for [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
247type ListCryptoKeyVersionsRequest struct {
248	state         protoimpl.MessageState
249	sizeCache     protoimpl.SizeCache
250	unknownFields protoimpl.UnknownFields
251
252	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to list, in the format
253	// `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
254	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
255	// Optional. Optional limit on the number of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] to
256	// include in the response. Further [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] can
257	// subsequently be obtained by including the
258	// [ListCryptoKeyVersionsResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeyVersionsResponse.next_page_token] in a subsequent request.
259	// If unspecified, the server will pick an appropriate default.
260	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
261	// Optional. Optional pagination token, returned earlier via
262	// [ListCryptoKeyVersionsResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeyVersionsResponse.next_page_token].
263	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
264	// The fields to include in the response.
265	View CryptoKeyVersion_CryptoKeyVersionView `protobuf:"varint,4,opt,name=view,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionView" json:"view,omitempty"`
266	// Optional. Only include resources that match the filter in the response. For
267	// more information, see
268	// [Sorting and filtering list
269	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
270	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
271	// Optional. Specify how the results should be sorted. If not specified, the
272	// results will be sorted in the default order. For more information, see
273	// [Sorting and filtering list
274	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
275	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
276}
277
278func (x *ListCryptoKeyVersionsRequest) Reset() {
279	*x = ListCryptoKeyVersionsRequest{}
280	if protoimpl.UnsafeEnabled {
281		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[2]
282		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
283		ms.StoreMessageInfo(mi)
284	}
285}
286
287func (x *ListCryptoKeyVersionsRequest) String() string {
288	return protoimpl.X.MessageStringOf(x)
289}
290
291func (*ListCryptoKeyVersionsRequest) ProtoMessage() {}
292
293func (x *ListCryptoKeyVersionsRequest) ProtoReflect() protoreflect.Message {
294	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[2]
295	if protoimpl.UnsafeEnabled && x != nil {
296		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
297		if ms.LoadMessageInfo() == nil {
298			ms.StoreMessageInfo(mi)
299		}
300		return ms
301	}
302	return mi.MessageOf(x)
303}
304
305// Deprecated: Use ListCryptoKeyVersionsRequest.ProtoReflect.Descriptor instead.
306func (*ListCryptoKeyVersionsRequest) Descriptor() ([]byte, []int) {
307	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{2}
308}
309
310func (x *ListCryptoKeyVersionsRequest) GetParent() string {
311	if x != nil {
312		return x.Parent
313	}
314	return ""
315}
316
317func (x *ListCryptoKeyVersionsRequest) GetPageSize() int32 {
318	if x != nil {
319		return x.PageSize
320	}
321	return 0
322}
323
324func (x *ListCryptoKeyVersionsRequest) GetPageToken() string {
325	if x != nil {
326		return x.PageToken
327	}
328	return ""
329}
330
331func (x *ListCryptoKeyVersionsRequest) GetView() CryptoKeyVersion_CryptoKeyVersionView {
332	if x != nil {
333		return x.View
334	}
335	return CryptoKeyVersion_CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED
336}
337
338func (x *ListCryptoKeyVersionsRequest) GetFilter() string {
339	if x != nil {
340		return x.Filter
341	}
342	return ""
343}
344
345func (x *ListCryptoKeyVersionsRequest) GetOrderBy() string {
346	if x != nil {
347		return x.OrderBy
348	}
349	return ""
350}
351
352// Request message for [KeyManagementService.ListImportJobs][google.cloud.kms.v1.KeyManagementService.ListImportJobs].
353type ListImportJobsRequest struct {
354	state         protoimpl.MessageState
355	sizeCache     protoimpl.SizeCache
356	unknownFields protoimpl.UnknownFields
357
358	// Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to list, in the format
359	// `projects/*/locations/*/keyRings/*`.
360	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
361	// Optional. Optional limit on the number of [ImportJobs][google.cloud.kms.v1.ImportJob] to include in the
362	// response. Further [ImportJobs][google.cloud.kms.v1.ImportJob] can subsequently be obtained by
363	// including the [ListImportJobsResponse.next_page_token][google.cloud.kms.v1.ListImportJobsResponse.next_page_token] in a subsequent
364	// request. If unspecified, the server will pick an appropriate default.
365	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
366	// Optional. Optional pagination token, returned earlier via
367	// [ListImportJobsResponse.next_page_token][google.cloud.kms.v1.ListImportJobsResponse.next_page_token].
368	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
369	// Optional. Only include resources that match the filter in the response. For
370	// more information, see
371	// [Sorting and filtering list
372	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
373	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
374	// Optional. Specify how the results should be sorted. If not specified, the
375	// results will be sorted in the default order. For more information, see
376	// [Sorting and filtering list
377	// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
378	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
379}
380
381func (x *ListImportJobsRequest) Reset() {
382	*x = ListImportJobsRequest{}
383	if protoimpl.UnsafeEnabled {
384		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[3]
385		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
386		ms.StoreMessageInfo(mi)
387	}
388}
389
390func (x *ListImportJobsRequest) String() string {
391	return protoimpl.X.MessageStringOf(x)
392}
393
394func (*ListImportJobsRequest) ProtoMessage() {}
395
396func (x *ListImportJobsRequest) ProtoReflect() protoreflect.Message {
397	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[3]
398	if protoimpl.UnsafeEnabled && x != nil {
399		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
400		if ms.LoadMessageInfo() == nil {
401			ms.StoreMessageInfo(mi)
402		}
403		return ms
404	}
405	return mi.MessageOf(x)
406}
407
408// Deprecated: Use ListImportJobsRequest.ProtoReflect.Descriptor instead.
409func (*ListImportJobsRequest) Descriptor() ([]byte, []int) {
410	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{3}
411}
412
413func (x *ListImportJobsRequest) GetParent() string {
414	if x != nil {
415		return x.Parent
416	}
417	return ""
418}
419
420func (x *ListImportJobsRequest) GetPageSize() int32 {
421	if x != nil {
422		return x.PageSize
423	}
424	return 0
425}
426
427func (x *ListImportJobsRequest) GetPageToken() string {
428	if x != nil {
429		return x.PageToken
430	}
431	return ""
432}
433
434func (x *ListImportJobsRequest) GetFilter() string {
435	if x != nil {
436		return x.Filter
437	}
438	return ""
439}
440
441func (x *ListImportJobsRequest) GetOrderBy() string {
442	if x != nil {
443		return x.OrderBy
444	}
445	return ""
446}
447
448// Response message for [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
449type ListKeyRingsResponse struct {
450	state         protoimpl.MessageState
451	sizeCache     protoimpl.SizeCache
452	unknownFields protoimpl.UnknownFields
453
454	// The list of [KeyRings][google.cloud.kms.v1.KeyRing].
455	KeyRings []*KeyRing `protobuf:"bytes,1,rep,name=key_rings,json=keyRings,proto3" json:"key_rings,omitempty"`
456	// A token to retrieve next page of results. Pass this value in
457	// [ListKeyRingsRequest.page_token][google.cloud.kms.v1.ListKeyRingsRequest.page_token] to retrieve the next page of results.
458	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
459	// The total number of [KeyRings][google.cloud.kms.v1.KeyRing] that matched the query.
460	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
461}
462
463func (x *ListKeyRingsResponse) Reset() {
464	*x = ListKeyRingsResponse{}
465	if protoimpl.UnsafeEnabled {
466		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[4]
467		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
468		ms.StoreMessageInfo(mi)
469	}
470}
471
472func (x *ListKeyRingsResponse) String() string {
473	return protoimpl.X.MessageStringOf(x)
474}
475
476func (*ListKeyRingsResponse) ProtoMessage() {}
477
478func (x *ListKeyRingsResponse) ProtoReflect() protoreflect.Message {
479	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[4]
480	if protoimpl.UnsafeEnabled && x != nil {
481		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
482		if ms.LoadMessageInfo() == nil {
483			ms.StoreMessageInfo(mi)
484		}
485		return ms
486	}
487	return mi.MessageOf(x)
488}
489
490// Deprecated: Use ListKeyRingsResponse.ProtoReflect.Descriptor instead.
491func (*ListKeyRingsResponse) Descriptor() ([]byte, []int) {
492	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{4}
493}
494
495func (x *ListKeyRingsResponse) GetKeyRings() []*KeyRing {
496	if x != nil {
497		return x.KeyRings
498	}
499	return nil
500}
501
502func (x *ListKeyRingsResponse) GetNextPageToken() string {
503	if x != nil {
504		return x.NextPageToken
505	}
506	return ""
507}
508
509func (x *ListKeyRingsResponse) GetTotalSize() int32 {
510	if x != nil {
511		return x.TotalSize
512	}
513	return 0
514}
515
516// Response message for [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
517type ListCryptoKeysResponse struct {
518	state         protoimpl.MessageState
519	sizeCache     protoimpl.SizeCache
520	unknownFields protoimpl.UnknownFields
521
522	// The list of [CryptoKeys][google.cloud.kms.v1.CryptoKey].
523	CryptoKeys []*CryptoKey `protobuf:"bytes,1,rep,name=crypto_keys,json=cryptoKeys,proto3" json:"crypto_keys,omitempty"`
524	// A token to retrieve next page of results. Pass this value in
525	// [ListCryptoKeysRequest.page_token][google.cloud.kms.v1.ListCryptoKeysRequest.page_token] to retrieve the next page of results.
526	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
527	// The total number of [CryptoKeys][google.cloud.kms.v1.CryptoKey] that matched the query.
528	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
529}
530
531func (x *ListCryptoKeysResponse) Reset() {
532	*x = ListCryptoKeysResponse{}
533	if protoimpl.UnsafeEnabled {
534		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[5]
535		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
536		ms.StoreMessageInfo(mi)
537	}
538}
539
540func (x *ListCryptoKeysResponse) String() string {
541	return protoimpl.X.MessageStringOf(x)
542}
543
544func (*ListCryptoKeysResponse) ProtoMessage() {}
545
546func (x *ListCryptoKeysResponse) ProtoReflect() protoreflect.Message {
547	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[5]
548	if protoimpl.UnsafeEnabled && x != nil {
549		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
550		if ms.LoadMessageInfo() == nil {
551			ms.StoreMessageInfo(mi)
552		}
553		return ms
554	}
555	return mi.MessageOf(x)
556}
557
558// Deprecated: Use ListCryptoKeysResponse.ProtoReflect.Descriptor instead.
559func (*ListCryptoKeysResponse) Descriptor() ([]byte, []int) {
560	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{5}
561}
562
563func (x *ListCryptoKeysResponse) GetCryptoKeys() []*CryptoKey {
564	if x != nil {
565		return x.CryptoKeys
566	}
567	return nil
568}
569
570func (x *ListCryptoKeysResponse) GetNextPageToken() string {
571	if x != nil {
572		return x.NextPageToken
573	}
574	return ""
575}
576
577func (x *ListCryptoKeysResponse) GetTotalSize() int32 {
578	if x != nil {
579		return x.TotalSize
580	}
581	return 0
582}
583
584// Response message for [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
585type ListCryptoKeyVersionsResponse struct {
586	state         protoimpl.MessageState
587	sizeCache     protoimpl.SizeCache
588	unknownFields protoimpl.UnknownFields
589
590	// The list of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
591	CryptoKeyVersions []*CryptoKeyVersion `protobuf:"bytes,1,rep,name=crypto_key_versions,json=cryptoKeyVersions,proto3" json:"crypto_key_versions,omitempty"`
592	// A token to retrieve next page of results. Pass this value in
593	// [ListCryptoKeyVersionsRequest.page_token][google.cloud.kms.v1.ListCryptoKeyVersionsRequest.page_token] to retrieve the next page of
594	// results.
595	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
596	// The total number of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] that matched the
597	// query.
598	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
599}
600
601func (x *ListCryptoKeyVersionsResponse) Reset() {
602	*x = ListCryptoKeyVersionsResponse{}
603	if protoimpl.UnsafeEnabled {
604		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[6]
605		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
606		ms.StoreMessageInfo(mi)
607	}
608}
609
610func (x *ListCryptoKeyVersionsResponse) String() string {
611	return protoimpl.X.MessageStringOf(x)
612}
613
614func (*ListCryptoKeyVersionsResponse) ProtoMessage() {}
615
616func (x *ListCryptoKeyVersionsResponse) ProtoReflect() protoreflect.Message {
617	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[6]
618	if protoimpl.UnsafeEnabled && x != nil {
619		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
620		if ms.LoadMessageInfo() == nil {
621			ms.StoreMessageInfo(mi)
622		}
623		return ms
624	}
625	return mi.MessageOf(x)
626}
627
628// Deprecated: Use ListCryptoKeyVersionsResponse.ProtoReflect.Descriptor instead.
629func (*ListCryptoKeyVersionsResponse) Descriptor() ([]byte, []int) {
630	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{6}
631}
632
633func (x *ListCryptoKeyVersionsResponse) GetCryptoKeyVersions() []*CryptoKeyVersion {
634	if x != nil {
635		return x.CryptoKeyVersions
636	}
637	return nil
638}
639
640func (x *ListCryptoKeyVersionsResponse) GetNextPageToken() string {
641	if x != nil {
642		return x.NextPageToken
643	}
644	return ""
645}
646
647func (x *ListCryptoKeyVersionsResponse) GetTotalSize() int32 {
648	if x != nil {
649		return x.TotalSize
650	}
651	return 0
652}
653
654// Response message for [KeyManagementService.ListImportJobs][google.cloud.kms.v1.KeyManagementService.ListImportJobs].
655type ListImportJobsResponse struct {
656	state         protoimpl.MessageState
657	sizeCache     protoimpl.SizeCache
658	unknownFields protoimpl.UnknownFields
659
660	// The list of [ImportJobs][google.cloud.kms.v1.ImportJob].
661	ImportJobs []*ImportJob `protobuf:"bytes,1,rep,name=import_jobs,json=importJobs,proto3" json:"import_jobs,omitempty"`
662	// A token to retrieve next page of results. Pass this value in
663	// [ListImportJobsRequest.page_token][google.cloud.kms.v1.ListImportJobsRequest.page_token] to retrieve the next page of results.
664	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
665	// The total number of [ImportJobs][google.cloud.kms.v1.ImportJob] that matched the query.
666	TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
667}
668
669func (x *ListImportJobsResponse) Reset() {
670	*x = ListImportJobsResponse{}
671	if protoimpl.UnsafeEnabled {
672		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[7]
673		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
674		ms.StoreMessageInfo(mi)
675	}
676}
677
678func (x *ListImportJobsResponse) String() string {
679	return protoimpl.X.MessageStringOf(x)
680}
681
682func (*ListImportJobsResponse) ProtoMessage() {}
683
684func (x *ListImportJobsResponse) ProtoReflect() protoreflect.Message {
685	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[7]
686	if protoimpl.UnsafeEnabled && x != nil {
687		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
688		if ms.LoadMessageInfo() == nil {
689			ms.StoreMessageInfo(mi)
690		}
691		return ms
692	}
693	return mi.MessageOf(x)
694}
695
696// Deprecated: Use ListImportJobsResponse.ProtoReflect.Descriptor instead.
697func (*ListImportJobsResponse) Descriptor() ([]byte, []int) {
698	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{7}
699}
700
701func (x *ListImportJobsResponse) GetImportJobs() []*ImportJob {
702	if x != nil {
703		return x.ImportJobs
704	}
705	return nil
706}
707
708func (x *ListImportJobsResponse) GetNextPageToken() string {
709	if x != nil {
710		return x.NextPageToken
711	}
712	return ""
713}
714
715func (x *ListImportJobsResponse) GetTotalSize() int32 {
716	if x != nil {
717		return x.TotalSize
718	}
719	return 0
720}
721
722// Request message for [KeyManagementService.GetKeyRing][google.cloud.kms.v1.KeyManagementService.GetKeyRing].
723type GetKeyRingRequest struct {
724	state         protoimpl.MessageState
725	sizeCache     protoimpl.SizeCache
726	unknownFields protoimpl.UnknownFields
727
728	// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the [KeyRing][google.cloud.kms.v1.KeyRing] to get.
729	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
730}
731
732func (x *GetKeyRingRequest) Reset() {
733	*x = GetKeyRingRequest{}
734	if protoimpl.UnsafeEnabled {
735		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[8]
736		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
737		ms.StoreMessageInfo(mi)
738	}
739}
740
741func (x *GetKeyRingRequest) String() string {
742	return protoimpl.X.MessageStringOf(x)
743}
744
745func (*GetKeyRingRequest) ProtoMessage() {}
746
747func (x *GetKeyRingRequest) ProtoReflect() protoreflect.Message {
748	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[8]
749	if protoimpl.UnsafeEnabled && x != nil {
750		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
751		if ms.LoadMessageInfo() == nil {
752			ms.StoreMessageInfo(mi)
753		}
754		return ms
755	}
756	return mi.MessageOf(x)
757}
758
759// Deprecated: Use GetKeyRingRequest.ProtoReflect.Descriptor instead.
760func (*GetKeyRingRequest) Descriptor() ([]byte, []int) {
761	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{8}
762}
763
764func (x *GetKeyRingRequest) GetName() string {
765	if x != nil {
766		return x.Name
767	}
768	return ""
769}
770
771// Request message for [KeyManagementService.GetCryptoKey][google.cloud.kms.v1.KeyManagementService.GetCryptoKey].
772type GetCryptoKeyRequest struct {
773	state         protoimpl.MessageState
774	sizeCache     protoimpl.SizeCache
775	unknownFields protoimpl.UnknownFields
776
777	// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to get.
778	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
779}
780
781func (x *GetCryptoKeyRequest) Reset() {
782	*x = GetCryptoKeyRequest{}
783	if protoimpl.UnsafeEnabled {
784		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[9]
785		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
786		ms.StoreMessageInfo(mi)
787	}
788}
789
790func (x *GetCryptoKeyRequest) String() string {
791	return protoimpl.X.MessageStringOf(x)
792}
793
794func (*GetCryptoKeyRequest) ProtoMessage() {}
795
796func (x *GetCryptoKeyRequest) ProtoReflect() protoreflect.Message {
797	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[9]
798	if protoimpl.UnsafeEnabled && x != nil {
799		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
800		if ms.LoadMessageInfo() == nil {
801			ms.StoreMessageInfo(mi)
802		}
803		return ms
804	}
805	return mi.MessageOf(x)
806}
807
808// Deprecated: Use GetCryptoKeyRequest.ProtoReflect.Descriptor instead.
809func (*GetCryptoKeyRequest) Descriptor() ([]byte, []int) {
810	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{9}
811}
812
813func (x *GetCryptoKeyRequest) GetName() string {
814	if x != nil {
815		return x.Name
816	}
817	return ""
818}
819
820// Request message for [KeyManagementService.GetCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion].
821type GetCryptoKeyVersionRequest struct {
822	state         protoimpl.MessageState
823	sizeCache     protoimpl.SizeCache
824	unknownFields protoimpl.UnknownFields
825
826	// Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to get.
827	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
828}
829
830func (x *GetCryptoKeyVersionRequest) Reset() {
831	*x = GetCryptoKeyVersionRequest{}
832	if protoimpl.UnsafeEnabled {
833		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[10]
834		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
835		ms.StoreMessageInfo(mi)
836	}
837}
838
839func (x *GetCryptoKeyVersionRequest) String() string {
840	return protoimpl.X.MessageStringOf(x)
841}
842
843func (*GetCryptoKeyVersionRequest) ProtoMessage() {}
844
845func (x *GetCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
846	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[10]
847	if protoimpl.UnsafeEnabled && x != nil {
848		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
849		if ms.LoadMessageInfo() == nil {
850			ms.StoreMessageInfo(mi)
851		}
852		return ms
853	}
854	return mi.MessageOf(x)
855}
856
857// Deprecated: Use GetCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
858func (*GetCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
859	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{10}
860}
861
862func (x *GetCryptoKeyVersionRequest) GetName() string {
863	if x != nil {
864		return x.Name
865	}
866	return ""
867}
868
869// Request message for [KeyManagementService.GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
870type GetPublicKeyRequest struct {
871	state         protoimpl.MessageState
872	sizeCache     protoimpl.SizeCache
873	unknownFields protoimpl.UnknownFields
874
875	// Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key to
876	// get.
877	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
878}
879
880func (x *GetPublicKeyRequest) Reset() {
881	*x = GetPublicKeyRequest{}
882	if protoimpl.UnsafeEnabled {
883		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[11]
884		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
885		ms.StoreMessageInfo(mi)
886	}
887}
888
889func (x *GetPublicKeyRequest) String() string {
890	return protoimpl.X.MessageStringOf(x)
891}
892
893func (*GetPublicKeyRequest) ProtoMessage() {}
894
895func (x *GetPublicKeyRequest) ProtoReflect() protoreflect.Message {
896	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[11]
897	if protoimpl.UnsafeEnabled && x != nil {
898		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
899		if ms.LoadMessageInfo() == nil {
900			ms.StoreMessageInfo(mi)
901		}
902		return ms
903	}
904	return mi.MessageOf(x)
905}
906
907// Deprecated: Use GetPublicKeyRequest.ProtoReflect.Descriptor instead.
908func (*GetPublicKeyRequest) Descriptor() ([]byte, []int) {
909	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{11}
910}
911
912func (x *GetPublicKeyRequest) GetName() string {
913	if x != nil {
914		return x.Name
915	}
916	return ""
917}
918
919// Request message for [KeyManagementService.GetImportJob][google.cloud.kms.v1.KeyManagementService.GetImportJob].
920type GetImportJobRequest struct {
921	state         protoimpl.MessageState
922	sizeCache     protoimpl.SizeCache
923	unknownFields protoimpl.UnknownFields
924
925	// Required. The [name][google.cloud.kms.v1.ImportJob.name] of the [ImportJob][google.cloud.kms.v1.ImportJob] to get.
926	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
927}
928
929func (x *GetImportJobRequest) Reset() {
930	*x = GetImportJobRequest{}
931	if protoimpl.UnsafeEnabled {
932		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[12]
933		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
934		ms.StoreMessageInfo(mi)
935	}
936}
937
938func (x *GetImportJobRequest) String() string {
939	return protoimpl.X.MessageStringOf(x)
940}
941
942func (*GetImportJobRequest) ProtoMessage() {}
943
944func (x *GetImportJobRequest) ProtoReflect() protoreflect.Message {
945	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[12]
946	if protoimpl.UnsafeEnabled && x != nil {
947		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
948		if ms.LoadMessageInfo() == nil {
949			ms.StoreMessageInfo(mi)
950		}
951		return ms
952	}
953	return mi.MessageOf(x)
954}
955
956// Deprecated: Use GetImportJobRequest.ProtoReflect.Descriptor instead.
957func (*GetImportJobRequest) Descriptor() ([]byte, []int) {
958	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{12}
959}
960
961func (x *GetImportJobRequest) GetName() string {
962	if x != nil {
963		return x.Name
964	}
965	return ""
966}
967
968// Request message for [KeyManagementService.CreateKeyRing][google.cloud.kms.v1.KeyManagementService.CreateKeyRing].
969type CreateKeyRingRequest struct {
970	state         protoimpl.MessageState
971	sizeCache     protoimpl.SizeCache
972	unknownFields protoimpl.UnknownFields
973
974	// Required. The resource name of the location associated with the
975	// [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
976	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
977	// Required. It must be unique within a location and match the regular
978	// expression `[a-zA-Z0-9_-]{1,63}`
979	KeyRingId string `protobuf:"bytes,2,opt,name=key_ring_id,json=keyRingId,proto3" json:"key_ring_id,omitempty"`
980	// Required. A [KeyRing][google.cloud.kms.v1.KeyRing] with initial field values.
981	KeyRing *KeyRing `protobuf:"bytes,3,opt,name=key_ring,json=keyRing,proto3" json:"key_ring,omitempty"`
982}
983
984func (x *CreateKeyRingRequest) Reset() {
985	*x = CreateKeyRingRequest{}
986	if protoimpl.UnsafeEnabled {
987		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[13]
988		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
989		ms.StoreMessageInfo(mi)
990	}
991}
992
993func (x *CreateKeyRingRequest) String() string {
994	return protoimpl.X.MessageStringOf(x)
995}
996
997func (*CreateKeyRingRequest) ProtoMessage() {}
998
999func (x *CreateKeyRingRequest) ProtoReflect() protoreflect.Message {
1000	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[13]
1001	if protoimpl.UnsafeEnabled && x != nil {
1002		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1003		if ms.LoadMessageInfo() == nil {
1004			ms.StoreMessageInfo(mi)
1005		}
1006		return ms
1007	}
1008	return mi.MessageOf(x)
1009}
1010
1011// Deprecated: Use CreateKeyRingRequest.ProtoReflect.Descriptor instead.
1012func (*CreateKeyRingRequest) Descriptor() ([]byte, []int) {
1013	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{13}
1014}
1015
1016func (x *CreateKeyRingRequest) GetParent() string {
1017	if x != nil {
1018		return x.Parent
1019	}
1020	return ""
1021}
1022
1023func (x *CreateKeyRingRequest) GetKeyRingId() string {
1024	if x != nil {
1025		return x.KeyRingId
1026	}
1027	return ""
1028}
1029
1030func (x *CreateKeyRingRequest) GetKeyRing() *KeyRing {
1031	if x != nil {
1032		return x.KeyRing
1033	}
1034	return nil
1035}
1036
1037// Request message for [KeyManagementService.CreateCryptoKey][google.cloud.kms.v1.KeyManagementService.CreateCryptoKey].
1038type CreateCryptoKeyRequest struct {
1039	state         protoimpl.MessageState
1040	sizeCache     protoimpl.SizeCache
1041	unknownFields protoimpl.UnknownFields
1042
1043	// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the KeyRing associated with the
1044	// [CryptoKeys][google.cloud.kms.v1.CryptoKey].
1045	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1046	// Required. It must be unique within a KeyRing and match the regular
1047	// expression `[a-zA-Z0-9_-]{1,63}`
1048	CryptoKeyId string `protobuf:"bytes,2,opt,name=crypto_key_id,json=cryptoKeyId,proto3" json:"crypto_key_id,omitempty"`
1049	// Required. A [CryptoKey][google.cloud.kms.v1.CryptoKey] with initial field values.
1050	CryptoKey *CryptoKey `protobuf:"bytes,3,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
1051	// If set to true, the request will create a [CryptoKey][google.cloud.kms.v1.CryptoKey] without any
1052	// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]. You must manually call
1053	// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or
1054	// [ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]
1055	// before you can use this [CryptoKey][google.cloud.kms.v1.CryptoKey].
1056	SkipInitialVersionCreation bool `protobuf:"varint,5,opt,name=skip_initial_version_creation,json=skipInitialVersionCreation,proto3" json:"skip_initial_version_creation,omitempty"`
1057}
1058
1059func (x *CreateCryptoKeyRequest) Reset() {
1060	*x = CreateCryptoKeyRequest{}
1061	if protoimpl.UnsafeEnabled {
1062		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[14]
1063		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1064		ms.StoreMessageInfo(mi)
1065	}
1066}
1067
1068func (x *CreateCryptoKeyRequest) String() string {
1069	return protoimpl.X.MessageStringOf(x)
1070}
1071
1072func (*CreateCryptoKeyRequest) ProtoMessage() {}
1073
1074func (x *CreateCryptoKeyRequest) ProtoReflect() protoreflect.Message {
1075	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[14]
1076	if protoimpl.UnsafeEnabled && x != nil {
1077		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1078		if ms.LoadMessageInfo() == nil {
1079			ms.StoreMessageInfo(mi)
1080		}
1081		return ms
1082	}
1083	return mi.MessageOf(x)
1084}
1085
1086// Deprecated: Use CreateCryptoKeyRequest.ProtoReflect.Descriptor instead.
1087func (*CreateCryptoKeyRequest) Descriptor() ([]byte, []int) {
1088	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{14}
1089}
1090
1091func (x *CreateCryptoKeyRequest) GetParent() string {
1092	if x != nil {
1093		return x.Parent
1094	}
1095	return ""
1096}
1097
1098func (x *CreateCryptoKeyRequest) GetCryptoKeyId() string {
1099	if x != nil {
1100		return x.CryptoKeyId
1101	}
1102	return ""
1103}
1104
1105func (x *CreateCryptoKeyRequest) GetCryptoKey() *CryptoKey {
1106	if x != nil {
1107		return x.CryptoKey
1108	}
1109	return nil
1110}
1111
1112func (x *CreateCryptoKeyRequest) GetSkipInitialVersionCreation() bool {
1113	if x != nil {
1114		return x.SkipInitialVersionCreation
1115	}
1116	return false
1117}
1118
1119// Request message for [KeyManagementService.CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion].
1120type CreateCryptoKeyVersionRequest struct {
1121	state         protoimpl.MessageState
1122	sizeCache     protoimpl.SizeCache
1123	unknownFields protoimpl.UnknownFields
1124
1125	// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] associated with
1126	// the [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
1127	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1128	// Required. A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with initial field values.
1129	CryptoKeyVersion *CryptoKeyVersion `protobuf:"bytes,2,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
1130}
1131
1132func (x *CreateCryptoKeyVersionRequest) Reset() {
1133	*x = CreateCryptoKeyVersionRequest{}
1134	if protoimpl.UnsafeEnabled {
1135		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[15]
1136		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1137		ms.StoreMessageInfo(mi)
1138	}
1139}
1140
1141func (x *CreateCryptoKeyVersionRequest) String() string {
1142	return protoimpl.X.MessageStringOf(x)
1143}
1144
1145func (*CreateCryptoKeyVersionRequest) ProtoMessage() {}
1146
1147func (x *CreateCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1148	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[15]
1149	if protoimpl.UnsafeEnabled && x != nil {
1150		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1151		if ms.LoadMessageInfo() == nil {
1152			ms.StoreMessageInfo(mi)
1153		}
1154		return ms
1155	}
1156	return mi.MessageOf(x)
1157}
1158
1159// Deprecated: Use CreateCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1160func (*CreateCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1161	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{15}
1162}
1163
1164func (x *CreateCryptoKeyVersionRequest) GetParent() string {
1165	if x != nil {
1166		return x.Parent
1167	}
1168	return ""
1169}
1170
1171func (x *CreateCryptoKeyVersionRequest) GetCryptoKeyVersion() *CryptoKeyVersion {
1172	if x != nil {
1173		return x.CryptoKeyVersion
1174	}
1175	return nil
1176}
1177
1178// Request message for [KeyManagementService.ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion].
1179type ImportCryptoKeyVersionRequest struct {
1180	state         protoimpl.MessageState
1181	sizeCache     protoimpl.SizeCache
1182	unknownFields protoimpl.UnknownFields
1183
1184	// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to be imported into.
1185	//
1186	// The create permission is only required on this key when creating a new
1187	// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
1188	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1189	// Optional. The optional [name][google.cloud.kms.v1.CryptoKeyVersion.name] of an existing
1190	// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to target for an import operation.
1191	// If this field is not present, a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] containing the
1192	// supplied key material is created.
1193	//
1194	// If this field is present, the supplied key material is imported into
1195	// the existing [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. To import into an existing
1196	// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] must be a child of
1197	// [ImportCryptoKeyVersionRequest.parent][google.cloud.kms.v1.ImportCryptoKeyVersionRequest.parent], have been previously created via
1198	// [ImportCryptoKeyVersion][], and be in
1199	// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED] or
1200	// [IMPORT_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.IMPORT_FAILED]
1201	// state. The key material and algorithm must match the previous
1202	// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] exactly if the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] has ever contained
1203	// key material.
1204	CryptoKeyVersion string `protobuf:"bytes,6,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
1205	// Required. The [algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm] of
1206	// the key being imported. This does not need to match the
1207	// [version_template][google.cloud.kms.v1.CryptoKey.version_template] of the [CryptoKey][google.cloud.kms.v1.CryptoKey] this
1208	// version imports into.
1209	Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,2,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"`
1210	// Required. The [name][google.cloud.kms.v1.ImportJob.name] of the [ImportJob][google.cloud.kms.v1.ImportJob] that was used to
1211	// wrap this key material.
1212	ImportJob string `protobuf:"bytes,4,opt,name=import_job,json=importJob,proto3" json:"import_job,omitempty"`
1213	// Required. The incoming wrapped key material that is to be imported.
1214	//
1215	// Types that are assignable to WrappedKeyMaterial:
1216	//	*ImportCryptoKeyVersionRequest_RsaAesWrappedKey
1217	WrappedKeyMaterial isImportCryptoKeyVersionRequest_WrappedKeyMaterial `protobuf_oneof:"wrapped_key_material"`
1218}
1219
1220func (x *ImportCryptoKeyVersionRequest) Reset() {
1221	*x = ImportCryptoKeyVersionRequest{}
1222	if protoimpl.UnsafeEnabled {
1223		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[16]
1224		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1225		ms.StoreMessageInfo(mi)
1226	}
1227}
1228
1229func (x *ImportCryptoKeyVersionRequest) String() string {
1230	return protoimpl.X.MessageStringOf(x)
1231}
1232
1233func (*ImportCryptoKeyVersionRequest) ProtoMessage() {}
1234
1235func (x *ImportCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1236	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[16]
1237	if protoimpl.UnsafeEnabled && x != nil {
1238		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1239		if ms.LoadMessageInfo() == nil {
1240			ms.StoreMessageInfo(mi)
1241		}
1242		return ms
1243	}
1244	return mi.MessageOf(x)
1245}
1246
1247// Deprecated: Use ImportCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1248func (*ImportCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1249	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{16}
1250}
1251
1252func (x *ImportCryptoKeyVersionRequest) GetParent() string {
1253	if x != nil {
1254		return x.Parent
1255	}
1256	return ""
1257}
1258
1259func (x *ImportCryptoKeyVersionRequest) GetCryptoKeyVersion() string {
1260	if x != nil {
1261		return x.CryptoKeyVersion
1262	}
1263	return ""
1264}
1265
1266func (x *ImportCryptoKeyVersionRequest) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithm {
1267	if x != nil {
1268		return x.Algorithm
1269	}
1270	return CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED
1271}
1272
1273func (x *ImportCryptoKeyVersionRequest) GetImportJob() string {
1274	if x != nil {
1275		return x.ImportJob
1276	}
1277	return ""
1278}
1279
1280func (m *ImportCryptoKeyVersionRequest) GetWrappedKeyMaterial() isImportCryptoKeyVersionRequest_WrappedKeyMaterial {
1281	if m != nil {
1282		return m.WrappedKeyMaterial
1283	}
1284	return nil
1285}
1286
1287func (x *ImportCryptoKeyVersionRequest) GetRsaAesWrappedKey() []byte {
1288	if x, ok := x.GetWrappedKeyMaterial().(*ImportCryptoKeyVersionRequest_RsaAesWrappedKey); ok {
1289		return x.RsaAesWrappedKey
1290	}
1291	return nil
1292}
1293
1294type isImportCryptoKeyVersionRequest_WrappedKeyMaterial interface {
1295	isImportCryptoKeyVersionRequest_WrappedKeyMaterial()
1296}
1297
1298type ImportCryptoKeyVersionRequest_RsaAesWrappedKey struct {
1299	// Wrapped key material produced with
1300	// [RSA_OAEP_3072_SHA1_AES_256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_3072_SHA1_AES_256]
1301	// or
1302	// [RSA_OAEP_4096_SHA1_AES_256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_4096_SHA1_AES_256].
1303	//
1304	// This field contains the concatenation of two wrapped keys:
1305	// <ol>
1306	//   <li>An ephemeral AES-256 wrapping key wrapped with the
1307	//       [public_key][google.cloud.kms.v1.ImportJob.public_key] using RSAES-OAEP with SHA-1,
1308	//       MGF1 with SHA-1, and an empty label.
1309	//   </li>
1310	//   <li>The key to be imported, wrapped with the ephemeral AES-256 key
1311	//       using AES-KWP (RFC 5649).
1312	//   </li>
1313	// </ol>
1314	//
1315	// If importing symmetric key material, it is expected that the unwrapped
1316	// key contains plain bytes. If importing asymmetric key material, it is
1317	// expected that the unwrapped key is in PKCS#8-encoded DER format (the
1318	// PrivateKeyInfo structure from RFC 5208).
1319	//
1320	// This format is the same as the format produced by PKCS#11 mechanism
1321	// CKM_RSA_AES_KEY_WRAP.
1322	RsaAesWrappedKey []byte `protobuf:"bytes,5,opt,name=rsa_aes_wrapped_key,json=rsaAesWrappedKey,proto3,oneof"`
1323}
1324
1325func (*ImportCryptoKeyVersionRequest_RsaAesWrappedKey) isImportCryptoKeyVersionRequest_WrappedKeyMaterial() {
1326}
1327
1328// Request message for [KeyManagementService.CreateImportJob][google.cloud.kms.v1.KeyManagementService.CreateImportJob].
1329type CreateImportJobRequest struct {
1330	state         protoimpl.MessageState
1331	sizeCache     protoimpl.SizeCache
1332	unknownFields protoimpl.UnknownFields
1333
1334	// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the [KeyRing][google.cloud.kms.v1.KeyRing] associated with the
1335	// [ImportJobs][google.cloud.kms.v1.ImportJob].
1336	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1337	// Required. It must be unique within a KeyRing and match the regular
1338	// expression `[a-zA-Z0-9_-]{1,63}`
1339	ImportJobId string `protobuf:"bytes,2,opt,name=import_job_id,json=importJobId,proto3" json:"import_job_id,omitempty"`
1340	// Required. An [ImportJob][google.cloud.kms.v1.ImportJob] with initial field values.
1341	ImportJob *ImportJob `protobuf:"bytes,3,opt,name=import_job,json=importJob,proto3" json:"import_job,omitempty"`
1342}
1343
1344func (x *CreateImportJobRequest) Reset() {
1345	*x = CreateImportJobRequest{}
1346	if protoimpl.UnsafeEnabled {
1347		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[17]
1348		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1349		ms.StoreMessageInfo(mi)
1350	}
1351}
1352
1353func (x *CreateImportJobRequest) String() string {
1354	return protoimpl.X.MessageStringOf(x)
1355}
1356
1357func (*CreateImportJobRequest) ProtoMessage() {}
1358
1359func (x *CreateImportJobRequest) ProtoReflect() protoreflect.Message {
1360	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[17]
1361	if protoimpl.UnsafeEnabled && x != nil {
1362		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1363		if ms.LoadMessageInfo() == nil {
1364			ms.StoreMessageInfo(mi)
1365		}
1366		return ms
1367	}
1368	return mi.MessageOf(x)
1369}
1370
1371// Deprecated: Use CreateImportJobRequest.ProtoReflect.Descriptor instead.
1372func (*CreateImportJobRequest) Descriptor() ([]byte, []int) {
1373	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{17}
1374}
1375
1376func (x *CreateImportJobRequest) GetParent() string {
1377	if x != nil {
1378		return x.Parent
1379	}
1380	return ""
1381}
1382
1383func (x *CreateImportJobRequest) GetImportJobId() string {
1384	if x != nil {
1385		return x.ImportJobId
1386	}
1387	return ""
1388}
1389
1390func (x *CreateImportJobRequest) GetImportJob() *ImportJob {
1391	if x != nil {
1392		return x.ImportJob
1393	}
1394	return nil
1395}
1396
1397// Request message for [KeyManagementService.UpdateCryptoKey][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey].
1398type UpdateCryptoKeyRequest struct {
1399	state         protoimpl.MessageState
1400	sizeCache     protoimpl.SizeCache
1401	unknownFields protoimpl.UnknownFields
1402
1403	// Required. [CryptoKey][google.cloud.kms.v1.CryptoKey] with updated values.
1404	CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
1405	// Required. List of fields to be updated in this request.
1406	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1407}
1408
1409func (x *UpdateCryptoKeyRequest) Reset() {
1410	*x = UpdateCryptoKeyRequest{}
1411	if protoimpl.UnsafeEnabled {
1412		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[18]
1413		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1414		ms.StoreMessageInfo(mi)
1415	}
1416}
1417
1418func (x *UpdateCryptoKeyRequest) String() string {
1419	return protoimpl.X.MessageStringOf(x)
1420}
1421
1422func (*UpdateCryptoKeyRequest) ProtoMessage() {}
1423
1424func (x *UpdateCryptoKeyRequest) ProtoReflect() protoreflect.Message {
1425	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[18]
1426	if protoimpl.UnsafeEnabled && x != nil {
1427		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1428		if ms.LoadMessageInfo() == nil {
1429			ms.StoreMessageInfo(mi)
1430		}
1431		return ms
1432	}
1433	return mi.MessageOf(x)
1434}
1435
1436// Deprecated: Use UpdateCryptoKeyRequest.ProtoReflect.Descriptor instead.
1437func (*UpdateCryptoKeyRequest) Descriptor() ([]byte, []int) {
1438	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{18}
1439}
1440
1441func (x *UpdateCryptoKeyRequest) GetCryptoKey() *CryptoKey {
1442	if x != nil {
1443		return x.CryptoKey
1444	}
1445	return nil
1446}
1447
1448func (x *UpdateCryptoKeyRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1449	if x != nil {
1450		return x.UpdateMask
1451	}
1452	return nil
1453}
1454
1455// Request message for [KeyManagementService.UpdateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion].
1456type UpdateCryptoKeyVersionRequest struct {
1457	state         protoimpl.MessageState
1458	sizeCache     protoimpl.SizeCache
1459	unknownFields protoimpl.UnknownFields
1460
1461	// Required. [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with updated values.
1462	CryptoKeyVersion *CryptoKeyVersion `protobuf:"bytes,1,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
1463	// Required. List of fields to be updated in this request.
1464	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1465}
1466
1467func (x *UpdateCryptoKeyVersionRequest) Reset() {
1468	*x = UpdateCryptoKeyVersionRequest{}
1469	if protoimpl.UnsafeEnabled {
1470		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[19]
1471		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1472		ms.StoreMessageInfo(mi)
1473	}
1474}
1475
1476func (x *UpdateCryptoKeyVersionRequest) String() string {
1477	return protoimpl.X.MessageStringOf(x)
1478}
1479
1480func (*UpdateCryptoKeyVersionRequest) ProtoMessage() {}
1481
1482func (x *UpdateCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1483	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[19]
1484	if protoimpl.UnsafeEnabled && x != nil {
1485		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1486		if ms.LoadMessageInfo() == nil {
1487			ms.StoreMessageInfo(mi)
1488		}
1489		return ms
1490	}
1491	return mi.MessageOf(x)
1492}
1493
1494// Deprecated: Use UpdateCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1495func (*UpdateCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1496	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{19}
1497}
1498
1499func (x *UpdateCryptoKeyVersionRequest) GetCryptoKeyVersion() *CryptoKeyVersion {
1500	if x != nil {
1501		return x.CryptoKeyVersion
1502	}
1503	return nil
1504}
1505
1506func (x *UpdateCryptoKeyVersionRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1507	if x != nil {
1508		return x.UpdateMask
1509	}
1510	return nil
1511}
1512
1513// Request message for [KeyManagementService.UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion].
1514type UpdateCryptoKeyPrimaryVersionRequest struct {
1515	state         protoimpl.MessageState
1516	sizeCache     protoimpl.SizeCache
1517	unknownFields protoimpl.UnknownFields
1518
1519	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to update.
1520	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1521	// Required. The id of the child [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use as primary.
1522	CryptoKeyVersionId string `protobuf:"bytes,2,opt,name=crypto_key_version_id,json=cryptoKeyVersionId,proto3" json:"crypto_key_version_id,omitempty"`
1523}
1524
1525func (x *UpdateCryptoKeyPrimaryVersionRequest) Reset() {
1526	*x = UpdateCryptoKeyPrimaryVersionRequest{}
1527	if protoimpl.UnsafeEnabled {
1528		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[20]
1529		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1530		ms.StoreMessageInfo(mi)
1531	}
1532}
1533
1534func (x *UpdateCryptoKeyPrimaryVersionRequest) String() string {
1535	return protoimpl.X.MessageStringOf(x)
1536}
1537
1538func (*UpdateCryptoKeyPrimaryVersionRequest) ProtoMessage() {}
1539
1540func (x *UpdateCryptoKeyPrimaryVersionRequest) ProtoReflect() protoreflect.Message {
1541	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[20]
1542	if protoimpl.UnsafeEnabled && x != nil {
1543		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1544		if ms.LoadMessageInfo() == nil {
1545			ms.StoreMessageInfo(mi)
1546		}
1547		return ms
1548	}
1549	return mi.MessageOf(x)
1550}
1551
1552// Deprecated: Use UpdateCryptoKeyPrimaryVersionRequest.ProtoReflect.Descriptor instead.
1553func (*UpdateCryptoKeyPrimaryVersionRequest) Descriptor() ([]byte, []int) {
1554	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{20}
1555}
1556
1557func (x *UpdateCryptoKeyPrimaryVersionRequest) GetName() string {
1558	if x != nil {
1559		return x.Name
1560	}
1561	return ""
1562}
1563
1564func (x *UpdateCryptoKeyPrimaryVersionRequest) GetCryptoKeyVersionId() string {
1565	if x != nil {
1566		return x.CryptoKeyVersionId
1567	}
1568	return ""
1569}
1570
1571// Request message for [KeyManagementService.DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion].
1572type DestroyCryptoKeyVersionRequest struct {
1573	state         protoimpl.MessageState
1574	sizeCache     protoimpl.SizeCache
1575	unknownFields protoimpl.UnknownFields
1576
1577	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to destroy.
1578	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1579}
1580
1581func (x *DestroyCryptoKeyVersionRequest) Reset() {
1582	*x = DestroyCryptoKeyVersionRequest{}
1583	if protoimpl.UnsafeEnabled {
1584		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[21]
1585		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1586		ms.StoreMessageInfo(mi)
1587	}
1588}
1589
1590func (x *DestroyCryptoKeyVersionRequest) String() string {
1591	return protoimpl.X.MessageStringOf(x)
1592}
1593
1594func (*DestroyCryptoKeyVersionRequest) ProtoMessage() {}
1595
1596func (x *DestroyCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1597	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[21]
1598	if protoimpl.UnsafeEnabled && x != nil {
1599		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1600		if ms.LoadMessageInfo() == nil {
1601			ms.StoreMessageInfo(mi)
1602		}
1603		return ms
1604	}
1605	return mi.MessageOf(x)
1606}
1607
1608// Deprecated: Use DestroyCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1609func (*DestroyCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1610	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{21}
1611}
1612
1613func (x *DestroyCryptoKeyVersionRequest) GetName() string {
1614	if x != nil {
1615		return x.Name
1616	}
1617	return ""
1618}
1619
1620// Request message for [KeyManagementService.RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion].
1621type RestoreCryptoKeyVersionRequest struct {
1622	state         protoimpl.MessageState
1623	sizeCache     protoimpl.SizeCache
1624	unknownFields protoimpl.UnknownFields
1625
1626	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to restore.
1627	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1628}
1629
1630func (x *RestoreCryptoKeyVersionRequest) Reset() {
1631	*x = RestoreCryptoKeyVersionRequest{}
1632	if protoimpl.UnsafeEnabled {
1633		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[22]
1634		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1635		ms.StoreMessageInfo(mi)
1636	}
1637}
1638
1639func (x *RestoreCryptoKeyVersionRequest) String() string {
1640	return protoimpl.X.MessageStringOf(x)
1641}
1642
1643func (*RestoreCryptoKeyVersionRequest) ProtoMessage() {}
1644
1645func (x *RestoreCryptoKeyVersionRequest) ProtoReflect() protoreflect.Message {
1646	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[22]
1647	if protoimpl.UnsafeEnabled && x != nil {
1648		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1649		if ms.LoadMessageInfo() == nil {
1650			ms.StoreMessageInfo(mi)
1651		}
1652		return ms
1653	}
1654	return mi.MessageOf(x)
1655}
1656
1657// Deprecated: Use RestoreCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
1658func (*RestoreCryptoKeyVersionRequest) Descriptor() ([]byte, []int) {
1659	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{22}
1660}
1661
1662func (x *RestoreCryptoKeyVersionRequest) GetName() string {
1663	if x != nil {
1664		return x.Name
1665	}
1666	return ""
1667}
1668
1669// Request message for [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
1670type EncryptRequest struct {
1671	state         protoimpl.MessageState
1672	sizeCache     protoimpl.SizeCache
1673	unknownFields protoimpl.UnknownFields
1674
1675	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] or [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
1676	// to use for encryption.
1677	//
1678	// If a [CryptoKey][google.cloud.kms.v1.CryptoKey] is specified, the server will use its
1679	// [primary version][google.cloud.kms.v1.CryptoKey.primary].
1680	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1681	// Required. The data to encrypt. Must be no larger than 64KiB.
1682	//
1683	// The maximum size depends on the key version's
1684	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For
1685	// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the plaintext must be no larger
1686	// than 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of the
1687	// plaintext and additional_authenticated_data fields must be no larger than
1688	// 8KiB.
1689	Plaintext []byte `protobuf:"bytes,2,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
1690	// Optional. Optional data that, if specified, must also be provided during decryption
1691	// through [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data].
1692	//
1693	// The maximum size depends on the key version's
1694	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For
1695	// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the AAD must be no larger than
1696	// 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of the
1697	// plaintext and additional_authenticated_data fields must be no larger than
1698	// 8KiB.
1699	AdditionalAuthenticatedData []byte `protobuf:"bytes,3,opt,name=additional_authenticated_data,json=additionalAuthenticatedData,proto3" json:"additional_authenticated_data,omitempty"`
1700	// Optional. An optional CRC32C checksum of the [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]. If
1701	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1702	// received [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext] using this checksum.
1703	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1704	// fails. If you receive a checksum error, your client should verify that
1705	// CRC32C([EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]) is equal to
1706	// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c], and if so, perform a limited number of
1707	// retries. A persistent mismatch may indicate an issue in your computation of
1708	// the CRC32C checksum.
1709	// Note: This field is defined as int64 for reasons of compatibility across
1710	// different languages. However, it is a non-negative integer, which will
1711	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1712	// that support this type.
1713	PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,7,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
1714	// Optional. An optional CRC32C checksum of the
1715	// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]. If specified,
1716	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the received
1717	// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data] using this checksum.
1718	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1719	// fails. If you receive a checksum error, your client should verify that
1720	// CRC32C([EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]) is equal to
1721	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c], and if so, perform
1722	// a limited number of retries. A persistent mismatch may indicate an issue in
1723	// your computation of the CRC32C checksum.
1724	// Note: This field is defined as int64 for reasons of compatibility across
1725	// different languages. However, it is a non-negative integer, which will
1726	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1727	// that support this type.
1728	AdditionalAuthenticatedDataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,8,opt,name=additional_authenticated_data_crc32c,json=additionalAuthenticatedDataCrc32c,proto3" json:"additional_authenticated_data_crc32c,omitempty"`
1729}
1730
1731func (x *EncryptRequest) Reset() {
1732	*x = EncryptRequest{}
1733	if protoimpl.UnsafeEnabled {
1734		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[23]
1735		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1736		ms.StoreMessageInfo(mi)
1737	}
1738}
1739
1740func (x *EncryptRequest) String() string {
1741	return protoimpl.X.MessageStringOf(x)
1742}
1743
1744func (*EncryptRequest) ProtoMessage() {}
1745
1746func (x *EncryptRequest) ProtoReflect() protoreflect.Message {
1747	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[23]
1748	if protoimpl.UnsafeEnabled && x != nil {
1749		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1750		if ms.LoadMessageInfo() == nil {
1751			ms.StoreMessageInfo(mi)
1752		}
1753		return ms
1754	}
1755	return mi.MessageOf(x)
1756}
1757
1758// Deprecated: Use EncryptRequest.ProtoReflect.Descriptor instead.
1759func (*EncryptRequest) Descriptor() ([]byte, []int) {
1760	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{23}
1761}
1762
1763func (x *EncryptRequest) GetName() string {
1764	if x != nil {
1765		return x.Name
1766	}
1767	return ""
1768}
1769
1770func (x *EncryptRequest) GetPlaintext() []byte {
1771	if x != nil {
1772		return x.Plaintext
1773	}
1774	return nil
1775}
1776
1777func (x *EncryptRequest) GetAdditionalAuthenticatedData() []byte {
1778	if x != nil {
1779		return x.AdditionalAuthenticatedData
1780	}
1781	return nil
1782}
1783
1784func (x *EncryptRequest) GetPlaintextCrc32C() *wrapperspb.Int64Value {
1785	if x != nil {
1786		return x.PlaintextCrc32C
1787	}
1788	return nil
1789}
1790
1791func (x *EncryptRequest) GetAdditionalAuthenticatedDataCrc32C() *wrapperspb.Int64Value {
1792	if x != nil {
1793		return x.AdditionalAuthenticatedDataCrc32C
1794	}
1795	return nil
1796}
1797
1798// Request message for [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
1799type DecryptRequest struct {
1800	state         protoimpl.MessageState
1801	sizeCache     protoimpl.SizeCache
1802	unknownFields protoimpl.UnknownFields
1803
1804	// Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to use for decryption.
1805	// The server will choose the appropriate version.
1806	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1807	// Required. The encrypted data originally returned in
1808	// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext].
1809	Ciphertext []byte `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
1810	// Optional. Optional data that must match the data originally supplied in
1811	// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data].
1812	AdditionalAuthenticatedData []byte `protobuf:"bytes,3,opt,name=additional_authenticated_data,json=additionalAuthenticatedData,proto3" json:"additional_authenticated_data,omitempty"`
1813	// Optional. An optional CRC32C checksum of the [DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext]. If
1814	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1815	// received [DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext] using this checksum.
1816	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1817	// fails. If you receive a checksum error, your client should verify that
1818	// CRC32C([DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext]) is equal to
1819	// [DecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.DecryptRequest.ciphertext_crc32c], and if so, perform a limited number
1820	// of retries. A persistent mismatch may indicate an issue in your computation
1821	// of the CRC32C checksum.
1822	// Note: This field is defined as int64 for reasons of compatibility across
1823	// different languages. However, it is a non-negative integer, which will
1824	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1825	// that support this type.
1826	CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
1827	// Optional. An optional CRC32C checksum of the
1828	// [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data]. If specified,
1829	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the received
1830	// [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data] using this checksum.
1831	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1832	// fails. If you receive a checksum error, your client should verify that
1833	// CRC32C([DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data]) is equal to
1834	// [DecryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data_crc32c], and if so, perform
1835	// a limited number of retries. A persistent mismatch may indicate an issue in
1836	// your computation of the CRC32C checksum.
1837	// Note: This field is defined as int64 for reasons of compatibility across
1838	// different languages. However, it is a non-negative integer, which will
1839	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1840	// that support this type.
1841	AdditionalAuthenticatedDataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,6,opt,name=additional_authenticated_data_crc32c,json=additionalAuthenticatedDataCrc32c,proto3" json:"additional_authenticated_data_crc32c,omitempty"`
1842}
1843
1844func (x *DecryptRequest) Reset() {
1845	*x = DecryptRequest{}
1846	if protoimpl.UnsafeEnabled {
1847		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[24]
1848		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1849		ms.StoreMessageInfo(mi)
1850	}
1851}
1852
1853func (x *DecryptRequest) String() string {
1854	return protoimpl.X.MessageStringOf(x)
1855}
1856
1857func (*DecryptRequest) ProtoMessage() {}
1858
1859func (x *DecryptRequest) ProtoReflect() protoreflect.Message {
1860	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[24]
1861	if protoimpl.UnsafeEnabled && x != nil {
1862		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1863		if ms.LoadMessageInfo() == nil {
1864			ms.StoreMessageInfo(mi)
1865		}
1866		return ms
1867	}
1868	return mi.MessageOf(x)
1869}
1870
1871// Deprecated: Use DecryptRequest.ProtoReflect.Descriptor instead.
1872func (*DecryptRequest) Descriptor() ([]byte, []int) {
1873	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{24}
1874}
1875
1876func (x *DecryptRequest) GetName() string {
1877	if x != nil {
1878		return x.Name
1879	}
1880	return ""
1881}
1882
1883func (x *DecryptRequest) GetCiphertext() []byte {
1884	if x != nil {
1885		return x.Ciphertext
1886	}
1887	return nil
1888}
1889
1890func (x *DecryptRequest) GetAdditionalAuthenticatedData() []byte {
1891	if x != nil {
1892		return x.AdditionalAuthenticatedData
1893	}
1894	return nil
1895}
1896
1897func (x *DecryptRequest) GetCiphertextCrc32C() *wrapperspb.Int64Value {
1898	if x != nil {
1899		return x.CiphertextCrc32C
1900	}
1901	return nil
1902}
1903
1904func (x *DecryptRequest) GetAdditionalAuthenticatedDataCrc32C() *wrapperspb.Int64Value {
1905	if x != nil {
1906		return x.AdditionalAuthenticatedDataCrc32C
1907	}
1908	return nil
1909}
1910
1911// Request message for [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
1912type AsymmetricSignRequest struct {
1913	state         protoimpl.MessageState
1914	sizeCache     protoimpl.SizeCache
1915	unknownFields protoimpl.UnknownFields
1916
1917	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for signing.
1918	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1919	// Required. The digest of the data to sign. The digest must be produced with
1920	// the same digest algorithm as specified by the key version's
1921	// [algorithm][google.cloud.kms.v1.CryptoKeyVersion.algorithm].
1922	Digest *Digest `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`
1923	// Optional. An optional CRC32C checksum of the [AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]. If
1924	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
1925	// received [AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest] using this checksum.
1926	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
1927	// fails. If you receive a checksum error, your client should verify that
1928	// CRC32C([AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]) is equal to
1929	// [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c], and if so, perform a limited
1930	// number of retries. A persistent mismatch may indicate an issue in your
1931	// computation of the CRC32C checksum.
1932	// Note: This field is defined as int64 for reasons of compatibility across
1933	// different languages. However, it is a non-negative integer, which will
1934	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
1935	// that support this type.
1936	DigestCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=digest_crc32c,json=digestCrc32c,proto3" json:"digest_crc32c,omitempty"`
1937}
1938
1939func (x *AsymmetricSignRequest) Reset() {
1940	*x = AsymmetricSignRequest{}
1941	if protoimpl.UnsafeEnabled {
1942		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[25]
1943		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1944		ms.StoreMessageInfo(mi)
1945	}
1946}
1947
1948func (x *AsymmetricSignRequest) String() string {
1949	return protoimpl.X.MessageStringOf(x)
1950}
1951
1952func (*AsymmetricSignRequest) ProtoMessage() {}
1953
1954func (x *AsymmetricSignRequest) ProtoReflect() protoreflect.Message {
1955	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[25]
1956	if protoimpl.UnsafeEnabled && x != nil {
1957		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1958		if ms.LoadMessageInfo() == nil {
1959			ms.StoreMessageInfo(mi)
1960		}
1961		return ms
1962	}
1963	return mi.MessageOf(x)
1964}
1965
1966// Deprecated: Use AsymmetricSignRequest.ProtoReflect.Descriptor instead.
1967func (*AsymmetricSignRequest) Descriptor() ([]byte, []int) {
1968	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{25}
1969}
1970
1971func (x *AsymmetricSignRequest) GetName() string {
1972	if x != nil {
1973		return x.Name
1974	}
1975	return ""
1976}
1977
1978func (x *AsymmetricSignRequest) GetDigest() *Digest {
1979	if x != nil {
1980		return x.Digest
1981	}
1982	return nil
1983}
1984
1985func (x *AsymmetricSignRequest) GetDigestCrc32C() *wrapperspb.Int64Value {
1986	if x != nil {
1987		return x.DigestCrc32C
1988	}
1989	return nil
1990}
1991
1992// Request message for [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
1993type AsymmetricDecryptRequest struct {
1994	state         protoimpl.MessageState
1995	sizeCache     protoimpl.SizeCache
1996	unknownFields protoimpl.UnknownFields
1997
1998	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
1999	// decryption.
2000	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2001	// Required. The data encrypted with the named [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s public
2002	// key using OAEP.
2003	Ciphertext []byte `protobuf:"bytes,3,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
2004	// Optional. An optional CRC32C checksum of the [AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext].
2005	// If specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
2006	// received [AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext] using this checksum.
2007	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
2008	// fails. If you receive a checksum error, your client should verify that
2009	// CRC32C([AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext]) is equal to
2010	// [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c], and if so, perform a
2011	// limited number of retries. A persistent mismatch may indicate an issue in
2012	// your computation of the CRC32C checksum.
2013	// Note: This field is defined as int64 for reasons of compatibility across
2014	// different languages. However, it is a non-negative integer, which will
2015	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2016	// that support this type.
2017	CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
2018}
2019
2020func (x *AsymmetricDecryptRequest) Reset() {
2021	*x = AsymmetricDecryptRequest{}
2022	if protoimpl.UnsafeEnabled {
2023		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[26]
2024		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2025		ms.StoreMessageInfo(mi)
2026	}
2027}
2028
2029func (x *AsymmetricDecryptRequest) String() string {
2030	return protoimpl.X.MessageStringOf(x)
2031}
2032
2033func (*AsymmetricDecryptRequest) ProtoMessage() {}
2034
2035func (x *AsymmetricDecryptRequest) ProtoReflect() protoreflect.Message {
2036	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[26]
2037	if protoimpl.UnsafeEnabled && x != nil {
2038		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2039		if ms.LoadMessageInfo() == nil {
2040			ms.StoreMessageInfo(mi)
2041		}
2042		return ms
2043	}
2044	return mi.MessageOf(x)
2045}
2046
2047// Deprecated: Use AsymmetricDecryptRequest.ProtoReflect.Descriptor instead.
2048func (*AsymmetricDecryptRequest) Descriptor() ([]byte, []int) {
2049	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{26}
2050}
2051
2052func (x *AsymmetricDecryptRequest) GetName() string {
2053	if x != nil {
2054		return x.Name
2055	}
2056	return ""
2057}
2058
2059func (x *AsymmetricDecryptRequest) GetCiphertext() []byte {
2060	if x != nil {
2061		return x.Ciphertext
2062	}
2063	return nil
2064}
2065
2066func (x *AsymmetricDecryptRequest) GetCiphertextCrc32C() *wrapperspb.Int64Value {
2067	if x != nil {
2068		return x.CiphertextCrc32C
2069	}
2070	return nil
2071}
2072
2073// Request message for [KeyManagementService.MacSign][google.cloud.kms.v1.KeyManagementService.MacSign].
2074type MacSignRequest struct {
2075	state         protoimpl.MessageState
2076	sizeCache     protoimpl.SizeCache
2077	unknownFields protoimpl.UnknownFields
2078
2079	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for signing.
2080	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2081	// Required. The data to sign. The MAC tag is computed over this data field based on
2082	// the specific algorithm.
2083	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
2084	// Optional. An optional CRC32C checksum of the [MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data]. If
2085	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
2086	// received [MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data] using this checksum.
2087	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
2088	// fails. If you receive a checksum error, your client should verify that
2089	// CRC32C([MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data]) is equal to
2090	// [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c], and if so, perform a limited
2091	// number of retries. A persistent mismatch may indicate an issue in your
2092	// computation of the CRC32C checksum.
2093	// Note: This field is defined as int64 for reasons of compatibility across
2094	// different languages. However, it is a non-negative integer, which will
2095	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2096	// that support this type.
2097	DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
2098}
2099
2100func (x *MacSignRequest) Reset() {
2101	*x = MacSignRequest{}
2102	if protoimpl.UnsafeEnabled {
2103		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[27]
2104		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2105		ms.StoreMessageInfo(mi)
2106	}
2107}
2108
2109func (x *MacSignRequest) String() string {
2110	return protoimpl.X.MessageStringOf(x)
2111}
2112
2113func (*MacSignRequest) ProtoMessage() {}
2114
2115func (x *MacSignRequest) ProtoReflect() protoreflect.Message {
2116	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[27]
2117	if protoimpl.UnsafeEnabled && x != nil {
2118		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2119		if ms.LoadMessageInfo() == nil {
2120			ms.StoreMessageInfo(mi)
2121		}
2122		return ms
2123	}
2124	return mi.MessageOf(x)
2125}
2126
2127// Deprecated: Use MacSignRequest.ProtoReflect.Descriptor instead.
2128func (*MacSignRequest) Descriptor() ([]byte, []int) {
2129	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{27}
2130}
2131
2132func (x *MacSignRequest) GetName() string {
2133	if x != nil {
2134		return x.Name
2135	}
2136	return ""
2137}
2138
2139func (x *MacSignRequest) GetData() []byte {
2140	if x != nil {
2141		return x.Data
2142	}
2143	return nil
2144}
2145
2146func (x *MacSignRequest) GetDataCrc32C() *wrapperspb.Int64Value {
2147	if x != nil {
2148		return x.DataCrc32C
2149	}
2150	return nil
2151}
2152
2153// Request message for [KeyManagementService.MacVerify][google.cloud.kms.v1.KeyManagementService.MacVerify].
2154type MacVerifyRequest struct {
2155	state         protoimpl.MessageState
2156	sizeCache     protoimpl.SizeCache
2157	unknownFields protoimpl.UnknownFields
2158
2159	// Required. The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for verification.
2160	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2161	// Required. The data used previously as a [MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data] to generate the MAC
2162	// tag.
2163	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
2164	// Optional. An optional CRC32C checksum of the [MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data]. If
2165	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
2166	// received [MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data] using this checksum.
2167	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
2168	// fails. If you receive a checksum error, your client should verify that
2169	// CRC32C([MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data]) is equal to
2170	// [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c], and if so, perform a limited
2171	// number of retries. A persistent mismatch may indicate an issue in your
2172	// computation of the CRC32C checksum.
2173	// Note: This field is defined as int64 for reasons of compatibility across
2174	// different languages. However, it is a non-negative integer, which will
2175	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2176	// that support this type.
2177	DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
2178	// Required. The signature to verify.
2179	Mac []byte `protobuf:"bytes,4,opt,name=mac,proto3" json:"mac,omitempty"`
2180	// Optional. An optional CRC32C checksum of the [MacVerifyRequest.mac][google.cloud.kms.v1.MacVerifyRequest.mac]. If
2181	// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will verify the integrity of the
2182	// received [MacVerifyRequest.mac][google.cloud.kms.v1.MacVerifyRequest.mac] using this checksum.
2183	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will report an error if the checksum verification
2184	// fails. If you receive a checksum error, your client should verify that
2185	// CRC32C([MacVerifyRequest.tag][]) is equal to
2186	// [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c], and if so, perform a limited
2187	// number of retries. A persistent mismatch may indicate an issue in your
2188	// computation of the CRC32C checksum.
2189	// Note: This field is defined as int64 for reasons of compatibility across
2190	// different languages. However, it is a non-negative integer, which will
2191	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2192	// that support this type.
2193	MacCrc32C *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=mac_crc32c,json=macCrc32c,proto3" json:"mac_crc32c,omitempty"`
2194}
2195
2196func (x *MacVerifyRequest) Reset() {
2197	*x = MacVerifyRequest{}
2198	if protoimpl.UnsafeEnabled {
2199		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[28]
2200		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2201		ms.StoreMessageInfo(mi)
2202	}
2203}
2204
2205func (x *MacVerifyRequest) String() string {
2206	return protoimpl.X.MessageStringOf(x)
2207}
2208
2209func (*MacVerifyRequest) ProtoMessage() {}
2210
2211func (x *MacVerifyRequest) ProtoReflect() protoreflect.Message {
2212	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[28]
2213	if protoimpl.UnsafeEnabled && x != nil {
2214		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2215		if ms.LoadMessageInfo() == nil {
2216			ms.StoreMessageInfo(mi)
2217		}
2218		return ms
2219	}
2220	return mi.MessageOf(x)
2221}
2222
2223// Deprecated: Use MacVerifyRequest.ProtoReflect.Descriptor instead.
2224func (*MacVerifyRequest) Descriptor() ([]byte, []int) {
2225	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{28}
2226}
2227
2228func (x *MacVerifyRequest) GetName() string {
2229	if x != nil {
2230		return x.Name
2231	}
2232	return ""
2233}
2234
2235func (x *MacVerifyRequest) GetData() []byte {
2236	if x != nil {
2237		return x.Data
2238	}
2239	return nil
2240}
2241
2242func (x *MacVerifyRequest) GetDataCrc32C() *wrapperspb.Int64Value {
2243	if x != nil {
2244		return x.DataCrc32C
2245	}
2246	return nil
2247}
2248
2249func (x *MacVerifyRequest) GetMac() []byte {
2250	if x != nil {
2251		return x.Mac
2252	}
2253	return nil
2254}
2255
2256func (x *MacVerifyRequest) GetMacCrc32C() *wrapperspb.Int64Value {
2257	if x != nil {
2258		return x.MacCrc32C
2259	}
2260	return nil
2261}
2262
2263// Request message for [KeyManagementService.GenerateRandomBytes][google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes].
2264type GenerateRandomBytesRequest struct {
2265	state         protoimpl.MessageState
2266	sizeCache     protoimpl.SizeCache
2267	unknownFields protoimpl.UnknownFields
2268
2269	// The project-specific location in which to generate random bytes.
2270	// For example, "projects/my-project/locations/us-central1".
2271	Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
2272	// The length in bytes of the amount of randomness to retrieve.  Minimum 8
2273	// bytes, maximum 1024 bytes.
2274	LengthBytes int32 `protobuf:"varint,2,opt,name=length_bytes,json=lengthBytes,proto3" json:"length_bytes,omitempty"`
2275	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when generating the random data. Defaults to
2276	// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].
2277	ProtectionLevel ProtectionLevel `protobuf:"varint,3,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2278}
2279
2280func (x *GenerateRandomBytesRequest) Reset() {
2281	*x = GenerateRandomBytesRequest{}
2282	if protoimpl.UnsafeEnabled {
2283		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[29]
2284		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2285		ms.StoreMessageInfo(mi)
2286	}
2287}
2288
2289func (x *GenerateRandomBytesRequest) String() string {
2290	return protoimpl.X.MessageStringOf(x)
2291}
2292
2293func (*GenerateRandomBytesRequest) ProtoMessage() {}
2294
2295func (x *GenerateRandomBytesRequest) ProtoReflect() protoreflect.Message {
2296	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[29]
2297	if protoimpl.UnsafeEnabled && x != nil {
2298		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2299		if ms.LoadMessageInfo() == nil {
2300			ms.StoreMessageInfo(mi)
2301		}
2302		return ms
2303	}
2304	return mi.MessageOf(x)
2305}
2306
2307// Deprecated: Use GenerateRandomBytesRequest.ProtoReflect.Descriptor instead.
2308func (*GenerateRandomBytesRequest) Descriptor() ([]byte, []int) {
2309	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{29}
2310}
2311
2312func (x *GenerateRandomBytesRequest) GetLocation() string {
2313	if x != nil {
2314		return x.Location
2315	}
2316	return ""
2317}
2318
2319func (x *GenerateRandomBytesRequest) GetLengthBytes() int32 {
2320	if x != nil {
2321		return x.LengthBytes
2322	}
2323	return 0
2324}
2325
2326func (x *GenerateRandomBytesRequest) GetProtectionLevel() ProtectionLevel {
2327	if x != nil {
2328		return x.ProtectionLevel
2329	}
2330	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2331}
2332
2333// Response message for [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
2334type EncryptResponse struct {
2335	state         protoimpl.MessageState
2336	sizeCache     protoimpl.SizeCache
2337	unknownFields protoimpl.UnknownFields
2338
2339	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in encryption. Check
2340	// this field to verify that the intended resource was used for encryption.
2341	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2342	// The encrypted data.
2343	Ciphertext []byte `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
2344	// Integrity verification field. A CRC32C checksum of the returned
2345	// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext]. An integrity check of
2346	// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext] can be performed by computing the CRC32C
2347	// checksum of [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext] and comparing your results to
2348	// this field. Discard the response in case of non-matching checksum values,
2349	// and perform a limited number of retries. A persistent mismatch may indicate
2350	// an issue in your computation of the CRC32C checksum.
2351	// Note: This field is defined as int64 for reasons of compatibility across
2352	// different languages. However, it is a non-negative integer, which will
2353	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2354	// that support this type.
2355	CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
2356	// Integrity verification field. A flag indicating whether
2357	// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c] was received by
2358	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2359	// [plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]. A false value of this field
2360	// indicates either that [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c] was left unset or
2361	// that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've set
2362	// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c] but this field is still false, discard
2363	// the response and perform a limited number of retries.
2364	VerifiedPlaintextCrc32C bool `protobuf:"varint,5,opt,name=verified_plaintext_crc32c,json=verifiedPlaintextCrc32c,proto3" json:"verified_plaintext_crc32c,omitempty"`
2365	// Integrity verification field. A flag indicating whether
2366	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c] was received by
2367	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2368	// [AAD][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]. A false value of this
2369	// field indicates either that
2370	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c] was left unset or
2371	// that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've set
2372	// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c] but this field is
2373	// still false, discard the response and perform a limited number of retries.
2374	VerifiedAdditionalAuthenticatedDataCrc32C bool `protobuf:"varint,6,opt,name=verified_additional_authenticated_data_crc32c,json=verifiedAdditionalAuthenticatedDataCrc32c,proto3" json:"verified_additional_authenticated_data_crc32c,omitempty"`
2375	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in encryption.
2376	ProtectionLevel ProtectionLevel `protobuf:"varint,7,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2377}
2378
2379func (x *EncryptResponse) Reset() {
2380	*x = EncryptResponse{}
2381	if protoimpl.UnsafeEnabled {
2382		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[30]
2383		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2384		ms.StoreMessageInfo(mi)
2385	}
2386}
2387
2388func (x *EncryptResponse) String() string {
2389	return protoimpl.X.MessageStringOf(x)
2390}
2391
2392func (*EncryptResponse) ProtoMessage() {}
2393
2394func (x *EncryptResponse) ProtoReflect() protoreflect.Message {
2395	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[30]
2396	if protoimpl.UnsafeEnabled && x != nil {
2397		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2398		if ms.LoadMessageInfo() == nil {
2399			ms.StoreMessageInfo(mi)
2400		}
2401		return ms
2402	}
2403	return mi.MessageOf(x)
2404}
2405
2406// Deprecated: Use EncryptResponse.ProtoReflect.Descriptor instead.
2407func (*EncryptResponse) Descriptor() ([]byte, []int) {
2408	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{30}
2409}
2410
2411func (x *EncryptResponse) GetName() string {
2412	if x != nil {
2413		return x.Name
2414	}
2415	return ""
2416}
2417
2418func (x *EncryptResponse) GetCiphertext() []byte {
2419	if x != nil {
2420		return x.Ciphertext
2421	}
2422	return nil
2423}
2424
2425func (x *EncryptResponse) GetCiphertextCrc32C() *wrapperspb.Int64Value {
2426	if x != nil {
2427		return x.CiphertextCrc32C
2428	}
2429	return nil
2430}
2431
2432func (x *EncryptResponse) GetVerifiedPlaintextCrc32C() bool {
2433	if x != nil {
2434		return x.VerifiedPlaintextCrc32C
2435	}
2436	return false
2437}
2438
2439func (x *EncryptResponse) GetVerifiedAdditionalAuthenticatedDataCrc32C() bool {
2440	if x != nil {
2441		return x.VerifiedAdditionalAuthenticatedDataCrc32C
2442	}
2443	return false
2444}
2445
2446func (x *EncryptResponse) GetProtectionLevel() ProtectionLevel {
2447	if x != nil {
2448		return x.ProtectionLevel
2449	}
2450	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2451}
2452
2453// Response message for [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
2454type DecryptResponse struct {
2455	state         protoimpl.MessageState
2456	sizeCache     protoimpl.SizeCache
2457	unknownFields protoimpl.UnknownFields
2458
2459	// The decrypted data originally supplied in [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext].
2460	Plaintext []byte `protobuf:"bytes,1,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
2461	// Integrity verification field. A CRC32C checksum of the returned
2462	// [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext]. An integrity check of
2463	// [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext] can be performed by computing the CRC32C
2464	// checksum of [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext] and comparing your results to
2465	// this field. Discard the response in case of non-matching checksum values,
2466	// and perform a limited number of retries. A persistent mismatch may indicate
2467	// an issue in your computation of the CRC32C checksum. Note: receiving this
2468	// response message indicates that [KeyManagementService][google.cloud.kms.v1.KeyManagementService] is able to
2469	// successfully decrypt the [ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext].
2470	// Note: This field is defined as int64 for reasons of compatibility across
2471	// different languages. However, it is a non-negative integer, which will
2472	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2473	// that support this type.
2474	PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
2475	// Whether the Decryption was performed using the primary key version.
2476	UsedPrimary bool `protobuf:"varint,3,opt,name=used_primary,json=usedPrimary,proto3" json:"used_primary,omitempty"`
2477	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in decryption.
2478	ProtectionLevel ProtectionLevel `protobuf:"varint,4,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2479}
2480
2481func (x *DecryptResponse) Reset() {
2482	*x = DecryptResponse{}
2483	if protoimpl.UnsafeEnabled {
2484		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[31]
2485		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2486		ms.StoreMessageInfo(mi)
2487	}
2488}
2489
2490func (x *DecryptResponse) String() string {
2491	return protoimpl.X.MessageStringOf(x)
2492}
2493
2494func (*DecryptResponse) ProtoMessage() {}
2495
2496func (x *DecryptResponse) ProtoReflect() protoreflect.Message {
2497	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[31]
2498	if protoimpl.UnsafeEnabled && x != nil {
2499		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2500		if ms.LoadMessageInfo() == nil {
2501			ms.StoreMessageInfo(mi)
2502		}
2503		return ms
2504	}
2505	return mi.MessageOf(x)
2506}
2507
2508// Deprecated: Use DecryptResponse.ProtoReflect.Descriptor instead.
2509func (*DecryptResponse) Descriptor() ([]byte, []int) {
2510	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{31}
2511}
2512
2513func (x *DecryptResponse) GetPlaintext() []byte {
2514	if x != nil {
2515		return x.Plaintext
2516	}
2517	return nil
2518}
2519
2520func (x *DecryptResponse) GetPlaintextCrc32C() *wrapperspb.Int64Value {
2521	if x != nil {
2522		return x.PlaintextCrc32C
2523	}
2524	return nil
2525}
2526
2527func (x *DecryptResponse) GetUsedPrimary() bool {
2528	if x != nil {
2529		return x.UsedPrimary
2530	}
2531	return false
2532}
2533
2534func (x *DecryptResponse) GetProtectionLevel() ProtectionLevel {
2535	if x != nil {
2536		return x.ProtectionLevel
2537	}
2538	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2539}
2540
2541// Response message for [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
2542type AsymmetricSignResponse struct {
2543	state         protoimpl.MessageState
2544	sizeCache     protoimpl.SizeCache
2545	unknownFields protoimpl.UnknownFields
2546
2547	// The created signature.
2548	Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
2549	// Integrity verification field. A CRC32C checksum of the returned
2550	// [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature]. An integrity check of
2551	// [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature] can be performed by computing the
2552	// CRC32C checksum of [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature] and comparing your
2553	// results to this field. Discard the response in case of non-matching
2554	// checksum values, and perform a limited number of retries. A persistent
2555	// mismatch may indicate an issue in your computation of the CRC32C checksum.
2556	// Note: This field is defined as int64 for reasons of compatibility across
2557	// different languages. However, it is a non-negative integer, which will
2558	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2559	// that support this type.
2560	SignatureCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=signature_crc32c,json=signatureCrc32c,proto3" json:"signature_crc32c,omitempty"`
2561	// Integrity verification field. A flag indicating whether
2562	// [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c] was received by
2563	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2564	// [digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]. A false value of this field
2565	// indicates either that [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c] was left
2566	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2567	// set [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c] but this field is still false,
2568	// discard the response and perform a limited number of retries.
2569	VerifiedDigestCrc32C bool `protobuf:"varint,3,opt,name=verified_digest_crc32c,json=verifiedDigestCrc32c,proto3" json:"verified_digest_crc32c,omitempty"`
2570	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing. Check
2571	// this field to verify that the intended resource was used for signing.
2572	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
2573	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing.
2574	ProtectionLevel ProtectionLevel `protobuf:"varint,6,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2575}
2576
2577func (x *AsymmetricSignResponse) Reset() {
2578	*x = AsymmetricSignResponse{}
2579	if protoimpl.UnsafeEnabled {
2580		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[32]
2581		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2582		ms.StoreMessageInfo(mi)
2583	}
2584}
2585
2586func (x *AsymmetricSignResponse) String() string {
2587	return protoimpl.X.MessageStringOf(x)
2588}
2589
2590func (*AsymmetricSignResponse) ProtoMessage() {}
2591
2592func (x *AsymmetricSignResponse) ProtoReflect() protoreflect.Message {
2593	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[32]
2594	if protoimpl.UnsafeEnabled && x != nil {
2595		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2596		if ms.LoadMessageInfo() == nil {
2597			ms.StoreMessageInfo(mi)
2598		}
2599		return ms
2600	}
2601	return mi.MessageOf(x)
2602}
2603
2604// Deprecated: Use AsymmetricSignResponse.ProtoReflect.Descriptor instead.
2605func (*AsymmetricSignResponse) Descriptor() ([]byte, []int) {
2606	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{32}
2607}
2608
2609func (x *AsymmetricSignResponse) GetSignature() []byte {
2610	if x != nil {
2611		return x.Signature
2612	}
2613	return nil
2614}
2615
2616func (x *AsymmetricSignResponse) GetSignatureCrc32C() *wrapperspb.Int64Value {
2617	if x != nil {
2618		return x.SignatureCrc32C
2619	}
2620	return nil
2621}
2622
2623func (x *AsymmetricSignResponse) GetVerifiedDigestCrc32C() bool {
2624	if x != nil {
2625		return x.VerifiedDigestCrc32C
2626	}
2627	return false
2628}
2629
2630func (x *AsymmetricSignResponse) GetName() string {
2631	if x != nil {
2632		return x.Name
2633	}
2634	return ""
2635}
2636
2637func (x *AsymmetricSignResponse) GetProtectionLevel() ProtectionLevel {
2638	if x != nil {
2639		return x.ProtectionLevel
2640	}
2641	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2642}
2643
2644// Response message for [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
2645type AsymmetricDecryptResponse struct {
2646	state         protoimpl.MessageState
2647	sizeCache     protoimpl.SizeCache
2648	unknownFields protoimpl.UnknownFields
2649
2650	// The decrypted data originally encrypted with the matching public key.
2651	Plaintext []byte `protobuf:"bytes,1,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
2652	// Integrity verification field. A CRC32C checksum of the returned
2653	// [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext]. An integrity check of
2654	// [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext] can be performed by computing the
2655	// CRC32C checksum of [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext] and comparing
2656	// your results to this field. Discard the response in case of non-matching
2657	// checksum values, and perform a limited number of retries. A persistent
2658	// mismatch may indicate an issue in your computation of the CRC32C checksum.
2659	// Note: This field is defined as int64 for reasons of compatibility across
2660	// different languages. However, it is a non-negative integer, which will
2661	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2662	// that support this type.
2663	PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
2664	// Integrity verification field. A flag indicating whether
2665	// [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c] was received by
2666	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2667	// [ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext]. A false value of this
2668	// field indicates either that [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c]
2669	// was left unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If
2670	// you've set [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c] but this field is
2671	// still false, discard the response and perform a limited number of retries.
2672	VerifiedCiphertextCrc32C bool `protobuf:"varint,3,opt,name=verified_ciphertext_crc32c,json=verifiedCiphertextCrc32c,proto3" json:"verified_ciphertext_crc32c,omitempty"`
2673	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in decryption.
2674	ProtectionLevel ProtectionLevel `protobuf:"varint,4,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2675}
2676
2677func (x *AsymmetricDecryptResponse) Reset() {
2678	*x = AsymmetricDecryptResponse{}
2679	if protoimpl.UnsafeEnabled {
2680		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[33]
2681		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2682		ms.StoreMessageInfo(mi)
2683	}
2684}
2685
2686func (x *AsymmetricDecryptResponse) String() string {
2687	return protoimpl.X.MessageStringOf(x)
2688}
2689
2690func (*AsymmetricDecryptResponse) ProtoMessage() {}
2691
2692func (x *AsymmetricDecryptResponse) ProtoReflect() protoreflect.Message {
2693	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[33]
2694	if protoimpl.UnsafeEnabled && x != nil {
2695		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2696		if ms.LoadMessageInfo() == nil {
2697			ms.StoreMessageInfo(mi)
2698		}
2699		return ms
2700	}
2701	return mi.MessageOf(x)
2702}
2703
2704// Deprecated: Use AsymmetricDecryptResponse.ProtoReflect.Descriptor instead.
2705func (*AsymmetricDecryptResponse) Descriptor() ([]byte, []int) {
2706	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{33}
2707}
2708
2709func (x *AsymmetricDecryptResponse) GetPlaintext() []byte {
2710	if x != nil {
2711		return x.Plaintext
2712	}
2713	return nil
2714}
2715
2716func (x *AsymmetricDecryptResponse) GetPlaintextCrc32C() *wrapperspb.Int64Value {
2717	if x != nil {
2718		return x.PlaintextCrc32C
2719	}
2720	return nil
2721}
2722
2723func (x *AsymmetricDecryptResponse) GetVerifiedCiphertextCrc32C() bool {
2724	if x != nil {
2725		return x.VerifiedCiphertextCrc32C
2726	}
2727	return false
2728}
2729
2730func (x *AsymmetricDecryptResponse) GetProtectionLevel() ProtectionLevel {
2731	if x != nil {
2732		return x.ProtectionLevel
2733	}
2734	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2735}
2736
2737// Response message for [KeyManagementService.MacSign][google.cloud.kms.v1.KeyManagementService.MacSign].
2738type MacSignResponse struct {
2739	state         protoimpl.MessageState
2740	sizeCache     protoimpl.SizeCache
2741	unknownFields protoimpl.UnknownFields
2742
2743	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing. Check
2744	// this field to verify that the intended resource was used for signing.
2745	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2746	// The created signature.
2747	Mac []byte `protobuf:"bytes,2,opt,name=mac,proto3" json:"mac,omitempty"`
2748	// Integrity verification field. A CRC32C checksum of the returned
2749	// [MacSignResponse.mac][google.cloud.kms.v1.MacSignResponse.mac]. An integrity check of
2750	// [MacSignResponse.mac][google.cloud.kms.v1.MacSignResponse.mac] can be performed by computing the
2751	// CRC32C checksum of [MacSignResponse.mac][google.cloud.kms.v1.MacSignResponse.mac] and comparing your
2752	// results to this field. Discard the response in case of non-matching
2753	// checksum values, and perform a limited number of retries. A persistent
2754	// mismatch may indicate an issue in your computation of the CRC32C checksum.
2755	// Note: This field is defined as int64 for reasons of compatibility across
2756	// different languages. However, it is a non-negative integer, which will
2757	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2758	// that support this type.
2759	MacCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=mac_crc32c,json=macCrc32c,proto3" json:"mac_crc32c,omitempty"`
2760	// Integrity verification field. A flag indicating whether
2761	// [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c] was received by
2762	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2763	// [data][google.cloud.kms.v1.MacSignRequest.data]. A false value of this field
2764	// indicates either that [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c] was left
2765	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2766	// set [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c] but this field is still false,
2767	// discard the response and perform a limited number of retries.
2768	VerifiedDataCrc32C bool `protobuf:"varint,4,opt,name=verified_data_crc32c,json=verifiedDataCrc32c,proto3" json:"verified_data_crc32c,omitempty"`
2769	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing.
2770	ProtectionLevel ProtectionLevel `protobuf:"varint,5,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2771}
2772
2773func (x *MacSignResponse) Reset() {
2774	*x = MacSignResponse{}
2775	if protoimpl.UnsafeEnabled {
2776		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[34]
2777		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2778		ms.StoreMessageInfo(mi)
2779	}
2780}
2781
2782func (x *MacSignResponse) String() string {
2783	return protoimpl.X.MessageStringOf(x)
2784}
2785
2786func (*MacSignResponse) ProtoMessage() {}
2787
2788func (x *MacSignResponse) ProtoReflect() protoreflect.Message {
2789	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[34]
2790	if protoimpl.UnsafeEnabled && x != nil {
2791		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2792		if ms.LoadMessageInfo() == nil {
2793			ms.StoreMessageInfo(mi)
2794		}
2795		return ms
2796	}
2797	return mi.MessageOf(x)
2798}
2799
2800// Deprecated: Use MacSignResponse.ProtoReflect.Descriptor instead.
2801func (*MacSignResponse) Descriptor() ([]byte, []int) {
2802	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{34}
2803}
2804
2805func (x *MacSignResponse) GetName() string {
2806	if x != nil {
2807		return x.Name
2808	}
2809	return ""
2810}
2811
2812func (x *MacSignResponse) GetMac() []byte {
2813	if x != nil {
2814		return x.Mac
2815	}
2816	return nil
2817}
2818
2819func (x *MacSignResponse) GetMacCrc32C() *wrapperspb.Int64Value {
2820	if x != nil {
2821		return x.MacCrc32C
2822	}
2823	return nil
2824}
2825
2826func (x *MacSignResponse) GetVerifiedDataCrc32C() bool {
2827	if x != nil {
2828		return x.VerifiedDataCrc32C
2829	}
2830	return false
2831}
2832
2833func (x *MacSignResponse) GetProtectionLevel() ProtectionLevel {
2834	if x != nil {
2835		return x.ProtectionLevel
2836	}
2837	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2838}
2839
2840// Response message for [KeyManagementService.MacVerify][google.cloud.kms.v1.KeyManagementService.MacVerify].
2841type MacVerifyResponse struct {
2842	state         protoimpl.MessageState
2843	sizeCache     protoimpl.SizeCache
2844	unknownFields protoimpl.UnknownFields
2845
2846	// The resource name of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for verification.
2847	// Check this field to verify that the intended resource was used for
2848	// verification.
2849	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2850	// This field indicates whether or not the verification operation for
2851	// [MacVerifyRequest.mac][google.cloud.kms.v1.MacVerifyRequest.mac] over [MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data] was successful.
2852	Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"`
2853	// Integrity verification field. A flag indicating whether
2854	// [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c] was received by
2855	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2856	// [data][google.cloud.kms.v1.MacVerifyRequest.data]. A false value of this field
2857	// indicates either that [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c] was left
2858	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2859	// set [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c] but this field is still false,
2860	// discard the response and perform a limited number of retries.
2861	VerifiedDataCrc32C bool `protobuf:"varint,3,opt,name=verified_data_crc32c,json=verifiedDataCrc32c,proto3" json:"verified_data_crc32c,omitempty"`
2862	// Integrity verification field. A flag indicating whether
2863	// [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c] was received by
2864	// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used for the integrity verification of the
2865	// [data][google.cloud.kms.v1.MacVerifyRequest.mac]. A false value of this field
2866	// indicates either that [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c] was left
2867	// unset or that it was not delivered to [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
2868	// set [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c] but this field is still false,
2869	// discard the response and perform a limited number of retries.
2870	VerifiedMacCrc32C bool `protobuf:"varint,4,opt,name=verified_mac_crc32c,json=verifiedMacCrc32c,proto3" json:"verified_mac_crc32c,omitempty"`
2871	// Integrity verification field. This value is used for the integrity
2872	// verification of [MacVerifyResponse.success]. If the value of this field
2873	// contradicts the value of [MacVerifyResponse.success], discard the response
2874	// and perform a limited number of retries.
2875	VerifiedSuccessIntegrity bool `protobuf:"varint,5,opt,name=verified_success_integrity,json=verifiedSuccessIntegrity,proto3" json:"verified_success_integrity,omitempty"`
2876	// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for verification.
2877	ProtectionLevel ProtectionLevel `protobuf:"varint,6,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
2878}
2879
2880func (x *MacVerifyResponse) Reset() {
2881	*x = MacVerifyResponse{}
2882	if protoimpl.UnsafeEnabled {
2883		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[35]
2884		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2885		ms.StoreMessageInfo(mi)
2886	}
2887}
2888
2889func (x *MacVerifyResponse) String() string {
2890	return protoimpl.X.MessageStringOf(x)
2891}
2892
2893func (*MacVerifyResponse) ProtoMessage() {}
2894
2895func (x *MacVerifyResponse) ProtoReflect() protoreflect.Message {
2896	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[35]
2897	if protoimpl.UnsafeEnabled && x != nil {
2898		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2899		if ms.LoadMessageInfo() == nil {
2900			ms.StoreMessageInfo(mi)
2901		}
2902		return ms
2903	}
2904	return mi.MessageOf(x)
2905}
2906
2907// Deprecated: Use MacVerifyResponse.ProtoReflect.Descriptor instead.
2908func (*MacVerifyResponse) Descriptor() ([]byte, []int) {
2909	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{35}
2910}
2911
2912func (x *MacVerifyResponse) GetName() string {
2913	if x != nil {
2914		return x.Name
2915	}
2916	return ""
2917}
2918
2919func (x *MacVerifyResponse) GetSuccess() bool {
2920	if x != nil {
2921		return x.Success
2922	}
2923	return false
2924}
2925
2926func (x *MacVerifyResponse) GetVerifiedDataCrc32C() bool {
2927	if x != nil {
2928		return x.VerifiedDataCrc32C
2929	}
2930	return false
2931}
2932
2933func (x *MacVerifyResponse) GetVerifiedMacCrc32C() bool {
2934	if x != nil {
2935		return x.VerifiedMacCrc32C
2936	}
2937	return false
2938}
2939
2940func (x *MacVerifyResponse) GetVerifiedSuccessIntegrity() bool {
2941	if x != nil {
2942		return x.VerifiedSuccessIntegrity
2943	}
2944	return false
2945}
2946
2947func (x *MacVerifyResponse) GetProtectionLevel() ProtectionLevel {
2948	if x != nil {
2949		return x.ProtectionLevel
2950	}
2951	return ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED
2952}
2953
2954// Response message for [KeyManagementService.GenerateRandomBytes][google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes].
2955type GenerateRandomBytesResponse struct {
2956	state         protoimpl.MessageState
2957	sizeCache     protoimpl.SizeCache
2958	unknownFields protoimpl.UnknownFields
2959
2960	// The generated data.
2961	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
2962	// Integrity verification field. A CRC32C checksum of the returned
2963	// [GenerateRandomBytesResponse.data][google.cloud.kms.v1.GenerateRandomBytesResponse.data]. An integrity check of
2964	// [GenerateRandomBytesResponse.data][google.cloud.kms.v1.GenerateRandomBytesResponse.data] can be performed by computing the
2965	// CRC32C checksum of [GenerateRandomBytesResponse.data][google.cloud.kms.v1.GenerateRandomBytesResponse.data] and comparing your
2966	// results to this field. Discard the response in case of non-matching
2967	// checksum values, and perform a limited number of retries. A persistent
2968	// mismatch may indicate an issue in your computation of the CRC32C checksum.
2969	// Note: This field is defined as int64 for reasons of compatibility across
2970	// different languages. However, it is a non-negative integer, which will
2971	// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
2972	// that support this type.
2973	DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
2974}
2975
2976func (x *GenerateRandomBytesResponse) Reset() {
2977	*x = GenerateRandomBytesResponse{}
2978	if protoimpl.UnsafeEnabled {
2979		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[36]
2980		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2981		ms.StoreMessageInfo(mi)
2982	}
2983}
2984
2985func (x *GenerateRandomBytesResponse) String() string {
2986	return protoimpl.X.MessageStringOf(x)
2987}
2988
2989func (*GenerateRandomBytesResponse) ProtoMessage() {}
2990
2991func (x *GenerateRandomBytesResponse) ProtoReflect() protoreflect.Message {
2992	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[36]
2993	if protoimpl.UnsafeEnabled && x != nil {
2994		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2995		if ms.LoadMessageInfo() == nil {
2996			ms.StoreMessageInfo(mi)
2997		}
2998		return ms
2999	}
3000	return mi.MessageOf(x)
3001}
3002
3003// Deprecated: Use GenerateRandomBytesResponse.ProtoReflect.Descriptor instead.
3004func (*GenerateRandomBytesResponse) Descriptor() ([]byte, []int) {
3005	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{36}
3006}
3007
3008func (x *GenerateRandomBytesResponse) GetData() []byte {
3009	if x != nil {
3010		return x.Data
3011	}
3012	return nil
3013}
3014
3015func (x *GenerateRandomBytesResponse) GetDataCrc32C() *wrapperspb.Int64Value {
3016	if x != nil {
3017		return x.DataCrc32C
3018	}
3019	return nil
3020}
3021
3022// A [Digest][google.cloud.kms.v1.Digest] holds a cryptographic message digest.
3023type Digest struct {
3024	state         protoimpl.MessageState
3025	sizeCache     protoimpl.SizeCache
3026	unknownFields protoimpl.UnknownFields
3027
3028	// Required. The message digest.
3029	//
3030	// Types that are assignable to Digest:
3031	//	*Digest_Sha256
3032	//	*Digest_Sha384
3033	//	*Digest_Sha512
3034	Digest isDigest_Digest `protobuf_oneof:"digest"`
3035}
3036
3037func (x *Digest) Reset() {
3038	*x = Digest{}
3039	if protoimpl.UnsafeEnabled {
3040		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[37]
3041		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3042		ms.StoreMessageInfo(mi)
3043	}
3044}
3045
3046func (x *Digest) String() string {
3047	return protoimpl.X.MessageStringOf(x)
3048}
3049
3050func (*Digest) ProtoMessage() {}
3051
3052func (x *Digest) ProtoReflect() protoreflect.Message {
3053	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[37]
3054	if protoimpl.UnsafeEnabled && x != nil {
3055		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3056		if ms.LoadMessageInfo() == nil {
3057			ms.StoreMessageInfo(mi)
3058		}
3059		return ms
3060	}
3061	return mi.MessageOf(x)
3062}
3063
3064// Deprecated: Use Digest.ProtoReflect.Descriptor instead.
3065func (*Digest) Descriptor() ([]byte, []int) {
3066	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{37}
3067}
3068
3069func (m *Digest) GetDigest() isDigest_Digest {
3070	if m != nil {
3071		return m.Digest
3072	}
3073	return nil
3074}
3075
3076func (x *Digest) GetSha256() []byte {
3077	if x, ok := x.GetDigest().(*Digest_Sha256); ok {
3078		return x.Sha256
3079	}
3080	return nil
3081}
3082
3083func (x *Digest) GetSha384() []byte {
3084	if x, ok := x.GetDigest().(*Digest_Sha384); ok {
3085		return x.Sha384
3086	}
3087	return nil
3088}
3089
3090func (x *Digest) GetSha512() []byte {
3091	if x, ok := x.GetDigest().(*Digest_Sha512); ok {
3092		return x.Sha512
3093	}
3094	return nil
3095}
3096
3097type isDigest_Digest interface {
3098	isDigest_Digest()
3099}
3100
3101type Digest_Sha256 struct {
3102	// A message digest produced with the SHA-256 algorithm.
3103	Sha256 []byte `protobuf:"bytes,1,opt,name=sha256,proto3,oneof"`
3104}
3105
3106type Digest_Sha384 struct {
3107	// A message digest produced with the SHA-384 algorithm.
3108	Sha384 []byte `protobuf:"bytes,2,opt,name=sha384,proto3,oneof"`
3109}
3110
3111type Digest_Sha512 struct {
3112	// A message digest produced with the SHA-512 algorithm.
3113	Sha512 []byte `protobuf:"bytes,3,opt,name=sha512,proto3,oneof"`
3114}
3115
3116func (*Digest_Sha256) isDigest_Digest() {}
3117
3118func (*Digest_Sha384) isDigest_Digest() {}
3119
3120func (*Digest_Sha512) isDigest_Digest() {}
3121
3122// Cloud KMS metadata for the given [google.cloud.location.Location][google.cloud.location.Location].
3123type LocationMetadata struct {
3124	state         protoimpl.MessageState
3125	sizeCache     protoimpl.SizeCache
3126	unknownFields protoimpl.UnknownFields
3127
3128	// Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] with
3129	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]
3130	// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] can be created in this location.
3131	HsmAvailable bool `protobuf:"varint,1,opt,name=hsm_available,json=hsmAvailable,proto3" json:"hsm_available,omitempty"`
3132	// Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] with
3133	// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]
3134	// [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] can be created in this location.
3135	EkmAvailable bool `protobuf:"varint,2,opt,name=ekm_available,json=ekmAvailable,proto3" json:"ekm_available,omitempty"`
3136}
3137
3138func (x *LocationMetadata) Reset() {
3139	*x = LocationMetadata{}
3140	if protoimpl.UnsafeEnabled {
3141		mi := &file_google_cloud_kms_v1_service_proto_msgTypes[38]
3142		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3143		ms.StoreMessageInfo(mi)
3144	}
3145}
3146
3147func (x *LocationMetadata) String() string {
3148	return protoimpl.X.MessageStringOf(x)
3149}
3150
3151func (*LocationMetadata) ProtoMessage() {}
3152
3153func (x *LocationMetadata) ProtoReflect() protoreflect.Message {
3154	mi := &file_google_cloud_kms_v1_service_proto_msgTypes[38]
3155	if protoimpl.UnsafeEnabled && x != nil {
3156		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3157		if ms.LoadMessageInfo() == nil {
3158			ms.StoreMessageInfo(mi)
3159		}
3160		return ms
3161	}
3162	return mi.MessageOf(x)
3163}
3164
3165// Deprecated: Use LocationMetadata.ProtoReflect.Descriptor instead.
3166func (*LocationMetadata) Descriptor() ([]byte, []int) {
3167	return file_google_cloud_kms_v1_service_proto_rawDescGZIP(), []int{38}
3168}
3169
3170func (x *LocationMetadata) GetHsmAvailable() bool {
3171	if x != nil {
3172		return x.HsmAvailable
3173	}
3174	return false
3175}
3176
3177func (x *LocationMetadata) GetEkmAvailable() bool {
3178	if x != nil {
3179		return x.EkmAvailable
3180	}
3181	return false
3182}
3183
3184var File_google_cloud_kms_v1_service_proto protoreflect.FileDescriptor
3185
3186var file_google_cloud_kms_v1_service_proto_rawDesc = []byte{
3187	0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6b,
3188	0x6d, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72,
3189	0x6f, 0x74, 0x6f, 0x12, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3190	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3191	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3192	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
3193	0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
3194	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c,
3195	0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3196	0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
3197	0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f,
3198	0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6b, 0x6d, 0x73, 0x2f, 0x76, 0x31,
3199	0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3200	0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
3201	0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f,
3202	0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3203	0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f,
3204	0x74, 0x6f, 0x22, 0xdb, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69,
3205	0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61,
3206	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
3207	0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f,
3208	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63,
3209	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a,
3210	0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
3211	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
3212	0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20,
3213	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f,
3214	0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20,
3215	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
3216	0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01,
3217	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79,
3218	0x22, 0xba, 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3219	0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61,
3220	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa,
3221	0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3222	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x52,
3223	0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70,
3224	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03,
3225	0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a,
3226	0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
3227	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
3228	0x6e, 0x12, 0x5d, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x69, 0x65,
3229	0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3230	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72,
3231	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43,
3232	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56,
3233	0x69, 0x65, 0x77, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77,
3234	0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
3235	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a,
3236	0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42,
3237	0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xb4, 0x02,
3238	0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3239	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41,
3240	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29,
3241	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
3242	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3243	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
3244	0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02,
3245	0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53,
3246	0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
3247	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61,
3248	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4e, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18,
3249	0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3250	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70,
3251	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x79,
3252	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65,
3253	0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
3254	0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69,
3255	0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79,
3256	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64,
3257	0x65, 0x72, 0x42, 0x79, 0x22, 0xdb, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70,
3258	0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f,
3259	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27,
3260	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
3261	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3262	0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
3263	0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
3264	0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
3265	0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
3266	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65,
3267	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18,
3268	0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74,
3269	0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05,
3270	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72,
3271	0x42, 0x79, 0x22, 0x98, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69,
3272	0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6b,
3273	0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
3274	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3275	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x6b, 0x65,
3276	0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
3277	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
3278	0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d,
3279	0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01,
3280	0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa0, 0x01,
3281	0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73,
3282	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x72, 0x79, 0x70,
3283	0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
3284	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
3285	0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x63,
3286	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78,
3287	0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
3288	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
3289	0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
3290	0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65,
3291	0x22, 0xbd, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3292	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3293	0x73, 0x65, 0x12, 0x55, 0x0a, 0x13, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79,
3294	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
3295	0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3296	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3297	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3298	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78,
3299	0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
3300	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
3301	0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
3302	0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65,
3303	0x22, 0xa0, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a,
3304	0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x69,
3305	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3306	0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3307	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62,
3308	0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x26, 0x0a, 0x0f,
3309	0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
3310	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54,
3311	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69,
3312	0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53,
3313	0x69, 0x7a, 0x65, 0x22, 0x50, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3314	0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3315	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f,
3316	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3317	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52,
3318	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x72, 0x79, 0x70,
3319	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04,
3320	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
3321	0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3322	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70,
3323	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x62, 0x0a, 0x1a, 0x47,
3324	0x65, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69,
3325	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
3326	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a,
3327	0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3328	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3329	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22,
3330	0x5b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52,
3331	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
3332	0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c,
3333	0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
3334	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3335	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x13,
3336	0x47, 0x65, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75,
3337	0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
3338	0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3339	0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
3340	0x6f, 0x6d, 0x2f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61,
3341	0x6d, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79,
3342	0x52, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70,
3343	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02,
3344	0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67,
3345	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f,
3346	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x23,
3347	0x0a, 0x0b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
3348	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3349	0x67, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x18,
3350	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3351	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52,
3352	0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3353	0x67, 0x22, 0x89, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70,
3354	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06,
3355	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41,
3356	0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67,
3357	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65,
3358	0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a,
3359	0x0d, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02,
3360	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x79, 0x70, 0x74,
3361	0x6f, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3362	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
3363	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3364	0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
3365	0x09, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x6b,
3366	0x69, 0x70, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
3367	0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
3368	0x08, 0x52, 0x1a, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x56, 0x65,
3369	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01,
3370	0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3371	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
3372	0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
3373	0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d,
3374	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3375	0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,
3376	0x6e, 0x74, 0x12, 0x58, 0x0a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79,
3377	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
3378	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3379	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3380	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x72, 0x79, 0x70,
3381	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x03, 0x0a,
3382	0x1d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3383	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41,
3384	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29,
3385	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
3386	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
3387	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
3388	0x74, 0x12, 0x5e, 0x0a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
3389	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0,
3390	0x41, 0x01, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e,
3391	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43,
3392	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
3393	0x10, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3394	0x6e, 0x12, 0x62, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x02,
3395	0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3396	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74,
3397	0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x72, 0x79, 0x70,
3398	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f,
3399	0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f,
3400	0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f,
3401	0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
3402	0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x73, 0x61,
3403	0x5f, 0x61, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79,
3404	0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x10, 0x72, 0x73, 0x61, 0x41, 0x65, 0x73,
3405	0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x77, 0x72,
3406	0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69,
3407	0x61, 0x6c, 0x22, 0xc6, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x70,
3408	0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a,
3409	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0,
3410	0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e,
3411	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b,
3412	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x27,
3413	0x0a, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18,
3414	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6d, 0x70, 0x6f,
3415	0x72, 0x74, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72,
3416	0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
3417	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
3418	0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02,
3419	0x52, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x22, 0x9e, 0x01, 0x0a, 0x16,
3420	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52,
3421	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3422	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
3423	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3424	0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
3425	0x09, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70,
3426	0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
3427	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
3428	0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02,
3429	0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xbb, 0x01, 0x0a,
3430	0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3431	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58,
3432	0x0a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72,
3433	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
3434	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3435	0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3436	0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3437	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
3438	0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
3439	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
3440	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a,
3441	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x9d, 0x01, 0x0a, 0x24, 0x55,
3442	0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x50, 0x72,
3443	0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
3444	0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
3445	0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3446	0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
3447	0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61,
3448	0x6d, 0x65, 0x12, 0x36, 0x0a, 0x15, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79,
3449	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
3450	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3451	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x1e, 0x44, 0x65,
3452	0x73, 0x74, 0x72, 0x6f, 0x79, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3453	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04,
3454	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa,
3455	0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3456	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70,
3457	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61,
3458	0x6d, 0x65, 0x22, 0x66, 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x79,
3459	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
3460	0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
3461	0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75,
3462	0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3463	0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3464	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdb, 0x02, 0x0a, 0x0e, 0x45,
3465	0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a,
3466	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02,
3467	0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09,
3468	0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42,
3469	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
3470	0x47, 0x0a, 0x1d, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75,
3471	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61,
3472	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x61, 0x64, 0x64,
3473	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
3474	0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4b, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x69,
3475	0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x07, 0x20, 0x01,
3476	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3477	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
3478	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43,
3479	0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x71, 0x0a, 0x24, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
3480	0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65,
3481	0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x08, 0x20,
3482	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3483	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
3484	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x21, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
3485	0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61,
3486	0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xff, 0x02, 0x0a, 0x0e, 0x44, 0x65, 0x63,
3487	0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e,
3488	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41,
3489	0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3490	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74,
3491	0x6f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x63, 0x69,
3492	0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03,
3493	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12,
3494	0x47, 0x0a, 0x1d, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75,
3495	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61,
3496	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x61, 0x64, 0x64,
3497	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
3498	0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x69, 0x70, 0x68,
3499	0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x05, 0x20,
3500	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3501	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
3502	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78,
3503	0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x71, 0x0a, 0x24, 0x61, 0x64, 0x64, 0x69, 0x74,
3504	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
3505	0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18,
3506	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
3507	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
3508	0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x21, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
3509	0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64,
3510	0x44, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xde, 0x01, 0x0a, 0x15, 0x41,
3511	0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71,
3512	0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
3513	0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75,
3514	0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3515	0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3516	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x64, 0x69,
3517	0x67, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
3518	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3519	0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x64, 0x69,
3520	0x67, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0d, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x63,
3521	0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
3522	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
3523	0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x64,
3524	0x69, 0x67, 0x65, 0x73, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xd4, 0x01, 0x0a, 0x18,
3525	0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70,
3526	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3527	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28,
3528	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
3529	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3530	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23,
3531	0x0a, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01,
3532	0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74,
3533	0x65, 0x78, 0x74, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78,
3534	0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
3535	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
3536	0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01,
3537	0x52, 0x10, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33,
3538	0x32, 0x63, 0x22, 0xb2, 0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65,
3539	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
3540	0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f,
3541	0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
3542	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65,
3543	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x64,
3544	0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04,
3545	0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63,
3546	0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3547	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36,
3548	0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x64, 0x61, 0x74,
3549	0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0x8c, 0x02, 0x0a, 0x10, 0x4d, 0x61, 0x63, 0x56,
3550	0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04,
3551	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa,
3552	0x41, 0x2a, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
3553	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70,
3554	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61,
3555	0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
3556	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0b, 0x64,
3557	0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
3558	0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
3559	0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0,
3560	0x41, 0x01, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x15,
3561	0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02,
3562	0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x3f, 0x0a, 0x0a, 0x6d, 0x61, 0x63, 0x5f, 0x63, 0x72, 0x63,
3563	0x33, 0x32, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3564	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36,
3565	0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x6d, 0x61, 0x63,
3566	0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xac, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72,
3567	0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65,
3568	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
3569	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
3570	0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x62, 0x79, 0x74, 0x65,
3571	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42,
3572	0x79, 0x74, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69,
3573	0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24,
3574	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3575	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c,
3576	0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
3577	0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xfe, 0x02, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
3578	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
3579	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a,
3580	0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
3581	0x0c, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12, 0x48, 0x0a,
3582	0x11, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33,
3583	0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3584	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34,
3585	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78,
3586	0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x3a, 0x0a, 0x19, 0x76, 0x65, 0x72, 0x69, 0x66,
3587	0x69, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72,
3588	0x63, 0x33, 0x32, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x76, 0x65, 0x72, 0x69,
3589	0x66, 0x69, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63,
3590	0x33, 0x32, 0x63, 0x12, 0x60, 0x0a, 0x2d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f,
3591	0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65,
3592	0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72,
3593	0x63, 0x33, 0x32, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x29, 0x76, 0x65, 0x72, 0x69,
3594	0x66, 0x69, 0x65, 0x64, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x75,
3595	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43,
3596	0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74,
3597	0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32,
3598	0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3599	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
3600	0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
3601	0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xeb, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x63, 0x72, 0x79,
3602	0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c,
3603	0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70,
3604	0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x46, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x69,
3605	0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02, 0x20, 0x01,
3606	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3607	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
3608	0x0f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63,
3609	0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
3610	0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d,
3611	0x61, 0x72, 0x79, 0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
3612	0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e,
3613	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
3614	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65,
3615	0x76, 0x65, 0x6c, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c,
3616	0x65, 0x76, 0x65, 0x6c, 0x22, 0x99, 0x02, 0x0a, 0x16, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74,
3617	0x72, 0x69, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3618	0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01,
3619	0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x46, 0x0a,
3620	0x10, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32,
3621	0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3622	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56,
3623	0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43,
3624	0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x34, 0x0a, 0x16, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65,
3625	0x64, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18,
3626	0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44,
3627	0x69, 0x67, 0x65, 0x73, 0x74, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e,
3628	0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
3629	0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65,
3630	0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3631	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e,
3632	0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52,
3633	0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c,
3634	0x22, 0x90, 0x02, 0x0a, 0x19, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44,
3635	0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c,
3636	0x0a, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
3637	0x0c, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x46, 0x0a, 0x10,
3638	0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63,
3639	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3640	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
3641	0x6c, 0x75, 0x65, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72,
3642	0x63, 0x33, 0x32, 0x63, 0x12, 0x3c, 0x0a, 0x1a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
3643	0x5f, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x33,
3644	0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69,
3645	0x65, 0x64, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x43, 0x72, 0x63, 0x33,
3646	0x32, 0x63, 0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
3647	0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67,
3648	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3649	0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76,
3650	0x65, 0x6c, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65,
3651	0x76, 0x65, 0x6c, 0x22, 0xf6, 0x01, 0x0a, 0x0f, 0x4d, 0x61, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52,
3652	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
3653	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d,
3654	0x61, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x3a, 0x0a,
3655	0x0a, 0x6d, 0x61, 0x63, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28,
3656	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3657	0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09,
3658	0x6d, 0x61, 0x63, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x30, 0x0a, 0x14, 0x76, 0x65, 0x72,
3659	0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32,
3660	0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65,
3661	0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x4f, 0x0a, 0x10, 0x70,
3662	0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
3663	0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3664	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74,
3665	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x70, 0x72, 0x6f,
3666	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xb2, 0x02, 0x0a,
3667	0x11, 0x4d, 0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3668	0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
3669	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
3670	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
3671	0x12, 0x30, 0x0a, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74,
3672	0x61, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12,
3673	0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33,
3674	0x32, 0x63, 0x12, 0x2e, 0x0a, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x6d,
3675	0x61, 0x63, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
3676	0x11, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4d, 0x61, 0x63, 0x43, 0x72, 0x63, 0x33,
3677	0x32, 0x63, 0x12, 0x3c, 0x0a, 0x1a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x73,
3678	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79,
3679	0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
3680	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79,
3681	0x12, 0x4f, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c,
3682	0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
3683	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3684	0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c,
3685	0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65,
3686	0x6c, 0x22, 0x6f, 0x0a, 0x1b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e,
3687	0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
3688	0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04,
3689	0x64, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x72, 0x63,
3690	0x33, 0x32, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3691	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36,
3692	0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x43, 0x72, 0x63, 0x33,
3693	0x32, 0x63, 0x22, 0x60, 0x0a, 0x06, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x06,
3694	0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06,
3695	0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x33, 0x38, 0x34,
3696	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x73, 0x68, 0x61, 0x33, 0x38, 0x34,
3697	0x12, 0x18, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x35, 0x31, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
3698	0x48, 0x00, 0x52, 0x06, 0x73, 0x68, 0x61, 0x35, 0x31, 0x32, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x69,
3699	0x67, 0x65, 0x73, 0x74, 0x22, 0x5c, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3700	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x73, 0x6d, 0x5f,
3701	0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
3702	0x0c, 0x68, 0x73, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a,
3703	0x0d, 0x65, 0x6b, 0x6d, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02,
3704	0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x6b, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
3705	0x6c, 0x65, 0x32, 0x86, 0x2b, 0x0a, 0x14, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65,
3706	0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x0c,
3707	0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x28, 0x2e, 0x67,
3708	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3709	0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x52,
3710	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3711	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
3712	0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3713	0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
3714	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
3715	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b,
3716	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
3717	0x12, 0xb5, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3718	0x65, 0x79, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3719	0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72,
3720	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3721	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3722	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
3723	0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3,
3724	0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
3725	0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
3726	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
3727	0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0xda,
3728	0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xde, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73,
3729	0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3730	0x6e, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3731	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x72, 0x79,
3732	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
3733	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3734	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
3735	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
3736	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02,
3737	0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
3738	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3739	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a,
3740	0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63,
3741	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
3742	0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb5, 0x01, 0x0a, 0x0e, 0x4c, 0x69,
3743	0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x2a, 0x2e, 0x67,
3744	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3745	0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62,
3746	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3747	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
3748	0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73,
3749	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f,
3750	0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3751	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3752	0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6d,
3753	0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
3754	0x74, 0x12, 0x8f, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
3755	0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3756	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3757	0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3758	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b,
3759	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c,
3760	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
3761	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
3762	0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e,
3763	0x61, 0x6d, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74,
3764	0x6f, 0x4b, 0x65, 0x79, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3765	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72,
3766	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
3767	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3768	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x22, 0x48,
3769	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
3770	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
3771	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
3772	0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a,
3773	0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xcb, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74,
3774	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
3775	0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3776	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
3777	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3778	0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3779	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3780	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f,
3781	0x12, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
3782	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3783	0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72,
3784	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74,
3785	0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda,
3786	0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc0, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x50, 0x75,
3787	0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3788	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
3789	0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3790	0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3791	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65,
3792	0x79, 0x22, 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x12, 0x57, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
3793	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
3794	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52,
3795	0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3796	0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3797	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b,
3798	0x65, 0x79, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x0c, 0x47, 0x65,
3799	0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
3800	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31,
3801	0x2e, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71,
3802	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3803	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72,
3804	0x74, 0x4a, 0x6f, 0x62, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76,
3805	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
3806	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b,
3807	0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
3808	0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xb6,
3809	0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
3810	0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3811	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79,
3812	0x52, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f,
3813	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
3814	0x31, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02,
3815	0x38, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
3816	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3817	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x3a,
3818	0x08, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65,
3819	0x6e, 0x74, 0x2c, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x2c, 0x6b,
3820	0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0xcf, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61,
3821	0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x2e, 0x67, 0x6f,
3822	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
3823	0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3824	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3825	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43,
3826	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47,
3827	0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
3828	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
3829	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d,
3830	0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x3a, 0x0a, 0x63, 0x72, 0x79,
3831	0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0xda, 0x41, 0x1f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
3832	0x2c, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x2c, 0x63,
3833	0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0xfb, 0x01, 0x0a, 0x16, 0x43, 0x72,
3834	0x65, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72,
3835	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3836	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
3837	0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3838	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3839	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43,
3840	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22,
3841	0x85, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70,
3842	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
3843	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79,
3844	0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3845	0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56,
3846	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f,
3847	0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x19, 0x70, 0x61,
3848	0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
3849	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xd4, 0x01, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f,
3850	0x72, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69,
3851	0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3852	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43,
3853	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
3854	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3855	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79,
3856	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0x82,
3857	0xd3, 0xe4, 0x93, 0x02, 0x59, 0x22, 0x54, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
3858	0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
3859	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3860	0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f,
3861	0x2a, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73,
3862	0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xcf,
3863	0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a,
3864	0x6f, 0x62, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3865	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49,
3866	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3867	0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3868	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x22,
3869	0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61,
3870	0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
3871	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52,
3872	0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x6f,
3873	0x62, 0x73, 0x3a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0xda, 0x41,
3874	0x1f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a,
3875	0x6f, 0x62, 0x5f, 0x69, 0x64, 0x2c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62,
3876	0x12, 0xd1, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74,
3877	0x6f, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3878	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
3879	0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3880	0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3881	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3882	0x79, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x32, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
3883	0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
3884	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
3885	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f,
3886	0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x3a,
3887	0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0xda, 0x41, 0x16, 0x63, 0x72,
3888	0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
3889	0x6d, 0x61, 0x73, 0x6b, 0x12, 0x93, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43,
3890	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
3891	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
3892	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70,
3893	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
3894	0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3895	0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
3896	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4,
3897	0x93, 0x02, 0x76, 0x32, 0x60, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3898	0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d,
3899	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
3900	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
3901	0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a,
3902	0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
3903	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65,
3904	0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x1e, 0x63, 0x72, 0x79, 0x70,
3905	0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x75,
3906	0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xf2, 0x01, 0x0a, 0x1d, 0x55,
3907	0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x50, 0x72,
3908	0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67,
3909	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3910	0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3911	0x65, 0x79, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
3912	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3913	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72,
3914	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x22, 0x76, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x22,
3915	0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3916	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3917	0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79,
3918	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74,
3919	0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
3920	0x01, 0x2a, 0xda, 0x41, 0x1a, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3921	0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12,
3922	0xde, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x43, 0x72, 0x79, 0x70, 0x74,
3923	0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x67, 0x6f,
3924	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76,
3925	0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
3926	0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3927	0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3928	0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
3929	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x22,
3930	0x55, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3931	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3932	0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79,
3933	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3934	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64,
3935	0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3936	0x12, 0xde, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x79, 0x70,
3937	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x67,
3938	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e,
3939	0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
3940	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3941	0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3942	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
3943	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a,
3944	0x22, 0x55, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
3945	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3946	0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72,
3947	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74,
3948	0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a,
3949	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
3950	0x65, 0x12, 0xb4, 0x01, 0x0a, 0x07, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x23, 0x2e,
3951	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
3952	0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
3953	0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3954	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
3955	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47,
3956	0x22, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
3957	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3958	0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72,
3959	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x65, 0x6e, 0x63,
3960	0x72, 0x79, 0x70, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x70,
3961	0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0xb4, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x63,
3962	0x72, 0x79, 0x70, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3963	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79,
3964	0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3965	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e,
3966	0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
3967	0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61,
3968	0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
3969	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e,
3970	0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f,
3971	0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f,
3972	0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x12,
3973	0xe0, 0x01, 0x0a, 0x0e, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69,
3974	0x67, 0x6e, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3975	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74,
3976	0x72, 0x69, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b,
3977	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d,
3978	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53,
3979	0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x75, 0x82, 0xd3, 0xe4,
3980	0x93, 0x02, 0x61, 0x22, 0x5c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
3981	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3982	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a,
3983	0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72,
3984	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3985	0x2a, 0x7d, 0x3a, 0x61, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x69, 0x67,
3986	0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x64, 0x69, 0x67, 0x65,
3987	0x73, 0x74, 0x12, 0xf0, 0x01, 0x0a, 0x11, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69,
3988	0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3989	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41,
3990	0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74,
3991	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3992	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73,
3993	0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52,
3994	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x22,
3995	0x5f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3996	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
3997	0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79,
3998	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
3999	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61,
4000	0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74,
4001	0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, 0x69, 0x70, 0x68, 0x65,
4002	0x72, 0x74, 0x65, 0x78, 0x74, 0x12, 0xc2, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x63, 0x53, 0x69, 0x67,
4003	0x6e, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4004	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x52,
4005	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4006	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63,
4007	0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x82, 0xd3,
4008	0xe4, 0x93, 0x02, 0x5a, 0x22, 0x55, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
4009	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
4010	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f,
4011	0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63,
4012	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
4013	0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x61, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41,
4014	0x09, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x12, 0xce, 0x01, 0x0a, 0x09, 0x4d,
4015	0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4016	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d,
4017	0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
4018	0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b,
4019	0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52,
4020	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x22,
4021	0x57, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
4022	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
4023	0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79,
4024	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
4025	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d,
4026	0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0d, 0x6e, 0x61,
4027	0x6d, 0x65, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x6d, 0x61, 0x63, 0x12, 0xe7, 0x01, 0x0a, 0x13,
4028	0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79,
4029	0x74, 0x65, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
4030	0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
4031	0x74, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71,
4032	0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4033	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72,
4034	0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65,
4035	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x22, 0x39,
4036	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72,
4037	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
4038	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61,
4039	0x6e, 0x64, 0x6f, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x26, 0x6c,
4040	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x62,
4041	0x79, 0x74, 0x65, 0x73, 0x2c, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
4042	0x6c, 0x65, 0x76, 0x65, 0x6c, 0x1a, 0x74, 0xca, 0x41, 0x17, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b,
4043	0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
4044	0x6d, 0xd2, 0x41, 0x57, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
4045	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61,
4046	0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
4047	0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67,
4048	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75,
4049	0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x42, 0x8c, 0x01, 0x0a, 0x17,
4050	0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4051	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x08, 0x4b, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74,
4052	0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61,
4053	0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
4054	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4055	0x2f, 0x6b, 0x6d, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x6b, 0x6d, 0x73, 0xf8, 0x01, 0x01, 0xaa, 0x02,
4056	0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4b, 0x6d,
4057	0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c,
4058	0x6f, 0x75, 0x64, 0x5c, 0x4b, 0x6d, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
4059	0x6f, 0x33,
4060}
4061
4062var (
4063	file_google_cloud_kms_v1_service_proto_rawDescOnce sync.Once
4064	file_google_cloud_kms_v1_service_proto_rawDescData = file_google_cloud_kms_v1_service_proto_rawDesc
4065)
4066
4067func file_google_cloud_kms_v1_service_proto_rawDescGZIP() []byte {
4068	file_google_cloud_kms_v1_service_proto_rawDescOnce.Do(func() {
4069		file_google_cloud_kms_v1_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_kms_v1_service_proto_rawDescData)
4070	})
4071	return file_google_cloud_kms_v1_service_proto_rawDescData
4072}
4073
4074var file_google_cloud_kms_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
4075var file_google_cloud_kms_v1_service_proto_goTypes = []interface{}{
4076	(*ListKeyRingsRequest)(nil),                     // 0: google.cloud.kms.v1.ListKeyRingsRequest
4077	(*ListCryptoKeysRequest)(nil),                   // 1: google.cloud.kms.v1.ListCryptoKeysRequest
4078	(*ListCryptoKeyVersionsRequest)(nil),            // 2: google.cloud.kms.v1.ListCryptoKeyVersionsRequest
4079	(*ListImportJobsRequest)(nil),                   // 3: google.cloud.kms.v1.ListImportJobsRequest
4080	(*ListKeyRingsResponse)(nil),                    // 4: google.cloud.kms.v1.ListKeyRingsResponse
4081	(*ListCryptoKeysResponse)(nil),                  // 5: google.cloud.kms.v1.ListCryptoKeysResponse
4082	(*ListCryptoKeyVersionsResponse)(nil),           // 6: google.cloud.kms.v1.ListCryptoKeyVersionsResponse
4083	(*ListImportJobsResponse)(nil),                  // 7: google.cloud.kms.v1.ListImportJobsResponse
4084	(*GetKeyRingRequest)(nil),                       // 8: google.cloud.kms.v1.GetKeyRingRequest
4085	(*GetCryptoKeyRequest)(nil),                     // 9: google.cloud.kms.v1.GetCryptoKeyRequest
4086	(*GetCryptoKeyVersionRequest)(nil),              // 10: google.cloud.kms.v1.GetCryptoKeyVersionRequest
4087	(*GetPublicKeyRequest)(nil),                     // 11: google.cloud.kms.v1.GetPublicKeyRequest
4088	(*GetImportJobRequest)(nil),                     // 12: google.cloud.kms.v1.GetImportJobRequest
4089	(*CreateKeyRingRequest)(nil),                    // 13: google.cloud.kms.v1.CreateKeyRingRequest
4090	(*CreateCryptoKeyRequest)(nil),                  // 14: google.cloud.kms.v1.CreateCryptoKeyRequest
4091	(*CreateCryptoKeyVersionRequest)(nil),           // 15: google.cloud.kms.v1.CreateCryptoKeyVersionRequest
4092	(*ImportCryptoKeyVersionRequest)(nil),           // 16: google.cloud.kms.v1.ImportCryptoKeyVersionRequest
4093	(*CreateImportJobRequest)(nil),                  // 17: google.cloud.kms.v1.CreateImportJobRequest
4094	(*UpdateCryptoKeyRequest)(nil),                  // 18: google.cloud.kms.v1.UpdateCryptoKeyRequest
4095	(*UpdateCryptoKeyVersionRequest)(nil),           // 19: google.cloud.kms.v1.UpdateCryptoKeyVersionRequest
4096	(*UpdateCryptoKeyPrimaryVersionRequest)(nil),    // 20: google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest
4097	(*DestroyCryptoKeyVersionRequest)(nil),          // 21: google.cloud.kms.v1.DestroyCryptoKeyVersionRequest
4098	(*RestoreCryptoKeyVersionRequest)(nil),          // 22: google.cloud.kms.v1.RestoreCryptoKeyVersionRequest
4099	(*EncryptRequest)(nil),                          // 23: google.cloud.kms.v1.EncryptRequest
4100	(*DecryptRequest)(nil),                          // 24: google.cloud.kms.v1.DecryptRequest
4101	(*AsymmetricSignRequest)(nil),                   // 25: google.cloud.kms.v1.AsymmetricSignRequest
4102	(*AsymmetricDecryptRequest)(nil),                // 26: google.cloud.kms.v1.AsymmetricDecryptRequest
4103	(*MacSignRequest)(nil),                          // 27: google.cloud.kms.v1.MacSignRequest
4104	(*MacVerifyRequest)(nil),                        // 28: google.cloud.kms.v1.MacVerifyRequest
4105	(*GenerateRandomBytesRequest)(nil),              // 29: google.cloud.kms.v1.GenerateRandomBytesRequest
4106	(*EncryptResponse)(nil),                         // 30: google.cloud.kms.v1.EncryptResponse
4107	(*DecryptResponse)(nil),                         // 31: google.cloud.kms.v1.DecryptResponse
4108	(*AsymmetricSignResponse)(nil),                  // 32: google.cloud.kms.v1.AsymmetricSignResponse
4109	(*AsymmetricDecryptResponse)(nil),               // 33: google.cloud.kms.v1.AsymmetricDecryptResponse
4110	(*MacSignResponse)(nil),                         // 34: google.cloud.kms.v1.MacSignResponse
4111	(*MacVerifyResponse)(nil),                       // 35: google.cloud.kms.v1.MacVerifyResponse
4112	(*GenerateRandomBytesResponse)(nil),             // 36: google.cloud.kms.v1.GenerateRandomBytesResponse
4113	(*Digest)(nil),                                  // 37: google.cloud.kms.v1.Digest
4114	(*LocationMetadata)(nil),                        // 38: google.cloud.kms.v1.LocationMetadata
4115	(CryptoKeyVersion_CryptoKeyVersionView)(0),      // 39: google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView
4116	(*KeyRing)(nil),                                 // 40: google.cloud.kms.v1.KeyRing
4117	(*CryptoKey)(nil),                               // 41: google.cloud.kms.v1.CryptoKey
4118	(*CryptoKeyVersion)(nil),                        // 42: google.cloud.kms.v1.CryptoKeyVersion
4119	(*ImportJob)(nil),                               // 43: google.cloud.kms.v1.ImportJob
4120	(CryptoKeyVersion_CryptoKeyVersionAlgorithm)(0), // 44: google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm
4121	(*fieldmaskpb.FieldMask)(nil),                   // 45: google.protobuf.FieldMask
4122	(*wrapperspb.Int64Value)(nil),                   // 46: google.protobuf.Int64Value
4123	(ProtectionLevel)(0),                            // 47: google.cloud.kms.v1.ProtectionLevel
4124	(*PublicKey)(nil),                               // 48: google.cloud.kms.v1.PublicKey
4125}
4126var file_google_cloud_kms_v1_service_proto_depIdxs = []int32{
4127	39, // 0: google.cloud.kms.v1.ListCryptoKeysRequest.version_view:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView
4128	39, // 1: google.cloud.kms.v1.ListCryptoKeyVersionsRequest.view:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView
4129	40, // 2: google.cloud.kms.v1.ListKeyRingsResponse.key_rings:type_name -> google.cloud.kms.v1.KeyRing
4130	41, // 3: google.cloud.kms.v1.ListCryptoKeysResponse.crypto_keys:type_name -> google.cloud.kms.v1.CryptoKey
4131	42, // 4: google.cloud.kms.v1.ListCryptoKeyVersionsResponse.crypto_key_versions:type_name -> google.cloud.kms.v1.CryptoKeyVersion
4132	43, // 5: google.cloud.kms.v1.ListImportJobsResponse.import_jobs:type_name -> google.cloud.kms.v1.ImportJob
4133	40, // 6: google.cloud.kms.v1.CreateKeyRingRequest.key_ring:type_name -> google.cloud.kms.v1.KeyRing
4134	41, // 7: google.cloud.kms.v1.CreateCryptoKeyRequest.crypto_key:type_name -> google.cloud.kms.v1.CryptoKey
4135	42, // 8: google.cloud.kms.v1.CreateCryptoKeyVersionRequest.crypto_key_version:type_name -> google.cloud.kms.v1.CryptoKeyVersion
4136	44, // 9: google.cloud.kms.v1.ImportCryptoKeyVersionRequest.algorithm:type_name -> google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm
4137	43, // 10: google.cloud.kms.v1.CreateImportJobRequest.import_job:type_name -> google.cloud.kms.v1.ImportJob
4138	41, // 11: google.cloud.kms.v1.UpdateCryptoKeyRequest.crypto_key:type_name -> google.cloud.kms.v1.CryptoKey
4139	45, // 12: google.cloud.kms.v1.UpdateCryptoKeyRequest.update_mask:type_name -> google.protobuf.FieldMask
4140	42, // 13: google.cloud.kms.v1.UpdateCryptoKeyVersionRequest.crypto_key_version:type_name -> google.cloud.kms.v1.CryptoKeyVersion
4141	45, // 14: google.cloud.kms.v1.UpdateCryptoKeyVersionRequest.update_mask:type_name -> google.protobuf.FieldMask
4142	46, // 15: google.cloud.kms.v1.EncryptRequest.plaintext_crc32c:type_name -> google.protobuf.Int64Value
4143	46, // 16: google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c:type_name -> google.protobuf.Int64Value
4144	46, // 17: google.cloud.kms.v1.DecryptRequest.ciphertext_crc32c:type_name -> google.protobuf.Int64Value
4145	46, // 18: google.cloud.kms.v1.DecryptRequest.additional_authenticated_data_crc32c:type_name -> google.protobuf.Int64Value
4146	37, // 19: google.cloud.kms.v1.AsymmetricSignRequest.digest:type_name -> google.cloud.kms.v1.Digest
4147	46, // 20: google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c:type_name -> google.protobuf.Int64Value
4148	46, // 21: google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c:type_name -> google.protobuf.Int64Value
4149	46, // 22: google.cloud.kms.v1.MacSignRequest.data_crc32c:type_name -> google.protobuf.Int64Value
4150	46, // 23: google.cloud.kms.v1.MacVerifyRequest.data_crc32c:type_name -> google.protobuf.Int64Value
4151	46, // 24: google.cloud.kms.v1.MacVerifyRequest.mac_crc32c:type_name -> google.protobuf.Int64Value
4152	47, // 25: google.cloud.kms.v1.GenerateRandomBytesRequest.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4153	46, // 26: google.cloud.kms.v1.EncryptResponse.ciphertext_crc32c:type_name -> google.protobuf.Int64Value
4154	47, // 27: google.cloud.kms.v1.EncryptResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4155	46, // 28: google.cloud.kms.v1.DecryptResponse.plaintext_crc32c:type_name -> google.protobuf.Int64Value
4156	47, // 29: google.cloud.kms.v1.DecryptResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4157	46, // 30: google.cloud.kms.v1.AsymmetricSignResponse.signature_crc32c:type_name -> google.protobuf.Int64Value
4158	47, // 31: google.cloud.kms.v1.AsymmetricSignResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4159	46, // 32: google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext_crc32c:type_name -> google.protobuf.Int64Value
4160	47, // 33: google.cloud.kms.v1.AsymmetricDecryptResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4161	46, // 34: google.cloud.kms.v1.MacSignResponse.mac_crc32c:type_name -> google.protobuf.Int64Value
4162	47, // 35: google.cloud.kms.v1.MacSignResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4163	47, // 36: google.cloud.kms.v1.MacVerifyResponse.protection_level:type_name -> google.cloud.kms.v1.ProtectionLevel
4164	46, // 37: google.cloud.kms.v1.GenerateRandomBytesResponse.data_crc32c:type_name -> google.protobuf.Int64Value
4165	0,  // 38: google.cloud.kms.v1.KeyManagementService.ListKeyRings:input_type -> google.cloud.kms.v1.ListKeyRingsRequest
4166	1,  // 39: google.cloud.kms.v1.KeyManagementService.ListCryptoKeys:input_type -> google.cloud.kms.v1.ListCryptoKeysRequest
4167	2,  // 40: google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions:input_type -> google.cloud.kms.v1.ListCryptoKeyVersionsRequest
4168	3,  // 41: google.cloud.kms.v1.KeyManagementService.ListImportJobs:input_type -> google.cloud.kms.v1.ListImportJobsRequest
4169	8,  // 42: google.cloud.kms.v1.KeyManagementService.GetKeyRing:input_type -> google.cloud.kms.v1.GetKeyRingRequest
4170	9,  // 43: google.cloud.kms.v1.KeyManagementService.GetCryptoKey:input_type -> google.cloud.kms.v1.GetCryptoKeyRequest
4171	10, // 44: google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion:input_type -> google.cloud.kms.v1.GetCryptoKeyVersionRequest
4172	11, // 45: google.cloud.kms.v1.KeyManagementService.GetPublicKey:input_type -> google.cloud.kms.v1.GetPublicKeyRequest
4173	12, // 46: google.cloud.kms.v1.KeyManagementService.GetImportJob:input_type -> google.cloud.kms.v1.GetImportJobRequest
4174	13, // 47: google.cloud.kms.v1.KeyManagementService.CreateKeyRing:input_type -> google.cloud.kms.v1.CreateKeyRingRequest
4175	14, // 48: google.cloud.kms.v1.KeyManagementService.CreateCryptoKey:input_type -> google.cloud.kms.v1.CreateCryptoKeyRequest
4176	15, // 49: google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion:input_type -> google.cloud.kms.v1.CreateCryptoKeyVersionRequest
4177	16, // 50: google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion:input_type -> google.cloud.kms.v1.ImportCryptoKeyVersionRequest
4178	17, // 51: google.cloud.kms.v1.KeyManagementService.CreateImportJob:input_type -> google.cloud.kms.v1.CreateImportJobRequest
4179	18, // 52: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey:input_type -> google.cloud.kms.v1.UpdateCryptoKeyRequest
4180	19, // 53: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion:input_type -> google.cloud.kms.v1.UpdateCryptoKeyVersionRequest
4181	20, // 54: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion:input_type -> google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest
4182	21, // 55: google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion:input_type -> google.cloud.kms.v1.DestroyCryptoKeyVersionRequest
4183	22, // 56: google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion:input_type -> google.cloud.kms.v1.RestoreCryptoKeyVersionRequest
4184	23, // 57: google.cloud.kms.v1.KeyManagementService.Encrypt:input_type -> google.cloud.kms.v1.EncryptRequest
4185	24, // 58: google.cloud.kms.v1.KeyManagementService.Decrypt:input_type -> google.cloud.kms.v1.DecryptRequest
4186	25, // 59: google.cloud.kms.v1.KeyManagementService.AsymmetricSign:input_type -> google.cloud.kms.v1.AsymmetricSignRequest
4187	26, // 60: google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt:input_type -> google.cloud.kms.v1.AsymmetricDecryptRequest
4188	27, // 61: google.cloud.kms.v1.KeyManagementService.MacSign:input_type -> google.cloud.kms.v1.MacSignRequest
4189	28, // 62: google.cloud.kms.v1.KeyManagementService.MacVerify:input_type -> google.cloud.kms.v1.MacVerifyRequest
4190	29, // 63: google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes:input_type -> google.cloud.kms.v1.GenerateRandomBytesRequest
4191	4,  // 64: google.cloud.kms.v1.KeyManagementService.ListKeyRings:output_type -> google.cloud.kms.v1.ListKeyRingsResponse
4192	5,  // 65: google.cloud.kms.v1.KeyManagementService.ListCryptoKeys:output_type -> google.cloud.kms.v1.ListCryptoKeysResponse
4193	6,  // 66: google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions:output_type -> google.cloud.kms.v1.ListCryptoKeyVersionsResponse
4194	7,  // 67: google.cloud.kms.v1.KeyManagementService.ListImportJobs:output_type -> google.cloud.kms.v1.ListImportJobsResponse
4195	40, // 68: google.cloud.kms.v1.KeyManagementService.GetKeyRing:output_type -> google.cloud.kms.v1.KeyRing
4196	41, // 69: google.cloud.kms.v1.KeyManagementService.GetCryptoKey:output_type -> google.cloud.kms.v1.CryptoKey
4197	42, // 70: google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4198	48, // 71: google.cloud.kms.v1.KeyManagementService.GetPublicKey:output_type -> google.cloud.kms.v1.PublicKey
4199	43, // 72: google.cloud.kms.v1.KeyManagementService.GetImportJob:output_type -> google.cloud.kms.v1.ImportJob
4200	40, // 73: google.cloud.kms.v1.KeyManagementService.CreateKeyRing:output_type -> google.cloud.kms.v1.KeyRing
4201	41, // 74: google.cloud.kms.v1.KeyManagementService.CreateCryptoKey:output_type -> google.cloud.kms.v1.CryptoKey
4202	42, // 75: google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4203	42, // 76: google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4204	43, // 77: google.cloud.kms.v1.KeyManagementService.CreateImportJob:output_type -> google.cloud.kms.v1.ImportJob
4205	41, // 78: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey:output_type -> google.cloud.kms.v1.CryptoKey
4206	42, // 79: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4207	41, // 80: google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion:output_type -> google.cloud.kms.v1.CryptoKey
4208	42, // 81: google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4209	42, // 82: google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion:output_type -> google.cloud.kms.v1.CryptoKeyVersion
4210	30, // 83: google.cloud.kms.v1.KeyManagementService.Encrypt:output_type -> google.cloud.kms.v1.EncryptResponse
4211	31, // 84: google.cloud.kms.v1.KeyManagementService.Decrypt:output_type -> google.cloud.kms.v1.DecryptResponse
4212	32, // 85: google.cloud.kms.v1.KeyManagementService.AsymmetricSign:output_type -> google.cloud.kms.v1.AsymmetricSignResponse
4213	33, // 86: google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt:output_type -> google.cloud.kms.v1.AsymmetricDecryptResponse
4214	34, // 87: google.cloud.kms.v1.KeyManagementService.MacSign:output_type -> google.cloud.kms.v1.MacSignResponse
4215	35, // 88: google.cloud.kms.v1.KeyManagementService.MacVerify:output_type -> google.cloud.kms.v1.MacVerifyResponse
4216	36, // 89: google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes:output_type -> google.cloud.kms.v1.GenerateRandomBytesResponse
4217	64, // [64:90] is the sub-list for method output_type
4218	38, // [38:64] is the sub-list for method input_type
4219	38, // [38:38] is the sub-list for extension type_name
4220	38, // [38:38] is the sub-list for extension extendee
4221	0,  // [0:38] is the sub-list for field type_name
4222}
4223
4224func init() { file_google_cloud_kms_v1_service_proto_init() }
4225func file_google_cloud_kms_v1_service_proto_init() {
4226	if File_google_cloud_kms_v1_service_proto != nil {
4227		return
4228	}
4229	file_google_cloud_kms_v1_resources_proto_init()
4230	if !protoimpl.UnsafeEnabled {
4231		file_google_cloud_kms_v1_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
4232			switch v := v.(*ListKeyRingsRequest); i {
4233			case 0:
4234				return &v.state
4235			case 1:
4236				return &v.sizeCache
4237			case 2:
4238				return &v.unknownFields
4239			default:
4240				return nil
4241			}
4242		}
4243		file_google_cloud_kms_v1_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
4244			switch v := v.(*ListCryptoKeysRequest); i {
4245			case 0:
4246				return &v.state
4247			case 1:
4248				return &v.sizeCache
4249			case 2:
4250				return &v.unknownFields
4251			default:
4252				return nil
4253			}
4254		}
4255		file_google_cloud_kms_v1_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
4256			switch v := v.(*ListCryptoKeyVersionsRequest); i {
4257			case 0:
4258				return &v.state
4259			case 1:
4260				return &v.sizeCache
4261			case 2:
4262				return &v.unknownFields
4263			default:
4264				return nil
4265			}
4266		}
4267		file_google_cloud_kms_v1_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
4268			switch v := v.(*ListImportJobsRequest); i {
4269			case 0:
4270				return &v.state
4271			case 1:
4272				return &v.sizeCache
4273			case 2:
4274				return &v.unknownFields
4275			default:
4276				return nil
4277			}
4278		}
4279		file_google_cloud_kms_v1_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
4280			switch v := v.(*ListKeyRingsResponse); i {
4281			case 0:
4282				return &v.state
4283			case 1:
4284				return &v.sizeCache
4285			case 2:
4286				return &v.unknownFields
4287			default:
4288				return nil
4289			}
4290		}
4291		file_google_cloud_kms_v1_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
4292			switch v := v.(*ListCryptoKeysResponse); i {
4293			case 0:
4294				return &v.state
4295			case 1:
4296				return &v.sizeCache
4297			case 2:
4298				return &v.unknownFields
4299			default:
4300				return nil
4301			}
4302		}
4303		file_google_cloud_kms_v1_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
4304			switch v := v.(*ListCryptoKeyVersionsResponse); i {
4305			case 0:
4306				return &v.state
4307			case 1:
4308				return &v.sizeCache
4309			case 2:
4310				return &v.unknownFields
4311			default:
4312				return nil
4313			}
4314		}
4315		file_google_cloud_kms_v1_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
4316			switch v := v.(*ListImportJobsResponse); i {
4317			case 0:
4318				return &v.state
4319			case 1:
4320				return &v.sizeCache
4321			case 2:
4322				return &v.unknownFields
4323			default:
4324				return nil
4325			}
4326		}
4327		file_google_cloud_kms_v1_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
4328			switch v := v.(*GetKeyRingRequest); i {
4329			case 0:
4330				return &v.state
4331			case 1:
4332				return &v.sizeCache
4333			case 2:
4334				return &v.unknownFields
4335			default:
4336				return nil
4337			}
4338		}
4339		file_google_cloud_kms_v1_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
4340			switch v := v.(*GetCryptoKeyRequest); i {
4341			case 0:
4342				return &v.state
4343			case 1:
4344				return &v.sizeCache
4345			case 2:
4346				return &v.unknownFields
4347			default:
4348				return nil
4349			}
4350		}
4351		file_google_cloud_kms_v1_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
4352			switch v := v.(*GetCryptoKeyVersionRequest); i {
4353			case 0:
4354				return &v.state
4355			case 1:
4356				return &v.sizeCache
4357			case 2:
4358				return &v.unknownFields
4359			default:
4360				return nil
4361			}
4362		}
4363		file_google_cloud_kms_v1_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
4364			switch v := v.(*GetPublicKeyRequest); i {
4365			case 0:
4366				return &v.state
4367			case 1:
4368				return &v.sizeCache
4369			case 2:
4370				return &v.unknownFields
4371			default:
4372				return nil
4373			}
4374		}
4375		file_google_cloud_kms_v1_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
4376			switch v := v.(*GetImportJobRequest); i {
4377			case 0:
4378				return &v.state
4379			case 1:
4380				return &v.sizeCache
4381			case 2:
4382				return &v.unknownFields
4383			default:
4384				return nil
4385			}
4386		}
4387		file_google_cloud_kms_v1_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
4388			switch v := v.(*CreateKeyRingRequest); i {
4389			case 0:
4390				return &v.state
4391			case 1:
4392				return &v.sizeCache
4393			case 2:
4394				return &v.unknownFields
4395			default:
4396				return nil
4397			}
4398		}
4399		file_google_cloud_kms_v1_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
4400			switch v := v.(*CreateCryptoKeyRequest); i {
4401			case 0:
4402				return &v.state
4403			case 1:
4404				return &v.sizeCache
4405			case 2:
4406				return &v.unknownFields
4407			default:
4408				return nil
4409			}
4410		}
4411		file_google_cloud_kms_v1_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
4412			switch v := v.(*CreateCryptoKeyVersionRequest); i {
4413			case 0:
4414				return &v.state
4415			case 1:
4416				return &v.sizeCache
4417			case 2:
4418				return &v.unknownFields
4419			default:
4420				return nil
4421			}
4422		}
4423		file_google_cloud_kms_v1_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
4424			switch v := v.(*ImportCryptoKeyVersionRequest); i {
4425			case 0:
4426				return &v.state
4427			case 1:
4428				return &v.sizeCache
4429			case 2:
4430				return &v.unknownFields
4431			default:
4432				return nil
4433			}
4434		}
4435		file_google_cloud_kms_v1_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
4436			switch v := v.(*CreateImportJobRequest); i {
4437			case 0:
4438				return &v.state
4439			case 1:
4440				return &v.sizeCache
4441			case 2:
4442				return &v.unknownFields
4443			default:
4444				return nil
4445			}
4446		}
4447		file_google_cloud_kms_v1_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
4448			switch v := v.(*UpdateCryptoKeyRequest); i {
4449			case 0:
4450				return &v.state
4451			case 1:
4452				return &v.sizeCache
4453			case 2:
4454				return &v.unknownFields
4455			default:
4456				return nil
4457			}
4458		}
4459		file_google_cloud_kms_v1_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
4460			switch v := v.(*UpdateCryptoKeyVersionRequest); i {
4461			case 0:
4462				return &v.state
4463			case 1:
4464				return &v.sizeCache
4465			case 2:
4466				return &v.unknownFields
4467			default:
4468				return nil
4469			}
4470		}
4471		file_google_cloud_kms_v1_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
4472			switch v := v.(*UpdateCryptoKeyPrimaryVersionRequest); i {
4473			case 0:
4474				return &v.state
4475			case 1:
4476				return &v.sizeCache
4477			case 2:
4478				return &v.unknownFields
4479			default:
4480				return nil
4481			}
4482		}
4483		file_google_cloud_kms_v1_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
4484			switch v := v.(*DestroyCryptoKeyVersionRequest); i {
4485			case 0:
4486				return &v.state
4487			case 1:
4488				return &v.sizeCache
4489			case 2:
4490				return &v.unknownFields
4491			default:
4492				return nil
4493			}
4494		}
4495		file_google_cloud_kms_v1_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
4496			switch v := v.(*RestoreCryptoKeyVersionRequest); i {
4497			case 0:
4498				return &v.state
4499			case 1:
4500				return &v.sizeCache
4501			case 2:
4502				return &v.unknownFields
4503			default:
4504				return nil
4505			}
4506		}
4507		file_google_cloud_kms_v1_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
4508			switch v := v.(*EncryptRequest); i {
4509			case 0:
4510				return &v.state
4511			case 1:
4512				return &v.sizeCache
4513			case 2:
4514				return &v.unknownFields
4515			default:
4516				return nil
4517			}
4518		}
4519		file_google_cloud_kms_v1_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
4520			switch v := v.(*DecryptRequest); i {
4521			case 0:
4522				return &v.state
4523			case 1:
4524				return &v.sizeCache
4525			case 2:
4526				return &v.unknownFields
4527			default:
4528				return nil
4529			}
4530		}
4531		file_google_cloud_kms_v1_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
4532			switch v := v.(*AsymmetricSignRequest); i {
4533			case 0:
4534				return &v.state
4535			case 1:
4536				return &v.sizeCache
4537			case 2:
4538				return &v.unknownFields
4539			default:
4540				return nil
4541			}
4542		}
4543		file_google_cloud_kms_v1_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
4544			switch v := v.(*AsymmetricDecryptRequest); i {
4545			case 0:
4546				return &v.state
4547			case 1:
4548				return &v.sizeCache
4549			case 2:
4550				return &v.unknownFields
4551			default:
4552				return nil
4553			}
4554		}
4555		file_google_cloud_kms_v1_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
4556			switch v := v.(*MacSignRequest); i {
4557			case 0:
4558				return &v.state
4559			case 1:
4560				return &v.sizeCache
4561			case 2:
4562				return &v.unknownFields
4563			default:
4564				return nil
4565			}
4566		}
4567		file_google_cloud_kms_v1_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
4568			switch v := v.(*MacVerifyRequest); i {
4569			case 0:
4570				return &v.state
4571			case 1:
4572				return &v.sizeCache
4573			case 2:
4574				return &v.unknownFields
4575			default:
4576				return nil
4577			}
4578		}
4579		file_google_cloud_kms_v1_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
4580			switch v := v.(*GenerateRandomBytesRequest); i {
4581			case 0:
4582				return &v.state
4583			case 1:
4584				return &v.sizeCache
4585			case 2:
4586				return &v.unknownFields
4587			default:
4588				return nil
4589			}
4590		}
4591		file_google_cloud_kms_v1_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
4592			switch v := v.(*EncryptResponse); i {
4593			case 0:
4594				return &v.state
4595			case 1:
4596				return &v.sizeCache
4597			case 2:
4598				return &v.unknownFields
4599			default:
4600				return nil
4601			}
4602		}
4603		file_google_cloud_kms_v1_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
4604			switch v := v.(*DecryptResponse); i {
4605			case 0:
4606				return &v.state
4607			case 1:
4608				return &v.sizeCache
4609			case 2:
4610				return &v.unknownFields
4611			default:
4612				return nil
4613			}
4614		}
4615		file_google_cloud_kms_v1_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
4616			switch v := v.(*AsymmetricSignResponse); i {
4617			case 0:
4618				return &v.state
4619			case 1:
4620				return &v.sizeCache
4621			case 2:
4622				return &v.unknownFields
4623			default:
4624				return nil
4625			}
4626		}
4627		file_google_cloud_kms_v1_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
4628			switch v := v.(*AsymmetricDecryptResponse); i {
4629			case 0:
4630				return &v.state
4631			case 1:
4632				return &v.sizeCache
4633			case 2:
4634				return &v.unknownFields
4635			default:
4636				return nil
4637			}
4638		}
4639		file_google_cloud_kms_v1_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
4640			switch v := v.(*MacSignResponse); i {
4641			case 0:
4642				return &v.state
4643			case 1:
4644				return &v.sizeCache
4645			case 2:
4646				return &v.unknownFields
4647			default:
4648				return nil
4649			}
4650		}
4651		file_google_cloud_kms_v1_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
4652			switch v := v.(*MacVerifyResponse); i {
4653			case 0:
4654				return &v.state
4655			case 1:
4656				return &v.sizeCache
4657			case 2:
4658				return &v.unknownFields
4659			default:
4660				return nil
4661			}
4662		}
4663		file_google_cloud_kms_v1_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
4664			switch v := v.(*GenerateRandomBytesResponse); i {
4665			case 0:
4666				return &v.state
4667			case 1:
4668				return &v.sizeCache
4669			case 2:
4670				return &v.unknownFields
4671			default:
4672				return nil
4673			}
4674		}
4675		file_google_cloud_kms_v1_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
4676			switch v := v.(*Digest); i {
4677			case 0:
4678				return &v.state
4679			case 1:
4680				return &v.sizeCache
4681			case 2:
4682				return &v.unknownFields
4683			default:
4684				return nil
4685			}
4686		}
4687		file_google_cloud_kms_v1_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
4688			switch v := v.(*LocationMetadata); i {
4689			case 0:
4690				return &v.state
4691			case 1:
4692				return &v.sizeCache
4693			case 2:
4694				return &v.unknownFields
4695			default:
4696				return nil
4697			}
4698		}
4699	}
4700	file_google_cloud_kms_v1_service_proto_msgTypes[16].OneofWrappers = []interface{}{
4701		(*ImportCryptoKeyVersionRequest_RsaAesWrappedKey)(nil),
4702	}
4703	file_google_cloud_kms_v1_service_proto_msgTypes[37].OneofWrappers = []interface{}{
4704		(*Digest_Sha256)(nil),
4705		(*Digest_Sha384)(nil),
4706		(*Digest_Sha512)(nil),
4707	}
4708	type x struct{}
4709	out := protoimpl.TypeBuilder{
4710		File: protoimpl.DescBuilder{
4711			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4712			RawDescriptor: file_google_cloud_kms_v1_service_proto_rawDesc,
4713			NumEnums:      0,
4714			NumMessages:   39,
4715			NumExtensions: 0,
4716			NumServices:   1,
4717		},
4718		GoTypes:           file_google_cloud_kms_v1_service_proto_goTypes,
4719		DependencyIndexes: file_google_cloud_kms_v1_service_proto_depIdxs,
4720		MessageInfos:      file_google_cloud_kms_v1_service_proto_msgTypes,
4721	}.Build()
4722	File_google_cloud_kms_v1_service_proto = out.File
4723	file_google_cloud_kms_v1_service_proto_rawDesc = nil
4724	file_google_cloud_kms_v1_service_proto_goTypes = nil
4725	file_google_cloud_kms_v1_service_proto_depIdxs = nil
4726}
4727
4728// Reference imports to suppress errors if they are not otherwise used.
4729var _ context.Context
4730var _ grpc.ClientConnInterface
4731
4732// This is a compile-time assertion to ensure that this generated file
4733// is compatible with the grpc package it is being compiled against.
4734const _ = grpc.SupportPackageIsVersion6
4735
4736// KeyManagementServiceClient is the client API for KeyManagementService service.
4737//
4738// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
4739type KeyManagementServiceClient interface {
4740	// Lists [KeyRings][google.cloud.kms.v1.KeyRing].
4741	ListKeyRings(ctx context.Context, in *ListKeyRingsRequest, opts ...grpc.CallOption) (*ListKeyRingsResponse, error)
4742	// Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey].
4743	ListCryptoKeys(ctx context.Context, in *ListCryptoKeysRequest, opts ...grpc.CallOption) (*ListCryptoKeysResponse, error)
4744	// Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
4745	ListCryptoKeyVersions(ctx context.Context, in *ListCryptoKeyVersionsRequest, opts ...grpc.CallOption) (*ListCryptoKeyVersionsResponse, error)
4746	// Lists [ImportJobs][google.cloud.kms.v1.ImportJob].
4747	ListImportJobs(ctx context.Context, in *ListImportJobsRequest, opts ...grpc.CallOption) (*ListImportJobsResponse, error)
4748	// Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing].
4749	GetKeyRing(ctx context.Context, in *GetKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error)
4750	// Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its
4751	// [primary][google.cloud.kms.v1.CryptoKey.primary] [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
4752	GetCryptoKey(ctx context.Context, in *GetCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
4753	// Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
4754	GetCryptoKeyVersion(ctx context.Context, in *GetCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4755	// Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The
4756	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
4757	// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
4758	// [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
4759	GetPublicKey(ctx context.Context, in *GetPublicKeyRequest, opts ...grpc.CallOption) (*PublicKey, error)
4760	// Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
4761	GetImportJob(ctx context.Context, in *GetImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error)
4762	// Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location.
4763	CreateKeyRing(ctx context.Context, in *CreateKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error)
4764	// Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a [KeyRing][google.cloud.kms.v1.KeyRing].
4765	//
4766	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and
4767	// [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]
4768	// are required.
4769	CreateCryptoKey(ctx context.Context, in *CreateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
4770	// Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a [CryptoKey][google.cloud.kms.v1.CryptoKey].
4771	//
4772	// The server will assign the next sequential id. If unset,
4773	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
4774	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED].
4775	CreateCryptoKeyVersion(ctx context.Context, in *CreateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4776	// Import wrapped key material into a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
4777	//
4778	// All requests must specify a [CryptoKey][google.cloud.kms.v1.CryptoKey]. If a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] is
4779	// additionally specified in the request, key material will be reimported into
4780	// that version. Otherwise, a new version will be created, and will be
4781	// assigned the next sequential id within the [CryptoKey][google.cloud.kms.v1.CryptoKey].
4782	ImportCryptoKeyVersion(ctx context.Context, in *ImportCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4783	// Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a [KeyRing][google.cloud.kms.v1.KeyRing].
4784	//
4785	// [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required.
4786	CreateImportJob(ctx context.Context, in *CreateImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error)
4787	// Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
4788	UpdateCryptoKey(ctx context.Context, in *UpdateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
4789	// Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s metadata.
4790	//
4791	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between
4792	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and
4793	// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this
4794	// method. See [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to
4795	// move between other states.
4796	UpdateCryptoKeyVersion(ctx context.Context, in *UpdateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4797	// Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
4798	//
4799	// Returns an error if called on a key whose purpose is not
4800	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
4801	UpdateCryptoKeyPrimaryVersion(ctx context.Context, in *UpdateCryptoKeyPrimaryVersionRequest, opts ...grpc.CallOption) (*CryptoKey, error)
4802	// Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
4803	//
4804	// Upon calling this method, [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
4805	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED],
4806	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to the time
4807	// [destroy_scheduled_duration][google.cloud.kms.v1.CryptoKey.destroy_scheduled_duration] in the
4808	// future. At that time, the [state][google.cloud.kms.v1.CryptoKeyVersion.state] will
4809	// automatically change to
4810	// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key
4811	// material will be irrevocably destroyed.
4812	//
4813	// Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached,
4814	// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may be called to reverse the process.
4815	DestroyCryptoKeyVersion(ctx context.Context, in *DestroyCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4816	// Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
4817	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
4818	// state.
4819	//
4820	// Upon restoration of the CryptoKeyVersion, [state][google.cloud.kms.v1.CryptoKeyVersion.state]
4821	// will be set to [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED],
4822	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared.
4823	RestoreCryptoKeyVersion(ctx context.Context, in *RestoreCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
4824	// Encrypts data, so that it can only be recovered by a call to [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
4825	// The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
4826	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
4827	Encrypt(ctx context.Context, in *EncryptRequest, opts ...grpc.CallOption) (*EncryptResponse, error)
4828	// Decrypts data that was protected by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4829	// must be [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
4830	Decrypt(ctx context.Context, in *DecryptRequest, opts ...grpc.CallOption) (*DecryptResponse, error)
4831	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4832	// ASYMMETRIC_SIGN, producing a signature that can be verified with the public
4833	// key retrieved from [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
4834	AsymmetricSign(ctx context.Context, in *AsymmetricSignRequest, opts ...grpc.CallOption) (*AsymmetricSignResponse, error)
4835	// Decrypts data that was encrypted with a public key retrieved from
4836	// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
4837	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
4838	AsymmetricDecrypt(ctx context.Context, in *AsymmetricDecryptRequest, opts ...grpc.CallOption) (*AsymmetricDecryptResponse, error)
4839	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4840	// MAC, producing a tag that can be verified by another source with the
4841	// same key.
4842	MacSign(ctx context.Context, in *MacSignRequest, opts ...grpc.CallOption) (*MacSignResponse, error)
4843	// Verifies MAC tag using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
4844	// MAC, and returns a response that indicates whether or not the verification
4845	// was successful.
4846	MacVerify(ctx context.Context, in *MacVerifyRequest, opts ...grpc.CallOption) (*MacVerifyResponse, error)
4847	// Generate random bytes using the Cloud KMS randomness source in the provided
4848	// location.
4849	GenerateRandomBytes(ctx context.Context, in *GenerateRandomBytesRequest, opts ...grpc.CallOption) (*GenerateRandomBytesResponse, error)
4850}
4851
4852type keyManagementServiceClient struct {
4853	cc grpc.ClientConnInterface
4854}
4855
4856func NewKeyManagementServiceClient(cc grpc.ClientConnInterface) KeyManagementServiceClient {
4857	return &keyManagementServiceClient{cc}
4858}
4859
4860func (c *keyManagementServiceClient) ListKeyRings(ctx context.Context, in *ListKeyRingsRequest, opts ...grpc.CallOption) (*ListKeyRingsResponse, error) {
4861	out := new(ListKeyRingsResponse)
4862	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListKeyRings", in, out, opts...)
4863	if err != nil {
4864		return nil, err
4865	}
4866	return out, nil
4867}
4868
4869func (c *keyManagementServiceClient) ListCryptoKeys(ctx context.Context, in *ListCryptoKeysRequest, opts ...grpc.CallOption) (*ListCryptoKeysResponse, error) {
4870	out := new(ListCryptoKeysResponse)
4871	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeys", in, out, opts...)
4872	if err != nil {
4873		return nil, err
4874	}
4875	return out, nil
4876}
4877
4878func (c *keyManagementServiceClient) ListCryptoKeyVersions(ctx context.Context, in *ListCryptoKeyVersionsRequest, opts ...grpc.CallOption) (*ListCryptoKeyVersionsResponse, error) {
4879	out := new(ListCryptoKeyVersionsResponse)
4880	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeyVersions", in, out, opts...)
4881	if err != nil {
4882		return nil, err
4883	}
4884	return out, nil
4885}
4886
4887func (c *keyManagementServiceClient) ListImportJobs(ctx context.Context, in *ListImportJobsRequest, opts ...grpc.CallOption) (*ListImportJobsResponse, error) {
4888	out := new(ListImportJobsResponse)
4889	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ListImportJobs", in, out, opts...)
4890	if err != nil {
4891		return nil, err
4892	}
4893	return out, nil
4894}
4895
4896func (c *keyManagementServiceClient) GetKeyRing(ctx context.Context, in *GetKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error) {
4897	out := new(KeyRing)
4898	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetKeyRing", in, out, opts...)
4899	if err != nil {
4900		return nil, err
4901	}
4902	return out, nil
4903}
4904
4905func (c *keyManagementServiceClient) GetCryptoKey(ctx context.Context, in *GetCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
4906	out := new(CryptoKey)
4907	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetCryptoKey", in, out, opts...)
4908	if err != nil {
4909		return nil, err
4910	}
4911	return out, nil
4912}
4913
4914func (c *keyManagementServiceClient) GetCryptoKeyVersion(ctx context.Context, in *GetCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4915	out := new(CryptoKeyVersion)
4916	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetCryptoKeyVersion", in, out, opts...)
4917	if err != nil {
4918		return nil, err
4919	}
4920	return out, nil
4921}
4922
4923func (c *keyManagementServiceClient) GetPublicKey(ctx context.Context, in *GetPublicKeyRequest, opts ...grpc.CallOption) (*PublicKey, error) {
4924	out := new(PublicKey)
4925	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetPublicKey", in, out, opts...)
4926	if err != nil {
4927		return nil, err
4928	}
4929	return out, nil
4930}
4931
4932func (c *keyManagementServiceClient) GetImportJob(ctx context.Context, in *GetImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error) {
4933	out := new(ImportJob)
4934	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GetImportJob", in, out, opts...)
4935	if err != nil {
4936		return nil, err
4937	}
4938	return out, nil
4939}
4940
4941func (c *keyManagementServiceClient) CreateKeyRing(ctx context.Context, in *CreateKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error) {
4942	out := new(KeyRing)
4943	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateKeyRing", in, out, opts...)
4944	if err != nil {
4945		return nil, err
4946	}
4947	return out, nil
4948}
4949
4950func (c *keyManagementServiceClient) CreateCryptoKey(ctx context.Context, in *CreateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
4951	out := new(CryptoKey)
4952	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKey", in, out, opts...)
4953	if err != nil {
4954		return nil, err
4955	}
4956	return out, nil
4957}
4958
4959func (c *keyManagementServiceClient) CreateCryptoKeyVersion(ctx context.Context, in *CreateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4960	out := new(CryptoKeyVersion)
4961	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKeyVersion", in, out, opts...)
4962	if err != nil {
4963		return nil, err
4964	}
4965	return out, nil
4966}
4967
4968func (c *keyManagementServiceClient) ImportCryptoKeyVersion(ctx context.Context, in *ImportCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4969	out := new(CryptoKeyVersion)
4970	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/ImportCryptoKeyVersion", in, out, opts...)
4971	if err != nil {
4972		return nil, err
4973	}
4974	return out, nil
4975}
4976
4977func (c *keyManagementServiceClient) CreateImportJob(ctx context.Context, in *CreateImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error) {
4978	out := new(ImportJob)
4979	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/CreateImportJob", in, out, opts...)
4980	if err != nil {
4981		return nil, err
4982	}
4983	return out, nil
4984}
4985
4986func (c *keyManagementServiceClient) UpdateCryptoKey(ctx context.Context, in *UpdateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
4987	out := new(CryptoKey)
4988	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKey", in, out, opts...)
4989	if err != nil {
4990		return nil, err
4991	}
4992	return out, nil
4993}
4994
4995func (c *keyManagementServiceClient) UpdateCryptoKeyVersion(ctx context.Context, in *UpdateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
4996	out := new(CryptoKeyVersion)
4997	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyVersion", in, out, opts...)
4998	if err != nil {
4999		return nil, err
5000	}
5001	return out, nil
5002}
5003
5004func (c *keyManagementServiceClient) UpdateCryptoKeyPrimaryVersion(ctx context.Context, in *UpdateCryptoKeyPrimaryVersionRequest, opts ...grpc.CallOption) (*CryptoKey, error) {
5005	out := new(CryptoKey)
5006	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyPrimaryVersion", in, out, opts...)
5007	if err != nil {
5008		return nil, err
5009	}
5010	return out, nil
5011}
5012
5013func (c *keyManagementServiceClient) DestroyCryptoKeyVersion(ctx context.Context, in *DestroyCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
5014	out := new(CryptoKeyVersion)
5015	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/DestroyCryptoKeyVersion", in, out, opts...)
5016	if err != nil {
5017		return nil, err
5018	}
5019	return out, nil
5020}
5021
5022func (c *keyManagementServiceClient) RestoreCryptoKeyVersion(ctx context.Context, in *RestoreCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error) {
5023	out := new(CryptoKeyVersion)
5024	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/RestoreCryptoKeyVersion", in, out, opts...)
5025	if err != nil {
5026		return nil, err
5027	}
5028	return out, nil
5029}
5030
5031func (c *keyManagementServiceClient) Encrypt(ctx context.Context, in *EncryptRequest, opts ...grpc.CallOption) (*EncryptResponse, error) {
5032	out := new(EncryptResponse)
5033	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/Encrypt", in, out, opts...)
5034	if err != nil {
5035		return nil, err
5036	}
5037	return out, nil
5038}
5039
5040func (c *keyManagementServiceClient) Decrypt(ctx context.Context, in *DecryptRequest, opts ...grpc.CallOption) (*DecryptResponse, error) {
5041	out := new(DecryptResponse)
5042	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/Decrypt", in, out, opts...)
5043	if err != nil {
5044		return nil, err
5045	}
5046	return out, nil
5047}
5048
5049func (c *keyManagementServiceClient) AsymmetricSign(ctx context.Context, in *AsymmetricSignRequest, opts ...grpc.CallOption) (*AsymmetricSignResponse, error) {
5050	out := new(AsymmetricSignResponse)
5051	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/AsymmetricSign", in, out, opts...)
5052	if err != nil {
5053		return nil, err
5054	}
5055	return out, nil
5056}
5057
5058func (c *keyManagementServiceClient) AsymmetricDecrypt(ctx context.Context, in *AsymmetricDecryptRequest, opts ...grpc.CallOption) (*AsymmetricDecryptResponse, error) {
5059	out := new(AsymmetricDecryptResponse)
5060	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/AsymmetricDecrypt", in, out, opts...)
5061	if err != nil {
5062		return nil, err
5063	}
5064	return out, nil
5065}
5066
5067func (c *keyManagementServiceClient) MacSign(ctx context.Context, in *MacSignRequest, opts ...grpc.CallOption) (*MacSignResponse, error) {
5068	out := new(MacSignResponse)
5069	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/MacSign", in, out, opts...)
5070	if err != nil {
5071		return nil, err
5072	}
5073	return out, nil
5074}
5075
5076func (c *keyManagementServiceClient) MacVerify(ctx context.Context, in *MacVerifyRequest, opts ...grpc.CallOption) (*MacVerifyResponse, error) {
5077	out := new(MacVerifyResponse)
5078	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/MacVerify", in, out, opts...)
5079	if err != nil {
5080		return nil, err
5081	}
5082	return out, nil
5083}
5084
5085func (c *keyManagementServiceClient) GenerateRandomBytes(ctx context.Context, in *GenerateRandomBytesRequest, opts ...grpc.CallOption) (*GenerateRandomBytesResponse, error) {
5086	out := new(GenerateRandomBytesResponse)
5087	err := c.cc.Invoke(ctx, "/google.cloud.kms.v1.KeyManagementService/GenerateRandomBytes", in, out, opts...)
5088	if err != nil {
5089		return nil, err
5090	}
5091	return out, nil
5092}
5093
5094// KeyManagementServiceServer is the server API for KeyManagementService service.
5095type KeyManagementServiceServer interface {
5096	// Lists [KeyRings][google.cloud.kms.v1.KeyRing].
5097	ListKeyRings(context.Context, *ListKeyRingsRequest) (*ListKeyRingsResponse, error)
5098	// Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey].
5099	ListCryptoKeys(context.Context, *ListCryptoKeysRequest) (*ListCryptoKeysResponse, error)
5100	// Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
5101	ListCryptoKeyVersions(context.Context, *ListCryptoKeyVersionsRequest) (*ListCryptoKeyVersionsResponse, error)
5102	// Lists [ImportJobs][google.cloud.kms.v1.ImportJob].
5103	ListImportJobs(context.Context, *ListImportJobsRequest) (*ListImportJobsResponse, error)
5104	// Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing].
5105	GetKeyRing(context.Context, *GetKeyRingRequest) (*KeyRing, error)
5106	// Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its
5107	// [primary][google.cloud.kms.v1.CryptoKey.primary] [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
5108	GetCryptoKey(context.Context, *GetCryptoKeyRequest) (*CryptoKey, error)
5109	// Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
5110	GetCryptoKeyVersion(context.Context, *GetCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5111	// Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The
5112	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
5113	// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
5114	// [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
5115	GetPublicKey(context.Context, *GetPublicKeyRequest) (*PublicKey, error)
5116	// Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
5117	GetImportJob(context.Context, *GetImportJobRequest) (*ImportJob, error)
5118	// Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location.
5119	CreateKeyRing(context.Context, *CreateKeyRingRequest) (*KeyRing, error)
5120	// Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a [KeyRing][google.cloud.kms.v1.KeyRing].
5121	//
5122	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and
5123	// [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]
5124	// are required.
5125	CreateCryptoKey(context.Context, *CreateCryptoKeyRequest) (*CryptoKey, error)
5126	// Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a [CryptoKey][google.cloud.kms.v1.CryptoKey].
5127	//
5128	// The server will assign the next sequential id. If unset,
5129	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
5130	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED].
5131	CreateCryptoKeyVersion(context.Context, *CreateCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5132	// Import wrapped key material into a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
5133	//
5134	// All requests must specify a [CryptoKey][google.cloud.kms.v1.CryptoKey]. If a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] is
5135	// additionally specified in the request, key material will be reimported into
5136	// that version. Otherwise, a new version will be created, and will be
5137	// assigned the next sequential id within the [CryptoKey][google.cloud.kms.v1.CryptoKey].
5138	ImportCryptoKeyVersion(context.Context, *ImportCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5139	// Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a [KeyRing][google.cloud.kms.v1.KeyRing].
5140	//
5141	// [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required.
5142	CreateImportJob(context.Context, *CreateImportJobRequest) (*ImportJob, error)
5143	// Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
5144	UpdateCryptoKey(context.Context, *UpdateCryptoKeyRequest) (*CryptoKey, error)
5145	// Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s metadata.
5146	//
5147	// [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between
5148	// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and
5149	// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this
5150	// method. See [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to
5151	// move between other states.
5152	UpdateCryptoKeyVersion(context.Context, *UpdateCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5153	// Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
5154	//
5155	// Returns an error if called on a key whose purpose is not
5156	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
5157	UpdateCryptoKeyPrimaryVersion(context.Context, *UpdateCryptoKeyPrimaryVersionRequest) (*CryptoKey, error)
5158	// Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
5159	//
5160	// Upon calling this method, [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
5161	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED],
5162	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to the time
5163	// [destroy_scheduled_duration][google.cloud.kms.v1.CryptoKey.destroy_scheduled_duration] in the
5164	// future. At that time, the [state][google.cloud.kms.v1.CryptoKeyVersion.state] will
5165	// automatically change to
5166	// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key
5167	// material will be irrevocably destroyed.
5168	//
5169	// Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached,
5170	// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may be called to reverse the process.
5171	DestroyCryptoKeyVersion(context.Context, *DestroyCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5172	// Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
5173	// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
5174	// state.
5175	//
5176	// Upon restoration of the CryptoKeyVersion, [state][google.cloud.kms.v1.CryptoKeyVersion.state]
5177	// will be set to [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED],
5178	// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared.
5179	RestoreCryptoKeyVersion(context.Context, *RestoreCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
5180	// Encrypts data, so that it can only be recovered by a call to [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
5181	// The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
5182	// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
5183	Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error)
5184	// Decrypts data that was protected by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
5185	// must be [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
5186	Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error)
5187	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
5188	// ASYMMETRIC_SIGN, producing a signature that can be verified with the public
5189	// key retrieved from [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
5190	AsymmetricSign(context.Context, *AsymmetricSignRequest) (*AsymmetricSignResponse, error)
5191	// Decrypts data that was encrypted with a public key retrieved from
5192	// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
5193	// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
5194	AsymmetricDecrypt(context.Context, *AsymmetricDecryptRequest) (*AsymmetricDecryptResponse, error)
5195	// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
5196	// MAC, producing a tag that can be verified by another source with the
5197	// same key.
5198	MacSign(context.Context, *MacSignRequest) (*MacSignResponse, error)
5199	// Verifies MAC tag using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
5200	// MAC, and returns a response that indicates whether or not the verification
5201	// was successful.
5202	MacVerify(context.Context, *MacVerifyRequest) (*MacVerifyResponse, error)
5203	// Generate random bytes using the Cloud KMS randomness source in the provided
5204	// location.
5205	GenerateRandomBytes(context.Context, *GenerateRandomBytesRequest) (*GenerateRandomBytesResponse, error)
5206}
5207
5208// UnimplementedKeyManagementServiceServer can be embedded to have forward compatible implementations.
5209type UnimplementedKeyManagementServiceServer struct {
5210}
5211
5212func (*UnimplementedKeyManagementServiceServer) ListKeyRings(context.Context, *ListKeyRingsRequest) (*ListKeyRingsResponse, error) {
5213	return nil, status.Errorf(codes.Unimplemented, "method ListKeyRings not implemented")
5214}
5215func (*UnimplementedKeyManagementServiceServer) ListCryptoKeys(context.Context, *ListCryptoKeysRequest) (*ListCryptoKeysResponse, error) {
5216	return nil, status.Errorf(codes.Unimplemented, "method ListCryptoKeys not implemented")
5217}
5218func (*UnimplementedKeyManagementServiceServer) ListCryptoKeyVersions(context.Context, *ListCryptoKeyVersionsRequest) (*ListCryptoKeyVersionsResponse, error) {
5219	return nil, status.Errorf(codes.Unimplemented, "method ListCryptoKeyVersions not implemented")
5220}
5221func (*UnimplementedKeyManagementServiceServer) ListImportJobs(context.Context, *ListImportJobsRequest) (*ListImportJobsResponse, error) {
5222	return nil, status.Errorf(codes.Unimplemented, "method ListImportJobs not implemented")
5223}
5224func (*UnimplementedKeyManagementServiceServer) GetKeyRing(context.Context, *GetKeyRingRequest) (*KeyRing, error) {
5225	return nil, status.Errorf(codes.Unimplemented, "method GetKeyRing not implemented")
5226}
5227func (*UnimplementedKeyManagementServiceServer) GetCryptoKey(context.Context, *GetCryptoKeyRequest) (*CryptoKey, error) {
5228	return nil, status.Errorf(codes.Unimplemented, "method GetCryptoKey not implemented")
5229}
5230func (*UnimplementedKeyManagementServiceServer) GetCryptoKeyVersion(context.Context, *GetCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5231	return nil, status.Errorf(codes.Unimplemented, "method GetCryptoKeyVersion not implemented")
5232}
5233func (*UnimplementedKeyManagementServiceServer) GetPublicKey(context.Context, *GetPublicKeyRequest) (*PublicKey, error) {
5234	return nil, status.Errorf(codes.Unimplemented, "method GetPublicKey not implemented")
5235}
5236func (*UnimplementedKeyManagementServiceServer) GetImportJob(context.Context, *GetImportJobRequest) (*ImportJob, error) {
5237	return nil, status.Errorf(codes.Unimplemented, "method GetImportJob not implemented")
5238}
5239func (*UnimplementedKeyManagementServiceServer) CreateKeyRing(context.Context, *CreateKeyRingRequest) (*KeyRing, error) {
5240	return nil, status.Errorf(codes.Unimplemented, "method CreateKeyRing not implemented")
5241}
5242func (*UnimplementedKeyManagementServiceServer) CreateCryptoKey(context.Context, *CreateCryptoKeyRequest) (*CryptoKey, error) {
5243	return nil, status.Errorf(codes.Unimplemented, "method CreateCryptoKey not implemented")
5244}
5245func (*UnimplementedKeyManagementServiceServer) CreateCryptoKeyVersion(context.Context, *CreateCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5246	return nil, status.Errorf(codes.Unimplemented, "method CreateCryptoKeyVersion not implemented")
5247}
5248func (*UnimplementedKeyManagementServiceServer) ImportCryptoKeyVersion(context.Context, *ImportCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5249	return nil, status.Errorf(codes.Unimplemented, "method ImportCryptoKeyVersion not implemented")
5250}
5251func (*UnimplementedKeyManagementServiceServer) CreateImportJob(context.Context, *CreateImportJobRequest) (*ImportJob, error) {
5252	return nil, status.Errorf(codes.Unimplemented, "method CreateImportJob not implemented")
5253}
5254func (*UnimplementedKeyManagementServiceServer) UpdateCryptoKey(context.Context, *UpdateCryptoKeyRequest) (*CryptoKey, error) {
5255	return nil, status.Errorf(codes.Unimplemented, "method UpdateCryptoKey not implemented")
5256}
5257func (*UnimplementedKeyManagementServiceServer) UpdateCryptoKeyVersion(context.Context, *UpdateCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5258	return nil, status.Errorf(codes.Unimplemented, "method UpdateCryptoKeyVersion not implemented")
5259}
5260func (*UnimplementedKeyManagementServiceServer) UpdateCryptoKeyPrimaryVersion(context.Context, *UpdateCryptoKeyPrimaryVersionRequest) (*CryptoKey, error) {
5261	return nil, status.Errorf(codes.Unimplemented, "method UpdateCryptoKeyPrimaryVersion not implemented")
5262}
5263func (*UnimplementedKeyManagementServiceServer) DestroyCryptoKeyVersion(context.Context, *DestroyCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5264	return nil, status.Errorf(codes.Unimplemented, "method DestroyCryptoKeyVersion not implemented")
5265}
5266func (*UnimplementedKeyManagementServiceServer) RestoreCryptoKeyVersion(context.Context, *RestoreCryptoKeyVersionRequest) (*CryptoKeyVersion, error) {
5267	return nil, status.Errorf(codes.Unimplemented, "method RestoreCryptoKeyVersion not implemented")
5268}
5269func (*UnimplementedKeyManagementServiceServer) Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error) {
5270	return nil, status.Errorf(codes.Unimplemented, "method Encrypt not implemented")
5271}
5272func (*UnimplementedKeyManagementServiceServer) Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error) {
5273	return nil, status.Errorf(codes.Unimplemented, "method Decrypt not implemented")
5274}
5275func (*UnimplementedKeyManagementServiceServer) AsymmetricSign(context.Context, *AsymmetricSignRequest) (*AsymmetricSignResponse, error) {
5276	return nil, status.Errorf(codes.Unimplemented, "method AsymmetricSign not implemented")
5277}
5278func (*UnimplementedKeyManagementServiceServer) AsymmetricDecrypt(context.Context, *AsymmetricDecryptRequest) (*AsymmetricDecryptResponse, error) {
5279	return nil, status.Errorf(codes.Unimplemented, "method AsymmetricDecrypt not implemented")
5280}
5281func (*UnimplementedKeyManagementServiceServer) MacSign(context.Context, *MacSignRequest) (*MacSignResponse, error) {
5282	return nil, status.Errorf(codes.Unimplemented, "method MacSign not implemented")
5283}
5284func (*UnimplementedKeyManagementServiceServer) MacVerify(context.Context, *MacVerifyRequest) (*MacVerifyResponse, error) {
5285	return nil, status.Errorf(codes.Unimplemented, "method MacVerify not implemented")
5286}
5287func (*UnimplementedKeyManagementServiceServer) GenerateRandomBytes(context.Context, *GenerateRandomBytesRequest) (*GenerateRandomBytesResponse, error) {
5288	return nil, status.Errorf(codes.Unimplemented, "method GenerateRandomBytes not implemented")
5289}
5290
5291func RegisterKeyManagementServiceServer(s *grpc.Server, srv KeyManagementServiceServer) {
5292	s.RegisterService(&_KeyManagementService_serviceDesc, srv)
5293}
5294
5295func _KeyManagementService_ListKeyRings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5296	in := new(ListKeyRingsRequest)
5297	if err := dec(in); err != nil {
5298		return nil, err
5299	}
5300	if interceptor == nil {
5301		return srv.(KeyManagementServiceServer).ListKeyRings(ctx, in)
5302	}
5303	info := &grpc.UnaryServerInfo{
5304		Server:     srv,
5305		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListKeyRings",
5306	}
5307	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5308		return srv.(KeyManagementServiceServer).ListKeyRings(ctx, req.(*ListKeyRingsRequest))
5309	}
5310	return interceptor(ctx, in, info, handler)
5311}
5312
5313func _KeyManagementService_ListCryptoKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5314	in := new(ListCryptoKeysRequest)
5315	if err := dec(in); err != nil {
5316		return nil, err
5317	}
5318	if interceptor == nil {
5319		return srv.(KeyManagementServiceServer).ListCryptoKeys(ctx, in)
5320	}
5321	info := &grpc.UnaryServerInfo{
5322		Server:     srv,
5323		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeys",
5324	}
5325	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5326		return srv.(KeyManagementServiceServer).ListCryptoKeys(ctx, req.(*ListCryptoKeysRequest))
5327	}
5328	return interceptor(ctx, in, info, handler)
5329}
5330
5331func _KeyManagementService_ListCryptoKeyVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5332	in := new(ListCryptoKeyVersionsRequest)
5333	if err := dec(in); err != nil {
5334		return nil, err
5335	}
5336	if interceptor == nil {
5337		return srv.(KeyManagementServiceServer).ListCryptoKeyVersions(ctx, in)
5338	}
5339	info := &grpc.UnaryServerInfo{
5340		Server:     srv,
5341		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeyVersions",
5342	}
5343	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5344		return srv.(KeyManagementServiceServer).ListCryptoKeyVersions(ctx, req.(*ListCryptoKeyVersionsRequest))
5345	}
5346	return interceptor(ctx, in, info, handler)
5347}
5348
5349func _KeyManagementService_ListImportJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5350	in := new(ListImportJobsRequest)
5351	if err := dec(in); err != nil {
5352		return nil, err
5353	}
5354	if interceptor == nil {
5355		return srv.(KeyManagementServiceServer).ListImportJobs(ctx, in)
5356	}
5357	info := &grpc.UnaryServerInfo{
5358		Server:     srv,
5359		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ListImportJobs",
5360	}
5361	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5362		return srv.(KeyManagementServiceServer).ListImportJobs(ctx, req.(*ListImportJobsRequest))
5363	}
5364	return interceptor(ctx, in, info, handler)
5365}
5366
5367func _KeyManagementService_GetKeyRing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5368	in := new(GetKeyRingRequest)
5369	if err := dec(in); err != nil {
5370		return nil, err
5371	}
5372	if interceptor == nil {
5373		return srv.(KeyManagementServiceServer).GetKeyRing(ctx, in)
5374	}
5375	info := &grpc.UnaryServerInfo{
5376		Server:     srv,
5377		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetKeyRing",
5378	}
5379	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5380		return srv.(KeyManagementServiceServer).GetKeyRing(ctx, req.(*GetKeyRingRequest))
5381	}
5382	return interceptor(ctx, in, info, handler)
5383}
5384
5385func _KeyManagementService_GetCryptoKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5386	in := new(GetCryptoKeyRequest)
5387	if err := dec(in); err != nil {
5388		return nil, err
5389	}
5390	if interceptor == nil {
5391		return srv.(KeyManagementServiceServer).GetCryptoKey(ctx, in)
5392	}
5393	info := &grpc.UnaryServerInfo{
5394		Server:     srv,
5395		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetCryptoKey",
5396	}
5397	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5398		return srv.(KeyManagementServiceServer).GetCryptoKey(ctx, req.(*GetCryptoKeyRequest))
5399	}
5400	return interceptor(ctx, in, info, handler)
5401}
5402
5403func _KeyManagementService_GetCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5404	in := new(GetCryptoKeyVersionRequest)
5405	if err := dec(in); err != nil {
5406		return nil, err
5407	}
5408	if interceptor == nil {
5409		return srv.(KeyManagementServiceServer).GetCryptoKeyVersion(ctx, in)
5410	}
5411	info := &grpc.UnaryServerInfo{
5412		Server:     srv,
5413		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetCryptoKeyVersion",
5414	}
5415	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5416		return srv.(KeyManagementServiceServer).GetCryptoKeyVersion(ctx, req.(*GetCryptoKeyVersionRequest))
5417	}
5418	return interceptor(ctx, in, info, handler)
5419}
5420
5421func _KeyManagementService_GetPublicKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5422	in := new(GetPublicKeyRequest)
5423	if err := dec(in); err != nil {
5424		return nil, err
5425	}
5426	if interceptor == nil {
5427		return srv.(KeyManagementServiceServer).GetPublicKey(ctx, in)
5428	}
5429	info := &grpc.UnaryServerInfo{
5430		Server:     srv,
5431		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetPublicKey",
5432	}
5433	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5434		return srv.(KeyManagementServiceServer).GetPublicKey(ctx, req.(*GetPublicKeyRequest))
5435	}
5436	return interceptor(ctx, in, info, handler)
5437}
5438
5439func _KeyManagementService_GetImportJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5440	in := new(GetImportJobRequest)
5441	if err := dec(in); err != nil {
5442		return nil, err
5443	}
5444	if interceptor == nil {
5445		return srv.(KeyManagementServiceServer).GetImportJob(ctx, in)
5446	}
5447	info := &grpc.UnaryServerInfo{
5448		Server:     srv,
5449		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GetImportJob",
5450	}
5451	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5452		return srv.(KeyManagementServiceServer).GetImportJob(ctx, req.(*GetImportJobRequest))
5453	}
5454	return interceptor(ctx, in, info, handler)
5455}
5456
5457func _KeyManagementService_CreateKeyRing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5458	in := new(CreateKeyRingRequest)
5459	if err := dec(in); err != nil {
5460		return nil, err
5461	}
5462	if interceptor == nil {
5463		return srv.(KeyManagementServiceServer).CreateKeyRing(ctx, in)
5464	}
5465	info := &grpc.UnaryServerInfo{
5466		Server:     srv,
5467		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateKeyRing",
5468	}
5469	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5470		return srv.(KeyManagementServiceServer).CreateKeyRing(ctx, req.(*CreateKeyRingRequest))
5471	}
5472	return interceptor(ctx, in, info, handler)
5473}
5474
5475func _KeyManagementService_CreateCryptoKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5476	in := new(CreateCryptoKeyRequest)
5477	if err := dec(in); err != nil {
5478		return nil, err
5479	}
5480	if interceptor == nil {
5481		return srv.(KeyManagementServiceServer).CreateCryptoKey(ctx, in)
5482	}
5483	info := &grpc.UnaryServerInfo{
5484		Server:     srv,
5485		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKey",
5486	}
5487	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5488		return srv.(KeyManagementServiceServer).CreateCryptoKey(ctx, req.(*CreateCryptoKeyRequest))
5489	}
5490	return interceptor(ctx, in, info, handler)
5491}
5492
5493func _KeyManagementService_CreateCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5494	in := new(CreateCryptoKeyVersionRequest)
5495	if err := dec(in); err != nil {
5496		return nil, err
5497	}
5498	if interceptor == nil {
5499		return srv.(KeyManagementServiceServer).CreateCryptoKeyVersion(ctx, in)
5500	}
5501	info := &grpc.UnaryServerInfo{
5502		Server:     srv,
5503		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKeyVersion",
5504	}
5505	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5506		return srv.(KeyManagementServiceServer).CreateCryptoKeyVersion(ctx, req.(*CreateCryptoKeyVersionRequest))
5507	}
5508	return interceptor(ctx, in, info, handler)
5509}
5510
5511func _KeyManagementService_ImportCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5512	in := new(ImportCryptoKeyVersionRequest)
5513	if err := dec(in); err != nil {
5514		return nil, err
5515	}
5516	if interceptor == nil {
5517		return srv.(KeyManagementServiceServer).ImportCryptoKeyVersion(ctx, in)
5518	}
5519	info := &grpc.UnaryServerInfo{
5520		Server:     srv,
5521		FullMethod: "/google.cloud.kms.v1.KeyManagementService/ImportCryptoKeyVersion",
5522	}
5523	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5524		return srv.(KeyManagementServiceServer).ImportCryptoKeyVersion(ctx, req.(*ImportCryptoKeyVersionRequest))
5525	}
5526	return interceptor(ctx, in, info, handler)
5527}
5528
5529func _KeyManagementService_CreateImportJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5530	in := new(CreateImportJobRequest)
5531	if err := dec(in); err != nil {
5532		return nil, err
5533	}
5534	if interceptor == nil {
5535		return srv.(KeyManagementServiceServer).CreateImportJob(ctx, in)
5536	}
5537	info := &grpc.UnaryServerInfo{
5538		Server:     srv,
5539		FullMethod: "/google.cloud.kms.v1.KeyManagementService/CreateImportJob",
5540	}
5541	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5542		return srv.(KeyManagementServiceServer).CreateImportJob(ctx, req.(*CreateImportJobRequest))
5543	}
5544	return interceptor(ctx, in, info, handler)
5545}
5546
5547func _KeyManagementService_UpdateCryptoKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5548	in := new(UpdateCryptoKeyRequest)
5549	if err := dec(in); err != nil {
5550		return nil, err
5551	}
5552	if interceptor == nil {
5553		return srv.(KeyManagementServiceServer).UpdateCryptoKey(ctx, in)
5554	}
5555	info := &grpc.UnaryServerInfo{
5556		Server:     srv,
5557		FullMethod: "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKey",
5558	}
5559	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5560		return srv.(KeyManagementServiceServer).UpdateCryptoKey(ctx, req.(*UpdateCryptoKeyRequest))
5561	}
5562	return interceptor(ctx, in, info, handler)
5563}
5564
5565func _KeyManagementService_UpdateCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5566	in := new(UpdateCryptoKeyVersionRequest)
5567	if err := dec(in); err != nil {
5568		return nil, err
5569	}
5570	if interceptor == nil {
5571		return srv.(KeyManagementServiceServer).UpdateCryptoKeyVersion(ctx, in)
5572	}
5573	info := &grpc.UnaryServerInfo{
5574		Server:     srv,
5575		FullMethod: "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyVersion",
5576	}
5577	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5578		return srv.(KeyManagementServiceServer).UpdateCryptoKeyVersion(ctx, req.(*UpdateCryptoKeyVersionRequest))
5579	}
5580	return interceptor(ctx, in, info, handler)
5581}
5582
5583func _KeyManagementService_UpdateCryptoKeyPrimaryVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5584	in := new(UpdateCryptoKeyPrimaryVersionRequest)
5585	if err := dec(in); err != nil {
5586		return nil, err
5587	}
5588	if interceptor == nil {
5589		return srv.(KeyManagementServiceServer).UpdateCryptoKeyPrimaryVersion(ctx, in)
5590	}
5591	info := &grpc.UnaryServerInfo{
5592		Server:     srv,
5593		FullMethod: "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyPrimaryVersion",
5594	}
5595	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5596		return srv.(KeyManagementServiceServer).UpdateCryptoKeyPrimaryVersion(ctx, req.(*UpdateCryptoKeyPrimaryVersionRequest))
5597	}
5598	return interceptor(ctx, in, info, handler)
5599}
5600
5601func _KeyManagementService_DestroyCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5602	in := new(DestroyCryptoKeyVersionRequest)
5603	if err := dec(in); err != nil {
5604		return nil, err
5605	}
5606	if interceptor == nil {
5607		return srv.(KeyManagementServiceServer).DestroyCryptoKeyVersion(ctx, in)
5608	}
5609	info := &grpc.UnaryServerInfo{
5610		Server:     srv,
5611		FullMethod: "/google.cloud.kms.v1.KeyManagementService/DestroyCryptoKeyVersion",
5612	}
5613	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5614		return srv.(KeyManagementServiceServer).DestroyCryptoKeyVersion(ctx, req.(*DestroyCryptoKeyVersionRequest))
5615	}
5616	return interceptor(ctx, in, info, handler)
5617}
5618
5619func _KeyManagementService_RestoreCryptoKeyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5620	in := new(RestoreCryptoKeyVersionRequest)
5621	if err := dec(in); err != nil {
5622		return nil, err
5623	}
5624	if interceptor == nil {
5625		return srv.(KeyManagementServiceServer).RestoreCryptoKeyVersion(ctx, in)
5626	}
5627	info := &grpc.UnaryServerInfo{
5628		Server:     srv,
5629		FullMethod: "/google.cloud.kms.v1.KeyManagementService/RestoreCryptoKeyVersion",
5630	}
5631	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5632		return srv.(KeyManagementServiceServer).RestoreCryptoKeyVersion(ctx, req.(*RestoreCryptoKeyVersionRequest))
5633	}
5634	return interceptor(ctx, in, info, handler)
5635}
5636
5637func _KeyManagementService_Encrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5638	in := new(EncryptRequest)
5639	if err := dec(in); err != nil {
5640		return nil, err
5641	}
5642	if interceptor == nil {
5643		return srv.(KeyManagementServiceServer).Encrypt(ctx, in)
5644	}
5645	info := &grpc.UnaryServerInfo{
5646		Server:     srv,
5647		FullMethod: "/google.cloud.kms.v1.KeyManagementService/Encrypt",
5648	}
5649	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5650		return srv.(KeyManagementServiceServer).Encrypt(ctx, req.(*EncryptRequest))
5651	}
5652	return interceptor(ctx, in, info, handler)
5653}
5654
5655func _KeyManagementService_Decrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5656	in := new(DecryptRequest)
5657	if err := dec(in); err != nil {
5658		return nil, err
5659	}
5660	if interceptor == nil {
5661		return srv.(KeyManagementServiceServer).Decrypt(ctx, in)
5662	}
5663	info := &grpc.UnaryServerInfo{
5664		Server:     srv,
5665		FullMethod: "/google.cloud.kms.v1.KeyManagementService/Decrypt",
5666	}
5667	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5668		return srv.(KeyManagementServiceServer).Decrypt(ctx, req.(*DecryptRequest))
5669	}
5670	return interceptor(ctx, in, info, handler)
5671}
5672
5673func _KeyManagementService_AsymmetricSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5674	in := new(AsymmetricSignRequest)
5675	if err := dec(in); err != nil {
5676		return nil, err
5677	}
5678	if interceptor == nil {
5679		return srv.(KeyManagementServiceServer).AsymmetricSign(ctx, in)
5680	}
5681	info := &grpc.UnaryServerInfo{
5682		Server:     srv,
5683		FullMethod: "/google.cloud.kms.v1.KeyManagementService/AsymmetricSign",
5684	}
5685	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5686		return srv.(KeyManagementServiceServer).AsymmetricSign(ctx, req.(*AsymmetricSignRequest))
5687	}
5688	return interceptor(ctx, in, info, handler)
5689}
5690
5691func _KeyManagementService_AsymmetricDecrypt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5692	in := new(AsymmetricDecryptRequest)
5693	if err := dec(in); err != nil {
5694		return nil, err
5695	}
5696	if interceptor == nil {
5697		return srv.(KeyManagementServiceServer).AsymmetricDecrypt(ctx, in)
5698	}
5699	info := &grpc.UnaryServerInfo{
5700		Server:     srv,
5701		FullMethod: "/google.cloud.kms.v1.KeyManagementService/AsymmetricDecrypt",
5702	}
5703	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5704		return srv.(KeyManagementServiceServer).AsymmetricDecrypt(ctx, req.(*AsymmetricDecryptRequest))
5705	}
5706	return interceptor(ctx, in, info, handler)
5707}
5708
5709func _KeyManagementService_MacSign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5710	in := new(MacSignRequest)
5711	if err := dec(in); err != nil {
5712		return nil, err
5713	}
5714	if interceptor == nil {
5715		return srv.(KeyManagementServiceServer).MacSign(ctx, in)
5716	}
5717	info := &grpc.UnaryServerInfo{
5718		Server:     srv,
5719		FullMethod: "/google.cloud.kms.v1.KeyManagementService/MacSign",
5720	}
5721	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5722		return srv.(KeyManagementServiceServer).MacSign(ctx, req.(*MacSignRequest))
5723	}
5724	return interceptor(ctx, in, info, handler)
5725}
5726
5727func _KeyManagementService_MacVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5728	in := new(MacVerifyRequest)
5729	if err := dec(in); err != nil {
5730		return nil, err
5731	}
5732	if interceptor == nil {
5733		return srv.(KeyManagementServiceServer).MacVerify(ctx, in)
5734	}
5735	info := &grpc.UnaryServerInfo{
5736		Server:     srv,
5737		FullMethod: "/google.cloud.kms.v1.KeyManagementService/MacVerify",
5738	}
5739	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5740		return srv.(KeyManagementServiceServer).MacVerify(ctx, req.(*MacVerifyRequest))
5741	}
5742	return interceptor(ctx, in, info, handler)
5743}
5744
5745func _KeyManagementService_GenerateRandomBytes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5746	in := new(GenerateRandomBytesRequest)
5747	if err := dec(in); err != nil {
5748		return nil, err
5749	}
5750	if interceptor == nil {
5751		return srv.(KeyManagementServiceServer).GenerateRandomBytes(ctx, in)
5752	}
5753	info := &grpc.UnaryServerInfo{
5754		Server:     srv,
5755		FullMethod: "/google.cloud.kms.v1.KeyManagementService/GenerateRandomBytes",
5756	}
5757	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5758		return srv.(KeyManagementServiceServer).GenerateRandomBytes(ctx, req.(*GenerateRandomBytesRequest))
5759	}
5760	return interceptor(ctx, in, info, handler)
5761}
5762
5763var _KeyManagementService_serviceDesc = grpc.ServiceDesc{
5764	ServiceName: "google.cloud.kms.v1.KeyManagementService",
5765	HandlerType: (*KeyManagementServiceServer)(nil),
5766	Methods: []grpc.MethodDesc{
5767		{
5768			MethodName: "ListKeyRings",
5769			Handler:    _KeyManagementService_ListKeyRings_Handler,
5770		},
5771		{
5772			MethodName: "ListCryptoKeys",
5773			Handler:    _KeyManagementService_ListCryptoKeys_Handler,
5774		},
5775		{
5776			MethodName: "ListCryptoKeyVersions",
5777			Handler:    _KeyManagementService_ListCryptoKeyVersions_Handler,
5778		},
5779		{
5780			MethodName: "ListImportJobs",
5781			Handler:    _KeyManagementService_ListImportJobs_Handler,
5782		},
5783		{
5784			MethodName: "GetKeyRing",
5785			Handler:    _KeyManagementService_GetKeyRing_Handler,
5786		},
5787		{
5788			MethodName: "GetCryptoKey",
5789			Handler:    _KeyManagementService_GetCryptoKey_Handler,
5790		},
5791		{
5792			MethodName: "GetCryptoKeyVersion",
5793			Handler:    _KeyManagementService_GetCryptoKeyVersion_Handler,
5794		},
5795		{
5796			MethodName: "GetPublicKey",
5797			Handler:    _KeyManagementService_GetPublicKey_Handler,
5798		},
5799		{
5800			MethodName: "GetImportJob",
5801			Handler:    _KeyManagementService_GetImportJob_Handler,
5802		},
5803		{
5804			MethodName: "CreateKeyRing",
5805			Handler:    _KeyManagementService_CreateKeyRing_Handler,
5806		},
5807		{
5808			MethodName: "CreateCryptoKey",
5809			Handler:    _KeyManagementService_CreateCryptoKey_Handler,
5810		},
5811		{
5812			MethodName: "CreateCryptoKeyVersion",
5813			Handler:    _KeyManagementService_CreateCryptoKeyVersion_Handler,
5814		},
5815		{
5816			MethodName: "ImportCryptoKeyVersion",
5817			Handler:    _KeyManagementService_ImportCryptoKeyVersion_Handler,
5818		},
5819		{
5820			MethodName: "CreateImportJob",
5821			Handler:    _KeyManagementService_CreateImportJob_Handler,
5822		},
5823		{
5824			MethodName: "UpdateCryptoKey",
5825			Handler:    _KeyManagementService_UpdateCryptoKey_Handler,
5826		},
5827		{
5828			MethodName: "UpdateCryptoKeyVersion",
5829			Handler:    _KeyManagementService_UpdateCryptoKeyVersion_Handler,
5830		},
5831		{
5832			MethodName: "UpdateCryptoKeyPrimaryVersion",
5833			Handler:    _KeyManagementService_UpdateCryptoKeyPrimaryVersion_Handler,
5834		},
5835		{
5836			MethodName: "DestroyCryptoKeyVersion",
5837			Handler:    _KeyManagementService_DestroyCryptoKeyVersion_Handler,
5838		},
5839		{
5840			MethodName: "RestoreCryptoKeyVersion",
5841			Handler:    _KeyManagementService_RestoreCryptoKeyVersion_Handler,
5842		},
5843		{
5844			MethodName: "Encrypt",
5845			Handler:    _KeyManagementService_Encrypt_Handler,
5846		},
5847		{
5848			MethodName: "Decrypt",
5849			Handler:    _KeyManagementService_Decrypt_Handler,
5850		},
5851		{
5852			MethodName: "AsymmetricSign",
5853			Handler:    _KeyManagementService_AsymmetricSign_Handler,
5854		},
5855		{
5856			MethodName: "AsymmetricDecrypt",
5857			Handler:    _KeyManagementService_AsymmetricDecrypt_Handler,
5858		},
5859		{
5860			MethodName: "MacSign",
5861			Handler:    _KeyManagementService_MacSign_Handler,
5862		},
5863		{
5864			MethodName: "MacVerify",
5865			Handler:    _KeyManagementService_MacVerify_Handler,
5866		},
5867		{
5868			MethodName: "GenerateRandomBytes",
5869			Handler:    _KeyManagementService_GenerateRandomBytes_Handler,
5870		},
5871	},
5872	Streams:  []grpc.StreamDesc{},
5873	Metadata: "google/cloud/kms/v1/service.proto",
5874}
5875