...

Source file src/google.golang.org/genproto/googleapis/analytics/data/v1alpha/data.pb.go

Documentation: google.golang.org/genproto/googleapis/analytics/data/v1alpha

     1  // Copyright 2022 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.26.0
    18  // 	protoc        v3.12.2
    19  // source: google/analytics/data/v1alpha/data.proto
    20  
    21  package data
    22  
    23  import (
    24  	reflect "reflect"
    25  	sync "sync"
    26  
    27  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    28  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    29  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  // Scoping specifies which events are considered when evaluating if a user
    40  // meets a criteria.
    41  type UserCriteriaScoping int32
    42  
    43  const (
    44  	// Unspecified criteria scoping. Do not specify.
    45  	UserCriteriaScoping_USER_CRITERIA_SCOPING_UNSPECIFIED UserCriteriaScoping = 0
    46  	// If the criteria is satisfied within one event, the user matches the
    47  	// criteria.
    48  	UserCriteriaScoping_USER_CRITERIA_WITHIN_SAME_EVENT UserCriteriaScoping = 1
    49  	// If the criteria is satisfied within one session, the user matches the
    50  	// criteria.
    51  	UserCriteriaScoping_USER_CRITERIA_WITHIN_SAME_SESSION UserCriteriaScoping = 2
    52  	// If the criteria is satisfied by any events for the user, the user
    53  	// matches the criteria.
    54  	UserCriteriaScoping_USER_CRITERIA_ACROSS_ALL_SESSIONS UserCriteriaScoping = 3
    55  )
    56  
    57  // Enum value maps for UserCriteriaScoping.
    58  var (
    59  	UserCriteriaScoping_name = map[int32]string{
    60  		0: "USER_CRITERIA_SCOPING_UNSPECIFIED",
    61  		1: "USER_CRITERIA_WITHIN_SAME_EVENT",
    62  		2: "USER_CRITERIA_WITHIN_SAME_SESSION",
    63  		3: "USER_CRITERIA_ACROSS_ALL_SESSIONS",
    64  	}
    65  	UserCriteriaScoping_value = map[string]int32{
    66  		"USER_CRITERIA_SCOPING_UNSPECIFIED": 0,
    67  		"USER_CRITERIA_WITHIN_SAME_EVENT":   1,
    68  		"USER_CRITERIA_WITHIN_SAME_SESSION": 2,
    69  		"USER_CRITERIA_ACROSS_ALL_SESSIONS": 3,
    70  	}
    71  )
    72  
    73  func (x UserCriteriaScoping) Enum() *UserCriteriaScoping {
    74  	p := new(UserCriteriaScoping)
    75  	*p = x
    76  	return p
    77  }
    78  
    79  func (x UserCriteriaScoping) String() string {
    80  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    81  }
    82  
    83  func (UserCriteriaScoping) Descriptor() protoreflect.EnumDescriptor {
    84  	return file_google_analytics_data_v1alpha_data_proto_enumTypes[0].Descriptor()
    85  }
    86  
    87  func (UserCriteriaScoping) Type() protoreflect.EnumType {
    88  	return &file_google_analytics_data_v1alpha_data_proto_enumTypes[0]
    89  }
    90  
    91  func (x UserCriteriaScoping) Number() protoreflect.EnumNumber {
    92  	return protoreflect.EnumNumber(x)
    93  }
    94  
    95  // Deprecated: Use UserCriteriaScoping.Descriptor instead.
    96  func (UserCriteriaScoping) EnumDescriptor() ([]byte, []int) {
    97  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{0}
    98  }
    99  
   100  // Enumerates options for how long an exclusion will last if a user matches
   101  // the `userExclusionCriteria`.
   102  type UserExclusionDuration int32
   103  
   104  const (
   105  	// Unspecified exclusion duration. Do not specify.
   106  	UserExclusionDuration_USER_EXCLUSION_DURATION_UNSPECIFIED UserExclusionDuration = 0
   107  	// Temporarily exclude users from the segment during periods when the
   108  	// user meets the `userExclusionCriteria` condition.
   109  	UserExclusionDuration_USER_EXCLUSION_TEMPORARY UserExclusionDuration = 1
   110  	// Permanently exclude users from the segment if the user ever meets the
   111  	// `userExclusionCriteria` condition.
   112  	UserExclusionDuration_USER_EXCLUSION_PERMANENT UserExclusionDuration = 2
   113  )
   114  
   115  // Enum value maps for UserExclusionDuration.
   116  var (
   117  	UserExclusionDuration_name = map[int32]string{
   118  		0: "USER_EXCLUSION_DURATION_UNSPECIFIED",
   119  		1: "USER_EXCLUSION_TEMPORARY",
   120  		2: "USER_EXCLUSION_PERMANENT",
   121  	}
   122  	UserExclusionDuration_value = map[string]int32{
   123  		"USER_EXCLUSION_DURATION_UNSPECIFIED": 0,
   124  		"USER_EXCLUSION_TEMPORARY":            1,
   125  		"USER_EXCLUSION_PERMANENT":            2,
   126  	}
   127  )
   128  
   129  func (x UserExclusionDuration) Enum() *UserExclusionDuration {
   130  	p := new(UserExclusionDuration)
   131  	*p = x
   132  	return p
   133  }
   134  
   135  func (x UserExclusionDuration) String() string {
   136  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   137  }
   138  
   139  func (UserExclusionDuration) Descriptor() protoreflect.EnumDescriptor {
   140  	return file_google_analytics_data_v1alpha_data_proto_enumTypes[1].Descriptor()
   141  }
   142  
   143  func (UserExclusionDuration) Type() protoreflect.EnumType {
   144  	return &file_google_analytics_data_v1alpha_data_proto_enumTypes[1]
   145  }
   146  
   147  func (x UserExclusionDuration) Number() protoreflect.EnumNumber {
   148  	return protoreflect.EnumNumber(x)
   149  }
   150  
   151  // Deprecated: Use UserExclusionDuration.Descriptor instead.
   152  func (UserExclusionDuration) EnumDescriptor() ([]byte, []int) {
   153  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{1}
   154  }
   155  
   156  // Scoping specifies which events are considered when evaluating if a
   157  // session meets a criteria.
   158  type SessionCriteriaScoping int32
   159  
   160  const (
   161  	// Unspecified criteria scoping. Do not specify.
   162  	SessionCriteriaScoping_SESSION_CRITERIA_SCOPING_UNSPECIFIED SessionCriteriaScoping = 0
   163  	// If the criteria is satisfied within one event, the session matches the
   164  	// criteria.
   165  	SessionCriteriaScoping_SESSION_CRITERIA_WITHIN_SAME_EVENT SessionCriteriaScoping = 1
   166  	// If the criteria is satisfied within one session, the session matches
   167  	// the criteria.
   168  	SessionCriteriaScoping_SESSION_CRITERIA_WITHIN_SAME_SESSION SessionCriteriaScoping = 2
   169  )
   170  
   171  // Enum value maps for SessionCriteriaScoping.
   172  var (
   173  	SessionCriteriaScoping_name = map[int32]string{
   174  		0: "SESSION_CRITERIA_SCOPING_UNSPECIFIED",
   175  		1: "SESSION_CRITERIA_WITHIN_SAME_EVENT",
   176  		2: "SESSION_CRITERIA_WITHIN_SAME_SESSION",
   177  	}
   178  	SessionCriteriaScoping_value = map[string]int32{
   179  		"SESSION_CRITERIA_SCOPING_UNSPECIFIED": 0,
   180  		"SESSION_CRITERIA_WITHIN_SAME_EVENT":   1,
   181  		"SESSION_CRITERIA_WITHIN_SAME_SESSION": 2,
   182  	}
   183  )
   184  
   185  func (x SessionCriteriaScoping) Enum() *SessionCriteriaScoping {
   186  	p := new(SessionCriteriaScoping)
   187  	*p = x
   188  	return p
   189  }
   190  
   191  func (x SessionCriteriaScoping) String() string {
   192  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   193  }
   194  
   195  func (SessionCriteriaScoping) Descriptor() protoreflect.EnumDescriptor {
   196  	return file_google_analytics_data_v1alpha_data_proto_enumTypes[2].Descriptor()
   197  }
   198  
   199  func (SessionCriteriaScoping) Type() protoreflect.EnumType {
   200  	return &file_google_analytics_data_v1alpha_data_proto_enumTypes[2]
   201  }
   202  
   203  func (x SessionCriteriaScoping) Number() protoreflect.EnumNumber {
   204  	return protoreflect.EnumNumber(x)
   205  }
   206  
   207  // Deprecated: Use SessionCriteriaScoping.Descriptor instead.
   208  func (SessionCriteriaScoping) EnumDescriptor() ([]byte, []int) {
   209  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{2}
   210  }
   211  
   212  // Enumerates options for how long an exclusion will last if a session
   213  // matches the `sessionExclusionCriteria`.
   214  type SessionExclusionDuration int32
   215  
   216  const (
   217  	// Unspecified exclusion duration. Do not specify.
   218  	SessionExclusionDuration_SESSION_EXCLUSION_DURATION_UNSPECIFIED SessionExclusionDuration = 0
   219  	// Temporarily exclude sessions from the segment during periods when the
   220  	// session meets the `sessionExclusionCriteria` condition.
   221  	SessionExclusionDuration_SESSION_EXCLUSION_TEMPORARY SessionExclusionDuration = 1
   222  	// Permanently exclude sessions from the segment if the session ever meets
   223  	// the `sessionExclusionCriteria` condition.
   224  	SessionExclusionDuration_SESSION_EXCLUSION_PERMANENT SessionExclusionDuration = 2
   225  )
   226  
   227  // Enum value maps for SessionExclusionDuration.
   228  var (
   229  	SessionExclusionDuration_name = map[int32]string{
   230  		0: "SESSION_EXCLUSION_DURATION_UNSPECIFIED",
   231  		1: "SESSION_EXCLUSION_TEMPORARY",
   232  		2: "SESSION_EXCLUSION_PERMANENT",
   233  	}
   234  	SessionExclusionDuration_value = map[string]int32{
   235  		"SESSION_EXCLUSION_DURATION_UNSPECIFIED": 0,
   236  		"SESSION_EXCLUSION_TEMPORARY":            1,
   237  		"SESSION_EXCLUSION_PERMANENT":            2,
   238  	}
   239  )
   240  
   241  func (x SessionExclusionDuration) Enum() *SessionExclusionDuration {
   242  	p := new(SessionExclusionDuration)
   243  	*p = x
   244  	return p
   245  }
   246  
   247  func (x SessionExclusionDuration) String() string {
   248  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   249  }
   250  
   251  func (SessionExclusionDuration) Descriptor() protoreflect.EnumDescriptor {
   252  	return file_google_analytics_data_v1alpha_data_proto_enumTypes[3].Descriptor()
   253  }
   254  
   255  func (SessionExclusionDuration) Type() protoreflect.EnumType {
   256  	return &file_google_analytics_data_v1alpha_data_proto_enumTypes[3]
   257  }
   258  
   259  func (x SessionExclusionDuration) Number() protoreflect.EnumNumber {
   260  	return protoreflect.EnumNumber(x)
   261  }
   262  
   263  // Deprecated: Use SessionExclusionDuration.Descriptor instead.
   264  func (SessionExclusionDuration) EnumDescriptor() ([]byte, []int) {
   265  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{3}
   266  }
   267  
   268  // Scoping specifies which events are considered when evaluating if an event
   269  // meets a criteria.
   270  type EventCriteriaScoping int32
   271  
   272  const (
   273  	// Unspecified criteria scoping. Do not specify.
   274  	EventCriteriaScoping_EVENT_CRITERIA_SCOPING_UNSPECIFIED EventCriteriaScoping = 0
   275  	// If the criteria is satisfied within one event, the event matches the
   276  	// criteria.
   277  	EventCriteriaScoping_EVENT_CRITERIA_WITHIN_SAME_EVENT EventCriteriaScoping = 1
   278  )
   279  
   280  // Enum value maps for EventCriteriaScoping.
   281  var (
   282  	EventCriteriaScoping_name = map[int32]string{
   283  		0: "EVENT_CRITERIA_SCOPING_UNSPECIFIED",
   284  		1: "EVENT_CRITERIA_WITHIN_SAME_EVENT",
   285  	}
   286  	EventCriteriaScoping_value = map[string]int32{
   287  		"EVENT_CRITERIA_SCOPING_UNSPECIFIED": 0,
   288  		"EVENT_CRITERIA_WITHIN_SAME_EVENT":   1,
   289  	}
   290  )
   291  
   292  func (x EventCriteriaScoping) Enum() *EventCriteriaScoping {
   293  	p := new(EventCriteriaScoping)
   294  	*p = x
   295  	return p
   296  }
   297  
   298  func (x EventCriteriaScoping) String() string {
   299  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   300  }
   301  
   302  func (EventCriteriaScoping) Descriptor() protoreflect.EnumDescriptor {
   303  	return file_google_analytics_data_v1alpha_data_proto_enumTypes[4].Descriptor()
   304  }
   305  
   306  func (EventCriteriaScoping) Type() protoreflect.EnumType {
   307  	return &file_google_analytics_data_v1alpha_data_proto_enumTypes[4]
   308  }
   309  
   310  func (x EventCriteriaScoping) Number() protoreflect.EnumNumber {
   311  	return protoreflect.EnumNumber(x)
   312  }
   313  
   314  // Deprecated: Use EventCriteriaScoping.Descriptor instead.
   315  func (EventCriteriaScoping) EnumDescriptor() ([]byte, []int) {
   316  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{4}
   317  }
   318  
   319  // Enumerates options for how long an exclusion will last if an event
   320  // matches the `eventExclusionCriteria`.
   321  type EventExclusionDuration int32
   322  
   323  const (
   324  	// Unspecified exclusion duration. Do not specify.
   325  	EventExclusionDuration_EVENT_EXCLUSION_DURATION_UNSPECIFIED EventExclusionDuration = 0
   326  	// Permanently exclude events from the segment if the event ever meets
   327  	// the `eventExclusionCriteria` condition.
   328  	EventExclusionDuration_EVENT_EXCLUSION_PERMANENT EventExclusionDuration = 1
   329  )
   330  
   331  // Enum value maps for EventExclusionDuration.
   332  var (
   333  	EventExclusionDuration_name = map[int32]string{
   334  		0: "EVENT_EXCLUSION_DURATION_UNSPECIFIED",
   335  		1: "EVENT_EXCLUSION_PERMANENT",
   336  	}
   337  	EventExclusionDuration_value = map[string]int32{
   338  		"EVENT_EXCLUSION_DURATION_UNSPECIFIED": 0,
   339  		"EVENT_EXCLUSION_PERMANENT":            1,
   340  	}
   341  )
   342  
   343  func (x EventExclusionDuration) Enum() *EventExclusionDuration {
   344  	p := new(EventExclusionDuration)
   345  	*p = x
   346  	return p
   347  }
   348  
   349  func (x EventExclusionDuration) String() string {
   350  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   351  }
   352  
   353  func (EventExclusionDuration) Descriptor() protoreflect.EnumDescriptor {
   354  	return file_google_analytics_data_v1alpha_data_proto_enumTypes[5].Descriptor()
   355  }
   356  
   357  func (EventExclusionDuration) Type() protoreflect.EnumType {
   358  	return &file_google_analytics_data_v1alpha_data_proto_enumTypes[5]
   359  }
   360  
   361  func (x EventExclusionDuration) Number() protoreflect.EnumNumber {
   362  	return protoreflect.EnumNumber(x)
   363  }
   364  
   365  // Deprecated: Use EventExclusionDuration.Descriptor instead.
   366  func (EventExclusionDuration) EnumDescriptor() ([]byte, []int) {
   367  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{5}
   368  }
   369  
   370  // A metric's value type.
   371  type MetricType int32
   372  
   373  const (
   374  	// Unspecified type.
   375  	MetricType_METRIC_TYPE_UNSPECIFIED MetricType = 0
   376  	// Integer type.
   377  	MetricType_TYPE_INTEGER MetricType = 1
   378  	// Floating point type.
   379  	MetricType_TYPE_FLOAT MetricType = 2
   380  	// A duration of seconds; a special floating point type.
   381  	MetricType_TYPE_SECONDS MetricType = 4
   382  	// A duration in milliseconds; a special floating point type.
   383  	MetricType_TYPE_MILLISECONDS MetricType = 5
   384  	// A duration in minutes; a special floating point type.
   385  	MetricType_TYPE_MINUTES MetricType = 6
   386  	// A duration in hours; a special floating point type.
   387  	MetricType_TYPE_HOURS MetricType = 7
   388  	// A custom metric of standard type; a special floating point type.
   389  	MetricType_TYPE_STANDARD MetricType = 8
   390  	// An amount of money; a special floating point type.
   391  	MetricType_TYPE_CURRENCY MetricType = 9
   392  	// A length in feet; a special floating point type.
   393  	MetricType_TYPE_FEET MetricType = 10
   394  	// A length in miles; a special floating point type.
   395  	MetricType_TYPE_MILES MetricType = 11
   396  	// A length in meters; a special floating point type.
   397  	MetricType_TYPE_METERS MetricType = 12
   398  	// A length in kilometers; a special floating point type.
   399  	MetricType_TYPE_KILOMETERS MetricType = 13
   400  )
   401  
   402  // Enum value maps for MetricType.
   403  var (
   404  	MetricType_name = map[int32]string{
   405  		0:  "METRIC_TYPE_UNSPECIFIED",
   406  		1:  "TYPE_INTEGER",
   407  		2:  "TYPE_FLOAT",
   408  		4:  "TYPE_SECONDS",
   409  		5:  "TYPE_MILLISECONDS",
   410  		6:  "TYPE_MINUTES",
   411  		7:  "TYPE_HOURS",
   412  		8:  "TYPE_STANDARD",
   413  		9:  "TYPE_CURRENCY",
   414  		10: "TYPE_FEET",
   415  		11: "TYPE_MILES",
   416  		12: "TYPE_METERS",
   417  		13: "TYPE_KILOMETERS",
   418  	}
   419  	MetricType_value = map[string]int32{
   420  		"METRIC_TYPE_UNSPECIFIED": 0,
   421  		"TYPE_INTEGER":            1,
   422  		"TYPE_FLOAT":              2,
   423  		"TYPE_SECONDS":            4,
   424  		"TYPE_MILLISECONDS":       5,
   425  		"TYPE_MINUTES":            6,
   426  		"TYPE_HOURS":              7,
   427  		"TYPE_STANDARD":           8,
   428  		"TYPE_CURRENCY":           9,
   429  		"TYPE_FEET":               10,
   430  		"TYPE_MILES":              11,
   431  		"TYPE_METERS":             12,
   432  		"TYPE_KILOMETERS":         13,
   433  	}
   434  )
   435  
   436  func (x MetricType) Enum() *MetricType {
   437  	p := new(MetricType)
   438  	*p = x
   439  	return p
   440  }
   441  
   442  func (x MetricType) String() string {
   443  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   444  }
   445  
   446  func (MetricType) Descriptor() protoreflect.EnumDescriptor {
   447  	return file_google_analytics_data_v1alpha_data_proto_enumTypes[6].Descriptor()
   448  }
   449  
   450  func (MetricType) Type() protoreflect.EnumType {
   451  	return &file_google_analytics_data_v1alpha_data_proto_enumTypes[6]
   452  }
   453  
   454  func (x MetricType) Number() protoreflect.EnumNumber {
   455  	return protoreflect.EnumNumber(x)
   456  }
   457  
   458  // Deprecated: Use MetricType.Descriptor instead.
   459  func (MetricType) EnumDescriptor() ([]byte, []int) {
   460  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{6}
   461  }
   462  
   463  // The match type of a string filter
   464  type StringFilter_MatchType int32
   465  
   466  const (
   467  	// Unspecified
   468  	StringFilter_MATCH_TYPE_UNSPECIFIED StringFilter_MatchType = 0
   469  	// Exact match of the string value.
   470  	StringFilter_EXACT StringFilter_MatchType = 1
   471  	// Begins with the string value.
   472  	StringFilter_BEGINS_WITH StringFilter_MatchType = 2
   473  	// Ends with the string value.
   474  	StringFilter_ENDS_WITH StringFilter_MatchType = 3
   475  	// Contains the string value.
   476  	StringFilter_CONTAINS StringFilter_MatchType = 4
   477  	// Full match for the regular expression with the string value.
   478  	StringFilter_FULL_REGEXP StringFilter_MatchType = 5
   479  	// Partial match for the regular expression with the string value.
   480  	StringFilter_PARTIAL_REGEXP StringFilter_MatchType = 6
   481  )
   482  
   483  // Enum value maps for StringFilter_MatchType.
   484  var (
   485  	StringFilter_MatchType_name = map[int32]string{
   486  		0: "MATCH_TYPE_UNSPECIFIED",
   487  		1: "EXACT",
   488  		2: "BEGINS_WITH",
   489  		3: "ENDS_WITH",
   490  		4: "CONTAINS",
   491  		5: "FULL_REGEXP",
   492  		6: "PARTIAL_REGEXP",
   493  	}
   494  	StringFilter_MatchType_value = map[string]int32{
   495  		"MATCH_TYPE_UNSPECIFIED": 0,
   496  		"EXACT":                  1,
   497  		"BEGINS_WITH":            2,
   498  		"ENDS_WITH":              3,
   499  		"CONTAINS":               4,
   500  		"FULL_REGEXP":            5,
   501  		"PARTIAL_REGEXP":         6,
   502  	}
   503  )
   504  
   505  func (x StringFilter_MatchType) Enum() *StringFilter_MatchType {
   506  	p := new(StringFilter_MatchType)
   507  	*p = x
   508  	return p
   509  }
   510  
   511  func (x StringFilter_MatchType) String() string {
   512  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   513  }
   514  
   515  func (StringFilter_MatchType) Descriptor() protoreflect.EnumDescriptor {
   516  	return file_google_analytics_data_v1alpha_data_proto_enumTypes[7].Descriptor()
   517  }
   518  
   519  func (StringFilter_MatchType) Type() protoreflect.EnumType {
   520  	return &file_google_analytics_data_v1alpha_data_proto_enumTypes[7]
   521  }
   522  
   523  func (x StringFilter_MatchType) Number() protoreflect.EnumNumber {
   524  	return protoreflect.EnumNumber(x)
   525  }
   526  
   527  // Deprecated: Use StringFilter_MatchType.Descriptor instead.
   528  func (StringFilter_MatchType) EnumDescriptor() ([]byte, []int) {
   529  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{6, 0}
   530  }
   531  
   532  // The operation applied to a numeric filter
   533  type NumericFilter_Operation int32
   534  
   535  const (
   536  	// Unspecified.
   537  	NumericFilter_OPERATION_UNSPECIFIED NumericFilter_Operation = 0
   538  	// Equal
   539  	NumericFilter_EQUAL NumericFilter_Operation = 1
   540  	// Less than
   541  	NumericFilter_LESS_THAN NumericFilter_Operation = 2
   542  	// Less than or equal
   543  	NumericFilter_LESS_THAN_OR_EQUAL NumericFilter_Operation = 3
   544  	// Greater than
   545  	NumericFilter_GREATER_THAN NumericFilter_Operation = 4
   546  	// Greater than or equal
   547  	NumericFilter_GREATER_THAN_OR_EQUAL NumericFilter_Operation = 5
   548  )
   549  
   550  // Enum value maps for NumericFilter_Operation.
   551  var (
   552  	NumericFilter_Operation_name = map[int32]string{
   553  		0: "OPERATION_UNSPECIFIED",
   554  		1: "EQUAL",
   555  		2: "LESS_THAN",
   556  		3: "LESS_THAN_OR_EQUAL",
   557  		4: "GREATER_THAN",
   558  		5: "GREATER_THAN_OR_EQUAL",
   559  	}
   560  	NumericFilter_Operation_value = map[string]int32{
   561  		"OPERATION_UNSPECIFIED": 0,
   562  		"EQUAL":                 1,
   563  		"LESS_THAN":             2,
   564  		"LESS_THAN_OR_EQUAL":    3,
   565  		"GREATER_THAN":          4,
   566  		"GREATER_THAN_OR_EQUAL": 5,
   567  	}
   568  )
   569  
   570  func (x NumericFilter_Operation) Enum() *NumericFilter_Operation {
   571  	p := new(NumericFilter_Operation)
   572  	*p = x
   573  	return p
   574  }
   575  
   576  func (x NumericFilter_Operation) String() string {
   577  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   578  }
   579  
   580  func (NumericFilter_Operation) Descriptor() protoreflect.EnumDescriptor {
   581  	return file_google_analytics_data_v1alpha_data_proto_enumTypes[8].Descriptor()
   582  }
   583  
   584  func (NumericFilter_Operation) Type() protoreflect.EnumType {
   585  	return &file_google_analytics_data_v1alpha_data_proto_enumTypes[8]
   586  }
   587  
   588  func (x NumericFilter_Operation) Number() protoreflect.EnumNumber {
   589  	return protoreflect.EnumNumber(x)
   590  }
   591  
   592  // Deprecated: Use NumericFilter_Operation.Descriptor instead.
   593  func (NumericFilter_Operation) EnumDescriptor() ([]byte, []int) {
   594  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{8, 0}
   595  }
   596  
   597  // A contiguous set of days: startDate, startDate + 1, ..., endDate. Requests
   598  // are allowed up to 4 date ranges.
   599  type DateRange struct {
   600  	state         protoimpl.MessageState
   601  	sizeCache     protoimpl.SizeCache
   602  	unknownFields protoimpl.UnknownFields
   603  
   604  	// The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot
   605  	// be after `end_date`. The format `NdaysAgo`, `yesterday`, or `today` is also
   606  	// accepted, and in that case, the date is inferred based on the property's
   607  	// reporting time zone.
   608  	StartDate string `protobuf:"bytes,1,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
   609  	// The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot
   610  	// be before `start_date`. The format `NdaysAgo`, `yesterday`, or `today` is
   611  	// also accepted, and in that case, the date is inferred based on the
   612  	// property's reporting time zone.
   613  	EndDate string `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
   614  	// Assigns a name to this date range. The dimension `dateRange` is valued to
   615  	// this name in a report response. If set, cannot begin with `date_range_` or
   616  	// `RESERVED_`. If not set, date ranges are named by their zero based index in
   617  	// the request: `date_range_0`, `date_range_1`, etc.
   618  	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   619  }
   620  
   621  func (x *DateRange) Reset() {
   622  	*x = DateRange{}
   623  	if protoimpl.UnsafeEnabled {
   624  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[0]
   625  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   626  		ms.StoreMessageInfo(mi)
   627  	}
   628  }
   629  
   630  func (x *DateRange) String() string {
   631  	return protoimpl.X.MessageStringOf(x)
   632  }
   633  
   634  func (*DateRange) ProtoMessage() {}
   635  
   636  func (x *DateRange) ProtoReflect() protoreflect.Message {
   637  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[0]
   638  	if protoimpl.UnsafeEnabled && x != nil {
   639  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   640  		if ms.LoadMessageInfo() == nil {
   641  			ms.StoreMessageInfo(mi)
   642  		}
   643  		return ms
   644  	}
   645  	return mi.MessageOf(x)
   646  }
   647  
   648  // Deprecated: Use DateRange.ProtoReflect.Descriptor instead.
   649  func (*DateRange) Descriptor() ([]byte, []int) {
   650  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{0}
   651  }
   652  
   653  func (x *DateRange) GetStartDate() string {
   654  	if x != nil {
   655  		return x.StartDate
   656  	}
   657  	return ""
   658  }
   659  
   660  func (x *DateRange) GetEndDate() string {
   661  	if x != nil {
   662  		return x.EndDate
   663  	}
   664  	return ""
   665  }
   666  
   667  func (x *DateRange) GetName() string {
   668  	if x != nil {
   669  		return x.Name
   670  	}
   671  	return ""
   672  }
   673  
   674  // Dimensions are attributes of your data. For example, the dimension city
   675  // indicates the city from which an event originates. Dimension values in report
   676  // responses are strings; for example, the city could be "Paris" or "New York".
   677  type Dimension struct {
   678  	state         protoimpl.MessageState
   679  	sizeCache     protoimpl.SizeCache
   680  	unknownFields protoimpl.UnknownFields
   681  
   682  	// The name of the dimension. See the [API
   683  	// Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions)
   684  	// for the list of dimension names.
   685  	//
   686  	// If `dimensionExpression` is specified, `name` can be any string that you
   687  	// would like within the allowed character set. For example if a
   688  	// `dimensionExpression` concatenates `country` and `city`, you could call
   689  	// that dimension `countryAndCity`. Dimension names that you choose must match
   690  	// the regular expression `^[a-zA-Z0-9_]$`.
   691  	//
   692  	// Dimensions are referenced by `name` in `dimensionFilter`, `orderBys`,
   693  	// `dimensionExpression`, and `pivots`.
   694  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   695  	// One dimension can be the result of an expression of multiple dimensions.
   696  	// For example, dimension "country, city": concatenate(country, ", ", city).
   697  	DimensionExpression *DimensionExpression `protobuf:"bytes,2,opt,name=dimension_expression,json=dimensionExpression,proto3" json:"dimension_expression,omitempty"`
   698  }
   699  
   700  func (x *Dimension) Reset() {
   701  	*x = Dimension{}
   702  	if protoimpl.UnsafeEnabled {
   703  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[1]
   704  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   705  		ms.StoreMessageInfo(mi)
   706  	}
   707  }
   708  
   709  func (x *Dimension) String() string {
   710  	return protoimpl.X.MessageStringOf(x)
   711  }
   712  
   713  func (*Dimension) ProtoMessage() {}
   714  
   715  func (x *Dimension) ProtoReflect() protoreflect.Message {
   716  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[1]
   717  	if protoimpl.UnsafeEnabled && x != nil {
   718  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   719  		if ms.LoadMessageInfo() == nil {
   720  			ms.StoreMessageInfo(mi)
   721  		}
   722  		return ms
   723  	}
   724  	return mi.MessageOf(x)
   725  }
   726  
   727  // Deprecated: Use Dimension.ProtoReflect.Descriptor instead.
   728  func (*Dimension) Descriptor() ([]byte, []int) {
   729  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{1}
   730  }
   731  
   732  func (x *Dimension) GetName() string {
   733  	if x != nil {
   734  		return x.Name
   735  	}
   736  	return ""
   737  }
   738  
   739  func (x *Dimension) GetDimensionExpression() *DimensionExpression {
   740  	if x != nil {
   741  		return x.DimensionExpression
   742  	}
   743  	return nil
   744  }
   745  
   746  // Used to express a dimension which is the result of a formula of multiple
   747  // dimensions. Example usages:
   748  // 1) lower_case(dimension)
   749  // 2) concatenate(dimension1, symbol, dimension2).
   750  type DimensionExpression struct {
   751  	state         protoimpl.MessageState
   752  	sizeCache     protoimpl.SizeCache
   753  	unknownFields protoimpl.UnknownFields
   754  
   755  	// Specify one type of dimension expression for `DimensionExpression`.
   756  	//
   757  	// Types that are assignable to OneExpression:
   758  	//	*DimensionExpression_LowerCase
   759  	//	*DimensionExpression_UpperCase
   760  	//	*DimensionExpression_Concatenate
   761  	OneExpression isDimensionExpression_OneExpression `protobuf_oneof:"one_expression"`
   762  }
   763  
   764  func (x *DimensionExpression) Reset() {
   765  	*x = DimensionExpression{}
   766  	if protoimpl.UnsafeEnabled {
   767  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[2]
   768  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   769  		ms.StoreMessageInfo(mi)
   770  	}
   771  }
   772  
   773  func (x *DimensionExpression) String() string {
   774  	return protoimpl.X.MessageStringOf(x)
   775  }
   776  
   777  func (*DimensionExpression) ProtoMessage() {}
   778  
   779  func (x *DimensionExpression) ProtoReflect() protoreflect.Message {
   780  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[2]
   781  	if protoimpl.UnsafeEnabled && x != nil {
   782  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   783  		if ms.LoadMessageInfo() == nil {
   784  			ms.StoreMessageInfo(mi)
   785  		}
   786  		return ms
   787  	}
   788  	return mi.MessageOf(x)
   789  }
   790  
   791  // Deprecated: Use DimensionExpression.ProtoReflect.Descriptor instead.
   792  func (*DimensionExpression) Descriptor() ([]byte, []int) {
   793  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{2}
   794  }
   795  
   796  func (m *DimensionExpression) GetOneExpression() isDimensionExpression_OneExpression {
   797  	if m != nil {
   798  		return m.OneExpression
   799  	}
   800  	return nil
   801  }
   802  
   803  func (x *DimensionExpression) GetLowerCase() *DimensionExpression_CaseExpression {
   804  	if x, ok := x.GetOneExpression().(*DimensionExpression_LowerCase); ok {
   805  		return x.LowerCase
   806  	}
   807  	return nil
   808  }
   809  
   810  func (x *DimensionExpression) GetUpperCase() *DimensionExpression_CaseExpression {
   811  	if x, ok := x.GetOneExpression().(*DimensionExpression_UpperCase); ok {
   812  		return x.UpperCase
   813  	}
   814  	return nil
   815  }
   816  
   817  func (x *DimensionExpression) GetConcatenate() *DimensionExpression_ConcatenateExpression {
   818  	if x, ok := x.GetOneExpression().(*DimensionExpression_Concatenate); ok {
   819  		return x.Concatenate
   820  	}
   821  	return nil
   822  }
   823  
   824  type isDimensionExpression_OneExpression interface {
   825  	isDimensionExpression_OneExpression()
   826  }
   827  
   828  type DimensionExpression_LowerCase struct {
   829  	// Used to convert a dimension value to lower case.
   830  	LowerCase *DimensionExpression_CaseExpression `protobuf:"bytes,4,opt,name=lower_case,json=lowerCase,proto3,oneof"`
   831  }
   832  
   833  type DimensionExpression_UpperCase struct {
   834  	// Used to convert a dimension value to upper case.
   835  	UpperCase *DimensionExpression_CaseExpression `protobuf:"bytes,5,opt,name=upper_case,json=upperCase,proto3,oneof"`
   836  }
   837  
   838  type DimensionExpression_Concatenate struct {
   839  	// Used to combine dimension values to a single dimension.
   840  	// For example, dimension "country, city": concatenate(country, ", ", city).
   841  	Concatenate *DimensionExpression_ConcatenateExpression `protobuf:"bytes,6,opt,name=concatenate,proto3,oneof"`
   842  }
   843  
   844  func (*DimensionExpression_LowerCase) isDimensionExpression_OneExpression() {}
   845  
   846  func (*DimensionExpression_UpperCase) isDimensionExpression_OneExpression() {}
   847  
   848  func (*DimensionExpression_Concatenate) isDimensionExpression_OneExpression() {}
   849  
   850  // To express dimension or metric filters. The fields in the same
   851  // FilterExpression need to be either all dimensions or all metrics.
   852  type FilterExpression struct {
   853  	state         protoimpl.MessageState
   854  	sizeCache     protoimpl.SizeCache
   855  	unknownFields protoimpl.UnknownFields
   856  
   857  	// Specify one type of filter expression for `FilterExpression`.
   858  	//
   859  	// Types that are assignable to Expr:
   860  	//	*FilterExpression_AndGroup
   861  	//	*FilterExpression_OrGroup
   862  	//	*FilterExpression_NotExpression
   863  	//	*FilterExpression_Filter
   864  	Expr isFilterExpression_Expr `protobuf_oneof:"expr"`
   865  }
   866  
   867  func (x *FilterExpression) Reset() {
   868  	*x = FilterExpression{}
   869  	if protoimpl.UnsafeEnabled {
   870  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[3]
   871  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   872  		ms.StoreMessageInfo(mi)
   873  	}
   874  }
   875  
   876  func (x *FilterExpression) String() string {
   877  	return protoimpl.X.MessageStringOf(x)
   878  }
   879  
   880  func (*FilterExpression) ProtoMessage() {}
   881  
   882  func (x *FilterExpression) ProtoReflect() protoreflect.Message {
   883  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[3]
   884  	if protoimpl.UnsafeEnabled && x != nil {
   885  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   886  		if ms.LoadMessageInfo() == nil {
   887  			ms.StoreMessageInfo(mi)
   888  		}
   889  		return ms
   890  	}
   891  	return mi.MessageOf(x)
   892  }
   893  
   894  // Deprecated: Use FilterExpression.ProtoReflect.Descriptor instead.
   895  func (*FilterExpression) Descriptor() ([]byte, []int) {
   896  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{3}
   897  }
   898  
   899  func (m *FilterExpression) GetExpr() isFilterExpression_Expr {
   900  	if m != nil {
   901  		return m.Expr
   902  	}
   903  	return nil
   904  }
   905  
   906  func (x *FilterExpression) GetAndGroup() *FilterExpressionList {
   907  	if x, ok := x.GetExpr().(*FilterExpression_AndGroup); ok {
   908  		return x.AndGroup
   909  	}
   910  	return nil
   911  }
   912  
   913  func (x *FilterExpression) GetOrGroup() *FilterExpressionList {
   914  	if x, ok := x.GetExpr().(*FilterExpression_OrGroup); ok {
   915  		return x.OrGroup
   916  	}
   917  	return nil
   918  }
   919  
   920  func (x *FilterExpression) GetNotExpression() *FilterExpression {
   921  	if x, ok := x.GetExpr().(*FilterExpression_NotExpression); ok {
   922  		return x.NotExpression
   923  	}
   924  	return nil
   925  }
   926  
   927  func (x *FilterExpression) GetFilter() *Filter {
   928  	if x, ok := x.GetExpr().(*FilterExpression_Filter); ok {
   929  		return x.Filter
   930  	}
   931  	return nil
   932  }
   933  
   934  type isFilterExpression_Expr interface {
   935  	isFilterExpression_Expr()
   936  }
   937  
   938  type FilterExpression_AndGroup struct {
   939  	// The FilterExpressions in and_group have an AND relationship.
   940  	AndGroup *FilterExpressionList `protobuf:"bytes,1,opt,name=and_group,json=andGroup,proto3,oneof"`
   941  }
   942  
   943  type FilterExpression_OrGroup struct {
   944  	// The FilterExpressions in or_group have an OR relationship.
   945  	OrGroup *FilterExpressionList `protobuf:"bytes,2,opt,name=or_group,json=orGroup,proto3,oneof"`
   946  }
   947  
   948  type FilterExpression_NotExpression struct {
   949  	// The FilterExpression is NOT of not_expression.
   950  	NotExpression *FilterExpression `protobuf:"bytes,3,opt,name=not_expression,json=notExpression,proto3,oneof"`
   951  }
   952  
   953  type FilterExpression_Filter struct {
   954  	// A primitive filter. In the same FilterExpression, all of the filter's
   955  	// field names need to be either all dimensions or all metrics.
   956  	Filter *Filter `protobuf:"bytes,4,opt,name=filter,proto3,oneof"`
   957  }
   958  
   959  func (*FilterExpression_AndGroup) isFilterExpression_Expr() {}
   960  
   961  func (*FilterExpression_OrGroup) isFilterExpression_Expr() {}
   962  
   963  func (*FilterExpression_NotExpression) isFilterExpression_Expr() {}
   964  
   965  func (*FilterExpression_Filter) isFilterExpression_Expr() {}
   966  
   967  // A list of filter expressions.
   968  type FilterExpressionList struct {
   969  	state         protoimpl.MessageState
   970  	sizeCache     protoimpl.SizeCache
   971  	unknownFields protoimpl.UnknownFields
   972  
   973  	// A list of filter expressions.
   974  	Expressions []*FilterExpression `protobuf:"bytes,1,rep,name=expressions,proto3" json:"expressions,omitempty"`
   975  }
   976  
   977  func (x *FilterExpressionList) Reset() {
   978  	*x = FilterExpressionList{}
   979  	if protoimpl.UnsafeEnabled {
   980  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[4]
   981  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   982  		ms.StoreMessageInfo(mi)
   983  	}
   984  }
   985  
   986  func (x *FilterExpressionList) String() string {
   987  	return protoimpl.X.MessageStringOf(x)
   988  }
   989  
   990  func (*FilterExpressionList) ProtoMessage() {}
   991  
   992  func (x *FilterExpressionList) ProtoReflect() protoreflect.Message {
   993  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[4]
   994  	if protoimpl.UnsafeEnabled && x != nil {
   995  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   996  		if ms.LoadMessageInfo() == nil {
   997  			ms.StoreMessageInfo(mi)
   998  		}
   999  		return ms
  1000  	}
  1001  	return mi.MessageOf(x)
  1002  }
  1003  
  1004  // Deprecated: Use FilterExpressionList.ProtoReflect.Descriptor instead.
  1005  func (*FilterExpressionList) Descriptor() ([]byte, []int) {
  1006  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{4}
  1007  }
  1008  
  1009  func (x *FilterExpressionList) GetExpressions() []*FilterExpression {
  1010  	if x != nil {
  1011  		return x.Expressions
  1012  	}
  1013  	return nil
  1014  }
  1015  
  1016  // An expression to filter dimension or metric values.
  1017  type Filter struct {
  1018  	state         protoimpl.MessageState
  1019  	sizeCache     protoimpl.SizeCache
  1020  	unknownFields protoimpl.UnknownFields
  1021  
  1022  	// The dimension name or metric name. Must be a name defined in dimensions
  1023  	// or metrics.
  1024  	FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"`
  1025  	// Specify one type of filter for `Filter`.
  1026  	//
  1027  	// Types that are assignable to OneFilter:
  1028  	//	*Filter_StringFilter
  1029  	//	*Filter_InListFilter
  1030  	//	*Filter_NumericFilter
  1031  	//	*Filter_BetweenFilter
  1032  	OneFilter isFilter_OneFilter `protobuf_oneof:"one_filter"`
  1033  }
  1034  
  1035  func (x *Filter) Reset() {
  1036  	*x = Filter{}
  1037  	if protoimpl.UnsafeEnabled {
  1038  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[5]
  1039  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1040  		ms.StoreMessageInfo(mi)
  1041  	}
  1042  }
  1043  
  1044  func (x *Filter) String() string {
  1045  	return protoimpl.X.MessageStringOf(x)
  1046  }
  1047  
  1048  func (*Filter) ProtoMessage() {}
  1049  
  1050  func (x *Filter) ProtoReflect() protoreflect.Message {
  1051  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[5]
  1052  	if protoimpl.UnsafeEnabled && x != nil {
  1053  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1054  		if ms.LoadMessageInfo() == nil {
  1055  			ms.StoreMessageInfo(mi)
  1056  		}
  1057  		return ms
  1058  	}
  1059  	return mi.MessageOf(x)
  1060  }
  1061  
  1062  // Deprecated: Use Filter.ProtoReflect.Descriptor instead.
  1063  func (*Filter) Descriptor() ([]byte, []int) {
  1064  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{5}
  1065  }
  1066  
  1067  func (x *Filter) GetFieldName() string {
  1068  	if x != nil {
  1069  		return x.FieldName
  1070  	}
  1071  	return ""
  1072  }
  1073  
  1074  func (m *Filter) GetOneFilter() isFilter_OneFilter {
  1075  	if m != nil {
  1076  		return m.OneFilter
  1077  	}
  1078  	return nil
  1079  }
  1080  
  1081  func (x *Filter) GetStringFilter() *StringFilter {
  1082  	if x, ok := x.GetOneFilter().(*Filter_StringFilter); ok {
  1083  		return x.StringFilter
  1084  	}
  1085  	return nil
  1086  }
  1087  
  1088  func (x *Filter) GetInListFilter() *InListFilter {
  1089  	if x, ok := x.GetOneFilter().(*Filter_InListFilter); ok {
  1090  		return x.InListFilter
  1091  	}
  1092  	return nil
  1093  }
  1094  
  1095  func (x *Filter) GetNumericFilter() *NumericFilter {
  1096  	if x, ok := x.GetOneFilter().(*Filter_NumericFilter); ok {
  1097  		return x.NumericFilter
  1098  	}
  1099  	return nil
  1100  }
  1101  
  1102  func (x *Filter) GetBetweenFilter() *BetweenFilter {
  1103  	if x, ok := x.GetOneFilter().(*Filter_BetweenFilter); ok {
  1104  		return x.BetweenFilter
  1105  	}
  1106  	return nil
  1107  }
  1108  
  1109  type isFilter_OneFilter interface {
  1110  	isFilter_OneFilter()
  1111  }
  1112  
  1113  type Filter_StringFilter struct {
  1114  	// Strings related filter.
  1115  	StringFilter *StringFilter `protobuf:"bytes,2,opt,name=string_filter,json=stringFilter,proto3,oneof"`
  1116  }
  1117  
  1118  type Filter_InListFilter struct {
  1119  	// A filter for in list values.
  1120  	InListFilter *InListFilter `protobuf:"bytes,3,opt,name=in_list_filter,json=inListFilter,proto3,oneof"`
  1121  }
  1122  
  1123  type Filter_NumericFilter struct {
  1124  	// A filter for numeric or date values.
  1125  	NumericFilter *NumericFilter `protobuf:"bytes,4,opt,name=numeric_filter,json=numericFilter,proto3,oneof"`
  1126  }
  1127  
  1128  type Filter_BetweenFilter struct {
  1129  	// A filter for between two values.
  1130  	BetweenFilter *BetweenFilter `protobuf:"bytes,5,opt,name=between_filter,json=betweenFilter,proto3,oneof"`
  1131  }
  1132  
  1133  func (*Filter_StringFilter) isFilter_OneFilter() {}
  1134  
  1135  func (*Filter_InListFilter) isFilter_OneFilter() {}
  1136  
  1137  func (*Filter_NumericFilter) isFilter_OneFilter() {}
  1138  
  1139  func (*Filter_BetweenFilter) isFilter_OneFilter() {}
  1140  
  1141  // The filter for string
  1142  type StringFilter struct {
  1143  	state         protoimpl.MessageState
  1144  	sizeCache     protoimpl.SizeCache
  1145  	unknownFields protoimpl.UnknownFields
  1146  
  1147  	// The match type for this filter.
  1148  	MatchType StringFilter_MatchType `protobuf:"varint,1,opt,name=match_type,json=matchType,proto3,enum=google.analytics.data.v1alpha.StringFilter_MatchType" json:"match_type,omitempty"`
  1149  	// The string value used for the matching.
  1150  	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  1151  	// If true, the string value is case sensitive.
  1152  	CaseSensitive bool `protobuf:"varint,3,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"`
  1153  }
  1154  
  1155  func (x *StringFilter) Reset() {
  1156  	*x = StringFilter{}
  1157  	if protoimpl.UnsafeEnabled {
  1158  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[6]
  1159  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1160  		ms.StoreMessageInfo(mi)
  1161  	}
  1162  }
  1163  
  1164  func (x *StringFilter) String() string {
  1165  	return protoimpl.X.MessageStringOf(x)
  1166  }
  1167  
  1168  func (*StringFilter) ProtoMessage() {}
  1169  
  1170  func (x *StringFilter) ProtoReflect() protoreflect.Message {
  1171  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[6]
  1172  	if protoimpl.UnsafeEnabled && x != nil {
  1173  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1174  		if ms.LoadMessageInfo() == nil {
  1175  			ms.StoreMessageInfo(mi)
  1176  		}
  1177  		return ms
  1178  	}
  1179  	return mi.MessageOf(x)
  1180  }
  1181  
  1182  // Deprecated: Use StringFilter.ProtoReflect.Descriptor instead.
  1183  func (*StringFilter) Descriptor() ([]byte, []int) {
  1184  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{6}
  1185  }
  1186  
  1187  func (x *StringFilter) GetMatchType() StringFilter_MatchType {
  1188  	if x != nil {
  1189  		return x.MatchType
  1190  	}
  1191  	return StringFilter_MATCH_TYPE_UNSPECIFIED
  1192  }
  1193  
  1194  func (x *StringFilter) GetValue() string {
  1195  	if x != nil {
  1196  		return x.Value
  1197  	}
  1198  	return ""
  1199  }
  1200  
  1201  func (x *StringFilter) GetCaseSensitive() bool {
  1202  	if x != nil {
  1203  		return x.CaseSensitive
  1204  	}
  1205  	return false
  1206  }
  1207  
  1208  // The result needs to be in a list of string values.
  1209  type InListFilter struct {
  1210  	state         protoimpl.MessageState
  1211  	sizeCache     protoimpl.SizeCache
  1212  	unknownFields protoimpl.UnknownFields
  1213  
  1214  	// The list of string values.
  1215  	// Must be non-empty.
  1216  	Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
  1217  	// If true, the string value is case sensitive.
  1218  	CaseSensitive bool `protobuf:"varint,2,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"`
  1219  }
  1220  
  1221  func (x *InListFilter) Reset() {
  1222  	*x = InListFilter{}
  1223  	if protoimpl.UnsafeEnabled {
  1224  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[7]
  1225  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1226  		ms.StoreMessageInfo(mi)
  1227  	}
  1228  }
  1229  
  1230  func (x *InListFilter) String() string {
  1231  	return protoimpl.X.MessageStringOf(x)
  1232  }
  1233  
  1234  func (*InListFilter) ProtoMessage() {}
  1235  
  1236  func (x *InListFilter) ProtoReflect() protoreflect.Message {
  1237  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[7]
  1238  	if protoimpl.UnsafeEnabled && x != nil {
  1239  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1240  		if ms.LoadMessageInfo() == nil {
  1241  			ms.StoreMessageInfo(mi)
  1242  		}
  1243  		return ms
  1244  	}
  1245  	return mi.MessageOf(x)
  1246  }
  1247  
  1248  // Deprecated: Use InListFilter.ProtoReflect.Descriptor instead.
  1249  func (*InListFilter) Descriptor() ([]byte, []int) {
  1250  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{7}
  1251  }
  1252  
  1253  func (x *InListFilter) GetValues() []string {
  1254  	if x != nil {
  1255  		return x.Values
  1256  	}
  1257  	return nil
  1258  }
  1259  
  1260  func (x *InListFilter) GetCaseSensitive() bool {
  1261  	if x != nil {
  1262  		return x.CaseSensitive
  1263  	}
  1264  	return false
  1265  }
  1266  
  1267  // Filters for numeric or date values.
  1268  type NumericFilter struct {
  1269  	state         protoimpl.MessageState
  1270  	sizeCache     protoimpl.SizeCache
  1271  	unknownFields protoimpl.UnknownFields
  1272  
  1273  	// The operation type for this filter.
  1274  	Operation NumericFilter_Operation `protobuf:"varint,1,opt,name=operation,proto3,enum=google.analytics.data.v1alpha.NumericFilter_Operation" json:"operation,omitempty"`
  1275  	// A numeric value or a date value.
  1276  	Value *NumericValue `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  1277  }
  1278  
  1279  func (x *NumericFilter) Reset() {
  1280  	*x = NumericFilter{}
  1281  	if protoimpl.UnsafeEnabled {
  1282  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[8]
  1283  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1284  		ms.StoreMessageInfo(mi)
  1285  	}
  1286  }
  1287  
  1288  func (x *NumericFilter) String() string {
  1289  	return protoimpl.X.MessageStringOf(x)
  1290  }
  1291  
  1292  func (*NumericFilter) ProtoMessage() {}
  1293  
  1294  func (x *NumericFilter) ProtoReflect() protoreflect.Message {
  1295  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[8]
  1296  	if protoimpl.UnsafeEnabled && x != nil {
  1297  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1298  		if ms.LoadMessageInfo() == nil {
  1299  			ms.StoreMessageInfo(mi)
  1300  		}
  1301  		return ms
  1302  	}
  1303  	return mi.MessageOf(x)
  1304  }
  1305  
  1306  // Deprecated: Use NumericFilter.ProtoReflect.Descriptor instead.
  1307  func (*NumericFilter) Descriptor() ([]byte, []int) {
  1308  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{8}
  1309  }
  1310  
  1311  func (x *NumericFilter) GetOperation() NumericFilter_Operation {
  1312  	if x != nil {
  1313  		return x.Operation
  1314  	}
  1315  	return NumericFilter_OPERATION_UNSPECIFIED
  1316  }
  1317  
  1318  func (x *NumericFilter) GetValue() *NumericValue {
  1319  	if x != nil {
  1320  		return x.Value
  1321  	}
  1322  	return nil
  1323  }
  1324  
  1325  // To express that the result needs to be between two numbers (inclusive).
  1326  type BetweenFilter struct {
  1327  	state         protoimpl.MessageState
  1328  	sizeCache     protoimpl.SizeCache
  1329  	unknownFields protoimpl.UnknownFields
  1330  
  1331  	// Begins with this number.
  1332  	FromValue *NumericValue `protobuf:"bytes,1,opt,name=from_value,json=fromValue,proto3" json:"from_value,omitempty"`
  1333  	// Ends with this number.
  1334  	ToValue *NumericValue `protobuf:"bytes,2,opt,name=to_value,json=toValue,proto3" json:"to_value,omitempty"`
  1335  }
  1336  
  1337  func (x *BetweenFilter) Reset() {
  1338  	*x = BetweenFilter{}
  1339  	if protoimpl.UnsafeEnabled {
  1340  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[9]
  1341  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1342  		ms.StoreMessageInfo(mi)
  1343  	}
  1344  }
  1345  
  1346  func (x *BetweenFilter) String() string {
  1347  	return protoimpl.X.MessageStringOf(x)
  1348  }
  1349  
  1350  func (*BetweenFilter) ProtoMessage() {}
  1351  
  1352  func (x *BetweenFilter) ProtoReflect() protoreflect.Message {
  1353  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[9]
  1354  	if protoimpl.UnsafeEnabled && x != nil {
  1355  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1356  		if ms.LoadMessageInfo() == nil {
  1357  			ms.StoreMessageInfo(mi)
  1358  		}
  1359  		return ms
  1360  	}
  1361  	return mi.MessageOf(x)
  1362  }
  1363  
  1364  // Deprecated: Use BetweenFilter.ProtoReflect.Descriptor instead.
  1365  func (*BetweenFilter) Descriptor() ([]byte, []int) {
  1366  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{9}
  1367  }
  1368  
  1369  func (x *BetweenFilter) GetFromValue() *NumericValue {
  1370  	if x != nil {
  1371  		return x.FromValue
  1372  	}
  1373  	return nil
  1374  }
  1375  
  1376  func (x *BetweenFilter) GetToValue() *NumericValue {
  1377  	if x != nil {
  1378  		return x.ToValue
  1379  	}
  1380  	return nil
  1381  }
  1382  
  1383  // To represent a number.
  1384  type NumericValue struct {
  1385  	state         protoimpl.MessageState
  1386  	sizeCache     protoimpl.SizeCache
  1387  	unknownFields protoimpl.UnknownFields
  1388  
  1389  	// One of a numeric value
  1390  	//
  1391  	// Types that are assignable to OneValue:
  1392  	//	*NumericValue_Int64Value
  1393  	//	*NumericValue_DoubleValue
  1394  	OneValue isNumericValue_OneValue `protobuf_oneof:"one_value"`
  1395  }
  1396  
  1397  func (x *NumericValue) Reset() {
  1398  	*x = NumericValue{}
  1399  	if protoimpl.UnsafeEnabled {
  1400  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[10]
  1401  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1402  		ms.StoreMessageInfo(mi)
  1403  	}
  1404  }
  1405  
  1406  func (x *NumericValue) String() string {
  1407  	return protoimpl.X.MessageStringOf(x)
  1408  }
  1409  
  1410  func (*NumericValue) ProtoMessage() {}
  1411  
  1412  func (x *NumericValue) ProtoReflect() protoreflect.Message {
  1413  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[10]
  1414  	if protoimpl.UnsafeEnabled && x != nil {
  1415  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1416  		if ms.LoadMessageInfo() == nil {
  1417  			ms.StoreMessageInfo(mi)
  1418  		}
  1419  		return ms
  1420  	}
  1421  	return mi.MessageOf(x)
  1422  }
  1423  
  1424  // Deprecated: Use NumericValue.ProtoReflect.Descriptor instead.
  1425  func (*NumericValue) Descriptor() ([]byte, []int) {
  1426  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{10}
  1427  }
  1428  
  1429  func (m *NumericValue) GetOneValue() isNumericValue_OneValue {
  1430  	if m != nil {
  1431  		return m.OneValue
  1432  	}
  1433  	return nil
  1434  }
  1435  
  1436  func (x *NumericValue) GetInt64Value() int64 {
  1437  	if x, ok := x.GetOneValue().(*NumericValue_Int64Value); ok {
  1438  		return x.Int64Value
  1439  	}
  1440  	return 0
  1441  }
  1442  
  1443  func (x *NumericValue) GetDoubleValue() float64 {
  1444  	if x, ok := x.GetOneValue().(*NumericValue_DoubleValue); ok {
  1445  		return x.DoubleValue
  1446  	}
  1447  	return 0
  1448  }
  1449  
  1450  type isNumericValue_OneValue interface {
  1451  	isNumericValue_OneValue()
  1452  }
  1453  
  1454  type NumericValue_Int64Value struct {
  1455  	// Integer value
  1456  	Int64Value int64 `protobuf:"varint,1,opt,name=int64_value,json=int64Value,proto3,oneof"`
  1457  }
  1458  
  1459  type NumericValue_DoubleValue struct {
  1460  	// Double value
  1461  	DoubleValue float64 `protobuf:"fixed64,2,opt,name=double_value,json=doubleValue,proto3,oneof"`
  1462  }
  1463  
  1464  func (*NumericValue_Int64Value) isNumericValue_OneValue() {}
  1465  
  1466  func (*NumericValue_DoubleValue) isNumericValue_OneValue() {}
  1467  
  1468  // Describes a dimension column in the report. Dimensions requested in a report
  1469  // produce column entries within rows and DimensionHeaders. However, dimensions
  1470  // used exclusively within filters or expressions do not produce columns in a
  1471  // report; correspondingly, those dimensions do not produce headers.
  1472  type DimensionHeader struct {
  1473  	state         protoimpl.MessageState
  1474  	sizeCache     protoimpl.SizeCache
  1475  	unknownFields protoimpl.UnknownFields
  1476  
  1477  	// The dimension's name.
  1478  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1479  }
  1480  
  1481  func (x *DimensionHeader) Reset() {
  1482  	*x = DimensionHeader{}
  1483  	if protoimpl.UnsafeEnabled {
  1484  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[11]
  1485  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1486  		ms.StoreMessageInfo(mi)
  1487  	}
  1488  }
  1489  
  1490  func (x *DimensionHeader) String() string {
  1491  	return protoimpl.X.MessageStringOf(x)
  1492  }
  1493  
  1494  func (*DimensionHeader) ProtoMessage() {}
  1495  
  1496  func (x *DimensionHeader) ProtoReflect() protoreflect.Message {
  1497  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[11]
  1498  	if protoimpl.UnsafeEnabled && x != nil {
  1499  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1500  		if ms.LoadMessageInfo() == nil {
  1501  			ms.StoreMessageInfo(mi)
  1502  		}
  1503  		return ms
  1504  	}
  1505  	return mi.MessageOf(x)
  1506  }
  1507  
  1508  // Deprecated: Use DimensionHeader.ProtoReflect.Descriptor instead.
  1509  func (*DimensionHeader) Descriptor() ([]byte, []int) {
  1510  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{11}
  1511  }
  1512  
  1513  func (x *DimensionHeader) GetName() string {
  1514  	if x != nil {
  1515  		return x.Name
  1516  	}
  1517  	return ""
  1518  }
  1519  
  1520  // Describes a metric column in the report. Visible metrics requested in a
  1521  // report produce column entries within rows and MetricHeaders. However,
  1522  // metrics used exclusively within filters or expressions do not produce columns
  1523  // in a report; correspondingly, those metrics do not produce headers.
  1524  type MetricHeader struct {
  1525  	state         protoimpl.MessageState
  1526  	sizeCache     protoimpl.SizeCache
  1527  	unknownFields protoimpl.UnknownFields
  1528  
  1529  	// The metric's name.
  1530  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1531  	// The metric's data type.
  1532  	Type MetricType `protobuf:"varint,2,opt,name=type,proto3,enum=google.analytics.data.v1alpha.MetricType" json:"type,omitempty"`
  1533  }
  1534  
  1535  func (x *MetricHeader) Reset() {
  1536  	*x = MetricHeader{}
  1537  	if protoimpl.UnsafeEnabled {
  1538  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[12]
  1539  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1540  		ms.StoreMessageInfo(mi)
  1541  	}
  1542  }
  1543  
  1544  func (x *MetricHeader) String() string {
  1545  	return protoimpl.X.MessageStringOf(x)
  1546  }
  1547  
  1548  func (*MetricHeader) ProtoMessage() {}
  1549  
  1550  func (x *MetricHeader) ProtoReflect() protoreflect.Message {
  1551  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[12]
  1552  	if protoimpl.UnsafeEnabled && x != nil {
  1553  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1554  		if ms.LoadMessageInfo() == nil {
  1555  			ms.StoreMessageInfo(mi)
  1556  		}
  1557  		return ms
  1558  	}
  1559  	return mi.MessageOf(x)
  1560  }
  1561  
  1562  // Deprecated: Use MetricHeader.ProtoReflect.Descriptor instead.
  1563  func (*MetricHeader) Descriptor() ([]byte, []int) {
  1564  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{12}
  1565  }
  1566  
  1567  func (x *MetricHeader) GetName() string {
  1568  	if x != nil {
  1569  		return x.Name
  1570  	}
  1571  	return ""
  1572  }
  1573  
  1574  func (x *MetricHeader) GetType() MetricType {
  1575  	if x != nil {
  1576  		return x.Type
  1577  	}
  1578  	return MetricType_METRIC_TYPE_UNSPECIFIED
  1579  }
  1580  
  1581  // Report data for each row.
  1582  // For example if RunReportRequest contains:
  1583  //
  1584  // ```none
  1585  // "dimensions": [
  1586  //
  1587  //	{
  1588  //	  "name": "eventName"
  1589  //	},
  1590  //	{
  1591  //	  "name": "countryId"
  1592  //	}
  1593  //
  1594  // ],
  1595  // "metrics": [
  1596  //
  1597  //	{
  1598  //	  "name": "eventCount"
  1599  //	}
  1600  //
  1601  // ]
  1602  // ```
  1603  //
  1604  // One row with 'in_app_purchase' as the eventName, 'JP' as the countryId, and
  1605  // 15 as the eventCount, would be:
  1606  //
  1607  // ```none
  1608  // "dimensionValues": [
  1609  //
  1610  //	{
  1611  //	  "value": "in_app_purchase"
  1612  //	},
  1613  //	{
  1614  //	  "value": "JP"
  1615  //	}
  1616  //
  1617  // ],
  1618  // "metricValues": [
  1619  //
  1620  //	{
  1621  //	  "value": "15"
  1622  //	}
  1623  //
  1624  // ]
  1625  // ```
  1626  type Row struct {
  1627  	state         protoimpl.MessageState
  1628  	sizeCache     protoimpl.SizeCache
  1629  	unknownFields protoimpl.UnknownFields
  1630  
  1631  	// List of requested dimension values. In a PivotReport, dimension_values
  1632  	// are only listed for dimensions included in a pivot.
  1633  	DimensionValues []*DimensionValue `protobuf:"bytes,1,rep,name=dimension_values,json=dimensionValues,proto3" json:"dimension_values,omitempty"`
  1634  	// List of requested visible metric values.
  1635  	MetricValues []*MetricValue `protobuf:"bytes,2,rep,name=metric_values,json=metricValues,proto3" json:"metric_values,omitempty"`
  1636  }
  1637  
  1638  func (x *Row) Reset() {
  1639  	*x = Row{}
  1640  	if protoimpl.UnsafeEnabled {
  1641  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[13]
  1642  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1643  		ms.StoreMessageInfo(mi)
  1644  	}
  1645  }
  1646  
  1647  func (x *Row) String() string {
  1648  	return protoimpl.X.MessageStringOf(x)
  1649  }
  1650  
  1651  func (*Row) ProtoMessage() {}
  1652  
  1653  func (x *Row) ProtoReflect() protoreflect.Message {
  1654  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[13]
  1655  	if protoimpl.UnsafeEnabled && x != nil {
  1656  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1657  		if ms.LoadMessageInfo() == nil {
  1658  			ms.StoreMessageInfo(mi)
  1659  		}
  1660  		return ms
  1661  	}
  1662  	return mi.MessageOf(x)
  1663  }
  1664  
  1665  // Deprecated: Use Row.ProtoReflect.Descriptor instead.
  1666  func (*Row) Descriptor() ([]byte, []int) {
  1667  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{13}
  1668  }
  1669  
  1670  func (x *Row) GetDimensionValues() []*DimensionValue {
  1671  	if x != nil {
  1672  		return x.DimensionValues
  1673  	}
  1674  	return nil
  1675  }
  1676  
  1677  func (x *Row) GetMetricValues() []*MetricValue {
  1678  	if x != nil {
  1679  		return x.MetricValues
  1680  	}
  1681  	return nil
  1682  }
  1683  
  1684  // The value of a dimension.
  1685  type DimensionValue struct {
  1686  	state         protoimpl.MessageState
  1687  	sizeCache     protoimpl.SizeCache
  1688  	unknownFields protoimpl.UnknownFields
  1689  
  1690  	// One kind of dimension value
  1691  	//
  1692  	// Types that are assignable to OneValue:
  1693  	//	*DimensionValue_Value
  1694  	OneValue isDimensionValue_OneValue `protobuf_oneof:"one_value"`
  1695  }
  1696  
  1697  func (x *DimensionValue) Reset() {
  1698  	*x = DimensionValue{}
  1699  	if protoimpl.UnsafeEnabled {
  1700  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[14]
  1701  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1702  		ms.StoreMessageInfo(mi)
  1703  	}
  1704  }
  1705  
  1706  func (x *DimensionValue) String() string {
  1707  	return protoimpl.X.MessageStringOf(x)
  1708  }
  1709  
  1710  func (*DimensionValue) ProtoMessage() {}
  1711  
  1712  func (x *DimensionValue) ProtoReflect() protoreflect.Message {
  1713  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[14]
  1714  	if protoimpl.UnsafeEnabled && x != nil {
  1715  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1716  		if ms.LoadMessageInfo() == nil {
  1717  			ms.StoreMessageInfo(mi)
  1718  		}
  1719  		return ms
  1720  	}
  1721  	return mi.MessageOf(x)
  1722  }
  1723  
  1724  // Deprecated: Use DimensionValue.ProtoReflect.Descriptor instead.
  1725  func (*DimensionValue) Descriptor() ([]byte, []int) {
  1726  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{14}
  1727  }
  1728  
  1729  func (m *DimensionValue) GetOneValue() isDimensionValue_OneValue {
  1730  	if m != nil {
  1731  		return m.OneValue
  1732  	}
  1733  	return nil
  1734  }
  1735  
  1736  func (x *DimensionValue) GetValue() string {
  1737  	if x, ok := x.GetOneValue().(*DimensionValue_Value); ok {
  1738  		return x.Value
  1739  	}
  1740  	return ""
  1741  }
  1742  
  1743  type isDimensionValue_OneValue interface {
  1744  	isDimensionValue_OneValue()
  1745  }
  1746  
  1747  type DimensionValue_Value struct {
  1748  	// Value as a string if the dimension type is a string.
  1749  	Value string `protobuf:"bytes,1,opt,name=value,proto3,oneof"`
  1750  }
  1751  
  1752  func (*DimensionValue_Value) isDimensionValue_OneValue() {}
  1753  
  1754  // The value of a metric.
  1755  type MetricValue struct {
  1756  	state         protoimpl.MessageState
  1757  	sizeCache     protoimpl.SizeCache
  1758  	unknownFields protoimpl.UnknownFields
  1759  
  1760  	// One of metric value
  1761  	//
  1762  	// Types that are assignable to OneValue:
  1763  	//	*MetricValue_Value
  1764  	OneValue isMetricValue_OneValue `protobuf_oneof:"one_value"`
  1765  }
  1766  
  1767  func (x *MetricValue) Reset() {
  1768  	*x = MetricValue{}
  1769  	if protoimpl.UnsafeEnabled {
  1770  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[15]
  1771  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1772  		ms.StoreMessageInfo(mi)
  1773  	}
  1774  }
  1775  
  1776  func (x *MetricValue) String() string {
  1777  	return protoimpl.X.MessageStringOf(x)
  1778  }
  1779  
  1780  func (*MetricValue) ProtoMessage() {}
  1781  
  1782  func (x *MetricValue) ProtoReflect() protoreflect.Message {
  1783  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[15]
  1784  	if protoimpl.UnsafeEnabled && x != nil {
  1785  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1786  		if ms.LoadMessageInfo() == nil {
  1787  			ms.StoreMessageInfo(mi)
  1788  		}
  1789  		return ms
  1790  	}
  1791  	return mi.MessageOf(x)
  1792  }
  1793  
  1794  // Deprecated: Use MetricValue.ProtoReflect.Descriptor instead.
  1795  func (*MetricValue) Descriptor() ([]byte, []int) {
  1796  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{15}
  1797  }
  1798  
  1799  func (m *MetricValue) GetOneValue() isMetricValue_OneValue {
  1800  	if m != nil {
  1801  		return m.OneValue
  1802  	}
  1803  	return nil
  1804  }
  1805  
  1806  func (x *MetricValue) GetValue() string {
  1807  	if x, ok := x.GetOneValue().(*MetricValue_Value); ok {
  1808  		return x.Value
  1809  	}
  1810  	return ""
  1811  }
  1812  
  1813  type isMetricValue_OneValue interface {
  1814  	isMetricValue_OneValue()
  1815  }
  1816  
  1817  type MetricValue_Value struct {
  1818  	// Measurement value. See MetricHeader for type.
  1819  	Value string `protobuf:"bytes,4,opt,name=value,proto3,oneof"`
  1820  }
  1821  
  1822  func (*MetricValue_Value) isMetricValue_OneValue() {}
  1823  
  1824  // Current state of all quotas for this Analytics Property. If any quota for a
  1825  // property is exhausted, all requests to that property will return Resource
  1826  // Exhausted errors.
  1827  type PropertyQuota struct {
  1828  	state         protoimpl.MessageState
  1829  	sizeCache     protoimpl.SizeCache
  1830  	unknownFields protoimpl.UnknownFields
  1831  
  1832  	// Standard Analytics Properties can use up to 25,000 tokens per day;
  1833  	// Analytics 360 Properties can use 250,000 tokens per day. Most requests
  1834  	// consume fewer than 10 tokens.
  1835  	TokensPerDay *QuotaStatus `protobuf:"bytes,1,opt,name=tokens_per_day,json=tokensPerDay,proto3" json:"tokens_per_day,omitempty"`
  1836  	// Standard Analytics Properties can use up to 5,000 tokens per hour;
  1837  	// Analytics 360 Properties can use 50,000 tokens per hour. An API request
  1838  	// consumes a single number of tokens, and that number is deducted from both
  1839  	// the hourly and daily quotas.
  1840  	TokensPerHour *QuotaStatus `protobuf:"bytes,2,opt,name=tokens_per_hour,json=tokensPerHour,proto3" json:"tokens_per_hour,omitempty"`
  1841  	// Standard Analytics Properties can send up to 10 concurrent requests;
  1842  	// Analytics 360 Properties can use up to 50 concurrent requests.
  1843  	ConcurrentRequests *QuotaStatus `protobuf:"bytes,3,opt,name=concurrent_requests,json=concurrentRequests,proto3" json:"concurrent_requests,omitempty"`
  1844  	// Standard Analytics Properties and cloud project pairs can have up to 10
  1845  	// server errors per hour; Analytics 360 Properties and cloud project pairs
  1846  	// can have up to 50 server errors per hour.
  1847  	ServerErrorsPerProjectPerHour *QuotaStatus `protobuf:"bytes,4,opt,name=server_errors_per_project_per_hour,json=serverErrorsPerProjectPerHour,proto3" json:"server_errors_per_project_per_hour,omitempty"`
  1848  	// Analytics Properties can send up to 120 requests with potentially
  1849  	// thresholded dimensions per hour. In a batch request, each report request
  1850  	// is individually counted for this quota if the request contains potentially
  1851  	// thresholded dimensions.
  1852  	PotentiallyThresholdedRequestsPerHour *QuotaStatus `protobuf:"bytes,5,opt,name=potentially_thresholded_requests_per_hour,json=potentiallyThresholdedRequestsPerHour,proto3" json:"potentially_thresholded_requests_per_hour,omitempty"`
  1853  }
  1854  
  1855  func (x *PropertyQuota) Reset() {
  1856  	*x = PropertyQuota{}
  1857  	if protoimpl.UnsafeEnabled {
  1858  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[16]
  1859  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1860  		ms.StoreMessageInfo(mi)
  1861  	}
  1862  }
  1863  
  1864  func (x *PropertyQuota) String() string {
  1865  	return protoimpl.X.MessageStringOf(x)
  1866  }
  1867  
  1868  func (*PropertyQuota) ProtoMessage() {}
  1869  
  1870  func (x *PropertyQuota) ProtoReflect() protoreflect.Message {
  1871  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[16]
  1872  	if protoimpl.UnsafeEnabled && x != nil {
  1873  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1874  		if ms.LoadMessageInfo() == nil {
  1875  			ms.StoreMessageInfo(mi)
  1876  		}
  1877  		return ms
  1878  	}
  1879  	return mi.MessageOf(x)
  1880  }
  1881  
  1882  // Deprecated: Use PropertyQuota.ProtoReflect.Descriptor instead.
  1883  func (*PropertyQuota) Descriptor() ([]byte, []int) {
  1884  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{16}
  1885  }
  1886  
  1887  func (x *PropertyQuota) GetTokensPerDay() *QuotaStatus {
  1888  	if x != nil {
  1889  		return x.TokensPerDay
  1890  	}
  1891  	return nil
  1892  }
  1893  
  1894  func (x *PropertyQuota) GetTokensPerHour() *QuotaStatus {
  1895  	if x != nil {
  1896  		return x.TokensPerHour
  1897  	}
  1898  	return nil
  1899  }
  1900  
  1901  func (x *PropertyQuota) GetConcurrentRequests() *QuotaStatus {
  1902  	if x != nil {
  1903  		return x.ConcurrentRequests
  1904  	}
  1905  	return nil
  1906  }
  1907  
  1908  func (x *PropertyQuota) GetServerErrorsPerProjectPerHour() *QuotaStatus {
  1909  	if x != nil {
  1910  		return x.ServerErrorsPerProjectPerHour
  1911  	}
  1912  	return nil
  1913  }
  1914  
  1915  func (x *PropertyQuota) GetPotentiallyThresholdedRequestsPerHour() *QuotaStatus {
  1916  	if x != nil {
  1917  		return x.PotentiallyThresholdedRequestsPerHour
  1918  	}
  1919  	return nil
  1920  }
  1921  
  1922  // Current state for a particular quota group.
  1923  type QuotaStatus struct {
  1924  	state         protoimpl.MessageState
  1925  	sizeCache     protoimpl.SizeCache
  1926  	unknownFields protoimpl.UnknownFields
  1927  
  1928  	// Quota consumed by this request.
  1929  	Consumed int32 `protobuf:"varint,1,opt,name=consumed,proto3" json:"consumed,omitempty"`
  1930  	// Quota remaining after this request.
  1931  	Remaining int32 `protobuf:"varint,2,opt,name=remaining,proto3" json:"remaining,omitempty"`
  1932  }
  1933  
  1934  func (x *QuotaStatus) Reset() {
  1935  	*x = QuotaStatus{}
  1936  	if protoimpl.UnsafeEnabled {
  1937  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[17]
  1938  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1939  		ms.StoreMessageInfo(mi)
  1940  	}
  1941  }
  1942  
  1943  func (x *QuotaStatus) String() string {
  1944  	return protoimpl.X.MessageStringOf(x)
  1945  }
  1946  
  1947  func (*QuotaStatus) ProtoMessage() {}
  1948  
  1949  func (x *QuotaStatus) ProtoReflect() protoreflect.Message {
  1950  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[17]
  1951  	if protoimpl.UnsafeEnabled && x != nil {
  1952  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1953  		if ms.LoadMessageInfo() == nil {
  1954  			ms.StoreMessageInfo(mi)
  1955  		}
  1956  		return ms
  1957  	}
  1958  	return mi.MessageOf(x)
  1959  }
  1960  
  1961  // Deprecated: Use QuotaStatus.ProtoReflect.Descriptor instead.
  1962  func (*QuotaStatus) Descriptor() ([]byte, []int) {
  1963  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{17}
  1964  }
  1965  
  1966  func (x *QuotaStatus) GetConsumed() int32 {
  1967  	if x != nil {
  1968  		return x.Consumed
  1969  	}
  1970  	return 0
  1971  }
  1972  
  1973  func (x *QuotaStatus) GetRemaining() int32 {
  1974  	if x != nil {
  1975  		return x.Remaining
  1976  	}
  1977  	return 0
  1978  }
  1979  
  1980  // Breakdowns add a dimension to the funnel table sub report response.
  1981  type FunnelBreakdown struct {
  1982  	state         protoimpl.MessageState
  1983  	sizeCache     protoimpl.SizeCache
  1984  	unknownFields protoimpl.UnknownFields
  1985  
  1986  	// The dimension column added to the funnel table sub report response. The
  1987  	// breakdown dimension breaks down each funnel step. A valid
  1988  	// `breakdownDimension` is required if `funnelBreakdown` is specified.
  1989  	BreakdownDimension *Dimension `protobuf:"bytes,1,opt,name=breakdown_dimension,json=breakdownDimension,proto3" json:"breakdown_dimension,omitempty"`
  1990  	// The maximum number of distinct values of the breakdown dimension to return
  1991  	// in the response. A `limit` of `5` is used if limit is not specified. Limit
  1992  	// must exceed zero and cannot exceed 15.
  1993  	Limit *int64 `protobuf:"varint,2,opt,name=limit,proto3,oneof" json:"limit,omitempty"`
  1994  }
  1995  
  1996  func (x *FunnelBreakdown) Reset() {
  1997  	*x = FunnelBreakdown{}
  1998  	if protoimpl.UnsafeEnabled {
  1999  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[18]
  2000  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2001  		ms.StoreMessageInfo(mi)
  2002  	}
  2003  }
  2004  
  2005  func (x *FunnelBreakdown) String() string {
  2006  	return protoimpl.X.MessageStringOf(x)
  2007  }
  2008  
  2009  func (*FunnelBreakdown) ProtoMessage() {}
  2010  
  2011  func (x *FunnelBreakdown) ProtoReflect() protoreflect.Message {
  2012  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[18]
  2013  	if protoimpl.UnsafeEnabled && x != nil {
  2014  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2015  		if ms.LoadMessageInfo() == nil {
  2016  			ms.StoreMessageInfo(mi)
  2017  		}
  2018  		return ms
  2019  	}
  2020  	return mi.MessageOf(x)
  2021  }
  2022  
  2023  // Deprecated: Use FunnelBreakdown.ProtoReflect.Descriptor instead.
  2024  func (*FunnelBreakdown) Descriptor() ([]byte, []int) {
  2025  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{18}
  2026  }
  2027  
  2028  func (x *FunnelBreakdown) GetBreakdownDimension() *Dimension {
  2029  	if x != nil {
  2030  		return x.BreakdownDimension
  2031  	}
  2032  	return nil
  2033  }
  2034  
  2035  func (x *FunnelBreakdown) GetLimit() int64 {
  2036  	if x != nil && x.Limit != nil {
  2037  		return *x.Limit
  2038  	}
  2039  	return 0
  2040  }
  2041  
  2042  // Next actions state the value for a dimension after the user has achieved
  2043  // a step but before the same user has achieved the next step. For example if
  2044  // the `nextActionDimension` is `eventName`, then `nextActionDimension` in the
  2045  // `i`th funnel step row will return first event after the event that qualified
  2046  // the user into the `i`th funnel step but before the user achieved the `i+1`th
  2047  // funnel step.
  2048  type FunnelNextAction struct {
  2049  	state         protoimpl.MessageState
  2050  	sizeCache     protoimpl.SizeCache
  2051  	unknownFields protoimpl.UnknownFields
  2052  
  2053  	// The dimension column added to the funnel visualization sub report response.
  2054  	// The next action dimension returns the next dimension value of this
  2055  	// dimension after the user has attained the `i`th funnel step.
  2056  	//
  2057  	// `nextActionDimension` currently only supports `eventName` and most Page /
  2058  	// Screen dimensions like `pageTitle` and `pagePath`. `nextActionDimension`
  2059  	// cannot be a dimension expression.
  2060  	NextActionDimension *Dimension `protobuf:"bytes,1,opt,name=next_action_dimension,json=nextActionDimension,proto3" json:"next_action_dimension,omitempty"`
  2061  	// The maximum number of distinct values of the breakdown dimension to return
  2062  	// in the response. A `limit` of `5` is used if limit is not specified. Limit
  2063  	// must exceed zero and cannot exceed 5.
  2064  	Limit *int64 `protobuf:"varint,2,opt,name=limit,proto3,oneof" json:"limit,omitempty"`
  2065  }
  2066  
  2067  func (x *FunnelNextAction) Reset() {
  2068  	*x = FunnelNextAction{}
  2069  	if protoimpl.UnsafeEnabled {
  2070  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[19]
  2071  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2072  		ms.StoreMessageInfo(mi)
  2073  	}
  2074  }
  2075  
  2076  func (x *FunnelNextAction) String() string {
  2077  	return protoimpl.X.MessageStringOf(x)
  2078  }
  2079  
  2080  func (*FunnelNextAction) ProtoMessage() {}
  2081  
  2082  func (x *FunnelNextAction) ProtoReflect() protoreflect.Message {
  2083  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[19]
  2084  	if protoimpl.UnsafeEnabled && x != nil {
  2085  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2086  		if ms.LoadMessageInfo() == nil {
  2087  			ms.StoreMessageInfo(mi)
  2088  		}
  2089  		return ms
  2090  	}
  2091  	return mi.MessageOf(x)
  2092  }
  2093  
  2094  // Deprecated: Use FunnelNextAction.ProtoReflect.Descriptor instead.
  2095  func (*FunnelNextAction) Descriptor() ([]byte, []int) {
  2096  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{19}
  2097  }
  2098  
  2099  func (x *FunnelNextAction) GetNextActionDimension() *Dimension {
  2100  	if x != nil {
  2101  		return x.NextActionDimension
  2102  	}
  2103  	return nil
  2104  }
  2105  
  2106  func (x *FunnelNextAction) GetLimit() int64 {
  2107  	if x != nil && x.Limit != nil {
  2108  		return *x.Limit
  2109  	}
  2110  	return 0
  2111  }
  2112  
  2113  // Configures the funnel in a funnel report request. A funnel reports on users
  2114  // as they pass through a sequence of steps.
  2115  //
  2116  // Funnel exploration lets you visualize the steps your users take to complete a
  2117  // task and quickly see how well they are succeeding or failing at each step.
  2118  // For example, how do prospects become shoppers and then become buyers? How do
  2119  // one time buyers become repeat buyers? With this information, you can improve
  2120  // inefficient or abandoned customer journeys.
  2121  type Funnel struct {
  2122  	state         protoimpl.MessageState
  2123  	sizeCache     protoimpl.SizeCache
  2124  	unknownFields protoimpl.UnknownFields
  2125  
  2126  	// In an open funnel, users can enter the funnel in any step, and in a closed
  2127  	// funnel, users must enter the funnel in the first step. Optional. If
  2128  	// unspecified, a closed funnel is used.
  2129  	IsOpenFunnel bool `protobuf:"varint,1,opt,name=is_open_funnel,json=isOpenFunnel,proto3" json:"is_open_funnel,omitempty"`
  2130  	// The sequential steps of this funnel.
  2131  	Steps []*FunnelStep `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"`
  2132  }
  2133  
  2134  func (x *Funnel) Reset() {
  2135  	*x = Funnel{}
  2136  	if protoimpl.UnsafeEnabled {
  2137  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[20]
  2138  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2139  		ms.StoreMessageInfo(mi)
  2140  	}
  2141  }
  2142  
  2143  func (x *Funnel) String() string {
  2144  	return protoimpl.X.MessageStringOf(x)
  2145  }
  2146  
  2147  func (*Funnel) ProtoMessage() {}
  2148  
  2149  func (x *Funnel) ProtoReflect() protoreflect.Message {
  2150  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[20]
  2151  	if protoimpl.UnsafeEnabled && x != nil {
  2152  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2153  		if ms.LoadMessageInfo() == nil {
  2154  			ms.StoreMessageInfo(mi)
  2155  		}
  2156  		return ms
  2157  	}
  2158  	return mi.MessageOf(x)
  2159  }
  2160  
  2161  // Deprecated: Use Funnel.ProtoReflect.Descriptor instead.
  2162  func (*Funnel) Descriptor() ([]byte, []int) {
  2163  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{20}
  2164  }
  2165  
  2166  func (x *Funnel) GetIsOpenFunnel() bool {
  2167  	if x != nil {
  2168  		return x.IsOpenFunnel
  2169  	}
  2170  	return false
  2171  }
  2172  
  2173  func (x *Funnel) GetSteps() []*FunnelStep {
  2174  	if x != nil {
  2175  		return x.Steps
  2176  	}
  2177  	return nil
  2178  }
  2179  
  2180  // Steps define the user journey you want to measure. Steps contain one or
  2181  // more conditions that your users must meet to be included in that step of
  2182  // the funnel journey.
  2183  type FunnelStep struct {
  2184  	state         protoimpl.MessageState
  2185  	sizeCache     protoimpl.SizeCache
  2186  	unknownFields protoimpl.UnknownFields
  2187  
  2188  	// The distinctive name for this step. If unspecified, steps will be named
  2189  	// by a 1 based indexed name (i.e. "0. ", "1. ", etc.). This name defines
  2190  	// string value returned by the `funnelStepName` dimension. For example,
  2191  	// specifying `name = Purchase` in the request's third funnel step will
  2192  	// produce `3. Purchase` in the funnel report response.
  2193  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2194  	// If true, this step must directly follow the previous step. If false,
  2195  	// there can be events between the previous step and this step. If
  2196  	// unspecified, `isDirectlyFollowedBy` is treated as false.
  2197  	IsDirectlyFollowedBy bool `protobuf:"varint,2,opt,name=is_directly_followed_by,json=isDirectlyFollowedBy,proto3" json:"is_directly_followed_by,omitempty"`
  2198  	// If specified, this step must complete within this duration of the
  2199  	// completion of the prior step. `withinDurationFromPriorStep` is inclusive
  2200  	// of the endpoint at the microsecond granularity. For example a duration of
  2201  	// 5 seconds can be completed at 4.9 or 5.0 seconds, but not 5 seconds and 1
  2202  	// microsecond.
  2203  	//
  2204  	// `withinDurationFromPriorStep` is optional, and if unspecified, steps may
  2205  	// be separated by any time duration.
  2206  	WithinDurationFromPriorStep *durationpb.Duration `protobuf:"bytes,3,opt,name=within_duration_from_prior_step,json=withinDurationFromPriorStep,proto3,oneof" json:"within_duration_from_prior_step,omitempty"`
  2207  	// The condition that your users must meet to be included in this step of
  2208  	// the funnel journey.
  2209  	FilterExpression *FunnelFilterExpression `protobuf:"bytes,4,opt,name=filter_expression,json=filterExpression,proto3" json:"filter_expression,omitempty"`
  2210  }
  2211  
  2212  func (x *FunnelStep) Reset() {
  2213  	*x = FunnelStep{}
  2214  	if protoimpl.UnsafeEnabled {
  2215  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[21]
  2216  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2217  		ms.StoreMessageInfo(mi)
  2218  	}
  2219  }
  2220  
  2221  func (x *FunnelStep) String() string {
  2222  	return protoimpl.X.MessageStringOf(x)
  2223  }
  2224  
  2225  func (*FunnelStep) ProtoMessage() {}
  2226  
  2227  func (x *FunnelStep) ProtoReflect() protoreflect.Message {
  2228  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[21]
  2229  	if protoimpl.UnsafeEnabled && x != nil {
  2230  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2231  		if ms.LoadMessageInfo() == nil {
  2232  			ms.StoreMessageInfo(mi)
  2233  		}
  2234  		return ms
  2235  	}
  2236  	return mi.MessageOf(x)
  2237  }
  2238  
  2239  // Deprecated: Use FunnelStep.ProtoReflect.Descriptor instead.
  2240  func (*FunnelStep) Descriptor() ([]byte, []int) {
  2241  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{21}
  2242  }
  2243  
  2244  func (x *FunnelStep) GetName() string {
  2245  	if x != nil {
  2246  		return x.Name
  2247  	}
  2248  	return ""
  2249  }
  2250  
  2251  func (x *FunnelStep) GetIsDirectlyFollowedBy() bool {
  2252  	if x != nil {
  2253  		return x.IsDirectlyFollowedBy
  2254  	}
  2255  	return false
  2256  }
  2257  
  2258  func (x *FunnelStep) GetWithinDurationFromPriorStep() *durationpb.Duration {
  2259  	if x != nil {
  2260  		return x.WithinDurationFromPriorStep
  2261  	}
  2262  	return nil
  2263  }
  2264  
  2265  func (x *FunnelStep) GetFilterExpression() *FunnelFilterExpression {
  2266  	if x != nil {
  2267  		return x.FilterExpression
  2268  	}
  2269  	return nil
  2270  }
  2271  
  2272  // Funnel sub reports contain the dimension and metric data values. For example,
  2273  // 12 users reached the second step of the funnel.
  2274  type FunnelSubReport struct {
  2275  	state         protoimpl.MessageState
  2276  	sizeCache     protoimpl.SizeCache
  2277  	unknownFields protoimpl.UnknownFields
  2278  
  2279  	// Describes dimension columns. Funnel reports always include the funnel step
  2280  	// dimension in sub report responses. Additional dimensions like breakdowns,
  2281  	// dates, and next actions may be present in the response if requested.
  2282  	DimensionHeaders []*DimensionHeader `protobuf:"bytes,1,rep,name=dimension_headers,json=dimensionHeaders,proto3" json:"dimension_headers,omitempty"`
  2283  	// Describes metric columns. Funnel reports always include active users in sub
  2284  	// report responses. The funnel table includes additional metrics like
  2285  	// completion rate, abandonments, and abandonments rate.
  2286  	MetricHeaders []*MetricHeader `protobuf:"bytes,2,rep,name=metric_headers,json=metricHeaders,proto3" json:"metric_headers,omitempty"`
  2287  	// Rows of dimension value combinations and metric values in the report.
  2288  	Rows []*Row `protobuf:"bytes,3,rep,name=rows,proto3" json:"rows,omitempty"`
  2289  	// Metadata for the funnel report.
  2290  	Metadata *FunnelResponseMetadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
  2291  }
  2292  
  2293  func (x *FunnelSubReport) Reset() {
  2294  	*x = FunnelSubReport{}
  2295  	if protoimpl.UnsafeEnabled {
  2296  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[22]
  2297  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2298  		ms.StoreMessageInfo(mi)
  2299  	}
  2300  }
  2301  
  2302  func (x *FunnelSubReport) String() string {
  2303  	return protoimpl.X.MessageStringOf(x)
  2304  }
  2305  
  2306  func (*FunnelSubReport) ProtoMessage() {}
  2307  
  2308  func (x *FunnelSubReport) ProtoReflect() protoreflect.Message {
  2309  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[22]
  2310  	if protoimpl.UnsafeEnabled && x != nil {
  2311  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2312  		if ms.LoadMessageInfo() == nil {
  2313  			ms.StoreMessageInfo(mi)
  2314  		}
  2315  		return ms
  2316  	}
  2317  	return mi.MessageOf(x)
  2318  }
  2319  
  2320  // Deprecated: Use FunnelSubReport.ProtoReflect.Descriptor instead.
  2321  func (*FunnelSubReport) Descriptor() ([]byte, []int) {
  2322  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{22}
  2323  }
  2324  
  2325  func (x *FunnelSubReport) GetDimensionHeaders() []*DimensionHeader {
  2326  	if x != nil {
  2327  		return x.DimensionHeaders
  2328  	}
  2329  	return nil
  2330  }
  2331  
  2332  func (x *FunnelSubReport) GetMetricHeaders() []*MetricHeader {
  2333  	if x != nil {
  2334  		return x.MetricHeaders
  2335  	}
  2336  	return nil
  2337  }
  2338  
  2339  func (x *FunnelSubReport) GetRows() []*Row {
  2340  	if x != nil {
  2341  		return x.Rows
  2342  	}
  2343  	return nil
  2344  }
  2345  
  2346  func (x *FunnelSubReport) GetMetadata() *FunnelResponseMetadata {
  2347  	if x != nil {
  2348  		return x.Metadata
  2349  	}
  2350  	return nil
  2351  }
  2352  
  2353  // User segments are subsets of users who engaged with your site or app. For
  2354  // example, users who have previously purchased; users who added items to their
  2355  // shopping carts, but didn’t complete a purchase.
  2356  type UserSegment struct {
  2357  	state         protoimpl.MessageState
  2358  	sizeCache     protoimpl.SizeCache
  2359  	unknownFields protoimpl.UnknownFields
  2360  
  2361  	// Defines which users are included in this segment. Optional.
  2362  	UserInclusionCriteria *UserSegmentCriteria `protobuf:"bytes,1,opt,name=user_inclusion_criteria,json=userInclusionCriteria,proto3" json:"user_inclusion_criteria,omitempty"`
  2363  	// Defines which users are excluded in this segment. Optional.
  2364  	Exclusion *UserSegmentExclusion `protobuf:"bytes,2,opt,name=exclusion,proto3" json:"exclusion,omitempty"`
  2365  }
  2366  
  2367  func (x *UserSegment) Reset() {
  2368  	*x = UserSegment{}
  2369  	if protoimpl.UnsafeEnabled {
  2370  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[23]
  2371  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2372  		ms.StoreMessageInfo(mi)
  2373  	}
  2374  }
  2375  
  2376  func (x *UserSegment) String() string {
  2377  	return protoimpl.X.MessageStringOf(x)
  2378  }
  2379  
  2380  func (*UserSegment) ProtoMessage() {}
  2381  
  2382  func (x *UserSegment) ProtoReflect() protoreflect.Message {
  2383  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[23]
  2384  	if protoimpl.UnsafeEnabled && x != nil {
  2385  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2386  		if ms.LoadMessageInfo() == nil {
  2387  			ms.StoreMessageInfo(mi)
  2388  		}
  2389  		return ms
  2390  	}
  2391  	return mi.MessageOf(x)
  2392  }
  2393  
  2394  // Deprecated: Use UserSegment.ProtoReflect.Descriptor instead.
  2395  func (*UserSegment) Descriptor() ([]byte, []int) {
  2396  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{23}
  2397  }
  2398  
  2399  func (x *UserSegment) GetUserInclusionCriteria() *UserSegmentCriteria {
  2400  	if x != nil {
  2401  		return x.UserInclusionCriteria
  2402  	}
  2403  	return nil
  2404  }
  2405  
  2406  func (x *UserSegment) GetExclusion() *UserSegmentExclusion {
  2407  	if x != nil {
  2408  		return x.Exclusion
  2409  	}
  2410  	return nil
  2411  }
  2412  
  2413  // A user matches a criteria if the user's events meet the conditions in the
  2414  // criteria.
  2415  type UserSegmentCriteria struct {
  2416  	state         protoimpl.MessageState
  2417  	sizeCache     protoimpl.SizeCache
  2418  	unknownFields protoimpl.UnknownFields
  2419  
  2420  	// A user matches this criteria if the user matches each of these
  2421  	// `andConditionGroups` and each of the `andSequenceGroups`.
  2422  	// `andConditionGroups` may be empty if `andSequenceGroups` are specified.
  2423  	AndConditionGroups []*UserSegmentConditionGroup `protobuf:"bytes,1,rep,name=and_condition_groups,json=andConditionGroups,proto3" json:"and_condition_groups,omitempty"`
  2424  	// A user matches this criteria if the user matches each of these
  2425  	// `andSequenceGroups` and each of the `andConditionGroups`.
  2426  	// `andSequenceGroups` may be empty if `andConditionGroups` are specified.
  2427  	AndSequenceGroups []*UserSegmentSequenceGroup `protobuf:"bytes,2,rep,name=and_sequence_groups,json=andSequenceGroups,proto3" json:"and_sequence_groups,omitempty"`
  2428  }
  2429  
  2430  func (x *UserSegmentCriteria) Reset() {
  2431  	*x = UserSegmentCriteria{}
  2432  	if protoimpl.UnsafeEnabled {
  2433  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[24]
  2434  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2435  		ms.StoreMessageInfo(mi)
  2436  	}
  2437  }
  2438  
  2439  func (x *UserSegmentCriteria) String() string {
  2440  	return protoimpl.X.MessageStringOf(x)
  2441  }
  2442  
  2443  func (*UserSegmentCriteria) ProtoMessage() {}
  2444  
  2445  func (x *UserSegmentCriteria) ProtoReflect() protoreflect.Message {
  2446  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[24]
  2447  	if protoimpl.UnsafeEnabled && x != nil {
  2448  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2449  		if ms.LoadMessageInfo() == nil {
  2450  			ms.StoreMessageInfo(mi)
  2451  		}
  2452  		return ms
  2453  	}
  2454  	return mi.MessageOf(x)
  2455  }
  2456  
  2457  // Deprecated: Use UserSegmentCriteria.ProtoReflect.Descriptor instead.
  2458  func (*UserSegmentCriteria) Descriptor() ([]byte, []int) {
  2459  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{24}
  2460  }
  2461  
  2462  func (x *UserSegmentCriteria) GetAndConditionGroups() []*UserSegmentConditionGroup {
  2463  	if x != nil {
  2464  		return x.AndConditionGroups
  2465  	}
  2466  	return nil
  2467  }
  2468  
  2469  func (x *UserSegmentCriteria) GetAndSequenceGroups() []*UserSegmentSequenceGroup {
  2470  	if x != nil {
  2471  		return x.AndSequenceGroups
  2472  	}
  2473  	return nil
  2474  }
  2475  
  2476  // Conditions tell Analytics what data to include in or exclude from the
  2477  // segment.
  2478  type UserSegmentConditionGroup struct {
  2479  	state         protoimpl.MessageState
  2480  	sizeCache     protoimpl.SizeCache
  2481  	unknownFields protoimpl.UnknownFields
  2482  
  2483  	// Data is included or excluded from the segment based on if it matches
  2484  	// the condition group. This scoping defines how many events the
  2485  	// `segmentFilterExpression` is evaluated on before the condition group
  2486  	// is determined to be matched or not. For example if `conditionScoping =
  2487  	// USER_CRITERIA_WITHIN_SAME_SESSION`, the expression is evaluated on all
  2488  	// events in a session, and then, the condition group is determined to be
  2489  	// matched or not for this user. For example if `conditionScoping =
  2490  	// USER_CRITERIA_WITHIN_SAME_EVENT`, the expression is evaluated on a single
  2491  	// event, and then, the condition group is determined to be matched or not for
  2492  	// this user.
  2493  	//
  2494  	// Optional. If unspecified, `conditionScoping = ACROSS_ALL_SESSIONS` is
  2495  	// used.
  2496  	ConditionScoping UserCriteriaScoping `protobuf:"varint,1,opt,name=condition_scoping,json=conditionScoping,proto3,enum=google.analytics.data.v1alpha.UserCriteriaScoping" json:"condition_scoping,omitempty"`
  2497  	// Data is included or excluded from the segment based on if it matches
  2498  	// this expression. Expressions express criteria on dimension, metrics,
  2499  	// and/or parameters.
  2500  	SegmentFilterExpression *SegmentFilterExpression `protobuf:"bytes,2,opt,name=segment_filter_expression,json=segmentFilterExpression,proto3" json:"segment_filter_expression,omitempty"`
  2501  }
  2502  
  2503  func (x *UserSegmentConditionGroup) Reset() {
  2504  	*x = UserSegmentConditionGroup{}
  2505  	if protoimpl.UnsafeEnabled {
  2506  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[25]
  2507  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2508  		ms.StoreMessageInfo(mi)
  2509  	}
  2510  }
  2511  
  2512  func (x *UserSegmentConditionGroup) String() string {
  2513  	return protoimpl.X.MessageStringOf(x)
  2514  }
  2515  
  2516  func (*UserSegmentConditionGroup) ProtoMessage() {}
  2517  
  2518  func (x *UserSegmentConditionGroup) ProtoReflect() protoreflect.Message {
  2519  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[25]
  2520  	if protoimpl.UnsafeEnabled && x != nil {
  2521  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2522  		if ms.LoadMessageInfo() == nil {
  2523  			ms.StoreMessageInfo(mi)
  2524  		}
  2525  		return ms
  2526  	}
  2527  	return mi.MessageOf(x)
  2528  }
  2529  
  2530  // Deprecated: Use UserSegmentConditionGroup.ProtoReflect.Descriptor instead.
  2531  func (*UserSegmentConditionGroup) Descriptor() ([]byte, []int) {
  2532  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{25}
  2533  }
  2534  
  2535  func (x *UserSegmentConditionGroup) GetConditionScoping() UserCriteriaScoping {
  2536  	if x != nil {
  2537  		return x.ConditionScoping
  2538  	}
  2539  	return UserCriteriaScoping_USER_CRITERIA_SCOPING_UNSPECIFIED
  2540  }
  2541  
  2542  func (x *UserSegmentConditionGroup) GetSegmentFilterExpression() *SegmentFilterExpression {
  2543  	if x != nil {
  2544  		return x.SegmentFilterExpression
  2545  	}
  2546  	return nil
  2547  }
  2548  
  2549  // Define conditions that must occur in a specific order for the user to be
  2550  // a member of the segment.
  2551  type UserSegmentSequenceGroup struct {
  2552  	state         protoimpl.MessageState
  2553  	sizeCache     protoimpl.SizeCache
  2554  	unknownFields protoimpl.UnknownFields
  2555  
  2556  	// All sequence steps must be satisfied in the scoping for the user to
  2557  	// match the sequence. For example if `sequenceScoping =
  2558  	// USER_CRITERIA_WITHIN_SAME_SESSION`, all sequence steps must complete within
  2559  	// one session for the user to match the sequence. `sequenceScoping =
  2560  	// USER_CRITERIA_WITHIN_SAME_EVENT` is not supported.
  2561  	//
  2562  	// Optional. If unspecified, `conditionScoping = ACROSS_ALL_SESSIONS` is
  2563  	// used.
  2564  	SequenceScoping UserCriteriaScoping `protobuf:"varint,1,opt,name=sequence_scoping,json=sequenceScoping,proto3,enum=google.analytics.data.v1alpha.UserCriteriaScoping" json:"sequence_scoping,omitempty"`
  2565  	// Defines the time period in which the whole sequence must occur; for
  2566  	// example, 30 Minutes. `sequenceMaximumDuration` is inclusive
  2567  	// of the endpoint at the microsecond granularity. For example a sequence
  2568  	// with a maximum duration of 5 seconds can be completed at 4.9 or 5.0
  2569  	// seconds, but not 5 seconds and 1 microsecond.
  2570  	//
  2571  	// `sequenceMaximumDuration` is optional, and if unspecified, sequences can
  2572  	// be completed in any time duration.
  2573  	SequenceMaximumDuration *durationpb.Duration `protobuf:"bytes,2,opt,name=sequence_maximum_duration,json=sequenceMaximumDuration,proto3" json:"sequence_maximum_duration,omitempty"`
  2574  	// An ordered sequence of condition steps. A user's events must complete
  2575  	// each step in order for the user to match the
  2576  	// `UserSegmentSequenceGroup`.
  2577  	UserSequenceSteps []*UserSequenceStep `protobuf:"bytes,3,rep,name=user_sequence_steps,json=userSequenceSteps,proto3" json:"user_sequence_steps,omitempty"`
  2578  }
  2579  
  2580  func (x *UserSegmentSequenceGroup) Reset() {
  2581  	*x = UserSegmentSequenceGroup{}
  2582  	if protoimpl.UnsafeEnabled {
  2583  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[26]
  2584  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2585  		ms.StoreMessageInfo(mi)
  2586  	}
  2587  }
  2588  
  2589  func (x *UserSegmentSequenceGroup) String() string {
  2590  	return protoimpl.X.MessageStringOf(x)
  2591  }
  2592  
  2593  func (*UserSegmentSequenceGroup) ProtoMessage() {}
  2594  
  2595  func (x *UserSegmentSequenceGroup) ProtoReflect() protoreflect.Message {
  2596  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[26]
  2597  	if protoimpl.UnsafeEnabled && x != nil {
  2598  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2599  		if ms.LoadMessageInfo() == nil {
  2600  			ms.StoreMessageInfo(mi)
  2601  		}
  2602  		return ms
  2603  	}
  2604  	return mi.MessageOf(x)
  2605  }
  2606  
  2607  // Deprecated: Use UserSegmentSequenceGroup.ProtoReflect.Descriptor instead.
  2608  func (*UserSegmentSequenceGroup) Descriptor() ([]byte, []int) {
  2609  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{26}
  2610  }
  2611  
  2612  func (x *UserSegmentSequenceGroup) GetSequenceScoping() UserCriteriaScoping {
  2613  	if x != nil {
  2614  		return x.SequenceScoping
  2615  	}
  2616  	return UserCriteriaScoping_USER_CRITERIA_SCOPING_UNSPECIFIED
  2617  }
  2618  
  2619  func (x *UserSegmentSequenceGroup) GetSequenceMaximumDuration() *durationpb.Duration {
  2620  	if x != nil {
  2621  		return x.SequenceMaximumDuration
  2622  	}
  2623  	return nil
  2624  }
  2625  
  2626  func (x *UserSegmentSequenceGroup) GetUserSequenceSteps() []*UserSequenceStep {
  2627  	if x != nil {
  2628  		return x.UserSequenceSteps
  2629  	}
  2630  	return nil
  2631  }
  2632  
  2633  // A condition that must occur in the specified step order for this user
  2634  // to match the sequence.
  2635  type UserSequenceStep struct {
  2636  	state         protoimpl.MessageState
  2637  	sizeCache     protoimpl.SizeCache
  2638  	unknownFields protoimpl.UnknownFields
  2639  
  2640  	// If true, the event satisfying this step must be the very next event
  2641  	// after the event satifying the last step. If false, this step indirectly
  2642  	// follows the prior step; for example, there may be events between the
  2643  	// prior step and this step. `isDirectlyFollowedBy` must be false for
  2644  	// the first step.
  2645  	IsDirectlyFollowedBy bool `protobuf:"varint,1,opt,name=is_directly_followed_by,json=isDirectlyFollowedBy,proto3" json:"is_directly_followed_by,omitempty"`
  2646  	// This sequence step must be satisfied in the scoping for the user to
  2647  	// match the sequence. For example if `sequenceScoping =
  2648  	// WITHIN_SAME_SESSION`, this sequence steps must complete within one
  2649  	// session for the user to match the sequence. `stepScoping =
  2650  	// ACROSS_ALL_SESSIONS` is only allowed if the `sequenceScoping =
  2651  	// ACROSS_ALL_SESSIONS`.
  2652  	//
  2653  	// Optional. If unspecified, `stepScoping` uses the same
  2654  	// `UserCriteriaScoping` as the `sequenceScoping`.
  2655  	StepScoping UserCriteriaScoping `protobuf:"varint,2,opt,name=step_scoping,json=stepScoping,proto3,enum=google.analytics.data.v1alpha.UserCriteriaScoping" json:"step_scoping,omitempty"`
  2656  	// A user matches this sequence step if their events match this
  2657  	// expression. Expressions express criteria on dimension, metrics,
  2658  	// and/or parameters.
  2659  	SegmentFilterExpression *SegmentFilterExpression `protobuf:"bytes,3,opt,name=segment_filter_expression,json=segmentFilterExpression,proto3" json:"segment_filter_expression,omitempty"`
  2660  }
  2661  
  2662  func (x *UserSequenceStep) Reset() {
  2663  	*x = UserSequenceStep{}
  2664  	if protoimpl.UnsafeEnabled {
  2665  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[27]
  2666  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2667  		ms.StoreMessageInfo(mi)
  2668  	}
  2669  }
  2670  
  2671  func (x *UserSequenceStep) String() string {
  2672  	return protoimpl.X.MessageStringOf(x)
  2673  }
  2674  
  2675  func (*UserSequenceStep) ProtoMessage() {}
  2676  
  2677  func (x *UserSequenceStep) ProtoReflect() protoreflect.Message {
  2678  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[27]
  2679  	if protoimpl.UnsafeEnabled && x != nil {
  2680  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2681  		if ms.LoadMessageInfo() == nil {
  2682  			ms.StoreMessageInfo(mi)
  2683  		}
  2684  		return ms
  2685  	}
  2686  	return mi.MessageOf(x)
  2687  }
  2688  
  2689  // Deprecated: Use UserSequenceStep.ProtoReflect.Descriptor instead.
  2690  func (*UserSequenceStep) Descriptor() ([]byte, []int) {
  2691  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{27}
  2692  }
  2693  
  2694  func (x *UserSequenceStep) GetIsDirectlyFollowedBy() bool {
  2695  	if x != nil {
  2696  		return x.IsDirectlyFollowedBy
  2697  	}
  2698  	return false
  2699  }
  2700  
  2701  func (x *UserSequenceStep) GetStepScoping() UserCriteriaScoping {
  2702  	if x != nil {
  2703  		return x.StepScoping
  2704  	}
  2705  	return UserCriteriaScoping_USER_CRITERIA_SCOPING_UNSPECIFIED
  2706  }
  2707  
  2708  func (x *UserSequenceStep) GetSegmentFilterExpression() *SegmentFilterExpression {
  2709  	if x != nil {
  2710  		return x.SegmentFilterExpression
  2711  	}
  2712  	return nil
  2713  }
  2714  
  2715  // Specifies which users are excluded in this segment.
  2716  type UserSegmentExclusion struct {
  2717  	state         protoimpl.MessageState
  2718  	sizeCache     protoimpl.SizeCache
  2719  	unknownFields protoimpl.UnknownFields
  2720  
  2721  	// Specifies how long an exclusion will last if a user matches the
  2722  	// `userExclusionCriteria`.
  2723  	//
  2724  	// Optional. If unspecified, `userExclusionDuration` of
  2725  	// `USER_EXCLUSION_TEMPORARY` is used.
  2726  	UserExclusionDuration UserExclusionDuration `protobuf:"varint,1,opt,name=user_exclusion_duration,json=userExclusionDuration,proto3,enum=google.analytics.data.v1alpha.UserExclusionDuration" json:"user_exclusion_duration,omitempty"`
  2727  	// If a user meets this condition, the user is excluded from membership in
  2728  	// the segment for the `userExclusionDuration`.
  2729  	UserExclusionCriteria *UserSegmentCriteria `protobuf:"bytes,2,opt,name=user_exclusion_criteria,json=userExclusionCriteria,proto3" json:"user_exclusion_criteria,omitempty"`
  2730  }
  2731  
  2732  func (x *UserSegmentExclusion) Reset() {
  2733  	*x = UserSegmentExclusion{}
  2734  	if protoimpl.UnsafeEnabled {
  2735  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[28]
  2736  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2737  		ms.StoreMessageInfo(mi)
  2738  	}
  2739  }
  2740  
  2741  func (x *UserSegmentExclusion) String() string {
  2742  	return protoimpl.X.MessageStringOf(x)
  2743  }
  2744  
  2745  func (*UserSegmentExclusion) ProtoMessage() {}
  2746  
  2747  func (x *UserSegmentExclusion) ProtoReflect() protoreflect.Message {
  2748  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[28]
  2749  	if protoimpl.UnsafeEnabled && x != nil {
  2750  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2751  		if ms.LoadMessageInfo() == nil {
  2752  			ms.StoreMessageInfo(mi)
  2753  		}
  2754  		return ms
  2755  	}
  2756  	return mi.MessageOf(x)
  2757  }
  2758  
  2759  // Deprecated: Use UserSegmentExclusion.ProtoReflect.Descriptor instead.
  2760  func (*UserSegmentExclusion) Descriptor() ([]byte, []int) {
  2761  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{28}
  2762  }
  2763  
  2764  func (x *UserSegmentExclusion) GetUserExclusionDuration() UserExclusionDuration {
  2765  	if x != nil {
  2766  		return x.UserExclusionDuration
  2767  	}
  2768  	return UserExclusionDuration_USER_EXCLUSION_DURATION_UNSPECIFIED
  2769  }
  2770  
  2771  func (x *UserSegmentExclusion) GetUserExclusionCriteria() *UserSegmentCriteria {
  2772  	if x != nil {
  2773  		return x.UserExclusionCriteria
  2774  	}
  2775  	return nil
  2776  }
  2777  
  2778  // Session segments are subsets of the sessions that occurred on your site or
  2779  // app: for example, all the sessions that originated from a particular
  2780  // advertising campaign.
  2781  type SessionSegment struct {
  2782  	state         protoimpl.MessageState
  2783  	sizeCache     protoimpl.SizeCache
  2784  	unknownFields protoimpl.UnknownFields
  2785  
  2786  	// Defines which sessions are included in this segment. Optional.
  2787  	SessionInclusionCriteria *SessionSegmentCriteria `protobuf:"bytes,1,opt,name=session_inclusion_criteria,json=sessionInclusionCriteria,proto3" json:"session_inclusion_criteria,omitempty"`
  2788  	// Defines which sessions are excluded in this segment. Optional.
  2789  	Exclusion *SessionSegmentExclusion `protobuf:"bytes,2,opt,name=exclusion,proto3" json:"exclusion,omitempty"`
  2790  }
  2791  
  2792  func (x *SessionSegment) Reset() {
  2793  	*x = SessionSegment{}
  2794  	if protoimpl.UnsafeEnabled {
  2795  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[29]
  2796  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2797  		ms.StoreMessageInfo(mi)
  2798  	}
  2799  }
  2800  
  2801  func (x *SessionSegment) String() string {
  2802  	return protoimpl.X.MessageStringOf(x)
  2803  }
  2804  
  2805  func (*SessionSegment) ProtoMessage() {}
  2806  
  2807  func (x *SessionSegment) ProtoReflect() protoreflect.Message {
  2808  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[29]
  2809  	if protoimpl.UnsafeEnabled && x != nil {
  2810  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2811  		if ms.LoadMessageInfo() == nil {
  2812  			ms.StoreMessageInfo(mi)
  2813  		}
  2814  		return ms
  2815  	}
  2816  	return mi.MessageOf(x)
  2817  }
  2818  
  2819  // Deprecated: Use SessionSegment.ProtoReflect.Descriptor instead.
  2820  func (*SessionSegment) Descriptor() ([]byte, []int) {
  2821  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{29}
  2822  }
  2823  
  2824  func (x *SessionSegment) GetSessionInclusionCriteria() *SessionSegmentCriteria {
  2825  	if x != nil {
  2826  		return x.SessionInclusionCriteria
  2827  	}
  2828  	return nil
  2829  }
  2830  
  2831  func (x *SessionSegment) GetExclusion() *SessionSegmentExclusion {
  2832  	if x != nil {
  2833  		return x.Exclusion
  2834  	}
  2835  	return nil
  2836  }
  2837  
  2838  // A session matches a criteria if the session's events meet the conditions in
  2839  // the criteria.
  2840  type SessionSegmentCriteria struct {
  2841  	state         protoimpl.MessageState
  2842  	sizeCache     protoimpl.SizeCache
  2843  	unknownFields protoimpl.UnknownFields
  2844  
  2845  	// A session matches this criteria if the session matches each of these
  2846  	// `andConditionGroups`.
  2847  	AndConditionGroups []*SessionSegmentConditionGroup `protobuf:"bytes,1,rep,name=and_condition_groups,json=andConditionGroups,proto3" json:"and_condition_groups,omitempty"`
  2848  }
  2849  
  2850  func (x *SessionSegmentCriteria) Reset() {
  2851  	*x = SessionSegmentCriteria{}
  2852  	if protoimpl.UnsafeEnabled {
  2853  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[30]
  2854  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2855  		ms.StoreMessageInfo(mi)
  2856  	}
  2857  }
  2858  
  2859  func (x *SessionSegmentCriteria) String() string {
  2860  	return protoimpl.X.MessageStringOf(x)
  2861  }
  2862  
  2863  func (*SessionSegmentCriteria) ProtoMessage() {}
  2864  
  2865  func (x *SessionSegmentCriteria) ProtoReflect() protoreflect.Message {
  2866  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[30]
  2867  	if protoimpl.UnsafeEnabled && x != nil {
  2868  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2869  		if ms.LoadMessageInfo() == nil {
  2870  			ms.StoreMessageInfo(mi)
  2871  		}
  2872  		return ms
  2873  	}
  2874  	return mi.MessageOf(x)
  2875  }
  2876  
  2877  // Deprecated: Use SessionSegmentCriteria.ProtoReflect.Descriptor instead.
  2878  func (*SessionSegmentCriteria) Descriptor() ([]byte, []int) {
  2879  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{30}
  2880  }
  2881  
  2882  func (x *SessionSegmentCriteria) GetAndConditionGroups() []*SessionSegmentConditionGroup {
  2883  	if x != nil {
  2884  		return x.AndConditionGroups
  2885  	}
  2886  	return nil
  2887  }
  2888  
  2889  // Conditions tell Analytics what data to include in or exclude from the
  2890  // segment.
  2891  type SessionSegmentConditionGroup struct {
  2892  	state         protoimpl.MessageState
  2893  	sizeCache     protoimpl.SizeCache
  2894  	unknownFields protoimpl.UnknownFields
  2895  
  2896  	// Data is included or excluded from the segment based on if it matches
  2897  	// the condition group. This scoping defines how many events the
  2898  	// `segmentFilterExpression` is evaluated on before the condition group
  2899  	// is determined to be matched or not. For example if `conditionScoping =
  2900  	// SESSION_CRITERIA_WITHIN_SAME_SESSION`, the expression is evaluated on all
  2901  	// events in a session, and then, the condition group is determined to be
  2902  	// matched or not for this session. For example if `conditionScoping =
  2903  	// SESSION_CRITERIA_WITHIN_SAME_EVENT`, the expression is evaluated on a
  2904  	// single event, and then, the condition group is determined to be matched or
  2905  	// not for this session.
  2906  	//
  2907  	// Optional. If unspecified, a `conditionScoping` of `WITHIN_SAME_SESSION`
  2908  	// is used.
  2909  	ConditionScoping SessionCriteriaScoping `protobuf:"varint,1,opt,name=condition_scoping,json=conditionScoping,proto3,enum=google.analytics.data.v1alpha.SessionCriteriaScoping" json:"condition_scoping,omitempty"`
  2910  	// Data is included or excluded from the segment based on if it matches
  2911  	// this expression. Expressions express criteria on dimension, metrics,
  2912  	// and/or parameters.
  2913  	SegmentFilterExpression *SegmentFilterExpression `protobuf:"bytes,2,opt,name=segment_filter_expression,json=segmentFilterExpression,proto3" json:"segment_filter_expression,omitempty"`
  2914  }
  2915  
  2916  func (x *SessionSegmentConditionGroup) Reset() {
  2917  	*x = SessionSegmentConditionGroup{}
  2918  	if protoimpl.UnsafeEnabled {
  2919  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[31]
  2920  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2921  		ms.StoreMessageInfo(mi)
  2922  	}
  2923  }
  2924  
  2925  func (x *SessionSegmentConditionGroup) String() string {
  2926  	return protoimpl.X.MessageStringOf(x)
  2927  }
  2928  
  2929  func (*SessionSegmentConditionGroup) ProtoMessage() {}
  2930  
  2931  func (x *SessionSegmentConditionGroup) ProtoReflect() protoreflect.Message {
  2932  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[31]
  2933  	if protoimpl.UnsafeEnabled && x != nil {
  2934  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2935  		if ms.LoadMessageInfo() == nil {
  2936  			ms.StoreMessageInfo(mi)
  2937  		}
  2938  		return ms
  2939  	}
  2940  	return mi.MessageOf(x)
  2941  }
  2942  
  2943  // Deprecated: Use SessionSegmentConditionGroup.ProtoReflect.Descriptor instead.
  2944  func (*SessionSegmentConditionGroup) Descriptor() ([]byte, []int) {
  2945  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{31}
  2946  }
  2947  
  2948  func (x *SessionSegmentConditionGroup) GetConditionScoping() SessionCriteriaScoping {
  2949  	if x != nil {
  2950  		return x.ConditionScoping
  2951  	}
  2952  	return SessionCriteriaScoping_SESSION_CRITERIA_SCOPING_UNSPECIFIED
  2953  }
  2954  
  2955  func (x *SessionSegmentConditionGroup) GetSegmentFilterExpression() *SegmentFilterExpression {
  2956  	if x != nil {
  2957  		return x.SegmentFilterExpression
  2958  	}
  2959  	return nil
  2960  }
  2961  
  2962  // Specifies which sessions are excluded in this segment.
  2963  type SessionSegmentExclusion struct {
  2964  	state         protoimpl.MessageState
  2965  	sizeCache     protoimpl.SizeCache
  2966  	unknownFields protoimpl.UnknownFields
  2967  
  2968  	// Specifies how long an exclusion will last if a session matches the
  2969  	// `sessionExclusionCriteria`.
  2970  	//
  2971  	// Optional. If unspecified, a `sessionExclusionDuration` of
  2972  	// `SESSION_EXCLUSION_TEMPORARY` is used.
  2973  	SessionExclusionDuration SessionExclusionDuration `protobuf:"varint,1,opt,name=session_exclusion_duration,json=sessionExclusionDuration,proto3,enum=google.analytics.data.v1alpha.SessionExclusionDuration" json:"session_exclusion_duration,omitempty"`
  2974  	// If a session meets this condition, the session is excluded from
  2975  	// membership in the segment for the `sessionExclusionDuration`.
  2976  	SessionExclusionCriteria *SessionSegmentCriteria `protobuf:"bytes,2,opt,name=session_exclusion_criteria,json=sessionExclusionCriteria,proto3" json:"session_exclusion_criteria,omitempty"`
  2977  }
  2978  
  2979  func (x *SessionSegmentExclusion) Reset() {
  2980  	*x = SessionSegmentExclusion{}
  2981  	if protoimpl.UnsafeEnabled {
  2982  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[32]
  2983  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2984  		ms.StoreMessageInfo(mi)
  2985  	}
  2986  }
  2987  
  2988  func (x *SessionSegmentExclusion) String() string {
  2989  	return protoimpl.X.MessageStringOf(x)
  2990  }
  2991  
  2992  func (*SessionSegmentExclusion) ProtoMessage() {}
  2993  
  2994  func (x *SessionSegmentExclusion) ProtoReflect() protoreflect.Message {
  2995  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[32]
  2996  	if protoimpl.UnsafeEnabled && x != nil {
  2997  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2998  		if ms.LoadMessageInfo() == nil {
  2999  			ms.StoreMessageInfo(mi)
  3000  		}
  3001  		return ms
  3002  	}
  3003  	return mi.MessageOf(x)
  3004  }
  3005  
  3006  // Deprecated: Use SessionSegmentExclusion.ProtoReflect.Descriptor instead.
  3007  func (*SessionSegmentExclusion) Descriptor() ([]byte, []int) {
  3008  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{32}
  3009  }
  3010  
  3011  func (x *SessionSegmentExclusion) GetSessionExclusionDuration() SessionExclusionDuration {
  3012  	if x != nil {
  3013  		return x.SessionExclusionDuration
  3014  	}
  3015  	return SessionExclusionDuration_SESSION_EXCLUSION_DURATION_UNSPECIFIED
  3016  }
  3017  
  3018  func (x *SessionSegmentExclusion) GetSessionExclusionCriteria() *SessionSegmentCriteria {
  3019  	if x != nil {
  3020  		return x.SessionExclusionCriteria
  3021  	}
  3022  	return nil
  3023  }
  3024  
  3025  // Event segments are subsets of events that were triggered on your site or app.
  3026  // for example, all purchase events made in a particular location; app_exception
  3027  // events that occurred on a specific operating system.
  3028  type EventSegment struct {
  3029  	state         protoimpl.MessageState
  3030  	sizeCache     protoimpl.SizeCache
  3031  	unknownFields protoimpl.UnknownFields
  3032  
  3033  	// Defines which events are included in this segment. Optional.
  3034  	EventInclusionCriteria *EventSegmentCriteria `protobuf:"bytes,1,opt,name=event_inclusion_criteria,json=eventInclusionCriteria,proto3" json:"event_inclusion_criteria,omitempty"`
  3035  	// Defines which events are excluded in this segment. Optional.
  3036  	Exclusion *EventSegmentExclusion `protobuf:"bytes,2,opt,name=exclusion,proto3" json:"exclusion,omitempty"`
  3037  }
  3038  
  3039  func (x *EventSegment) Reset() {
  3040  	*x = EventSegment{}
  3041  	if protoimpl.UnsafeEnabled {
  3042  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[33]
  3043  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3044  		ms.StoreMessageInfo(mi)
  3045  	}
  3046  }
  3047  
  3048  func (x *EventSegment) String() string {
  3049  	return protoimpl.X.MessageStringOf(x)
  3050  }
  3051  
  3052  func (*EventSegment) ProtoMessage() {}
  3053  
  3054  func (x *EventSegment) ProtoReflect() protoreflect.Message {
  3055  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[33]
  3056  	if protoimpl.UnsafeEnabled && x != nil {
  3057  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3058  		if ms.LoadMessageInfo() == nil {
  3059  			ms.StoreMessageInfo(mi)
  3060  		}
  3061  		return ms
  3062  	}
  3063  	return mi.MessageOf(x)
  3064  }
  3065  
  3066  // Deprecated: Use EventSegment.ProtoReflect.Descriptor instead.
  3067  func (*EventSegment) Descriptor() ([]byte, []int) {
  3068  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{33}
  3069  }
  3070  
  3071  func (x *EventSegment) GetEventInclusionCriteria() *EventSegmentCriteria {
  3072  	if x != nil {
  3073  		return x.EventInclusionCriteria
  3074  	}
  3075  	return nil
  3076  }
  3077  
  3078  func (x *EventSegment) GetExclusion() *EventSegmentExclusion {
  3079  	if x != nil {
  3080  		return x.Exclusion
  3081  	}
  3082  	return nil
  3083  }
  3084  
  3085  // An event matches a criteria if the event meet the conditions in the
  3086  // criteria.
  3087  type EventSegmentCriteria struct {
  3088  	state         protoimpl.MessageState
  3089  	sizeCache     protoimpl.SizeCache
  3090  	unknownFields protoimpl.UnknownFields
  3091  
  3092  	// An event matches this criteria if the event matches each of these
  3093  	// `andConditionGroups`.
  3094  	AndConditionGroups []*EventSegmentConditionGroup `protobuf:"bytes,1,rep,name=and_condition_groups,json=andConditionGroups,proto3" json:"and_condition_groups,omitempty"`
  3095  }
  3096  
  3097  func (x *EventSegmentCriteria) Reset() {
  3098  	*x = EventSegmentCriteria{}
  3099  	if protoimpl.UnsafeEnabled {
  3100  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[34]
  3101  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3102  		ms.StoreMessageInfo(mi)
  3103  	}
  3104  }
  3105  
  3106  func (x *EventSegmentCriteria) String() string {
  3107  	return protoimpl.X.MessageStringOf(x)
  3108  }
  3109  
  3110  func (*EventSegmentCriteria) ProtoMessage() {}
  3111  
  3112  func (x *EventSegmentCriteria) ProtoReflect() protoreflect.Message {
  3113  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[34]
  3114  	if protoimpl.UnsafeEnabled && x != nil {
  3115  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3116  		if ms.LoadMessageInfo() == nil {
  3117  			ms.StoreMessageInfo(mi)
  3118  		}
  3119  		return ms
  3120  	}
  3121  	return mi.MessageOf(x)
  3122  }
  3123  
  3124  // Deprecated: Use EventSegmentCriteria.ProtoReflect.Descriptor instead.
  3125  func (*EventSegmentCriteria) Descriptor() ([]byte, []int) {
  3126  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{34}
  3127  }
  3128  
  3129  func (x *EventSegmentCriteria) GetAndConditionGroups() []*EventSegmentConditionGroup {
  3130  	if x != nil {
  3131  		return x.AndConditionGroups
  3132  	}
  3133  	return nil
  3134  }
  3135  
  3136  // Conditions tell Analytics what data to include in or exclude from the
  3137  // segment.
  3138  type EventSegmentConditionGroup struct {
  3139  	state         protoimpl.MessageState
  3140  	sizeCache     protoimpl.SizeCache
  3141  	unknownFields protoimpl.UnknownFields
  3142  
  3143  	// `conditionScoping` should always be `EVENT_CRITERIA_WITHIN_SAME_EVENT`.
  3144  	//
  3145  	// Optional. If unspecified, a `conditionScoping` of
  3146  	// `EVENT_CRITERIA_WITHIN_SAME_EVENT` is used.
  3147  	ConditionScoping EventCriteriaScoping `protobuf:"varint,1,opt,name=condition_scoping,json=conditionScoping,proto3,enum=google.analytics.data.v1alpha.EventCriteriaScoping" json:"condition_scoping,omitempty"`
  3148  	// Data is included or excluded from the segment based on if it matches
  3149  	// this expression. Expressions express criteria on dimension, metrics,
  3150  	// and/or parameters.
  3151  	SegmentFilterExpression *SegmentFilterExpression `protobuf:"bytes,2,opt,name=segment_filter_expression,json=segmentFilterExpression,proto3" json:"segment_filter_expression,omitempty"`
  3152  }
  3153  
  3154  func (x *EventSegmentConditionGroup) Reset() {
  3155  	*x = EventSegmentConditionGroup{}
  3156  	if protoimpl.UnsafeEnabled {
  3157  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[35]
  3158  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3159  		ms.StoreMessageInfo(mi)
  3160  	}
  3161  }
  3162  
  3163  func (x *EventSegmentConditionGroup) String() string {
  3164  	return protoimpl.X.MessageStringOf(x)
  3165  }
  3166  
  3167  func (*EventSegmentConditionGroup) ProtoMessage() {}
  3168  
  3169  func (x *EventSegmentConditionGroup) ProtoReflect() protoreflect.Message {
  3170  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[35]
  3171  	if protoimpl.UnsafeEnabled && x != nil {
  3172  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3173  		if ms.LoadMessageInfo() == nil {
  3174  			ms.StoreMessageInfo(mi)
  3175  		}
  3176  		return ms
  3177  	}
  3178  	return mi.MessageOf(x)
  3179  }
  3180  
  3181  // Deprecated: Use EventSegmentConditionGroup.ProtoReflect.Descriptor instead.
  3182  func (*EventSegmentConditionGroup) Descriptor() ([]byte, []int) {
  3183  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{35}
  3184  }
  3185  
  3186  func (x *EventSegmentConditionGroup) GetConditionScoping() EventCriteriaScoping {
  3187  	if x != nil {
  3188  		return x.ConditionScoping
  3189  	}
  3190  	return EventCriteriaScoping_EVENT_CRITERIA_SCOPING_UNSPECIFIED
  3191  }
  3192  
  3193  func (x *EventSegmentConditionGroup) GetSegmentFilterExpression() *SegmentFilterExpression {
  3194  	if x != nil {
  3195  		return x.SegmentFilterExpression
  3196  	}
  3197  	return nil
  3198  }
  3199  
  3200  // Specifies which events are excluded in this segment.
  3201  type EventSegmentExclusion struct {
  3202  	state         protoimpl.MessageState
  3203  	sizeCache     protoimpl.SizeCache
  3204  	unknownFields protoimpl.UnknownFields
  3205  
  3206  	// `eventExclusionDuration` should always be `PERMANENTLY_EXCLUDE`.
  3207  	//
  3208  	// Optional. If unspecified, an `eventExclusionDuration` of
  3209  	// `EVENT_EXCLUSION_PERMANENT` is used.
  3210  	EventExclusionDuration EventExclusionDuration `protobuf:"varint,1,opt,name=event_exclusion_duration,json=eventExclusionDuration,proto3,enum=google.analytics.data.v1alpha.EventExclusionDuration" json:"event_exclusion_duration,omitempty"`
  3211  	// If an event meets this condition, the event is excluded from membership
  3212  	// in the segment for the `eventExclusionDuration`.
  3213  	EventExclusionCriteria *EventSegmentCriteria `protobuf:"bytes,2,opt,name=event_exclusion_criteria,json=eventExclusionCriteria,proto3" json:"event_exclusion_criteria,omitempty"`
  3214  }
  3215  
  3216  func (x *EventSegmentExclusion) Reset() {
  3217  	*x = EventSegmentExclusion{}
  3218  	if protoimpl.UnsafeEnabled {
  3219  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[36]
  3220  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3221  		ms.StoreMessageInfo(mi)
  3222  	}
  3223  }
  3224  
  3225  func (x *EventSegmentExclusion) String() string {
  3226  	return protoimpl.X.MessageStringOf(x)
  3227  }
  3228  
  3229  func (*EventSegmentExclusion) ProtoMessage() {}
  3230  
  3231  func (x *EventSegmentExclusion) ProtoReflect() protoreflect.Message {
  3232  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[36]
  3233  	if protoimpl.UnsafeEnabled && x != nil {
  3234  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3235  		if ms.LoadMessageInfo() == nil {
  3236  			ms.StoreMessageInfo(mi)
  3237  		}
  3238  		return ms
  3239  	}
  3240  	return mi.MessageOf(x)
  3241  }
  3242  
  3243  // Deprecated: Use EventSegmentExclusion.ProtoReflect.Descriptor instead.
  3244  func (*EventSegmentExclusion) Descriptor() ([]byte, []int) {
  3245  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{36}
  3246  }
  3247  
  3248  func (x *EventSegmentExclusion) GetEventExclusionDuration() EventExclusionDuration {
  3249  	if x != nil {
  3250  		return x.EventExclusionDuration
  3251  	}
  3252  	return EventExclusionDuration_EVENT_EXCLUSION_DURATION_UNSPECIFIED
  3253  }
  3254  
  3255  func (x *EventSegmentExclusion) GetEventExclusionCriteria() *EventSegmentCriteria {
  3256  	if x != nil {
  3257  		return x.EventExclusionCriteria
  3258  	}
  3259  	return nil
  3260  }
  3261  
  3262  // A segment is a subset of your Analytics data. For example, of your entire set
  3263  // of users, one segment might be users from a particular country or city.
  3264  // Another segment might be users who purchase a particular line of products or
  3265  // who visit a specific part of your site or trigger certain events in your app.
  3266  //
  3267  // To learn more, see [GA4 Segment
  3268  // Builder](https://support.google.com/analytics/answer/9304353).
  3269  type Segment struct {
  3270  	state         protoimpl.MessageState
  3271  	sizeCache     protoimpl.SizeCache
  3272  	unknownFields protoimpl.UnknownFields
  3273  
  3274  	// The name for this segment. If unspecified, segments are named "Segment".
  3275  	// This name defines string value returned by the `segment` dimension. The
  3276  	// `segment` dimension prefixes segment names by the 1-based index number of
  3277  	// the segment in the request (i.e. "1. Segment", "2. Segment", etc.).
  3278  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  3279  	// A segment is specified in one scope.
  3280  	//
  3281  	// Types that are assignable to OneSegmentScope:
  3282  	//	*Segment_UserSegment
  3283  	//	*Segment_SessionSegment
  3284  	//	*Segment_EventSegment
  3285  	OneSegmentScope isSegment_OneSegmentScope `protobuf_oneof:"one_segment_scope"`
  3286  }
  3287  
  3288  func (x *Segment) Reset() {
  3289  	*x = Segment{}
  3290  	if protoimpl.UnsafeEnabled {
  3291  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[37]
  3292  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3293  		ms.StoreMessageInfo(mi)
  3294  	}
  3295  }
  3296  
  3297  func (x *Segment) String() string {
  3298  	return protoimpl.X.MessageStringOf(x)
  3299  }
  3300  
  3301  func (*Segment) ProtoMessage() {}
  3302  
  3303  func (x *Segment) ProtoReflect() protoreflect.Message {
  3304  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[37]
  3305  	if protoimpl.UnsafeEnabled && x != nil {
  3306  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3307  		if ms.LoadMessageInfo() == nil {
  3308  			ms.StoreMessageInfo(mi)
  3309  		}
  3310  		return ms
  3311  	}
  3312  	return mi.MessageOf(x)
  3313  }
  3314  
  3315  // Deprecated: Use Segment.ProtoReflect.Descriptor instead.
  3316  func (*Segment) Descriptor() ([]byte, []int) {
  3317  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{37}
  3318  }
  3319  
  3320  func (x *Segment) GetName() string {
  3321  	if x != nil {
  3322  		return x.Name
  3323  	}
  3324  	return ""
  3325  }
  3326  
  3327  func (m *Segment) GetOneSegmentScope() isSegment_OneSegmentScope {
  3328  	if m != nil {
  3329  		return m.OneSegmentScope
  3330  	}
  3331  	return nil
  3332  }
  3333  
  3334  func (x *Segment) GetUserSegment() *UserSegment {
  3335  	if x, ok := x.GetOneSegmentScope().(*Segment_UserSegment); ok {
  3336  		return x.UserSegment
  3337  	}
  3338  	return nil
  3339  }
  3340  
  3341  func (x *Segment) GetSessionSegment() *SessionSegment {
  3342  	if x, ok := x.GetOneSegmentScope().(*Segment_SessionSegment); ok {
  3343  		return x.SessionSegment
  3344  	}
  3345  	return nil
  3346  }
  3347  
  3348  func (x *Segment) GetEventSegment() *EventSegment {
  3349  	if x, ok := x.GetOneSegmentScope().(*Segment_EventSegment); ok {
  3350  		return x.EventSegment
  3351  	}
  3352  	return nil
  3353  }
  3354  
  3355  type isSegment_OneSegmentScope interface {
  3356  	isSegment_OneSegmentScope()
  3357  }
  3358  
  3359  type Segment_UserSegment struct {
  3360  	// User segments are subsets of users who engaged with your site or app.
  3361  	UserSegment *UserSegment `protobuf:"bytes,2,opt,name=user_segment,json=userSegment,proto3,oneof"`
  3362  }
  3363  
  3364  type Segment_SessionSegment struct {
  3365  	// Session segments are subsets of the sessions that occurred on your site
  3366  	// or app.
  3367  	SessionSegment *SessionSegment `protobuf:"bytes,3,opt,name=session_segment,json=sessionSegment,proto3,oneof"`
  3368  }
  3369  
  3370  type Segment_EventSegment struct {
  3371  	// Event segments are subsets of events that were triggered on your site or
  3372  	// app.
  3373  	EventSegment *EventSegment `protobuf:"bytes,4,opt,name=event_segment,json=eventSegment,proto3,oneof"`
  3374  }
  3375  
  3376  func (*Segment_UserSegment) isSegment_OneSegmentScope() {}
  3377  
  3378  func (*Segment_SessionSegment) isSegment_OneSegmentScope() {}
  3379  
  3380  func (*Segment_EventSegment) isSegment_OneSegmentScope() {}
  3381  
  3382  // Expresses combinations of segment filters.
  3383  type SegmentFilterExpression struct {
  3384  	state         protoimpl.MessageState
  3385  	sizeCache     protoimpl.SizeCache
  3386  	unknownFields protoimpl.UnknownFields
  3387  
  3388  	// Specify one type of filter for `SegmentFilterExpression`.
  3389  	//
  3390  	// Types that are assignable to Expr:
  3391  	//	*SegmentFilterExpression_AndGroup
  3392  	//	*SegmentFilterExpression_OrGroup
  3393  	//	*SegmentFilterExpression_NotExpression
  3394  	//	*SegmentFilterExpression_SegmentFilter
  3395  	//	*SegmentFilterExpression_SegmentEventFilter
  3396  	Expr isSegmentFilterExpression_Expr `protobuf_oneof:"expr"`
  3397  }
  3398  
  3399  func (x *SegmentFilterExpression) Reset() {
  3400  	*x = SegmentFilterExpression{}
  3401  	if protoimpl.UnsafeEnabled {
  3402  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[38]
  3403  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3404  		ms.StoreMessageInfo(mi)
  3405  	}
  3406  }
  3407  
  3408  func (x *SegmentFilterExpression) String() string {
  3409  	return protoimpl.X.MessageStringOf(x)
  3410  }
  3411  
  3412  func (*SegmentFilterExpression) ProtoMessage() {}
  3413  
  3414  func (x *SegmentFilterExpression) ProtoReflect() protoreflect.Message {
  3415  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[38]
  3416  	if protoimpl.UnsafeEnabled && x != nil {
  3417  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3418  		if ms.LoadMessageInfo() == nil {
  3419  			ms.StoreMessageInfo(mi)
  3420  		}
  3421  		return ms
  3422  	}
  3423  	return mi.MessageOf(x)
  3424  }
  3425  
  3426  // Deprecated: Use SegmentFilterExpression.ProtoReflect.Descriptor instead.
  3427  func (*SegmentFilterExpression) Descriptor() ([]byte, []int) {
  3428  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{38}
  3429  }
  3430  
  3431  func (m *SegmentFilterExpression) GetExpr() isSegmentFilterExpression_Expr {
  3432  	if m != nil {
  3433  		return m.Expr
  3434  	}
  3435  	return nil
  3436  }
  3437  
  3438  func (x *SegmentFilterExpression) GetAndGroup() *SegmentFilterExpressionList {
  3439  	if x, ok := x.GetExpr().(*SegmentFilterExpression_AndGroup); ok {
  3440  		return x.AndGroup
  3441  	}
  3442  	return nil
  3443  }
  3444  
  3445  func (x *SegmentFilterExpression) GetOrGroup() *SegmentFilterExpressionList {
  3446  	if x, ok := x.GetExpr().(*SegmentFilterExpression_OrGroup); ok {
  3447  		return x.OrGroup
  3448  	}
  3449  	return nil
  3450  }
  3451  
  3452  func (x *SegmentFilterExpression) GetNotExpression() *SegmentFilterExpression {
  3453  	if x, ok := x.GetExpr().(*SegmentFilterExpression_NotExpression); ok {
  3454  		return x.NotExpression
  3455  	}
  3456  	return nil
  3457  }
  3458  
  3459  func (x *SegmentFilterExpression) GetSegmentFilter() *SegmentFilter {
  3460  	if x, ok := x.GetExpr().(*SegmentFilterExpression_SegmentFilter); ok {
  3461  		return x.SegmentFilter
  3462  	}
  3463  	return nil
  3464  }
  3465  
  3466  func (x *SegmentFilterExpression) GetSegmentEventFilter() *SegmentEventFilter {
  3467  	if x, ok := x.GetExpr().(*SegmentFilterExpression_SegmentEventFilter); ok {
  3468  		return x.SegmentEventFilter
  3469  	}
  3470  	return nil
  3471  }
  3472  
  3473  type isSegmentFilterExpression_Expr interface {
  3474  	isSegmentFilterExpression_Expr()
  3475  }
  3476  
  3477  type SegmentFilterExpression_AndGroup struct {
  3478  	// The SegmentFilterExpression in `andGroup` have an AND relationship.
  3479  	AndGroup *SegmentFilterExpressionList `protobuf:"bytes,1,opt,name=and_group,json=andGroup,proto3,oneof"`
  3480  }
  3481  
  3482  type SegmentFilterExpression_OrGroup struct {
  3483  	// The SegmentFilterExpression in `orGroup` have an OR relationship.
  3484  	OrGroup *SegmentFilterExpressionList `protobuf:"bytes,2,opt,name=or_group,json=orGroup,proto3,oneof"`
  3485  }
  3486  
  3487  type SegmentFilterExpression_NotExpression struct {
  3488  	// The SegmentFilterExpression is NOT of `notExpression`.
  3489  	NotExpression *SegmentFilterExpression `protobuf:"bytes,3,opt,name=not_expression,json=notExpression,proto3,oneof"`
  3490  }
  3491  
  3492  type SegmentFilterExpression_SegmentFilter struct {
  3493  	// A primitive segment filter.
  3494  	SegmentFilter *SegmentFilter `protobuf:"bytes,4,opt,name=segment_filter,json=segmentFilter,proto3,oneof"`
  3495  }
  3496  
  3497  type SegmentFilterExpression_SegmentEventFilter struct {
  3498  	// Creates a filter that matches events of a single event name. If a
  3499  	// parameter filter expression is specified, only the subset of events that
  3500  	// match both the single event name and the parameter filter expressions
  3501  	// match this event filter.
  3502  	SegmentEventFilter *SegmentEventFilter `protobuf:"bytes,5,opt,name=segment_event_filter,json=segmentEventFilter,proto3,oneof"`
  3503  }
  3504  
  3505  func (*SegmentFilterExpression_AndGroup) isSegmentFilterExpression_Expr() {}
  3506  
  3507  func (*SegmentFilterExpression_OrGroup) isSegmentFilterExpression_Expr() {}
  3508  
  3509  func (*SegmentFilterExpression_NotExpression) isSegmentFilterExpression_Expr() {}
  3510  
  3511  func (*SegmentFilterExpression_SegmentFilter) isSegmentFilterExpression_Expr() {}
  3512  
  3513  func (*SegmentFilterExpression_SegmentEventFilter) isSegmentFilterExpression_Expr() {}
  3514  
  3515  // A list of segment filter expressions.
  3516  type SegmentFilterExpressionList struct {
  3517  	state         protoimpl.MessageState
  3518  	sizeCache     protoimpl.SizeCache
  3519  	unknownFields protoimpl.UnknownFields
  3520  
  3521  	// The list of segment filter expressions
  3522  	Expressions []*SegmentFilterExpression `protobuf:"bytes,1,rep,name=expressions,proto3" json:"expressions,omitempty"`
  3523  }
  3524  
  3525  func (x *SegmentFilterExpressionList) Reset() {
  3526  	*x = SegmentFilterExpressionList{}
  3527  	if protoimpl.UnsafeEnabled {
  3528  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[39]
  3529  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3530  		ms.StoreMessageInfo(mi)
  3531  	}
  3532  }
  3533  
  3534  func (x *SegmentFilterExpressionList) String() string {
  3535  	return protoimpl.X.MessageStringOf(x)
  3536  }
  3537  
  3538  func (*SegmentFilterExpressionList) ProtoMessage() {}
  3539  
  3540  func (x *SegmentFilterExpressionList) ProtoReflect() protoreflect.Message {
  3541  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[39]
  3542  	if protoimpl.UnsafeEnabled && x != nil {
  3543  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3544  		if ms.LoadMessageInfo() == nil {
  3545  			ms.StoreMessageInfo(mi)
  3546  		}
  3547  		return ms
  3548  	}
  3549  	return mi.MessageOf(x)
  3550  }
  3551  
  3552  // Deprecated: Use SegmentFilterExpressionList.ProtoReflect.Descriptor instead.
  3553  func (*SegmentFilterExpressionList) Descriptor() ([]byte, []int) {
  3554  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{39}
  3555  }
  3556  
  3557  func (x *SegmentFilterExpressionList) GetExpressions() []*SegmentFilterExpression {
  3558  	if x != nil {
  3559  		return x.Expressions
  3560  	}
  3561  	return nil
  3562  }
  3563  
  3564  // An expression to filter dimension or metric values.
  3565  type SegmentFilter struct {
  3566  	state         protoimpl.MessageState
  3567  	sizeCache     protoimpl.SizeCache
  3568  	unknownFields protoimpl.UnknownFields
  3569  
  3570  	// The dimension name or metric name.
  3571  	FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"`
  3572  	// Specify one type of filter for `Filter`.
  3573  	//
  3574  	// Types that are assignable to OneFilter:
  3575  	//	*SegmentFilter_StringFilter
  3576  	//	*SegmentFilter_InListFilter
  3577  	//	*SegmentFilter_NumericFilter
  3578  	//	*SegmentFilter_BetweenFilter
  3579  	OneFilter isSegmentFilter_OneFilter `protobuf_oneof:"one_filter"`
  3580  	// Specifies the scope for the filter.
  3581  	FilterScoping *SegmentFilterScoping `protobuf:"bytes,8,opt,name=filter_scoping,json=filterScoping,proto3" json:"filter_scoping,omitempty"`
  3582  }
  3583  
  3584  func (x *SegmentFilter) Reset() {
  3585  	*x = SegmentFilter{}
  3586  	if protoimpl.UnsafeEnabled {
  3587  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[40]
  3588  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3589  		ms.StoreMessageInfo(mi)
  3590  	}
  3591  }
  3592  
  3593  func (x *SegmentFilter) String() string {
  3594  	return protoimpl.X.MessageStringOf(x)
  3595  }
  3596  
  3597  func (*SegmentFilter) ProtoMessage() {}
  3598  
  3599  func (x *SegmentFilter) ProtoReflect() protoreflect.Message {
  3600  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[40]
  3601  	if protoimpl.UnsafeEnabled && x != nil {
  3602  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3603  		if ms.LoadMessageInfo() == nil {
  3604  			ms.StoreMessageInfo(mi)
  3605  		}
  3606  		return ms
  3607  	}
  3608  	return mi.MessageOf(x)
  3609  }
  3610  
  3611  // Deprecated: Use SegmentFilter.ProtoReflect.Descriptor instead.
  3612  func (*SegmentFilter) Descriptor() ([]byte, []int) {
  3613  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{40}
  3614  }
  3615  
  3616  func (x *SegmentFilter) GetFieldName() string {
  3617  	if x != nil {
  3618  		return x.FieldName
  3619  	}
  3620  	return ""
  3621  }
  3622  
  3623  func (m *SegmentFilter) GetOneFilter() isSegmentFilter_OneFilter {
  3624  	if m != nil {
  3625  		return m.OneFilter
  3626  	}
  3627  	return nil
  3628  }
  3629  
  3630  func (x *SegmentFilter) GetStringFilter() *StringFilter {
  3631  	if x, ok := x.GetOneFilter().(*SegmentFilter_StringFilter); ok {
  3632  		return x.StringFilter
  3633  	}
  3634  	return nil
  3635  }
  3636  
  3637  func (x *SegmentFilter) GetInListFilter() *InListFilter {
  3638  	if x, ok := x.GetOneFilter().(*SegmentFilter_InListFilter); ok {
  3639  		return x.InListFilter
  3640  	}
  3641  	return nil
  3642  }
  3643  
  3644  func (x *SegmentFilter) GetNumericFilter() *NumericFilter {
  3645  	if x, ok := x.GetOneFilter().(*SegmentFilter_NumericFilter); ok {
  3646  		return x.NumericFilter
  3647  	}
  3648  	return nil
  3649  }
  3650  
  3651  func (x *SegmentFilter) GetBetweenFilter() *BetweenFilter {
  3652  	if x, ok := x.GetOneFilter().(*SegmentFilter_BetweenFilter); ok {
  3653  		return x.BetweenFilter
  3654  	}
  3655  	return nil
  3656  }
  3657  
  3658  func (x *SegmentFilter) GetFilterScoping() *SegmentFilterScoping {
  3659  	if x != nil {
  3660  		return x.FilterScoping
  3661  	}
  3662  	return nil
  3663  }
  3664  
  3665  type isSegmentFilter_OneFilter interface {
  3666  	isSegmentFilter_OneFilter()
  3667  }
  3668  
  3669  type SegmentFilter_StringFilter struct {
  3670  	// Strings related filter.
  3671  	StringFilter *StringFilter `protobuf:"bytes,4,opt,name=string_filter,json=stringFilter,proto3,oneof"`
  3672  }
  3673  
  3674  type SegmentFilter_InListFilter struct {
  3675  	// A filter for in list values.
  3676  	InListFilter *InListFilter `protobuf:"bytes,5,opt,name=in_list_filter,json=inListFilter,proto3,oneof"`
  3677  }
  3678  
  3679  type SegmentFilter_NumericFilter struct {
  3680  	// A filter for numeric or date values.
  3681  	NumericFilter *NumericFilter `protobuf:"bytes,6,opt,name=numeric_filter,json=numericFilter,proto3,oneof"`
  3682  }
  3683  
  3684  type SegmentFilter_BetweenFilter struct {
  3685  	// A filter for between two values.
  3686  	BetweenFilter *BetweenFilter `protobuf:"bytes,7,opt,name=between_filter,json=betweenFilter,proto3,oneof"`
  3687  }
  3688  
  3689  func (*SegmentFilter_StringFilter) isSegmentFilter_OneFilter() {}
  3690  
  3691  func (*SegmentFilter_InListFilter) isSegmentFilter_OneFilter() {}
  3692  
  3693  func (*SegmentFilter_NumericFilter) isSegmentFilter_OneFilter() {}
  3694  
  3695  func (*SegmentFilter_BetweenFilter) isSegmentFilter_OneFilter() {}
  3696  
  3697  // Scopings specify how the dimensions & metrics of multiple events
  3698  // should be considered when evaluating a segment filter.
  3699  type SegmentFilterScoping struct {
  3700  	state         protoimpl.MessageState
  3701  	sizeCache     protoimpl.SizeCache
  3702  	unknownFields protoimpl.UnknownFields
  3703  
  3704  	// If `atAnyPointInTime` is true, this filter evaluates to true for all
  3705  	// events if it evaluates to true for any event in the date range of the
  3706  	// request.
  3707  	//
  3708  	// This `atAnyPointInTime` parameter does not extend the date range of
  3709  	// events in the report. If `atAnyPointInTime` is true, only events within
  3710  	// the report's date range are considered when evaluating this filter.
  3711  	//
  3712  	// This `atAnyPointInTime` is only able to be specified if the criteria
  3713  	// scoping is `ACROSS_ALL_SESSIONS` and is not able to be specified in
  3714  	// sequences.
  3715  	//
  3716  	// If the criteria scoping is `ACROSS_ALL_SESSIONS`, `atAnyPointInTime` =
  3717  	// false is used if unspecified.
  3718  	AtAnyPointInTime *bool `protobuf:"varint,1,opt,name=at_any_point_in_time,json=atAnyPointInTime,proto3,oneof" json:"at_any_point_in_time,omitempty"`
  3719  }
  3720  
  3721  func (x *SegmentFilterScoping) Reset() {
  3722  	*x = SegmentFilterScoping{}
  3723  	if protoimpl.UnsafeEnabled {
  3724  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[41]
  3725  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3726  		ms.StoreMessageInfo(mi)
  3727  	}
  3728  }
  3729  
  3730  func (x *SegmentFilterScoping) String() string {
  3731  	return protoimpl.X.MessageStringOf(x)
  3732  }
  3733  
  3734  func (*SegmentFilterScoping) ProtoMessage() {}
  3735  
  3736  func (x *SegmentFilterScoping) ProtoReflect() protoreflect.Message {
  3737  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[41]
  3738  	if protoimpl.UnsafeEnabled && x != nil {
  3739  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3740  		if ms.LoadMessageInfo() == nil {
  3741  			ms.StoreMessageInfo(mi)
  3742  		}
  3743  		return ms
  3744  	}
  3745  	return mi.MessageOf(x)
  3746  }
  3747  
  3748  // Deprecated: Use SegmentFilterScoping.ProtoReflect.Descriptor instead.
  3749  func (*SegmentFilterScoping) Descriptor() ([]byte, []int) {
  3750  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{41}
  3751  }
  3752  
  3753  func (x *SegmentFilterScoping) GetAtAnyPointInTime() bool {
  3754  	if x != nil && x.AtAnyPointInTime != nil {
  3755  		return *x.AtAnyPointInTime
  3756  	}
  3757  	return false
  3758  }
  3759  
  3760  // Creates a filter that matches events of a single event name. If a parameter
  3761  // filter expression is specified, only the subset of events that match both the
  3762  // single event name and the parameter filter expressions match this event
  3763  // filter.
  3764  type SegmentEventFilter struct {
  3765  	state         protoimpl.MessageState
  3766  	sizeCache     protoimpl.SizeCache
  3767  	unknownFields protoimpl.UnknownFields
  3768  
  3769  	// This filter matches events of this single event name. Event name is
  3770  	// required.
  3771  	EventName *string `protobuf:"bytes,1,opt,name=event_name,json=eventName,proto3,oneof" json:"event_name,omitempty"`
  3772  	// If specified, this filter matches events that match both the single event
  3773  	// name and the parameter filter expressions.
  3774  	//
  3775  	// Inside the parameter filter expression, only parameter filters are
  3776  	// available.
  3777  	SegmentParameterFilterExpression *SegmentParameterFilterExpression `protobuf:"bytes,2,opt,name=segment_parameter_filter_expression,json=segmentParameterFilterExpression,proto3,oneof" json:"segment_parameter_filter_expression,omitempty"`
  3778  }
  3779  
  3780  func (x *SegmentEventFilter) Reset() {
  3781  	*x = SegmentEventFilter{}
  3782  	if protoimpl.UnsafeEnabled {
  3783  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[42]
  3784  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3785  		ms.StoreMessageInfo(mi)
  3786  	}
  3787  }
  3788  
  3789  func (x *SegmentEventFilter) String() string {
  3790  	return protoimpl.X.MessageStringOf(x)
  3791  }
  3792  
  3793  func (*SegmentEventFilter) ProtoMessage() {}
  3794  
  3795  func (x *SegmentEventFilter) ProtoReflect() protoreflect.Message {
  3796  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[42]
  3797  	if protoimpl.UnsafeEnabled && x != nil {
  3798  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3799  		if ms.LoadMessageInfo() == nil {
  3800  			ms.StoreMessageInfo(mi)
  3801  		}
  3802  		return ms
  3803  	}
  3804  	return mi.MessageOf(x)
  3805  }
  3806  
  3807  // Deprecated: Use SegmentEventFilter.ProtoReflect.Descriptor instead.
  3808  func (*SegmentEventFilter) Descriptor() ([]byte, []int) {
  3809  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{42}
  3810  }
  3811  
  3812  func (x *SegmentEventFilter) GetEventName() string {
  3813  	if x != nil && x.EventName != nil {
  3814  		return *x.EventName
  3815  	}
  3816  	return ""
  3817  }
  3818  
  3819  func (x *SegmentEventFilter) GetSegmentParameterFilterExpression() *SegmentParameterFilterExpression {
  3820  	if x != nil {
  3821  		return x.SegmentParameterFilterExpression
  3822  	}
  3823  	return nil
  3824  }
  3825  
  3826  // Expresses combinations of segment filter on parameters.
  3827  type SegmentParameterFilterExpression struct {
  3828  	state         protoimpl.MessageState
  3829  	sizeCache     protoimpl.SizeCache
  3830  	unknownFields protoimpl.UnknownFields
  3831  
  3832  	// Specify one type of filter for `SegmentParameterFilterExpression`.
  3833  	//
  3834  	// Types that are assignable to Expr:
  3835  	//	*SegmentParameterFilterExpression_AndGroup
  3836  	//	*SegmentParameterFilterExpression_OrGroup
  3837  	//	*SegmentParameterFilterExpression_NotExpression
  3838  	//	*SegmentParameterFilterExpression_SegmentParameterFilter
  3839  	Expr isSegmentParameterFilterExpression_Expr `protobuf_oneof:"expr"`
  3840  }
  3841  
  3842  func (x *SegmentParameterFilterExpression) Reset() {
  3843  	*x = SegmentParameterFilterExpression{}
  3844  	if protoimpl.UnsafeEnabled {
  3845  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[43]
  3846  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3847  		ms.StoreMessageInfo(mi)
  3848  	}
  3849  }
  3850  
  3851  func (x *SegmentParameterFilterExpression) String() string {
  3852  	return protoimpl.X.MessageStringOf(x)
  3853  }
  3854  
  3855  func (*SegmentParameterFilterExpression) ProtoMessage() {}
  3856  
  3857  func (x *SegmentParameterFilterExpression) ProtoReflect() protoreflect.Message {
  3858  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[43]
  3859  	if protoimpl.UnsafeEnabled && x != nil {
  3860  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3861  		if ms.LoadMessageInfo() == nil {
  3862  			ms.StoreMessageInfo(mi)
  3863  		}
  3864  		return ms
  3865  	}
  3866  	return mi.MessageOf(x)
  3867  }
  3868  
  3869  // Deprecated: Use SegmentParameterFilterExpression.ProtoReflect.Descriptor instead.
  3870  func (*SegmentParameterFilterExpression) Descriptor() ([]byte, []int) {
  3871  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{43}
  3872  }
  3873  
  3874  func (m *SegmentParameterFilterExpression) GetExpr() isSegmentParameterFilterExpression_Expr {
  3875  	if m != nil {
  3876  		return m.Expr
  3877  	}
  3878  	return nil
  3879  }
  3880  
  3881  func (x *SegmentParameterFilterExpression) GetAndGroup() *SegmentParameterFilterExpressionList {
  3882  	if x, ok := x.GetExpr().(*SegmentParameterFilterExpression_AndGroup); ok {
  3883  		return x.AndGroup
  3884  	}
  3885  	return nil
  3886  }
  3887  
  3888  func (x *SegmentParameterFilterExpression) GetOrGroup() *SegmentParameterFilterExpressionList {
  3889  	if x, ok := x.GetExpr().(*SegmentParameterFilterExpression_OrGroup); ok {
  3890  		return x.OrGroup
  3891  	}
  3892  	return nil
  3893  }
  3894  
  3895  func (x *SegmentParameterFilterExpression) GetNotExpression() *SegmentParameterFilterExpression {
  3896  	if x, ok := x.GetExpr().(*SegmentParameterFilterExpression_NotExpression); ok {
  3897  		return x.NotExpression
  3898  	}
  3899  	return nil
  3900  }
  3901  
  3902  func (x *SegmentParameterFilterExpression) GetSegmentParameterFilter() *SegmentParameterFilter {
  3903  	if x, ok := x.GetExpr().(*SegmentParameterFilterExpression_SegmentParameterFilter); ok {
  3904  		return x.SegmentParameterFilter
  3905  	}
  3906  	return nil
  3907  }
  3908  
  3909  type isSegmentParameterFilterExpression_Expr interface {
  3910  	isSegmentParameterFilterExpression_Expr()
  3911  }
  3912  
  3913  type SegmentParameterFilterExpression_AndGroup struct {
  3914  	// The SegmentParameterFilterExpression in `andGroup` have an AND
  3915  	// relationship.
  3916  	AndGroup *SegmentParameterFilterExpressionList `protobuf:"bytes,1,opt,name=and_group,json=andGroup,proto3,oneof"`
  3917  }
  3918  
  3919  type SegmentParameterFilterExpression_OrGroup struct {
  3920  	// The SegmentParameterFilterExpression in `orGroup` have an OR
  3921  	// relationship.
  3922  	OrGroup *SegmentParameterFilterExpressionList `protobuf:"bytes,2,opt,name=or_group,json=orGroup,proto3,oneof"`
  3923  }
  3924  
  3925  type SegmentParameterFilterExpression_NotExpression struct {
  3926  	// The SegmentParameterFilterExpression is NOT of `notExpression`.
  3927  	NotExpression *SegmentParameterFilterExpression `protobuf:"bytes,3,opt,name=not_expression,json=notExpression,proto3,oneof"`
  3928  }
  3929  
  3930  type SegmentParameterFilterExpression_SegmentParameterFilter struct {
  3931  	// A primitive segment parameter filter.
  3932  	SegmentParameterFilter *SegmentParameterFilter `protobuf:"bytes,4,opt,name=segment_parameter_filter,json=segmentParameterFilter,proto3,oneof"`
  3933  }
  3934  
  3935  func (*SegmentParameterFilterExpression_AndGroup) isSegmentParameterFilterExpression_Expr() {}
  3936  
  3937  func (*SegmentParameterFilterExpression_OrGroup) isSegmentParameterFilterExpression_Expr() {}
  3938  
  3939  func (*SegmentParameterFilterExpression_NotExpression) isSegmentParameterFilterExpression_Expr() {}
  3940  
  3941  func (*SegmentParameterFilterExpression_SegmentParameterFilter) isSegmentParameterFilterExpression_Expr() {
  3942  }
  3943  
  3944  // A list of segment parameter filter expressions.
  3945  type SegmentParameterFilterExpressionList struct {
  3946  	state         protoimpl.MessageState
  3947  	sizeCache     protoimpl.SizeCache
  3948  	unknownFields protoimpl.UnknownFields
  3949  
  3950  	// The list of segment parameter filter expressions.
  3951  	Expressions []*SegmentParameterFilterExpression `protobuf:"bytes,1,rep,name=expressions,proto3" json:"expressions,omitempty"`
  3952  }
  3953  
  3954  func (x *SegmentParameterFilterExpressionList) Reset() {
  3955  	*x = SegmentParameterFilterExpressionList{}
  3956  	if protoimpl.UnsafeEnabled {
  3957  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[44]
  3958  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3959  		ms.StoreMessageInfo(mi)
  3960  	}
  3961  }
  3962  
  3963  func (x *SegmentParameterFilterExpressionList) String() string {
  3964  	return protoimpl.X.MessageStringOf(x)
  3965  }
  3966  
  3967  func (*SegmentParameterFilterExpressionList) ProtoMessage() {}
  3968  
  3969  func (x *SegmentParameterFilterExpressionList) ProtoReflect() protoreflect.Message {
  3970  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[44]
  3971  	if protoimpl.UnsafeEnabled && x != nil {
  3972  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3973  		if ms.LoadMessageInfo() == nil {
  3974  			ms.StoreMessageInfo(mi)
  3975  		}
  3976  		return ms
  3977  	}
  3978  	return mi.MessageOf(x)
  3979  }
  3980  
  3981  // Deprecated: Use SegmentParameterFilterExpressionList.ProtoReflect.Descriptor instead.
  3982  func (*SegmentParameterFilterExpressionList) Descriptor() ([]byte, []int) {
  3983  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{44}
  3984  }
  3985  
  3986  func (x *SegmentParameterFilterExpressionList) GetExpressions() []*SegmentParameterFilterExpression {
  3987  	if x != nil {
  3988  		return x.Expressions
  3989  	}
  3990  	return nil
  3991  }
  3992  
  3993  // An expression to filter parameter values in a segment.
  3994  type SegmentParameterFilter struct {
  3995  	state         protoimpl.MessageState
  3996  	sizeCache     protoimpl.SizeCache
  3997  	unknownFields protoimpl.UnknownFields
  3998  
  3999  	// The field that is being filtered.
  4000  	//
  4001  	// Types that are assignable to OneParameter:
  4002  	//	*SegmentParameterFilter_EventParameterName
  4003  	//	*SegmentParameterFilter_ItemParameterName
  4004  	OneParameter isSegmentParameterFilter_OneParameter `protobuf_oneof:"one_parameter"`
  4005  	// Specify one type of filter.
  4006  	//
  4007  	// Types that are assignable to OneFilter:
  4008  	//	*SegmentParameterFilter_StringFilter
  4009  	//	*SegmentParameterFilter_InListFilter
  4010  	//	*SegmentParameterFilter_NumericFilter
  4011  	//	*SegmentParameterFilter_BetweenFilter
  4012  	OneFilter isSegmentParameterFilter_OneFilter `protobuf_oneof:"one_filter"`
  4013  	// Specifies the scope for the filter.
  4014  	FilterScoping *SegmentParameterFilterScoping `protobuf:"bytes,8,opt,name=filter_scoping,json=filterScoping,proto3" json:"filter_scoping,omitempty"`
  4015  }
  4016  
  4017  func (x *SegmentParameterFilter) Reset() {
  4018  	*x = SegmentParameterFilter{}
  4019  	if protoimpl.UnsafeEnabled {
  4020  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[45]
  4021  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4022  		ms.StoreMessageInfo(mi)
  4023  	}
  4024  }
  4025  
  4026  func (x *SegmentParameterFilter) String() string {
  4027  	return protoimpl.X.MessageStringOf(x)
  4028  }
  4029  
  4030  func (*SegmentParameterFilter) ProtoMessage() {}
  4031  
  4032  func (x *SegmentParameterFilter) ProtoReflect() protoreflect.Message {
  4033  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[45]
  4034  	if protoimpl.UnsafeEnabled && x != nil {
  4035  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4036  		if ms.LoadMessageInfo() == nil {
  4037  			ms.StoreMessageInfo(mi)
  4038  		}
  4039  		return ms
  4040  	}
  4041  	return mi.MessageOf(x)
  4042  }
  4043  
  4044  // Deprecated: Use SegmentParameterFilter.ProtoReflect.Descriptor instead.
  4045  func (*SegmentParameterFilter) Descriptor() ([]byte, []int) {
  4046  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{45}
  4047  }
  4048  
  4049  func (m *SegmentParameterFilter) GetOneParameter() isSegmentParameterFilter_OneParameter {
  4050  	if m != nil {
  4051  		return m.OneParameter
  4052  	}
  4053  	return nil
  4054  }
  4055  
  4056  func (x *SegmentParameterFilter) GetEventParameterName() string {
  4057  	if x, ok := x.GetOneParameter().(*SegmentParameterFilter_EventParameterName); ok {
  4058  		return x.EventParameterName
  4059  	}
  4060  	return ""
  4061  }
  4062  
  4063  func (x *SegmentParameterFilter) GetItemParameterName() string {
  4064  	if x, ok := x.GetOneParameter().(*SegmentParameterFilter_ItemParameterName); ok {
  4065  		return x.ItemParameterName
  4066  	}
  4067  	return ""
  4068  }
  4069  
  4070  func (m *SegmentParameterFilter) GetOneFilter() isSegmentParameterFilter_OneFilter {
  4071  	if m != nil {
  4072  		return m.OneFilter
  4073  	}
  4074  	return nil
  4075  }
  4076  
  4077  func (x *SegmentParameterFilter) GetStringFilter() *StringFilter {
  4078  	if x, ok := x.GetOneFilter().(*SegmentParameterFilter_StringFilter); ok {
  4079  		return x.StringFilter
  4080  	}
  4081  	return nil
  4082  }
  4083  
  4084  func (x *SegmentParameterFilter) GetInListFilter() *InListFilter {
  4085  	if x, ok := x.GetOneFilter().(*SegmentParameterFilter_InListFilter); ok {
  4086  		return x.InListFilter
  4087  	}
  4088  	return nil
  4089  }
  4090  
  4091  func (x *SegmentParameterFilter) GetNumericFilter() *NumericFilter {
  4092  	if x, ok := x.GetOneFilter().(*SegmentParameterFilter_NumericFilter); ok {
  4093  		return x.NumericFilter
  4094  	}
  4095  	return nil
  4096  }
  4097  
  4098  func (x *SegmentParameterFilter) GetBetweenFilter() *BetweenFilter {
  4099  	if x, ok := x.GetOneFilter().(*SegmentParameterFilter_BetweenFilter); ok {
  4100  		return x.BetweenFilter
  4101  	}
  4102  	return nil
  4103  }
  4104  
  4105  func (x *SegmentParameterFilter) GetFilterScoping() *SegmentParameterFilterScoping {
  4106  	if x != nil {
  4107  		return x.FilterScoping
  4108  	}
  4109  	return nil
  4110  }
  4111  
  4112  type isSegmentParameterFilter_OneParameter interface {
  4113  	isSegmentParameterFilter_OneParameter()
  4114  }
  4115  
  4116  type SegmentParameterFilter_EventParameterName struct {
  4117  	// This filter will be evaluated on the specified event parameter. Event
  4118  	// parameters are logged as parameters of the event. Event parameters
  4119  	// include fields like "firebase_screen" & "currency".
  4120  	//
  4121  	// Event parameters can only be used in segments & funnels and can only be
  4122  	// used in a descendent filter from an EventFilter. In a descendent filter
  4123  	// from an EventFilter either event or item parameters should be used.
  4124  	EventParameterName string `protobuf:"bytes,1,opt,name=event_parameter_name,json=eventParameterName,proto3,oneof"`
  4125  }
  4126  
  4127  type SegmentParameterFilter_ItemParameterName struct {
  4128  	// This filter will be evaluated on the specified item parameter. Item
  4129  	// parameters are logged as parameters in the item array. Item parameters
  4130  	// include fields like "item_name" & "item_category".
  4131  	//
  4132  	// Item parameters can only be used in segments & funnels and can only be
  4133  	// used in a descendent filter from an EventFilter. In a descendent filter
  4134  	// from an EventFilter either event or item parameters should be used.
  4135  	//
  4136  	// Item parameters are only available in ecommerce events. To learn more
  4137  	// about ecommerce events, see the [Measure ecommerce]
  4138  	// (https://developers.google.com/analytics/devguides/collection/ga4/ecommerce)
  4139  	// guide.
  4140  	ItemParameterName string `protobuf:"bytes,2,opt,name=item_parameter_name,json=itemParameterName,proto3,oneof"`
  4141  }
  4142  
  4143  func (*SegmentParameterFilter_EventParameterName) isSegmentParameterFilter_OneParameter() {}
  4144  
  4145  func (*SegmentParameterFilter_ItemParameterName) isSegmentParameterFilter_OneParameter() {}
  4146  
  4147  type isSegmentParameterFilter_OneFilter interface {
  4148  	isSegmentParameterFilter_OneFilter()
  4149  }
  4150  
  4151  type SegmentParameterFilter_StringFilter struct {
  4152  	// Strings related filter.
  4153  	StringFilter *StringFilter `protobuf:"bytes,4,opt,name=string_filter,json=stringFilter,proto3,oneof"`
  4154  }
  4155  
  4156  type SegmentParameterFilter_InListFilter struct {
  4157  	// A filter for in list values.
  4158  	InListFilter *InListFilter `protobuf:"bytes,5,opt,name=in_list_filter,json=inListFilter,proto3,oneof"`
  4159  }
  4160  
  4161  type SegmentParameterFilter_NumericFilter struct {
  4162  	// A filter for numeric or date values.
  4163  	NumericFilter *NumericFilter `protobuf:"bytes,6,opt,name=numeric_filter,json=numericFilter,proto3,oneof"`
  4164  }
  4165  
  4166  type SegmentParameterFilter_BetweenFilter struct {
  4167  	// A filter for between two values.
  4168  	BetweenFilter *BetweenFilter `protobuf:"bytes,7,opt,name=between_filter,json=betweenFilter,proto3,oneof"`
  4169  }
  4170  
  4171  func (*SegmentParameterFilter_StringFilter) isSegmentParameterFilter_OneFilter() {}
  4172  
  4173  func (*SegmentParameterFilter_InListFilter) isSegmentParameterFilter_OneFilter() {}
  4174  
  4175  func (*SegmentParameterFilter_NumericFilter) isSegmentParameterFilter_OneFilter() {}
  4176  
  4177  func (*SegmentParameterFilter_BetweenFilter) isSegmentParameterFilter_OneFilter() {}
  4178  
  4179  // Scopings specify how multiple events should be considered when evaluating a
  4180  // segment parameter filter.
  4181  type SegmentParameterFilterScoping struct {
  4182  	state         protoimpl.MessageState
  4183  	sizeCache     protoimpl.SizeCache
  4184  	unknownFields protoimpl.UnknownFields
  4185  
  4186  	// Accumulates the parameter over the specified period of days before
  4187  	// applying the filter. Only supported if criteria scoping is
  4188  	// `ACROSS_ALL_SESSIONS` or `WITHIN_SAME_SESSION`. Only supported if the
  4189  	// parameter is `event_count`.
  4190  	//
  4191  	// For example if `inAnyNDayPeriod` is 3, the event_name is "purchase",
  4192  	// the event parameter is "event_count", and the Filter's criteria is
  4193  	// greater than 5, this filter will accumulate the event count of purchase
  4194  	// events over every 3 consecutive day period in the report's date range; a
  4195  	// user will pass this Filter's criteria to be included in this segment if
  4196  	// their count of purchase events exceeds 5 in any 3 consecutive day period.
  4197  	// For example, the periods 2021-11-01 to 2021-11-03, 2021-11-02 to
  4198  	// 2021-11-04, 2021-11-03 to 2021-11-05, and etc. will be considered.
  4199  	//
  4200  	// The date range is not extended for the purpose of having a full N day
  4201  	// window near the start of the date range. For example if a report is for
  4202  	// 2021-11-01 to 2021-11-10 and `inAnyNDayPeriod` = 3, the first two day
  4203  	// period will be effectively shortened because no event data outside the
  4204  	// report's date range will be read. For example, the first four periods
  4205  	// will effectively be: 2021-11-01 to 2021-11-01, 2021-11-01 to 2021-11-02,
  4206  	// 2021-11-01 to 2021-11-03, and 2021-11-02 to 2021-11-04.
  4207  	//
  4208  	// `inAnyNDayPeriod` is optional. If not specified, the
  4209  	// `segmentParameterFilter` is applied to each event individually.
  4210  	InAnyNDayPeriod *int64 `protobuf:"varint,1,opt,name=in_any_n_day_period,json=inAnyNDayPeriod,proto3,oneof" json:"in_any_n_day_period,omitempty"`
  4211  }
  4212  
  4213  func (x *SegmentParameterFilterScoping) Reset() {
  4214  	*x = SegmentParameterFilterScoping{}
  4215  	if protoimpl.UnsafeEnabled {
  4216  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[46]
  4217  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4218  		ms.StoreMessageInfo(mi)
  4219  	}
  4220  }
  4221  
  4222  func (x *SegmentParameterFilterScoping) String() string {
  4223  	return protoimpl.X.MessageStringOf(x)
  4224  }
  4225  
  4226  func (*SegmentParameterFilterScoping) ProtoMessage() {}
  4227  
  4228  func (x *SegmentParameterFilterScoping) ProtoReflect() protoreflect.Message {
  4229  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[46]
  4230  	if protoimpl.UnsafeEnabled && x != nil {
  4231  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4232  		if ms.LoadMessageInfo() == nil {
  4233  			ms.StoreMessageInfo(mi)
  4234  		}
  4235  		return ms
  4236  	}
  4237  	return mi.MessageOf(x)
  4238  }
  4239  
  4240  // Deprecated: Use SegmentParameterFilterScoping.ProtoReflect.Descriptor instead.
  4241  func (*SegmentParameterFilterScoping) Descriptor() ([]byte, []int) {
  4242  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{46}
  4243  }
  4244  
  4245  func (x *SegmentParameterFilterScoping) GetInAnyNDayPeriod() int64 {
  4246  	if x != nil && x.InAnyNDayPeriod != nil {
  4247  		return *x.InAnyNDayPeriod
  4248  	}
  4249  	return 0
  4250  }
  4251  
  4252  // Expresses combinations of funnel filters.
  4253  type FunnelFilterExpression struct {
  4254  	state         protoimpl.MessageState
  4255  	sizeCache     protoimpl.SizeCache
  4256  	unknownFields protoimpl.UnknownFields
  4257  
  4258  	// Specify one type of filter for `FunnelFilterExpression`.
  4259  	//
  4260  	// Types that are assignable to Expr:
  4261  	//	*FunnelFilterExpression_AndGroup
  4262  	//	*FunnelFilterExpression_OrGroup
  4263  	//	*FunnelFilterExpression_NotExpression
  4264  	//	*FunnelFilterExpression_FunnelFieldFilter
  4265  	//	*FunnelFilterExpression_FunnelEventFilter
  4266  	Expr isFunnelFilterExpression_Expr `protobuf_oneof:"expr"`
  4267  }
  4268  
  4269  func (x *FunnelFilterExpression) Reset() {
  4270  	*x = FunnelFilterExpression{}
  4271  	if protoimpl.UnsafeEnabled {
  4272  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[47]
  4273  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4274  		ms.StoreMessageInfo(mi)
  4275  	}
  4276  }
  4277  
  4278  func (x *FunnelFilterExpression) String() string {
  4279  	return protoimpl.X.MessageStringOf(x)
  4280  }
  4281  
  4282  func (*FunnelFilterExpression) ProtoMessage() {}
  4283  
  4284  func (x *FunnelFilterExpression) ProtoReflect() protoreflect.Message {
  4285  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[47]
  4286  	if protoimpl.UnsafeEnabled && x != nil {
  4287  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4288  		if ms.LoadMessageInfo() == nil {
  4289  			ms.StoreMessageInfo(mi)
  4290  		}
  4291  		return ms
  4292  	}
  4293  	return mi.MessageOf(x)
  4294  }
  4295  
  4296  // Deprecated: Use FunnelFilterExpression.ProtoReflect.Descriptor instead.
  4297  func (*FunnelFilterExpression) Descriptor() ([]byte, []int) {
  4298  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{47}
  4299  }
  4300  
  4301  func (m *FunnelFilterExpression) GetExpr() isFunnelFilterExpression_Expr {
  4302  	if m != nil {
  4303  		return m.Expr
  4304  	}
  4305  	return nil
  4306  }
  4307  
  4308  func (x *FunnelFilterExpression) GetAndGroup() *FunnelFilterExpressionList {
  4309  	if x, ok := x.GetExpr().(*FunnelFilterExpression_AndGroup); ok {
  4310  		return x.AndGroup
  4311  	}
  4312  	return nil
  4313  }
  4314  
  4315  func (x *FunnelFilterExpression) GetOrGroup() *FunnelFilterExpressionList {
  4316  	if x, ok := x.GetExpr().(*FunnelFilterExpression_OrGroup); ok {
  4317  		return x.OrGroup
  4318  	}
  4319  	return nil
  4320  }
  4321  
  4322  func (x *FunnelFilterExpression) GetNotExpression() *FunnelFilterExpression {
  4323  	if x, ok := x.GetExpr().(*FunnelFilterExpression_NotExpression); ok {
  4324  		return x.NotExpression
  4325  	}
  4326  	return nil
  4327  }
  4328  
  4329  func (x *FunnelFilterExpression) GetFunnelFieldFilter() *FunnelFieldFilter {
  4330  	if x, ok := x.GetExpr().(*FunnelFilterExpression_FunnelFieldFilter); ok {
  4331  		return x.FunnelFieldFilter
  4332  	}
  4333  	return nil
  4334  }
  4335  
  4336  func (x *FunnelFilterExpression) GetFunnelEventFilter() *FunnelEventFilter {
  4337  	if x, ok := x.GetExpr().(*FunnelFilterExpression_FunnelEventFilter); ok {
  4338  		return x.FunnelEventFilter
  4339  	}
  4340  	return nil
  4341  }
  4342  
  4343  type isFunnelFilterExpression_Expr interface {
  4344  	isFunnelFilterExpression_Expr()
  4345  }
  4346  
  4347  type FunnelFilterExpression_AndGroup struct {
  4348  	// The FunnelFilterExpression in `andGroup` have an AND relationship.
  4349  	AndGroup *FunnelFilterExpressionList `protobuf:"bytes,1,opt,name=and_group,json=andGroup,proto3,oneof"`
  4350  }
  4351  
  4352  type FunnelFilterExpression_OrGroup struct {
  4353  	// The FunnelFilterExpression in `orGroup` have an OR relationship.
  4354  	OrGroup *FunnelFilterExpressionList `protobuf:"bytes,2,opt,name=or_group,json=orGroup,proto3,oneof"`
  4355  }
  4356  
  4357  type FunnelFilterExpression_NotExpression struct {
  4358  	// The FunnelFilterExpression is NOT of `notExpression`.
  4359  	NotExpression *FunnelFilterExpression `protobuf:"bytes,3,opt,name=not_expression,json=notExpression,proto3,oneof"`
  4360  }
  4361  
  4362  type FunnelFilterExpression_FunnelFieldFilter struct {
  4363  	// A funnel filter for a dimension or metric.
  4364  	FunnelFieldFilter *FunnelFieldFilter `protobuf:"bytes,4,opt,name=funnel_field_filter,json=funnelFieldFilter,proto3,oneof"`
  4365  }
  4366  
  4367  type FunnelFilterExpression_FunnelEventFilter struct {
  4368  	// Creates a filter that matches events of a single event name. If a
  4369  	// parameter filter expression is specified, only the subset of events that
  4370  	// match both the single event name and the parameter filter expressions
  4371  	// match this event filter.
  4372  	FunnelEventFilter *FunnelEventFilter `protobuf:"bytes,5,opt,name=funnel_event_filter,json=funnelEventFilter,proto3,oneof"`
  4373  }
  4374  
  4375  func (*FunnelFilterExpression_AndGroup) isFunnelFilterExpression_Expr() {}
  4376  
  4377  func (*FunnelFilterExpression_OrGroup) isFunnelFilterExpression_Expr() {}
  4378  
  4379  func (*FunnelFilterExpression_NotExpression) isFunnelFilterExpression_Expr() {}
  4380  
  4381  func (*FunnelFilterExpression_FunnelFieldFilter) isFunnelFilterExpression_Expr() {}
  4382  
  4383  func (*FunnelFilterExpression_FunnelEventFilter) isFunnelFilterExpression_Expr() {}
  4384  
  4385  // A list of funnel filter expressions.
  4386  type FunnelFilterExpressionList struct {
  4387  	state         protoimpl.MessageState
  4388  	sizeCache     protoimpl.SizeCache
  4389  	unknownFields protoimpl.UnknownFields
  4390  
  4391  	// The list of funnel filter expressions.
  4392  	Expressions []*FunnelFilterExpression `protobuf:"bytes,1,rep,name=expressions,proto3" json:"expressions,omitempty"`
  4393  }
  4394  
  4395  func (x *FunnelFilterExpressionList) Reset() {
  4396  	*x = FunnelFilterExpressionList{}
  4397  	if protoimpl.UnsafeEnabled {
  4398  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[48]
  4399  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4400  		ms.StoreMessageInfo(mi)
  4401  	}
  4402  }
  4403  
  4404  func (x *FunnelFilterExpressionList) String() string {
  4405  	return protoimpl.X.MessageStringOf(x)
  4406  }
  4407  
  4408  func (*FunnelFilterExpressionList) ProtoMessage() {}
  4409  
  4410  func (x *FunnelFilterExpressionList) ProtoReflect() protoreflect.Message {
  4411  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[48]
  4412  	if protoimpl.UnsafeEnabled && x != nil {
  4413  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4414  		if ms.LoadMessageInfo() == nil {
  4415  			ms.StoreMessageInfo(mi)
  4416  		}
  4417  		return ms
  4418  	}
  4419  	return mi.MessageOf(x)
  4420  }
  4421  
  4422  // Deprecated: Use FunnelFilterExpressionList.ProtoReflect.Descriptor instead.
  4423  func (*FunnelFilterExpressionList) Descriptor() ([]byte, []int) {
  4424  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{48}
  4425  }
  4426  
  4427  func (x *FunnelFilterExpressionList) GetExpressions() []*FunnelFilterExpression {
  4428  	if x != nil {
  4429  		return x.Expressions
  4430  	}
  4431  	return nil
  4432  }
  4433  
  4434  // An expression to filter dimension or metric values.
  4435  type FunnelFieldFilter struct {
  4436  	state         protoimpl.MessageState
  4437  	sizeCache     protoimpl.SizeCache
  4438  	unknownFields protoimpl.UnknownFields
  4439  
  4440  	// The dimension name or metric name.
  4441  	FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"`
  4442  	// Specify one type of filter.
  4443  	//
  4444  	// Types that are assignable to OneFilter:
  4445  	//	*FunnelFieldFilter_StringFilter
  4446  	//	*FunnelFieldFilter_InListFilter
  4447  	//	*FunnelFieldFilter_NumericFilter
  4448  	//	*FunnelFieldFilter_BetweenFilter
  4449  	OneFilter isFunnelFieldFilter_OneFilter `protobuf_oneof:"one_filter"`
  4450  }
  4451  
  4452  func (x *FunnelFieldFilter) Reset() {
  4453  	*x = FunnelFieldFilter{}
  4454  	if protoimpl.UnsafeEnabled {
  4455  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[49]
  4456  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4457  		ms.StoreMessageInfo(mi)
  4458  	}
  4459  }
  4460  
  4461  func (x *FunnelFieldFilter) String() string {
  4462  	return protoimpl.X.MessageStringOf(x)
  4463  }
  4464  
  4465  func (*FunnelFieldFilter) ProtoMessage() {}
  4466  
  4467  func (x *FunnelFieldFilter) ProtoReflect() protoreflect.Message {
  4468  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[49]
  4469  	if protoimpl.UnsafeEnabled && x != nil {
  4470  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4471  		if ms.LoadMessageInfo() == nil {
  4472  			ms.StoreMessageInfo(mi)
  4473  		}
  4474  		return ms
  4475  	}
  4476  	return mi.MessageOf(x)
  4477  }
  4478  
  4479  // Deprecated: Use FunnelFieldFilter.ProtoReflect.Descriptor instead.
  4480  func (*FunnelFieldFilter) Descriptor() ([]byte, []int) {
  4481  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{49}
  4482  }
  4483  
  4484  func (x *FunnelFieldFilter) GetFieldName() string {
  4485  	if x != nil {
  4486  		return x.FieldName
  4487  	}
  4488  	return ""
  4489  }
  4490  
  4491  func (m *FunnelFieldFilter) GetOneFilter() isFunnelFieldFilter_OneFilter {
  4492  	if m != nil {
  4493  		return m.OneFilter
  4494  	}
  4495  	return nil
  4496  }
  4497  
  4498  func (x *FunnelFieldFilter) GetStringFilter() *StringFilter {
  4499  	if x, ok := x.GetOneFilter().(*FunnelFieldFilter_StringFilter); ok {
  4500  		return x.StringFilter
  4501  	}
  4502  	return nil
  4503  }
  4504  
  4505  func (x *FunnelFieldFilter) GetInListFilter() *InListFilter {
  4506  	if x, ok := x.GetOneFilter().(*FunnelFieldFilter_InListFilter); ok {
  4507  		return x.InListFilter
  4508  	}
  4509  	return nil
  4510  }
  4511  
  4512  func (x *FunnelFieldFilter) GetNumericFilter() *NumericFilter {
  4513  	if x, ok := x.GetOneFilter().(*FunnelFieldFilter_NumericFilter); ok {
  4514  		return x.NumericFilter
  4515  	}
  4516  	return nil
  4517  }
  4518  
  4519  func (x *FunnelFieldFilter) GetBetweenFilter() *BetweenFilter {
  4520  	if x, ok := x.GetOneFilter().(*FunnelFieldFilter_BetweenFilter); ok {
  4521  		return x.BetweenFilter
  4522  	}
  4523  	return nil
  4524  }
  4525  
  4526  type isFunnelFieldFilter_OneFilter interface {
  4527  	isFunnelFieldFilter_OneFilter()
  4528  }
  4529  
  4530  type FunnelFieldFilter_StringFilter struct {
  4531  	// Strings related filter.
  4532  	StringFilter *StringFilter `protobuf:"bytes,4,opt,name=string_filter,json=stringFilter,proto3,oneof"`
  4533  }
  4534  
  4535  type FunnelFieldFilter_InListFilter struct {
  4536  	// A filter for in list values.
  4537  	InListFilter *InListFilter `protobuf:"bytes,5,opt,name=in_list_filter,json=inListFilter,proto3,oneof"`
  4538  }
  4539  
  4540  type FunnelFieldFilter_NumericFilter struct {
  4541  	// A filter for numeric or date values.
  4542  	NumericFilter *NumericFilter `protobuf:"bytes,6,opt,name=numeric_filter,json=numericFilter,proto3,oneof"`
  4543  }
  4544  
  4545  type FunnelFieldFilter_BetweenFilter struct {
  4546  	// A filter for between two values.
  4547  	BetweenFilter *BetweenFilter `protobuf:"bytes,7,opt,name=between_filter,json=betweenFilter,proto3,oneof"`
  4548  }
  4549  
  4550  func (*FunnelFieldFilter_StringFilter) isFunnelFieldFilter_OneFilter() {}
  4551  
  4552  func (*FunnelFieldFilter_InListFilter) isFunnelFieldFilter_OneFilter() {}
  4553  
  4554  func (*FunnelFieldFilter_NumericFilter) isFunnelFieldFilter_OneFilter() {}
  4555  
  4556  func (*FunnelFieldFilter_BetweenFilter) isFunnelFieldFilter_OneFilter() {}
  4557  
  4558  // Creates a filter that matches events of a single event name. If a parameter
  4559  // filter expression is specified, only the subset of events that match both the
  4560  // single event name and the parameter filter expressions match this event
  4561  // filter.
  4562  type FunnelEventFilter struct {
  4563  	state         protoimpl.MessageState
  4564  	sizeCache     protoimpl.SizeCache
  4565  	unknownFields protoimpl.UnknownFields
  4566  
  4567  	// This filter matches events of this single event name. Event name is
  4568  	// required.
  4569  	EventName *string `protobuf:"bytes,1,opt,name=event_name,json=eventName,proto3,oneof" json:"event_name,omitempty"`
  4570  	// If specified, this filter matches events that match both the single event
  4571  	// name and the parameter filter expressions.
  4572  	//
  4573  	// Inside the parameter filter expression, only parameter filters are
  4574  	// available.
  4575  	FunnelParameterFilterExpression *FunnelParameterFilterExpression `protobuf:"bytes,2,opt,name=funnel_parameter_filter_expression,json=funnelParameterFilterExpression,proto3,oneof" json:"funnel_parameter_filter_expression,omitempty"`
  4576  }
  4577  
  4578  func (x *FunnelEventFilter) Reset() {
  4579  	*x = FunnelEventFilter{}
  4580  	if protoimpl.UnsafeEnabled {
  4581  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[50]
  4582  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4583  		ms.StoreMessageInfo(mi)
  4584  	}
  4585  }
  4586  
  4587  func (x *FunnelEventFilter) String() string {
  4588  	return protoimpl.X.MessageStringOf(x)
  4589  }
  4590  
  4591  func (*FunnelEventFilter) ProtoMessage() {}
  4592  
  4593  func (x *FunnelEventFilter) ProtoReflect() protoreflect.Message {
  4594  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[50]
  4595  	if protoimpl.UnsafeEnabled && x != nil {
  4596  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4597  		if ms.LoadMessageInfo() == nil {
  4598  			ms.StoreMessageInfo(mi)
  4599  		}
  4600  		return ms
  4601  	}
  4602  	return mi.MessageOf(x)
  4603  }
  4604  
  4605  // Deprecated: Use FunnelEventFilter.ProtoReflect.Descriptor instead.
  4606  func (*FunnelEventFilter) Descriptor() ([]byte, []int) {
  4607  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{50}
  4608  }
  4609  
  4610  func (x *FunnelEventFilter) GetEventName() string {
  4611  	if x != nil && x.EventName != nil {
  4612  		return *x.EventName
  4613  	}
  4614  	return ""
  4615  }
  4616  
  4617  func (x *FunnelEventFilter) GetFunnelParameterFilterExpression() *FunnelParameterFilterExpression {
  4618  	if x != nil {
  4619  		return x.FunnelParameterFilterExpression
  4620  	}
  4621  	return nil
  4622  }
  4623  
  4624  // Expresses combinations of funnel filters on parameters.
  4625  type FunnelParameterFilterExpression struct {
  4626  	state         protoimpl.MessageState
  4627  	sizeCache     protoimpl.SizeCache
  4628  	unknownFields protoimpl.UnknownFields
  4629  
  4630  	// Specify one type of filter for `FunnelParameterFilterExpression`.
  4631  	//
  4632  	// Types that are assignable to Expr:
  4633  	//	*FunnelParameterFilterExpression_AndGroup
  4634  	//	*FunnelParameterFilterExpression_OrGroup
  4635  	//	*FunnelParameterFilterExpression_NotExpression
  4636  	//	*FunnelParameterFilterExpression_FunnelParameterFilter
  4637  	Expr isFunnelParameterFilterExpression_Expr `protobuf_oneof:"expr"`
  4638  }
  4639  
  4640  func (x *FunnelParameterFilterExpression) Reset() {
  4641  	*x = FunnelParameterFilterExpression{}
  4642  	if protoimpl.UnsafeEnabled {
  4643  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[51]
  4644  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4645  		ms.StoreMessageInfo(mi)
  4646  	}
  4647  }
  4648  
  4649  func (x *FunnelParameterFilterExpression) String() string {
  4650  	return protoimpl.X.MessageStringOf(x)
  4651  }
  4652  
  4653  func (*FunnelParameterFilterExpression) ProtoMessage() {}
  4654  
  4655  func (x *FunnelParameterFilterExpression) ProtoReflect() protoreflect.Message {
  4656  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[51]
  4657  	if protoimpl.UnsafeEnabled && x != nil {
  4658  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4659  		if ms.LoadMessageInfo() == nil {
  4660  			ms.StoreMessageInfo(mi)
  4661  		}
  4662  		return ms
  4663  	}
  4664  	return mi.MessageOf(x)
  4665  }
  4666  
  4667  // Deprecated: Use FunnelParameterFilterExpression.ProtoReflect.Descriptor instead.
  4668  func (*FunnelParameterFilterExpression) Descriptor() ([]byte, []int) {
  4669  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{51}
  4670  }
  4671  
  4672  func (m *FunnelParameterFilterExpression) GetExpr() isFunnelParameterFilterExpression_Expr {
  4673  	if m != nil {
  4674  		return m.Expr
  4675  	}
  4676  	return nil
  4677  }
  4678  
  4679  func (x *FunnelParameterFilterExpression) GetAndGroup() *FunnelParameterFilterExpressionList {
  4680  	if x, ok := x.GetExpr().(*FunnelParameterFilterExpression_AndGroup); ok {
  4681  		return x.AndGroup
  4682  	}
  4683  	return nil
  4684  }
  4685  
  4686  func (x *FunnelParameterFilterExpression) GetOrGroup() *FunnelParameterFilterExpressionList {
  4687  	if x, ok := x.GetExpr().(*FunnelParameterFilterExpression_OrGroup); ok {
  4688  		return x.OrGroup
  4689  	}
  4690  	return nil
  4691  }
  4692  
  4693  func (x *FunnelParameterFilterExpression) GetNotExpression() *FunnelParameterFilterExpression {
  4694  	if x, ok := x.GetExpr().(*FunnelParameterFilterExpression_NotExpression); ok {
  4695  		return x.NotExpression
  4696  	}
  4697  	return nil
  4698  }
  4699  
  4700  func (x *FunnelParameterFilterExpression) GetFunnelParameterFilter() *FunnelParameterFilter {
  4701  	if x, ok := x.GetExpr().(*FunnelParameterFilterExpression_FunnelParameterFilter); ok {
  4702  		return x.FunnelParameterFilter
  4703  	}
  4704  	return nil
  4705  }
  4706  
  4707  type isFunnelParameterFilterExpression_Expr interface {
  4708  	isFunnelParameterFilterExpression_Expr()
  4709  }
  4710  
  4711  type FunnelParameterFilterExpression_AndGroup struct {
  4712  	// The FunnelParameterFilterExpression in `andGroup` have an AND
  4713  	// relationship.
  4714  	AndGroup *FunnelParameterFilterExpressionList `protobuf:"bytes,1,opt,name=and_group,json=andGroup,proto3,oneof"`
  4715  }
  4716  
  4717  type FunnelParameterFilterExpression_OrGroup struct {
  4718  	// The FunnelParameterFilterExpression in `orGroup` have an OR
  4719  	// relationship.
  4720  	OrGroup *FunnelParameterFilterExpressionList `protobuf:"bytes,2,opt,name=or_group,json=orGroup,proto3,oneof"`
  4721  }
  4722  
  4723  type FunnelParameterFilterExpression_NotExpression struct {
  4724  	// The FunnelParameterFilterExpression is NOT of `notExpression`.
  4725  	NotExpression *FunnelParameterFilterExpression `protobuf:"bytes,3,opt,name=not_expression,json=notExpression,proto3,oneof"`
  4726  }
  4727  
  4728  type FunnelParameterFilterExpression_FunnelParameterFilter struct {
  4729  	// A primitive funnel parameter filter.
  4730  	FunnelParameterFilter *FunnelParameterFilter `protobuf:"bytes,4,opt,name=funnel_parameter_filter,json=funnelParameterFilter,proto3,oneof"`
  4731  }
  4732  
  4733  func (*FunnelParameterFilterExpression_AndGroup) isFunnelParameterFilterExpression_Expr() {}
  4734  
  4735  func (*FunnelParameterFilterExpression_OrGroup) isFunnelParameterFilterExpression_Expr() {}
  4736  
  4737  func (*FunnelParameterFilterExpression_NotExpression) isFunnelParameterFilterExpression_Expr() {}
  4738  
  4739  func (*FunnelParameterFilterExpression_FunnelParameterFilter) isFunnelParameterFilterExpression_Expr() {
  4740  }
  4741  
  4742  // A list of funnel parameter filter expressions.
  4743  type FunnelParameterFilterExpressionList struct {
  4744  	state         protoimpl.MessageState
  4745  	sizeCache     protoimpl.SizeCache
  4746  	unknownFields protoimpl.UnknownFields
  4747  
  4748  	// The list of funnel parameter filter expressions.
  4749  	Expressions []*FunnelParameterFilterExpression `protobuf:"bytes,1,rep,name=expressions,proto3" json:"expressions,omitempty"`
  4750  }
  4751  
  4752  func (x *FunnelParameterFilterExpressionList) Reset() {
  4753  	*x = FunnelParameterFilterExpressionList{}
  4754  	if protoimpl.UnsafeEnabled {
  4755  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[52]
  4756  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4757  		ms.StoreMessageInfo(mi)
  4758  	}
  4759  }
  4760  
  4761  func (x *FunnelParameterFilterExpressionList) String() string {
  4762  	return protoimpl.X.MessageStringOf(x)
  4763  }
  4764  
  4765  func (*FunnelParameterFilterExpressionList) ProtoMessage() {}
  4766  
  4767  func (x *FunnelParameterFilterExpressionList) ProtoReflect() protoreflect.Message {
  4768  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[52]
  4769  	if protoimpl.UnsafeEnabled && x != nil {
  4770  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4771  		if ms.LoadMessageInfo() == nil {
  4772  			ms.StoreMessageInfo(mi)
  4773  		}
  4774  		return ms
  4775  	}
  4776  	return mi.MessageOf(x)
  4777  }
  4778  
  4779  // Deprecated: Use FunnelParameterFilterExpressionList.ProtoReflect.Descriptor instead.
  4780  func (*FunnelParameterFilterExpressionList) Descriptor() ([]byte, []int) {
  4781  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{52}
  4782  }
  4783  
  4784  func (x *FunnelParameterFilterExpressionList) GetExpressions() []*FunnelParameterFilterExpression {
  4785  	if x != nil {
  4786  		return x.Expressions
  4787  	}
  4788  	return nil
  4789  }
  4790  
  4791  // An expression to filter parameter values in a funnel.
  4792  type FunnelParameterFilter struct {
  4793  	state         protoimpl.MessageState
  4794  	sizeCache     protoimpl.SizeCache
  4795  	unknownFields protoimpl.UnknownFields
  4796  
  4797  	// The field that is being filtered.
  4798  	//
  4799  	// Types that are assignable to OneParameter:
  4800  	//	*FunnelParameterFilter_EventParameterName
  4801  	//	*FunnelParameterFilter_ItemParameterName
  4802  	OneParameter isFunnelParameterFilter_OneParameter `protobuf_oneof:"one_parameter"`
  4803  	// Specify one type of filter.
  4804  	//
  4805  	// Types that are assignable to OneFilter:
  4806  	//	*FunnelParameterFilter_StringFilter
  4807  	//	*FunnelParameterFilter_InListFilter
  4808  	//	*FunnelParameterFilter_NumericFilter
  4809  	//	*FunnelParameterFilter_BetweenFilter
  4810  	OneFilter isFunnelParameterFilter_OneFilter `protobuf_oneof:"one_filter"`
  4811  }
  4812  
  4813  func (x *FunnelParameterFilter) Reset() {
  4814  	*x = FunnelParameterFilter{}
  4815  	if protoimpl.UnsafeEnabled {
  4816  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[53]
  4817  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4818  		ms.StoreMessageInfo(mi)
  4819  	}
  4820  }
  4821  
  4822  func (x *FunnelParameterFilter) String() string {
  4823  	return protoimpl.X.MessageStringOf(x)
  4824  }
  4825  
  4826  func (*FunnelParameterFilter) ProtoMessage() {}
  4827  
  4828  func (x *FunnelParameterFilter) ProtoReflect() protoreflect.Message {
  4829  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[53]
  4830  	if protoimpl.UnsafeEnabled && x != nil {
  4831  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4832  		if ms.LoadMessageInfo() == nil {
  4833  			ms.StoreMessageInfo(mi)
  4834  		}
  4835  		return ms
  4836  	}
  4837  	return mi.MessageOf(x)
  4838  }
  4839  
  4840  // Deprecated: Use FunnelParameterFilter.ProtoReflect.Descriptor instead.
  4841  func (*FunnelParameterFilter) Descriptor() ([]byte, []int) {
  4842  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{53}
  4843  }
  4844  
  4845  func (m *FunnelParameterFilter) GetOneParameter() isFunnelParameterFilter_OneParameter {
  4846  	if m != nil {
  4847  		return m.OneParameter
  4848  	}
  4849  	return nil
  4850  }
  4851  
  4852  func (x *FunnelParameterFilter) GetEventParameterName() string {
  4853  	if x, ok := x.GetOneParameter().(*FunnelParameterFilter_EventParameterName); ok {
  4854  		return x.EventParameterName
  4855  	}
  4856  	return ""
  4857  }
  4858  
  4859  func (x *FunnelParameterFilter) GetItemParameterName() string {
  4860  	if x, ok := x.GetOneParameter().(*FunnelParameterFilter_ItemParameterName); ok {
  4861  		return x.ItemParameterName
  4862  	}
  4863  	return ""
  4864  }
  4865  
  4866  func (m *FunnelParameterFilter) GetOneFilter() isFunnelParameterFilter_OneFilter {
  4867  	if m != nil {
  4868  		return m.OneFilter
  4869  	}
  4870  	return nil
  4871  }
  4872  
  4873  func (x *FunnelParameterFilter) GetStringFilter() *StringFilter {
  4874  	if x, ok := x.GetOneFilter().(*FunnelParameterFilter_StringFilter); ok {
  4875  		return x.StringFilter
  4876  	}
  4877  	return nil
  4878  }
  4879  
  4880  func (x *FunnelParameterFilter) GetInListFilter() *InListFilter {
  4881  	if x, ok := x.GetOneFilter().(*FunnelParameterFilter_InListFilter); ok {
  4882  		return x.InListFilter
  4883  	}
  4884  	return nil
  4885  }
  4886  
  4887  func (x *FunnelParameterFilter) GetNumericFilter() *NumericFilter {
  4888  	if x, ok := x.GetOneFilter().(*FunnelParameterFilter_NumericFilter); ok {
  4889  		return x.NumericFilter
  4890  	}
  4891  	return nil
  4892  }
  4893  
  4894  func (x *FunnelParameterFilter) GetBetweenFilter() *BetweenFilter {
  4895  	if x, ok := x.GetOneFilter().(*FunnelParameterFilter_BetweenFilter); ok {
  4896  		return x.BetweenFilter
  4897  	}
  4898  	return nil
  4899  }
  4900  
  4901  type isFunnelParameterFilter_OneParameter interface {
  4902  	isFunnelParameterFilter_OneParameter()
  4903  }
  4904  
  4905  type FunnelParameterFilter_EventParameterName struct {
  4906  	// This filter will be evaluated on the specified event parameter. Event
  4907  	// parameters are logged as parameters of the event. Event parameters
  4908  	// include fields like "firebase_screen" & "currency".
  4909  	//
  4910  	// Event parameters can only be used in segments & funnels and can only be
  4911  	// used in a descendent filter from an EventFilter. In a descendent filter
  4912  	// from an EventFilter either event or item parameters should be used.
  4913  	EventParameterName string `protobuf:"bytes,1,opt,name=event_parameter_name,json=eventParameterName,proto3,oneof"`
  4914  }
  4915  
  4916  type FunnelParameterFilter_ItemParameterName struct {
  4917  	// This filter will be evaluated on the specified item parameter. Item
  4918  	// parameters are logged as parameters in the item array. Item parameters
  4919  	// include fields like "item_name" & "item_category".
  4920  	//
  4921  	// Item parameters can only be used in segments & funnels and can only be
  4922  	// used in a descendent filter from an EventFilter. In a descendent filter
  4923  	// from an EventFilter either event or item parameters should be used.
  4924  	//
  4925  	// Item parameters are only available in ecommerce events. To learn more
  4926  	// about ecommerce events, see the [Measure ecommerce]
  4927  	// (https://developers.google.com/analytics/devguides/collection/ga4/ecommerce)
  4928  	// guide.
  4929  	ItemParameterName string `protobuf:"bytes,2,opt,name=item_parameter_name,json=itemParameterName,proto3,oneof"`
  4930  }
  4931  
  4932  func (*FunnelParameterFilter_EventParameterName) isFunnelParameterFilter_OneParameter() {}
  4933  
  4934  func (*FunnelParameterFilter_ItemParameterName) isFunnelParameterFilter_OneParameter() {}
  4935  
  4936  type isFunnelParameterFilter_OneFilter interface {
  4937  	isFunnelParameterFilter_OneFilter()
  4938  }
  4939  
  4940  type FunnelParameterFilter_StringFilter struct {
  4941  	// Strings related filter.
  4942  	StringFilter *StringFilter `protobuf:"bytes,4,opt,name=string_filter,json=stringFilter,proto3,oneof"`
  4943  }
  4944  
  4945  type FunnelParameterFilter_InListFilter struct {
  4946  	// A filter for in list values.
  4947  	InListFilter *InListFilter `protobuf:"bytes,5,opt,name=in_list_filter,json=inListFilter,proto3,oneof"`
  4948  }
  4949  
  4950  type FunnelParameterFilter_NumericFilter struct {
  4951  	// A filter for numeric or date values.
  4952  	NumericFilter *NumericFilter `protobuf:"bytes,6,opt,name=numeric_filter,json=numericFilter,proto3,oneof"`
  4953  }
  4954  
  4955  type FunnelParameterFilter_BetweenFilter struct {
  4956  	// A filter for between two values.
  4957  	BetweenFilter *BetweenFilter `protobuf:"bytes,7,opt,name=between_filter,json=betweenFilter,proto3,oneof"`
  4958  }
  4959  
  4960  func (*FunnelParameterFilter_StringFilter) isFunnelParameterFilter_OneFilter() {}
  4961  
  4962  func (*FunnelParameterFilter_InListFilter) isFunnelParameterFilter_OneFilter() {}
  4963  
  4964  func (*FunnelParameterFilter_NumericFilter) isFunnelParameterFilter_OneFilter() {}
  4965  
  4966  func (*FunnelParameterFilter_BetweenFilter) isFunnelParameterFilter_OneFilter() {}
  4967  
  4968  // The funnel report's response metadata carries additional information about
  4969  // the funnel report.
  4970  type FunnelResponseMetadata struct {
  4971  	state         protoimpl.MessageState
  4972  	sizeCache     protoimpl.SizeCache
  4973  	unknownFields protoimpl.UnknownFields
  4974  
  4975  	// If funnel report results are
  4976  	// [sampled](https://support.google.com/analytics/answer/2637192), this
  4977  	// describes what percentage of events were used in this funnel report. One
  4978  	// `samplingMetadatas` is populated for each date range. Each
  4979  	// `samplingMetadatas` corresponds to a date range in order that date ranges
  4980  	// were specified in the request.
  4981  	//
  4982  	// However if the results are not sampled, this field will not be defined.
  4983  	SamplingMetadatas []*SamplingMetadata `protobuf:"bytes,1,rep,name=sampling_metadatas,json=samplingMetadatas,proto3" json:"sampling_metadatas,omitempty"`
  4984  }
  4985  
  4986  func (x *FunnelResponseMetadata) Reset() {
  4987  	*x = FunnelResponseMetadata{}
  4988  	if protoimpl.UnsafeEnabled {
  4989  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[54]
  4990  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4991  		ms.StoreMessageInfo(mi)
  4992  	}
  4993  }
  4994  
  4995  func (x *FunnelResponseMetadata) String() string {
  4996  	return protoimpl.X.MessageStringOf(x)
  4997  }
  4998  
  4999  func (*FunnelResponseMetadata) ProtoMessage() {}
  5000  
  5001  func (x *FunnelResponseMetadata) ProtoReflect() protoreflect.Message {
  5002  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[54]
  5003  	if protoimpl.UnsafeEnabled && x != nil {
  5004  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5005  		if ms.LoadMessageInfo() == nil {
  5006  			ms.StoreMessageInfo(mi)
  5007  		}
  5008  		return ms
  5009  	}
  5010  	return mi.MessageOf(x)
  5011  }
  5012  
  5013  // Deprecated: Use FunnelResponseMetadata.ProtoReflect.Descriptor instead.
  5014  func (*FunnelResponseMetadata) Descriptor() ([]byte, []int) {
  5015  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{54}
  5016  }
  5017  
  5018  func (x *FunnelResponseMetadata) GetSamplingMetadatas() []*SamplingMetadata {
  5019  	if x != nil {
  5020  		return x.SamplingMetadatas
  5021  	}
  5022  	return nil
  5023  }
  5024  
  5025  // If funnel report results are
  5026  // [sampled](https://support.google.com/analytics/answer/2637192), this
  5027  // metadata describes what percentage of events were used in this funnel
  5028  // report for a date range. Sampling is the practice of analyzing a subset of
  5029  // all data in order to uncover the meaningful information in the larger data
  5030  // set.
  5031  type SamplingMetadata struct {
  5032  	state         protoimpl.MessageState
  5033  	sizeCache     protoimpl.SizeCache
  5034  	unknownFields protoimpl.UnknownFields
  5035  
  5036  	// The total number of events read in this sampled report for a date range.
  5037  	// This is the size of the subset this property's data that was analyzed in
  5038  	// this funnel report.
  5039  	SamplesReadCount int64 `protobuf:"varint,1,opt,name=samples_read_count,json=samplesReadCount,proto3" json:"samples_read_count,omitempty"`
  5040  	// The total number of events present in this property's data that could
  5041  	// have been analyzed in this funnel report for a date range. Sampling
  5042  	// uncovers the meaningful information about the larger data set, and this
  5043  	// is the size of the larger data set.
  5044  	//
  5045  	// To calculate the percentage of available data that was used in this
  5046  	// funnel report, compute `samplesReadCount/samplingSpaceSize`.
  5047  	SamplingSpaceSize int64 `protobuf:"varint,2,opt,name=sampling_space_size,json=samplingSpaceSize,proto3" json:"sampling_space_size,omitempty"`
  5048  }
  5049  
  5050  func (x *SamplingMetadata) Reset() {
  5051  	*x = SamplingMetadata{}
  5052  	if protoimpl.UnsafeEnabled {
  5053  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[55]
  5054  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5055  		ms.StoreMessageInfo(mi)
  5056  	}
  5057  }
  5058  
  5059  func (x *SamplingMetadata) String() string {
  5060  	return protoimpl.X.MessageStringOf(x)
  5061  }
  5062  
  5063  func (*SamplingMetadata) ProtoMessage() {}
  5064  
  5065  func (x *SamplingMetadata) ProtoReflect() protoreflect.Message {
  5066  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[55]
  5067  	if protoimpl.UnsafeEnabled && x != nil {
  5068  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5069  		if ms.LoadMessageInfo() == nil {
  5070  			ms.StoreMessageInfo(mi)
  5071  		}
  5072  		return ms
  5073  	}
  5074  	return mi.MessageOf(x)
  5075  }
  5076  
  5077  // Deprecated: Use SamplingMetadata.ProtoReflect.Descriptor instead.
  5078  func (*SamplingMetadata) Descriptor() ([]byte, []int) {
  5079  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{55}
  5080  }
  5081  
  5082  func (x *SamplingMetadata) GetSamplesReadCount() int64 {
  5083  	if x != nil {
  5084  		return x.SamplesReadCount
  5085  	}
  5086  	return 0
  5087  }
  5088  
  5089  func (x *SamplingMetadata) GetSamplingSpaceSize() int64 {
  5090  	if x != nil {
  5091  		return x.SamplingSpaceSize
  5092  	}
  5093  	return 0
  5094  }
  5095  
  5096  // Used to convert a dimension value to a single case.
  5097  type DimensionExpression_CaseExpression struct {
  5098  	state         protoimpl.MessageState
  5099  	sizeCache     protoimpl.SizeCache
  5100  	unknownFields protoimpl.UnknownFields
  5101  
  5102  	// Name of a dimension. The name must refer back to a name in dimensions
  5103  	// field of the request.
  5104  	DimensionName string `protobuf:"bytes,1,opt,name=dimension_name,json=dimensionName,proto3" json:"dimension_name,omitempty"`
  5105  }
  5106  
  5107  func (x *DimensionExpression_CaseExpression) Reset() {
  5108  	*x = DimensionExpression_CaseExpression{}
  5109  	if protoimpl.UnsafeEnabled {
  5110  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[56]
  5111  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5112  		ms.StoreMessageInfo(mi)
  5113  	}
  5114  }
  5115  
  5116  func (x *DimensionExpression_CaseExpression) String() string {
  5117  	return protoimpl.X.MessageStringOf(x)
  5118  }
  5119  
  5120  func (*DimensionExpression_CaseExpression) ProtoMessage() {}
  5121  
  5122  func (x *DimensionExpression_CaseExpression) ProtoReflect() protoreflect.Message {
  5123  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[56]
  5124  	if protoimpl.UnsafeEnabled && x != nil {
  5125  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5126  		if ms.LoadMessageInfo() == nil {
  5127  			ms.StoreMessageInfo(mi)
  5128  		}
  5129  		return ms
  5130  	}
  5131  	return mi.MessageOf(x)
  5132  }
  5133  
  5134  // Deprecated: Use DimensionExpression_CaseExpression.ProtoReflect.Descriptor instead.
  5135  func (*DimensionExpression_CaseExpression) Descriptor() ([]byte, []int) {
  5136  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{2, 0}
  5137  }
  5138  
  5139  func (x *DimensionExpression_CaseExpression) GetDimensionName() string {
  5140  	if x != nil {
  5141  		return x.DimensionName
  5142  	}
  5143  	return ""
  5144  }
  5145  
  5146  // Used to combine dimension values to a single dimension.
  5147  type DimensionExpression_ConcatenateExpression struct {
  5148  	state         protoimpl.MessageState
  5149  	sizeCache     protoimpl.SizeCache
  5150  	unknownFields protoimpl.UnknownFields
  5151  
  5152  	// Names of dimensions. The names must refer back to names in the dimensions
  5153  	// field of the request.
  5154  	DimensionNames []string `protobuf:"bytes,1,rep,name=dimension_names,json=dimensionNames,proto3" json:"dimension_names,omitempty"`
  5155  	// The delimiter placed between dimension names.
  5156  	//
  5157  	// Delimiters are often single characters such as "|" or "," but can be
  5158  	// longer strings. If a dimension value contains the delimiter, both will be
  5159  	// present in response with no distinction. For example if dimension 1 value
  5160  	// = "US,FR", dimension 2 value = "JP", and delimiter = ",", then the
  5161  	// response will contain "US,FR,JP".
  5162  	Delimiter string `protobuf:"bytes,2,opt,name=delimiter,proto3" json:"delimiter,omitempty"`
  5163  }
  5164  
  5165  func (x *DimensionExpression_ConcatenateExpression) Reset() {
  5166  	*x = DimensionExpression_ConcatenateExpression{}
  5167  	if protoimpl.UnsafeEnabled {
  5168  		mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[57]
  5169  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5170  		ms.StoreMessageInfo(mi)
  5171  	}
  5172  }
  5173  
  5174  func (x *DimensionExpression_ConcatenateExpression) String() string {
  5175  	return protoimpl.X.MessageStringOf(x)
  5176  }
  5177  
  5178  func (*DimensionExpression_ConcatenateExpression) ProtoMessage() {}
  5179  
  5180  func (x *DimensionExpression_ConcatenateExpression) ProtoReflect() protoreflect.Message {
  5181  	mi := &file_google_analytics_data_v1alpha_data_proto_msgTypes[57]
  5182  	if protoimpl.UnsafeEnabled && x != nil {
  5183  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5184  		if ms.LoadMessageInfo() == nil {
  5185  			ms.StoreMessageInfo(mi)
  5186  		}
  5187  		return ms
  5188  	}
  5189  	return mi.MessageOf(x)
  5190  }
  5191  
  5192  // Deprecated: Use DimensionExpression_ConcatenateExpression.ProtoReflect.Descriptor instead.
  5193  func (*DimensionExpression_ConcatenateExpression) Descriptor() ([]byte, []int) {
  5194  	return file_google_analytics_data_v1alpha_data_proto_rawDescGZIP(), []int{2, 1}
  5195  }
  5196  
  5197  func (x *DimensionExpression_ConcatenateExpression) GetDimensionNames() []string {
  5198  	if x != nil {
  5199  		return x.DimensionNames
  5200  	}
  5201  	return nil
  5202  }
  5203  
  5204  func (x *DimensionExpression_ConcatenateExpression) GetDelimiter() string {
  5205  	if x != nil {
  5206  		return x.Delimiter
  5207  	}
  5208  	return ""
  5209  }
  5210  
  5211  var File_google_analytics_data_v1alpha_data_proto protoreflect.FileDescriptor
  5212  
  5213  var file_google_analytics_data_v1alpha_data_proto_rawDesc = []byte{
  5214  	0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69,
  5215  	0x63, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f,
  5216  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x67, 0x6f, 0x6f, 0x67,
  5217  	0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74,
  5218  	0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5219  	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74,
  5220  	0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x09, 0x44, 0x61, 0x74,
  5221  	0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
  5222  	0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72,
  5223  	0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74,
  5224  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65,
  5225  	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
  5226  	0x6e, 0x61, 0x6d, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x09, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69,
  5227  	0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  5228  	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73,
  5229  	0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02,
  5230  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e,
  5231  	0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61,
  5232  	0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78,
  5233  	0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73,
  5234  	0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf6, 0x03,
  5235  	0x0a, 0x13, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65,
  5236  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x0a, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x63,
  5237  	0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5238  	0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74,
  5239  	0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73,
  5240  	0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x61,
  5241  	0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09,
  5242  	0x6c, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x75, 0x70, 0x70,
  5243  	0x65, 0x72, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e,
  5244  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73,
  5245  	0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69,
  5246  	0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
  5247  	0x6e, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  5248  	0x48, 0x00, 0x52, 0x09, 0x75, 0x70, 0x70, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x12, 0x6c, 0x0a,
  5249  	0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x6e, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01,
  5250  	0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c,
  5251  	0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
  5252  	0x68, 0x61, 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72,
  5253  	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x6e, 0x61,
  5254  	0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b,
  5255  	0x63, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x6e, 0x61, 0x74, 0x65, 0x1a, 0x37, 0x0a, 0x0e, 0x43,
  5256  	0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a,
  5257  	0x0e, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
  5258  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
  5259  	0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x5e, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x6e,
  5260  	0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a,
  5261  	0x0f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73,
  5262  	0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f,
  5263  	0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69,
  5264  	0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d,
  5265  	0x69, 0x74, 0x65, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x6f, 0x6e, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72,
  5266  	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xdb, 0x02, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x74, 0x65,
  5267  	0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x09, 0x61,
  5268  	0x6e, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33,
  5269  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63,
  5270  	0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46,
  5271  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
  5272  	0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
  5273  	0x50, 0x0a, 0x08, 0x6f, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28,
  5274  	0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  5275  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  5276  	0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
  5277  	0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75,
  5278  	0x70, 0x12, 0x58, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73,
  5279  	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5280  	0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74,
  5281  	0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
  5282  	0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x6f,
  5283  	0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x06, 0x66,
  5284  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f,
  5285  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64,
  5286  	0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74,
  5287  	0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04,
  5288  	0x65, 0x78, 0x70, 0x72, 0x22, 0x69, 0x0a, 0x14, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78,
  5289  	0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x0b,
  5290  	0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  5291  	0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  5292  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  5293  	0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
  5294  	0x6f, 0x6e, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22,
  5295  	0x8c, 0x03, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69,
  5296  	0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
  5297  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x73, 0x74, 0x72,
  5298  	0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  5299  	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74,
  5300  	0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
  5301  	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52,
  5302  	0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x53, 0x0a,
  5303  	0x0e, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18,
  5304  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5305  	0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31,
  5306  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74,
  5307  	0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74,
  5308  	0x65, 0x72, 0x12, 0x55, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x66, 0x69,
  5309  	0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f,
  5310  	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61,
  5311  	0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72,
  5312  	0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x65,
  5313  	0x72, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0e, 0x62, 0x65, 0x74,
  5314  	0x77, 0x65, 0x65, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28,
  5315  	0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  5316  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  5317  	0x61, 0x2e, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48,
  5318  	0x00, 0x52, 0x0d, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
  5319  	0x42, 0x0c, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa9,
  5320  	0x02, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12,
  5321  	0x54, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
  5322  	0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61,
  5323  	0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  5324  	0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
  5325  	0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63,
  5326  	0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
  5327  	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63,
  5328  	0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20,
  5329  	0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69,
  5330  	0x76, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65,
  5331  	0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55,
  5332  	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05,
  5333  	0x45, 0x58, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x45, 0x47, 0x49, 0x4e,
  5334  	0x53, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x4e, 0x44, 0x53,
  5335  	0x5f, 0x57, 0x49, 0x54, 0x48, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x54, 0x41,
  5336  	0x49, 0x4e, 0x53, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x52, 0x45,
  5337  	0x47, 0x45, 0x58, 0x50, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41,
  5338  	0x4c, 0x5f, 0x52, 0x45, 0x47, 0x45, 0x58, 0x50, 0x10, 0x06, 0x22, 0x4d, 0x0a, 0x0c, 0x49, 0x6e,
  5339  	0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61,
  5340  	0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75,
  5341  	0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69,
  5342  	0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65,
  5343  	0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x22, 0xb0, 0x02, 0x0a, 0x0d, 0x4e, 0x75,
  5344  	0x6d, 0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x09, 0x6f,
  5345  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36,
  5346  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63,
  5347  	0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4e,
  5348  	0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x65,
  5349  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  5350  	0x6e, 0x12, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  5351  	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74,
  5352  	0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
  5353  	0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76,
  5354  	0x61, 0x6c, 0x75, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
  5355  	0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
  5356  	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a,
  5357  	0x05, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53,
  5358  	0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x53, 0x53, 0x5f,
  5359  	0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x03, 0x12,
  5360  	0x10, 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10,
  5361  	0x04, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41,
  5362  	0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x05, 0x22, 0xa3, 0x01, 0x0a,
  5363  	0x0d, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4a,
  5364  	0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01,
  5365  	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c,
  5366  	0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
  5367  	0x68, 0x61, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
  5368  	0x09, 0x66, 0x72, 0x6f, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x46, 0x0a, 0x08, 0x74, 0x6f,
  5369  	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
  5370  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e,
  5371  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4e, 0x75, 0x6d,
  5372  	0x65, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x74, 0x6f, 0x56, 0x61, 0x6c,
  5373  	0x75, 0x65, 0x22, 0x63, 0x0a, 0x0c, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c,
  5374  	0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75,
  5375  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34,
  5376  	0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f,
  5377  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64,
  5378  	0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x6e,
  5379  	0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x25, 0x0a, 0x0f, 0x44, 0x69, 0x6d, 0x65, 0x6e,
  5380  	0x73, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
  5381  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x61,
  5382  	0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12,
  5383  	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
  5384  	0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
  5385  	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74,
  5386  	0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
  5387  	0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
  5388  	0x65, 0x22, 0xb0, 0x01, 0x0a, 0x03, 0x52, 0x6f, 0x77, 0x12, 0x58, 0x0a, 0x10, 0x64, 0x69, 0x6d,
  5389  	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20,
  5390  	0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61,
  5391  	0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  5392  	0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c,
  5393  	0x75, 0x65, 0x52, 0x0f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c,
  5394  	0x75, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61,
  5395  	0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f,
  5396  	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61,
  5397  	0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69,
  5398  	0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61,
  5399  	0x6c, 0x75, 0x65, 0x73, 0x22, 0x35, 0x0a, 0x0e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f,
  5400  	0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
  5401  	0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b,
  5402  	0x0a, 0x09, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x32, 0x0a, 0x0b, 0x4d,
  5403  	0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61,
  5404  	0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c,
  5405  	0x75, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22,
  5406  	0x90, 0x04, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x51, 0x75, 0x6f, 0x74,
  5407  	0x61, 0x12, 0x50, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f,
  5408  	0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5409  	0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74,
  5410  	0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x53,
  5411  	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x50, 0x65, 0x72,
  5412  	0x44, 0x61, 0x79, 0x12, 0x52, 0x0a, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x70, 0x65,
  5413  	0x72, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67,
  5414  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e,
  5415  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x51, 0x75, 0x6f,
  5416  	0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73,
  5417  	0x50, 0x65, 0x72, 0x48, 0x6f, 0x75, 0x72, 0x12, 0x5b, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x63, 0x75,
  5418  	0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03,
  5419  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e,
  5420  	0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61,
  5421  	0x6c, 0x70, 0x68, 0x61, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
  5422  	0x52, 0x12, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
  5423  	0x65, 0x73, 0x74, 0x73, 0x12, 0x75, 0x0a, 0x22, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x65,
  5424  	0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  5425  	0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
  5426  	0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74,
  5427  	0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
  5428  	0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x1d, 0x73, 0x65,
  5429  	0x72, 0x76, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x50, 0x65, 0x72, 0x50, 0x72, 0x6f,
  5430  	0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x48, 0x6f, 0x75, 0x72, 0x12, 0x84, 0x01, 0x0a, 0x29,
  5431  	0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65,
  5432  	0x73, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
  5433  	0x5f, 0x70, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
  5434  	0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69,
  5435  	0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
  5436  	0x51, 0x75, 0x6f, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x25, 0x70, 0x6f, 0x74,
  5437  	0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
  5438  	0x64, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x48, 0x6f,
  5439  	0x75, 0x72, 0x22, 0x47, 0x0a, 0x0b, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75,
  5440  	0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20,
  5441  	0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x1c, 0x0a,
  5442  	0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
  5443  	0x52, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x91, 0x01, 0x0a, 0x0f,
  5444  	0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12,
  5445  	0x59, 0x0a, 0x13, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x64, 0x69, 0x6d,
  5446  	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67,
  5447  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e,
  5448  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x6d,
  5449  	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77,
  5450  	0x6e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69,
  5451  	0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d,
  5452  	0x69, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22,
  5453  	0x95, 0x01, 0x0a, 0x10, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x63,
  5454  	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x15, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x63, 0x74,
  5455  	0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
  5456  	0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61,
  5457  	0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  5458  	0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6e,
  5459  	0x65, 0x78, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69,
  5460  	0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
  5461  	0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a,
  5462  	0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x6f, 0x0a, 0x06, 0x46, 0x75, 0x6e, 0x6e, 0x65,
  5463  	0x6c, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x66, 0x75, 0x6e,
  5464  	0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x4f, 0x70, 0x65,
  5465  	0x6e, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73,
  5466  	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5467  	0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76,
  5468  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x65,
  5469  	0x70, 0x52, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x22, 0xc5, 0x02, 0x0a, 0x0a, 0x46, 0x75, 0x6e,
  5470  	0x6e, 0x65, 0x6c, 0x53, 0x74, 0x65, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
  5471  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x69,
  5472  	0x73, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x5f, 0x66, 0x6f, 0x6c, 0x6c, 0x6f,
  5473  	0x77, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73,
  5474  	0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,
  5475  	0x42, 0x79, 0x12, 0x64, 0x0a, 0x1f, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x5f, 0x64, 0x75, 0x72,
  5476  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72,
  5477  	0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
  5478  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
  5479  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x1b, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e,
  5480  	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x69, 0x6f,
  5481  	0x72, 0x53, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x62, 0x0a, 0x11, 0x66, 0x69, 0x6c, 0x74,
  5482  	0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
  5483  	0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61,
  5484  	0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  5485  	0x70, 0x68, 0x61, 0x2e, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
  5486  	0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x74,
  5487  	0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x22, 0x0a, 0x20,
  5488  	0x5f, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  5489  	0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x70,
  5490  	0x22, 0xcd, 0x02, 0x0a, 0x0f, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x75, 0x62, 0x52, 0x65,
  5491  	0x70, 0x6f, 0x72, 0x74, 0x12, 0x5b, 0x0a, 0x11, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f,
  5492  	0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
  5493  	0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69,
  5494  	0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
  5495  	0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52,
  5496  	0x10, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
  5497  	0x73, 0x12, 0x52, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x64,
  5498  	0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5499  	0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74,
  5500  	0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
  5501  	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x65,
  5502  	0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20,
  5503  	0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61,
  5504  	0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  5505  	0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x51, 0x0a,
  5506  	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
  5507  	0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69,
  5508  	0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
  5509  	0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65,
  5510  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  5511  	0x22, 0xcc, 0x01, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74,
  5512  	0x12, 0x6a, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69,
  5513  	0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
  5514  	0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  5515  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  5516  	0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x69,
  5517  	0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x63, 0x6c, 0x75,
  5518  	0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x51, 0x0a, 0x09,
  5519  	0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  5520  	0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69,
  5521  	0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
  5522  	0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75,
  5523  	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x22,
  5524  	0xea, 0x01, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43,
  5525  	0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x6a, 0x0a, 0x14, 0x61, 0x6e, 0x64, 0x5f, 0x63,
  5526  	0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18,
  5527  	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5528  	0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31,
  5529  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e,
  5530  	0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
  5531  	0x12, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f,
  5532  	0x75, 0x70, 0x73, 0x12, 0x67, 0x0a, 0x13, 0x61, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65,
  5533  	0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
  5534  	0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74,
  5535  	0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
  5536  	0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x71, 0x75,
  5537  	0x65, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x11, 0x61, 0x6e, 0x64, 0x53, 0x65,
  5538  	0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0xf0, 0x01, 0x0a,
  5539  	0x19, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64,
  5540  	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x5f, 0x0a, 0x11, 0x63, 0x6f,
  5541  	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x18,
  5542  	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5543  	0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31,
  5544  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72,
  5545  	0x69, 0x61, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x64, 0x69,
  5546  	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x72, 0x0a, 0x19, 0x73,
  5547  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78,
  5548  	0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36,
  5549  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63,
  5550  	0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53,
  5551  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72,
  5552  	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46,
  5553  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22,
  5554  	0xb1, 0x02, 0x0a, 0x18, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53,
  5555  	0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x5d, 0x0a, 0x10,
  5556  	0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67,
  5557  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5558  	0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76,
  5559  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x69, 0x74, 0x65,
  5560  	0x72, 0x69, 0x61, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x73, 0x65, 0x71, 0x75,
  5561  	0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x55, 0x0a, 0x19, 0x73,
  5562  	0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f,
  5563  	0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
  5564  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  5565  	0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x73, 0x65, 0x71, 0x75, 0x65,
  5566  	0x6e, 0x63, 0x65, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
  5567  	0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65,
  5568  	0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
  5569  	0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69,
  5570  	0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
  5571  	0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x65, 0x70,
  5572  	0x52, 0x11, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x74,
  5573  	0x65, 0x70, 0x73, 0x22, 0x94, 0x02, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x71, 0x75,
  5574  	0x65, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x65, 0x70, 0x12, 0x35, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x64,
  5575  	0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x5f, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,
  5576  	0x5f, 0x62, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x44, 0x69, 0x72,
  5577  	0x65, 0x63, 0x74, 0x6c, 0x79, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x79, 0x12,
  5578  	0x55, 0x0a, 0x0c, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x18,
  5579  	0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5580  	0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31,
  5581  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72,
  5582  	0x69, 0x61, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x73, 0x74, 0x65, 0x70, 0x53,
  5583  	0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x72, 0x0a, 0x19, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e,
  5584  	0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73,
  5585  	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5586  	0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74,
  5587  	0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e,
  5588  	0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
  5589  	0x6e, 0x52, 0x17, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
  5590  	0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf0, 0x01, 0x0a, 0x14, 0x55,
  5591  	0x73, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73,
  5592  	0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x63, 0x6c,
  5593  	0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
  5594  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e,
  5595  	0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61,
  5596  	0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69,
  5597  	0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72,
  5598  	0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
  5599  	0x6e, 0x12, 0x6a, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73,
  5600  	0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x02, 0x20, 0x01,
  5601  	0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c,
  5602  	0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
  5603  	0x68, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72,
  5604  	0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x45, 0x78, 0x63, 0x6c,
  5605  	0x75, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x22, 0xdb, 0x01,
  5606  	0x0a, 0x0e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74,
  5607  	0x12, 0x73, 0x0a, 0x1a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x63, 0x6c,
  5608  	0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x01,
  5609  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e,
  5610  	0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61,
  5611  	0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x67, 0x6d,
  5612  	0x65, 0x6e, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x18, 0x73, 0x65, 0x73,
  5613  	0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x69,
  5614  	0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x54, 0x0a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69,
  5615  	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5616  	0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61,
  5617  	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  5618  	0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e,
  5619  	0x52, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x16,
  5620  	0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72,
  5621  	0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x6d, 0x0a, 0x14, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x6f,
  5622  	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01,
  5623  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e,
  5624  	0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61,
  5625  	0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x67, 0x6d,
  5626  	0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75,
  5627  	0x70, 0x52, 0x12, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x47,
  5628  	0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0xf6, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
  5629  	0x6e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
  5630  	0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x62, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
  5631  	0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
  5632  	0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  5633  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  5634  	0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69,
  5635  	0x61, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
  5636  	0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x72, 0x0a, 0x19, 0x73, 0x65,
  5637  	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70,
  5638  	0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e,
  5639  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73,
  5640  	0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65,
  5641  	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65,
  5642  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69,
  5643  	0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x85,
  5644  	0x02, 0x0a, 0x17, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e,
  5645  	0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x75, 0x0a, 0x1a, 0x73, 0x65,
  5646  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
  5647  	0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37,
  5648  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63,
  5649  	0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53,
  5650  	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x44,
  5651  	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  5652  	0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
  5653  	0x6e, 0x12, 0x73, 0x0a, 0x1a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x63,
  5654  	0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18,
  5655  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5656  	0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31,
  5657  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x67,
  5658  	0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x18, 0x73, 0x65,
  5659  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72,
  5660  	0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x22, 0xd1, 0x01, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74,
  5661  	0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x6d, 0x0a, 0x18, 0x65, 0x76, 0x65, 0x6e, 0x74,
  5662  	0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65,
  5663  	0x72, 0x69, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5664  	0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74,
  5665  	0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53,
  5666  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x16,
  5667  	0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72,
  5668  	0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x52, 0x0a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73,
  5669  	0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5670  	0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74,
  5671  	0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53,
  5672  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52,
  5673  	0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x14, 0x45,
  5674  	0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65,
  5675  	0x72, 0x69, 0x61, 0x12, 0x6b, 0x0a, 0x14, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69,
  5676  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  5677  	0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  5678  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  5679  	0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f,
  5680  	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x12, 0x61, 0x6e,
  5681  	0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73,
  5682  	0x22, 0xf2, 0x01, 0x0a, 0x1a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e,
  5683  	0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
  5684  	0x60, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f,
  5685  	0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
  5686  	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61,
  5687  	0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74,
  5688  	0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x52,
  5689  	0x10, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e,
  5690  	0x67, 0x12, 0x72, 0x0a, 0x19, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c,
  5691  	0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02,
  5692  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e,
  5693  	0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61,
  5694  	0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74,
  5695  	0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x73, 0x65,
  5696  	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65,
  5697  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf7, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53,
  5698  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12,
  5699  	0x6f, 0x0a, 0x18, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69,
  5700  	0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
  5701  	0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  5702  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  5703  	0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e,
  5704  	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x45,
  5705  	0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  5706  	0x12, 0x6d, 0x0a, 0x18, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73,
  5707  	0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x02, 0x20, 0x01,
  5708  	0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c,
  5709  	0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
  5710  	0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43,
  5711  	0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x16, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x45, 0x78,
  5712  	0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x22,
  5713  	0xb1, 0x02, 0x0a, 0x07, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e,
  5714  	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
  5715  	0x4f, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18,
  5716  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5717  	0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31,
  5718  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e,
  5719  	0x74, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74,
  5720  	0x12, 0x58, 0x0a, 0x0f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x67, 0x6d,
  5721  	0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5722  	0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74,
  5723  	0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
  5724  	0x6e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x73, 0x73,
  5725  	0x69, 0x6f, 0x6e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x0d, 0x65, 0x76,
  5726  	0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
  5727  	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  5728  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  5729  	0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00,
  5730  	0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x13,
  5731  	0x0a, 0x11, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x63,
  5732  	0x6f, 0x70, 0x65, 0x22, 0xf4, 0x03, 0x0a, 0x17, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46,
  5733  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12,
  5734  	0x59, 0x0a, 0x09, 0x61, 0x6e, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01,
  5735  	0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c,
  5736  	0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
  5737  	0x68, 0x61, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
  5738  	0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00,
  5739  	0x52, 0x08, 0x61, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x57, 0x0a, 0x08, 0x6f, 0x72,
  5740  	0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67,
  5741  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e,
  5742  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x67,
  5743  	0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73,
  5744  	0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x47, 0x72,
  5745  	0x6f, 0x75, 0x70, 0x12, 0x5f, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65,
  5746  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f,
  5747  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64,
  5748  	0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x67, 0x6d,
  5749  	0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73,
  5750  	0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73,
  5751  	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
  5752  	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67,
  5753  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e,
  5754  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x67,
  5755  	0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x65,
  5756  	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x14, 0x73,
  5757  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c,
  5758  	0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5759  	0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74,
  5760  	0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e,
  5761  	0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x12,
  5762  	0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74,
  5763  	0x65, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x22, 0x77, 0x0a, 0x1b, 0x53, 0x65,
  5764  	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65,
  5765  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x0b, 0x65, 0x78, 0x70,
  5766  	0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36,
  5767  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63,
  5768  	0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53,
  5769  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72,
  5770  	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
  5771  	0x6f, 0x6e, 0x73, 0x22, 0xef, 0x03, 0x0a, 0x0d, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46,
  5772  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e,
  5773  	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64,
  5774  	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66,
  5775  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f,
  5776  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64,
  5777  	0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x69,
  5778  	0x6e, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69,
  5779  	0x6e, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x6c,
  5780  	0x69, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
  5781  	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74,
  5782  	0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
  5783  	0x2e, 0x49, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52,
  5784  	0x0c, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a,
  5785  	0x0e, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18,
  5786  	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5787  	0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31,
  5788  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6c,
  5789  	0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x46, 0x69,
  5790  	0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0e, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x5f,
  5791  	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67,
  5792  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e,
  5793  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x65, 0x74,
  5794  	0x77, 0x65, 0x65, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x65,
  5795  	0x74, 0x77, 0x65, 0x65, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5a, 0x0a, 0x0e, 0x66,
  5796  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20,
  5797  	0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61,
  5798  	0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  5799  	0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65,
  5800  	0x72, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
  5801  	0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x5f, 0x66,
  5802  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x64, 0x0a, 0x14, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74,
  5803  	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a,
  5804  	0x14, 0x61, 0x74, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e,
  5805  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 0x61,
  5806  	0x74, 0x41, 0x6e, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x88,
  5807  	0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x74, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x70, 0x6f,
  5808  	0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x85, 0x02, 0x0a, 0x12,
  5809  	0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74,
  5810  	0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
  5811  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e,
  5812  	0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x93, 0x01, 0x0a, 0x23, 0x73, 0x65, 0x67, 0x6d, 0x65,
  5813  	0x6e, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c,
  5814  	0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02,
  5815  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e,
  5816  	0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61,
  5817  	0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61,
  5818  	0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65,
  5819  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74,
  5820  	0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45,
  5821  	0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b,
  5822  	0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x26, 0x0a, 0x24, 0x5f,
  5823  	0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
  5824  	0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73,
  5825  	0x69, 0x6f, 0x6e, 0x22, 0xcd, 0x03, 0x0a, 0x20, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50,
  5826  	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78,
  5827  	0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x09, 0x61, 0x6e, 0x64, 0x5f,
  5828  	0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f,
  5829  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64,
  5830  	0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x67, 0x6d,
  5831  	0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74,
  5832  	0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74,
  5833  	0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x60, 0x0a, 0x08,
  5834  	0x6f, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43,
  5835  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63,
  5836  	0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53,
  5837  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46,
  5838  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
  5839  	0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x68,
  5840  	0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  5841  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5842  	0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76,
  5843  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61,
  5844  	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70,
  5845  	0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x45, 0x78,
  5846  	0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x18, 0x73, 0x65, 0x67, 0x6d,
  5847  	0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x69,
  5848  	0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f,
  5849  	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61,
  5850  	0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65,
  5851  	0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65,
  5852  	0x72, 0x48, 0x00, 0x52, 0x16, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61,
  5853  	0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x65,
  5854  	0x78, 0x70, 0x72, 0x22, 0x89, 0x01, 0x0a, 0x24, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50,
  5855  	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78,
  5856  	0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x61, 0x0a, 0x0b,
  5857  	0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  5858  	0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  5859  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  5860  	0x61, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
  5861  	0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
  5862  	0x6f, 0x6e, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22,
  5863  	0xd9, 0x04, 0x0a, 0x16, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
  5864  	0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x14, 0x65, 0x76,
  5865  	0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61,
  5866  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x65, 0x76, 0x65, 0x6e,
  5867  	0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30,
  5868  	0x0a, 0x13, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
  5869  	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x69,
  5870  	0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
  5871  	0x12, 0x52, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65,
  5872  	0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5873  	0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e,
  5874  	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69,
  5875  	0x6c, 0x74, 0x65, 0x72, 0x48, 0x01, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69,
  5876  	0x6c, 0x74, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f,
  5877  	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
  5878  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e,
  5879  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6e, 0x4c,
  5880  	0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x01, 0x52, 0x0c, 0x69, 0x6e, 0x4c,
  5881  	0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0e, 0x6e, 0x75, 0x6d,
  5882  	0x65, 0x72, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28,
  5883  	0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  5884  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  5885  	0x61, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48,
  5886  	0x01, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
  5887  	0x12, 0x55, 0x0a, 0x0e, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74,
  5888  	0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5889  	0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61,
  5890  	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e,
  5891  	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x01, 0x52, 0x0d, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65,
  5892  	0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65,
  5893  	0x72, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
  5894  	0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69,
  5895  	0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
  5896  	0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
  5897  	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x66,
  5898  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x42, 0x0f, 0x0a, 0x0d,
  5899  	0x6f, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x42, 0x0c, 0x0a,
  5900  	0x0a, 0x6f, 0x6e, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x6a, 0x0a, 0x1d, 0x53,
  5901  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46,
  5902  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x31, 0x0a, 0x13,
  5903  	0x69, 0x6e, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x70, 0x65, 0x72,
  5904  	0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x41,
  5905  	0x6e, 0x79, 0x4e, 0x44, 0x61, 0x79, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x42,
  5906  	0x16, 0x0a, 0x14, 0x5f, 0x69, 0x6e, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x6e, 0x5f, 0x64, 0x61, 0x79,
  5907  	0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0xfa, 0x03, 0x0a, 0x16, 0x46, 0x75, 0x6e, 0x6e,
  5908  	0x65, 0x6c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
  5909  	0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x09, 0x61, 0x6e, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18,
  5910  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5911  	0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31,
  5912  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x74,
  5913  	0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74,
  5914  	0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x56, 0x0a, 0x08,
  5915  	0x6f, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39,
  5916  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63,
  5917  	0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46,
  5918  	0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65,
  5919  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x47,
  5920  	0x72, 0x6f, 0x75, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72,
  5921  	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67,
  5922  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e,
  5923  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x75, 0x6e,
  5924  	0x6e, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73,
  5925  	0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73,
  5926  	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x13, 0x66, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x66,
  5927  	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
  5928  	0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  5929  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  5930  	0x61, 0x2e, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x46, 0x69, 0x6c,
  5931  	0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x11, 0x66, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x69, 0x65,
  5932  	0x6c, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x13, 0x66, 0x75, 0x6e, 0x6e,
  5933  	0x65, 0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18,
  5934  	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5935  	0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31,
  5936  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 0x65, 0x6e,
  5937  	0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x11, 0x66, 0x75, 0x6e, 0x6e, 0x65,
  5938  	0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04,
  5939  	0x65, 0x78, 0x70, 0x72, 0x22, 0x75, 0x0a, 0x1a, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x69,
  5940  	0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69,
  5941  	0x73, 0x74, 0x12, 0x57, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  5942  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5943  	0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e,
  5944  	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x69,
  5945  	0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b,
  5946  	0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x97, 0x03, 0x0a, 0x11,
  5947  	0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65,
  5948  	0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
  5949  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65,
  5950  	0x12, 0x52, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65,
  5951  	0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5952  	0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e,
  5953  	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69,
  5954  	0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69,
  5955  	0x6c, 0x74, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f,
  5956  	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
  5957  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e,
  5958  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6e, 0x4c,
  5959  	0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x4c,
  5960  	0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0e, 0x6e, 0x75, 0x6d,
  5961  	0x65, 0x72, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28,
  5962  	0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  5963  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  5964  	0x61, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48,
  5965  	0x00, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
  5966  	0x12, 0x55, 0x0a, 0x0e, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74,
  5967  	0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5968  	0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61,
  5969  	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e,
  5970  	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65,
  5971  	0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x5f, 0x66,
  5972  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x80, 0x02, 0x0a, 0x11, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c,
  5973  	0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, 0x65,
  5974  	0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48,
  5975  	0x00, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12,
  5976  	0x90, 0x01, 0x0a, 0x22, 0x66, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
  5977  	0x65, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x72,
  5978  	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67,
  5979  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e,
  5980  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x75, 0x6e,
  5981  	0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74,
  5982  	0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x1f,
  5983  	0x66, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46,
  5984  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88,
  5985  	0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d,
  5986  	0x65, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x66, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x72,
  5987  	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78,
  5988  	0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xc6, 0x03, 0x0a, 0x1f, 0x46, 0x75, 0x6e,
  5989  	0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74,
  5990  	0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x09,
  5991  	0x61, 0x6e, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  5992  	0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69,
  5993  	0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
  5994  	0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46,
  5995  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
  5996  	0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
  5997  	0x5f, 0x0a, 0x08, 0x6f, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28,
  5998  	0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  5999  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  6000  	0x61, 0x2e, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
  6001  	0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
  6002  	0x6e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70,
  6003  	0x12, 0x67, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
  6004  	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  6005  	0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61,
  6006  	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x50,
  6007  	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78,
  6008  	0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x45,
  6009  	0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x6e, 0x0a, 0x17, 0x66, 0x75, 0x6e,
  6010  	0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x69,
  6011  	0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f,
  6012  	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61,
  6013  	0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x75, 0x6e, 0x6e, 0x65,
  6014  	0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
  6015  	0x48, 0x00, 0x52, 0x15, 0x66, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
  6016  	0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x65, 0x78, 0x70,
  6017  	0x72, 0x22, 0x87, 0x01, 0x0a, 0x23, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61,
  6018  	0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65,
  6019  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x0b, 0x65, 0x78, 0x70,
  6020  	0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e,
  6021  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63,
  6022  	0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46,
  6023  	0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x69,
  6024  	0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b,
  6025  	0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf3, 0x03, 0x0a, 0x15,
  6026  	0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46,
  6027  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x14, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70,
  6028  	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  6029  	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61,
  6030  	0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x74, 0x65,
  6031  	0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
  6032  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x69, 0x74, 0x65, 0x6d, 0x50, 0x61,
  6033  	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x73,
  6034  	0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01,
  6035  	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c,
  6036  	0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
  6037  	0x68, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48,
  6038  	0x01, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12,
  6039  	0x53, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65,
  6040  	0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  6041  	0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e,
  6042  	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69,
  6043  	0x6c, 0x74, 0x65, 0x72, 0x48, 0x01, 0x52, 0x0c, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69,
  6044  	0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x5f,
  6045  	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67,
  6046  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e,
  6047  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4e, 0x75, 0x6d,
  6048  	0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x01, 0x52, 0x0d, 0x6e, 0x75,
  6049  	0x6d, 0x65, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0e, 0x62,
  6050  	0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20,
  6051  	0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61,
  6052  	0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  6053  	0x70, 0x68, 0x61, 0x2e, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65,
  6054  	0x72, 0x48, 0x01, 0x52, 0x0d, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x46, 0x69, 0x6c, 0x74,
  6055  	0x65, 0x72, 0x42, 0x0f, 0x0a, 0x0d, 0x6f, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65,
  6056  	0x74, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65,
  6057  	0x72, 0x22, 0x78, 0x0a, 0x16, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f,
  6058  	0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5e, 0x0a, 0x12, 0x73,
  6059  	0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  6060  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  6061  	0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e,
  6062  	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67,
  6063  	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x11, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69,
  6064  	0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x22, 0x70, 0x0a, 0x10, 0x53,
  6065  	0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
  6066  	0x2c, 0x0a, 0x12, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f,
  6067  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x73, 0x61, 0x6d,
  6068  	0x70, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a,
  6069  	0x13, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f,
  6070  	0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x61, 0x6d, 0x70,
  6071  	0x6c, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x2a, 0xaf, 0x01,
  6072  	0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x53, 0x63,
  6073  	0x6f, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x43, 0x52,
  6074  	0x49, 0x54, 0x45, 0x52, 0x49, 0x41, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x55,
  6075  	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f,
  6076  	0x55, 0x53, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x45, 0x52, 0x49, 0x41, 0x5f, 0x57, 0x49,
  6077  	0x54, 0x48, 0x49, 0x4e, 0x5f, 0x53, 0x41, 0x4d, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10,
  6078  	0x01, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x45, 0x52,
  6079  	0x49, 0x41, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x49, 0x4e, 0x5f, 0x53, 0x41, 0x4d, 0x45, 0x5f, 0x53,
  6080  	0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x53, 0x45, 0x52,
  6081  	0x5f, 0x43, 0x52, 0x49, 0x54, 0x45, 0x52, 0x49, 0x41, 0x5f, 0x41, 0x43, 0x52, 0x4f, 0x53, 0x53,
  6082  	0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x03, 0x2a,
  6083  	0x7c, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e,
  6084  	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x23, 0x55, 0x53, 0x45, 0x52,
  6085  	0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x55, 0x52, 0x41, 0x54,
  6086  	0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
  6087  	0x00, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53,
  6088  	0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12,
  6089  	0x1c, 0x0a, 0x18, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x4f,
  6090  	0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x2a, 0x94, 0x01,
  6091  	0x0a, 0x16, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69,
  6092  	0x61, 0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x45, 0x53, 0x53,
  6093  	0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x45, 0x52, 0x49, 0x41, 0x5f, 0x53, 0x43, 0x4f,
  6094  	0x50, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
  6095  	0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52,
  6096  	0x49, 0x54, 0x45, 0x52, 0x49, 0x41, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x49, 0x4e, 0x5f, 0x53, 0x41,
  6097  	0x4d, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x45,
  6098  	0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x45, 0x52, 0x49, 0x41, 0x5f, 0x57,
  6099  	0x49, 0x54, 0x48, 0x49, 0x4e, 0x5f, 0x53, 0x41, 0x4d, 0x45, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49,
  6100  	0x4f, 0x4e, 0x10, 0x02, 0x2a, 0x88, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  6101  	0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
  6102  	0x6e, 0x12, 0x2a, 0x0a, 0x26, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x43,
  6103  	0x4c, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
  6104  	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a,
  6105  	0x1b, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49,
  6106  	0x4f, 0x4e, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x1f,
  6107  	0x0a, 0x1b, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53,
  6108  	0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x2a,
  6109  	0x64, 0x0a, 0x14, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61,
  6110  	0x53, 0x63, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x56, 0x45, 0x4e, 0x54,
  6111  	0x5f, 0x43, 0x52, 0x49, 0x54, 0x45, 0x52, 0x49, 0x41, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x49, 0x4e,
  6112  	0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
  6113  	0x24, 0x0a, 0x20, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x45, 0x52, 0x49,
  6114  	0x41, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x49, 0x4e, 0x5f, 0x53, 0x41, 0x4d, 0x45, 0x5f, 0x45, 0x56,
  6115  	0x45, 0x4e, 0x54, 0x10, 0x01, 0x2a, 0x61, 0x0a, 0x16, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x45, 0x78,
  6116  	0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  6117  	0x28, 0x0a, 0x24, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49,
  6118  	0x4f, 0x4e, 0x5f, 0x44, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50,
  6119  	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x56, 0x45,
  6120  	0x4e, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52,
  6121  	0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x2a, 0x81, 0x02, 0x0a, 0x0a, 0x4d, 0x65, 0x74,
  6122  	0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x45, 0x54, 0x52, 0x49,
  6123  	0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
  6124  	0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54,
  6125  	0x45, 0x47, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46,
  6126  	0x4c, 0x4f, 0x41, 0x54, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53,
  6127  	0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x59, 0x50, 0x45,
  6128  	0x5f, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x05, 0x12,
  6129  	0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, 0x10,
  6130  	0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x4f, 0x55, 0x52, 0x53, 0x10,
  6131  	0x07, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41,
  6132  	0x52, 0x44, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x55, 0x52,
  6133  	0x52, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f,
  6134  	0x46, 0x45, 0x45, 0x54, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d,
  6135  	0x49, 0x4c, 0x45, 0x53, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d,
  6136  	0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x0c, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x59, 0x50, 0x45, 0x5f,
  6137  	0x4b, 0x49, 0x4c, 0x4f, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x0d, 0x42, 0x7b, 0x0a, 0x21,
  6138  	0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79,
  6139  	0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  6140  	0x61, 0x42, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x69, 0x50,
  6141  	0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67,
  6142  	0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f,
  6143  	0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x6e,
  6144  	0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x61,
  6145  	0x6c, 0x70, 0x68, 0x61, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  6146  	0x33,
  6147  }
  6148  
  6149  var (
  6150  	file_google_analytics_data_v1alpha_data_proto_rawDescOnce sync.Once
  6151  	file_google_analytics_data_v1alpha_data_proto_rawDescData = file_google_analytics_data_v1alpha_data_proto_rawDesc
  6152  )
  6153  
  6154  func file_google_analytics_data_v1alpha_data_proto_rawDescGZIP() []byte {
  6155  	file_google_analytics_data_v1alpha_data_proto_rawDescOnce.Do(func() {
  6156  		file_google_analytics_data_v1alpha_data_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_analytics_data_v1alpha_data_proto_rawDescData)
  6157  	})
  6158  	return file_google_analytics_data_v1alpha_data_proto_rawDescData
  6159  }
  6160  
  6161  var file_google_analytics_data_v1alpha_data_proto_enumTypes = make([]protoimpl.EnumInfo, 9)
  6162  var file_google_analytics_data_v1alpha_data_proto_msgTypes = make([]protoimpl.MessageInfo, 58)
  6163  var file_google_analytics_data_v1alpha_data_proto_goTypes = []interface{}{
  6164  	(UserCriteriaScoping)(0),                          // 0: google.analytics.data.v1alpha.UserCriteriaScoping
  6165  	(UserExclusionDuration)(0),                        // 1: google.analytics.data.v1alpha.UserExclusionDuration
  6166  	(SessionCriteriaScoping)(0),                       // 2: google.analytics.data.v1alpha.SessionCriteriaScoping
  6167  	(SessionExclusionDuration)(0),                     // 3: google.analytics.data.v1alpha.SessionExclusionDuration
  6168  	(EventCriteriaScoping)(0),                         // 4: google.analytics.data.v1alpha.EventCriteriaScoping
  6169  	(EventExclusionDuration)(0),                       // 5: google.analytics.data.v1alpha.EventExclusionDuration
  6170  	(MetricType)(0),                                   // 6: google.analytics.data.v1alpha.MetricType
  6171  	(StringFilter_MatchType)(0),                       // 7: google.analytics.data.v1alpha.StringFilter.MatchType
  6172  	(NumericFilter_Operation)(0),                      // 8: google.analytics.data.v1alpha.NumericFilter.Operation
  6173  	(*DateRange)(nil),                                 // 9: google.analytics.data.v1alpha.DateRange
  6174  	(*Dimension)(nil),                                 // 10: google.analytics.data.v1alpha.Dimension
  6175  	(*DimensionExpression)(nil),                       // 11: google.analytics.data.v1alpha.DimensionExpression
  6176  	(*FilterExpression)(nil),                          // 12: google.analytics.data.v1alpha.FilterExpression
  6177  	(*FilterExpressionList)(nil),                      // 13: google.analytics.data.v1alpha.FilterExpressionList
  6178  	(*Filter)(nil),                                    // 14: google.analytics.data.v1alpha.Filter
  6179  	(*StringFilter)(nil),                              // 15: google.analytics.data.v1alpha.StringFilter
  6180  	(*InListFilter)(nil),                              // 16: google.analytics.data.v1alpha.InListFilter
  6181  	(*NumericFilter)(nil),                             // 17: google.analytics.data.v1alpha.NumericFilter
  6182  	(*BetweenFilter)(nil),                             // 18: google.analytics.data.v1alpha.BetweenFilter
  6183  	(*NumericValue)(nil),                              // 19: google.analytics.data.v1alpha.NumericValue
  6184  	(*DimensionHeader)(nil),                           // 20: google.analytics.data.v1alpha.DimensionHeader
  6185  	(*MetricHeader)(nil),                              // 21: google.analytics.data.v1alpha.MetricHeader
  6186  	(*Row)(nil),                                       // 22: google.analytics.data.v1alpha.Row
  6187  	(*DimensionValue)(nil),                            // 23: google.analytics.data.v1alpha.DimensionValue
  6188  	(*MetricValue)(nil),                               // 24: google.analytics.data.v1alpha.MetricValue
  6189  	(*PropertyQuota)(nil),                             // 25: google.analytics.data.v1alpha.PropertyQuota
  6190  	(*QuotaStatus)(nil),                               // 26: google.analytics.data.v1alpha.QuotaStatus
  6191  	(*FunnelBreakdown)(nil),                           // 27: google.analytics.data.v1alpha.FunnelBreakdown
  6192  	(*FunnelNextAction)(nil),                          // 28: google.analytics.data.v1alpha.FunnelNextAction
  6193  	(*Funnel)(nil),                                    // 29: google.analytics.data.v1alpha.Funnel
  6194  	(*FunnelStep)(nil),                                // 30: google.analytics.data.v1alpha.FunnelStep
  6195  	(*FunnelSubReport)(nil),                           // 31: google.analytics.data.v1alpha.FunnelSubReport
  6196  	(*UserSegment)(nil),                               // 32: google.analytics.data.v1alpha.UserSegment
  6197  	(*UserSegmentCriteria)(nil),                       // 33: google.analytics.data.v1alpha.UserSegmentCriteria
  6198  	(*UserSegmentConditionGroup)(nil),                 // 34: google.analytics.data.v1alpha.UserSegmentConditionGroup
  6199  	(*UserSegmentSequenceGroup)(nil),                  // 35: google.analytics.data.v1alpha.UserSegmentSequenceGroup
  6200  	(*UserSequenceStep)(nil),                          // 36: google.analytics.data.v1alpha.UserSequenceStep
  6201  	(*UserSegmentExclusion)(nil),                      // 37: google.analytics.data.v1alpha.UserSegmentExclusion
  6202  	(*SessionSegment)(nil),                            // 38: google.analytics.data.v1alpha.SessionSegment
  6203  	(*SessionSegmentCriteria)(nil),                    // 39: google.analytics.data.v1alpha.SessionSegmentCriteria
  6204  	(*SessionSegmentConditionGroup)(nil),              // 40: google.analytics.data.v1alpha.SessionSegmentConditionGroup
  6205  	(*SessionSegmentExclusion)(nil),                   // 41: google.analytics.data.v1alpha.SessionSegmentExclusion
  6206  	(*EventSegment)(nil),                              // 42: google.analytics.data.v1alpha.EventSegment
  6207  	(*EventSegmentCriteria)(nil),                      // 43: google.analytics.data.v1alpha.EventSegmentCriteria
  6208  	(*EventSegmentConditionGroup)(nil),                // 44: google.analytics.data.v1alpha.EventSegmentConditionGroup
  6209  	(*EventSegmentExclusion)(nil),                     // 45: google.analytics.data.v1alpha.EventSegmentExclusion
  6210  	(*Segment)(nil),                                   // 46: google.analytics.data.v1alpha.Segment
  6211  	(*SegmentFilterExpression)(nil),                   // 47: google.analytics.data.v1alpha.SegmentFilterExpression
  6212  	(*SegmentFilterExpressionList)(nil),               // 48: google.analytics.data.v1alpha.SegmentFilterExpressionList
  6213  	(*SegmentFilter)(nil),                             // 49: google.analytics.data.v1alpha.SegmentFilter
  6214  	(*SegmentFilterScoping)(nil),                      // 50: google.analytics.data.v1alpha.SegmentFilterScoping
  6215  	(*SegmentEventFilter)(nil),                        // 51: google.analytics.data.v1alpha.SegmentEventFilter
  6216  	(*SegmentParameterFilterExpression)(nil),          // 52: google.analytics.data.v1alpha.SegmentParameterFilterExpression
  6217  	(*SegmentParameterFilterExpressionList)(nil),      // 53: google.analytics.data.v1alpha.SegmentParameterFilterExpressionList
  6218  	(*SegmentParameterFilter)(nil),                    // 54: google.analytics.data.v1alpha.SegmentParameterFilter
  6219  	(*SegmentParameterFilterScoping)(nil),             // 55: google.analytics.data.v1alpha.SegmentParameterFilterScoping
  6220  	(*FunnelFilterExpression)(nil),                    // 56: google.analytics.data.v1alpha.FunnelFilterExpression
  6221  	(*FunnelFilterExpressionList)(nil),                // 57: google.analytics.data.v1alpha.FunnelFilterExpressionList
  6222  	(*FunnelFieldFilter)(nil),                         // 58: google.analytics.data.v1alpha.FunnelFieldFilter
  6223  	(*FunnelEventFilter)(nil),                         // 59: google.analytics.data.v1alpha.FunnelEventFilter
  6224  	(*FunnelParameterFilterExpression)(nil),           // 60: google.analytics.data.v1alpha.FunnelParameterFilterExpression
  6225  	(*FunnelParameterFilterExpressionList)(nil),       // 61: google.analytics.data.v1alpha.FunnelParameterFilterExpressionList
  6226  	(*FunnelParameterFilter)(nil),                     // 62: google.analytics.data.v1alpha.FunnelParameterFilter
  6227  	(*FunnelResponseMetadata)(nil),                    // 63: google.analytics.data.v1alpha.FunnelResponseMetadata
  6228  	(*SamplingMetadata)(nil),                          // 64: google.analytics.data.v1alpha.SamplingMetadata
  6229  	(*DimensionExpression_CaseExpression)(nil),        // 65: google.analytics.data.v1alpha.DimensionExpression.CaseExpression
  6230  	(*DimensionExpression_ConcatenateExpression)(nil), // 66: google.analytics.data.v1alpha.DimensionExpression.ConcatenateExpression
  6231  	(*durationpb.Duration)(nil),                       // 67: google.protobuf.Duration
  6232  }
  6233  var file_google_analytics_data_v1alpha_data_proto_depIdxs = []int32{
  6234  	11,  // 0: google.analytics.data.v1alpha.Dimension.dimension_expression:type_name -> google.analytics.data.v1alpha.DimensionExpression
  6235  	65,  // 1: google.analytics.data.v1alpha.DimensionExpression.lower_case:type_name -> google.analytics.data.v1alpha.DimensionExpression.CaseExpression
  6236  	65,  // 2: google.analytics.data.v1alpha.DimensionExpression.upper_case:type_name -> google.analytics.data.v1alpha.DimensionExpression.CaseExpression
  6237  	66,  // 3: google.analytics.data.v1alpha.DimensionExpression.concatenate:type_name -> google.analytics.data.v1alpha.DimensionExpression.ConcatenateExpression
  6238  	13,  // 4: google.analytics.data.v1alpha.FilterExpression.and_group:type_name -> google.analytics.data.v1alpha.FilterExpressionList
  6239  	13,  // 5: google.analytics.data.v1alpha.FilterExpression.or_group:type_name -> google.analytics.data.v1alpha.FilterExpressionList
  6240  	12,  // 6: google.analytics.data.v1alpha.FilterExpression.not_expression:type_name -> google.analytics.data.v1alpha.FilterExpression
  6241  	14,  // 7: google.analytics.data.v1alpha.FilterExpression.filter:type_name -> google.analytics.data.v1alpha.Filter
  6242  	12,  // 8: google.analytics.data.v1alpha.FilterExpressionList.expressions:type_name -> google.analytics.data.v1alpha.FilterExpression
  6243  	15,  // 9: google.analytics.data.v1alpha.Filter.string_filter:type_name -> google.analytics.data.v1alpha.StringFilter
  6244  	16,  // 10: google.analytics.data.v1alpha.Filter.in_list_filter:type_name -> google.analytics.data.v1alpha.InListFilter
  6245  	17,  // 11: google.analytics.data.v1alpha.Filter.numeric_filter:type_name -> google.analytics.data.v1alpha.NumericFilter
  6246  	18,  // 12: google.analytics.data.v1alpha.Filter.between_filter:type_name -> google.analytics.data.v1alpha.BetweenFilter
  6247  	7,   // 13: google.analytics.data.v1alpha.StringFilter.match_type:type_name -> google.analytics.data.v1alpha.StringFilter.MatchType
  6248  	8,   // 14: google.analytics.data.v1alpha.NumericFilter.operation:type_name -> google.analytics.data.v1alpha.NumericFilter.Operation
  6249  	19,  // 15: google.analytics.data.v1alpha.NumericFilter.value:type_name -> google.analytics.data.v1alpha.NumericValue
  6250  	19,  // 16: google.analytics.data.v1alpha.BetweenFilter.from_value:type_name -> google.analytics.data.v1alpha.NumericValue
  6251  	19,  // 17: google.analytics.data.v1alpha.BetweenFilter.to_value:type_name -> google.analytics.data.v1alpha.NumericValue
  6252  	6,   // 18: google.analytics.data.v1alpha.MetricHeader.type:type_name -> google.analytics.data.v1alpha.MetricType
  6253  	23,  // 19: google.analytics.data.v1alpha.Row.dimension_values:type_name -> google.analytics.data.v1alpha.DimensionValue
  6254  	24,  // 20: google.analytics.data.v1alpha.Row.metric_values:type_name -> google.analytics.data.v1alpha.MetricValue
  6255  	26,  // 21: google.analytics.data.v1alpha.PropertyQuota.tokens_per_day:type_name -> google.analytics.data.v1alpha.QuotaStatus
  6256  	26,  // 22: google.analytics.data.v1alpha.PropertyQuota.tokens_per_hour:type_name -> google.analytics.data.v1alpha.QuotaStatus
  6257  	26,  // 23: google.analytics.data.v1alpha.PropertyQuota.concurrent_requests:type_name -> google.analytics.data.v1alpha.QuotaStatus
  6258  	26,  // 24: google.analytics.data.v1alpha.PropertyQuota.server_errors_per_project_per_hour:type_name -> google.analytics.data.v1alpha.QuotaStatus
  6259  	26,  // 25: google.analytics.data.v1alpha.PropertyQuota.potentially_thresholded_requests_per_hour:type_name -> google.analytics.data.v1alpha.QuotaStatus
  6260  	10,  // 26: google.analytics.data.v1alpha.FunnelBreakdown.breakdown_dimension:type_name -> google.analytics.data.v1alpha.Dimension
  6261  	10,  // 27: google.analytics.data.v1alpha.FunnelNextAction.next_action_dimension:type_name -> google.analytics.data.v1alpha.Dimension
  6262  	30,  // 28: google.analytics.data.v1alpha.Funnel.steps:type_name -> google.analytics.data.v1alpha.FunnelStep
  6263  	67,  // 29: google.analytics.data.v1alpha.FunnelStep.within_duration_from_prior_step:type_name -> google.protobuf.Duration
  6264  	56,  // 30: google.analytics.data.v1alpha.FunnelStep.filter_expression:type_name -> google.analytics.data.v1alpha.FunnelFilterExpression
  6265  	20,  // 31: google.analytics.data.v1alpha.FunnelSubReport.dimension_headers:type_name -> google.analytics.data.v1alpha.DimensionHeader
  6266  	21,  // 32: google.analytics.data.v1alpha.FunnelSubReport.metric_headers:type_name -> google.analytics.data.v1alpha.MetricHeader
  6267  	22,  // 33: google.analytics.data.v1alpha.FunnelSubReport.rows:type_name -> google.analytics.data.v1alpha.Row
  6268  	63,  // 34: google.analytics.data.v1alpha.FunnelSubReport.metadata:type_name -> google.analytics.data.v1alpha.FunnelResponseMetadata
  6269  	33,  // 35: google.analytics.data.v1alpha.UserSegment.user_inclusion_criteria:type_name -> google.analytics.data.v1alpha.UserSegmentCriteria
  6270  	37,  // 36: google.analytics.data.v1alpha.UserSegment.exclusion:type_name -> google.analytics.data.v1alpha.UserSegmentExclusion
  6271  	34,  // 37: google.analytics.data.v1alpha.UserSegmentCriteria.and_condition_groups:type_name -> google.analytics.data.v1alpha.UserSegmentConditionGroup
  6272  	35,  // 38: google.analytics.data.v1alpha.UserSegmentCriteria.and_sequence_groups:type_name -> google.analytics.data.v1alpha.UserSegmentSequenceGroup
  6273  	0,   // 39: google.analytics.data.v1alpha.UserSegmentConditionGroup.condition_scoping:type_name -> google.analytics.data.v1alpha.UserCriteriaScoping
  6274  	47,  // 40: google.analytics.data.v1alpha.UserSegmentConditionGroup.segment_filter_expression:type_name -> google.analytics.data.v1alpha.SegmentFilterExpression
  6275  	0,   // 41: google.analytics.data.v1alpha.UserSegmentSequenceGroup.sequence_scoping:type_name -> google.analytics.data.v1alpha.UserCriteriaScoping
  6276  	67,  // 42: google.analytics.data.v1alpha.UserSegmentSequenceGroup.sequence_maximum_duration:type_name -> google.protobuf.Duration
  6277  	36,  // 43: google.analytics.data.v1alpha.UserSegmentSequenceGroup.user_sequence_steps:type_name -> google.analytics.data.v1alpha.UserSequenceStep
  6278  	0,   // 44: google.analytics.data.v1alpha.UserSequenceStep.step_scoping:type_name -> google.analytics.data.v1alpha.UserCriteriaScoping
  6279  	47,  // 45: google.analytics.data.v1alpha.UserSequenceStep.segment_filter_expression:type_name -> google.analytics.data.v1alpha.SegmentFilterExpression
  6280  	1,   // 46: google.analytics.data.v1alpha.UserSegmentExclusion.user_exclusion_duration:type_name -> google.analytics.data.v1alpha.UserExclusionDuration
  6281  	33,  // 47: google.analytics.data.v1alpha.UserSegmentExclusion.user_exclusion_criteria:type_name -> google.analytics.data.v1alpha.UserSegmentCriteria
  6282  	39,  // 48: google.analytics.data.v1alpha.SessionSegment.session_inclusion_criteria:type_name -> google.analytics.data.v1alpha.SessionSegmentCriteria
  6283  	41,  // 49: google.analytics.data.v1alpha.SessionSegment.exclusion:type_name -> google.analytics.data.v1alpha.SessionSegmentExclusion
  6284  	40,  // 50: google.analytics.data.v1alpha.SessionSegmentCriteria.and_condition_groups:type_name -> google.analytics.data.v1alpha.SessionSegmentConditionGroup
  6285  	2,   // 51: google.analytics.data.v1alpha.SessionSegmentConditionGroup.condition_scoping:type_name -> google.analytics.data.v1alpha.SessionCriteriaScoping
  6286  	47,  // 52: google.analytics.data.v1alpha.SessionSegmentConditionGroup.segment_filter_expression:type_name -> google.analytics.data.v1alpha.SegmentFilterExpression
  6287  	3,   // 53: google.analytics.data.v1alpha.SessionSegmentExclusion.session_exclusion_duration:type_name -> google.analytics.data.v1alpha.SessionExclusionDuration
  6288  	39,  // 54: google.analytics.data.v1alpha.SessionSegmentExclusion.session_exclusion_criteria:type_name -> google.analytics.data.v1alpha.SessionSegmentCriteria
  6289  	43,  // 55: google.analytics.data.v1alpha.EventSegment.event_inclusion_criteria:type_name -> google.analytics.data.v1alpha.EventSegmentCriteria
  6290  	45,  // 56: google.analytics.data.v1alpha.EventSegment.exclusion:type_name -> google.analytics.data.v1alpha.EventSegmentExclusion
  6291  	44,  // 57: google.analytics.data.v1alpha.EventSegmentCriteria.and_condition_groups:type_name -> google.analytics.data.v1alpha.EventSegmentConditionGroup
  6292  	4,   // 58: google.analytics.data.v1alpha.EventSegmentConditionGroup.condition_scoping:type_name -> google.analytics.data.v1alpha.EventCriteriaScoping
  6293  	47,  // 59: google.analytics.data.v1alpha.EventSegmentConditionGroup.segment_filter_expression:type_name -> google.analytics.data.v1alpha.SegmentFilterExpression
  6294  	5,   // 60: google.analytics.data.v1alpha.EventSegmentExclusion.event_exclusion_duration:type_name -> google.analytics.data.v1alpha.EventExclusionDuration
  6295  	43,  // 61: google.analytics.data.v1alpha.EventSegmentExclusion.event_exclusion_criteria:type_name -> google.analytics.data.v1alpha.EventSegmentCriteria
  6296  	32,  // 62: google.analytics.data.v1alpha.Segment.user_segment:type_name -> google.analytics.data.v1alpha.UserSegment
  6297  	38,  // 63: google.analytics.data.v1alpha.Segment.session_segment:type_name -> google.analytics.data.v1alpha.SessionSegment
  6298  	42,  // 64: google.analytics.data.v1alpha.Segment.event_segment:type_name -> google.analytics.data.v1alpha.EventSegment
  6299  	48,  // 65: google.analytics.data.v1alpha.SegmentFilterExpression.and_group:type_name -> google.analytics.data.v1alpha.SegmentFilterExpressionList
  6300  	48,  // 66: google.analytics.data.v1alpha.SegmentFilterExpression.or_group:type_name -> google.analytics.data.v1alpha.SegmentFilterExpressionList
  6301  	47,  // 67: google.analytics.data.v1alpha.SegmentFilterExpression.not_expression:type_name -> google.analytics.data.v1alpha.SegmentFilterExpression
  6302  	49,  // 68: google.analytics.data.v1alpha.SegmentFilterExpression.segment_filter:type_name -> google.analytics.data.v1alpha.SegmentFilter
  6303  	51,  // 69: google.analytics.data.v1alpha.SegmentFilterExpression.segment_event_filter:type_name -> google.analytics.data.v1alpha.SegmentEventFilter
  6304  	47,  // 70: google.analytics.data.v1alpha.SegmentFilterExpressionList.expressions:type_name -> google.analytics.data.v1alpha.SegmentFilterExpression
  6305  	15,  // 71: google.analytics.data.v1alpha.SegmentFilter.string_filter:type_name -> google.analytics.data.v1alpha.StringFilter
  6306  	16,  // 72: google.analytics.data.v1alpha.SegmentFilter.in_list_filter:type_name -> google.analytics.data.v1alpha.InListFilter
  6307  	17,  // 73: google.analytics.data.v1alpha.SegmentFilter.numeric_filter:type_name -> google.analytics.data.v1alpha.NumericFilter
  6308  	18,  // 74: google.analytics.data.v1alpha.SegmentFilter.between_filter:type_name -> google.analytics.data.v1alpha.BetweenFilter
  6309  	50,  // 75: google.analytics.data.v1alpha.SegmentFilter.filter_scoping:type_name -> google.analytics.data.v1alpha.SegmentFilterScoping
  6310  	52,  // 76: google.analytics.data.v1alpha.SegmentEventFilter.segment_parameter_filter_expression:type_name -> google.analytics.data.v1alpha.SegmentParameterFilterExpression
  6311  	53,  // 77: google.analytics.data.v1alpha.SegmentParameterFilterExpression.and_group:type_name -> google.analytics.data.v1alpha.SegmentParameterFilterExpressionList
  6312  	53,  // 78: google.analytics.data.v1alpha.SegmentParameterFilterExpression.or_group:type_name -> google.analytics.data.v1alpha.SegmentParameterFilterExpressionList
  6313  	52,  // 79: google.analytics.data.v1alpha.SegmentParameterFilterExpression.not_expression:type_name -> google.analytics.data.v1alpha.SegmentParameterFilterExpression
  6314  	54,  // 80: google.analytics.data.v1alpha.SegmentParameterFilterExpression.segment_parameter_filter:type_name -> google.analytics.data.v1alpha.SegmentParameterFilter
  6315  	52,  // 81: google.analytics.data.v1alpha.SegmentParameterFilterExpressionList.expressions:type_name -> google.analytics.data.v1alpha.SegmentParameterFilterExpression
  6316  	15,  // 82: google.analytics.data.v1alpha.SegmentParameterFilter.string_filter:type_name -> google.analytics.data.v1alpha.StringFilter
  6317  	16,  // 83: google.analytics.data.v1alpha.SegmentParameterFilter.in_list_filter:type_name -> google.analytics.data.v1alpha.InListFilter
  6318  	17,  // 84: google.analytics.data.v1alpha.SegmentParameterFilter.numeric_filter:type_name -> google.analytics.data.v1alpha.NumericFilter
  6319  	18,  // 85: google.analytics.data.v1alpha.SegmentParameterFilter.between_filter:type_name -> google.analytics.data.v1alpha.BetweenFilter
  6320  	55,  // 86: google.analytics.data.v1alpha.SegmentParameterFilter.filter_scoping:type_name -> google.analytics.data.v1alpha.SegmentParameterFilterScoping
  6321  	57,  // 87: google.analytics.data.v1alpha.FunnelFilterExpression.and_group:type_name -> google.analytics.data.v1alpha.FunnelFilterExpressionList
  6322  	57,  // 88: google.analytics.data.v1alpha.FunnelFilterExpression.or_group:type_name -> google.analytics.data.v1alpha.FunnelFilterExpressionList
  6323  	56,  // 89: google.analytics.data.v1alpha.FunnelFilterExpression.not_expression:type_name -> google.analytics.data.v1alpha.FunnelFilterExpression
  6324  	58,  // 90: google.analytics.data.v1alpha.FunnelFilterExpression.funnel_field_filter:type_name -> google.analytics.data.v1alpha.FunnelFieldFilter
  6325  	59,  // 91: google.analytics.data.v1alpha.FunnelFilterExpression.funnel_event_filter:type_name -> google.analytics.data.v1alpha.FunnelEventFilter
  6326  	56,  // 92: google.analytics.data.v1alpha.FunnelFilterExpressionList.expressions:type_name -> google.analytics.data.v1alpha.FunnelFilterExpression
  6327  	15,  // 93: google.analytics.data.v1alpha.FunnelFieldFilter.string_filter:type_name -> google.analytics.data.v1alpha.StringFilter
  6328  	16,  // 94: google.analytics.data.v1alpha.FunnelFieldFilter.in_list_filter:type_name -> google.analytics.data.v1alpha.InListFilter
  6329  	17,  // 95: google.analytics.data.v1alpha.FunnelFieldFilter.numeric_filter:type_name -> google.analytics.data.v1alpha.NumericFilter
  6330  	18,  // 96: google.analytics.data.v1alpha.FunnelFieldFilter.between_filter:type_name -> google.analytics.data.v1alpha.BetweenFilter
  6331  	60,  // 97: google.analytics.data.v1alpha.FunnelEventFilter.funnel_parameter_filter_expression:type_name -> google.analytics.data.v1alpha.FunnelParameterFilterExpression
  6332  	61,  // 98: google.analytics.data.v1alpha.FunnelParameterFilterExpression.and_group:type_name -> google.analytics.data.v1alpha.FunnelParameterFilterExpressionList
  6333  	61,  // 99: google.analytics.data.v1alpha.FunnelParameterFilterExpression.or_group:type_name -> google.analytics.data.v1alpha.FunnelParameterFilterExpressionList
  6334  	60,  // 100: google.analytics.data.v1alpha.FunnelParameterFilterExpression.not_expression:type_name -> google.analytics.data.v1alpha.FunnelParameterFilterExpression
  6335  	62,  // 101: google.analytics.data.v1alpha.FunnelParameterFilterExpression.funnel_parameter_filter:type_name -> google.analytics.data.v1alpha.FunnelParameterFilter
  6336  	60,  // 102: google.analytics.data.v1alpha.FunnelParameterFilterExpressionList.expressions:type_name -> google.analytics.data.v1alpha.FunnelParameterFilterExpression
  6337  	15,  // 103: google.analytics.data.v1alpha.FunnelParameterFilter.string_filter:type_name -> google.analytics.data.v1alpha.StringFilter
  6338  	16,  // 104: google.analytics.data.v1alpha.FunnelParameterFilter.in_list_filter:type_name -> google.analytics.data.v1alpha.InListFilter
  6339  	17,  // 105: google.analytics.data.v1alpha.FunnelParameterFilter.numeric_filter:type_name -> google.analytics.data.v1alpha.NumericFilter
  6340  	18,  // 106: google.analytics.data.v1alpha.FunnelParameterFilter.between_filter:type_name -> google.analytics.data.v1alpha.BetweenFilter
  6341  	64,  // 107: google.analytics.data.v1alpha.FunnelResponseMetadata.sampling_metadatas:type_name -> google.analytics.data.v1alpha.SamplingMetadata
  6342  	108, // [108:108] is the sub-list for method output_type
  6343  	108, // [108:108] is the sub-list for method input_type
  6344  	108, // [108:108] is the sub-list for extension type_name
  6345  	108, // [108:108] is the sub-list for extension extendee
  6346  	0,   // [0:108] is the sub-list for field type_name
  6347  }
  6348  
  6349  func init() { file_google_analytics_data_v1alpha_data_proto_init() }
  6350  func file_google_analytics_data_v1alpha_data_proto_init() {
  6351  	if File_google_analytics_data_v1alpha_data_proto != nil {
  6352  		return
  6353  	}
  6354  	if !protoimpl.UnsafeEnabled {
  6355  		file_google_analytics_data_v1alpha_data_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  6356  			switch v := v.(*DateRange); i {
  6357  			case 0:
  6358  				return &v.state
  6359  			case 1:
  6360  				return &v.sizeCache
  6361  			case 2:
  6362  				return &v.unknownFields
  6363  			default:
  6364  				return nil
  6365  			}
  6366  		}
  6367  		file_google_analytics_data_v1alpha_data_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  6368  			switch v := v.(*Dimension); i {
  6369  			case 0:
  6370  				return &v.state
  6371  			case 1:
  6372  				return &v.sizeCache
  6373  			case 2:
  6374  				return &v.unknownFields
  6375  			default:
  6376  				return nil
  6377  			}
  6378  		}
  6379  		file_google_analytics_data_v1alpha_data_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  6380  			switch v := v.(*DimensionExpression); i {
  6381  			case 0:
  6382  				return &v.state
  6383  			case 1:
  6384  				return &v.sizeCache
  6385  			case 2:
  6386  				return &v.unknownFields
  6387  			default:
  6388  				return nil
  6389  			}
  6390  		}
  6391  		file_google_analytics_data_v1alpha_data_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  6392  			switch v := v.(*FilterExpression); i {
  6393  			case 0:
  6394  				return &v.state
  6395  			case 1:
  6396  				return &v.sizeCache
  6397  			case 2:
  6398  				return &v.unknownFields
  6399  			default:
  6400  				return nil
  6401  			}
  6402  		}
  6403  		file_google_analytics_data_v1alpha_data_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  6404  			switch v := v.(*FilterExpressionList); i {
  6405  			case 0:
  6406  				return &v.state
  6407  			case 1:
  6408  				return &v.sizeCache
  6409  			case 2:
  6410  				return &v.unknownFields
  6411  			default:
  6412  				return nil
  6413  			}
  6414  		}
  6415  		file_google_analytics_data_v1alpha_data_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  6416  			switch v := v.(*Filter); i {
  6417  			case 0:
  6418  				return &v.state
  6419  			case 1:
  6420  				return &v.sizeCache
  6421  			case 2:
  6422  				return &v.unknownFields
  6423  			default:
  6424  				return nil
  6425  			}
  6426  		}
  6427  		file_google_analytics_data_v1alpha_data_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  6428  			switch v := v.(*StringFilter); i {
  6429  			case 0:
  6430  				return &v.state
  6431  			case 1:
  6432  				return &v.sizeCache
  6433  			case 2:
  6434  				return &v.unknownFields
  6435  			default:
  6436  				return nil
  6437  			}
  6438  		}
  6439  		file_google_analytics_data_v1alpha_data_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  6440  			switch v := v.(*InListFilter); i {
  6441  			case 0:
  6442  				return &v.state
  6443  			case 1:
  6444  				return &v.sizeCache
  6445  			case 2:
  6446  				return &v.unknownFields
  6447  			default:
  6448  				return nil
  6449  			}
  6450  		}
  6451  		file_google_analytics_data_v1alpha_data_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  6452  			switch v := v.(*NumericFilter); i {
  6453  			case 0:
  6454  				return &v.state
  6455  			case 1:
  6456  				return &v.sizeCache
  6457  			case 2:
  6458  				return &v.unknownFields
  6459  			default:
  6460  				return nil
  6461  			}
  6462  		}
  6463  		file_google_analytics_data_v1alpha_data_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  6464  			switch v := v.(*BetweenFilter); i {
  6465  			case 0:
  6466  				return &v.state
  6467  			case 1:
  6468  				return &v.sizeCache
  6469  			case 2:
  6470  				return &v.unknownFields
  6471  			default:
  6472  				return nil
  6473  			}
  6474  		}
  6475  		file_google_analytics_data_v1alpha_data_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  6476  			switch v := v.(*NumericValue); i {
  6477  			case 0:
  6478  				return &v.state
  6479  			case 1:
  6480  				return &v.sizeCache
  6481  			case 2:
  6482  				return &v.unknownFields
  6483  			default:
  6484  				return nil
  6485  			}
  6486  		}
  6487  		file_google_analytics_data_v1alpha_data_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  6488  			switch v := v.(*DimensionHeader); i {
  6489  			case 0:
  6490  				return &v.state
  6491  			case 1:
  6492  				return &v.sizeCache
  6493  			case 2:
  6494  				return &v.unknownFields
  6495  			default:
  6496  				return nil
  6497  			}
  6498  		}
  6499  		file_google_analytics_data_v1alpha_data_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  6500  			switch v := v.(*MetricHeader); i {
  6501  			case 0:
  6502  				return &v.state
  6503  			case 1:
  6504  				return &v.sizeCache
  6505  			case 2:
  6506  				return &v.unknownFields
  6507  			default:
  6508  				return nil
  6509  			}
  6510  		}
  6511  		file_google_analytics_data_v1alpha_data_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  6512  			switch v := v.(*Row); i {
  6513  			case 0:
  6514  				return &v.state
  6515  			case 1:
  6516  				return &v.sizeCache
  6517  			case 2:
  6518  				return &v.unknownFields
  6519  			default:
  6520  				return nil
  6521  			}
  6522  		}
  6523  		file_google_analytics_data_v1alpha_data_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  6524  			switch v := v.(*DimensionValue); i {
  6525  			case 0:
  6526  				return &v.state
  6527  			case 1:
  6528  				return &v.sizeCache
  6529  			case 2:
  6530  				return &v.unknownFields
  6531  			default:
  6532  				return nil
  6533  			}
  6534  		}
  6535  		file_google_analytics_data_v1alpha_data_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  6536  			switch v := v.(*MetricValue); i {
  6537  			case 0:
  6538  				return &v.state
  6539  			case 1:
  6540  				return &v.sizeCache
  6541  			case 2:
  6542  				return &v.unknownFields
  6543  			default:
  6544  				return nil
  6545  			}
  6546  		}
  6547  		file_google_analytics_data_v1alpha_data_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  6548  			switch v := v.(*PropertyQuota); i {
  6549  			case 0:
  6550  				return &v.state
  6551  			case 1:
  6552  				return &v.sizeCache
  6553  			case 2:
  6554  				return &v.unknownFields
  6555  			default:
  6556  				return nil
  6557  			}
  6558  		}
  6559  		file_google_analytics_data_v1alpha_data_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  6560  			switch v := v.(*QuotaStatus); i {
  6561  			case 0:
  6562  				return &v.state
  6563  			case 1:
  6564  				return &v.sizeCache
  6565  			case 2:
  6566  				return &v.unknownFields
  6567  			default:
  6568  				return nil
  6569  			}
  6570  		}
  6571  		file_google_analytics_data_v1alpha_data_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  6572  			switch v := v.(*FunnelBreakdown); i {
  6573  			case 0:
  6574  				return &v.state
  6575  			case 1:
  6576  				return &v.sizeCache
  6577  			case 2:
  6578  				return &v.unknownFields
  6579  			default:
  6580  				return nil
  6581  			}
  6582  		}
  6583  		file_google_analytics_data_v1alpha_data_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  6584  			switch v := v.(*FunnelNextAction); i {
  6585  			case 0:
  6586  				return &v.state
  6587  			case 1:
  6588  				return &v.sizeCache
  6589  			case 2:
  6590  				return &v.unknownFields
  6591  			default:
  6592  				return nil
  6593  			}
  6594  		}
  6595  		file_google_analytics_data_v1alpha_data_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  6596  			switch v := v.(*Funnel); i {
  6597  			case 0:
  6598  				return &v.state
  6599  			case 1:
  6600  				return &v.sizeCache
  6601  			case 2:
  6602  				return &v.unknownFields
  6603  			default:
  6604  				return nil
  6605  			}
  6606  		}
  6607  		file_google_analytics_data_v1alpha_data_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  6608  			switch v := v.(*FunnelStep); i {
  6609  			case 0:
  6610  				return &v.state
  6611  			case 1:
  6612  				return &v.sizeCache
  6613  			case 2:
  6614  				return &v.unknownFields
  6615  			default:
  6616  				return nil
  6617  			}
  6618  		}
  6619  		file_google_analytics_data_v1alpha_data_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  6620  			switch v := v.(*FunnelSubReport); i {
  6621  			case 0:
  6622  				return &v.state
  6623  			case 1:
  6624  				return &v.sizeCache
  6625  			case 2:
  6626  				return &v.unknownFields
  6627  			default:
  6628  				return nil
  6629  			}
  6630  		}
  6631  		file_google_analytics_data_v1alpha_data_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  6632  			switch v := v.(*UserSegment); i {
  6633  			case 0:
  6634  				return &v.state
  6635  			case 1:
  6636  				return &v.sizeCache
  6637  			case 2:
  6638  				return &v.unknownFields
  6639  			default:
  6640  				return nil
  6641  			}
  6642  		}
  6643  		file_google_analytics_data_v1alpha_data_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  6644  			switch v := v.(*UserSegmentCriteria); i {
  6645  			case 0:
  6646  				return &v.state
  6647  			case 1:
  6648  				return &v.sizeCache
  6649  			case 2:
  6650  				return &v.unknownFields
  6651  			default:
  6652  				return nil
  6653  			}
  6654  		}
  6655  		file_google_analytics_data_v1alpha_data_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  6656  			switch v := v.(*UserSegmentConditionGroup); i {
  6657  			case 0:
  6658  				return &v.state
  6659  			case 1:
  6660  				return &v.sizeCache
  6661  			case 2:
  6662  				return &v.unknownFields
  6663  			default:
  6664  				return nil
  6665  			}
  6666  		}
  6667  		file_google_analytics_data_v1alpha_data_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  6668  			switch v := v.(*UserSegmentSequenceGroup); i {
  6669  			case 0:
  6670  				return &v.state
  6671  			case 1:
  6672  				return &v.sizeCache
  6673  			case 2:
  6674  				return &v.unknownFields
  6675  			default:
  6676  				return nil
  6677  			}
  6678  		}
  6679  		file_google_analytics_data_v1alpha_data_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  6680  			switch v := v.(*UserSequenceStep); i {
  6681  			case 0:
  6682  				return &v.state
  6683  			case 1:
  6684  				return &v.sizeCache
  6685  			case 2:
  6686  				return &v.unknownFields
  6687  			default:
  6688  				return nil
  6689  			}
  6690  		}
  6691  		file_google_analytics_data_v1alpha_data_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  6692  			switch v := v.(*UserSegmentExclusion); i {
  6693  			case 0:
  6694  				return &v.state
  6695  			case 1:
  6696  				return &v.sizeCache
  6697  			case 2:
  6698  				return &v.unknownFields
  6699  			default:
  6700  				return nil
  6701  			}
  6702  		}
  6703  		file_google_analytics_data_v1alpha_data_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
  6704  			switch v := v.(*SessionSegment); i {
  6705  			case 0:
  6706  				return &v.state
  6707  			case 1:
  6708  				return &v.sizeCache
  6709  			case 2:
  6710  				return &v.unknownFields
  6711  			default:
  6712  				return nil
  6713  			}
  6714  		}
  6715  		file_google_analytics_data_v1alpha_data_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
  6716  			switch v := v.(*SessionSegmentCriteria); i {
  6717  			case 0:
  6718  				return &v.state
  6719  			case 1:
  6720  				return &v.sizeCache
  6721  			case 2:
  6722  				return &v.unknownFields
  6723  			default:
  6724  				return nil
  6725  			}
  6726  		}
  6727  		file_google_analytics_data_v1alpha_data_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
  6728  			switch v := v.(*SessionSegmentConditionGroup); i {
  6729  			case 0:
  6730  				return &v.state
  6731  			case 1:
  6732  				return &v.sizeCache
  6733  			case 2:
  6734  				return &v.unknownFields
  6735  			default:
  6736  				return nil
  6737  			}
  6738  		}
  6739  		file_google_analytics_data_v1alpha_data_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
  6740  			switch v := v.(*SessionSegmentExclusion); i {
  6741  			case 0:
  6742  				return &v.state
  6743  			case 1:
  6744  				return &v.sizeCache
  6745  			case 2:
  6746  				return &v.unknownFields
  6747  			default:
  6748  				return nil
  6749  			}
  6750  		}
  6751  		file_google_analytics_data_v1alpha_data_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
  6752  			switch v := v.(*EventSegment); i {
  6753  			case 0:
  6754  				return &v.state
  6755  			case 1:
  6756  				return &v.sizeCache
  6757  			case 2:
  6758  				return &v.unknownFields
  6759  			default:
  6760  				return nil
  6761  			}
  6762  		}
  6763  		file_google_analytics_data_v1alpha_data_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
  6764  			switch v := v.(*EventSegmentCriteria); i {
  6765  			case 0:
  6766  				return &v.state
  6767  			case 1:
  6768  				return &v.sizeCache
  6769  			case 2:
  6770  				return &v.unknownFields
  6771  			default:
  6772  				return nil
  6773  			}
  6774  		}
  6775  		file_google_analytics_data_v1alpha_data_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
  6776  			switch v := v.(*EventSegmentConditionGroup); i {
  6777  			case 0:
  6778  				return &v.state
  6779  			case 1:
  6780  				return &v.sizeCache
  6781  			case 2:
  6782  				return &v.unknownFields
  6783  			default:
  6784  				return nil
  6785  			}
  6786  		}
  6787  		file_google_analytics_data_v1alpha_data_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
  6788  			switch v := v.(*EventSegmentExclusion); i {
  6789  			case 0:
  6790  				return &v.state
  6791  			case 1:
  6792  				return &v.sizeCache
  6793  			case 2:
  6794  				return &v.unknownFields
  6795  			default:
  6796  				return nil
  6797  			}
  6798  		}
  6799  		file_google_analytics_data_v1alpha_data_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
  6800  			switch v := v.(*Segment); i {
  6801  			case 0:
  6802  				return &v.state
  6803  			case 1:
  6804  				return &v.sizeCache
  6805  			case 2:
  6806  				return &v.unknownFields
  6807  			default:
  6808  				return nil
  6809  			}
  6810  		}
  6811  		file_google_analytics_data_v1alpha_data_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
  6812  			switch v := v.(*SegmentFilterExpression); i {
  6813  			case 0:
  6814  				return &v.state
  6815  			case 1:
  6816  				return &v.sizeCache
  6817  			case 2:
  6818  				return &v.unknownFields
  6819  			default:
  6820  				return nil
  6821  			}
  6822  		}
  6823  		file_google_analytics_data_v1alpha_data_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
  6824  			switch v := v.(*SegmentFilterExpressionList); i {
  6825  			case 0:
  6826  				return &v.state
  6827  			case 1:
  6828  				return &v.sizeCache
  6829  			case 2:
  6830  				return &v.unknownFields
  6831  			default:
  6832  				return nil
  6833  			}
  6834  		}
  6835  		file_google_analytics_data_v1alpha_data_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
  6836  			switch v := v.(*SegmentFilter); i {
  6837  			case 0:
  6838  				return &v.state
  6839  			case 1:
  6840  				return &v.sizeCache
  6841  			case 2:
  6842  				return &v.unknownFields
  6843  			default:
  6844  				return nil
  6845  			}
  6846  		}
  6847  		file_google_analytics_data_v1alpha_data_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
  6848  			switch v := v.(*SegmentFilterScoping); i {
  6849  			case 0:
  6850  				return &v.state
  6851  			case 1:
  6852  				return &v.sizeCache
  6853  			case 2:
  6854  				return &v.unknownFields
  6855  			default:
  6856  				return nil
  6857  			}
  6858  		}
  6859  		file_google_analytics_data_v1alpha_data_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
  6860  			switch v := v.(*SegmentEventFilter); i {
  6861  			case 0:
  6862  				return &v.state
  6863  			case 1:
  6864  				return &v.sizeCache
  6865  			case 2:
  6866  				return &v.unknownFields
  6867  			default:
  6868  				return nil
  6869  			}
  6870  		}
  6871  		file_google_analytics_data_v1alpha_data_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
  6872  			switch v := v.(*SegmentParameterFilterExpression); i {
  6873  			case 0:
  6874  				return &v.state
  6875  			case 1:
  6876  				return &v.sizeCache
  6877  			case 2:
  6878  				return &v.unknownFields
  6879  			default:
  6880  				return nil
  6881  			}
  6882  		}
  6883  		file_google_analytics_data_v1alpha_data_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
  6884  			switch v := v.(*SegmentParameterFilterExpressionList); i {
  6885  			case 0:
  6886  				return &v.state
  6887  			case 1:
  6888  				return &v.sizeCache
  6889  			case 2:
  6890  				return &v.unknownFields
  6891  			default:
  6892  				return nil
  6893  			}
  6894  		}
  6895  		file_google_analytics_data_v1alpha_data_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
  6896  			switch v := v.(*SegmentParameterFilter); i {
  6897  			case 0:
  6898  				return &v.state
  6899  			case 1:
  6900  				return &v.sizeCache
  6901  			case 2:
  6902  				return &v.unknownFields
  6903  			default:
  6904  				return nil
  6905  			}
  6906  		}
  6907  		file_google_analytics_data_v1alpha_data_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
  6908  			switch v := v.(*SegmentParameterFilterScoping); i {
  6909  			case 0:
  6910  				return &v.state
  6911  			case 1:
  6912  				return &v.sizeCache
  6913  			case 2:
  6914  				return &v.unknownFields
  6915  			default:
  6916  				return nil
  6917  			}
  6918  		}
  6919  		file_google_analytics_data_v1alpha_data_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
  6920  			switch v := v.(*FunnelFilterExpression); i {
  6921  			case 0:
  6922  				return &v.state
  6923  			case 1:
  6924  				return &v.sizeCache
  6925  			case 2:
  6926  				return &v.unknownFields
  6927  			default:
  6928  				return nil
  6929  			}
  6930  		}
  6931  		file_google_analytics_data_v1alpha_data_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
  6932  			switch v := v.(*FunnelFilterExpressionList); i {
  6933  			case 0:
  6934  				return &v.state
  6935  			case 1:
  6936  				return &v.sizeCache
  6937  			case 2:
  6938  				return &v.unknownFields
  6939  			default:
  6940  				return nil
  6941  			}
  6942  		}
  6943  		file_google_analytics_data_v1alpha_data_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
  6944  			switch v := v.(*FunnelFieldFilter); i {
  6945  			case 0:
  6946  				return &v.state
  6947  			case 1:
  6948  				return &v.sizeCache
  6949  			case 2:
  6950  				return &v.unknownFields
  6951  			default:
  6952  				return nil
  6953  			}
  6954  		}
  6955  		file_google_analytics_data_v1alpha_data_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
  6956  			switch v := v.(*FunnelEventFilter); i {
  6957  			case 0:
  6958  				return &v.state
  6959  			case 1:
  6960  				return &v.sizeCache
  6961  			case 2:
  6962  				return &v.unknownFields
  6963  			default:
  6964  				return nil
  6965  			}
  6966  		}
  6967  		file_google_analytics_data_v1alpha_data_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
  6968  			switch v := v.(*FunnelParameterFilterExpression); i {
  6969  			case 0:
  6970  				return &v.state
  6971  			case 1:
  6972  				return &v.sizeCache
  6973  			case 2:
  6974  				return &v.unknownFields
  6975  			default:
  6976  				return nil
  6977  			}
  6978  		}
  6979  		file_google_analytics_data_v1alpha_data_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
  6980  			switch v := v.(*FunnelParameterFilterExpressionList); i {
  6981  			case 0:
  6982  				return &v.state
  6983  			case 1:
  6984  				return &v.sizeCache
  6985  			case 2:
  6986  				return &v.unknownFields
  6987  			default:
  6988  				return nil
  6989  			}
  6990  		}
  6991  		file_google_analytics_data_v1alpha_data_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
  6992  			switch v := v.(*FunnelParameterFilter); i {
  6993  			case 0:
  6994  				return &v.state
  6995  			case 1:
  6996  				return &v.sizeCache
  6997  			case 2:
  6998  				return &v.unknownFields
  6999  			default:
  7000  				return nil
  7001  			}
  7002  		}
  7003  		file_google_analytics_data_v1alpha_data_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
  7004  			switch v := v.(*FunnelResponseMetadata); i {
  7005  			case 0:
  7006  				return &v.state
  7007  			case 1:
  7008  				return &v.sizeCache
  7009  			case 2:
  7010  				return &v.unknownFields
  7011  			default:
  7012  				return nil
  7013  			}
  7014  		}
  7015  		file_google_analytics_data_v1alpha_data_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
  7016  			switch v := v.(*SamplingMetadata); i {
  7017  			case 0:
  7018  				return &v.state
  7019  			case 1:
  7020  				return &v.sizeCache
  7021  			case 2:
  7022  				return &v.unknownFields
  7023  			default:
  7024  				return nil
  7025  			}
  7026  		}
  7027  		file_google_analytics_data_v1alpha_data_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
  7028  			switch v := v.(*DimensionExpression_CaseExpression); i {
  7029  			case 0:
  7030  				return &v.state
  7031  			case 1:
  7032  				return &v.sizeCache
  7033  			case 2:
  7034  				return &v.unknownFields
  7035  			default:
  7036  				return nil
  7037  			}
  7038  		}
  7039  		file_google_analytics_data_v1alpha_data_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
  7040  			switch v := v.(*DimensionExpression_ConcatenateExpression); i {
  7041  			case 0:
  7042  				return &v.state
  7043  			case 1:
  7044  				return &v.sizeCache
  7045  			case 2:
  7046  				return &v.unknownFields
  7047  			default:
  7048  				return nil
  7049  			}
  7050  		}
  7051  	}
  7052  	file_google_analytics_data_v1alpha_data_proto_msgTypes[2].OneofWrappers = []interface{}{
  7053  		(*DimensionExpression_LowerCase)(nil),
  7054  		(*DimensionExpression_UpperCase)(nil),
  7055  		(*DimensionExpression_Concatenate)(nil),
  7056  	}
  7057  	file_google_analytics_data_v1alpha_data_proto_msgTypes[3].OneofWrappers = []interface{}{
  7058  		(*FilterExpression_AndGroup)(nil),
  7059  		(*FilterExpression_OrGroup)(nil),
  7060  		(*FilterExpression_NotExpression)(nil),
  7061  		(*FilterExpression_Filter)(nil),
  7062  	}
  7063  	file_google_analytics_data_v1alpha_data_proto_msgTypes[5].OneofWrappers = []interface{}{
  7064  		(*Filter_StringFilter)(nil),
  7065  		(*Filter_InListFilter)(nil),
  7066  		(*Filter_NumericFilter)(nil),
  7067  		(*Filter_BetweenFilter)(nil),
  7068  	}
  7069  	file_google_analytics_data_v1alpha_data_proto_msgTypes[10].OneofWrappers = []interface{}{
  7070  		(*NumericValue_Int64Value)(nil),
  7071  		(*NumericValue_DoubleValue)(nil),
  7072  	}
  7073  	file_google_analytics_data_v1alpha_data_proto_msgTypes[14].OneofWrappers = []interface{}{
  7074  		(*DimensionValue_Value)(nil),
  7075  	}
  7076  	file_google_analytics_data_v1alpha_data_proto_msgTypes[15].OneofWrappers = []interface{}{
  7077  		(*MetricValue_Value)(nil),
  7078  	}
  7079  	file_google_analytics_data_v1alpha_data_proto_msgTypes[18].OneofWrappers = []interface{}{}
  7080  	file_google_analytics_data_v1alpha_data_proto_msgTypes[19].OneofWrappers = []interface{}{}
  7081  	file_google_analytics_data_v1alpha_data_proto_msgTypes[21].OneofWrappers = []interface{}{}
  7082  	file_google_analytics_data_v1alpha_data_proto_msgTypes[37].OneofWrappers = []interface{}{
  7083  		(*Segment_UserSegment)(nil),
  7084  		(*Segment_SessionSegment)(nil),
  7085  		(*Segment_EventSegment)(nil),
  7086  	}
  7087  	file_google_analytics_data_v1alpha_data_proto_msgTypes[38].OneofWrappers = []interface{}{
  7088  		(*SegmentFilterExpression_AndGroup)(nil),
  7089  		(*SegmentFilterExpression_OrGroup)(nil),
  7090  		(*SegmentFilterExpression_NotExpression)(nil),
  7091  		(*SegmentFilterExpression_SegmentFilter)(nil),
  7092  		(*SegmentFilterExpression_SegmentEventFilter)(nil),
  7093  	}
  7094  	file_google_analytics_data_v1alpha_data_proto_msgTypes[40].OneofWrappers = []interface{}{
  7095  		(*SegmentFilter_StringFilter)(nil),
  7096  		(*SegmentFilter_InListFilter)(nil),
  7097  		(*SegmentFilter_NumericFilter)(nil),
  7098  		(*SegmentFilter_BetweenFilter)(nil),
  7099  	}
  7100  	file_google_analytics_data_v1alpha_data_proto_msgTypes[41].OneofWrappers = []interface{}{}
  7101  	file_google_analytics_data_v1alpha_data_proto_msgTypes[42].OneofWrappers = []interface{}{}
  7102  	file_google_analytics_data_v1alpha_data_proto_msgTypes[43].OneofWrappers = []interface{}{
  7103  		(*SegmentParameterFilterExpression_AndGroup)(nil),
  7104  		(*SegmentParameterFilterExpression_OrGroup)(nil),
  7105  		(*SegmentParameterFilterExpression_NotExpression)(nil),
  7106  		(*SegmentParameterFilterExpression_SegmentParameterFilter)(nil),
  7107  	}
  7108  	file_google_analytics_data_v1alpha_data_proto_msgTypes[45].OneofWrappers = []interface{}{
  7109  		(*SegmentParameterFilter_EventParameterName)(nil),
  7110  		(*SegmentParameterFilter_ItemParameterName)(nil),
  7111  		(*SegmentParameterFilter_StringFilter)(nil),
  7112  		(*SegmentParameterFilter_InListFilter)(nil),
  7113  		(*SegmentParameterFilter_NumericFilter)(nil),
  7114  		(*SegmentParameterFilter_BetweenFilter)(nil),
  7115  	}
  7116  	file_google_analytics_data_v1alpha_data_proto_msgTypes[46].OneofWrappers = []interface{}{}
  7117  	file_google_analytics_data_v1alpha_data_proto_msgTypes[47].OneofWrappers = []interface{}{
  7118  		(*FunnelFilterExpression_AndGroup)(nil),
  7119  		(*FunnelFilterExpression_OrGroup)(nil),
  7120  		(*FunnelFilterExpression_NotExpression)(nil),
  7121  		(*FunnelFilterExpression_FunnelFieldFilter)(nil),
  7122  		(*FunnelFilterExpression_FunnelEventFilter)(nil),
  7123  	}
  7124  	file_google_analytics_data_v1alpha_data_proto_msgTypes[49].OneofWrappers = []interface{}{
  7125  		(*FunnelFieldFilter_StringFilter)(nil),
  7126  		(*FunnelFieldFilter_InListFilter)(nil),
  7127  		(*FunnelFieldFilter_NumericFilter)(nil),
  7128  		(*FunnelFieldFilter_BetweenFilter)(nil),
  7129  	}
  7130  	file_google_analytics_data_v1alpha_data_proto_msgTypes[50].OneofWrappers = []interface{}{}
  7131  	file_google_analytics_data_v1alpha_data_proto_msgTypes[51].OneofWrappers = []interface{}{
  7132  		(*FunnelParameterFilterExpression_AndGroup)(nil),
  7133  		(*FunnelParameterFilterExpression_OrGroup)(nil),
  7134  		(*FunnelParameterFilterExpression_NotExpression)(nil),
  7135  		(*FunnelParameterFilterExpression_FunnelParameterFilter)(nil),
  7136  	}
  7137  	file_google_analytics_data_v1alpha_data_proto_msgTypes[53].OneofWrappers = []interface{}{
  7138  		(*FunnelParameterFilter_EventParameterName)(nil),
  7139  		(*FunnelParameterFilter_ItemParameterName)(nil),
  7140  		(*FunnelParameterFilter_StringFilter)(nil),
  7141  		(*FunnelParameterFilter_InListFilter)(nil),
  7142  		(*FunnelParameterFilter_NumericFilter)(nil),
  7143  		(*FunnelParameterFilter_BetweenFilter)(nil),
  7144  	}
  7145  	type x struct{}
  7146  	out := protoimpl.TypeBuilder{
  7147  		File: protoimpl.DescBuilder{
  7148  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  7149  			RawDescriptor: file_google_analytics_data_v1alpha_data_proto_rawDesc,
  7150  			NumEnums:      9,
  7151  			NumMessages:   58,
  7152  			NumExtensions: 0,
  7153  			NumServices:   0,
  7154  		},
  7155  		GoTypes:           file_google_analytics_data_v1alpha_data_proto_goTypes,
  7156  		DependencyIndexes: file_google_analytics_data_v1alpha_data_proto_depIdxs,
  7157  		EnumInfos:         file_google_analytics_data_v1alpha_data_proto_enumTypes,
  7158  		MessageInfos:      file_google_analytics_data_v1alpha_data_proto_msgTypes,
  7159  	}.Build()
  7160  	File_google_analytics_data_v1alpha_data_proto = out.File
  7161  	file_google_analytics_data_v1alpha_data_proto_rawDesc = nil
  7162  	file_google_analytics_data_v1alpha_data_proto_goTypes = nil
  7163  	file_google_analytics_data_v1alpha_data_proto_depIdxs = nil
  7164  }
  7165  

View as plain text