1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/ads/googleads/v3/resources/ad_group_criterion.proto
3
4package resources
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	wrappers "github.com/golang/protobuf/ptypes/wrappers"
12	common "google.golang.org/genproto/googleapis/ads/googleads/v3/common"
13	enums "google.golang.org/genproto/googleapis/ads/googleads/v3/enums"
14	_ "google.golang.org/genproto/googleapis/api/annotations"
15)
16
17// Reference imports to suppress errors if they are not otherwise used.
18var _ = proto.Marshal
19var _ = fmt.Errorf
20var _ = math.Inf
21
22// This is a compile-time assertion to ensure that this generated file
23// is compatible with the proto package it is being compiled against.
24// A compilation error at this line likely means your copy of the
25// proto package needs to be updated.
26const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
27
28// An ad group criterion.
29type AdGroupCriterion struct {
30	// Immutable. The resource name of the ad group criterion.
31	// Ad group criterion resource names have the form:
32	//
33	// `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
34	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
35	// Output only. The ID of the criterion.
36	//
37	// This field is ignored for mutates.
38	CriterionId *wrappers.Int64Value `protobuf:"bytes,26,opt,name=criterion_id,json=criterionId,proto3" json:"criterion_id,omitempty"`
39	// The status of the criterion.
40	Status enums.AdGroupCriterionStatusEnum_AdGroupCriterionStatus `protobuf:"varint,3,opt,name=status,proto3,enum=google.ads.googleads.v3.enums.AdGroupCriterionStatusEnum_AdGroupCriterionStatus" json:"status,omitempty"`
41	// Output only. Information regarding the quality of the criterion.
42	QualityInfo *AdGroupCriterion_QualityInfo `protobuf:"bytes,4,opt,name=quality_info,json=qualityInfo,proto3" json:"quality_info,omitempty"`
43	// Immutable. The ad group to which the criterion belongs.
44	AdGroup *wrappers.StringValue `protobuf:"bytes,5,opt,name=ad_group,json=adGroup,proto3" json:"ad_group,omitempty"`
45	// Output only. The type of the criterion.
46	Type enums.CriterionTypeEnum_CriterionType `protobuf:"varint,25,opt,name=type,proto3,enum=google.ads.googleads.v3.enums.CriterionTypeEnum_CriterionType" json:"type,omitempty"`
47	// Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
48	//
49	// This field is immutable. To switch a criterion from positive to negative,
50	// remove then re-add it.
51	Negative *wrappers.BoolValue `protobuf:"bytes,31,opt,name=negative,proto3" json:"negative,omitempty"`
52	// Output only. Serving status of the criterion.
53	SystemServingStatus enums.CriterionSystemServingStatusEnum_CriterionSystemServingStatus `protobuf:"varint,52,opt,name=system_serving_status,json=systemServingStatus,proto3,enum=google.ads.googleads.v3.enums.CriterionSystemServingStatusEnum_CriterionSystemServingStatus" json:"system_serving_status,omitempty"`
54	// Output only. Approval status of the criterion.
55	ApprovalStatus enums.AdGroupCriterionApprovalStatusEnum_AdGroupCriterionApprovalStatus `protobuf:"varint,53,opt,name=approval_status,json=approvalStatus,proto3,enum=google.ads.googleads.v3.enums.AdGroupCriterionApprovalStatusEnum_AdGroupCriterionApprovalStatus" json:"approval_status,omitempty"`
56	// The modifier for the bid when the criterion matches. The modifier must be
57	// in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
58	BidModifier *wrappers.DoubleValue `protobuf:"bytes,44,opt,name=bid_modifier,json=bidModifier,proto3" json:"bid_modifier,omitempty"`
59	// The CPC (cost-per-click) bid.
60	CpcBidMicros *wrappers.Int64Value `protobuf:"bytes,16,opt,name=cpc_bid_micros,json=cpcBidMicros,proto3" json:"cpc_bid_micros,omitempty"`
61	// The CPM (cost-per-thousand viewable impressions) bid.
62	CpmBidMicros *wrappers.Int64Value `protobuf:"bytes,17,opt,name=cpm_bid_micros,json=cpmBidMicros,proto3" json:"cpm_bid_micros,omitempty"`
63	// The CPV (cost-per-view) bid.
64	CpvBidMicros *wrappers.Int64Value `protobuf:"bytes,24,opt,name=cpv_bid_micros,json=cpvBidMicros,proto3" json:"cpv_bid_micros,omitempty"`
65	// The CPC bid amount, expressed as a fraction of the advertised price
66	// for some good or service. The valid range for the fraction is [0,1) and the
67	// value stored here is 1,000,000 * [fraction].
68	PercentCpcBidMicros *wrappers.Int64Value `protobuf:"bytes,33,opt,name=percent_cpc_bid_micros,json=percentCpcBidMicros,proto3" json:"percent_cpc_bid_micros,omitempty"`
69	// Output only. The effective CPC (cost-per-click) bid.
70	EffectiveCpcBidMicros *wrappers.Int64Value `protobuf:"bytes,18,opt,name=effective_cpc_bid_micros,json=effectiveCpcBidMicros,proto3" json:"effective_cpc_bid_micros,omitempty"`
71	// Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
72	EffectiveCpmBidMicros *wrappers.Int64Value `protobuf:"bytes,19,opt,name=effective_cpm_bid_micros,json=effectiveCpmBidMicros,proto3" json:"effective_cpm_bid_micros,omitempty"`
73	// Output only. The effective CPV (cost-per-view) bid.
74	EffectiveCpvBidMicros *wrappers.Int64Value `protobuf:"bytes,20,opt,name=effective_cpv_bid_micros,json=effectiveCpvBidMicros,proto3" json:"effective_cpv_bid_micros,omitempty"`
75	// Output only. The effective Percent CPC bid amount.
76	EffectivePercentCpcBidMicros *wrappers.Int64Value `protobuf:"bytes,34,opt,name=effective_percent_cpc_bid_micros,json=effectivePercentCpcBidMicros,proto3" json:"effective_percent_cpc_bid_micros,omitempty"`
77	// Output only. Source of the effective CPC bid.
78	EffectiveCpcBidSource enums.BiddingSourceEnum_BiddingSource `protobuf:"varint,21,opt,name=effective_cpc_bid_source,json=effectiveCpcBidSource,proto3,enum=google.ads.googleads.v3.enums.BiddingSourceEnum_BiddingSource" json:"effective_cpc_bid_source,omitempty"`
79	// Output only. Source of the effective CPM bid.
80	EffectiveCpmBidSource enums.BiddingSourceEnum_BiddingSource `protobuf:"varint,22,opt,name=effective_cpm_bid_source,json=effectiveCpmBidSource,proto3,enum=google.ads.googleads.v3.enums.BiddingSourceEnum_BiddingSource" json:"effective_cpm_bid_source,omitempty"`
81	// Output only. Source of the effective CPV bid.
82	EffectiveCpvBidSource enums.BiddingSourceEnum_BiddingSource `protobuf:"varint,23,opt,name=effective_cpv_bid_source,json=effectiveCpvBidSource,proto3,enum=google.ads.googleads.v3.enums.BiddingSourceEnum_BiddingSource" json:"effective_cpv_bid_source,omitempty"`
83	// Output only. Source of the effective Percent CPC bid.
84	EffectivePercentCpcBidSource enums.BiddingSourceEnum_BiddingSource `protobuf:"varint,35,opt,name=effective_percent_cpc_bid_source,json=effectivePercentCpcBidSource,proto3,enum=google.ads.googleads.v3.enums.BiddingSourceEnum_BiddingSource" json:"effective_percent_cpc_bid_source,omitempty"`
85	// Output only. Estimates for criterion bids at various positions.
86	PositionEstimates *AdGroupCriterion_PositionEstimates `protobuf:"bytes,10,opt,name=position_estimates,json=positionEstimates,proto3" json:"position_estimates,omitempty"`
87	// The list of possible final URLs after all cross-domain redirects for the
88	// ad.
89	FinalUrls []*wrappers.StringValue `protobuf:"bytes,11,rep,name=final_urls,json=finalUrls,proto3" json:"final_urls,omitempty"`
90	// The list of possible final mobile URLs after all cross-domain redirects.
91	FinalMobileUrls []*wrappers.StringValue `protobuf:"bytes,51,rep,name=final_mobile_urls,json=finalMobileUrls,proto3" json:"final_mobile_urls,omitempty"`
92	// URL template for appending params to final URL.
93	FinalUrlSuffix *wrappers.StringValue `protobuf:"bytes,50,opt,name=final_url_suffix,json=finalUrlSuffix,proto3" json:"final_url_suffix,omitempty"`
94	// The URL template for constructing a tracking URL.
95	TrackingUrlTemplate *wrappers.StringValue `protobuf:"bytes,13,opt,name=tracking_url_template,json=trackingUrlTemplate,proto3" json:"tracking_url_template,omitempty"`
96	// The list of mappings used to substitute custom parameter tags in a
97	// `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
98	UrlCustomParameters []*common.CustomParameter `protobuf:"bytes,14,rep,name=url_custom_parameters,json=urlCustomParameters,proto3" json:"url_custom_parameters,omitempty"`
99	// The ad group criterion.
100	//
101	// Exactly one must be set.
102	//
103	// Types that are valid to be assigned to Criterion:
104	//	*AdGroupCriterion_Keyword
105	//	*AdGroupCriterion_Placement
106	//	*AdGroupCriterion_MobileAppCategory
107	//	*AdGroupCriterion_MobileApplication
108	//	*AdGroupCriterion_ListingGroup
109	//	*AdGroupCriterion_AgeRange
110	//	*AdGroupCriterion_Gender
111	//	*AdGroupCriterion_IncomeRange
112	//	*AdGroupCriterion_ParentalStatus
113	//	*AdGroupCriterion_UserList
114	//	*AdGroupCriterion_YoutubeVideo
115	//	*AdGroupCriterion_YoutubeChannel
116	//	*AdGroupCriterion_Topic
117	//	*AdGroupCriterion_UserInterest
118	//	*AdGroupCriterion_Webpage
119	//	*AdGroupCriterion_AppPaymentModel
120	//	*AdGroupCriterion_CustomAffinity
121	//	*AdGroupCriterion_CustomIntent
122	Criterion            isAdGroupCriterion_Criterion `protobuf_oneof:"criterion"`
123	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
124	XXX_unrecognized     []byte                       `json:"-"`
125	XXX_sizecache        int32                        `json:"-"`
126}
127
128func (m *AdGroupCriterion) Reset()         { *m = AdGroupCriterion{} }
129func (m *AdGroupCriterion) String() string { return proto.CompactTextString(m) }
130func (*AdGroupCriterion) ProtoMessage()    {}
131func (*AdGroupCriterion) Descriptor() ([]byte, []int) {
132	return fileDescriptor_dbeea8b4a62ffe2f, []int{0}
133}
134
135func (m *AdGroupCriterion) XXX_Unmarshal(b []byte) error {
136	return xxx_messageInfo_AdGroupCriterion.Unmarshal(m, b)
137}
138func (m *AdGroupCriterion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
139	return xxx_messageInfo_AdGroupCriterion.Marshal(b, m, deterministic)
140}
141func (m *AdGroupCriterion) XXX_Merge(src proto.Message) {
142	xxx_messageInfo_AdGroupCriterion.Merge(m, src)
143}
144func (m *AdGroupCriterion) XXX_Size() int {
145	return xxx_messageInfo_AdGroupCriterion.Size(m)
146}
147func (m *AdGroupCriterion) XXX_DiscardUnknown() {
148	xxx_messageInfo_AdGroupCriterion.DiscardUnknown(m)
149}
150
151var xxx_messageInfo_AdGroupCriterion proto.InternalMessageInfo
152
153func (m *AdGroupCriterion) GetResourceName() string {
154	if m != nil {
155		return m.ResourceName
156	}
157	return ""
158}
159
160func (m *AdGroupCriterion) GetCriterionId() *wrappers.Int64Value {
161	if m != nil {
162		return m.CriterionId
163	}
164	return nil
165}
166
167func (m *AdGroupCriterion) GetStatus() enums.AdGroupCriterionStatusEnum_AdGroupCriterionStatus {
168	if m != nil {
169		return m.Status
170	}
171	return enums.AdGroupCriterionStatusEnum_UNSPECIFIED
172}
173
174func (m *AdGroupCriterion) GetQualityInfo() *AdGroupCriterion_QualityInfo {
175	if m != nil {
176		return m.QualityInfo
177	}
178	return nil
179}
180
181func (m *AdGroupCriterion) GetAdGroup() *wrappers.StringValue {
182	if m != nil {
183		return m.AdGroup
184	}
185	return nil
186}
187
188func (m *AdGroupCriterion) GetType() enums.CriterionTypeEnum_CriterionType {
189	if m != nil {
190		return m.Type
191	}
192	return enums.CriterionTypeEnum_UNSPECIFIED
193}
194
195func (m *AdGroupCriterion) GetNegative() *wrappers.BoolValue {
196	if m != nil {
197		return m.Negative
198	}
199	return nil
200}
201
202func (m *AdGroupCriterion) GetSystemServingStatus() enums.CriterionSystemServingStatusEnum_CriterionSystemServingStatus {
203	if m != nil {
204		return m.SystemServingStatus
205	}
206	return enums.CriterionSystemServingStatusEnum_UNSPECIFIED
207}
208
209func (m *AdGroupCriterion) GetApprovalStatus() enums.AdGroupCriterionApprovalStatusEnum_AdGroupCriterionApprovalStatus {
210	if m != nil {
211		return m.ApprovalStatus
212	}
213	return enums.AdGroupCriterionApprovalStatusEnum_UNSPECIFIED
214}
215
216func (m *AdGroupCriterion) GetBidModifier() *wrappers.DoubleValue {
217	if m != nil {
218		return m.BidModifier
219	}
220	return nil
221}
222
223func (m *AdGroupCriterion) GetCpcBidMicros() *wrappers.Int64Value {
224	if m != nil {
225		return m.CpcBidMicros
226	}
227	return nil
228}
229
230func (m *AdGroupCriterion) GetCpmBidMicros() *wrappers.Int64Value {
231	if m != nil {
232		return m.CpmBidMicros
233	}
234	return nil
235}
236
237func (m *AdGroupCriterion) GetCpvBidMicros() *wrappers.Int64Value {
238	if m != nil {
239		return m.CpvBidMicros
240	}
241	return nil
242}
243
244func (m *AdGroupCriterion) GetPercentCpcBidMicros() *wrappers.Int64Value {
245	if m != nil {
246		return m.PercentCpcBidMicros
247	}
248	return nil
249}
250
251func (m *AdGroupCriterion) GetEffectiveCpcBidMicros() *wrappers.Int64Value {
252	if m != nil {
253		return m.EffectiveCpcBidMicros
254	}
255	return nil
256}
257
258func (m *AdGroupCriterion) GetEffectiveCpmBidMicros() *wrappers.Int64Value {
259	if m != nil {
260		return m.EffectiveCpmBidMicros
261	}
262	return nil
263}
264
265func (m *AdGroupCriterion) GetEffectiveCpvBidMicros() *wrappers.Int64Value {
266	if m != nil {
267		return m.EffectiveCpvBidMicros
268	}
269	return nil
270}
271
272func (m *AdGroupCriterion) GetEffectivePercentCpcBidMicros() *wrappers.Int64Value {
273	if m != nil {
274		return m.EffectivePercentCpcBidMicros
275	}
276	return nil
277}
278
279func (m *AdGroupCriterion) GetEffectiveCpcBidSource() enums.BiddingSourceEnum_BiddingSource {
280	if m != nil {
281		return m.EffectiveCpcBidSource
282	}
283	return enums.BiddingSourceEnum_UNSPECIFIED
284}
285
286func (m *AdGroupCriterion) GetEffectiveCpmBidSource() enums.BiddingSourceEnum_BiddingSource {
287	if m != nil {
288		return m.EffectiveCpmBidSource
289	}
290	return enums.BiddingSourceEnum_UNSPECIFIED
291}
292
293func (m *AdGroupCriterion) GetEffectiveCpvBidSource() enums.BiddingSourceEnum_BiddingSource {
294	if m != nil {
295		return m.EffectiveCpvBidSource
296	}
297	return enums.BiddingSourceEnum_UNSPECIFIED
298}
299
300func (m *AdGroupCriterion) GetEffectivePercentCpcBidSource() enums.BiddingSourceEnum_BiddingSource {
301	if m != nil {
302		return m.EffectivePercentCpcBidSource
303	}
304	return enums.BiddingSourceEnum_UNSPECIFIED
305}
306
307func (m *AdGroupCriterion) GetPositionEstimates() *AdGroupCriterion_PositionEstimates {
308	if m != nil {
309		return m.PositionEstimates
310	}
311	return nil
312}
313
314func (m *AdGroupCriterion) GetFinalUrls() []*wrappers.StringValue {
315	if m != nil {
316		return m.FinalUrls
317	}
318	return nil
319}
320
321func (m *AdGroupCriterion) GetFinalMobileUrls() []*wrappers.StringValue {
322	if m != nil {
323		return m.FinalMobileUrls
324	}
325	return nil
326}
327
328func (m *AdGroupCriterion) GetFinalUrlSuffix() *wrappers.StringValue {
329	if m != nil {
330		return m.FinalUrlSuffix
331	}
332	return nil
333}
334
335func (m *AdGroupCriterion) GetTrackingUrlTemplate() *wrappers.StringValue {
336	if m != nil {
337		return m.TrackingUrlTemplate
338	}
339	return nil
340}
341
342func (m *AdGroupCriterion) GetUrlCustomParameters() []*common.CustomParameter {
343	if m != nil {
344		return m.UrlCustomParameters
345	}
346	return nil
347}
348
349type isAdGroupCriterion_Criterion interface {
350	isAdGroupCriterion_Criterion()
351}
352
353type AdGroupCriterion_Keyword struct {
354	Keyword *common.KeywordInfo `protobuf:"bytes,27,opt,name=keyword,proto3,oneof"`
355}
356
357type AdGroupCriterion_Placement struct {
358	Placement *common.PlacementInfo `protobuf:"bytes,28,opt,name=placement,proto3,oneof"`
359}
360
361type AdGroupCriterion_MobileAppCategory struct {
362	MobileAppCategory *common.MobileAppCategoryInfo `protobuf:"bytes,29,opt,name=mobile_app_category,json=mobileAppCategory,proto3,oneof"`
363}
364
365type AdGroupCriterion_MobileApplication struct {
366	MobileApplication *common.MobileApplicationInfo `protobuf:"bytes,30,opt,name=mobile_application,json=mobileApplication,proto3,oneof"`
367}
368
369type AdGroupCriterion_ListingGroup struct {
370	ListingGroup *common.ListingGroupInfo `protobuf:"bytes,32,opt,name=listing_group,json=listingGroup,proto3,oneof"`
371}
372
373type AdGroupCriterion_AgeRange struct {
374	AgeRange *common.AgeRangeInfo `protobuf:"bytes,36,opt,name=age_range,json=ageRange,proto3,oneof"`
375}
376
377type AdGroupCriterion_Gender struct {
378	Gender *common.GenderInfo `protobuf:"bytes,37,opt,name=gender,proto3,oneof"`
379}
380
381type AdGroupCriterion_IncomeRange struct {
382	IncomeRange *common.IncomeRangeInfo `protobuf:"bytes,38,opt,name=income_range,json=incomeRange,proto3,oneof"`
383}
384
385type AdGroupCriterion_ParentalStatus struct {
386	ParentalStatus *common.ParentalStatusInfo `protobuf:"bytes,39,opt,name=parental_status,json=parentalStatus,proto3,oneof"`
387}
388
389type AdGroupCriterion_UserList struct {
390	UserList *common.UserListInfo `protobuf:"bytes,42,opt,name=user_list,json=userList,proto3,oneof"`
391}
392
393type AdGroupCriterion_YoutubeVideo struct {
394	YoutubeVideo *common.YouTubeVideoInfo `protobuf:"bytes,40,opt,name=youtube_video,json=youtubeVideo,proto3,oneof"`
395}
396
397type AdGroupCriterion_YoutubeChannel struct {
398	YoutubeChannel *common.YouTubeChannelInfo `protobuf:"bytes,41,opt,name=youtube_channel,json=youtubeChannel,proto3,oneof"`
399}
400
401type AdGroupCriterion_Topic struct {
402	Topic *common.TopicInfo `protobuf:"bytes,43,opt,name=topic,proto3,oneof"`
403}
404
405type AdGroupCriterion_UserInterest struct {
406	UserInterest *common.UserInterestInfo `protobuf:"bytes,45,opt,name=user_interest,json=userInterest,proto3,oneof"`
407}
408
409type AdGroupCriterion_Webpage struct {
410	Webpage *common.WebpageInfo `protobuf:"bytes,46,opt,name=webpage,proto3,oneof"`
411}
412
413type AdGroupCriterion_AppPaymentModel struct {
414	AppPaymentModel *common.AppPaymentModelInfo `protobuf:"bytes,47,opt,name=app_payment_model,json=appPaymentModel,proto3,oneof"`
415}
416
417type AdGroupCriterion_CustomAffinity struct {
418	CustomAffinity *common.CustomAffinityInfo `protobuf:"bytes,48,opt,name=custom_affinity,json=customAffinity,proto3,oneof"`
419}
420
421type AdGroupCriterion_CustomIntent struct {
422	CustomIntent *common.CustomIntentInfo `protobuf:"bytes,49,opt,name=custom_intent,json=customIntent,proto3,oneof"`
423}
424
425func (*AdGroupCriterion_Keyword) isAdGroupCriterion_Criterion() {}
426
427func (*AdGroupCriterion_Placement) isAdGroupCriterion_Criterion() {}
428
429func (*AdGroupCriterion_MobileAppCategory) isAdGroupCriterion_Criterion() {}
430
431func (*AdGroupCriterion_MobileApplication) isAdGroupCriterion_Criterion() {}
432
433func (*AdGroupCriterion_ListingGroup) isAdGroupCriterion_Criterion() {}
434
435func (*AdGroupCriterion_AgeRange) isAdGroupCriterion_Criterion() {}
436
437func (*AdGroupCriterion_Gender) isAdGroupCriterion_Criterion() {}
438
439func (*AdGroupCriterion_IncomeRange) isAdGroupCriterion_Criterion() {}
440
441func (*AdGroupCriterion_ParentalStatus) isAdGroupCriterion_Criterion() {}
442
443func (*AdGroupCriterion_UserList) isAdGroupCriterion_Criterion() {}
444
445func (*AdGroupCriterion_YoutubeVideo) isAdGroupCriterion_Criterion() {}
446
447func (*AdGroupCriterion_YoutubeChannel) isAdGroupCriterion_Criterion() {}
448
449func (*AdGroupCriterion_Topic) isAdGroupCriterion_Criterion() {}
450
451func (*AdGroupCriterion_UserInterest) isAdGroupCriterion_Criterion() {}
452
453func (*AdGroupCriterion_Webpage) isAdGroupCriterion_Criterion() {}
454
455func (*AdGroupCriterion_AppPaymentModel) isAdGroupCriterion_Criterion() {}
456
457func (*AdGroupCriterion_CustomAffinity) isAdGroupCriterion_Criterion() {}
458
459func (*AdGroupCriterion_CustomIntent) isAdGroupCriterion_Criterion() {}
460
461func (m *AdGroupCriterion) GetCriterion() isAdGroupCriterion_Criterion {
462	if m != nil {
463		return m.Criterion
464	}
465	return nil
466}
467
468func (m *AdGroupCriterion) GetKeyword() *common.KeywordInfo {
469	if x, ok := m.GetCriterion().(*AdGroupCriterion_Keyword); ok {
470		return x.Keyword
471	}
472	return nil
473}
474
475func (m *AdGroupCriterion) GetPlacement() *common.PlacementInfo {
476	if x, ok := m.GetCriterion().(*AdGroupCriterion_Placement); ok {
477		return x.Placement
478	}
479	return nil
480}
481
482func (m *AdGroupCriterion) GetMobileAppCategory() *common.MobileAppCategoryInfo {
483	if x, ok := m.GetCriterion().(*AdGroupCriterion_MobileAppCategory); ok {
484		return x.MobileAppCategory
485	}
486	return nil
487}
488
489func (m *AdGroupCriterion) GetMobileApplication() *common.MobileApplicationInfo {
490	if x, ok := m.GetCriterion().(*AdGroupCriterion_MobileApplication); ok {
491		return x.MobileApplication
492	}
493	return nil
494}
495
496func (m *AdGroupCriterion) GetListingGroup() *common.ListingGroupInfo {
497	if x, ok := m.GetCriterion().(*AdGroupCriterion_ListingGroup); ok {
498		return x.ListingGroup
499	}
500	return nil
501}
502
503func (m *AdGroupCriterion) GetAgeRange() *common.AgeRangeInfo {
504	if x, ok := m.GetCriterion().(*AdGroupCriterion_AgeRange); ok {
505		return x.AgeRange
506	}
507	return nil
508}
509
510func (m *AdGroupCriterion) GetGender() *common.GenderInfo {
511	if x, ok := m.GetCriterion().(*AdGroupCriterion_Gender); ok {
512		return x.Gender
513	}
514	return nil
515}
516
517func (m *AdGroupCriterion) GetIncomeRange() *common.IncomeRangeInfo {
518	if x, ok := m.GetCriterion().(*AdGroupCriterion_IncomeRange); ok {
519		return x.IncomeRange
520	}
521	return nil
522}
523
524func (m *AdGroupCriterion) GetParentalStatus() *common.ParentalStatusInfo {
525	if x, ok := m.GetCriterion().(*AdGroupCriterion_ParentalStatus); ok {
526		return x.ParentalStatus
527	}
528	return nil
529}
530
531func (m *AdGroupCriterion) GetUserList() *common.UserListInfo {
532	if x, ok := m.GetCriterion().(*AdGroupCriterion_UserList); ok {
533		return x.UserList
534	}
535	return nil
536}
537
538func (m *AdGroupCriterion) GetYoutubeVideo() *common.YouTubeVideoInfo {
539	if x, ok := m.GetCriterion().(*AdGroupCriterion_YoutubeVideo); ok {
540		return x.YoutubeVideo
541	}
542	return nil
543}
544
545func (m *AdGroupCriterion) GetYoutubeChannel() *common.YouTubeChannelInfo {
546	if x, ok := m.GetCriterion().(*AdGroupCriterion_YoutubeChannel); ok {
547		return x.YoutubeChannel
548	}
549	return nil
550}
551
552func (m *AdGroupCriterion) GetTopic() *common.TopicInfo {
553	if x, ok := m.GetCriterion().(*AdGroupCriterion_Topic); ok {
554		return x.Topic
555	}
556	return nil
557}
558
559func (m *AdGroupCriterion) GetUserInterest() *common.UserInterestInfo {
560	if x, ok := m.GetCriterion().(*AdGroupCriterion_UserInterest); ok {
561		return x.UserInterest
562	}
563	return nil
564}
565
566func (m *AdGroupCriterion) GetWebpage() *common.WebpageInfo {
567	if x, ok := m.GetCriterion().(*AdGroupCriterion_Webpage); ok {
568		return x.Webpage
569	}
570	return nil
571}
572
573func (m *AdGroupCriterion) GetAppPaymentModel() *common.AppPaymentModelInfo {
574	if x, ok := m.GetCriterion().(*AdGroupCriterion_AppPaymentModel); ok {
575		return x.AppPaymentModel
576	}
577	return nil
578}
579
580func (m *AdGroupCriterion) GetCustomAffinity() *common.CustomAffinityInfo {
581	if x, ok := m.GetCriterion().(*AdGroupCriterion_CustomAffinity); ok {
582		return x.CustomAffinity
583	}
584	return nil
585}
586
587func (m *AdGroupCriterion) GetCustomIntent() *common.CustomIntentInfo {
588	if x, ok := m.GetCriterion().(*AdGroupCriterion_CustomIntent); ok {
589		return x.CustomIntent
590	}
591	return nil
592}
593
594// XXX_OneofWrappers is for the internal use of the proto package.
595func (*AdGroupCriterion) XXX_OneofWrappers() []interface{} {
596	return []interface{}{
597		(*AdGroupCriterion_Keyword)(nil),
598		(*AdGroupCriterion_Placement)(nil),
599		(*AdGroupCriterion_MobileAppCategory)(nil),
600		(*AdGroupCriterion_MobileApplication)(nil),
601		(*AdGroupCriterion_ListingGroup)(nil),
602		(*AdGroupCriterion_AgeRange)(nil),
603		(*AdGroupCriterion_Gender)(nil),
604		(*AdGroupCriterion_IncomeRange)(nil),
605		(*AdGroupCriterion_ParentalStatus)(nil),
606		(*AdGroupCriterion_UserList)(nil),
607		(*AdGroupCriterion_YoutubeVideo)(nil),
608		(*AdGroupCriterion_YoutubeChannel)(nil),
609		(*AdGroupCriterion_Topic)(nil),
610		(*AdGroupCriterion_UserInterest)(nil),
611		(*AdGroupCriterion_Webpage)(nil),
612		(*AdGroupCriterion_AppPaymentModel)(nil),
613		(*AdGroupCriterion_CustomAffinity)(nil),
614		(*AdGroupCriterion_CustomIntent)(nil),
615	}
616}
617
618// A container for ad group criterion quality information.
619type AdGroupCriterion_QualityInfo struct {
620	// Output only. The quality score.
621	//
622	// This field may not be populated if Google does not have enough
623	// information to determine a value.
624	QualityScore *wrappers.Int32Value `protobuf:"bytes,1,opt,name=quality_score,json=qualityScore,proto3" json:"quality_score,omitempty"`
625	// Output only. The performance of the ad compared to other advertisers.
626	CreativeQualityScore enums.QualityScoreBucketEnum_QualityScoreBucket `protobuf:"varint,2,opt,name=creative_quality_score,json=creativeQualityScore,proto3,enum=google.ads.googleads.v3.enums.QualityScoreBucketEnum_QualityScoreBucket" json:"creative_quality_score,omitempty"`
627	// Output only. The quality score of the landing page.
628	PostClickQualityScore enums.QualityScoreBucketEnum_QualityScoreBucket `protobuf:"varint,3,opt,name=post_click_quality_score,json=postClickQualityScore,proto3,enum=google.ads.googleads.v3.enums.QualityScoreBucketEnum_QualityScoreBucket" json:"post_click_quality_score,omitempty"`
629	// Output only. The click-through rate compared to that of other advertisers.
630	SearchPredictedCtr   enums.QualityScoreBucketEnum_QualityScoreBucket `protobuf:"varint,4,opt,name=search_predicted_ctr,json=searchPredictedCtr,proto3,enum=google.ads.googleads.v3.enums.QualityScoreBucketEnum_QualityScoreBucket" json:"search_predicted_ctr,omitempty"`
631	XXX_NoUnkeyedLiteral struct{}                                        `json:"-"`
632	XXX_unrecognized     []byte                                          `json:"-"`
633	XXX_sizecache        int32                                           `json:"-"`
634}
635
636func (m *AdGroupCriterion_QualityInfo) Reset()         { *m = AdGroupCriterion_QualityInfo{} }
637func (m *AdGroupCriterion_QualityInfo) String() string { return proto.CompactTextString(m) }
638func (*AdGroupCriterion_QualityInfo) ProtoMessage()    {}
639func (*AdGroupCriterion_QualityInfo) Descriptor() ([]byte, []int) {
640	return fileDescriptor_dbeea8b4a62ffe2f, []int{0, 0}
641}
642
643func (m *AdGroupCriterion_QualityInfo) XXX_Unmarshal(b []byte) error {
644	return xxx_messageInfo_AdGroupCriterion_QualityInfo.Unmarshal(m, b)
645}
646func (m *AdGroupCriterion_QualityInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
647	return xxx_messageInfo_AdGroupCriterion_QualityInfo.Marshal(b, m, deterministic)
648}
649func (m *AdGroupCriterion_QualityInfo) XXX_Merge(src proto.Message) {
650	xxx_messageInfo_AdGroupCriterion_QualityInfo.Merge(m, src)
651}
652func (m *AdGroupCriterion_QualityInfo) XXX_Size() int {
653	return xxx_messageInfo_AdGroupCriterion_QualityInfo.Size(m)
654}
655func (m *AdGroupCriterion_QualityInfo) XXX_DiscardUnknown() {
656	xxx_messageInfo_AdGroupCriterion_QualityInfo.DiscardUnknown(m)
657}
658
659var xxx_messageInfo_AdGroupCriterion_QualityInfo proto.InternalMessageInfo
660
661func (m *AdGroupCriterion_QualityInfo) GetQualityScore() *wrappers.Int32Value {
662	if m != nil {
663		return m.QualityScore
664	}
665	return nil
666}
667
668func (m *AdGroupCriterion_QualityInfo) GetCreativeQualityScore() enums.QualityScoreBucketEnum_QualityScoreBucket {
669	if m != nil {
670		return m.CreativeQualityScore
671	}
672	return enums.QualityScoreBucketEnum_UNSPECIFIED
673}
674
675func (m *AdGroupCriterion_QualityInfo) GetPostClickQualityScore() enums.QualityScoreBucketEnum_QualityScoreBucket {
676	if m != nil {
677		return m.PostClickQualityScore
678	}
679	return enums.QualityScoreBucketEnum_UNSPECIFIED
680}
681
682func (m *AdGroupCriterion_QualityInfo) GetSearchPredictedCtr() enums.QualityScoreBucketEnum_QualityScoreBucket {
683	if m != nil {
684		return m.SearchPredictedCtr
685	}
686	return enums.QualityScoreBucketEnum_UNSPECIFIED
687}
688
689// Estimates for criterion bids at various positions.
690type AdGroupCriterion_PositionEstimates struct {
691	// Output only. The estimate of the CPC bid required for ad to be shown on first
692	// page of search results.
693	FirstPageCpcMicros *wrappers.Int64Value `protobuf:"bytes,1,opt,name=first_page_cpc_micros,json=firstPageCpcMicros,proto3" json:"first_page_cpc_micros,omitempty"`
694	// Output only. The estimate of the CPC bid required for ad to be displayed in first
695	// position, at the top of the first page of search results.
696	FirstPositionCpcMicros *wrappers.Int64Value `protobuf:"bytes,2,opt,name=first_position_cpc_micros,json=firstPositionCpcMicros,proto3" json:"first_position_cpc_micros,omitempty"`
697	// Output only. The estimate of the CPC bid required for ad to be displayed at the top
698	// of the first page of search results.
699	TopOfPageCpcMicros *wrappers.Int64Value `protobuf:"bytes,3,opt,name=top_of_page_cpc_micros,json=topOfPageCpcMicros,proto3" json:"top_of_page_cpc_micros,omitempty"`
700	// Output only. Estimate of how many clicks per week you might get by changing your
701	// keyword bid to the value in first_position_cpc_micros.
702	EstimatedAddClicksAtFirstPositionCpc *wrappers.Int64Value `protobuf:"bytes,4,opt,name=estimated_add_clicks_at_first_position_cpc,json=estimatedAddClicksAtFirstPositionCpc,proto3" json:"estimated_add_clicks_at_first_position_cpc,omitempty"`
703	// Output only. Estimate of how your cost per week might change when changing your
704	// keyword bid to the value in first_position_cpc_micros.
705	EstimatedAddCostAtFirstPositionCpc *wrappers.Int64Value `protobuf:"bytes,5,opt,name=estimated_add_cost_at_first_position_cpc,json=estimatedAddCostAtFirstPositionCpc,proto3" json:"estimated_add_cost_at_first_position_cpc,omitempty"`
706	XXX_NoUnkeyedLiteral               struct{}             `json:"-"`
707	XXX_unrecognized                   []byte               `json:"-"`
708	XXX_sizecache                      int32                `json:"-"`
709}
710
711func (m *AdGroupCriterion_PositionEstimates) Reset()         { *m = AdGroupCriterion_PositionEstimates{} }
712func (m *AdGroupCriterion_PositionEstimates) String() string { return proto.CompactTextString(m) }
713func (*AdGroupCriterion_PositionEstimates) ProtoMessage()    {}
714func (*AdGroupCriterion_PositionEstimates) Descriptor() ([]byte, []int) {
715	return fileDescriptor_dbeea8b4a62ffe2f, []int{0, 1}
716}
717
718func (m *AdGroupCriterion_PositionEstimates) XXX_Unmarshal(b []byte) error {
719	return xxx_messageInfo_AdGroupCriterion_PositionEstimates.Unmarshal(m, b)
720}
721func (m *AdGroupCriterion_PositionEstimates) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
722	return xxx_messageInfo_AdGroupCriterion_PositionEstimates.Marshal(b, m, deterministic)
723}
724func (m *AdGroupCriterion_PositionEstimates) XXX_Merge(src proto.Message) {
725	xxx_messageInfo_AdGroupCriterion_PositionEstimates.Merge(m, src)
726}
727func (m *AdGroupCriterion_PositionEstimates) XXX_Size() int {
728	return xxx_messageInfo_AdGroupCriterion_PositionEstimates.Size(m)
729}
730func (m *AdGroupCriterion_PositionEstimates) XXX_DiscardUnknown() {
731	xxx_messageInfo_AdGroupCriterion_PositionEstimates.DiscardUnknown(m)
732}
733
734var xxx_messageInfo_AdGroupCriterion_PositionEstimates proto.InternalMessageInfo
735
736func (m *AdGroupCriterion_PositionEstimates) GetFirstPageCpcMicros() *wrappers.Int64Value {
737	if m != nil {
738		return m.FirstPageCpcMicros
739	}
740	return nil
741}
742
743func (m *AdGroupCriterion_PositionEstimates) GetFirstPositionCpcMicros() *wrappers.Int64Value {
744	if m != nil {
745		return m.FirstPositionCpcMicros
746	}
747	return nil
748}
749
750func (m *AdGroupCriterion_PositionEstimates) GetTopOfPageCpcMicros() *wrappers.Int64Value {
751	if m != nil {
752		return m.TopOfPageCpcMicros
753	}
754	return nil
755}
756
757func (m *AdGroupCriterion_PositionEstimates) GetEstimatedAddClicksAtFirstPositionCpc() *wrappers.Int64Value {
758	if m != nil {
759		return m.EstimatedAddClicksAtFirstPositionCpc
760	}
761	return nil
762}
763
764func (m *AdGroupCriterion_PositionEstimates) GetEstimatedAddCostAtFirstPositionCpc() *wrappers.Int64Value {
765	if m != nil {
766		return m.EstimatedAddCostAtFirstPositionCpc
767	}
768	return nil
769}
770
771func init() {
772	proto.RegisterType((*AdGroupCriterion)(nil), "google.ads.googleads.v3.resources.AdGroupCriterion")
773	proto.RegisterType((*AdGroupCriterion_QualityInfo)(nil), "google.ads.googleads.v3.resources.AdGroupCriterion.QualityInfo")
774	proto.RegisterType((*AdGroupCriterion_PositionEstimates)(nil), "google.ads.googleads.v3.resources.AdGroupCriterion.PositionEstimates")
775}
776
777func init() {
778	proto.RegisterFile("google/ads/googleads/v3/resources/ad_group_criterion.proto", fileDescriptor_dbeea8b4a62ffe2f)
779}
780
781var fileDescriptor_dbeea8b4a62ffe2f = []byte{
782	// 1821 bytes of a gzipped FileDescriptorProto
783	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x99, 0x4d, 0x73, 0x1b, 0xb7,
784	0x19, 0xc7, 0x4b, 0xc9, 0x72, 0x6c, 0x48, 0x96, 0x2d, 0xc8, 0x52, 0x61, 0xc5, 0x4d, 0x64, 0x37,
785	0x6e, 0x65, 0x3b, 0x26, 0x13, 0x31, 0xee, 0xb4, 0xf4, 0xb4, 0x19, 0x92, 0xf5, 0x8b, 0xda, 0xb8,
786	0x65, 0x28, 0x59, 0x19, 0xb7, 0x9a, 0xd9, 0x82, 0xbb, 0xd8, 0x15, 0x46, 0xbb, 0x8b, 0x0d, 0x80,
787	0xa5, 0xcb, 0xa6, 0x99, 0xce, 0xb4, 0x33, 0xbd, 0x74, 0xa6, 0x3d, 0xf5, 0x0b, 0xf4, 0xd8, 0x8f,
788	0xd2, 0x0f, 0xd1, 0xc9, 0xa1, 0xa7, 0x7c, 0x84, 0x9e, 0x32, 0x78, 0x59, 0x72, 0x97, 0x14, 0xb5,
789	0x2b, 0x4f, 0x7c, 0x5b, 0x01, 0xf8, 0xff, 0xfe, 0x0f, 0x1e, 0x3c, 0x0b, 0x02, 0x2b, 0xd0, 0x0a,
790	0x18, 0x0b, 0x42, 0xd2, 0xc0, 0x9e, 0x68, 0x98, 0x47, 0xf5, 0x34, 0x6c, 0x36, 0x38, 0x11, 0x2c,
791	0xe5, 0x2e, 0x11, 0x0d, 0xec, 0x39, 0x01, 0x67, 0x69, 0xe2, 0xb8, 0x9c, 0x4a, 0xc2, 0x29, 0x8b,
792	0xeb, 0x09, 0x67, 0x92, 0xc1, 0x5b, 0x46, 0x50, 0xc7, 0x9e, 0xa8, 0x8f, 0xb5, 0xf5, 0x61, 0xb3,
793	0x3e, 0xd6, 0x6e, 0x3d, 0x98, 0x87, 0x77, 0x59, 0x14, 0xb1, 0xb8, 0x61, 0x91, 0xd8, 0x10, 0xb7,
794	0x1e, 0x96, 0x0d, 0x4f, 0x85, 0x64, 0x91, 0x93, 0x60, 0x8e, 0x23, 0x22, 0x09, 0xb7, 0xb2, 0x27,
795	0xf3, 0x64, 0x24, 0x4e, 0xa3, 0xd3, 0x26, 0xe0, 0xe0, 0x24, 0xe1, 0x6c, 0x88, 0x43, 0x47, 0x48,
796	0x2c, 0x53, 0x61, 0x39, 0x3f, 0x3d, 0x37, 0xa7, 0x20, 0xdf, 0x3d, 0x5b, 0x3e, 0xa0, 0x9e, 0x47,
797	0xe3, 0xc0, 0x31, 0xb9, 0xb1, 0x9a, 0xee, 0xd9, 0x9a, 0x9c, 0xd3, 0x48, 0x48, 0x12, 0x39, 0x82,
798	0xf0, 0xa1, 0x86, 0x9c, 0xc3, 0x78, 0x02, 0x91, 0xa3, 0x24, 0x33, 0xfe, 0xf1, 0xd9, 0x9a, 0xcf,
799	0x53, 0x1c, 0x52, 0x39, 0x72, 0x84, 0xcb, 0x38, 0x71, 0x06, 0xa9, 0x7b, 0x42, 0xa4, 0x55, 0xbe,
800	0x9b, 0x29, 0x13, 0xda, 0xf0, 0x29, 0x09, 0x3d, 0x67, 0x40, 0x8e, 0xf1, 0x90, 0xb2, 0x6c, 0x39,
801	0x6e, 0xe4, 0x06, 0x64, 0xa5, 0x60, 0xbb, 0xde, 0xb1, 0x5d, 0xfa, 0xaf, 0x41, 0xea, 0x37, 0x5e,
802	0x71, 0x9c, 0x24, 0x84, 0x67, 0x33, 0xb9, 0x99, 0x93, 0xe2, 0x38, 0x66, 0x12, 0x4b, 0xca, 0x62,
803	0xdb, 0x7b, 0xfb, 0xbf, 0xf7, 0xc0, 0xb5, 0xb6, 0xf7, 0x54, 0xad, 0x41, 0x37, 0x9b, 0x13, 0x3c,
804	0x04, 0x57, 0x32, 0x13, 0x27, 0xc6, 0x11, 0x41, 0xb5, 0xed, 0xda, 0xce, 0xe5, 0xce, 0x87, 0x5f,
805	0xb5, 0x97, 0xfe, 0xdf, 0xbe, 0x0f, 0xee, 0x4e, 0x2a, 0xd3, 0x3e, 0x25, 0x54, 0xd4, 0x5d, 0x16,
806	0x35, 0xa6, 0x49, 0xfd, 0x95, 0x8c, 0xf3, 0x2b, 0x1c, 0x11, 0xd8, 0x05, 0x2b, 0x93, 0xc4, 0x51,
807	0x0f, 0x6d, 0x6d, 0xd7, 0x76, 0x96, 0x77, 0xdf, 0xb6, 0x94, 0x7a, 0x36, 0x83, 0xfa, 0x5e, 0x2c,
808	0x7f, 0xf4, 0xd1, 0x21, 0x0e, 0x53, 0xd2, 0x59, 0xfc, 0xaa, 0xbd, 0xd8, 0x5f, 0x1e, 0xab, 0xf6,
809	0x3c, 0x78, 0x0c, 0x2e, 0x9a, 0x95, 0x42, 0x8b, 0xdb, 0xb5, 0x9d, 0xd5, 0xdd, 0x5e, 0x7d, 0xde,
810	0x3b, 0xa3, 0xd3, 0x5e, 0x9f, 0x8e, 0x69, 0x5f, 0x8b, 0x1f, 0xc7, 0x69, 0x34, 0xa7, 0xab, 0x6f,
811	0xf9, 0x30, 0x00, 0x2b, 0xd9, 0x9a, 0xd1, 0xd8, 0x67, 0xe8, 0x82, 0x0e, 0xf7, 0xe3, 0x7a, 0xe9,
812	0x3b, 0x3a, 0x03, 0xae, 0x7f, 0x6a, 0x38, 0x7b, 0xb1, 0xcf, 0xec, 0x94, 0x3e, 0x9f, 0xb4, 0x40,
813	0x0c, 0x2e, 0x65, 0x2f, 0x02, 0x5a, 0xd2, 0x26, 0x37, 0x67, 0x72, 0xb2, 0x2f, 0x39, 0x8d, 0x03,
814	0x93, 0x94, 0x1d, 0xbd, 0x10, 0xb7, 0xc1, 0x76, 0xd9, 0x42, 0xf4, 0xdf, 0xc2, 0xe6, 0x01, 0x7e,
815	0x06, 0x2e, 0xa8, 0x4a, 0x45, 0x37, 0x74, 0xce, 0x7e, 0x56, 0x92, 0xb3, 0x71, 0xe0, 0x07, 0xa3,
816	0x84, 0xe8, 0x54, 0x15, 0x5a, 0xcc, 0x14, 0x34, 0x10, 0x3e, 0x02, 0x97, 0x62, 0x12, 0x60, 0x49,
817	0x87, 0x04, 0xbd, 0xab, 0x63, 0xdf, 0x9a, 0x89, 0xbd, 0xc3, 0x58, 0x38, 0x5e, 0xce, 0xa5, 0xfe,
818	0x58, 0x00, 0xff, 0x59, 0x03, 0x1b, 0xa7, 0xbe, 0x85, 0xe8, 0x23, 0x1d, 0xe7, 0x51, 0xd5, 0x38,
819	0xf7, 0x35, 0x64, 0xdf, 0x30, 0x72, 0x2b, 0x7c, 0xd6, 0x00, 0x33, 0x8b, 0x75, 0x31, 0xdb, 0x03,
820	0xff, 0x5e, 0x03, 0x57, 0xa7, 0xf6, 0x33, 0xf4, 0x50, 0x47, 0xf4, 0xbb, 0x73, 0x56, 0x5b, 0xdb,
821	0x52, 0xce, 0xa8, 0xba, 0xe2, 0x10, 0x13, 0xd5, 0x2a, 0x2e, 0x34, 0xc2, 0x8f, 0xc1, 0xca, 0x80,
822	0x7a, 0x4e, 0xc4, 0x3c, 0xea, 0x53, 0xc2, 0xd1, 0xfb, 0x73, 0xaa, 0xe4, 0xe7, 0x2c, 0x1d, 0x84,
823	0x44, 0xe7, 0xba, 0xbf, 0x3c, 0xa0, 0xde, 0x73, 0x2b, 0x80, 0x6d, 0xb0, 0xea, 0x26, 0xae, 0xa3,
824	0x21, 0xd4, 0xe5, 0x4c, 0xa0, 0x6b, 0xa5, 0x2f, 0x5f, 0x7f, 0xc5, 0x4d, 0xdc, 0x0e, 0xf5, 0x9e,
825	0x6b, 0x81, 0x41, 0x44, 0x79, 0xc4, 0x5a, 0x25, 0x44, 0x34, 0x85, 0x18, 0xe6, 0x11, 0xa8, 0x12,
826	0x62, 0x38, 0x41, 0xf4, 0xc0, 0x66, 0x42, 0xb8, 0x4b, 0x62, 0xe9, 0x4c, 0x4d, 0xe8, 0x56, 0x39,
827	0x6a, 0xdd, 0x4a, 0xbb, 0xf9, 0x79, 0xbd, 0x04, 0x88, 0xf8, 0x3e, 0x71, 0x55, 0x45, 0x4e, 0x33,
828	0x61, 0xc5, 0x1d, 0x6a, 0x63, 0x4c, 0x38, 0x0b, 0x5d, 0x48, 0xde, 0xfa, 0x6b, 0xa0, 0xa3, 0xb9,
829	0xe8, 0x42, 0x52, 0xaf, 0xbf, 0x06, 0x3a, 0x97, 0xe2, 0x63, 0xb0, 0x3d, 0x41, 0xcf, 0x49, 0xf6,
830	0xed, 0x8a, 0x16, 0x37, 0xc7, 0xa4, 0xde, 0x29, 0xa9, 0xff, 0xe3, 0x69, 0xa9, 0x37, 0x9b, 0x28,
831	0xda, 0xa8, 0xb4, 0x53, 0x75, 0xcc, 0x09, 0x60, 0x5f, 0x6b, 0xf4, 0xeb, 0x55, 0x68, 0x39, 0x7d,
832	0x75, 0x4c, 0xdf, 0xb4, 0x7b, 0x94, 0x77, 0xdf, 0x7c, 0x33, 0xee, 0xd1, 0x5c, 0xf7, 0x61, 0xde,
833	0xfd, 0xbb, 0x6f, 0xc6, 0x7d, 0x38, 0x71, 0xff, 0x5b, 0xed, 0xac, 0x45, 0xb6, 0x61, 0x7c, 0xff,
834	0xdb, 0x0b, 0x63, 0x4e, 0x1d, 0xd8, 0x68, 0x46, 0x00, 0x26, 0x4c, 0x50, 0x75, 0x30, 0x71, 0x88,
835	0x90, 0x34, 0xc2, 0x92, 0x08, 0x04, 0x74, 0x8d, 0x3d, 0x7e, 0x9d, 0xdf, 0xdb, 0x9e, 0xa5, 0x3d,
836	0xce, 0x60, 0x26, 0x8a, 0xb5, 0x64, 0xba, 0x1d, 0x3e, 0x02, 0xc0, 0xa7, 0x31, 0x0e, 0x9d, 0x94,
837	0x87, 0x02, 0x2d, 0x6f, 0x2f, 0x96, 0xfd, 0xfa, 0xf6, 0x2f, 0xeb, 0xf1, 0x2f, 0x78, 0x28, 0xe0,
838	0x33, 0xb0, 0x66, 0xc4, 0x11, 0x1b, 0xd0, 0x90, 0x18, 0x46, 0xb3, 0x02, 0xe3, 0xaa, 0x96, 0x3d,
839	0xd7, 0x2a, 0x4d, 0x7a, 0x02, 0xae, 0x8d, 0xc3, 0x70, 0x44, 0xea, 0xfb, 0xf4, 0xf7, 0x68, 0xb7,
840	0xfc, 0x28, 0xd0, 0x5f, 0xcd, 0x82, 0xd9, 0xd7, 0x1a, 0xd8, 0x03, 0x1b, 0x92, 0x63, 0xf7, 0x44,
841	0xfd, 0x94, 0x2a, 0x94, 0x24, 0x51, 0x12, 0x62, 0x49, 0xd0, 0x95, 0x0a, 0xb0, 0xf5, 0x4c, 0xfa,
842	0x82, 0x87, 0x07, 0x56, 0x08, 0x5d, 0xb0, 0xa1, 0x40, 0xd3, 0xf7, 0x04, 0x81, 0x56, 0xf5, 0x3c,
843	0x1b, 0x73, 0x97, 0xc7, 0x5c, 0x30, 0xea, 0x5d, 0x2d, 0xec, 0x65, 0xba, 0xfe, 0x7a, 0xca, 0xc3,
844	0xa9, 0x36, 0x01, 0x3f, 0x01, 0x6f, 0x9d, 0x90, 0xd1, 0x2b, 0xc6, 0x3d, 0xf4, 0xb6, 0x0e, 0xf4,
845	0x7e, 0x19, 0xf6, 0x97, 0x66, 0x78, 0x76, 0xa2, 0x5a, 0x7a, 0xf6, 0x9d, 0x7e, 0x86, 0x80, 0x7d,
846	0x70, 0x39, 0x09, 0xb1, 0x4b, 0x22, 0x12, 0x4b, 0x74, 0x53, 0xf3, 0x1e, 0x94, 0xf1, 0x7a, 0x99,
847	0x20, 0x4f, 0x9c, 0x60, 0x60, 0x08, 0xd6, 0xed, 0x22, 0xe3, 0x24, 0x71, 0x5c, 0x2c, 0x49, 0xc0,
848	0xf8, 0x08, 0x7d, 0x4f, 0xd3, 0x1f, 0x96, 0xd1, 0xcd, 0x4a, 0xb7, 0x93, 0xa4, 0x6b, 0x85, 0x79,
849	0x97, 0xb5, 0x68, 0xba, 0x17, 0x9e, 0x00, 0x38, 0x71, 0x0b, 0xa9, 0xab, 0xcf, 0xec, 0xe8, 0x9d,
850	0x73, 0x9a, 0x65, 0xc2, 0xd3, 0xcd, 0xb2, 0x5e, 0x78, 0x04, 0xae, 0x84, 0x54, 0x48, 0x55, 0x32,
851	0xe6, 0x0c, 0xba, 0xad, 0x7d, 0x3e, 0x28, 0xf3, 0xf9, 0xc4, 0x88, 0xf4, 0xab, 0x97, 0xb7, 0x58,
852	0x09, 0x73, 0x1d, 0xb0, 0x07, 0x2e, 0xe3, 0x80, 0x38, 0x1c, 0xc7, 0x01, 0x41, 0xef, 0x69, 0xf2,
853	0xfb, 0x65, 0xe4, 0x76, 0x40, 0xfa, 0x6a, 0x7c, 0x9e, 0x7a, 0x09, 0xdb, 0x46, 0xb8, 0x07, 0x2e,
854	0x06, 0x24, 0xf6, 0x08, 0x47, 0x77, 0x34, 0xee, 0x5e, 0x19, 0xee, 0xa9, 0x1e, 0x9d, 0x87, 0x59,
855	0x00, 0x7c, 0x09, 0x56, 0x68, 0xec, 0xb2, 0x28, 0x8b, 0xef, 0x07, 0x1a, 0x58, 0x5a, 0xd3, 0x7b,
856	0x5a, 0x33, 0x13, 0xe2, 0x32, 0x9d, 0xb4, 0xc3, 0x01, 0xb8, 0x9a, 0x60, 0x4e, 0x62, 0x39, 0x39,
857	0x42, 0xfe, 0x50, 0xd3, 0x77, 0x4b, 0x4b, 0xd1, 0xca, 0xcc, 0xd9, 0x2f, 0x6f, 0xb0, 0x9a, 0x14,
858	0xba, 0x54, 0x6e, 0x53, 0x41, 0xb8, 0xa3, 0x12, 0x8e, 0xee, 0x55, 0xcb, 0xed, 0x0b, 0x41, 0xb8,
859	0x5a, 0xb9, 0x42, 0x6e, 0x53, 0xdb, 0xa8, 0x6a, 0x61, 0xc4, 0x52, 0x99, 0x0e, 0x88, 0x33, 0xa4,
860	0x1e, 0x61, 0x68, 0xa7, 0x5a, 0x2d, 0xbc, 0x64, 0xe9, 0x41, 0x3a, 0x20, 0x87, 0x4a, 0x53, 0xa8,
861	0x05, 0x4b, 0xd3, 0x1d, 0x2a, 0x27, 0x19, 0xdd, 0x3d, 0xc6, 0x71, 0x4c, 0x42, 0x74, 0xb7, 0x5a,
862	0x4e, 0x2c, 0xbf, 0x6b, 0x54, 0x85, 0x9c, 0x58, 0xa2, 0xed, 0x82, 0x4f, 0xc0, 0x92, 0x64, 0x09,
863	0x75, 0xd1, 0x7d, 0x4d, 0xbe, 0x5b, 0x46, 0x3e, 0x50, 0x83, 0xf3, 0x40, 0x23, 0x57, 0x99, 0xd0,
864	0xb9, 0xa5, 0xb1, 0x24, 0x9c, 0x08, 0x89, 0x1e, 0x54, 0xcb, 0x84, 0xca, 0xef, 0x9e, 0xd5, 0x14,
865	0x32, 0x91, 0xe6, 0x3a, 0xd4, 0x86, 0xf7, 0x8a, 0x0c, 0x12, 0x1c, 0x10, 0x54, 0xaf, 0xb6, 0xe1,
866	0x7d, 0x66, 0x86, 0x17, 0x36, 0x3c, 0x8b, 0x80, 0x3e, 0x58, 0x53, 0xbb, 0x52, 0x82, 0x47, 0x6a,
867	0xaf, 0x52, 0xd7, 0x04, 0x12, 0xa2, 0x86, 0xe6, 0x36, 0x4b, 0xdf, 0xb5, 0x24, 0xe9, 0x19, 0xdd,
868	0x73, 0x25, 0xcb, 0xf3, 0xd5, 0x1d, 0x28, 0xdf, 0xa7, 0xd6, 0xcf, 0xfe, 0x0e, 0x60, 0xdf, 0xa7,
869	0x31, 0x95, 0x23, 0xf4, 0x41, 0xb5, 0xf5, 0x33, 0x3b, 0x7e, 0xdb, 0xaa, 0x0a, 0xeb, 0xe7, 0x16,
870	0xba, 0x54, 0xde, 0xad, 0x87, 0xca, 0x7c, 0x2c, 0xd1, 0x87, 0xd5, 0xf2, 0x6e, 0x1c, 0xf6, 0xb4,
871	0xa6, 0x90, 0x77, 0x37, 0xd7, 0xb1, 0xf5, 0xbf, 0x45, 0xb0, 0x9c, 0xbb, 0x8c, 0xc3, 0xc7, 0xe0,
872	0x4a, 0xe1, 0xbb, 0x8c, 0xfe, 0xd4, 0x31, 0xe7, 0x60, 0xdb, 0xdc, 0xcd, 0x1d, 0x6c, 0xb3, 0x4f,
873	0x03, 0xfb, 0x4a, 0x05, 0xff, 0x52, 0x03, 0x9b, 0x2e, 0x27, 0xfa, 0x56, 0xeb, 0x14, 0x81, 0x0b,
874	0xfa, 0x10, 0xf5, 0xac, 0xe4, 0x10, 0xf5, 0x69, 0x8e, 0xd6, 0xd1, 0x9f, 0x86, 0xf4, 0x49, 0x6a,
875	0xb6, 0xd9, 0xb8, 0x5f, 0xcf, 0xcc, 0xf2, 0x03, 0xe0, 0x5f, 0x6b, 0x00, 0x25, 0x4c, 0x48, 0xc7,
876	0x0d, 0xa9, 0x7b, 0x32, 0x15, 0xc7, 0xe2, 0x9b, 0x88, 0x63, 0x43, 0xd9, 0x75, 0x95, 0x5b, 0x21,
877	0x90, 0x3f, 0x81, 0xeb, 0x82, 0x60, 0xee, 0x1e, 0x3b, 0x09, 0x27, 0x1e, 0x75, 0x25, 0xf1, 0x1c,
878	0x57, 0x72, 0xfd, 0x05, 0xe5, 0x5b, 0x8f, 0x01, 0x1a, 0xab, 0x5e, 0xe6, 0xd4, 0x95, 0x7c, 0xeb,
879	0x1f, 0x17, 0xc0, 0xda, 0xcc, 0x19, 0x10, 0xee, 0x83, 0x0d, 0x9f, 0x72, 0x21, 0x1d, 0xf5, 0xd2,
880	0xe8, 0xc3, 0xae, 0xbd, 0xcd, 0xd4, 0x2a, 0xde, 0x66, 0xa0, 0x96, 0xf7, 0x70, 0xa0, 0x2e, 0x12,
881	0xf6, 0x0e, 0xf3, 0x5b, 0x70, 0xc3, 0x42, 0xb3, 0x13, 0x6c, 0x0e, 0xbc, 0x50, 0x11, 0xbc, 0x69,
882	0xc0, 0x96, 0x30, 0x81, 0x1f, 0x80, 0x4d, 0xc9, 0x12, 0x87, 0xf9, 0x33, 0x21, 0x2f, 0x56, 0x0d,
883	0x59, 0xb2, 0xe4, 0xd7, 0x7e, 0x31, 0xe4, 0x3f, 0x80, 0x7b, 0xd9, 0x29, 0xdb, 0x73, 0xb0, 0xe7,
884	0x99, 0x7a, 0x11, 0x0e, 0x96, 0xce, 0xec, 0x54, 0xec, 0x67, 0xaf, 0x72, 0xa7, 0xf7, 0xc6, 0xcc,
885	0xb6, 0xe7, 0xe9, 0x9a, 0x10, 0x6d, 0xf9, 0x64, 0x6a, 0x5e, 0x70, 0x08, 0x76, 0xa6, 0xbc, 0x55,
886	0xc1, 0x9e, 0xee, 0xbc, 0x54, 0xd1, 0xf9, 0x76, 0xc1, 0x99, 0x09, 0x39, 0xeb, 0xdb, 0xa2, 0x5f,
887	0xb7, 0xfd, 0x73, 0x7c, 0xb9, 0x84, 0x3f, 0x31, 0xdb, 0x06, 0xe1, 0xa2, 0xf1, 0x45, 0xf6, 0xf8,
888	0x65, 0x03, 0x17, 0x86, 0xe1, 0xc6, 0x17, 0xb3, 0x1f, 0xb0, 0xbf, 0xec, 0x2c, 0x83, 0xcb, 0xe3,
889	0xbf, 0x3a, 0x7f, 0x5e, 0x00, 0x77, 0x5c, 0x16, 0x95, 0x5f, 0x62, 0x3a, 0x1b, 0xd3, 0x31, 0xf4,
890	0xd4, 0x7c, 0x7b, 0xb5, 0xdf, 0xfc, 0xc2, 0x6a, 0x03, 0x16, 0xe2, 0x38, 0xa8, 0x33, 0x1e, 0x34,
891	0x02, 0x12, 0xeb, 0x6c, 0x34, 0x26, 0xd3, 0x38, 0xe3, 0xff, 0x0d, 0x8f, 0xc6, 0x4f, 0xff, 0x5a,
892	0x58, 0x7c, 0xda, 0x6e, 0xff, 0x7b, 0xe1, 0xd6, 0x53, 0x83, 0x6c, 0x7b, 0xa2, 0x6e, 0x1e, 0xd5,
893	0xd3, 0x61, 0xb3, 0xde, 0xcf, 0x46, 0xfe, 0x27, 0x1b, 0x73, 0xd4, 0xf6, 0xc4, 0xd1, 0x78, 0xcc,
894	0xd1, 0x61, 0xf3, 0x68, 0x3c, 0xe6, 0xeb, 0x85, 0x3b, 0xa6, 0xa3, 0xd5, 0x6a, 0x7b, 0xa2, 0xd5,
895	0x1a, 0x8f, 0x6a, 0xb5, 0x0e, 0x9b, 0xad, 0xd6, 0x78, 0xdc, 0xe0, 0xa2, 0x0e, 0xb6, 0xf9, 0x4d,
896	0x00, 0x00, 0x00, 0xff, 0xff, 0x0e, 0x5e, 0x9a, 0xc9, 0x1b, 0x19, 0x00, 0x00,
897}
898