• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Messages describing APK Set's table of contents (toc.pb entry).
2// Please be advised that the ultimate source is at
3// https://github.com/google/bundletool/tree/master/src/main/proto
4// so you have been warned.
5
6// Code generated by protoc-gen-go. DO NOT EDIT.
7// versions:
8// 	protoc-gen-go v1.26.0
9// 	protoc        v3.9.1
10// source: targeting.proto
11
12package bundle_proto
13
14import (
15	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
16	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
17	reflect "reflect"
18	sync "sync"
19)
20
21const (
22	// Verify that this generated code is sufficiently up-to-date.
23	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
24	// Verify that runtime/protoimpl is sufficiently up-to-date.
25	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
26)
27
28type ScreenDensity_DensityAlias int32
29
30const (
31	ScreenDensity_DENSITY_UNSPECIFIED ScreenDensity_DensityAlias = 0
32	ScreenDensity_NODPI               ScreenDensity_DensityAlias = 1
33	ScreenDensity_LDPI                ScreenDensity_DensityAlias = 2
34	ScreenDensity_MDPI                ScreenDensity_DensityAlias = 3
35	ScreenDensity_TVDPI               ScreenDensity_DensityAlias = 4
36	ScreenDensity_HDPI                ScreenDensity_DensityAlias = 5
37	ScreenDensity_XHDPI               ScreenDensity_DensityAlias = 6
38	ScreenDensity_XXHDPI              ScreenDensity_DensityAlias = 7
39	ScreenDensity_XXXHDPI             ScreenDensity_DensityAlias = 8
40)
41
42// Enum value maps for ScreenDensity_DensityAlias.
43var (
44	ScreenDensity_DensityAlias_name = map[int32]string{
45		0: "DENSITY_UNSPECIFIED",
46		1: "NODPI",
47		2: "LDPI",
48		3: "MDPI",
49		4: "TVDPI",
50		5: "HDPI",
51		6: "XHDPI",
52		7: "XXHDPI",
53		8: "XXXHDPI",
54	}
55	ScreenDensity_DensityAlias_value = map[string]int32{
56		"DENSITY_UNSPECIFIED": 0,
57		"NODPI":               1,
58		"LDPI":                2,
59		"MDPI":                3,
60		"TVDPI":               4,
61		"HDPI":                5,
62		"XHDPI":               6,
63		"XXHDPI":              7,
64		"XXXHDPI":             8,
65	}
66)
67
68func (x ScreenDensity_DensityAlias) Enum() *ScreenDensity_DensityAlias {
69	p := new(ScreenDensity_DensityAlias)
70	*p = x
71	return p
72}
73
74func (x ScreenDensity_DensityAlias) String() string {
75	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
76}
77
78func (ScreenDensity_DensityAlias) Descriptor() protoreflect.EnumDescriptor {
79	return file_targeting_proto_enumTypes[0].Descriptor()
80}
81
82func (ScreenDensity_DensityAlias) Type() protoreflect.EnumType {
83	return &file_targeting_proto_enumTypes[0]
84}
85
86func (x ScreenDensity_DensityAlias) Number() protoreflect.EnumNumber {
87	return protoreflect.EnumNumber(x)
88}
89
90// Deprecated: Use ScreenDensity_DensityAlias.Descriptor instead.
91func (ScreenDensity_DensityAlias) EnumDescriptor() ([]byte, []int) {
92	return file_targeting_proto_rawDescGZIP(), []int{4, 0}
93}
94
95type TextureCompressionFormat_TextureCompressionFormatAlias int32
96
97const (
98	TextureCompressionFormat_UNSPECIFIED_TEXTURE_COMPRESSION_FORMAT TextureCompressionFormat_TextureCompressionFormatAlias = 0
99	TextureCompressionFormat_ETC1_RGB8                              TextureCompressionFormat_TextureCompressionFormatAlias = 1
100	TextureCompressionFormat_PALETTED                               TextureCompressionFormat_TextureCompressionFormatAlias = 2
101	TextureCompressionFormat_THREE_DC                               TextureCompressionFormat_TextureCompressionFormatAlias = 3
102	TextureCompressionFormat_ATC                                    TextureCompressionFormat_TextureCompressionFormatAlias = 4
103	TextureCompressionFormat_LATC                                   TextureCompressionFormat_TextureCompressionFormatAlias = 5
104	TextureCompressionFormat_DXT1                                   TextureCompressionFormat_TextureCompressionFormatAlias = 6
105	TextureCompressionFormat_S3TC                                   TextureCompressionFormat_TextureCompressionFormatAlias = 7
106	TextureCompressionFormat_PVRTC                                  TextureCompressionFormat_TextureCompressionFormatAlias = 8
107	TextureCompressionFormat_ASTC                                   TextureCompressionFormat_TextureCompressionFormatAlias = 9
108	TextureCompressionFormat_ETC2                                   TextureCompressionFormat_TextureCompressionFormatAlias = 10
109)
110
111// Enum value maps for TextureCompressionFormat_TextureCompressionFormatAlias.
112var (
113	TextureCompressionFormat_TextureCompressionFormatAlias_name = map[int32]string{
114		0:  "UNSPECIFIED_TEXTURE_COMPRESSION_FORMAT",
115		1:  "ETC1_RGB8",
116		2:  "PALETTED",
117		3:  "THREE_DC",
118		4:  "ATC",
119		5:  "LATC",
120		6:  "DXT1",
121		7:  "S3TC",
122		8:  "PVRTC",
123		9:  "ASTC",
124		10: "ETC2",
125	}
126	TextureCompressionFormat_TextureCompressionFormatAlias_value = map[string]int32{
127		"UNSPECIFIED_TEXTURE_COMPRESSION_FORMAT": 0,
128		"ETC1_RGB8":                              1,
129		"PALETTED":                               2,
130		"THREE_DC":                               3,
131		"ATC":                                    4,
132		"LATC":                                   5,
133		"DXT1":                                   6,
134		"S3TC":                                   7,
135		"PVRTC":                                  8,
136		"ASTC":                                   9,
137		"ETC2":                                   10,
138	}
139)
140
141func (x TextureCompressionFormat_TextureCompressionFormatAlias) Enum() *TextureCompressionFormat_TextureCompressionFormatAlias {
142	p := new(TextureCompressionFormat_TextureCompressionFormatAlias)
143	*p = x
144	return p
145}
146
147func (x TextureCompressionFormat_TextureCompressionFormatAlias) String() string {
148	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
149}
150
151func (TextureCompressionFormat_TextureCompressionFormatAlias) Descriptor() protoreflect.EnumDescriptor {
152	return file_targeting_proto_enumTypes[1].Descriptor()
153}
154
155func (TextureCompressionFormat_TextureCompressionFormatAlias) Type() protoreflect.EnumType {
156	return &file_targeting_proto_enumTypes[1]
157}
158
159func (x TextureCompressionFormat_TextureCompressionFormatAlias) Number() protoreflect.EnumNumber {
160	return protoreflect.EnumNumber(x)
161}
162
163// Deprecated: Use TextureCompressionFormat_TextureCompressionFormatAlias.Descriptor instead.
164func (TextureCompressionFormat_TextureCompressionFormatAlias) EnumDescriptor() ([]byte, []int) {
165	return file_targeting_proto_rawDescGZIP(), []int{10, 0}
166}
167
168type Abi_AbiAlias int32
169
170const (
171	Abi_UNSPECIFIED_CPU_ARCHITECTURE Abi_AbiAlias = 0
172	Abi_ARMEABI                      Abi_AbiAlias = 1
173	Abi_ARMEABI_V7A                  Abi_AbiAlias = 2
174	Abi_ARM64_V8A                    Abi_AbiAlias = 3
175	Abi_X86                          Abi_AbiAlias = 4
176	Abi_X86_64                       Abi_AbiAlias = 5
177	Abi_MIPS                         Abi_AbiAlias = 6
178	Abi_MIPS64                       Abi_AbiAlias = 7
179)
180
181// Enum value maps for Abi_AbiAlias.
182var (
183	Abi_AbiAlias_name = map[int32]string{
184		0: "UNSPECIFIED_CPU_ARCHITECTURE",
185		1: "ARMEABI",
186		2: "ARMEABI_V7A",
187		3: "ARM64_V8A",
188		4: "X86",
189		5: "X86_64",
190		6: "MIPS",
191		7: "MIPS64",
192	}
193	Abi_AbiAlias_value = map[string]int32{
194		"UNSPECIFIED_CPU_ARCHITECTURE": 0,
195		"ARMEABI":                      1,
196		"ARMEABI_V7A":                  2,
197		"ARM64_V8A":                    3,
198		"X86":                          4,
199		"X86_64":                       5,
200		"MIPS":                         6,
201		"MIPS64":                       7,
202	}
203)
204
205func (x Abi_AbiAlias) Enum() *Abi_AbiAlias {
206	p := new(Abi_AbiAlias)
207	*p = x
208	return p
209}
210
211func (x Abi_AbiAlias) String() string {
212	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
213}
214
215func (Abi_AbiAlias) Descriptor() protoreflect.EnumDescriptor {
216	return file_targeting_proto_enumTypes[2].Descriptor()
217}
218
219func (Abi_AbiAlias) Type() protoreflect.EnumType {
220	return &file_targeting_proto_enumTypes[2]
221}
222
223func (x Abi_AbiAlias) Number() protoreflect.EnumNumber {
224	return protoreflect.EnumNumber(x)
225}
226
227// Deprecated: Use Abi_AbiAlias.Descriptor instead.
228func (Abi_AbiAlias) EnumDescriptor() ([]byte, []int) {
229	return file_targeting_proto_rawDescGZIP(), []int{11, 0}
230}
231
232type Sanitizer_SanitizerAlias int32
233
234const (
235	Sanitizer_NONE      Sanitizer_SanitizerAlias = 0
236	Sanitizer_HWADDRESS Sanitizer_SanitizerAlias = 1
237)
238
239// Enum value maps for Sanitizer_SanitizerAlias.
240var (
241	Sanitizer_SanitizerAlias_name = map[int32]string{
242		0: "NONE",
243		1: "HWADDRESS",
244	}
245	Sanitizer_SanitizerAlias_value = map[string]int32{
246		"NONE":      0,
247		"HWADDRESS": 1,
248	}
249)
250
251func (x Sanitizer_SanitizerAlias) Enum() *Sanitizer_SanitizerAlias {
252	p := new(Sanitizer_SanitizerAlias)
253	*p = x
254	return p
255}
256
257func (x Sanitizer_SanitizerAlias) String() string {
258	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
259}
260
261func (Sanitizer_SanitizerAlias) Descriptor() protoreflect.EnumDescriptor {
262	return file_targeting_proto_enumTypes[3].Descriptor()
263}
264
265func (Sanitizer_SanitizerAlias) Type() protoreflect.EnumType {
266	return &file_targeting_proto_enumTypes[3]
267}
268
269func (x Sanitizer_SanitizerAlias) Number() protoreflect.EnumNumber {
270	return protoreflect.EnumNumber(x)
271}
272
273// Deprecated: Use Sanitizer_SanitizerAlias.Descriptor instead.
274func (Sanitizer_SanitizerAlias) EnumDescriptor() ([]byte, []int) {
275	return file_targeting_proto_rawDescGZIP(), []int{13, 0}
276}
277
278// Targeting on the level of variants.
279type VariantTargeting struct {
280	state         protoimpl.MessageState
281	sizeCache     protoimpl.SizeCache
282	unknownFields protoimpl.UnknownFields
283
284	SdkVersionTargeting               *SdkVersionTargeting               `protobuf:"bytes,1,opt,name=sdk_version_targeting,json=sdkVersionTargeting,proto3" json:"sdk_version_targeting,omitempty"`
285	AbiTargeting                      *AbiTargeting                      `protobuf:"bytes,2,opt,name=abi_targeting,json=abiTargeting,proto3" json:"abi_targeting,omitempty"`
286	ScreenDensityTargeting            *ScreenDensityTargeting            `protobuf:"bytes,3,opt,name=screen_density_targeting,json=screenDensityTargeting,proto3" json:"screen_density_targeting,omitempty"`
287	MultiAbiTargeting                 *MultiAbiTargeting                 `protobuf:"bytes,4,opt,name=multi_abi_targeting,json=multiAbiTargeting,proto3" json:"multi_abi_targeting,omitempty"`
288	TextureCompressionFormatTargeting *TextureCompressionFormatTargeting `protobuf:"bytes,5,opt,name=texture_compression_format_targeting,json=textureCompressionFormatTargeting,proto3" json:"texture_compression_format_targeting,omitempty"`
289}
290
291func (x *VariantTargeting) Reset() {
292	*x = VariantTargeting{}
293	if protoimpl.UnsafeEnabled {
294		mi := &file_targeting_proto_msgTypes[0]
295		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
296		ms.StoreMessageInfo(mi)
297	}
298}
299
300func (x *VariantTargeting) String() string {
301	return protoimpl.X.MessageStringOf(x)
302}
303
304func (*VariantTargeting) ProtoMessage() {}
305
306func (x *VariantTargeting) ProtoReflect() protoreflect.Message {
307	mi := &file_targeting_proto_msgTypes[0]
308	if protoimpl.UnsafeEnabled && x != nil {
309		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
310		if ms.LoadMessageInfo() == nil {
311			ms.StoreMessageInfo(mi)
312		}
313		return ms
314	}
315	return mi.MessageOf(x)
316}
317
318// Deprecated: Use VariantTargeting.ProtoReflect.Descriptor instead.
319func (*VariantTargeting) Descriptor() ([]byte, []int) {
320	return file_targeting_proto_rawDescGZIP(), []int{0}
321}
322
323func (x *VariantTargeting) GetSdkVersionTargeting() *SdkVersionTargeting {
324	if x != nil {
325		return x.SdkVersionTargeting
326	}
327	return nil
328}
329
330func (x *VariantTargeting) GetAbiTargeting() *AbiTargeting {
331	if x != nil {
332		return x.AbiTargeting
333	}
334	return nil
335}
336
337func (x *VariantTargeting) GetScreenDensityTargeting() *ScreenDensityTargeting {
338	if x != nil {
339		return x.ScreenDensityTargeting
340	}
341	return nil
342}
343
344func (x *VariantTargeting) GetMultiAbiTargeting() *MultiAbiTargeting {
345	if x != nil {
346		return x.MultiAbiTargeting
347	}
348	return nil
349}
350
351func (x *VariantTargeting) GetTextureCompressionFormatTargeting() *TextureCompressionFormatTargeting {
352	if x != nil {
353		return x.TextureCompressionFormatTargeting
354	}
355	return nil
356}
357
358// Targeting on the level of individual APKs.
359type ApkTargeting struct {
360	state         protoimpl.MessageState
361	sizeCache     protoimpl.SizeCache
362	unknownFields protoimpl.UnknownFields
363
364	AbiTargeting                      *AbiTargeting                      `protobuf:"bytes,1,opt,name=abi_targeting,json=abiTargeting,proto3" json:"abi_targeting,omitempty"`
365	GraphicsApiTargeting              *GraphicsApiTargeting              `protobuf:"bytes,2,opt,name=graphics_api_targeting,json=graphicsApiTargeting,proto3" json:"graphics_api_targeting,omitempty"`
366	LanguageTargeting                 *LanguageTargeting                 `protobuf:"bytes,3,opt,name=language_targeting,json=languageTargeting,proto3" json:"language_targeting,omitempty"`
367	ScreenDensityTargeting            *ScreenDensityTargeting            `protobuf:"bytes,4,opt,name=screen_density_targeting,json=screenDensityTargeting,proto3" json:"screen_density_targeting,omitempty"`
368	SdkVersionTargeting               *SdkVersionTargeting               `protobuf:"bytes,5,opt,name=sdk_version_targeting,json=sdkVersionTargeting,proto3" json:"sdk_version_targeting,omitempty"`
369	TextureCompressionFormatTargeting *TextureCompressionFormatTargeting `protobuf:"bytes,6,opt,name=texture_compression_format_targeting,json=textureCompressionFormatTargeting,proto3" json:"texture_compression_format_targeting,omitempty"`
370	MultiAbiTargeting                 *MultiAbiTargeting                 `protobuf:"bytes,7,opt,name=multi_abi_targeting,json=multiAbiTargeting,proto3" json:"multi_abi_targeting,omitempty"`
371	SanitizerTargeting                *SanitizerTargeting                `protobuf:"bytes,8,opt,name=sanitizer_targeting,json=sanitizerTargeting,proto3" json:"sanitizer_targeting,omitempty"`
372}
373
374func (x *ApkTargeting) Reset() {
375	*x = ApkTargeting{}
376	if protoimpl.UnsafeEnabled {
377		mi := &file_targeting_proto_msgTypes[1]
378		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
379		ms.StoreMessageInfo(mi)
380	}
381}
382
383func (x *ApkTargeting) String() string {
384	return protoimpl.X.MessageStringOf(x)
385}
386
387func (*ApkTargeting) ProtoMessage() {}
388
389func (x *ApkTargeting) ProtoReflect() protoreflect.Message {
390	mi := &file_targeting_proto_msgTypes[1]
391	if protoimpl.UnsafeEnabled && x != nil {
392		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
393		if ms.LoadMessageInfo() == nil {
394			ms.StoreMessageInfo(mi)
395		}
396		return ms
397	}
398	return mi.MessageOf(x)
399}
400
401// Deprecated: Use ApkTargeting.ProtoReflect.Descriptor instead.
402func (*ApkTargeting) Descriptor() ([]byte, []int) {
403	return file_targeting_proto_rawDescGZIP(), []int{1}
404}
405
406func (x *ApkTargeting) GetAbiTargeting() *AbiTargeting {
407	if x != nil {
408		return x.AbiTargeting
409	}
410	return nil
411}
412
413func (x *ApkTargeting) GetGraphicsApiTargeting() *GraphicsApiTargeting {
414	if x != nil {
415		return x.GraphicsApiTargeting
416	}
417	return nil
418}
419
420func (x *ApkTargeting) GetLanguageTargeting() *LanguageTargeting {
421	if x != nil {
422		return x.LanguageTargeting
423	}
424	return nil
425}
426
427func (x *ApkTargeting) GetScreenDensityTargeting() *ScreenDensityTargeting {
428	if x != nil {
429		return x.ScreenDensityTargeting
430	}
431	return nil
432}
433
434func (x *ApkTargeting) GetSdkVersionTargeting() *SdkVersionTargeting {
435	if x != nil {
436		return x.SdkVersionTargeting
437	}
438	return nil
439}
440
441func (x *ApkTargeting) GetTextureCompressionFormatTargeting() *TextureCompressionFormatTargeting {
442	if x != nil {
443		return x.TextureCompressionFormatTargeting
444	}
445	return nil
446}
447
448func (x *ApkTargeting) GetMultiAbiTargeting() *MultiAbiTargeting {
449	if x != nil {
450		return x.MultiAbiTargeting
451	}
452	return nil
453}
454
455func (x *ApkTargeting) GetSanitizerTargeting() *SanitizerTargeting {
456	if x != nil {
457		return x.SanitizerTargeting
458	}
459	return nil
460}
461
462// Targeting on the module level.
463// The semantic of the targeting is the "AND" rule on all immediate values.
464type ModuleTargeting struct {
465	state         protoimpl.MessageState
466	sizeCache     protoimpl.SizeCache
467	unknownFields protoimpl.UnknownFields
468
469	SdkVersionTargeting    *SdkVersionTargeting      `protobuf:"bytes,1,opt,name=sdk_version_targeting,json=sdkVersionTargeting,proto3" json:"sdk_version_targeting,omitempty"`
470	DeviceFeatureTargeting []*DeviceFeatureTargeting `protobuf:"bytes,2,rep,name=device_feature_targeting,json=deviceFeatureTargeting,proto3" json:"device_feature_targeting,omitempty"`
471	UserCountriesTargeting *UserCountriesTargeting   `protobuf:"bytes,3,opt,name=user_countries_targeting,json=userCountriesTargeting,proto3" json:"user_countries_targeting,omitempty"`
472}
473
474func (x *ModuleTargeting) Reset() {
475	*x = ModuleTargeting{}
476	if protoimpl.UnsafeEnabled {
477		mi := &file_targeting_proto_msgTypes[2]
478		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
479		ms.StoreMessageInfo(mi)
480	}
481}
482
483func (x *ModuleTargeting) String() string {
484	return protoimpl.X.MessageStringOf(x)
485}
486
487func (*ModuleTargeting) ProtoMessage() {}
488
489func (x *ModuleTargeting) ProtoReflect() protoreflect.Message {
490	mi := &file_targeting_proto_msgTypes[2]
491	if protoimpl.UnsafeEnabled && x != nil {
492		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
493		if ms.LoadMessageInfo() == nil {
494			ms.StoreMessageInfo(mi)
495		}
496		return ms
497	}
498	return mi.MessageOf(x)
499}
500
501// Deprecated: Use ModuleTargeting.ProtoReflect.Descriptor instead.
502func (*ModuleTargeting) Descriptor() ([]byte, []int) {
503	return file_targeting_proto_rawDescGZIP(), []int{2}
504}
505
506func (x *ModuleTargeting) GetSdkVersionTargeting() *SdkVersionTargeting {
507	if x != nil {
508		return x.SdkVersionTargeting
509	}
510	return nil
511}
512
513func (x *ModuleTargeting) GetDeviceFeatureTargeting() []*DeviceFeatureTargeting {
514	if x != nil {
515		return x.DeviceFeatureTargeting
516	}
517	return nil
518}
519
520func (x *ModuleTargeting) GetUserCountriesTargeting() *UserCountriesTargeting {
521	if x != nil {
522		return x.UserCountriesTargeting
523	}
524	return nil
525}
526
527// User Countries targeting describing an inclusive/exclusive list of country
528// codes that module targets.
529type UserCountriesTargeting struct {
530	state         protoimpl.MessageState
531	sizeCache     protoimpl.SizeCache
532	unknownFields protoimpl.UnknownFields
533
534	// List of country codes in the two-letter CLDR territory format.
535	CountryCodes []string `protobuf:"bytes,1,rep,name=country_codes,json=countryCodes,proto3" json:"country_codes,omitempty"`
536	// Indicates if the list above is exclusive.
537	Exclude bool `protobuf:"varint,2,opt,name=exclude,proto3" json:"exclude,omitempty"`
538}
539
540func (x *UserCountriesTargeting) Reset() {
541	*x = UserCountriesTargeting{}
542	if protoimpl.UnsafeEnabled {
543		mi := &file_targeting_proto_msgTypes[3]
544		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
545		ms.StoreMessageInfo(mi)
546	}
547}
548
549func (x *UserCountriesTargeting) String() string {
550	return protoimpl.X.MessageStringOf(x)
551}
552
553func (*UserCountriesTargeting) ProtoMessage() {}
554
555func (x *UserCountriesTargeting) ProtoReflect() protoreflect.Message {
556	mi := &file_targeting_proto_msgTypes[3]
557	if protoimpl.UnsafeEnabled && x != nil {
558		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
559		if ms.LoadMessageInfo() == nil {
560			ms.StoreMessageInfo(mi)
561		}
562		return ms
563	}
564	return mi.MessageOf(x)
565}
566
567// Deprecated: Use UserCountriesTargeting.ProtoReflect.Descriptor instead.
568func (*UserCountriesTargeting) Descriptor() ([]byte, []int) {
569	return file_targeting_proto_rawDescGZIP(), []int{3}
570}
571
572func (x *UserCountriesTargeting) GetCountryCodes() []string {
573	if x != nil {
574		return x.CountryCodes
575	}
576	return nil
577}
578
579func (x *UserCountriesTargeting) GetExclude() bool {
580	if x != nil {
581		return x.Exclude
582	}
583	return false
584}
585
586type ScreenDensity struct {
587	state         protoimpl.MessageState
588	sizeCache     protoimpl.SizeCache
589	unknownFields protoimpl.UnknownFields
590
591	// Types that are assignable to DensityOneof:
592	//	*ScreenDensity_DensityAlias_
593	//	*ScreenDensity_DensityDpi
594	DensityOneof isScreenDensity_DensityOneof `protobuf_oneof:"density_oneof"`
595}
596
597func (x *ScreenDensity) Reset() {
598	*x = ScreenDensity{}
599	if protoimpl.UnsafeEnabled {
600		mi := &file_targeting_proto_msgTypes[4]
601		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
602		ms.StoreMessageInfo(mi)
603	}
604}
605
606func (x *ScreenDensity) String() string {
607	return protoimpl.X.MessageStringOf(x)
608}
609
610func (*ScreenDensity) ProtoMessage() {}
611
612func (x *ScreenDensity) ProtoReflect() protoreflect.Message {
613	mi := &file_targeting_proto_msgTypes[4]
614	if protoimpl.UnsafeEnabled && x != nil {
615		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
616		if ms.LoadMessageInfo() == nil {
617			ms.StoreMessageInfo(mi)
618		}
619		return ms
620	}
621	return mi.MessageOf(x)
622}
623
624// Deprecated: Use ScreenDensity.ProtoReflect.Descriptor instead.
625func (*ScreenDensity) Descriptor() ([]byte, []int) {
626	return file_targeting_proto_rawDescGZIP(), []int{4}
627}
628
629func (m *ScreenDensity) GetDensityOneof() isScreenDensity_DensityOneof {
630	if m != nil {
631		return m.DensityOneof
632	}
633	return nil
634}
635
636func (x *ScreenDensity) GetDensityAlias() ScreenDensity_DensityAlias {
637	if x, ok := x.GetDensityOneof().(*ScreenDensity_DensityAlias_); ok {
638		return x.DensityAlias
639	}
640	return ScreenDensity_DENSITY_UNSPECIFIED
641}
642
643func (x *ScreenDensity) GetDensityDpi() int32 {
644	if x, ok := x.GetDensityOneof().(*ScreenDensity_DensityDpi); ok {
645		return x.DensityDpi
646	}
647	return 0
648}
649
650type isScreenDensity_DensityOneof interface {
651	isScreenDensity_DensityOneof()
652}
653
654type ScreenDensity_DensityAlias_ struct {
655	DensityAlias ScreenDensity_DensityAlias `protobuf:"varint,1,opt,name=density_alias,json=densityAlias,proto3,enum=android.bundle.ScreenDensity_DensityAlias,oneof"`
656}
657
658type ScreenDensity_DensityDpi struct {
659	DensityDpi int32 `protobuf:"varint,2,opt,name=density_dpi,json=densityDpi,proto3,oneof"`
660}
661
662func (*ScreenDensity_DensityAlias_) isScreenDensity_DensityOneof() {}
663
664func (*ScreenDensity_DensityDpi) isScreenDensity_DensityOneof() {}
665
666// Wrapper message for `int32`.
667//
668// The JSON representation for `Int32Value` is JSON number.
669type Int32Value struct {
670	state         protoimpl.MessageState
671	sizeCache     protoimpl.SizeCache
672	unknownFields protoimpl.UnknownFields
673
674	// The int32 value.
675	Value int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
676}
677
678func (x *Int32Value) Reset() {
679	*x = Int32Value{}
680	if protoimpl.UnsafeEnabled {
681		mi := &file_targeting_proto_msgTypes[5]
682		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
683		ms.StoreMessageInfo(mi)
684	}
685}
686
687func (x *Int32Value) String() string {
688	return protoimpl.X.MessageStringOf(x)
689}
690
691func (*Int32Value) ProtoMessage() {}
692
693func (x *Int32Value) ProtoReflect() protoreflect.Message {
694	mi := &file_targeting_proto_msgTypes[5]
695	if protoimpl.UnsafeEnabled && x != nil {
696		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
697		if ms.LoadMessageInfo() == nil {
698			ms.StoreMessageInfo(mi)
699		}
700		return ms
701	}
702	return mi.MessageOf(x)
703}
704
705// Deprecated: Use Int32Value.ProtoReflect.Descriptor instead.
706func (*Int32Value) Descriptor() ([]byte, []int) {
707	return file_targeting_proto_rawDescGZIP(), []int{5}
708}
709
710func (x *Int32Value) GetValue() int32 {
711	if x != nil {
712		return x.Value
713	}
714	return 0
715}
716
717type SdkVersion struct {
718	state         protoimpl.MessageState
719	sizeCache     protoimpl.SizeCache
720	unknownFields protoimpl.UnknownFields
721
722	// Inclusive.
723	Min *Int32Value `protobuf:"bytes,1,opt,name=min,proto3" json:"min,omitempty"`
724}
725
726func (x *SdkVersion) Reset() {
727	*x = SdkVersion{}
728	if protoimpl.UnsafeEnabled {
729		mi := &file_targeting_proto_msgTypes[6]
730		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
731		ms.StoreMessageInfo(mi)
732	}
733}
734
735func (x *SdkVersion) String() string {
736	return protoimpl.X.MessageStringOf(x)
737}
738
739func (*SdkVersion) ProtoMessage() {}
740
741func (x *SdkVersion) ProtoReflect() protoreflect.Message {
742	mi := &file_targeting_proto_msgTypes[6]
743	if protoimpl.UnsafeEnabled && x != nil {
744		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
745		if ms.LoadMessageInfo() == nil {
746			ms.StoreMessageInfo(mi)
747		}
748		return ms
749	}
750	return mi.MessageOf(x)
751}
752
753// Deprecated: Use SdkVersion.ProtoReflect.Descriptor instead.
754func (*SdkVersion) Descriptor() ([]byte, []int) {
755	return file_targeting_proto_rawDescGZIP(), []int{6}
756}
757
758func (x *SdkVersion) GetMin() *Int32Value {
759	if x != nil {
760		return x.Min
761	}
762	return nil
763}
764
765type GraphicsApi struct {
766	state         protoimpl.MessageState
767	sizeCache     protoimpl.SizeCache
768	unknownFields protoimpl.UnknownFields
769
770	// Types that are assignable to ApiOneof:
771	//	*GraphicsApi_MinOpenGlVersion
772	//	*GraphicsApi_MinVulkanVersion
773	ApiOneof isGraphicsApi_ApiOneof `protobuf_oneof:"api_oneof"`
774}
775
776func (x *GraphicsApi) Reset() {
777	*x = GraphicsApi{}
778	if protoimpl.UnsafeEnabled {
779		mi := &file_targeting_proto_msgTypes[7]
780		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
781		ms.StoreMessageInfo(mi)
782	}
783}
784
785func (x *GraphicsApi) String() string {
786	return protoimpl.X.MessageStringOf(x)
787}
788
789func (*GraphicsApi) ProtoMessage() {}
790
791func (x *GraphicsApi) ProtoReflect() protoreflect.Message {
792	mi := &file_targeting_proto_msgTypes[7]
793	if protoimpl.UnsafeEnabled && x != nil {
794		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
795		if ms.LoadMessageInfo() == nil {
796			ms.StoreMessageInfo(mi)
797		}
798		return ms
799	}
800	return mi.MessageOf(x)
801}
802
803// Deprecated: Use GraphicsApi.ProtoReflect.Descriptor instead.
804func (*GraphicsApi) Descriptor() ([]byte, []int) {
805	return file_targeting_proto_rawDescGZIP(), []int{7}
806}
807
808func (m *GraphicsApi) GetApiOneof() isGraphicsApi_ApiOneof {
809	if m != nil {
810		return m.ApiOneof
811	}
812	return nil
813}
814
815func (x *GraphicsApi) GetMinOpenGlVersion() *OpenGlVersion {
816	if x, ok := x.GetApiOneof().(*GraphicsApi_MinOpenGlVersion); ok {
817		return x.MinOpenGlVersion
818	}
819	return nil
820}
821
822func (x *GraphicsApi) GetMinVulkanVersion() *VulkanVersion {
823	if x, ok := x.GetApiOneof().(*GraphicsApi_MinVulkanVersion); ok {
824		return x.MinVulkanVersion
825	}
826	return nil
827}
828
829type isGraphicsApi_ApiOneof interface {
830	isGraphicsApi_ApiOneof()
831}
832
833type GraphicsApi_MinOpenGlVersion struct {
834	// Inclusive.
835	MinOpenGlVersion *OpenGlVersion `protobuf:"bytes,1,opt,name=min_open_gl_version,json=minOpenGlVersion,proto3,oneof"`
836}
837
838type GraphicsApi_MinVulkanVersion struct {
839	// Inclusive.
840	MinVulkanVersion *VulkanVersion `protobuf:"bytes,2,opt,name=min_vulkan_version,json=minVulkanVersion,proto3,oneof"`
841}
842
843func (*GraphicsApi_MinOpenGlVersion) isGraphicsApi_ApiOneof() {}
844
845func (*GraphicsApi_MinVulkanVersion) isGraphicsApi_ApiOneof() {}
846
847type VulkanVersion struct {
848	state         protoimpl.MessageState
849	sizeCache     protoimpl.SizeCache
850	unknownFields protoimpl.UnknownFields
851
852	Major int32 `protobuf:"varint,1,opt,name=major,proto3" json:"major,omitempty"` // VK_VERSION_MAJOR
853	Minor int32 `protobuf:"varint,2,opt,name=minor,proto3" json:"minor,omitempty"` // VK_VERSION_MINOR
854}
855
856func (x *VulkanVersion) Reset() {
857	*x = VulkanVersion{}
858	if protoimpl.UnsafeEnabled {
859		mi := &file_targeting_proto_msgTypes[8]
860		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
861		ms.StoreMessageInfo(mi)
862	}
863}
864
865func (x *VulkanVersion) String() string {
866	return protoimpl.X.MessageStringOf(x)
867}
868
869func (*VulkanVersion) ProtoMessage() {}
870
871func (x *VulkanVersion) ProtoReflect() protoreflect.Message {
872	mi := &file_targeting_proto_msgTypes[8]
873	if protoimpl.UnsafeEnabled && x != nil {
874		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
875		if ms.LoadMessageInfo() == nil {
876			ms.StoreMessageInfo(mi)
877		}
878		return ms
879	}
880	return mi.MessageOf(x)
881}
882
883// Deprecated: Use VulkanVersion.ProtoReflect.Descriptor instead.
884func (*VulkanVersion) Descriptor() ([]byte, []int) {
885	return file_targeting_proto_rawDescGZIP(), []int{8}
886}
887
888func (x *VulkanVersion) GetMajor() int32 {
889	if x != nil {
890		return x.Major
891	}
892	return 0
893}
894
895func (x *VulkanVersion) GetMinor() int32 {
896	if x != nil {
897		return x.Minor
898	}
899	return 0
900}
901
902type OpenGlVersion struct {
903	state         protoimpl.MessageState
904	sizeCache     protoimpl.SizeCache
905	unknownFields protoimpl.UnknownFields
906
907	// e.g. OpenGL ES 3.2 is represented as { major: 3, minor: 2 }
908	Major int32 `protobuf:"varint,1,opt,name=major,proto3" json:"major,omitempty"` // GL_MAJOR_VERSION
909	Minor int32 `protobuf:"varint,2,opt,name=minor,proto3" json:"minor,omitempty"` // GL_MINOR_VERSION
910}
911
912func (x *OpenGlVersion) Reset() {
913	*x = OpenGlVersion{}
914	if protoimpl.UnsafeEnabled {
915		mi := &file_targeting_proto_msgTypes[9]
916		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
917		ms.StoreMessageInfo(mi)
918	}
919}
920
921func (x *OpenGlVersion) String() string {
922	return protoimpl.X.MessageStringOf(x)
923}
924
925func (*OpenGlVersion) ProtoMessage() {}
926
927func (x *OpenGlVersion) ProtoReflect() protoreflect.Message {
928	mi := &file_targeting_proto_msgTypes[9]
929	if protoimpl.UnsafeEnabled && x != nil {
930		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
931		if ms.LoadMessageInfo() == nil {
932			ms.StoreMessageInfo(mi)
933		}
934		return ms
935	}
936	return mi.MessageOf(x)
937}
938
939// Deprecated: Use OpenGlVersion.ProtoReflect.Descriptor instead.
940func (*OpenGlVersion) Descriptor() ([]byte, []int) {
941	return file_targeting_proto_rawDescGZIP(), []int{9}
942}
943
944func (x *OpenGlVersion) GetMajor() int32 {
945	if x != nil {
946		return x.Major
947	}
948	return 0
949}
950
951func (x *OpenGlVersion) GetMinor() int32 {
952	if x != nil {
953		return x.Minor
954	}
955	return 0
956}
957
958type TextureCompressionFormat struct {
959	state         protoimpl.MessageState
960	sizeCache     protoimpl.SizeCache
961	unknownFields protoimpl.UnknownFields
962
963	Alias TextureCompressionFormat_TextureCompressionFormatAlias `protobuf:"varint,1,opt,name=alias,proto3,enum=android.bundle.TextureCompressionFormat_TextureCompressionFormatAlias" json:"alias,omitempty"`
964}
965
966func (x *TextureCompressionFormat) Reset() {
967	*x = TextureCompressionFormat{}
968	if protoimpl.UnsafeEnabled {
969		mi := &file_targeting_proto_msgTypes[10]
970		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
971		ms.StoreMessageInfo(mi)
972	}
973}
974
975func (x *TextureCompressionFormat) String() string {
976	return protoimpl.X.MessageStringOf(x)
977}
978
979func (*TextureCompressionFormat) ProtoMessage() {}
980
981func (x *TextureCompressionFormat) ProtoReflect() protoreflect.Message {
982	mi := &file_targeting_proto_msgTypes[10]
983	if protoimpl.UnsafeEnabled && x != nil {
984		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
985		if ms.LoadMessageInfo() == nil {
986			ms.StoreMessageInfo(mi)
987		}
988		return ms
989	}
990	return mi.MessageOf(x)
991}
992
993// Deprecated: Use TextureCompressionFormat.ProtoReflect.Descriptor instead.
994func (*TextureCompressionFormat) Descriptor() ([]byte, []int) {
995	return file_targeting_proto_rawDescGZIP(), []int{10}
996}
997
998func (x *TextureCompressionFormat) GetAlias() TextureCompressionFormat_TextureCompressionFormatAlias {
999	if x != nil {
1000		return x.Alias
1001	}
1002	return TextureCompressionFormat_UNSPECIFIED_TEXTURE_COMPRESSION_FORMAT
1003}
1004
1005type Abi struct {
1006	state         protoimpl.MessageState
1007	sizeCache     protoimpl.SizeCache
1008	unknownFields protoimpl.UnknownFields
1009
1010	Alias Abi_AbiAlias `protobuf:"varint,1,opt,name=alias,proto3,enum=android.bundle.Abi_AbiAlias" json:"alias,omitempty"`
1011}
1012
1013func (x *Abi) Reset() {
1014	*x = Abi{}
1015	if protoimpl.UnsafeEnabled {
1016		mi := &file_targeting_proto_msgTypes[11]
1017		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1018		ms.StoreMessageInfo(mi)
1019	}
1020}
1021
1022func (x *Abi) String() string {
1023	return protoimpl.X.MessageStringOf(x)
1024}
1025
1026func (*Abi) ProtoMessage() {}
1027
1028func (x *Abi) ProtoReflect() protoreflect.Message {
1029	mi := &file_targeting_proto_msgTypes[11]
1030	if protoimpl.UnsafeEnabled && x != nil {
1031		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1032		if ms.LoadMessageInfo() == nil {
1033			ms.StoreMessageInfo(mi)
1034		}
1035		return ms
1036	}
1037	return mi.MessageOf(x)
1038}
1039
1040// Deprecated: Use Abi.ProtoReflect.Descriptor instead.
1041func (*Abi) Descriptor() ([]byte, []int) {
1042	return file_targeting_proto_rawDescGZIP(), []int{11}
1043}
1044
1045func (x *Abi) GetAlias() Abi_AbiAlias {
1046	if x != nil {
1047		return x.Alias
1048	}
1049	return Abi_UNSPECIFIED_CPU_ARCHITECTURE
1050}
1051
1052type MultiAbi struct {
1053	state         protoimpl.MessageState
1054	sizeCache     protoimpl.SizeCache
1055	unknownFields protoimpl.UnknownFields
1056
1057	Abi []*Abi `protobuf:"bytes,1,rep,name=abi,proto3" json:"abi,omitempty"`
1058}
1059
1060func (x *MultiAbi) Reset() {
1061	*x = MultiAbi{}
1062	if protoimpl.UnsafeEnabled {
1063		mi := &file_targeting_proto_msgTypes[12]
1064		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1065		ms.StoreMessageInfo(mi)
1066	}
1067}
1068
1069func (x *MultiAbi) String() string {
1070	return protoimpl.X.MessageStringOf(x)
1071}
1072
1073func (*MultiAbi) ProtoMessage() {}
1074
1075func (x *MultiAbi) ProtoReflect() protoreflect.Message {
1076	mi := &file_targeting_proto_msgTypes[12]
1077	if protoimpl.UnsafeEnabled && x != nil {
1078		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1079		if ms.LoadMessageInfo() == nil {
1080			ms.StoreMessageInfo(mi)
1081		}
1082		return ms
1083	}
1084	return mi.MessageOf(x)
1085}
1086
1087// Deprecated: Use MultiAbi.ProtoReflect.Descriptor instead.
1088func (*MultiAbi) Descriptor() ([]byte, []int) {
1089	return file_targeting_proto_rawDescGZIP(), []int{12}
1090}
1091
1092func (x *MultiAbi) GetAbi() []*Abi {
1093	if x != nil {
1094		return x.Abi
1095	}
1096	return nil
1097}
1098
1099type Sanitizer struct {
1100	state         protoimpl.MessageState
1101	sizeCache     protoimpl.SizeCache
1102	unknownFields protoimpl.UnknownFields
1103
1104	Alias Sanitizer_SanitizerAlias `protobuf:"varint,1,opt,name=alias,proto3,enum=android.bundle.Sanitizer_SanitizerAlias" json:"alias,omitempty"`
1105}
1106
1107func (x *Sanitizer) Reset() {
1108	*x = Sanitizer{}
1109	if protoimpl.UnsafeEnabled {
1110		mi := &file_targeting_proto_msgTypes[13]
1111		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1112		ms.StoreMessageInfo(mi)
1113	}
1114}
1115
1116func (x *Sanitizer) String() string {
1117	return protoimpl.X.MessageStringOf(x)
1118}
1119
1120func (*Sanitizer) ProtoMessage() {}
1121
1122func (x *Sanitizer) ProtoReflect() protoreflect.Message {
1123	mi := &file_targeting_proto_msgTypes[13]
1124	if protoimpl.UnsafeEnabled && x != nil {
1125		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1126		if ms.LoadMessageInfo() == nil {
1127			ms.StoreMessageInfo(mi)
1128		}
1129		return ms
1130	}
1131	return mi.MessageOf(x)
1132}
1133
1134// Deprecated: Use Sanitizer.ProtoReflect.Descriptor instead.
1135func (*Sanitizer) Descriptor() ([]byte, []int) {
1136	return file_targeting_proto_rawDescGZIP(), []int{13}
1137}
1138
1139func (x *Sanitizer) GetAlias() Sanitizer_SanitizerAlias {
1140	if x != nil {
1141		return x.Alias
1142	}
1143	return Sanitizer_NONE
1144}
1145
1146type DeviceFeature struct {
1147	state         protoimpl.MessageState
1148	sizeCache     protoimpl.SizeCache
1149	unknownFields protoimpl.UnknownFields
1150
1151	FeatureName string `protobuf:"bytes,1,opt,name=feature_name,json=featureName,proto3" json:"feature_name,omitempty"`
1152	// Equivalent of android:glEsVersion or android:version in <uses-feature>.
1153	FeatureVersion int32 `protobuf:"varint,2,opt,name=feature_version,json=featureVersion,proto3" json:"feature_version,omitempty"`
1154}
1155
1156func (x *DeviceFeature) Reset() {
1157	*x = DeviceFeature{}
1158	if protoimpl.UnsafeEnabled {
1159		mi := &file_targeting_proto_msgTypes[14]
1160		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1161		ms.StoreMessageInfo(mi)
1162	}
1163}
1164
1165func (x *DeviceFeature) String() string {
1166	return protoimpl.X.MessageStringOf(x)
1167}
1168
1169func (*DeviceFeature) ProtoMessage() {}
1170
1171func (x *DeviceFeature) ProtoReflect() protoreflect.Message {
1172	mi := &file_targeting_proto_msgTypes[14]
1173	if protoimpl.UnsafeEnabled && x != nil {
1174		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1175		if ms.LoadMessageInfo() == nil {
1176			ms.StoreMessageInfo(mi)
1177		}
1178		return ms
1179	}
1180	return mi.MessageOf(x)
1181}
1182
1183// Deprecated: Use DeviceFeature.ProtoReflect.Descriptor instead.
1184func (*DeviceFeature) Descriptor() ([]byte, []int) {
1185	return file_targeting_proto_rawDescGZIP(), []int{14}
1186}
1187
1188func (x *DeviceFeature) GetFeatureName() string {
1189	if x != nil {
1190		return x.FeatureName
1191	}
1192	return ""
1193}
1194
1195func (x *DeviceFeature) GetFeatureVersion() int32 {
1196	if x != nil {
1197		return x.FeatureVersion
1198	}
1199	return 0
1200}
1201
1202// Targeting specific for directories under assets/.
1203type AssetsDirectoryTargeting struct {
1204	state         protoimpl.MessageState
1205	sizeCache     protoimpl.SizeCache
1206	unknownFields protoimpl.UnknownFields
1207
1208	Abi                      *AbiTargeting                      `protobuf:"bytes,1,opt,name=abi,proto3" json:"abi,omitempty"`
1209	GraphicsApi              *GraphicsApiTargeting              `protobuf:"bytes,2,opt,name=graphics_api,json=graphicsApi,proto3" json:"graphics_api,omitempty"`
1210	TextureCompressionFormat *TextureCompressionFormatTargeting `protobuf:"bytes,3,opt,name=texture_compression_format,json=textureCompressionFormat,proto3" json:"texture_compression_format,omitempty"`
1211	Language                 *LanguageTargeting                 `protobuf:"bytes,4,opt,name=language,proto3" json:"language,omitempty"`
1212}
1213
1214func (x *AssetsDirectoryTargeting) Reset() {
1215	*x = AssetsDirectoryTargeting{}
1216	if protoimpl.UnsafeEnabled {
1217		mi := &file_targeting_proto_msgTypes[15]
1218		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1219		ms.StoreMessageInfo(mi)
1220	}
1221}
1222
1223func (x *AssetsDirectoryTargeting) String() string {
1224	return protoimpl.X.MessageStringOf(x)
1225}
1226
1227func (*AssetsDirectoryTargeting) ProtoMessage() {}
1228
1229func (x *AssetsDirectoryTargeting) ProtoReflect() protoreflect.Message {
1230	mi := &file_targeting_proto_msgTypes[15]
1231	if protoimpl.UnsafeEnabled && x != nil {
1232		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1233		if ms.LoadMessageInfo() == nil {
1234			ms.StoreMessageInfo(mi)
1235		}
1236		return ms
1237	}
1238	return mi.MessageOf(x)
1239}
1240
1241// Deprecated: Use AssetsDirectoryTargeting.ProtoReflect.Descriptor instead.
1242func (*AssetsDirectoryTargeting) Descriptor() ([]byte, []int) {
1243	return file_targeting_proto_rawDescGZIP(), []int{15}
1244}
1245
1246func (x *AssetsDirectoryTargeting) GetAbi() *AbiTargeting {
1247	if x != nil {
1248		return x.Abi
1249	}
1250	return nil
1251}
1252
1253func (x *AssetsDirectoryTargeting) GetGraphicsApi() *GraphicsApiTargeting {
1254	if x != nil {
1255		return x.GraphicsApi
1256	}
1257	return nil
1258}
1259
1260func (x *AssetsDirectoryTargeting) GetTextureCompressionFormat() *TextureCompressionFormatTargeting {
1261	if x != nil {
1262		return x.TextureCompressionFormat
1263	}
1264	return nil
1265}
1266
1267func (x *AssetsDirectoryTargeting) GetLanguage() *LanguageTargeting {
1268	if x != nil {
1269		return x.Language
1270	}
1271	return nil
1272}
1273
1274// Targeting specific for directories under lib/.
1275type NativeDirectoryTargeting struct {
1276	state         protoimpl.MessageState
1277	sizeCache     protoimpl.SizeCache
1278	unknownFields protoimpl.UnknownFields
1279
1280	Abi                      *Abi                      `protobuf:"bytes,1,opt,name=abi,proto3" json:"abi,omitempty"`
1281	GraphicsApi              *GraphicsApi              `protobuf:"bytes,2,opt,name=graphics_api,json=graphicsApi,proto3" json:"graphics_api,omitempty"`
1282	TextureCompressionFormat *TextureCompressionFormat `protobuf:"bytes,3,opt,name=texture_compression_format,json=textureCompressionFormat,proto3" json:"texture_compression_format,omitempty"`
1283	Sanitizer                *Sanitizer                `protobuf:"bytes,4,opt,name=sanitizer,proto3" json:"sanitizer,omitempty"`
1284}
1285
1286func (x *NativeDirectoryTargeting) Reset() {
1287	*x = NativeDirectoryTargeting{}
1288	if protoimpl.UnsafeEnabled {
1289		mi := &file_targeting_proto_msgTypes[16]
1290		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1291		ms.StoreMessageInfo(mi)
1292	}
1293}
1294
1295func (x *NativeDirectoryTargeting) String() string {
1296	return protoimpl.X.MessageStringOf(x)
1297}
1298
1299func (*NativeDirectoryTargeting) ProtoMessage() {}
1300
1301func (x *NativeDirectoryTargeting) ProtoReflect() protoreflect.Message {
1302	mi := &file_targeting_proto_msgTypes[16]
1303	if protoimpl.UnsafeEnabled && x != nil {
1304		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1305		if ms.LoadMessageInfo() == nil {
1306			ms.StoreMessageInfo(mi)
1307		}
1308		return ms
1309	}
1310	return mi.MessageOf(x)
1311}
1312
1313// Deprecated: Use NativeDirectoryTargeting.ProtoReflect.Descriptor instead.
1314func (*NativeDirectoryTargeting) Descriptor() ([]byte, []int) {
1315	return file_targeting_proto_rawDescGZIP(), []int{16}
1316}
1317
1318func (x *NativeDirectoryTargeting) GetAbi() *Abi {
1319	if x != nil {
1320		return x.Abi
1321	}
1322	return nil
1323}
1324
1325func (x *NativeDirectoryTargeting) GetGraphicsApi() *GraphicsApi {
1326	if x != nil {
1327		return x.GraphicsApi
1328	}
1329	return nil
1330}
1331
1332func (x *NativeDirectoryTargeting) GetTextureCompressionFormat() *TextureCompressionFormat {
1333	if x != nil {
1334		return x.TextureCompressionFormat
1335	}
1336	return nil
1337}
1338
1339func (x *NativeDirectoryTargeting) GetSanitizer() *Sanitizer {
1340	if x != nil {
1341		return x.Sanitizer
1342	}
1343	return nil
1344}
1345
1346// Targeting specific for image files under apex/.
1347type ApexImageTargeting struct {
1348	state         protoimpl.MessageState
1349	sizeCache     protoimpl.SizeCache
1350	unknownFields protoimpl.UnknownFields
1351
1352	MultiAbi *MultiAbiTargeting `protobuf:"bytes,1,opt,name=multi_abi,json=multiAbi,proto3" json:"multi_abi,omitempty"`
1353}
1354
1355func (x *ApexImageTargeting) Reset() {
1356	*x = ApexImageTargeting{}
1357	if protoimpl.UnsafeEnabled {
1358		mi := &file_targeting_proto_msgTypes[17]
1359		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1360		ms.StoreMessageInfo(mi)
1361	}
1362}
1363
1364func (x *ApexImageTargeting) String() string {
1365	return protoimpl.X.MessageStringOf(x)
1366}
1367
1368func (*ApexImageTargeting) ProtoMessage() {}
1369
1370func (x *ApexImageTargeting) ProtoReflect() protoreflect.Message {
1371	mi := &file_targeting_proto_msgTypes[17]
1372	if protoimpl.UnsafeEnabled && x != nil {
1373		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1374		if ms.LoadMessageInfo() == nil {
1375			ms.StoreMessageInfo(mi)
1376		}
1377		return ms
1378	}
1379	return mi.MessageOf(x)
1380}
1381
1382// Deprecated: Use ApexImageTargeting.ProtoReflect.Descriptor instead.
1383func (*ApexImageTargeting) Descriptor() ([]byte, []int) {
1384	return file_targeting_proto_rawDescGZIP(), []int{17}
1385}
1386
1387func (x *ApexImageTargeting) GetMultiAbi() *MultiAbiTargeting {
1388	if x != nil {
1389		return x.MultiAbi
1390	}
1391	return nil
1392}
1393
1394type AbiTargeting struct {
1395	state         protoimpl.MessageState
1396	sizeCache     protoimpl.SizeCache
1397	unknownFields protoimpl.UnknownFields
1398
1399	Value []*Abi `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
1400	// Targeting of other sibling directories that were in the Bundle.
1401	// For master splits this is targeting of other master splits.
1402	Alternatives []*Abi `protobuf:"bytes,2,rep,name=alternatives,proto3" json:"alternatives,omitempty"`
1403}
1404
1405func (x *AbiTargeting) Reset() {
1406	*x = AbiTargeting{}
1407	if protoimpl.UnsafeEnabled {
1408		mi := &file_targeting_proto_msgTypes[18]
1409		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1410		ms.StoreMessageInfo(mi)
1411	}
1412}
1413
1414func (x *AbiTargeting) String() string {
1415	return protoimpl.X.MessageStringOf(x)
1416}
1417
1418func (*AbiTargeting) ProtoMessage() {}
1419
1420func (x *AbiTargeting) ProtoReflect() protoreflect.Message {
1421	mi := &file_targeting_proto_msgTypes[18]
1422	if protoimpl.UnsafeEnabled && x != nil {
1423		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1424		if ms.LoadMessageInfo() == nil {
1425			ms.StoreMessageInfo(mi)
1426		}
1427		return ms
1428	}
1429	return mi.MessageOf(x)
1430}
1431
1432// Deprecated: Use AbiTargeting.ProtoReflect.Descriptor instead.
1433func (*AbiTargeting) Descriptor() ([]byte, []int) {
1434	return file_targeting_proto_rawDescGZIP(), []int{18}
1435}
1436
1437func (x *AbiTargeting) GetValue() []*Abi {
1438	if x != nil {
1439		return x.Value
1440	}
1441	return nil
1442}
1443
1444func (x *AbiTargeting) GetAlternatives() []*Abi {
1445	if x != nil {
1446		return x.Alternatives
1447	}
1448	return nil
1449}
1450
1451type MultiAbiTargeting struct {
1452	state         protoimpl.MessageState
1453	sizeCache     protoimpl.SizeCache
1454	unknownFields protoimpl.UnknownFields
1455
1456	Value []*MultiAbi `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
1457	// Targeting of other sibling directories that were in the Bundle.
1458	// For master splits this is targeting of other master splits.
1459	Alternatives []*MultiAbi `protobuf:"bytes,2,rep,name=alternatives,proto3" json:"alternatives,omitempty"`
1460}
1461
1462func (x *MultiAbiTargeting) Reset() {
1463	*x = MultiAbiTargeting{}
1464	if protoimpl.UnsafeEnabled {
1465		mi := &file_targeting_proto_msgTypes[19]
1466		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1467		ms.StoreMessageInfo(mi)
1468	}
1469}
1470
1471func (x *MultiAbiTargeting) String() string {
1472	return protoimpl.X.MessageStringOf(x)
1473}
1474
1475func (*MultiAbiTargeting) ProtoMessage() {}
1476
1477func (x *MultiAbiTargeting) ProtoReflect() protoreflect.Message {
1478	mi := &file_targeting_proto_msgTypes[19]
1479	if protoimpl.UnsafeEnabled && x != nil {
1480		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1481		if ms.LoadMessageInfo() == nil {
1482			ms.StoreMessageInfo(mi)
1483		}
1484		return ms
1485	}
1486	return mi.MessageOf(x)
1487}
1488
1489// Deprecated: Use MultiAbiTargeting.ProtoReflect.Descriptor instead.
1490func (*MultiAbiTargeting) Descriptor() ([]byte, []int) {
1491	return file_targeting_proto_rawDescGZIP(), []int{19}
1492}
1493
1494func (x *MultiAbiTargeting) GetValue() []*MultiAbi {
1495	if x != nil {
1496		return x.Value
1497	}
1498	return nil
1499}
1500
1501func (x *MultiAbiTargeting) GetAlternatives() []*MultiAbi {
1502	if x != nil {
1503		return x.Alternatives
1504	}
1505	return nil
1506}
1507
1508type ScreenDensityTargeting struct {
1509	state         protoimpl.MessageState
1510	sizeCache     protoimpl.SizeCache
1511	unknownFields protoimpl.UnknownFields
1512
1513	Value []*ScreenDensity `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
1514	// Targeting of other sibling directories that were in the Bundle.
1515	// For master splits this is targeting of other master splits.
1516	Alternatives []*ScreenDensity `protobuf:"bytes,2,rep,name=alternatives,proto3" json:"alternatives,omitempty"`
1517}
1518
1519func (x *ScreenDensityTargeting) Reset() {
1520	*x = ScreenDensityTargeting{}
1521	if protoimpl.UnsafeEnabled {
1522		mi := &file_targeting_proto_msgTypes[20]
1523		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1524		ms.StoreMessageInfo(mi)
1525	}
1526}
1527
1528func (x *ScreenDensityTargeting) String() string {
1529	return protoimpl.X.MessageStringOf(x)
1530}
1531
1532func (*ScreenDensityTargeting) ProtoMessage() {}
1533
1534func (x *ScreenDensityTargeting) ProtoReflect() protoreflect.Message {
1535	mi := &file_targeting_proto_msgTypes[20]
1536	if protoimpl.UnsafeEnabled && x != nil {
1537		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1538		if ms.LoadMessageInfo() == nil {
1539			ms.StoreMessageInfo(mi)
1540		}
1541		return ms
1542	}
1543	return mi.MessageOf(x)
1544}
1545
1546// Deprecated: Use ScreenDensityTargeting.ProtoReflect.Descriptor instead.
1547func (*ScreenDensityTargeting) Descriptor() ([]byte, []int) {
1548	return file_targeting_proto_rawDescGZIP(), []int{20}
1549}
1550
1551func (x *ScreenDensityTargeting) GetValue() []*ScreenDensity {
1552	if x != nil {
1553		return x.Value
1554	}
1555	return nil
1556}
1557
1558func (x *ScreenDensityTargeting) GetAlternatives() []*ScreenDensity {
1559	if x != nil {
1560		return x.Alternatives
1561	}
1562	return nil
1563}
1564
1565type LanguageTargeting struct {
1566	state         protoimpl.MessageState
1567	sizeCache     protoimpl.SizeCache
1568	unknownFields protoimpl.UnknownFields
1569
1570	// ISO-639: 2 or 3 letter language code.
1571	Value []string `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
1572	// Targeting of other sibling directories that were in the Bundle.
1573	// For master splits this is targeting of other master splits.
1574	Alternatives []string `protobuf:"bytes,2,rep,name=alternatives,proto3" json:"alternatives,omitempty"`
1575}
1576
1577func (x *LanguageTargeting) Reset() {
1578	*x = LanguageTargeting{}
1579	if protoimpl.UnsafeEnabled {
1580		mi := &file_targeting_proto_msgTypes[21]
1581		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1582		ms.StoreMessageInfo(mi)
1583	}
1584}
1585
1586func (x *LanguageTargeting) String() string {
1587	return protoimpl.X.MessageStringOf(x)
1588}
1589
1590func (*LanguageTargeting) ProtoMessage() {}
1591
1592func (x *LanguageTargeting) ProtoReflect() protoreflect.Message {
1593	mi := &file_targeting_proto_msgTypes[21]
1594	if protoimpl.UnsafeEnabled && x != nil {
1595		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1596		if ms.LoadMessageInfo() == nil {
1597			ms.StoreMessageInfo(mi)
1598		}
1599		return ms
1600	}
1601	return mi.MessageOf(x)
1602}
1603
1604// Deprecated: Use LanguageTargeting.ProtoReflect.Descriptor instead.
1605func (*LanguageTargeting) Descriptor() ([]byte, []int) {
1606	return file_targeting_proto_rawDescGZIP(), []int{21}
1607}
1608
1609func (x *LanguageTargeting) GetValue() []string {
1610	if x != nil {
1611		return x.Value
1612	}
1613	return nil
1614}
1615
1616func (x *LanguageTargeting) GetAlternatives() []string {
1617	if x != nil {
1618		return x.Alternatives
1619	}
1620	return nil
1621}
1622
1623type GraphicsApiTargeting struct {
1624	state         protoimpl.MessageState
1625	sizeCache     protoimpl.SizeCache
1626	unknownFields protoimpl.UnknownFields
1627
1628	Value []*GraphicsApi `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
1629	// Targeting of other sibling directories that were in the Bundle.
1630	// For master splits this is targeting of other master splits.
1631	Alternatives []*GraphicsApi `protobuf:"bytes,2,rep,name=alternatives,proto3" json:"alternatives,omitempty"`
1632}
1633
1634func (x *GraphicsApiTargeting) Reset() {
1635	*x = GraphicsApiTargeting{}
1636	if protoimpl.UnsafeEnabled {
1637		mi := &file_targeting_proto_msgTypes[22]
1638		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1639		ms.StoreMessageInfo(mi)
1640	}
1641}
1642
1643func (x *GraphicsApiTargeting) String() string {
1644	return protoimpl.X.MessageStringOf(x)
1645}
1646
1647func (*GraphicsApiTargeting) ProtoMessage() {}
1648
1649func (x *GraphicsApiTargeting) ProtoReflect() protoreflect.Message {
1650	mi := &file_targeting_proto_msgTypes[22]
1651	if protoimpl.UnsafeEnabled && x != nil {
1652		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1653		if ms.LoadMessageInfo() == nil {
1654			ms.StoreMessageInfo(mi)
1655		}
1656		return ms
1657	}
1658	return mi.MessageOf(x)
1659}
1660
1661// Deprecated: Use GraphicsApiTargeting.ProtoReflect.Descriptor instead.
1662func (*GraphicsApiTargeting) Descriptor() ([]byte, []int) {
1663	return file_targeting_proto_rawDescGZIP(), []int{22}
1664}
1665
1666func (x *GraphicsApiTargeting) GetValue() []*GraphicsApi {
1667	if x != nil {
1668		return x.Value
1669	}
1670	return nil
1671}
1672
1673func (x *GraphicsApiTargeting) GetAlternatives() []*GraphicsApi {
1674	if x != nil {
1675		return x.Alternatives
1676	}
1677	return nil
1678}
1679
1680type SdkVersionTargeting struct {
1681	state         protoimpl.MessageState
1682	sizeCache     protoimpl.SizeCache
1683	unknownFields protoimpl.UnknownFields
1684
1685	Value []*SdkVersion `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
1686	// Targeting of other sibling directories that were in the Bundle.
1687	// For master splits this is targeting of other master splits.
1688	Alternatives []*SdkVersion `protobuf:"bytes,2,rep,name=alternatives,proto3" json:"alternatives,omitempty"`
1689}
1690
1691func (x *SdkVersionTargeting) Reset() {
1692	*x = SdkVersionTargeting{}
1693	if protoimpl.UnsafeEnabled {
1694		mi := &file_targeting_proto_msgTypes[23]
1695		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1696		ms.StoreMessageInfo(mi)
1697	}
1698}
1699
1700func (x *SdkVersionTargeting) String() string {
1701	return protoimpl.X.MessageStringOf(x)
1702}
1703
1704func (*SdkVersionTargeting) ProtoMessage() {}
1705
1706func (x *SdkVersionTargeting) ProtoReflect() protoreflect.Message {
1707	mi := &file_targeting_proto_msgTypes[23]
1708	if protoimpl.UnsafeEnabled && x != nil {
1709		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1710		if ms.LoadMessageInfo() == nil {
1711			ms.StoreMessageInfo(mi)
1712		}
1713		return ms
1714	}
1715	return mi.MessageOf(x)
1716}
1717
1718// Deprecated: Use SdkVersionTargeting.ProtoReflect.Descriptor instead.
1719func (*SdkVersionTargeting) Descriptor() ([]byte, []int) {
1720	return file_targeting_proto_rawDescGZIP(), []int{23}
1721}
1722
1723func (x *SdkVersionTargeting) GetValue() []*SdkVersion {
1724	if x != nil {
1725		return x.Value
1726	}
1727	return nil
1728}
1729
1730func (x *SdkVersionTargeting) GetAlternatives() []*SdkVersion {
1731	if x != nil {
1732		return x.Alternatives
1733	}
1734	return nil
1735}
1736
1737type TextureCompressionFormatTargeting struct {
1738	state         protoimpl.MessageState
1739	sizeCache     protoimpl.SizeCache
1740	unknownFields protoimpl.UnknownFields
1741
1742	Value []*TextureCompressionFormat `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
1743	// Targeting of other sibling directories that were in the Bundle.
1744	// For master splits this is targeting of other master splits.
1745	Alternatives []*TextureCompressionFormat `protobuf:"bytes,2,rep,name=alternatives,proto3" json:"alternatives,omitempty"`
1746}
1747
1748func (x *TextureCompressionFormatTargeting) Reset() {
1749	*x = TextureCompressionFormatTargeting{}
1750	if protoimpl.UnsafeEnabled {
1751		mi := &file_targeting_proto_msgTypes[24]
1752		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1753		ms.StoreMessageInfo(mi)
1754	}
1755}
1756
1757func (x *TextureCompressionFormatTargeting) String() string {
1758	return protoimpl.X.MessageStringOf(x)
1759}
1760
1761func (*TextureCompressionFormatTargeting) ProtoMessage() {}
1762
1763func (x *TextureCompressionFormatTargeting) ProtoReflect() protoreflect.Message {
1764	mi := &file_targeting_proto_msgTypes[24]
1765	if protoimpl.UnsafeEnabled && x != nil {
1766		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1767		if ms.LoadMessageInfo() == nil {
1768			ms.StoreMessageInfo(mi)
1769		}
1770		return ms
1771	}
1772	return mi.MessageOf(x)
1773}
1774
1775// Deprecated: Use TextureCompressionFormatTargeting.ProtoReflect.Descriptor instead.
1776func (*TextureCompressionFormatTargeting) Descriptor() ([]byte, []int) {
1777	return file_targeting_proto_rawDescGZIP(), []int{24}
1778}
1779
1780func (x *TextureCompressionFormatTargeting) GetValue() []*TextureCompressionFormat {
1781	if x != nil {
1782		return x.Value
1783	}
1784	return nil
1785}
1786
1787func (x *TextureCompressionFormatTargeting) GetAlternatives() []*TextureCompressionFormat {
1788	if x != nil {
1789		return x.Alternatives
1790	}
1791	return nil
1792}
1793
1794type SanitizerTargeting struct {
1795	state         protoimpl.MessageState
1796	sizeCache     protoimpl.SizeCache
1797	unknownFields protoimpl.UnknownFields
1798
1799	Value []*Sanitizer `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
1800}
1801
1802func (x *SanitizerTargeting) Reset() {
1803	*x = SanitizerTargeting{}
1804	if protoimpl.UnsafeEnabled {
1805		mi := &file_targeting_proto_msgTypes[25]
1806		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1807		ms.StoreMessageInfo(mi)
1808	}
1809}
1810
1811func (x *SanitizerTargeting) String() string {
1812	return protoimpl.X.MessageStringOf(x)
1813}
1814
1815func (*SanitizerTargeting) ProtoMessage() {}
1816
1817func (x *SanitizerTargeting) ProtoReflect() protoreflect.Message {
1818	mi := &file_targeting_proto_msgTypes[25]
1819	if protoimpl.UnsafeEnabled && x != nil {
1820		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1821		if ms.LoadMessageInfo() == nil {
1822			ms.StoreMessageInfo(mi)
1823		}
1824		return ms
1825	}
1826	return mi.MessageOf(x)
1827}
1828
1829// Deprecated: Use SanitizerTargeting.ProtoReflect.Descriptor instead.
1830func (*SanitizerTargeting) Descriptor() ([]byte, []int) {
1831	return file_targeting_proto_rawDescGZIP(), []int{25}
1832}
1833
1834func (x *SanitizerTargeting) GetValue() []*Sanitizer {
1835	if x != nil {
1836		return x.Value
1837	}
1838	return nil
1839}
1840
1841// Since other atom targeting messages have the "OR" semantic on values
1842// the DeviceFeatureTargeting represents only one device feature to retain
1843// that convention.
1844type DeviceFeatureTargeting struct {
1845	state         protoimpl.MessageState
1846	sizeCache     protoimpl.SizeCache
1847	unknownFields protoimpl.UnknownFields
1848
1849	RequiredFeature *DeviceFeature `protobuf:"bytes,1,opt,name=required_feature,json=requiredFeature,proto3" json:"required_feature,omitempty"`
1850}
1851
1852func (x *DeviceFeatureTargeting) Reset() {
1853	*x = DeviceFeatureTargeting{}
1854	if protoimpl.UnsafeEnabled {
1855		mi := &file_targeting_proto_msgTypes[26]
1856		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1857		ms.StoreMessageInfo(mi)
1858	}
1859}
1860
1861func (x *DeviceFeatureTargeting) String() string {
1862	return protoimpl.X.MessageStringOf(x)
1863}
1864
1865func (*DeviceFeatureTargeting) ProtoMessage() {}
1866
1867func (x *DeviceFeatureTargeting) ProtoReflect() protoreflect.Message {
1868	mi := &file_targeting_proto_msgTypes[26]
1869	if protoimpl.UnsafeEnabled && x != nil {
1870		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1871		if ms.LoadMessageInfo() == nil {
1872			ms.StoreMessageInfo(mi)
1873		}
1874		return ms
1875	}
1876	return mi.MessageOf(x)
1877}
1878
1879// Deprecated: Use DeviceFeatureTargeting.ProtoReflect.Descriptor instead.
1880func (*DeviceFeatureTargeting) Descriptor() ([]byte, []int) {
1881	return file_targeting_proto_rawDescGZIP(), []int{26}
1882}
1883
1884func (x *DeviceFeatureTargeting) GetRequiredFeature() *DeviceFeature {
1885	if x != nil {
1886		return x.RequiredFeature
1887	}
1888	return nil
1889}
1890
1891var File_targeting_proto protoreflect.FileDescriptor
1892
1893var file_targeting_proto_rawDesc = []byte{
1894	0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1895	0x6f, 0x12, 0x0e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c,
1896	0x65, 0x22, 0xe8, 0x03, 0x0a, 0x10, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x61, 0x72,
1897	0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x57, 0x0a, 0x15, 0x73, 0x64, 0x6b, 0x5f, 0x76, 0x65,
1898	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18,
1899	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e,
1900	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
1901	0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x73, 0x64, 0x6b, 0x56,
1902	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12,
1903	0x41, 0x0a, 0x0d, 0x61, 0x62, 0x69, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67,
1904	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64,
1905	0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x62, 0x69, 0x54, 0x61, 0x72, 0x67, 0x65,
1906	0x74, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x61, 0x62, 0x69, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69,
1907	0x6e, 0x67, 0x12, 0x60, 0x0a, 0x18, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x64, 0x65, 0x6e,
1908	0x73, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03,
1909	0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62,
1910	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x65, 0x6e, 0x73,
1911	0x69, 0x74, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x16, 0x73, 0x63,
1912	0x72, 0x65, 0x65, 0x6e, 0x44, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65,
1913	0x74, 0x69, 0x6e, 0x67, 0x12, 0x51, 0x0a, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x61, 0x62,
1914	0x69, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28,
1915	0x0b, 0x32, 0x21, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64,
1916	0x6c, 0x65, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x62, 0x69, 0x54, 0x61, 0x72, 0x67, 0x65,
1917	0x74, 0x69, 0x6e, 0x67, 0x52, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x62, 0x69, 0x54, 0x61,
1918	0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x82, 0x01, 0x0a, 0x24, 0x74, 0x65, 0x78, 0x74,
1919	0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
1920	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67,
1921	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64,
1922	0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43,
1923	0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74,
1924	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x21, 0x74, 0x65, 0x78, 0x74, 0x75,
1925	0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72,
1926	0x6d, 0x61, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xe7, 0x05, 0x0a,
1927	0x0c, 0x41, 0x70, 0x6b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a,
1928	0x0d, 0x61, 0x62, 0x69, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01,
1929	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62,
1930	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x62, 0x69, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69,
1931	0x6e, 0x67, 0x52, 0x0c, 0x61, 0x62, 0x69, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67,
1932	0x12, 0x5a, 0x0a, 0x16, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x5f, 0x61, 0x70, 0x69,
1933	0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
1934	0x32, 0x24, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c,
1935	0x65, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x41, 0x70, 0x69, 0x54, 0x61, 0x72,
1936	0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x14, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73,
1937	0x41, 0x70, 0x69, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x50, 0x0a, 0x12,
1938	0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69,
1939	0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f,
1940	0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61,
1941	0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x11, 0x6c, 0x61, 0x6e,
1942	0x67, 0x75, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x60,
1943	0x0a, 0x18, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79,
1944	0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
1945	0x32, 0x26, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c,
1946	0x65, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x54,
1947	0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x16, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e,
1948	0x44, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67,
1949	0x12, 0x57, 0x0a, 0x15, 0x73, 0x64, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
1950	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
1951	0x23, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65,
1952	0x2e, 0x53, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65,
1953	0x74, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x73, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
1954	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x82, 0x01, 0x0a, 0x24, 0x74, 0x65,
1955	0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
1956	0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69,
1957	0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f,
1958	0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72,
1959	0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d,
1960	0x61, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x21, 0x74, 0x65, 0x78,
1961	0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46,
1962	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x51,
1963	0x0a, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x61, 0x62, 0x69, 0x5f, 0x74, 0x61, 0x72, 0x67,
1964	0x65, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x6e,
1965	0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x75, 0x6c,
1966	0x74, 0x69, 0x41, 0x62, 0x69, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x11,
1967	0x6d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x62, 0x69, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e,
1968	0x67, 0x12, 0x53, 0x0a, 0x13, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x74,
1969	0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
1970	0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e,
1971	0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69,
1972	0x6e, 0x67, 0x52, 0x12, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x72, 0x54, 0x61, 0x72,
1973	0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xae, 0x02, 0x0a, 0x0f, 0x4d, 0x6f, 0x64, 0x75, 0x6c,
1974	0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x57, 0x0a, 0x15, 0x73, 0x64,
1975	0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
1976	0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x6e, 0x64, 0x72,
1977	0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x64, 0x6b, 0x56, 0x65,
1978	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x13,
1979	0x73, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
1980	0x69, 0x6e, 0x67, 0x12, 0x60, 0x0a, 0x18, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x65,
1981	0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18,
1982	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e,
1983	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x65, 0x61,
1984	0x74, 0x75, 0x72, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x16, 0x64,
1985	0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x54, 0x61, 0x72, 0x67,
1986	0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x60, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6f,
1987	0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e,
1988	0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
1989	0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x75,
1990	0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52,
1991	0x16, 0x75, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x54, 0x61,
1992	0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x57, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72, 0x43,
1993	0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e,
1994	0x67, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64,
1995	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72,
1996	0x79, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
1997	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65,
1998	0x22, 0x97, 0x02, 0x0a, 0x0d, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x65, 0x6e, 0x73, 0x69,
1999	0x74, 0x79, 0x12, 0x51, 0x0a, 0x0d, 0x64, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x6c,
2000	0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x61, 0x6e, 0x64, 0x72,
2001	0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65,
2002	0x6e, 0x44, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x2e, 0x44, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79,
2003	0x41, 0x6c, 0x69, 0x61, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79,
2004	0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x64, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79,
2005	0x5f, 0x64, 0x70, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65,
2006	0x6e, 0x73, 0x69, 0x74, 0x79, 0x44, 0x70, 0x69, 0x22, 0x7f, 0x0a, 0x0c, 0x44, 0x65, 0x6e, 0x73,
2007	0x69, 0x74, 0x79, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x45, 0x4e, 0x53,
2008	0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
2009	0x00, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x4f, 0x44, 0x50, 0x49, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04,
2010	0x4c, 0x44, 0x50, 0x49, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x44, 0x50, 0x49, 0x10, 0x03,
2011	0x12, 0x09, 0x0a, 0x05, 0x54, 0x56, 0x44, 0x50, 0x49, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x48,
2012	0x44, 0x50, 0x49, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x58, 0x48, 0x44, 0x50, 0x49, 0x10, 0x06,
2013	0x12, 0x0a, 0x0a, 0x06, 0x58, 0x58, 0x48, 0x44, 0x50, 0x49, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07,
2014	0x58, 0x58, 0x58, 0x48, 0x44, 0x50, 0x49, 0x10, 0x08, 0x42, 0x0f, 0x0a, 0x0d, 0x64, 0x65, 0x6e,
2015	0x73, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x22, 0x22, 0x0a, 0x0a, 0x49, 0x6e,
2016	0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
2017	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3a,
2018	0x0a, 0x0a, 0x53, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x03,
2019	0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x6e, 0x64, 0x72,
2020	0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32,
2021	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x0b, 0x47,
2022	0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x41, 0x70, 0x69, 0x12, 0x4e, 0x0a, 0x13, 0x6d, 0x69,
2023	0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x67, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
2024	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
2025	0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x47, 0x6c, 0x56,
2026	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x4f, 0x70, 0x65,
2027	0x6e, 0x47, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x12, 0x6d, 0x69,
2028	0x6e, 0x5f, 0x76, 0x75, 0x6c, 0x6b, 0x61, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
2029	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64,
2030	0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x75, 0x6c, 0x6b, 0x61, 0x6e, 0x56, 0x65,
2031	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x56, 0x75, 0x6c, 0x6b,
2032	0x61, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x61, 0x70, 0x69,
2033	0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x22, 0x3b, 0x0a, 0x0d, 0x56, 0x75, 0x6c, 0x6b, 0x61, 0x6e,
2034	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72,
2035	0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a,
2036	0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x69,
2037	0x6e, 0x6f, 0x72, 0x22, 0x3b, 0x0a, 0x0d, 0x4f, 0x70, 0x65, 0x6e, 0x47, 0x6c, 0x56, 0x65, 0x72,
2038	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, 0x20,
2039	0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69,
2040	0x6e, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72,
2041	0x22, 0xb7, 0x02, 0x0a, 0x18, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70,
2042	0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x5c, 0x0a,
2043	0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x61,
2044	0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x65,
2045	0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
2046	0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f,
2047	0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x41,
2048	0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x1d,
2049	0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
2050	0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2a, 0x0a,
2051	0x26, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x58,
2052	0x54, 0x55, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e,
2053	0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x54, 0x43,
2054	0x31, 0x5f, 0x52, 0x47, 0x42, 0x38, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x41, 0x4c, 0x45,
2055	0x54, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x48, 0x52, 0x45, 0x45, 0x5f,
2056	0x44, 0x43, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x54, 0x43, 0x10, 0x04, 0x12, 0x08, 0x0a,
2057	0x04, 0x4c, 0x41, 0x54, 0x43, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x58, 0x54, 0x31, 0x10,
2058	0x06, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x33, 0x54, 0x43, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x50,
2059	0x56, 0x52, 0x54, 0x43, 0x10, 0x08, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x53, 0x54, 0x43, 0x10, 0x09,
2060	0x12, 0x08, 0x0a, 0x04, 0x45, 0x54, 0x43, 0x32, 0x10, 0x0a, 0x22, 0xc0, 0x01, 0x0a, 0x03, 0x41,
2061	0x62, 0x69, 0x12, 0x32, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
2062	0x0e, 0x32, 0x1c, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64,
2063	0x6c, 0x65, 0x2e, 0x41, 0x62, 0x69, 0x2e, 0x41, 0x62, 0x69, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
2064	0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x08, 0x41, 0x62, 0x69, 0x41, 0x6c,
2065	0x69, 0x61, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
2066	0x45, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54,
2067	0x55, 0x52, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x52, 0x4d, 0x45, 0x41, 0x42, 0x49,
2068	0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x52, 0x4d, 0x45, 0x41, 0x42, 0x49, 0x5f, 0x56, 0x37,
2069	0x41, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x52, 0x4d, 0x36, 0x34, 0x5f, 0x56, 0x38, 0x41,
2070	0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x58, 0x38, 0x36, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x58,
2071	0x38, 0x36, 0x5f, 0x36, 0x34, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x49, 0x50, 0x53, 0x10,
2072	0x06, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x50, 0x53, 0x36, 0x34, 0x10, 0x07, 0x22, 0x31, 0x0a,
2073	0x08, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x62, 0x69, 0x12, 0x25, 0x0a, 0x03, 0x61, 0x62, 0x69,
2074	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64,
2075	0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x62, 0x69, 0x52, 0x03, 0x61, 0x62, 0x69,
2076	0x22, 0x76, 0x0a, 0x09, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x3e, 0x0a,
2077	0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x61,
2078	0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x61,
2079	0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x72, 0x2e, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65,
2080	0x72, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x29, 0x0a,
2081	0x0e, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x72, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12,
2082	0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x57, 0x41,
2083	0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x22, 0x5b, 0x0a, 0x0d, 0x44, 0x65, 0x76, 0x69,
2084	0x63, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x65, 0x61,
2085	0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
2086	0x0b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f,
2087	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
2088	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x65,
2089	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xc3, 0x02, 0x0a, 0x18, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73,
2090	0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69,
2091	0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x03, 0x61, 0x62, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
2092	0x1c, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65,
2093	0x2e, 0x41, 0x62, 0x69, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x03, 0x61,
2094	0x62, 0x69, 0x12, 0x47, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x5f, 0x61,
2095	0x70, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f,
2096	0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69,
2097	0x63, 0x73, 0x41, 0x70, 0x69, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b,
2098	0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x41, 0x70, 0x69, 0x12, 0x6f, 0x0a, 0x1a, 0x74,
2099	0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
2100	0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
2101	0x31, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65,
2102	0x2e, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73,
2103	0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69,
2104	0x6e, 0x67, 0x52, 0x18, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72,
2105	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x3d, 0x0a, 0x08,
2106	0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
2107	0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e,
2108	0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e,
2109	0x67, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x18,
2110	0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x54,
2111	0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x03, 0x61, 0x62, 0x69, 0x18,
2112	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e,
2113	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x62, 0x69, 0x52, 0x03, 0x61, 0x62, 0x69, 0x12,
2114	0x3e, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x5f, 0x61, 0x70, 0x69, 0x18,
2115	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e,
2116	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x41,
2117	0x70, 0x69, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x41, 0x70, 0x69, 0x12,
2118	0x66, 0x0a, 0x1a, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72,
2119	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20,
2120	0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75,
2121	0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70,
2122	0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x18, 0x74,
2123	0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
2124	0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x61, 0x6e, 0x69, 0x74,
2125	0x69, 0x7a, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x6e, 0x64,
2126	0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x61, 0x6e, 0x69,
2127	0x74, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x09, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x72,
2128	0x22, 0x54, 0x0a, 0x12, 0x41, 0x70, 0x65, 0x78, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72,
2129	0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f,
2130	0x61, 0x62, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x6e, 0x64, 0x72,
2131	0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69,
2132	0x41, 0x62, 0x69, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x6d, 0x75,
2133	0x6c, 0x74, 0x69, 0x41, 0x62, 0x69, 0x22, 0x72, 0x0a, 0x0c, 0x41, 0x62, 0x69, 0x54, 0x61, 0x72,
2134	0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
2135	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e,
2136	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x62, 0x69, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
2137	0x65, 0x12, 0x37, 0x0a, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65,
2138	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
2139	0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x62, 0x69, 0x52, 0x0c, 0x61, 0x6c,
2140	0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x11, 0x4d,
2141	0x75, 0x6c, 0x74, 0x69, 0x41, 0x62, 0x69, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67,
2142	0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
2143	0x18, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65,
2144	0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x62, 0x69, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
2145	0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73,
2146	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64,
2147	0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x62, 0x69,
2148	0x52, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x22, 0x90,
2149	0x01, 0x0a, 0x16, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79,
2150	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c,
2151	0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f,
2152	0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e,
2153	0x44, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x41,
2154	0x0a, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x02,
2155	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62,
2156	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x65, 0x6e, 0x73,
2157	0x69, 0x74, 0x79, 0x52, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65,
2158	0x73, 0x22, 0x4d, 0x0a, 0x11, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72,
2159	0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
2160	0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0c,
2161	0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
2162	0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73,
2163	0x22, 0x8a, 0x01, 0x0a, 0x14, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x41, 0x70, 0x69,
2164	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c,
2165	0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f,
2166	0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69,
2167	0x63, 0x73, 0x41, 0x70, 0x69, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x0c,
2168	0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
2169	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e,
2170	0x64, 0x6c, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x41, 0x70, 0x69, 0x52,
2171	0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x22, 0x87, 0x01,
2172	0x0a, 0x13, 0x53, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67,
2173	0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01,
2174	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62,
2175	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
2176	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72,
2177	0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
2178	0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53,
2179	0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72,
2180	0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x21, 0x54, 0x65, 0x78, 0x74,
2181	0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6f,
2182	0x72, 0x6d, 0x61, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a,
2183	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61,
2184	0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x65,
2185	0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
2186	0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4c, 0x0a,
2187	0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x02, 0x20,
2188	0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75,
2189	0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x70,
2190	0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0c, 0x61,
2191	0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x22, 0x45, 0x0a, 0x12, 0x53,
2192	0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e,
2193	0x67, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
2194	0x32, 0x19, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c,
2195	0x65, 0x2e, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c,
2196	0x75, 0x65, 0x22, 0x62, 0x0a, 0x16, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x65, 0x61, 0x74,
2197	0x75, 0x72, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x48, 0x0a, 0x10,
2198	0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
2199	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64,
2200	0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x65,
2201	0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46,
2202	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x41, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x6e,
2203	0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5a, 0x2b, 0x61, 0x6e,
2204	0x64, 0x72, 0x6f, 0x69, 0x64, 0x2f, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x2f, 0x63, 0x6d, 0x64, 0x2f,
2205	0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x70, 0x6b, 0x73, 0x2f, 0x62, 0x75, 0x6e,
2206	0x64, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2207	0x33,
2208}
2209
2210var (
2211	file_targeting_proto_rawDescOnce sync.Once
2212	file_targeting_proto_rawDescData = file_targeting_proto_rawDesc
2213)
2214
2215func file_targeting_proto_rawDescGZIP() []byte {
2216	file_targeting_proto_rawDescOnce.Do(func() {
2217		file_targeting_proto_rawDescData = protoimpl.X.CompressGZIP(file_targeting_proto_rawDescData)
2218	})
2219	return file_targeting_proto_rawDescData
2220}
2221
2222var file_targeting_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
2223var file_targeting_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
2224var file_targeting_proto_goTypes = []interface{}{
2225	(ScreenDensity_DensityAlias)(0),                             // 0: android.bundle.ScreenDensity.DensityAlias
2226	(TextureCompressionFormat_TextureCompressionFormatAlias)(0), // 1: android.bundle.TextureCompressionFormat.TextureCompressionFormatAlias
2227	(Abi_AbiAlias)(0),                         // 2: android.bundle.Abi.AbiAlias
2228	(Sanitizer_SanitizerAlias)(0),             // 3: android.bundle.Sanitizer.SanitizerAlias
2229	(*VariantTargeting)(nil),                  // 4: android.bundle.VariantTargeting
2230	(*ApkTargeting)(nil),                      // 5: android.bundle.ApkTargeting
2231	(*ModuleTargeting)(nil),                   // 6: android.bundle.ModuleTargeting
2232	(*UserCountriesTargeting)(nil),            // 7: android.bundle.UserCountriesTargeting
2233	(*ScreenDensity)(nil),                     // 8: android.bundle.ScreenDensity
2234	(*Int32Value)(nil),                        // 9: android.bundle.Int32Value
2235	(*SdkVersion)(nil),                        // 10: android.bundle.SdkVersion
2236	(*GraphicsApi)(nil),                       // 11: android.bundle.GraphicsApi
2237	(*VulkanVersion)(nil),                     // 12: android.bundle.VulkanVersion
2238	(*OpenGlVersion)(nil),                     // 13: android.bundle.OpenGlVersion
2239	(*TextureCompressionFormat)(nil),          // 14: android.bundle.TextureCompressionFormat
2240	(*Abi)(nil),                               // 15: android.bundle.Abi
2241	(*MultiAbi)(nil),                          // 16: android.bundle.MultiAbi
2242	(*Sanitizer)(nil),                         // 17: android.bundle.Sanitizer
2243	(*DeviceFeature)(nil),                     // 18: android.bundle.DeviceFeature
2244	(*AssetsDirectoryTargeting)(nil),          // 19: android.bundle.AssetsDirectoryTargeting
2245	(*NativeDirectoryTargeting)(nil),          // 20: android.bundle.NativeDirectoryTargeting
2246	(*ApexImageTargeting)(nil),                // 21: android.bundle.ApexImageTargeting
2247	(*AbiTargeting)(nil),                      // 22: android.bundle.AbiTargeting
2248	(*MultiAbiTargeting)(nil),                 // 23: android.bundle.MultiAbiTargeting
2249	(*ScreenDensityTargeting)(nil),            // 24: android.bundle.ScreenDensityTargeting
2250	(*LanguageTargeting)(nil),                 // 25: android.bundle.LanguageTargeting
2251	(*GraphicsApiTargeting)(nil),              // 26: android.bundle.GraphicsApiTargeting
2252	(*SdkVersionTargeting)(nil),               // 27: android.bundle.SdkVersionTargeting
2253	(*TextureCompressionFormatTargeting)(nil), // 28: android.bundle.TextureCompressionFormatTargeting
2254	(*SanitizerTargeting)(nil),                // 29: android.bundle.SanitizerTargeting
2255	(*DeviceFeatureTargeting)(nil),            // 30: android.bundle.DeviceFeatureTargeting
2256}
2257var file_targeting_proto_depIdxs = []int32{
2258	27, // 0: android.bundle.VariantTargeting.sdk_version_targeting:type_name -> android.bundle.SdkVersionTargeting
2259	22, // 1: android.bundle.VariantTargeting.abi_targeting:type_name -> android.bundle.AbiTargeting
2260	24, // 2: android.bundle.VariantTargeting.screen_density_targeting:type_name -> android.bundle.ScreenDensityTargeting
2261	23, // 3: android.bundle.VariantTargeting.multi_abi_targeting:type_name -> android.bundle.MultiAbiTargeting
2262	28, // 4: android.bundle.VariantTargeting.texture_compression_format_targeting:type_name -> android.bundle.TextureCompressionFormatTargeting
2263	22, // 5: android.bundle.ApkTargeting.abi_targeting:type_name -> android.bundle.AbiTargeting
2264	26, // 6: android.bundle.ApkTargeting.graphics_api_targeting:type_name -> android.bundle.GraphicsApiTargeting
2265	25, // 7: android.bundle.ApkTargeting.language_targeting:type_name -> android.bundle.LanguageTargeting
2266	24, // 8: android.bundle.ApkTargeting.screen_density_targeting:type_name -> android.bundle.ScreenDensityTargeting
2267	27, // 9: android.bundle.ApkTargeting.sdk_version_targeting:type_name -> android.bundle.SdkVersionTargeting
2268	28, // 10: android.bundle.ApkTargeting.texture_compression_format_targeting:type_name -> android.bundle.TextureCompressionFormatTargeting
2269	23, // 11: android.bundle.ApkTargeting.multi_abi_targeting:type_name -> android.bundle.MultiAbiTargeting
2270	29, // 12: android.bundle.ApkTargeting.sanitizer_targeting:type_name -> android.bundle.SanitizerTargeting
2271	27, // 13: android.bundle.ModuleTargeting.sdk_version_targeting:type_name -> android.bundle.SdkVersionTargeting
2272	30, // 14: android.bundle.ModuleTargeting.device_feature_targeting:type_name -> android.bundle.DeviceFeatureTargeting
2273	7,  // 15: android.bundle.ModuleTargeting.user_countries_targeting:type_name -> android.bundle.UserCountriesTargeting
2274	0,  // 16: android.bundle.ScreenDensity.density_alias:type_name -> android.bundle.ScreenDensity.DensityAlias
2275	9,  // 17: android.bundle.SdkVersion.min:type_name -> android.bundle.Int32Value
2276	13, // 18: android.bundle.GraphicsApi.min_open_gl_version:type_name -> android.bundle.OpenGlVersion
2277	12, // 19: android.bundle.GraphicsApi.min_vulkan_version:type_name -> android.bundle.VulkanVersion
2278	1,  // 20: android.bundle.TextureCompressionFormat.alias:type_name -> android.bundle.TextureCompressionFormat.TextureCompressionFormatAlias
2279	2,  // 21: android.bundle.Abi.alias:type_name -> android.bundle.Abi.AbiAlias
2280	15, // 22: android.bundle.MultiAbi.abi:type_name -> android.bundle.Abi
2281	3,  // 23: android.bundle.Sanitizer.alias:type_name -> android.bundle.Sanitizer.SanitizerAlias
2282	22, // 24: android.bundle.AssetsDirectoryTargeting.abi:type_name -> android.bundle.AbiTargeting
2283	26, // 25: android.bundle.AssetsDirectoryTargeting.graphics_api:type_name -> android.bundle.GraphicsApiTargeting
2284	28, // 26: android.bundle.AssetsDirectoryTargeting.texture_compression_format:type_name -> android.bundle.TextureCompressionFormatTargeting
2285	25, // 27: android.bundle.AssetsDirectoryTargeting.language:type_name -> android.bundle.LanguageTargeting
2286	15, // 28: android.bundle.NativeDirectoryTargeting.abi:type_name -> android.bundle.Abi
2287	11, // 29: android.bundle.NativeDirectoryTargeting.graphics_api:type_name -> android.bundle.GraphicsApi
2288	14, // 30: android.bundle.NativeDirectoryTargeting.texture_compression_format:type_name -> android.bundle.TextureCompressionFormat
2289	17, // 31: android.bundle.NativeDirectoryTargeting.sanitizer:type_name -> android.bundle.Sanitizer
2290	23, // 32: android.bundle.ApexImageTargeting.multi_abi:type_name -> android.bundle.MultiAbiTargeting
2291	15, // 33: android.bundle.AbiTargeting.value:type_name -> android.bundle.Abi
2292	15, // 34: android.bundle.AbiTargeting.alternatives:type_name -> android.bundle.Abi
2293	16, // 35: android.bundle.MultiAbiTargeting.value:type_name -> android.bundle.MultiAbi
2294	16, // 36: android.bundle.MultiAbiTargeting.alternatives:type_name -> android.bundle.MultiAbi
2295	8,  // 37: android.bundle.ScreenDensityTargeting.value:type_name -> android.bundle.ScreenDensity
2296	8,  // 38: android.bundle.ScreenDensityTargeting.alternatives:type_name -> android.bundle.ScreenDensity
2297	11, // 39: android.bundle.GraphicsApiTargeting.value:type_name -> android.bundle.GraphicsApi
2298	11, // 40: android.bundle.GraphicsApiTargeting.alternatives:type_name -> android.bundle.GraphicsApi
2299	10, // 41: android.bundle.SdkVersionTargeting.value:type_name -> android.bundle.SdkVersion
2300	10, // 42: android.bundle.SdkVersionTargeting.alternatives:type_name -> android.bundle.SdkVersion
2301	14, // 43: android.bundle.TextureCompressionFormatTargeting.value:type_name -> android.bundle.TextureCompressionFormat
2302	14, // 44: android.bundle.TextureCompressionFormatTargeting.alternatives:type_name -> android.bundle.TextureCompressionFormat
2303	17, // 45: android.bundle.SanitizerTargeting.value:type_name -> android.bundle.Sanitizer
2304	18, // 46: android.bundle.DeviceFeatureTargeting.required_feature:type_name -> android.bundle.DeviceFeature
2305	47, // [47:47] is the sub-list for method output_type
2306	47, // [47:47] is the sub-list for method input_type
2307	47, // [47:47] is the sub-list for extension type_name
2308	47, // [47:47] is the sub-list for extension extendee
2309	0,  // [0:47] is the sub-list for field type_name
2310}
2311
2312func init() { file_targeting_proto_init() }
2313func file_targeting_proto_init() {
2314	if File_targeting_proto != nil {
2315		return
2316	}
2317	if !protoimpl.UnsafeEnabled {
2318		file_targeting_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2319			switch v := v.(*VariantTargeting); i {
2320			case 0:
2321				return &v.state
2322			case 1:
2323				return &v.sizeCache
2324			case 2:
2325				return &v.unknownFields
2326			default:
2327				return nil
2328			}
2329		}
2330		file_targeting_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2331			switch v := v.(*ApkTargeting); i {
2332			case 0:
2333				return &v.state
2334			case 1:
2335				return &v.sizeCache
2336			case 2:
2337				return &v.unknownFields
2338			default:
2339				return nil
2340			}
2341		}
2342		file_targeting_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2343			switch v := v.(*ModuleTargeting); i {
2344			case 0:
2345				return &v.state
2346			case 1:
2347				return &v.sizeCache
2348			case 2:
2349				return &v.unknownFields
2350			default:
2351				return nil
2352			}
2353		}
2354		file_targeting_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2355			switch v := v.(*UserCountriesTargeting); i {
2356			case 0:
2357				return &v.state
2358			case 1:
2359				return &v.sizeCache
2360			case 2:
2361				return &v.unknownFields
2362			default:
2363				return nil
2364			}
2365		}
2366		file_targeting_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2367			switch v := v.(*ScreenDensity); i {
2368			case 0:
2369				return &v.state
2370			case 1:
2371				return &v.sizeCache
2372			case 2:
2373				return &v.unknownFields
2374			default:
2375				return nil
2376			}
2377		}
2378		file_targeting_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2379			switch v := v.(*Int32Value); i {
2380			case 0:
2381				return &v.state
2382			case 1:
2383				return &v.sizeCache
2384			case 2:
2385				return &v.unknownFields
2386			default:
2387				return nil
2388			}
2389		}
2390		file_targeting_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2391			switch v := v.(*SdkVersion); i {
2392			case 0:
2393				return &v.state
2394			case 1:
2395				return &v.sizeCache
2396			case 2:
2397				return &v.unknownFields
2398			default:
2399				return nil
2400			}
2401		}
2402		file_targeting_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2403			switch v := v.(*GraphicsApi); i {
2404			case 0:
2405				return &v.state
2406			case 1:
2407				return &v.sizeCache
2408			case 2:
2409				return &v.unknownFields
2410			default:
2411				return nil
2412			}
2413		}
2414		file_targeting_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2415			switch v := v.(*VulkanVersion); i {
2416			case 0:
2417				return &v.state
2418			case 1:
2419				return &v.sizeCache
2420			case 2:
2421				return &v.unknownFields
2422			default:
2423				return nil
2424			}
2425		}
2426		file_targeting_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2427			switch v := v.(*OpenGlVersion); i {
2428			case 0:
2429				return &v.state
2430			case 1:
2431				return &v.sizeCache
2432			case 2:
2433				return &v.unknownFields
2434			default:
2435				return nil
2436			}
2437		}
2438		file_targeting_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2439			switch v := v.(*TextureCompressionFormat); i {
2440			case 0:
2441				return &v.state
2442			case 1:
2443				return &v.sizeCache
2444			case 2:
2445				return &v.unknownFields
2446			default:
2447				return nil
2448			}
2449		}
2450		file_targeting_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2451			switch v := v.(*Abi); i {
2452			case 0:
2453				return &v.state
2454			case 1:
2455				return &v.sizeCache
2456			case 2:
2457				return &v.unknownFields
2458			default:
2459				return nil
2460			}
2461		}
2462		file_targeting_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2463			switch v := v.(*MultiAbi); i {
2464			case 0:
2465				return &v.state
2466			case 1:
2467				return &v.sizeCache
2468			case 2:
2469				return &v.unknownFields
2470			default:
2471				return nil
2472			}
2473		}
2474		file_targeting_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2475			switch v := v.(*Sanitizer); i {
2476			case 0:
2477				return &v.state
2478			case 1:
2479				return &v.sizeCache
2480			case 2:
2481				return &v.unknownFields
2482			default:
2483				return nil
2484			}
2485		}
2486		file_targeting_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2487			switch v := v.(*DeviceFeature); i {
2488			case 0:
2489				return &v.state
2490			case 1:
2491				return &v.sizeCache
2492			case 2:
2493				return &v.unknownFields
2494			default:
2495				return nil
2496			}
2497		}
2498		file_targeting_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2499			switch v := v.(*AssetsDirectoryTargeting); i {
2500			case 0:
2501				return &v.state
2502			case 1:
2503				return &v.sizeCache
2504			case 2:
2505				return &v.unknownFields
2506			default:
2507				return nil
2508			}
2509		}
2510		file_targeting_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2511			switch v := v.(*NativeDirectoryTargeting); i {
2512			case 0:
2513				return &v.state
2514			case 1:
2515				return &v.sizeCache
2516			case 2:
2517				return &v.unknownFields
2518			default:
2519				return nil
2520			}
2521		}
2522		file_targeting_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
2523			switch v := v.(*ApexImageTargeting); i {
2524			case 0:
2525				return &v.state
2526			case 1:
2527				return &v.sizeCache
2528			case 2:
2529				return &v.unknownFields
2530			default:
2531				return nil
2532			}
2533		}
2534		file_targeting_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
2535			switch v := v.(*AbiTargeting); i {
2536			case 0:
2537				return &v.state
2538			case 1:
2539				return &v.sizeCache
2540			case 2:
2541				return &v.unknownFields
2542			default:
2543				return nil
2544			}
2545		}
2546		file_targeting_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
2547			switch v := v.(*MultiAbiTargeting); i {
2548			case 0:
2549				return &v.state
2550			case 1:
2551				return &v.sizeCache
2552			case 2:
2553				return &v.unknownFields
2554			default:
2555				return nil
2556			}
2557		}
2558		file_targeting_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
2559			switch v := v.(*ScreenDensityTargeting); i {
2560			case 0:
2561				return &v.state
2562			case 1:
2563				return &v.sizeCache
2564			case 2:
2565				return &v.unknownFields
2566			default:
2567				return nil
2568			}
2569		}
2570		file_targeting_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
2571			switch v := v.(*LanguageTargeting); i {
2572			case 0:
2573				return &v.state
2574			case 1:
2575				return &v.sizeCache
2576			case 2:
2577				return &v.unknownFields
2578			default:
2579				return nil
2580			}
2581		}
2582		file_targeting_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
2583			switch v := v.(*GraphicsApiTargeting); i {
2584			case 0:
2585				return &v.state
2586			case 1:
2587				return &v.sizeCache
2588			case 2:
2589				return &v.unknownFields
2590			default:
2591				return nil
2592			}
2593		}
2594		file_targeting_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
2595			switch v := v.(*SdkVersionTargeting); i {
2596			case 0:
2597				return &v.state
2598			case 1:
2599				return &v.sizeCache
2600			case 2:
2601				return &v.unknownFields
2602			default:
2603				return nil
2604			}
2605		}
2606		file_targeting_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
2607			switch v := v.(*TextureCompressionFormatTargeting); i {
2608			case 0:
2609				return &v.state
2610			case 1:
2611				return &v.sizeCache
2612			case 2:
2613				return &v.unknownFields
2614			default:
2615				return nil
2616			}
2617		}
2618		file_targeting_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
2619			switch v := v.(*SanitizerTargeting); i {
2620			case 0:
2621				return &v.state
2622			case 1:
2623				return &v.sizeCache
2624			case 2:
2625				return &v.unknownFields
2626			default:
2627				return nil
2628			}
2629		}
2630		file_targeting_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
2631			switch v := v.(*DeviceFeatureTargeting); i {
2632			case 0:
2633				return &v.state
2634			case 1:
2635				return &v.sizeCache
2636			case 2:
2637				return &v.unknownFields
2638			default:
2639				return nil
2640			}
2641		}
2642	}
2643	file_targeting_proto_msgTypes[4].OneofWrappers = []interface{}{
2644		(*ScreenDensity_DensityAlias_)(nil),
2645		(*ScreenDensity_DensityDpi)(nil),
2646	}
2647	file_targeting_proto_msgTypes[7].OneofWrappers = []interface{}{
2648		(*GraphicsApi_MinOpenGlVersion)(nil),
2649		(*GraphicsApi_MinVulkanVersion)(nil),
2650	}
2651	type x struct{}
2652	out := protoimpl.TypeBuilder{
2653		File: protoimpl.DescBuilder{
2654			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2655			RawDescriptor: file_targeting_proto_rawDesc,
2656			NumEnums:      4,
2657			NumMessages:   27,
2658			NumExtensions: 0,
2659			NumServices:   0,
2660		},
2661		GoTypes:           file_targeting_proto_goTypes,
2662		DependencyIndexes: file_targeting_proto_depIdxs,
2663		EnumInfos:         file_targeting_proto_enumTypes,
2664		MessageInfos:      file_targeting_proto_msgTypes,
2665	}.Build()
2666	File_targeting_proto = out.File
2667	file_targeting_proto_rawDesc = nil
2668	file_targeting_proto_goTypes = nil
2669	file_targeting_proto_depIdxs = nil
2670}
2671