github.com/osrg/gobgp/v3@v3.30.0/api/attribute.pb.go (about)

     1  // Copyright (C) 2018 Nippon Telegraph and Telephone Corporation.
     2  //
     3  // Permission is hereby granted, free of charge, to any person
     4  // obtaining a copy of this software and associated documentation files
     5  // (the "Software"), to deal in the Software without restriction,
     6  // including without limitation the rights to use, copy, modify, merge,
     7  // publish, distribute, sublicense, and/or sell copies of the Software,
     8  // and to permit persons to whom the Software is furnished to do so,
     9  // subject to the following conditions:
    10  //
    11  // The above copyright notice and this permission notice shall be
    12  // included in all copies or substantial portions of the Software.
    13  
    14  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    15  // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    16  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    17  // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    18  // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    19  // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    20  // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    21  
    22  // Code generated by protoc-gen-go. DO NOT EDIT.
    23  // versions:
    24  // 	protoc-gen-go v1.28.1
    25  // 	protoc        v3.21.12
    26  // source: attribute.proto
    27  
    28  package apipb
    29  
    30  import (
    31  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    32  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    33  	anypb "google.golang.org/protobuf/types/known/anypb"
    34  	reflect "reflect"
    35  	sync "sync"
    36  )
    37  
    38  const (
    39  	// Verify that this generated code is sufficiently up-to-date.
    40  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    41  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    42  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    43  )
    44  
    45  type LsOspfRouteType int32
    46  
    47  const (
    48  	LsOspfRouteType_LS_OSPF_ROUTE_TYPE_UNKNOWN    LsOspfRouteType = 0
    49  	LsOspfRouteType_LS_OSPF_ROUTE_TYPE_INTRA_AREA LsOspfRouteType = 1
    50  	LsOspfRouteType_LS_OSPF_ROUTE_TYPE_INTER_AREA LsOspfRouteType = 2
    51  	LsOspfRouteType_LS_OSPF_ROUTE_TYPE_EXTERNAL1  LsOspfRouteType = 3
    52  	LsOspfRouteType_LS_OSPF_ROUTE_TYPE_EXTERNAL2  LsOspfRouteType = 4
    53  	LsOspfRouteType_LS_OSPF_ROUTE_TYPE_NSSA1      LsOspfRouteType = 5
    54  	LsOspfRouteType_LS_OSPF_ROUTE_TYPE_NSSA2      LsOspfRouteType = 6
    55  )
    56  
    57  // Enum value maps for LsOspfRouteType.
    58  var (
    59  	LsOspfRouteType_name = map[int32]string{
    60  		0: "LS_OSPF_ROUTE_TYPE_UNKNOWN",
    61  		1: "LS_OSPF_ROUTE_TYPE_INTRA_AREA",
    62  		2: "LS_OSPF_ROUTE_TYPE_INTER_AREA",
    63  		3: "LS_OSPF_ROUTE_TYPE_EXTERNAL1",
    64  		4: "LS_OSPF_ROUTE_TYPE_EXTERNAL2",
    65  		5: "LS_OSPF_ROUTE_TYPE_NSSA1",
    66  		6: "LS_OSPF_ROUTE_TYPE_NSSA2",
    67  	}
    68  	LsOspfRouteType_value = map[string]int32{
    69  		"LS_OSPF_ROUTE_TYPE_UNKNOWN":    0,
    70  		"LS_OSPF_ROUTE_TYPE_INTRA_AREA": 1,
    71  		"LS_OSPF_ROUTE_TYPE_INTER_AREA": 2,
    72  		"LS_OSPF_ROUTE_TYPE_EXTERNAL1":  3,
    73  		"LS_OSPF_ROUTE_TYPE_EXTERNAL2":  4,
    74  		"LS_OSPF_ROUTE_TYPE_NSSA1":      5,
    75  		"LS_OSPF_ROUTE_TYPE_NSSA2":      6,
    76  	}
    77  )
    78  
    79  func (x LsOspfRouteType) Enum() *LsOspfRouteType {
    80  	p := new(LsOspfRouteType)
    81  	*p = x
    82  	return p
    83  }
    84  
    85  func (x LsOspfRouteType) String() string {
    86  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    87  }
    88  
    89  func (LsOspfRouteType) Descriptor() protoreflect.EnumDescriptor {
    90  	return file_attribute_proto_enumTypes[0].Descriptor()
    91  }
    92  
    93  func (LsOspfRouteType) Type() protoreflect.EnumType {
    94  	return &file_attribute_proto_enumTypes[0]
    95  }
    96  
    97  func (x LsOspfRouteType) Number() protoreflect.EnumNumber {
    98  	return protoreflect.EnumNumber(x)
    99  }
   100  
   101  // Deprecated: Use LsOspfRouteType.Descriptor instead.
   102  func (LsOspfRouteType) EnumDescriptor() ([]byte, []int) {
   103  	return file_attribute_proto_rawDescGZIP(), []int{0}
   104  }
   105  
   106  // Based om RFC 7752, Table 1.
   107  type LsNLRIType int32
   108  
   109  const (
   110  	LsNLRIType_LS_NLRI_UNKNOWN   LsNLRIType = 0
   111  	LsNLRIType_LS_NLRI_NODE      LsNLRIType = 1
   112  	LsNLRIType_LS_NLRI_LINK      LsNLRIType = 2
   113  	LsNLRIType_LS_NLRI_PREFIX_V4 LsNLRIType = 3
   114  	LsNLRIType_LS_NLRI_PREFIX_V6 LsNLRIType = 4
   115  )
   116  
   117  // Enum value maps for LsNLRIType.
   118  var (
   119  	LsNLRIType_name = map[int32]string{
   120  		0: "LS_NLRI_UNKNOWN",
   121  		1: "LS_NLRI_NODE",
   122  		2: "LS_NLRI_LINK",
   123  		3: "LS_NLRI_PREFIX_V4",
   124  		4: "LS_NLRI_PREFIX_V6",
   125  	}
   126  	LsNLRIType_value = map[string]int32{
   127  		"LS_NLRI_UNKNOWN":   0,
   128  		"LS_NLRI_NODE":      1,
   129  		"LS_NLRI_LINK":      2,
   130  		"LS_NLRI_PREFIX_V4": 3,
   131  		"LS_NLRI_PREFIX_V6": 4,
   132  	}
   133  )
   134  
   135  func (x LsNLRIType) Enum() *LsNLRIType {
   136  	p := new(LsNLRIType)
   137  	*p = x
   138  	return p
   139  }
   140  
   141  func (x LsNLRIType) String() string {
   142  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   143  }
   144  
   145  func (LsNLRIType) Descriptor() protoreflect.EnumDescriptor {
   146  	return file_attribute_proto_enumTypes[1].Descriptor()
   147  }
   148  
   149  func (LsNLRIType) Type() protoreflect.EnumType {
   150  	return &file_attribute_proto_enumTypes[1]
   151  }
   152  
   153  func (x LsNLRIType) Number() protoreflect.EnumNumber {
   154  	return protoreflect.EnumNumber(x)
   155  }
   156  
   157  // Deprecated: Use LsNLRIType.Descriptor instead.
   158  func (LsNLRIType) EnumDescriptor() ([]byte, []int) {
   159  	return file_attribute_proto_rawDescGZIP(), []int{1}
   160  }
   161  
   162  type LsProtocolID int32
   163  
   164  const (
   165  	LsProtocolID_LS_PROTOCOL_UNKNOWN LsProtocolID = 0
   166  	LsProtocolID_LS_PROTOCOL_ISIS_L1 LsProtocolID = 1
   167  	LsProtocolID_LS_PROTOCOL_ISIS_L2 LsProtocolID = 2
   168  	LsProtocolID_LS_PROTOCOL_OSPF_V2 LsProtocolID = 3
   169  	LsProtocolID_LS_PROTOCOL_DIRECT  LsProtocolID = 4
   170  	LsProtocolID_LS_PROTOCOL_STATIC  LsProtocolID = 5
   171  	LsProtocolID_LS_PROTOCOL_OSPF_V3 LsProtocolID = 6
   172  )
   173  
   174  // Enum value maps for LsProtocolID.
   175  var (
   176  	LsProtocolID_name = map[int32]string{
   177  		0: "LS_PROTOCOL_UNKNOWN",
   178  		1: "LS_PROTOCOL_ISIS_L1",
   179  		2: "LS_PROTOCOL_ISIS_L2",
   180  		3: "LS_PROTOCOL_OSPF_V2",
   181  		4: "LS_PROTOCOL_DIRECT",
   182  		5: "LS_PROTOCOL_STATIC",
   183  		6: "LS_PROTOCOL_OSPF_V3",
   184  	}
   185  	LsProtocolID_value = map[string]int32{
   186  		"LS_PROTOCOL_UNKNOWN": 0,
   187  		"LS_PROTOCOL_ISIS_L1": 1,
   188  		"LS_PROTOCOL_ISIS_L2": 2,
   189  		"LS_PROTOCOL_OSPF_V2": 3,
   190  		"LS_PROTOCOL_DIRECT":  4,
   191  		"LS_PROTOCOL_STATIC":  5,
   192  		"LS_PROTOCOL_OSPF_V3": 6,
   193  	}
   194  )
   195  
   196  func (x LsProtocolID) Enum() *LsProtocolID {
   197  	p := new(LsProtocolID)
   198  	*p = x
   199  	return p
   200  }
   201  
   202  func (x LsProtocolID) String() string {
   203  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   204  }
   205  
   206  func (LsProtocolID) Descriptor() protoreflect.EnumDescriptor {
   207  	return file_attribute_proto_enumTypes[2].Descriptor()
   208  }
   209  
   210  func (LsProtocolID) Type() protoreflect.EnumType {
   211  	return &file_attribute_proto_enumTypes[2]
   212  }
   213  
   214  func (x LsProtocolID) Number() protoreflect.EnumNumber {
   215  	return protoreflect.EnumNumber(x)
   216  }
   217  
   218  // Deprecated: Use LsProtocolID.Descriptor instead.
   219  func (LsProtocolID) EnumDescriptor() ([]byte, []int) {
   220  	return file_attribute_proto_rawDescGZIP(), []int{2}
   221  }
   222  
   223  type SRv6Behavior int32
   224  
   225  const (
   226  	SRv6Behavior_RESERVED              SRv6Behavior = 0
   227  	SRv6Behavior_END                   SRv6Behavior = 1
   228  	SRv6Behavior_END_WITH_PSP          SRv6Behavior = 2
   229  	SRv6Behavior_END_WITH_USP          SRv6Behavior = 3
   230  	SRv6Behavior_END_WITH_PSP_USP      SRv6Behavior = 4
   231  	SRv6Behavior_ENDX                  SRv6Behavior = 5
   232  	SRv6Behavior_ENDX_WITH_PSP         SRv6Behavior = 6
   233  	SRv6Behavior_ENDX_WITH_USP         SRv6Behavior = 7
   234  	SRv6Behavior_ENDX_WITH_PSP_USP     SRv6Behavior = 8
   235  	SRv6Behavior_ENDT                  SRv6Behavior = 9
   236  	SRv6Behavior_ENDT_WITH_PSP         SRv6Behavior = 10
   237  	SRv6Behavior_ENDT_WITH_USP         SRv6Behavior = 11
   238  	SRv6Behavior_ENDT_WITH_PSP_USP     SRv6Behavior = 12
   239  	SRv6Behavior_END_B6_ENCAPS         SRv6Behavior = 14
   240  	SRv6Behavior_END_BM                SRv6Behavior = 15
   241  	SRv6Behavior_END_DX6               SRv6Behavior = 16
   242  	SRv6Behavior_END_DX4               SRv6Behavior = 17
   243  	SRv6Behavior_END_DT6               SRv6Behavior = 18
   244  	SRv6Behavior_END_DT4               SRv6Behavior = 19
   245  	SRv6Behavior_END_DT46              SRv6Behavior = 20
   246  	SRv6Behavior_END_DX2               SRv6Behavior = 21
   247  	SRv6Behavior_END_DX2V              SRv6Behavior = 22
   248  	SRv6Behavior_END_DT2U              SRv6Behavior = 23
   249  	SRv6Behavior_END_DT2M              SRv6Behavior = 24
   250  	SRv6Behavior_END_B6_ENCAPS_Red     SRv6Behavior = 27
   251  	SRv6Behavior_END_WITH_USD          SRv6Behavior = 28
   252  	SRv6Behavior_END_WITH_PSP_USD      SRv6Behavior = 29
   253  	SRv6Behavior_END_WITH_USP_USD      SRv6Behavior = 30
   254  	SRv6Behavior_END_WITH_PSP_USP_USD  SRv6Behavior = 31
   255  	SRv6Behavior_ENDX_WITH_USD         SRv6Behavior = 32
   256  	SRv6Behavior_ENDX_WITH_PSP_USD     SRv6Behavior = 33
   257  	SRv6Behavior_ENDX_WITH_USP_USD     SRv6Behavior = 34
   258  	SRv6Behavior_ENDX_WITH_PSP_USP_USD SRv6Behavior = 35
   259  	SRv6Behavior_ENDT_WITH_USD         SRv6Behavior = 36
   260  	SRv6Behavior_ENDT_WITH_PSP_USD     SRv6Behavior = 37
   261  	SRv6Behavior_ENDT_WITH_USP_USD     SRv6Behavior = 38
   262  	SRv6Behavior_ENDT_WITH_PSP_USP_USD SRv6Behavior = 39
   263  	SRv6Behavior_ENDM_GTP6D            SRv6Behavior = 69 // 0x0045
   264  	SRv6Behavior_ENDM_GTP6DI           SRv6Behavior = 70 // 0x0046
   265  	SRv6Behavior_ENDM_GTP6E            SRv6Behavior = 71 // 0x0047
   266  	SRv6Behavior_ENDM_GTP4E            SRv6Behavior = 72 // 0x0048
   267  )
   268  
   269  // Enum value maps for SRv6Behavior.
   270  var (
   271  	SRv6Behavior_name = map[int32]string{
   272  		0:  "RESERVED",
   273  		1:  "END",
   274  		2:  "END_WITH_PSP",
   275  		3:  "END_WITH_USP",
   276  		4:  "END_WITH_PSP_USP",
   277  		5:  "ENDX",
   278  		6:  "ENDX_WITH_PSP",
   279  		7:  "ENDX_WITH_USP",
   280  		8:  "ENDX_WITH_PSP_USP",
   281  		9:  "ENDT",
   282  		10: "ENDT_WITH_PSP",
   283  		11: "ENDT_WITH_USP",
   284  		12: "ENDT_WITH_PSP_USP",
   285  		14: "END_B6_ENCAPS",
   286  		15: "END_BM",
   287  		16: "END_DX6",
   288  		17: "END_DX4",
   289  		18: "END_DT6",
   290  		19: "END_DT4",
   291  		20: "END_DT46",
   292  		21: "END_DX2",
   293  		22: "END_DX2V",
   294  		23: "END_DT2U",
   295  		24: "END_DT2M",
   296  		27: "END_B6_ENCAPS_Red",
   297  		28: "END_WITH_USD",
   298  		29: "END_WITH_PSP_USD",
   299  		30: "END_WITH_USP_USD",
   300  		31: "END_WITH_PSP_USP_USD",
   301  		32: "ENDX_WITH_USD",
   302  		33: "ENDX_WITH_PSP_USD",
   303  		34: "ENDX_WITH_USP_USD",
   304  		35: "ENDX_WITH_PSP_USP_USD",
   305  		36: "ENDT_WITH_USD",
   306  		37: "ENDT_WITH_PSP_USD",
   307  		38: "ENDT_WITH_USP_USD",
   308  		39: "ENDT_WITH_PSP_USP_USD",
   309  		69: "ENDM_GTP6D",
   310  		70: "ENDM_GTP6DI",
   311  		71: "ENDM_GTP6E",
   312  		72: "ENDM_GTP4E",
   313  	}
   314  	SRv6Behavior_value = map[string]int32{
   315  		"RESERVED":              0,
   316  		"END":                   1,
   317  		"END_WITH_PSP":          2,
   318  		"END_WITH_USP":          3,
   319  		"END_WITH_PSP_USP":      4,
   320  		"ENDX":                  5,
   321  		"ENDX_WITH_PSP":         6,
   322  		"ENDX_WITH_USP":         7,
   323  		"ENDX_WITH_PSP_USP":     8,
   324  		"ENDT":                  9,
   325  		"ENDT_WITH_PSP":         10,
   326  		"ENDT_WITH_USP":         11,
   327  		"ENDT_WITH_PSP_USP":     12,
   328  		"END_B6_ENCAPS":         14,
   329  		"END_BM":                15,
   330  		"END_DX6":               16,
   331  		"END_DX4":               17,
   332  		"END_DT6":               18,
   333  		"END_DT4":               19,
   334  		"END_DT46":              20,
   335  		"END_DX2":               21,
   336  		"END_DX2V":              22,
   337  		"END_DT2U":              23,
   338  		"END_DT2M":              24,
   339  		"END_B6_ENCAPS_Red":     27,
   340  		"END_WITH_USD":          28,
   341  		"END_WITH_PSP_USD":      29,
   342  		"END_WITH_USP_USD":      30,
   343  		"END_WITH_PSP_USP_USD":  31,
   344  		"ENDX_WITH_USD":         32,
   345  		"ENDX_WITH_PSP_USD":     33,
   346  		"ENDX_WITH_USP_USD":     34,
   347  		"ENDX_WITH_PSP_USP_USD": 35,
   348  		"ENDT_WITH_USD":         36,
   349  		"ENDT_WITH_PSP_USD":     37,
   350  		"ENDT_WITH_USP_USD":     38,
   351  		"ENDT_WITH_PSP_USP_USD": 39,
   352  		"ENDM_GTP6D":            69,
   353  		"ENDM_GTP6DI":           70,
   354  		"ENDM_GTP6E":            71,
   355  		"ENDM_GTP4E":            72,
   356  	}
   357  )
   358  
   359  func (x SRv6Behavior) Enum() *SRv6Behavior {
   360  	p := new(SRv6Behavior)
   361  	*p = x
   362  	return p
   363  }
   364  
   365  func (x SRv6Behavior) String() string {
   366  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   367  }
   368  
   369  func (SRv6Behavior) Descriptor() protoreflect.EnumDescriptor {
   370  	return file_attribute_proto_enumTypes[3].Descriptor()
   371  }
   372  
   373  func (SRv6Behavior) Type() protoreflect.EnumType {
   374  	return &file_attribute_proto_enumTypes[3]
   375  }
   376  
   377  func (x SRv6Behavior) Number() protoreflect.EnumNumber {
   378  	return protoreflect.EnumNumber(x)
   379  }
   380  
   381  // Deprecated: Use SRv6Behavior.Descriptor instead.
   382  func (SRv6Behavior) EnumDescriptor() ([]byte, []int) {
   383  	return file_attribute_proto_rawDescGZIP(), []int{3}
   384  }
   385  
   386  type ENLPType int32
   387  
   388  const (
   389  	ENLPType_Reserved ENLPType = 0
   390  	ENLPType_Type1    ENLPType = 1
   391  	ENLPType_Type2    ENLPType = 2
   392  	ENLPType_Type3    ENLPType = 3
   393  	ENLPType_Type4    ENLPType = 4
   394  )
   395  
   396  // Enum value maps for ENLPType.
   397  var (
   398  	ENLPType_name = map[int32]string{
   399  		0: "Reserved",
   400  		1: "Type1",
   401  		2: "Type2",
   402  		3: "Type3",
   403  		4: "Type4",
   404  	}
   405  	ENLPType_value = map[string]int32{
   406  		"Reserved": 0,
   407  		"Type1":    1,
   408  		"Type2":    2,
   409  		"Type3":    3,
   410  		"Type4":    4,
   411  	}
   412  )
   413  
   414  func (x ENLPType) Enum() *ENLPType {
   415  	p := new(ENLPType)
   416  	*p = x
   417  	return p
   418  }
   419  
   420  func (x ENLPType) String() string {
   421  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   422  }
   423  
   424  func (ENLPType) Descriptor() protoreflect.EnumDescriptor {
   425  	return file_attribute_proto_enumTypes[4].Descriptor()
   426  }
   427  
   428  func (ENLPType) Type() protoreflect.EnumType {
   429  	return &file_attribute_proto_enumTypes[4]
   430  }
   431  
   432  func (x ENLPType) Number() protoreflect.EnumNumber {
   433  	return protoreflect.EnumNumber(x)
   434  }
   435  
   436  // Deprecated: Use ENLPType.Descriptor instead.
   437  func (ENLPType) EnumDescriptor() ([]byte, []int) {
   438  	return file_attribute_proto_rawDescGZIP(), []int{4}
   439  }
   440  
   441  type AsSegment_Type int32
   442  
   443  const (
   444  	AsSegment_UNKNOWN            AsSegment_Type = 0
   445  	AsSegment_AS_SET             AsSegment_Type = 1
   446  	AsSegment_AS_SEQUENCE        AsSegment_Type = 2
   447  	AsSegment_AS_CONFED_SEQUENCE AsSegment_Type = 3
   448  	AsSegment_AS_CONFED_SET      AsSegment_Type = 4
   449  )
   450  
   451  // Enum value maps for AsSegment_Type.
   452  var (
   453  	AsSegment_Type_name = map[int32]string{
   454  		0: "UNKNOWN",
   455  		1: "AS_SET",
   456  		2: "AS_SEQUENCE",
   457  		3: "AS_CONFED_SEQUENCE",
   458  		4: "AS_CONFED_SET",
   459  	}
   460  	AsSegment_Type_value = map[string]int32{
   461  		"UNKNOWN":            0,
   462  		"AS_SET":             1,
   463  		"AS_SEQUENCE":        2,
   464  		"AS_CONFED_SEQUENCE": 3,
   465  		"AS_CONFED_SET":      4,
   466  	}
   467  )
   468  
   469  func (x AsSegment_Type) Enum() *AsSegment_Type {
   470  	p := new(AsSegment_Type)
   471  	*p = x
   472  	return p
   473  }
   474  
   475  func (x AsSegment_Type) String() string {
   476  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   477  }
   478  
   479  func (AsSegment_Type) Descriptor() protoreflect.EnumDescriptor {
   480  	return file_attribute_proto_enumTypes[5].Descriptor()
   481  }
   482  
   483  func (AsSegment_Type) Type() protoreflect.EnumType {
   484  	return &file_attribute_proto_enumTypes[5]
   485  }
   486  
   487  func (x AsSegment_Type) Number() protoreflect.EnumNumber {
   488  	return protoreflect.EnumNumber(x)
   489  }
   490  
   491  // Deprecated: Use AsSegment_Type.Descriptor instead.
   492  func (AsSegment_Type) EnumDescriptor() ([]byte, []int) {
   493  	return file_attribute_proto_rawDescGZIP(), []int{1, 0}
   494  }
   495  
   496  type OriginAttribute struct {
   497  	state         protoimpl.MessageState
   498  	sizeCache     protoimpl.SizeCache
   499  	unknownFields protoimpl.UnknownFields
   500  
   501  	Origin uint32 `protobuf:"varint,1,opt,name=origin,proto3" json:"origin,omitempty"`
   502  }
   503  
   504  func (x *OriginAttribute) Reset() {
   505  	*x = OriginAttribute{}
   506  	if protoimpl.UnsafeEnabled {
   507  		mi := &file_attribute_proto_msgTypes[0]
   508  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   509  		ms.StoreMessageInfo(mi)
   510  	}
   511  }
   512  
   513  func (x *OriginAttribute) String() string {
   514  	return protoimpl.X.MessageStringOf(x)
   515  }
   516  
   517  func (*OriginAttribute) ProtoMessage() {}
   518  
   519  func (x *OriginAttribute) ProtoReflect() protoreflect.Message {
   520  	mi := &file_attribute_proto_msgTypes[0]
   521  	if protoimpl.UnsafeEnabled && x != nil {
   522  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   523  		if ms.LoadMessageInfo() == nil {
   524  			ms.StoreMessageInfo(mi)
   525  		}
   526  		return ms
   527  	}
   528  	return mi.MessageOf(x)
   529  }
   530  
   531  // Deprecated: Use OriginAttribute.ProtoReflect.Descriptor instead.
   532  func (*OriginAttribute) Descriptor() ([]byte, []int) {
   533  	return file_attribute_proto_rawDescGZIP(), []int{0}
   534  }
   535  
   536  func (x *OriginAttribute) GetOrigin() uint32 {
   537  	if x != nil {
   538  		return x.Origin
   539  	}
   540  	return 0
   541  }
   542  
   543  type AsSegment struct {
   544  	state         protoimpl.MessageState
   545  	sizeCache     protoimpl.SizeCache
   546  	unknownFields protoimpl.UnknownFields
   547  
   548  	Type    AsSegment_Type `protobuf:"varint,1,opt,name=type,proto3,enum=apipb.AsSegment_Type" json:"type,omitempty"`
   549  	Numbers []uint32       `protobuf:"varint,2,rep,packed,name=numbers,proto3" json:"numbers,omitempty"`
   550  }
   551  
   552  func (x *AsSegment) Reset() {
   553  	*x = AsSegment{}
   554  	if protoimpl.UnsafeEnabled {
   555  		mi := &file_attribute_proto_msgTypes[1]
   556  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   557  		ms.StoreMessageInfo(mi)
   558  	}
   559  }
   560  
   561  func (x *AsSegment) String() string {
   562  	return protoimpl.X.MessageStringOf(x)
   563  }
   564  
   565  func (*AsSegment) ProtoMessage() {}
   566  
   567  func (x *AsSegment) ProtoReflect() protoreflect.Message {
   568  	mi := &file_attribute_proto_msgTypes[1]
   569  	if protoimpl.UnsafeEnabled && x != nil {
   570  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   571  		if ms.LoadMessageInfo() == nil {
   572  			ms.StoreMessageInfo(mi)
   573  		}
   574  		return ms
   575  	}
   576  	return mi.MessageOf(x)
   577  }
   578  
   579  // Deprecated: Use AsSegment.ProtoReflect.Descriptor instead.
   580  func (*AsSegment) Descriptor() ([]byte, []int) {
   581  	return file_attribute_proto_rawDescGZIP(), []int{1}
   582  }
   583  
   584  func (x *AsSegment) GetType() AsSegment_Type {
   585  	if x != nil {
   586  		return x.Type
   587  	}
   588  	return AsSegment_UNKNOWN
   589  }
   590  
   591  func (x *AsSegment) GetNumbers() []uint32 {
   592  	if x != nil {
   593  		return x.Numbers
   594  	}
   595  	return nil
   596  }
   597  
   598  type AsPathAttribute struct {
   599  	state         protoimpl.MessageState
   600  	sizeCache     protoimpl.SizeCache
   601  	unknownFields protoimpl.UnknownFields
   602  
   603  	Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"`
   604  }
   605  
   606  func (x *AsPathAttribute) Reset() {
   607  	*x = AsPathAttribute{}
   608  	if protoimpl.UnsafeEnabled {
   609  		mi := &file_attribute_proto_msgTypes[2]
   610  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   611  		ms.StoreMessageInfo(mi)
   612  	}
   613  }
   614  
   615  func (x *AsPathAttribute) String() string {
   616  	return protoimpl.X.MessageStringOf(x)
   617  }
   618  
   619  func (*AsPathAttribute) ProtoMessage() {}
   620  
   621  func (x *AsPathAttribute) ProtoReflect() protoreflect.Message {
   622  	mi := &file_attribute_proto_msgTypes[2]
   623  	if protoimpl.UnsafeEnabled && x != nil {
   624  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   625  		if ms.LoadMessageInfo() == nil {
   626  			ms.StoreMessageInfo(mi)
   627  		}
   628  		return ms
   629  	}
   630  	return mi.MessageOf(x)
   631  }
   632  
   633  // Deprecated: Use AsPathAttribute.ProtoReflect.Descriptor instead.
   634  func (*AsPathAttribute) Descriptor() ([]byte, []int) {
   635  	return file_attribute_proto_rawDescGZIP(), []int{2}
   636  }
   637  
   638  func (x *AsPathAttribute) GetSegments() []*AsSegment {
   639  	if x != nil {
   640  		return x.Segments
   641  	}
   642  	return nil
   643  }
   644  
   645  type NextHopAttribute struct {
   646  	state         protoimpl.MessageState
   647  	sizeCache     protoimpl.SizeCache
   648  	unknownFields protoimpl.UnknownFields
   649  
   650  	NextHop string `protobuf:"bytes,1,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"`
   651  }
   652  
   653  func (x *NextHopAttribute) Reset() {
   654  	*x = NextHopAttribute{}
   655  	if protoimpl.UnsafeEnabled {
   656  		mi := &file_attribute_proto_msgTypes[3]
   657  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   658  		ms.StoreMessageInfo(mi)
   659  	}
   660  }
   661  
   662  func (x *NextHopAttribute) String() string {
   663  	return protoimpl.X.MessageStringOf(x)
   664  }
   665  
   666  func (*NextHopAttribute) ProtoMessage() {}
   667  
   668  func (x *NextHopAttribute) ProtoReflect() protoreflect.Message {
   669  	mi := &file_attribute_proto_msgTypes[3]
   670  	if protoimpl.UnsafeEnabled && x != nil {
   671  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   672  		if ms.LoadMessageInfo() == nil {
   673  			ms.StoreMessageInfo(mi)
   674  		}
   675  		return ms
   676  	}
   677  	return mi.MessageOf(x)
   678  }
   679  
   680  // Deprecated: Use NextHopAttribute.ProtoReflect.Descriptor instead.
   681  func (*NextHopAttribute) Descriptor() ([]byte, []int) {
   682  	return file_attribute_proto_rawDescGZIP(), []int{3}
   683  }
   684  
   685  func (x *NextHopAttribute) GetNextHop() string {
   686  	if x != nil {
   687  		return x.NextHop
   688  	}
   689  	return ""
   690  }
   691  
   692  type MultiExitDiscAttribute struct {
   693  	state         protoimpl.MessageState
   694  	sizeCache     protoimpl.SizeCache
   695  	unknownFields protoimpl.UnknownFields
   696  
   697  	Med uint32 `protobuf:"varint,1,opt,name=med,proto3" json:"med,omitempty"`
   698  }
   699  
   700  func (x *MultiExitDiscAttribute) Reset() {
   701  	*x = MultiExitDiscAttribute{}
   702  	if protoimpl.UnsafeEnabled {
   703  		mi := &file_attribute_proto_msgTypes[4]
   704  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   705  		ms.StoreMessageInfo(mi)
   706  	}
   707  }
   708  
   709  func (x *MultiExitDiscAttribute) String() string {
   710  	return protoimpl.X.MessageStringOf(x)
   711  }
   712  
   713  func (*MultiExitDiscAttribute) ProtoMessage() {}
   714  
   715  func (x *MultiExitDiscAttribute) ProtoReflect() protoreflect.Message {
   716  	mi := &file_attribute_proto_msgTypes[4]
   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 MultiExitDiscAttribute.ProtoReflect.Descriptor instead.
   728  func (*MultiExitDiscAttribute) Descriptor() ([]byte, []int) {
   729  	return file_attribute_proto_rawDescGZIP(), []int{4}
   730  }
   731  
   732  func (x *MultiExitDiscAttribute) GetMed() uint32 {
   733  	if x != nil {
   734  		return x.Med
   735  	}
   736  	return 0
   737  }
   738  
   739  type LocalPrefAttribute struct {
   740  	state         protoimpl.MessageState
   741  	sizeCache     protoimpl.SizeCache
   742  	unknownFields protoimpl.UnknownFields
   743  
   744  	LocalPref uint32 `protobuf:"varint,1,opt,name=local_pref,json=localPref,proto3" json:"local_pref,omitempty"`
   745  }
   746  
   747  func (x *LocalPrefAttribute) Reset() {
   748  	*x = LocalPrefAttribute{}
   749  	if protoimpl.UnsafeEnabled {
   750  		mi := &file_attribute_proto_msgTypes[5]
   751  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   752  		ms.StoreMessageInfo(mi)
   753  	}
   754  }
   755  
   756  func (x *LocalPrefAttribute) String() string {
   757  	return protoimpl.X.MessageStringOf(x)
   758  }
   759  
   760  func (*LocalPrefAttribute) ProtoMessage() {}
   761  
   762  func (x *LocalPrefAttribute) ProtoReflect() protoreflect.Message {
   763  	mi := &file_attribute_proto_msgTypes[5]
   764  	if protoimpl.UnsafeEnabled && x != nil {
   765  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   766  		if ms.LoadMessageInfo() == nil {
   767  			ms.StoreMessageInfo(mi)
   768  		}
   769  		return ms
   770  	}
   771  	return mi.MessageOf(x)
   772  }
   773  
   774  // Deprecated: Use LocalPrefAttribute.ProtoReflect.Descriptor instead.
   775  func (*LocalPrefAttribute) Descriptor() ([]byte, []int) {
   776  	return file_attribute_proto_rawDescGZIP(), []int{5}
   777  }
   778  
   779  func (x *LocalPrefAttribute) GetLocalPref() uint32 {
   780  	if x != nil {
   781  		return x.LocalPref
   782  	}
   783  	return 0
   784  }
   785  
   786  type AtomicAggregateAttribute struct {
   787  	state         protoimpl.MessageState
   788  	sizeCache     protoimpl.SizeCache
   789  	unknownFields protoimpl.UnknownFields
   790  }
   791  
   792  func (x *AtomicAggregateAttribute) Reset() {
   793  	*x = AtomicAggregateAttribute{}
   794  	if protoimpl.UnsafeEnabled {
   795  		mi := &file_attribute_proto_msgTypes[6]
   796  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   797  		ms.StoreMessageInfo(mi)
   798  	}
   799  }
   800  
   801  func (x *AtomicAggregateAttribute) String() string {
   802  	return protoimpl.X.MessageStringOf(x)
   803  }
   804  
   805  func (*AtomicAggregateAttribute) ProtoMessage() {}
   806  
   807  func (x *AtomicAggregateAttribute) ProtoReflect() protoreflect.Message {
   808  	mi := &file_attribute_proto_msgTypes[6]
   809  	if protoimpl.UnsafeEnabled && x != nil {
   810  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   811  		if ms.LoadMessageInfo() == nil {
   812  			ms.StoreMessageInfo(mi)
   813  		}
   814  		return ms
   815  	}
   816  	return mi.MessageOf(x)
   817  }
   818  
   819  // Deprecated: Use AtomicAggregateAttribute.ProtoReflect.Descriptor instead.
   820  func (*AtomicAggregateAttribute) Descriptor() ([]byte, []int) {
   821  	return file_attribute_proto_rawDescGZIP(), []int{6}
   822  }
   823  
   824  type AggregatorAttribute struct {
   825  	state         protoimpl.MessageState
   826  	sizeCache     protoimpl.SizeCache
   827  	unknownFields protoimpl.UnknownFields
   828  
   829  	Asn     uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"`
   830  	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
   831  }
   832  
   833  func (x *AggregatorAttribute) Reset() {
   834  	*x = AggregatorAttribute{}
   835  	if protoimpl.UnsafeEnabled {
   836  		mi := &file_attribute_proto_msgTypes[7]
   837  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   838  		ms.StoreMessageInfo(mi)
   839  	}
   840  }
   841  
   842  func (x *AggregatorAttribute) String() string {
   843  	return protoimpl.X.MessageStringOf(x)
   844  }
   845  
   846  func (*AggregatorAttribute) ProtoMessage() {}
   847  
   848  func (x *AggregatorAttribute) ProtoReflect() protoreflect.Message {
   849  	mi := &file_attribute_proto_msgTypes[7]
   850  	if protoimpl.UnsafeEnabled && x != nil {
   851  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   852  		if ms.LoadMessageInfo() == nil {
   853  			ms.StoreMessageInfo(mi)
   854  		}
   855  		return ms
   856  	}
   857  	return mi.MessageOf(x)
   858  }
   859  
   860  // Deprecated: Use AggregatorAttribute.ProtoReflect.Descriptor instead.
   861  func (*AggregatorAttribute) Descriptor() ([]byte, []int) {
   862  	return file_attribute_proto_rawDescGZIP(), []int{7}
   863  }
   864  
   865  func (x *AggregatorAttribute) GetAsn() uint32 {
   866  	if x != nil {
   867  		return x.Asn
   868  	}
   869  	return 0
   870  }
   871  
   872  func (x *AggregatorAttribute) GetAddress() string {
   873  	if x != nil {
   874  		return x.Address
   875  	}
   876  	return ""
   877  }
   878  
   879  type CommunitiesAttribute struct {
   880  	state         protoimpl.MessageState
   881  	sizeCache     protoimpl.SizeCache
   882  	unknownFields protoimpl.UnknownFields
   883  
   884  	Communities []uint32 `protobuf:"varint,1,rep,packed,name=communities,proto3" json:"communities,omitempty"`
   885  }
   886  
   887  func (x *CommunitiesAttribute) Reset() {
   888  	*x = CommunitiesAttribute{}
   889  	if protoimpl.UnsafeEnabled {
   890  		mi := &file_attribute_proto_msgTypes[8]
   891  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   892  		ms.StoreMessageInfo(mi)
   893  	}
   894  }
   895  
   896  func (x *CommunitiesAttribute) String() string {
   897  	return protoimpl.X.MessageStringOf(x)
   898  }
   899  
   900  func (*CommunitiesAttribute) ProtoMessage() {}
   901  
   902  func (x *CommunitiesAttribute) ProtoReflect() protoreflect.Message {
   903  	mi := &file_attribute_proto_msgTypes[8]
   904  	if protoimpl.UnsafeEnabled && x != nil {
   905  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   906  		if ms.LoadMessageInfo() == nil {
   907  			ms.StoreMessageInfo(mi)
   908  		}
   909  		return ms
   910  	}
   911  	return mi.MessageOf(x)
   912  }
   913  
   914  // Deprecated: Use CommunitiesAttribute.ProtoReflect.Descriptor instead.
   915  func (*CommunitiesAttribute) Descriptor() ([]byte, []int) {
   916  	return file_attribute_proto_rawDescGZIP(), []int{8}
   917  }
   918  
   919  func (x *CommunitiesAttribute) GetCommunities() []uint32 {
   920  	if x != nil {
   921  		return x.Communities
   922  	}
   923  	return nil
   924  }
   925  
   926  type OriginatorIdAttribute struct {
   927  	state         protoimpl.MessageState
   928  	sizeCache     protoimpl.SizeCache
   929  	unknownFields protoimpl.UnknownFields
   930  
   931  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   932  }
   933  
   934  func (x *OriginatorIdAttribute) Reset() {
   935  	*x = OriginatorIdAttribute{}
   936  	if protoimpl.UnsafeEnabled {
   937  		mi := &file_attribute_proto_msgTypes[9]
   938  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   939  		ms.StoreMessageInfo(mi)
   940  	}
   941  }
   942  
   943  func (x *OriginatorIdAttribute) String() string {
   944  	return protoimpl.X.MessageStringOf(x)
   945  }
   946  
   947  func (*OriginatorIdAttribute) ProtoMessage() {}
   948  
   949  func (x *OriginatorIdAttribute) ProtoReflect() protoreflect.Message {
   950  	mi := &file_attribute_proto_msgTypes[9]
   951  	if protoimpl.UnsafeEnabled && x != nil {
   952  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   953  		if ms.LoadMessageInfo() == nil {
   954  			ms.StoreMessageInfo(mi)
   955  		}
   956  		return ms
   957  	}
   958  	return mi.MessageOf(x)
   959  }
   960  
   961  // Deprecated: Use OriginatorIdAttribute.ProtoReflect.Descriptor instead.
   962  func (*OriginatorIdAttribute) Descriptor() ([]byte, []int) {
   963  	return file_attribute_proto_rawDescGZIP(), []int{9}
   964  }
   965  
   966  func (x *OriginatorIdAttribute) GetId() string {
   967  	if x != nil {
   968  		return x.Id
   969  	}
   970  	return ""
   971  }
   972  
   973  type ClusterListAttribute struct {
   974  	state         protoimpl.MessageState
   975  	sizeCache     protoimpl.SizeCache
   976  	unknownFields protoimpl.UnknownFields
   977  
   978  	Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
   979  }
   980  
   981  func (x *ClusterListAttribute) Reset() {
   982  	*x = ClusterListAttribute{}
   983  	if protoimpl.UnsafeEnabled {
   984  		mi := &file_attribute_proto_msgTypes[10]
   985  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   986  		ms.StoreMessageInfo(mi)
   987  	}
   988  }
   989  
   990  func (x *ClusterListAttribute) String() string {
   991  	return protoimpl.X.MessageStringOf(x)
   992  }
   993  
   994  func (*ClusterListAttribute) ProtoMessage() {}
   995  
   996  func (x *ClusterListAttribute) ProtoReflect() protoreflect.Message {
   997  	mi := &file_attribute_proto_msgTypes[10]
   998  	if protoimpl.UnsafeEnabled && x != nil {
   999  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1000  		if ms.LoadMessageInfo() == nil {
  1001  			ms.StoreMessageInfo(mi)
  1002  		}
  1003  		return ms
  1004  	}
  1005  	return mi.MessageOf(x)
  1006  }
  1007  
  1008  // Deprecated: Use ClusterListAttribute.ProtoReflect.Descriptor instead.
  1009  func (*ClusterListAttribute) Descriptor() ([]byte, []int) {
  1010  	return file_attribute_proto_rawDescGZIP(), []int{10}
  1011  }
  1012  
  1013  func (x *ClusterListAttribute) GetIds() []string {
  1014  	if x != nil {
  1015  		return x.Ids
  1016  	}
  1017  	return nil
  1018  }
  1019  
  1020  // IPAddressPrefix represents the NLRI for:
  1021  // - AFI=1, SAFI=1
  1022  // - AFI=2, SAFI=1
  1023  type IPAddressPrefix struct {
  1024  	state         protoimpl.MessageState
  1025  	sizeCache     protoimpl.SizeCache
  1026  	unknownFields protoimpl.UnknownFields
  1027  
  1028  	PrefixLen uint32 `protobuf:"varint,1,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"`
  1029  	Prefix    string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"`
  1030  }
  1031  
  1032  func (x *IPAddressPrefix) Reset() {
  1033  	*x = IPAddressPrefix{}
  1034  	if protoimpl.UnsafeEnabled {
  1035  		mi := &file_attribute_proto_msgTypes[11]
  1036  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1037  		ms.StoreMessageInfo(mi)
  1038  	}
  1039  }
  1040  
  1041  func (x *IPAddressPrefix) String() string {
  1042  	return protoimpl.X.MessageStringOf(x)
  1043  }
  1044  
  1045  func (*IPAddressPrefix) ProtoMessage() {}
  1046  
  1047  func (x *IPAddressPrefix) ProtoReflect() protoreflect.Message {
  1048  	mi := &file_attribute_proto_msgTypes[11]
  1049  	if protoimpl.UnsafeEnabled && x != nil {
  1050  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1051  		if ms.LoadMessageInfo() == nil {
  1052  			ms.StoreMessageInfo(mi)
  1053  		}
  1054  		return ms
  1055  	}
  1056  	return mi.MessageOf(x)
  1057  }
  1058  
  1059  // Deprecated: Use IPAddressPrefix.ProtoReflect.Descriptor instead.
  1060  func (*IPAddressPrefix) Descriptor() ([]byte, []int) {
  1061  	return file_attribute_proto_rawDescGZIP(), []int{11}
  1062  }
  1063  
  1064  func (x *IPAddressPrefix) GetPrefixLen() uint32 {
  1065  	if x != nil {
  1066  		return x.PrefixLen
  1067  	}
  1068  	return 0
  1069  }
  1070  
  1071  func (x *IPAddressPrefix) GetPrefix() string {
  1072  	if x != nil {
  1073  		return x.Prefix
  1074  	}
  1075  	return ""
  1076  }
  1077  
  1078  // LabeledIPAddressPrefix represents the NLRI for:
  1079  // - AFI=1, SAFI=4
  1080  // - AFI=2, SAFI=4
  1081  type LabeledIPAddressPrefix struct {
  1082  	state         protoimpl.MessageState
  1083  	sizeCache     protoimpl.SizeCache
  1084  	unknownFields protoimpl.UnknownFields
  1085  
  1086  	Labels    []uint32 `protobuf:"varint,1,rep,packed,name=labels,proto3" json:"labels,omitempty"`
  1087  	PrefixLen uint32   `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"`
  1088  	Prefix    string   `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
  1089  }
  1090  
  1091  func (x *LabeledIPAddressPrefix) Reset() {
  1092  	*x = LabeledIPAddressPrefix{}
  1093  	if protoimpl.UnsafeEnabled {
  1094  		mi := &file_attribute_proto_msgTypes[12]
  1095  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1096  		ms.StoreMessageInfo(mi)
  1097  	}
  1098  }
  1099  
  1100  func (x *LabeledIPAddressPrefix) String() string {
  1101  	return protoimpl.X.MessageStringOf(x)
  1102  }
  1103  
  1104  func (*LabeledIPAddressPrefix) ProtoMessage() {}
  1105  
  1106  func (x *LabeledIPAddressPrefix) ProtoReflect() protoreflect.Message {
  1107  	mi := &file_attribute_proto_msgTypes[12]
  1108  	if protoimpl.UnsafeEnabled && x != nil {
  1109  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1110  		if ms.LoadMessageInfo() == nil {
  1111  			ms.StoreMessageInfo(mi)
  1112  		}
  1113  		return ms
  1114  	}
  1115  	return mi.MessageOf(x)
  1116  }
  1117  
  1118  // Deprecated: Use LabeledIPAddressPrefix.ProtoReflect.Descriptor instead.
  1119  func (*LabeledIPAddressPrefix) Descriptor() ([]byte, []int) {
  1120  	return file_attribute_proto_rawDescGZIP(), []int{12}
  1121  }
  1122  
  1123  func (x *LabeledIPAddressPrefix) GetLabels() []uint32 {
  1124  	if x != nil {
  1125  		return x.Labels
  1126  	}
  1127  	return nil
  1128  }
  1129  
  1130  func (x *LabeledIPAddressPrefix) GetPrefixLen() uint32 {
  1131  	if x != nil {
  1132  		return x.PrefixLen
  1133  	}
  1134  	return 0
  1135  }
  1136  
  1137  func (x *LabeledIPAddressPrefix) GetPrefix() string {
  1138  	if x != nil {
  1139  		return x.Prefix
  1140  	}
  1141  	return ""
  1142  }
  1143  
  1144  // EncapsulationNLRI represents the NLRI for:
  1145  // - AFI=1, SAFI=7
  1146  // - AFI=2, SAFI=7
  1147  type EncapsulationNLRI struct {
  1148  	state         protoimpl.MessageState
  1149  	sizeCache     protoimpl.SizeCache
  1150  	unknownFields protoimpl.UnknownFields
  1151  
  1152  	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
  1153  }
  1154  
  1155  func (x *EncapsulationNLRI) Reset() {
  1156  	*x = EncapsulationNLRI{}
  1157  	if protoimpl.UnsafeEnabled {
  1158  		mi := &file_attribute_proto_msgTypes[13]
  1159  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1160  		ms.StoreMessageInfo(mi)
  1161  	}
  1162  }
  1163  
  1164  func (x *EncapsulationNLRI) String() string {
  1165  	return protoimpl.X.MessageStringOf(x)
  1166  }
  1167  
  1168  func (*EncapsulationNLRI) ProtoMessage() {}
  1169  
  1170  func (x *EncapsulationNLRI) ProtoReflect() protoreflect.Message {
  1171  	mi := &file_attribute_proto_msgTypes[13]
  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 EncapsulationNLRI.ProtoReflect.Descriptor instead.
  1183  func (*EncapsulationNLRI) Descriptor() ([]byte, []int) {
  1184  	return file_attribute_proto_rawDescGZIP(), []int{13}
  1185  }
  1186  
  1187  func (x *EncapsulationNLRI) GetAddress() string {
  1188  	if x != nil {
  1189  		return x.Address
  1190  	}
  1191  	return ""
  1192  }
  1193  
  1194  type RouteDistinguisherTwoOctetASN struct {
  1195  	state         protoimpl.MessageState
  1196  	sizeCache     protoimpl.SizeCache
  1197  	unknownFields protoimpl.UnknownFields
  1198  
  1199  	Admin    uint32 `protobuf:"varint,1,opt,name=admin,proto3" json:"admin,omitempty"`
  1200  	Assigned uint32 `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"`
  1201  }
  1202  
  1203  func (x *RouteDistinguisherTwoOctetASN) Reset() {
  1204  	*x = RouteDistinguisherTwoOctetASN{}
  1205  	if protoimpl.UnsafeEnabled {
  1206  		mi := &file_attribute_proto_msgTypes[14]
  1207  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1208  		ms.StoreMessageInfo(mi)
  1209  	}
  1210  }
  1211  
  1212  func (x *RouteDistinguisherTwoOctetASN) String() string {
  1213  	return protoimpl.X.MessageStringOf(x)
  1214  }
  1215  
  1216  func (*RouteDistinguisherTwoOctetASN) ProtoMessage() {}
  1217  
  1218  func (x *RouteDistinguisherTwoOctetASN) ProtoReflect() protoreflect.Message {
  1219  	mi := &file_attribute_proto_msgTypes[14]
  1220  	if protoimpl.UnsafeEnabled && x != nil {
  1221  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1222  		if ms.LoadMessageInfo() == nil {
  1223  			ms.StoreMessageInfo(mi)
  1224  		}
  1225  		return ms
  1226  	}
  1227  	return mi.MessageOf(x)
  1228  }
  1229  
  1230  // Deprecated: Use RouteDistinguisherTwoOctetASN.ProtoReflect.Descriptor instead.
  1231  func (*RouteDistinguisherTwoOctetASN) Descriptor() ([]byte, []int) {
  1232  	return file_attribute_proto_rawDescGZIP(), []int{14}
  1233  }
  1234  
  1235  func (x *RouteDistinguisherTwoOctetASN) GetAdmin() uint32 {
  1236  	if x != nil {
  1237  		return x.Admin
  1238  	}
  1239  	return 0
  1240  }
  1241  
  1242  func (x *RouteDistinguisherTwoOctetASN) GetAssigned() uint32 {
  1243  	if x != nil {
  1244  		return x.Assigned
  1245  	}
  1246  	return 0
  1247  }
  1248  
  1249  type RouteDistinguisherIPAddress struct {
  1250  	state         protoimpl.MessageState
  1251  	sizeCache     protoimpl.SizeCache
  1252  	unknownFields protoimpl.UnknownFields
  1253  
  1254  	Admin    string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"`
  1255  	Assigned uint32 `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"`
  1256  }
  1257  
  1258  func (x *RouteDistinguisherIPAddress) Reset() {
  1259  	*x = RouteDistinguisherIPAddress{}
  1260  	if protoimpl.UnsafeEnabled {
  1261  		mi := &file_attribute_proto_msgTypes[15]
  1262  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1263  		ms.StoreMessageInfo(mi)
  1264  	}
  1265  }
  1266  
  1267  func (x *RouteDistinguisherIPAddress) String() string {
  1268  	return protoimpl.X.MessageStringOf(x)
  1269  }
  1270  
  1271  func (*RouteDistinguisherIPAddress) ProtoMessage() {}
  1272  
  1273  func (x *RouteDistinguisherIPAddress) ProtoReflect() protoreflect.Message {
  1274  	mi := &file_attribute_proto_msgTypes[15]
  1275  	if protoimpl.UnsafeEnabled && x != nil {
  1276  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1277  		if ms.LoadMessageInfo() == nil {
  1278  			ms.StoreMessageInfo(mi)
  1279  		}
  1280  		return ms
  1281  	}
  1282  	return mi.MessageOf(x)
  1283  }
  1284  
  1285  // Deprecated: Use RouteDistinguisherIPAddress.ProtoReflect.Descriptor instead.
  1286  func (*RouteDistinguisherIPAddress) Descriptor() ([]byte, []int) {
  1287  	return file_attribute_proto_rawDescGZIP(), []int{15}
  1288  }
  1289  
  1290  func (x *RouteDistinguisherIPAddress) GetAdmin() string {
  1291  	if x != nil {
  1292  		return x.Admin
  1293  	}
  1294  	return ""
  1295  }
  1296  
  1297  func (x *RouteDistinguisherIPAddress) GetAssigned() uint32 {
  1298  	if x != nil {
  1299  		return x.Assigned
  1300  	}
  1301  	return 0
  1302  }
  1303  
  1304  type RouteDistinguisherFourOctetASN struct {
  1305  	state         protoimpl.MessageState
  1306  	sizeCache     protoimpl.SizeCache
  1307  	unknownFields protoimpl.UnknownFields
  1308  
  1309  	Admin    uint32 `protobuf:"varint,1,opt,name=admin,proto3" json:"admin,omitempty"`
  1310  	Assigned uint32 `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"`
  1311  }
  1312  
  1313  func (x *RouteDistinguisherFourOctetASN) Reset() {
  1314  	*x = RouteDistinguisherFourOctetASN{}
  1315  	if protoimpl.UnsafeEnabled {
  1316  		mi := &file_attribute_proto_msgTypes[16]
  1317  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1318  		ms.StoreMessageInfo(mi)
  1319  	}
  1320  }
  1321  
  1322  func (x *RouteDistinguisherFourOctetASN) String() string {
  1323  	return protoimpl.X.MessageStringOf(x)
  1324  }
  1325  
  1326  func (*RouteDistinguisherFourOctetASN) ProtoMessage() {}
  1327  
  1328  func (x *RouteDistinguisherFourOctetASN) ProtoReflect() protoreflect.Message {
  1329  	mi := &file_attribute_proto_msgTypes[16]
  1330  	if protoimpl.UnsafeEnabled && x != nil {
  1331  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1332  		if ms.LoadMessageInfo() == nil {
  1333  			ms.StoreMessageInfo(mi)
  1334  		}
  1335  		return ms
  1336  	}
  1337  	return mi.MessageOf(x)
  1338  }
  1339  
  1340  // Deprecated: Use RouteDistinguisherFourOctetASN.ProtoReflect.Descriptor instead.
  1341  func (*RouteDistinguisherFourOctetASN) Descriptor() ([]byte, []int) {
  1342  	return file_attribute_proto_rawDescGZIP(), []int{16}
  1343  }
  1344  
  1345  func (x *RouteDistinguisherFourOctetASN) GetAdmin() uint32 {
  1346  	if x != nil {
  1347  		return x.Admin
  1348  	}
  1349  	return 0
  1350  }
  1351  
  1352  func (x *RouteDistinguisherFourOctetASN) GetAssigned() uint32 {
  1353  	if x != nil {
  1354  		return x.Assigned
  1355  	}
  1356  	return 0
  1357  }
  1358  
  1359  type EthernetSegmentIdentifier struct {
  1360  	state         protoimpl.MessageState
  1361  	sizeCache     protoimpl.SizeCache
  1362  	unknownFields protoimpl.UnknownFields
  1363  
  1364  	Type  uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
  1365  	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  1366  }
  1367  
  1368  func (x *EthernetSegmentIdentifier) Reset() {
  1369  	*x = EthernetSegmentIdentifier{}
  1370  	if protoimpl.UnsafeEnabled {
  1371  		mi := &file_attribute_proto_msgTypes[17]
  1372  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1373  		ms.StoreMessageInfo(mi)
  1374  	}
  1375  }
  1376  
  1377  func (x *EthernetSegmentIdentifier) String() string {
  1378  	return protoimpl.X.MessageStringOf(x)
  1379  }
  1380  
  1381  func (*EthernetSegmentIdentifier) ProtoMessage() {}
  1382  
  1383  func (x *EthernetSegmentIdentifier) ProtoReflect() protoreflect.Message {
  1384  	mi := &file_attribute_proto_msgTypes[17]
  1385  	if protoimpl.UnsafeEnabled && x != nil {
  1386  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1387  		if ms.LoadMessageInfo() == nil {
  1388  			ms.StoreMessageInfo(mi)
  1389  		}
  1390  		return ms
  1391  	}
  1392  	return mi.MessageOf(x)
  1393  }
  1394  
  1395  // Deprecated: Use EthernetSegmentIdentifier.ProtoReflect.Descriptor instead.
  1396  func (*EthernetSegmentIdentifier) Descriptor() ([]byte, []int) {
  1397  	return file_attribute_proto_rawDescGZIP(), []int{17}
  1398  }
  1399  
  1400  func (x *EthernetSegmentIdentifier) GetType() uint32 {
  1401  	if x != nil {
  1402  		return x.Type
  1403  	}
  1404  	return 0
  1405  }
  1406  
  1407  func (x *EthernetSegmentIdentifier) GetValue() []byte {
  1408  	if x != nil {
  1409  		return x.Value
  1410  	}
  1411  	return nil
  1412  }
  1413  
  1414  // VPLSNLRI represents the NLRI for:
  1415  // - AFI=25, SAFI=65
  1416  type VPLSNLRI struct {
  1417  	state         protoimpl.MessageState
  1418  	sizeCache     protoimpl.SizeCache
  1419  	unknownFields protoimpl.UnknownFields
  1420  
  1421  	// One of:
  1422  	// - RouteDistinguisherTwoOctetASN
  1423  	// - RouteDistinguisherIPAddress
  1424  	// - RouteDistinguisherFourOctetASN
  1425  	Rd             *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
  1426  	VeId           uint32     `protobuf:"varint,2,opt,name=ve_id,json=veId,proto3" json:"ve_id,omitempty"`
  1427  	VeBlockOffset  uint32     `protobuf:"varint,3,opt,name=ve_block_offset,json=veBlockOffset,proto3" json:"ve_block_offset,omitempty"`
  1428  	VeBlockSize    uint32     `protobuf:"varint,4,opt,name=ve_block_size,json=veBlockSize,proto3" json:"ve_block_size,omitempty"`
  1429  	LabelBlockBase uint32     `protobuf:"varint,5,opt,name=label_block_base,json=labelBlockBase,proto3" json:"label_block_base,omitempty"`
  1430  }
  1431  
  1432  func (x *VPLSNLRI) Reset() {
  1433  	*x = VPLSNLRI{}
  1434  	if protoimpl.UnsafeEnabled {
  1435  		mi := &file_attribute_proto_msgTypes[18]
  1436  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1437  		ms.StoreMessageInfo(mi)
  1438  	}
  1439  }
  1440  
  1441  func (x *VPLSNLRI) String() string {
  1442  	return protoimpl.X.MessageStringOf(x)
  1443  }
  1444  
  1445  func (*VPLSNLRI) ProtoMessage() {}
  1446  
  1447  func (x *VPLSNLRI) ProtoReflect() protoreflect.Message {
  1448  	mi := &file_attribute_proto_msgTypes[18]
  1449  	if protoimpl.UnsafeEnabled && x != nil {
  1450  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1451  		if ms.LoadMessageInfo() == nil {
  1452  			ms.StoreMessageInfo(mi)
  1453  		}
  1454  		return ms
  1455  	}
  1456  	return mi.MessageOf(x)
  1457  }
  1458  
  1459  // Deprecated: Use VPLSNLRI.ProtoReflect.Descriptor instead.
  1460  func (*VPLSNLRI) Descriptor() ([]byte, []int) {
  1461  	return file_attribute_proto_rawDescGZIP(), []int{18}
  1462  }
  1463  
  1464  func (x *VPLSNLRI) GetRd() *anypb.Any {
  1465  	if x != nil {
  1466  		return x.Rd
  1467  	}
  1468  	return nil
  1469  }
  1470  
  1471  func (x *VPLSNLRI) GetVeId() uint32 {
  1472  	if x != nil {
  1473  		return x.VeId
  1474  	}
  1475  	return 0
  1476  }
  1477  
  1478  func (x *VPLSNLRI) GetVeBlockOffset() uint32 {
  1479  	if x != nil {
  1480  		return x.VeBlockOffset
  1481  	}
  1482  	return 0
  1483  }
  1484  
  1485  func (x *VPLSNLRI) GetVeBlockSize() uint32 {
  1486  	if x != nil {
  1487  		return x.VeBlockSize
  1488  	}
  1489  	return 0
  1490  }
  1491  
  1492  func (x *VPLSNLRI) GetLabelBlockBase() uint32 {
  1493  	if x != nil {
  1494  		return x.LabelBlockBase
  1495  	}
  1496  	return 0
  1497  }
  1498  
  1499  // EVPNEthernetAutoDiscoveryRoute represents the NLRI for:
  1500  // - AFI=25, SAFI=70, RouteType=1
  1501  type EVPNEthernetAutoDiscoveryRoute struct {
  1502  	state         protoimpl.MessageState
  1503  	sizeCache     protoimpl.SizeCache
  1504  	unknownFields protoimpl.UnknownFields
  1505  
  1506  	// One of:
  1507  	// - RouteDistinguisherTwoOctetASN
  1508  	// - RouteDistinguisherIPAddress
  1509  	// - RouteDistinguisherFourOctetASN
  1510  	Rd          *anypb.Any                 `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
  1511  	Esi         *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"`
  1512  	EthernetTag uint32                     `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"`
  1513  	Label       uint32                     `protobuf:"varint,4,opt,name=label,proto3" json:"label,omitempty"`
  1514  }
  1515  
  1516  func (x *EVPNEthernetAutoDiscoveryRoute) Reset() {
  1517  	*x = EVPNEthernetAutoDiscoveryRoute{}
  1518  	if protoimpl.UnsafeEnabled {
  1519  		mi := &file_attribute_proto_msgTypes[19]
  1520  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1521  		ms.StoreMessageInfo(mi)
  1522  	}
  1523  }
  1524  
  1525  func (x *EVPNEthernetAutoDiscoveryRoute) String() string {
  1526  	return protoimpl.X.MessageStringOf(x)
  1527  }
  1528  
  1529  func (*EVPNEthernetAutoDiscoveryRoute) ProtoMessage() {}
  1530  
  1531  func (x *EVPNEthernetAutoDiscoveryRoute) ProtoReflect() protoreflect.Message {
  1532  	mi := &file_attribute_proto_msgTypes[19]
  1533  	if protoimpl.UnsafeEnabled && x != nil {
  1534  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1535  		if ms.LoadMessageInfo() == nil {
  1536  			ms.StoreMessageInfo(mi)
  1537  		}
  1538  		return ms
  1539  	}
  1540  	return mi.MessageOf(x)
  1541  }
  1542  
  1543  // Deprecated: Use EVPNEthernetAutoDiscoveryRoute.ProtoReflect.Descriptor instead.
  1544  func (*EVPNEthernetAutoDiscoveryRoute) Descriptor() ([]byte, []int) {
  1545  	return file_attribute_proto_rawDescGZIP(), []int{19}
  1546  }
  1547  
  1548  func (x *EVPNEthernetAutoDiscoveryRoute) GetRd() *anypb.Any {
  1549  	if x != nil {
  1550  		return x.Rd
  1551  	}
  1552  	return nil
  1553  }
  1554  
  1555  func (x *EVPNEthernetAutoDiscoveryRoute) GetEsi() *EthernetSegmentIdentifier {
  1556  	if x != nil {
  1557  		return x.Esi
  1558  	}
  1559  	return nil
  1560  }
  1561  
  1562  func (x *EVPNEthernetAutoDiscoveryRoute) GetEthernetTag() uint32 {
  1563  	if x != nil {
  1564  		return x.EthernetTag
  1565  	}
  1566  	return 0
  1567  }
  1568  
  1569  func (x *EVPNEthernetAutoDiscoveryRoute) GetLabel() uint32 {
  1570  	if x != nil {
  1571  		return x.Label
  1572  	}
  1573  	return 0
  1574  }
  1575  
  1576  // EVPNMACIPAdvertisementRoute represents the NLRI for:
  1577  // - AFI=25, SAFI=70, RouteType=2
  1578  type EVPNMACIPAdvertisementRoute struct {
  1579  	state         protoimpl.MessageState
  1580  	sizeCache     protoimpl.SizeCache
  1581  	unknownFields protoimpl.UnknownFields
  1582  
  1583  	// One of:
  1584  	// - RouteDistinguisherTwoOctetASN
  1585  	// - RouteDistinguisherIPAddress
  1586  	// - RouteDistinguisherFourOctetASN
  1587  	Rd          *anypb.Any                 `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
  1588  	Esi         *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"`
  1589  	EthernetTag uint32                     `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"`
  1590  	MacAddress  string                     `protobuf:"bytes,4,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
  1591  	IpAddress   string                     `protobuf:"bytes,5,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
  1592  	Labels      []uint32                   `protobuf:"varint,6,rep,packed,name=labels,proto3" json:"labels,omitempty"`
  1593  }
  1594  
  1595  func (x *EVPNMACIPAdvertisementRoute) Reset() {
  1596  	*x = EVPNMACIPAdvertisementRoute{}
  1597  	if protoimpl.UnsafeEnabled {
  1598  		mi := &file_attribute_proto_msgTypes[20]
  1599  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1600  		ms.StoreMessageInfo(mi)
  1601  	}
  1602  }
  1603  
  1604  func (x *EVPNMACIPAdvertisementRoute) String() string {
  1605  	return protoimpl.X.MessageStringOf(x)
  1606  }
  1607  
  1608  func (*EVPNMACIPAdvertisementRoute) ProtoMessage() {}
  1609  
  1610  func (x *EVPNMACIPAdvertisementRoute) ProtoReflect() protoreflect.Message {
  1611  	mi := &file_attribute_proto_msgTypes[20]
  1612  	if protoimpl.UnsafeEnabled && x != nil {
  1613  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1614  		if ms.LoadMessageInfo() == nil {
  1615  			ms.StoreMessageInfo(mi)
  1616  		}
  1617  		return ms
  1618  	}
  1619  	return mi.MessageOf(x)
  1620  }
  1621  
  1622  // Deprecated: Use EVPNMACIPAdvertisementRoute.ProtoReflect.Descriptor instead.
  1623  func (*EVPNMACIPAdvertisementRoute) Descriptor() ([]byte, []int) {
  1624  	return file_attribute_proto_rawDescGZIP(), []int{20}
  1625  }
  1626  
  1627  func (x *EVPNMACIPAdvertisementRoute) GetRd() *anypb.Any {
  1628  	if x != nil {
  1629  		return x.Rd
  1630  	}
  1631  	return nil
  1632  }
  1633  
  1634  func (x *EVPNMACIPAdvertisementRoute) GetEsi() *EthernetSegmentIdentifier {
  1635  	if x != nil {
  1636  		return x.Esi
  1637  	}
  1638  	return nil
  1639  }
  1640  
  1641  func (x *EVPNMACIPAdvertisementRoute) GetEthernetTag() uint32 {
  1642  	if x != nil {
  1643  		return x.EthernetTag
  1644  	}
  1645  	return 0
  1646  }
  1647  
  1648  func (x *EVPNMACIPAdvertisementRoute) GetMacAddress() string {
  1649  	if x != nil {
  1650  		return x.MacAddress
  1651  	}
  1652  	return ""
  1653  }
  1654  
  1655  func (x *EVPNMACIPAdvertisementRoute) GetIpAddress() string {
  1656  	if x != nil {
  1657  		return x.IpAddress
  1658  	}
  1659  	return ""
  1660  }
  1661  
  1662  func (x *EVPNMACIPAdvertisementRoute) GetLabels() []uint32 {
  1663  	if x != nil {
  1664  		return x.Labels
  1665  	}
  1666  	return nil
  1667  }
  1668  
  1669  // EVPNInclusiveMulticastEthernetTagRoute represents the NLRI for:
  1670  // - AFI=25, SAFI=70, RouteType=3
  1671  type EVPNInclusiveMulticastEthernetTagRoute struct {
  1672  	state         protoimpl.MessageState
  1673  	sizeCache     protoimpl.SizeCache
  1674  	unknownFields protoimpl.UnknownFields
  1675  
  1676  	// One of:
  1677  	// - RouteDistinguisherTwoOctetASN
  1678  	// - RouteDistinguisherIPAddress
  1679  	// - RouteDistinguisherFourOctetASN
  1680  	Rd          *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
  1681  	EthernetTag uint32     `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"`
  1682  	IpAddress   string     `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
  1683  }
  1684  
  1685  func (x *EVPNInclusiveMulticastEthernetTagRoute) Reset() {
  1686  	*x = EVPNInclusiveMulticastEthernetTagRoute{}
  1687  	if protoimpl.UnsafeEnabled {
  1688  		mi := &file_attribute_proto_msgTypes[21]
  1689  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1690  		ms.StoreMessageInfo(mi)
  1691  	}
  1692  }
  1693  
  1694  func (x *EVPNInclusiveMulticastEthernetTagRoute) String() string {
  1695  	return protoimpl.X.MessageStringOf(x)
  1696  }
  1697  
  1698  func (*EVPNInclusiveMulticastEthernetTagRoute) ProtoMessage() {}
  1699  
  1700  func (x *EVPNInclusiveMulticastEthernetTagRoute) ProtoReflect() protoreflect.Message {
  1701  	mi := &file_attribute_proto_msgTypes[21]
  1702  	if protoimpl.UnsafeEnabled && x != nil {
  1703  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1704  		if ms.LoadMessageInfo() == nil {
  1705  			ms.StoreMessageInfo(mi)
  1706  		}
  1707  		return ms
  1708  	}
  1709  	return mi.MessageOf(x)
  1710  }
  1711  
  1712  // Deprecated: Use EVPNInclusiveMulticastEthernetTagRoute.ProtoReflect.Descriptor instead.
  1713  func (*EVPNInclusiveMulticastEthernetTagRoute) Descriptor() ([]byte, []int) {
  1714  	return file_attribute_proto_rawDescGZIP(), []int{21}
  1715  }
  1716  
  1717  func (x *EVPNInclusiveMulticastEthernetTagRoute) GetRd() *anypb.Any {
  1718  	if x != nil {
  1719  		return x.Rd
  1720  	}
  1721  	return nil
  1722  }
  1723  
  1724  func (x *EVPNInclusiveMulticastEthernetTagRoute) GetEthernetTag() uint32 {
  1725  	if x != nil {
  1726  		return x.EthernetTag
  1727  	}
  1728  	return 0
  1729  }
  1730  
  1731  func (x *EVPNInclusiveMulticastEthernetTagRoute) GetIpAddress() string {
  1732  	if x != nil {
  1733  		return x.IpAddress
  1734  	}
  1735  	return ""
  1736  }
  1737  
  1738  // EVPNEthernetSegmentRoute represents the NLRI for:
  1739  // - AFI=25, SAFI=70, RouteType=4
  1740  type EVPNEthernetSegmentRoute struct {
  1741  	state         protoimpl.MessageState
  1742  	sizeCache     protoimpl.SizeCache
  1743  	unknownFields protoimpl.UnknownFields
  1744  
  1745  	// One of:
  1746  	// - RouteDistinguisherTwoOctetASN
  1747  	// - RouteDistinguisherIPAddress
  1748  	// - RouteDistinguisherFourOctetASN
  1749  	Rd        *anypb.Any                 `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
  1750  	Esi       *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"`
  1751  	IpAddress string                     `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
  1752  }
  1753  
  1754  func (x *EVPNEthernetSegmentRoute) Reset() {
  1755  	*x = EVPNEthernetSegmentRoute{}
  1756  	if protoimpl.UnsafeEnabled {
  1757  		mi := &file_attribute_proto_msgTypes[22]
  1758  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1759  		ms.StoreMessageInfo(mi)
  1760  	}
  1761  }
  1762  
  1763  func (x *EVPNEthernetSegmentRoute) String() string {
  1764  	return protoimpl.X.MessageStringOf(x)
  1765  }
  1766  
  1767  func (*EVPNEthernetSegmentRoute) ProtoMessage() {}
  1768  
  1769  func (x *EVPNEthernetSegmentRoute) ProtoReflect() protoreflect.Message {
  1770  	mi := &file_attribute_proto_msgTypes[22]
  1771  	if protoimpl.UnsafeEnabled && x != nil {
  1772  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1773  		if ms.LoadMessageInfo() == nil {
  1774  			ms.StoreMessageInfo(mi)
  1775  		}
  1776  		return ms
  1777  	}
  1778  	return mi.MessageOf(x)
  1779  }
  1780  
  1781  // Deprecated: Use EVPNEthernetSegmentRoute.ProtoReflect.Descriptor instead.
  1782  func (*EVPNEthernetSegmentRoute) Descriptor() ([]byte, []int) {
  1783  	return file_attribute_proto_rawDescGZIP(), []int{22}
  1784  }
  1785  
  1786  func (x *EVPNEthernetSegmentRoute) GetRd() *anypb.Any {
  1787  	if x != nil {
  1788  		return x.Rd
  1789  	}
  1790  	return nil
  1791  }
  1792  
  1793  func (x *EVPNEthernetSegmentRoute) GetEsi() *EthernetSegmentIdentifier {
  1794  	if x != nil {
  1795  		return x.Esi
  1796  	}
  1797  	return nil
  1798  }
  1799  
  1800  func (x *EVPNEthernetSegmentRoute) GetIpAddress() string {
  1801  	if x != nil {
  1802  		return x.IpAddress
  1803  	}
  1804  	return ""
  1805  }
  1806  
  1807  // EVPNIPPrefixRoute represents the NLRI for:
  1808  // - AFI=25, SAFI=70, RouteType=5
  1809  type EVPNIPPrefixRoute struct {
  1810  	state         protoimpl.MessageState
  1811  	sizeCache     protoimpl.SizeCache
  1812  	unknownFields protoimpl.UnknownFields
  1813  
  1814  	// One of:
  1815  	// - RouteDistinguisherTwoOctetASN
  1816  	// - RouteDistinguisherIPAddress
  1817  	// - RouteDistinguisherFourOctetASN
  1818  	Rd          *anypb.Any                 `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
  1819  	Esi         *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"`
  1820  	EthernetTag uint32                     `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"`
  1821  	IpPrefix    string                     `protobuf:"bytes,4,opt,name=ip_prefix,json=ipPrefix,proto3" json:"ip_prefix,omitempty"`
  1822  	IpPrefixLen uint32                     `protobuf:"varint,5,opt,name=ip_prefix_len,json=ipPrefixLen,proto3" json:"ip_prefix_len,omitempty"`
  1823  	GwAddress   string                     `protobuf:"bytes,6,opt,name=gw_address,json=gwAddress,proto3" json:"gw_address,omitempty"`
  1824  	Label       uint32                     `protobuf:"varint,7,opt,name=label,proto3" json:"label,omitempty"`
  1825  }
  1826  
  1827  func (x *EVPNIPPrefixRoute) Reset() {
  1828  	*x = EVPNIPPrefixRoute{}
  1829  	if protoimpl.UnsafeEnabled {
  1830  		mi := &file_attribute_proto_msgTypes[23]
  1831  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1832  		ms.StoreMessageInfo(mi)
  1833  	}
  1834  }
  1835  
  1836  func (x *EVPNIPPrefixRoute) String() string {
  1837  	return protoimpl.X.MessageStringOf(x)
  1838  }
  1839  
  1840  func (*EVPNIPPrefixRoute) ProtoMessage() {}
  1841  
  1842  func (x *EVPNIPPrefixRoute) ProtoReflect() protoreflect.Message {
  1843  	mi := &file_attribute_proto_msgTypes[23]
  1844  	if protoimpl.UnsafeEnabled && x != nil {
  1845  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1846  		if ms.LoadMessageInfo() == nil {
  1847  			ms.StoreMessageInfo(mi)
  1848  		}
  1849  		return ms
  1850  	}
  1851  	return mi.MessageOf(x)
  1852  }
  1853  
  1854  // Deprecated: Use EVPNIPPrefixRoute.ProtoReflect.Descriptor instead.
  1855  func (*EVPNIPPrefixRoute) Descriptor() ([]byte, []int) {
  1856  	return file_attribute_proto_rawDescGZIP(), []int{23}
  1857  }
  1858  
  1859  func (x *EVPNIPPrefixRoute) GetRd() *anypb.Any {
  1860  	if x != nil {
  1861  		return x.Rd
  1862  	}
  1863  	return nil
  1864  }
  1865  
  1866  func (x *EVPNIPPrefixRoute) GetEsi() *EthernetSegmentIdentifier {
  1867  	if x != nil {
  1868  		return x.Esi
  1869  	}
  1870  	return nil
  1871  }
  1872  
  1873  func (x *EVPNIPPrefixRoute) GetEthernetTag() uint32 {
  1874  	if x != nil {
  1875  		return x.EthernetTag
  1876  	}
  1877  	return 0
  1878  }
  1879  
  1880  func (x *EVPNIPPrefixRoute) GetIpPrefix() string {
  1881  	if x != nil {
  1882  		return x.IpPrefix
  1883  	}
  1884  	return ""
  1885  }
  1886  
  1887  func (x *EVPNIPPrefixRoute) GetIpPrefixLen() uint32 {
  1888  	if x != nil {
  1889  		return x.IpPrefixLen
  1890  	}
  1891  	return 0
  1892  }
  1893  
  1894  func (x *EVPNIPPrefixRoute) GetGwAddress() string {
  1895  	if x != nil {
  1896  		return x.GwAddress
  1897  	}
  1898  	return ""
  1899  }
  1900  
  1901  func (x *EVPNIPPrefixRoute) GetLabel() uint32 {
  1902  	if x != nil {
  1903  		return x.Label
  1904  	}
  1905  	return 0
  1906  }
  1907  
  1908  // EVPNIPMSIRoute represents the NLRI for:
  1909  // - AFI=25, SAFI=70, RouteType=9
  1910  type EVPNIPMSIRoute struct {
  1911  	state         protoimpl.MessageState
  1912  	sizeCache     protoimpl.SizeCache
  1913  	unknownFields protoimpl.UnknownFields
  1914  
  1915  	// One of:
  1916  	// - RouteDistinguisherTwoOctetASN
  1917  	// - RouteDistinguisherIPAddress
  1918  	// - RouteDistinguisherFourOctetASN
  1919  	Rd          *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
  1920  	EthernetTag uint32     `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"`
  1921  	Rt          *anypb.Any `protobuf:"bytes,3,opt,name=rt,proto3" json:"rt,omitempty"`
  1922  }
  1923  
  1924  func (x *EVPNIPMSIRoute) Reset() {
  1925  	*x = EVPNIPMSIRoute{}
  1926  	if protoimpl.UnsafeEnabled {
  1927  		mi := &file_attribute_proto_msgTypes[24]
  1928  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1929  		ms.StoreMessageInfo(mi)
  1930  	}
  1931  }
  1932  
  1933  func (x *EVPNIPMSIRoute) String() string {
  1934  	return protoimpl.X.MessageStringOf(x)
  1935  }
  1936  
  1937  func (*EVPNIPMSIRoute) ProtoMessage() {}
  1938  
  1939  func (x *EVPNIPMSIRoute) ProtoReflect() protoreflect.Message {
  1940  	mi := &file_attribute_proto_msgTypes[24]
  1941  	if protoimpl.UnsafeEnabled && x != nil {
  1942  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1943  		if ms.LoadMessageInfo() == nil {
  1944  			ms.StoreMessageInfo(mi)
  1945  		}
  1946  		return ms
  1947  	}
  1948  	return mi.MessageOf(x)
  1949  }
  1950  
  1951  // Deprecated: Use EVPNIPMSIRoute.ProtoReflect.Descriptor instead.
  1952  func (*EVPNIPMSIRoute) Descriptor() ([]byte, []int) {
  1953  	return file_attribute_proto_rawDescGZIP(), []int{24}
  1954  }
  1955  
  1956  func (x *EVPNIPMSIRoute) GetRd() *anypb.Any {
  1957  	if x != nil {
  1958  		return x.Rd
  1959  	}
  1960  	return nil
  1961  }
  1962  
  1963  func (x *EVPNIPMSIRoute) GetEthernetTag() uint32 {
  1964  	if x != nil {
  1965  		return x.EthernetTag
  1966  	}
  1967  	return 0
  1968  }
  1969  
  1970  func (x *EVPNIPMSIRoute) GetRt() *anypb.Any {
  1971  	if x != nil {
  1972  		return x.Rt
  1973  	}
  1974  	return nil
  1975  }
  1976  
  1977  // SRPolicyNLRI represents the NLRI for:
  1978  // - AFI=1, SAFI=73
  1979  // - AFI=2, SAFI=73
  1980  type SRPolicyNLRI struct {
  1981  	state         protoimpl.MessageState
  1982  	sizeCache     protoimpl.SizeCache
  1983  	unknownFields protoimpl.UnknownFields
  1984  
  1985  	// length field carries the length of NLRI portion expressed in bits
  1986  	Length uint32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
  1987  	// distinguisher field carries 4-octet value uniquely identifying the policy
  1988  	// in the context of <color, endpoint> tuple.
  1989  	Distinguisher uint32 `protobuf:"varint,2,opt,name=distinguisher,proto3" json:"distinguisher,omitempty"`
  1990  	// color field carries 4-octet value identifying (with the endpoint) the
  1991  	// policy.  The color is used to match the color of the destination
  1992  	// prefixes to steer traffic into the SR Policy
  1993  	Color uint32 `protobuf:"varint,3,opt,name=color,proto3" json:"color,omitempty"`
  1994  	// endpoint field identifies the endpoint of a policy.  The Endpoint may
  1995  	// represent a single node or a set of nodes (e.g., an anycast
  1996  	// address).  The Endpoint is an IPv4 (4-octet) address or an IPv6
  1997  	// (16-octet) address according to the AFI of the NLRI.
  1998  	Endpoint []byte `protobuf:"bytes,4,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
  1999  }
  2000  
  2001  func (x *SRPolicyNLRI) Reset() {
  2002  	*x = SRPolicyNLRI{}
  2003  	if protoimpl.UnsafeEnabled {
  2004  		mi := &file_attribute_proto_msgTypes[25]
  2005  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2006  		ms.StoreMessageInfo(mi)
  2007  	}
  2008  }
  2009  
  2010  func (x *SRPolicyNLRI) String() string {
  2011  	return protoimpl.X.MessageStringOf(x)
  2012  }
  2013  
  2014  func (*SRPolicyNLRI) ProtoMessage() {}
  2015  
  2016  func (x *SRPolicyNLRI) ProtoReflect() protoreflect.Message {
  2017  	mi := &file_attribute_proto_msgTypes[25]
  2018  	if protoimpl.UnsafeEnabled && x != nil {
  2019  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2020  		if ms.LoadMessageInfo() == nil {
  2021  			ms.StoreMessageInfo(mi)
  2022  		}
  2023  		return ms
  2024  	}
  2025  	return mi.MessageOf(x)
  2026  }
  2027  
  2028  // Deprecated: Use SRPolicyNLRI.ProtoReflect.Descriptor instead.
  2029  func (*SRPolicyNLRI) Descriptor() ([]byte, []int) {
  2030  	return file_attribute_proto_rawDescGZIP(), []int{25}
  2031  }
  2032  
  2033  func (x *SRPolicyNLRI) GetLength() uint32 {
  2034  	if x != nil {
  2035  		return x.Length
  2036  	}
  2037  	return 0
  2038  }
  2039  
  2040  func (x *SRPolicyNLRI) GetDistinguisher() uint32 {
  2041  	if x != nil {
  2042  		return x.Distinguisher
  2043  	}
  2044  	return 0
  2045  }
  2046  
  2047  func (x *SRPolicyNLRI) GetColor() uint32 {
  2048  	if x != nil {
  2049  		return x.Color
  2050  	}
  2051  	return 0
  2052  }
  2053  
  2054  func (x *SRPolicyNLRI) GetEndpoint() []byte {
  2055  	if x != nil {
  2056  		return x.Endpoint
  2057  	}
  2058  	return nil
  2059  }
  2060  
  2061  // LabeledVPNIPAddressPrefix represents the NLRI for:
  2062  // - AFI=1, SAFI=128
  2063  // - AFI=2, SAFI=128
  2064  type LabeledVPNIPAddressPrefix struct {
  2065  	state         protoimpl.MessageState
  2066  	sizeCache     protoimpl.SizeCache
  2067  	unknownFields protoimpl.UnknownFields
  2068  
  2069  	Labels []uint32 `protobuf:"varint,1,rep,packed,name=labels,proto3" json:"labels,omitempty"`
  2070  	// One of:
  2071  	// - TwoOctetAsSpecificExtended
  2072  	// - IPv4AddressSpecificExtended
  2073  	// - FourOctetAsSpecificExtended
  2074  	Rd        *anypb.Any `protobuf:"bytes,2,opt,name=rd,proto3" json:"rd,omitempty"`
  2075  	PrefixLen uint32     `protobuf:"varint,3,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"`
  2076  	Prefix    string     `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"`
  2077  }
  2078  
  2079  func (x *LabeledVPNIPAddressPrefix) Reset() {
  2080  	*x = LabeledVPNIPAddressPrefix{}
  2081  	if protoimpl.UnsafeEnabled {
  2082  		mi := &file_attribute_proto_msgTypes[26]
  2083  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2084  		ms.StoreMessageInfo(mi)
  2085  	}
  2086  }
  2087  
  2088  func (x *LabeledVPNIPAddressPrefix) String() string {
  2089  	return protoimpl.X.MessageStringOf(x)
  2090  }
  2091  
  2092  func (*LabeledVPNIPAddressPrefix) ProtoMessage() {}
  2093  
  2094  func (x *LabeledVPNIPAddressPrefix) ProtoReflect() protoreflect.Message {
  2095  	mi := &file_attribute_proto_msgTypes[26]
  2096  	if protoimpl.UnsafeEnabled && x != nil {
  2097  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2098  		if ms.LoadMessageInfo() == nil {
  2099  			ms.StoreMessageInfo(mi)
  2100  		}
  2101  		return ms
  2102  	}
  2103  	return mi.MessageOf(x)
  2104  }
  2105  
  2106  // Deprecated: Use LabeledVPNIPAddressPrefix.ProtoReflect.Descriptor instead.
  2107  func (*LabeledVPNIPAddressPrefix) Descriptor() ([]byte, []int) {
  2108  	return file_attribute_proto_rawDescGZIP(), []int{26}
  2109  }
  2110  
  2111  func (x *LabeledVPNIPAddressPrefix) GetLabels() []uint32 {
  2112  	if x != nil {
  2113  		return x.Labels
  2114  	}
  2115  	return nil
  2116  }
  2117  
  2118  func (x *LabeledVPNIPAddressPrefix) GetRd() *anypb.Any {
  2119  	if x != nil {
  2120  		return x.Rd
  2121  	}
  2122  	return nil
  2123  }
  2124  
  2125  func (x *LabeledVPNIPAddressPrefix) GetPrefixLen() uint32 {
  2126  	if x != nil {
  2127  		return x.PrefixLen
  2128  	}
  2129  	return 0
  2130  }
  2131  
  2132  func (x *LabeledVPNIPAddressPrefix) GetPrefix() string {
  2133  	if x != nil {
  2134  		return x.Prefix
  2135  	}
  2136  	return ""
  2137  }
  2138  
  2139  // RouteTargetMembershipNLRI represents the NLRI for:
  2140  // - AFI=1, SAFI=132
  2141  type RouteTargetMembershipNLRI struct {
  2142  	state         protoimpl.MessageState
  2143  	sizeCache     protoimpl.SizeCache
  2144  	unknownFields protoimpl.UnknownFields
  2145  
  2146  	Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"`
  2147  	// One of:
  2148  	// - TwoOctetAsSpecificExtended
  2149  	// - IPv4AddressSpecificExtended
  2150  	// - FourOctetAsSpecificExtended
  2151  	Rt *anypb.Any `protobuf:"bytes,2,opt,name=rt,proto3" json:"rt,omitempty"`
  2152  }
  2153  
  2154  func (x *RouteTargetMembershipNLRI) Reset() {
  2155  	*x = RouteTargetMembershipNLRI{}
  2156  	if protoimpl.UnsafeEnabled {
  2157  		mi := &file_attribute_proto_msgTypes[27]
  2158  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2159  		ms.StoreMessageInfo(mi)
  2160  	}
  2161  }
  2162  
  2163  func (x *RouteTargetMembershipNLRI) String() string {
  2164  	return protoimpl.X.MessageStringOf(x)
  2165  }
  2166  
  2167  func (*RouteTargetMembershipNLRI) ProtoMessage() {}
  2168  
  2169  func (x *RouteTargetMembershipNLRI) ProtoReflect() protoreflect.Message {
  2170  	mi := &file_attribute_proto_msgTypes[27]
  2171  	if protoimpl.UnsafeEnabled && x != nil {
  2172  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2173  		if ms.LoadMessageInfo() == nil {
  2174  			ms.StoreMessageInfo(mi)
  2175  		}
  2176  		return ms
  2177  	}
  2178  	return mi.MessageOf(x)
  2179  }
  2180  
  2181  // Deprecated: Use RouteTargetMembershipNLRI.ProtoReflect.Descriptor instead.
  2182  func (*RouteTargetMembershipNLRI) Descriptor() ([]byte, []int) {
  2183  	return file_attribute_proto_rawDescGZIP(), []int{27}
  2184  }
  2185  
  2186  func (x *RouteTargetMembershipNLRI) GetAsn() uint32 {
  2187  	if x != nil {
  2188  		return x.Asn
  2189  	}
  2190  	return 0
  2191  }
  2192  
  2193  func (x *RouteTargetMembershipNLRI) GetRt() *anypb.Any {
  2194  	if x != nil {
  2195  		return x.Rt
  2196  	}
  2197  	return nil
  2198  }
  2199  
  2200  type FlowSpecIPPrefix struct {
  2201  	state         protoimpl.MessageState
  2202  	sizeCache     protoimpl.SizeCache
  2203  	unknownFields protoimpl.UnknownFields
  2204  
  2205  	Type      uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
  2206  	PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"`
  2207  	Prefix    string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
  2208  	// IPv6 only
  2209  	Offset uint32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
  2210  }
  2211  
  2212  func (x *FlowSpecIPPrefix) Reset() {
  2213  	*x = FlowSpecIPPrefix{}
  2214  	if protoimpl.UnsafeEnabled {
  2215  		mi := &file_attribute_proto_msgTypes[28]
  2216  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2217  		ms.StoreMessageInfo(mi)
  2218  	}
  2219  }
  2220  
  2221  func (x *FlowSpecIPPrefix) String() string {
  2222  	return protoimpl.X.MessageStringOf(x)
  2223  }
  2224  
  2225  func (*FlowSpecIPPrefix) ProtoMessage() {}
  2226  
  2227  func (x *FlowSpecIPPrefix) ProtoReflect() protoreflect.Message {
  2228  	mi := &file_attribute_proto_msgTypes[28]
  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 FlowSpecIPPrefix.ProtoReflect.Descriptor instead.
  2240  func (*FlowSpecIPPrefix) Descriptor() ([]byte, []int) {
  2241  	return file_attribute_proto_rawDescGZIP(), []int{28}
  2242  }
  2243  
  2244  func (x *FlowSpecIPPrefix) GetType() uint32 {
  2245  	if x != nil {
  2246  		return x.Type
  2247  	}
  2248  	return 0
  2249  }
  2250  
  2251  func (x *FlowSpecIPPrefix) GetPrefixLen() uint32 {
  2252  	if x != nil {
  2253  		return x.PrefixLen
  2254  	}
  2255  	return 0
  2256  }
  2257  
  2258  func (x *FlowSpecIPPrefix) GetPrefix() string {
  2259  	if x != nil {
  2260  		return x.Prefix
  2261  	}
  2262  	return ""
  2263  }
  2264  
  2265  func (x *FlowSpecIPPrefix) GetOffset() uint32 {
  2266  	if x != nil {
  2267  		return x.Offset
  2268  	}
  2269  	return 0
  2270  }
  2271  
  2272  type FlowSpecMAC struct {
  2273  	state         protoimpl.MessageState
  2274  	sizeCache     protoimpl.SizeCache
  2275  	unknownFields protoimpl.UnknownFields
  2276  
  2277  	Type    uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
  2278  	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
  2279  }
  2280  
  2281  func (x *FlowSpecMAC) Reset() {
  2282  	*x = FlowSpecMAC{}
  2283  	if protoimpl.UnsafeEnabled {
  2284  		mi := &file_attribute_proto_msgTypes[29]
  2285  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2286  		ms.StoreMessageInfo(mi)
  2287  	}
  2288  }
  2289  
  2290  func (x *FlowSpecMAC) String() string {
  2291  	return protoimpl.X.MessageStringOf(x)
  2292  }
  2293  
  2294  func (*FlowSpecMAC) ProtoMessage() {}
  2295  
  2296  func (x *FlowSpecMAC) ProtoReflect() protoreflect.Message {
  2297  	mi := &file_attribute_proto_msgTypes[29]
  2298  	if protoimpl.UnsafeEnabled && x != nil {
  2299  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2300  		if ms.LoadMessageInfo() == nil {
  2301  			ms.StoreMessageInfo(mi)
  2302  		}
  2303  		return ms
  2304  	}
  2305  	return mi.MessageOf(x)
  2306  }
  2307  
  2308  // Deprecated: Use FlowSpecMAC.ProtoReflect.Descriptor instead.
  2309  func (*FlowSpecMAC) Descriptor() ([]byte, []int) {
  2310  	return file_attribute_proto_rawDescGZIP(), []int{29}
  2311  }
  2312  
  2313  func (x *FlowSpecMAC) GetType() uint32 {
  2314  	if x != nil {
  2315  		return x.Type
  2316  	}
  2317  	return 0
  2318  }
  2319  
  2320  func (x *FlowSpecMAC) GetAddress() string {
  2321  	if x != nil {
  2322  		return x.Address
  2323  	}
  2324  	return ""
  2325  }
  2326  
  2327  type FlowSpecComponentItem struct {
  2328  	state         protoimpl.MessageState
  2329  	sizeCache     protoimpl.SizeCache
  2330  	unknownFields protoimpl.UnknownFields
  2331  
  2332  	// Operator for Numeric type, Operand for Bitmask type
  2333  	Op    uint32 `protobuf:"varint,1,opt,name=op,proto3" json:"op,omitempty"`
  2334  	Value uint64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
  2335  }
  2336  
  2337  func (x *FlowSpecComponentItem) Reset() {
  2338  	*x = FlowSpecComponentItem{}
  2339  	if protoimpl.UnsafeEnabled {
  2340  		mi := &file_attribute_proto_msgTypes[30]
  2341  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2342  		ms.StoreMessageInfo(mi)
  2343  	}
  2344  }
  2345  
  2346  func (x *FlowSpecComponentItem) String() string {
  2347  	return protoimpl.X.MessageStringOf(x)
  2348  }
  2349  
  2350  func (*FlowSpecComponentItem) ProtoMessage() {}
  2351  
  2352  func (x *FlowSpecComponentItem) ProtoReflect() protoreflect.Message {
  2353  	mi := &file_attribute_proto_msgTypes[30]
  2354  	if protoimpl.UnsafeEnabled && x != nil {
  2355  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2356  		if ms.LoadMessageInfo() == nil {
  2357  			ms.StoreMessageInfo(mi)
  2358  		}
  2359  		return ms
  2360  	}
  2361  	return mi.MessageOf(x)
  2362  }
  2363  
  2364  // Deprecated: Use FlowSpecComponentItem.ProtoReflect.Descriptor instead.
  2365  func (*FlowSpecComponentItem) Descriptor() ([]byte, []int) {
  2366  	return file_attribute_proto_rawDescGZIP(), []int{30}
  2367  }
  2368  
  2369  func (x *FlowSpecComponentItem) GetOp() uint32 {
  2370  	if x != nil {
  2371  		return x.Op
  2372  	}
  2373  	return 0
  2374  }
  2375  
  2376  func (x *FlowSpecComponentItem) GetValue() uint64 {
  2377  	if x != nil {
  2378  		return x.Value
  2379  	}
  2380  	return 0
  2381  }
  2382  
  2383  type FlowSpecComponent struct {
  2384  	state         protoimpl.MessageState
  2385  	sizeCache     protoimpl.SizeCache
  2386  	unknownFields protoimpl.UnknownFields
  2387  
  2388  	Type  uint32                   `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
  2389  	Items []*FlowSpecComponentItem `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
  2390  }
  2391  
  2392  func (x *FlowSpecComponent) Reset() {
  2393  	*x = FlowSpecComponent{}
  2394  	if protoimpl.UnsafeEnabled {
  2395  		mi := &file_attribute_proto_msgTypes[31]
  2396  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2397  		ms.StoreMessageInfo(mi)
  2398  	}
  2399  }
  2400  
  2401  func (x *FlowSpecComponent) String() string {
  2402  	return protoimpl.X.MessageStringOf(x)
  2403  }
  2404  
  2405  func (*FlowSpecComponent) ProtoMessage() {}
  2406  
  2407  func (x *FlowSpecComponent) ProtoReflect() protoreflect.Message {
  2408  	mi := &file_attribute_proto_msgTypes[31]
  2409  	if protoimpl.UnsafeEnabled && x != nil {
  2410  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2411  		if ms.LoadMessageInfo() == nil {
  2412  			ms.StoreMessageInfo(mi)
  2413  		}
  2414  		return ms
  2415  	}
  2416  	return mi.MessageOf(x)
  2417  }
  2418  
  2419  // Deprecated: Use FlowSpecComponent.ProtoReflect.Descriptor instead.
  2420  func (*FlowSpecComponent) Descriptor() ([]byte, []int) {
  2421  	return file_attribute_proto_rawDescGZIP(), []int{31}
  2422  }
  2423  
  2424  func (x *FlowSpecComponent) GetType() uint32 {
  2425  	if x != nil {
  2426  		return x.Type
  2427  	}
  2428  	return 0
  2429  }
  2430  
  2431  func (x *FlowSpecComponent) GetItems() []*FlowSpecComponentItem {
  2432  	if x != nil {
  2433  		return x.Items
  2434  	}
  2435  	return nil
  2436  }
  2437  
  2438  // FlowSpecNLRI represents the NLRI for:
  2439  // - AFI=1, SAFI=133
  2440  // - AFI=2, SAFI=133
  2441  type FlowSpecNLRI struct {
  2442  	state         protoimpl.MessageState
  2443  	sizeCache     protoimpl.SizeCache
  2444  	unknownFields protoimpl.UnknownFields
  2445  
  2446  	// One of:
  2447  	// - FlowSpecIPPrefix
  2448  	// - FlowSpecMAC
  2449  	// - FlowSpecComponent
  2450  	Rules []*anypb.Any `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
  2451  }
  2452  
  2453  func (x *FlowSpecNLRI) Reset() {
  2454  	*x = FlowSpecNLRI{}
  2455  	if protoimpl.UnsafeEnabled {
  2456  		mi := &file_attribute_proto_msgTypes[32]
  2457  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2458  		ms.StoreMessageInfo(mi)
  2459  	}
  2460  }
  2461  
  2462  func (x *FlowSpecNLRI) String() string {
  2463  	return protoimpl.X.MessageStringOf(x)
  2464  }
  2465  
  2466  func (*FlowSpecNLRI) ProtoMessage() {}
  2467  
  2468  func (x *FlowSpecNLRI) ProtoReflect() protoreflect.Message {
  2469  	mi := &file_attribute_proto_msgTypes[32]
  2470  	if protoimpl.UnsafeEnabled && x != nil {
  2471  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2472  		if ms.LoadMessageInfo() == nil {
  2473  			ms.StoreMessageInfo(mi)
  2474  		}
  2475  		return ms
  2476  	}
  2477  	return mi.MessageOf(x)
  2478  }
  2479  
  2480  // Deprecated: Use FlowSpecNLRI.ProtoReflect.Descriptor instead.
  2481  func (*FlowSpecNLRI) Descriptor() ([]byte, []int) {
  2482  	return file_attribute_proto_rawDescGZIP(), []int{32}
  2483  }
  2484  
  2485  func (x *FlowSpecNLRI) GetRules() []*anypb.Any {
  2486  	if x != nil {
  2487  		return x.Rules
  2488  	}
  2489  	return nil
  2490  }
  2491  
  2492  // VPNFlowSpecNLRI represents the NLRI for:
  2493  // - AFI=1, SAFI=134
  2494  // - AFI=2, SAFI=134
  2495  // - AFI=25, SAFI=134
  2496  type VPNFlowSpecNLRI struct {
  2497  	state         protoimpl.MessageState
  2498  	sizeCache     protoimpl.SizeCache
  2499  	unknownFields protoimpl.UnknownFields
  2500  
  2501  	// One of:
  2502  	// - RouteDistinguisherTwoOctetAS
  2503  	// - RouteDistinguisherIPAddressAS
  2504  	// - RouteDistinguisherFourOctetAS
  2505  	Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
  2506  	// One of:
  2507  	// - FlowSpecIPPrefix
  2508  	// - FlowSpecMAC
  2509  	// - FlowSpecComponent
  2510  	Rules []*anypb.Any `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
  2511  }
  2512  
  2513  func (x *VPNFlowSpecNLRI) Reset() {
  2514  	*x = VPNFlowSpecNLRI{}
  2515  	if protoimpl.UnsafeEnabled {
  2516  		mi := &file_attribute_proto_msgTypes[33]
  2517  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2518  		ms.StoreMessageInfo(mi)
  2519  	}
  2520  }
  2521  
  2522  func (x *VPNFlowSpecNLRI) String() string {
  2523  	return protoimpl.X.MessageStringOf(x)
  2524  }
  2525  
  2526  func (*VPNFlowSpecNLRI) ProtoMessage() {}
  2527  
  2528  func (x *VPNFlowSpecNLRI) ProtoReflect() protoreflect.Message {
  2529  	mi := &file_attribute_proto_msgTypes[33]
  2530  	if protoimpl.UnsafeEnabled && x != nil {
  2531  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2532  		if ms.LoadMessageInfo() == nil {
  2533  			ms.StoreMessageInfo(mi)
  2534  		}
  2535  		return ms
  2536  	}
  2537  	return mi.MessageOf(x)
  2538  }
  2539  
  2540  // Deprecated: Use VPNFlowSpecNLRI.ProtoReflect.Descriptor instead.
  2541  func (*VPNFlowSpecNLRI) Descriptor() ([]byte, []int) {
  2542  	return file_attribute_proto_rawDescGZIP(), []int{33}
  2543  }
  2544  
  2545  func (x *VPNFlowSpecNLRI) GetRd() *anypb.Any {
  2546  	if x != nil {
  2547  		return x.Rd
  2548  	}
  2549  	return nil
  2550  }
  2551  
  2552  func (x *VPNFlowSpecNLRI) GetRules() []*anypb.Any {
  2553  	if x != nil {
  2554  		return x.Rules
  2555  	}
  2556  	return nil
  2557  }
  2558  
  2559  // OpaqueNLRI represents the NLRI for:
  2560  // - AFI=16397, SAFI=241
  2561  type OpaqueNLRI struct {
  2562  	state         protoimpl.MessageState
  2563  	sizeCache     protoimpl.SizeCache
  2564  	unknownFields protoimpl.UnknownFields
  2565  
  2566  	Key   []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
  2567  	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  2568  }
  2569  
  2570  func (x *OpaqueNLRI) Reset() {
  2571  	*x = OpaqueNLRI{}
  2572  	if protoimpl.UnsafeEnabled {
  2573  		mi := &file_attribute_proto_msgTypes[34]
  2574  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2575  		ms.StoreMessageInfo(mi)
  2576  	}
  2577  }
  2578  
  2579  func (x *OpaqueNLRI) String() string {
  2580  	return protoimpl.X.MessageStringOf(x)
  2581  }
  2582  
  2583  func (*OpaqueNLRI) ProtoMessage() {}
  2584  
  2585  func (x *OpaqueNLRI) ProtoReflect() protoreflect.Message {
  2586  	mi := &file_attribute_proto_msgTypes[34]
  2587  	if protoimpl.UnsafeEnabled && x != nil {
  2588  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2589  		if ms.LoadMessageInfo() == nil {
  2590  			ms.StoreMessageInfo(mi)
  2591  		}
  2592  		return ms
  2593  	}
  2594  	return mi.MessageOf(x)
  2595  }
  2596  
  2597  // Deprecated: Use OpaqueNLRI.ProtoReflect.Descriptor instead.
  2598  func (*OpaqueNLRI) Descriptor() ([]byte, []int) {
  2599  	return file_attribute_proto_rawDescGZIP(), []int{34}
  2600  }
  2601  
  2602  func (x *OpaqueNLRI) GetKey() []byte {
  2603  	if x != nil {
  2604  		return x.Key
  2605  	}
  2606  	return nil
  2607  }
  2608  
  2609  func (x *OpaqueNLRI) GetValue() []byte {
  2610  	if x != nil {
  2611  		return x.Value
  2612  	}
  2613  	return nil
  2614  }
  2615  
  2616  type LsNodeDescriptor struct {
  2617  	state         protoimpl.MessageState
  2618  	sizeCache     protoimpl.SizeCache
  2619  	unknownFields protoimpl.UnknownFields
  2620  
  2621  	Asn                    uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"`
  2622  	BgpLsId                uint32 `protobuf:"varint,2,opt,name=bgp_ls_id,json=bgpLsId,proto3" json:"bgp_ls_id,omitempty"`
  2623  	OspfAreaId             uint32 `protobuf:"varint,3,opt,name=ospf_area_id,json=ospfAreaId,proto3" json:"ospf_area_id,omitempty"`
  2624  	Pseudonode             bool   `protobuf:"varint,4,opt,name=pseudonode,proto3" json:"pseudonode,omitempty"`
  2625  	IgpRouterId            string `protobuf:"bytes,5,opt,name=igp_router_id,json=igpRouterId,proto3" json:"igp_router_id,omitempty"`
  2626  	BgpRouterId            string `protobuf:"bytes,6,opt,name=bgp_router_id,json=bgpRouterId,proto3" json:"bgp_router_id,omitempty"`
  2627  	BgpConfederationMember uint32 `protobuf:"varint,7,opt,name=bgp_confederation_member,json=bgpConfederationMember,proto3" json:"bgp_confederation_member,omitempty"`
  2628  }
  2629  
  2630  func (x *LsNodeDescriptor) Reset() {
  2631  	*x = LsNodeDescriptor{}
  2632  	if protoimpl.UnsafeEnabled {
  2633  		mi := &file_attribute_proto_msgTypes[35]
  2634  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2635  		ms.StoreMessageInfo(mi)
  2636  	}
  2637  }
  2638  
  2639  func (x *LsNodeDescriptor) String() string {
  2640  	return protoimpl.X.MessageStringOf(x)
  2641  }
  2642  
  2643  func (*LsNodeDescriptor) ProtoMessage() {}
  2644  
  2645  func (x *LsNodeDescriptor) ProtoReflect() protoreflect.Message {
  2646  	mi := &file_attribute_proto_msgTypes[35]
  2647  	if protoimpl.UnsafeEnabled && x != nil {
  2648  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2649  		if ms.LoadMessageInfo() == nil {
  2650  			ms.StoreMessageInfo(mi)
  2651  		}
  2652  		return ms
  2653  	}
  2654  	return mi.MessageOf(x)
  2655  }
  2656  
  2657  // Deprecated: Use LsNodeDescriptor.ProtoReflect.Descriptor instead.
  2658  func (*LsNodeDescriptor) Descriptor() ([]byte, []int) {
  2659  	return file_attribute_proto_rawDescGZIP(), []int{35}
  2660  }
  2661  
  2662  func (x *LsNodeDescriptor) GetAsn() uint32 {
  2663  	if x != nil {
  2664  		return x.Asn
  2665  	}
  2666  	return 0
  2667  }
  2668  
  2669  func (x *LsNodeDescriptor) GetBgpLsId() uint32 {
  2670  	if x != nil {
  2671  		return x.BgpLsId
  2672  	}
  2673  	return 0
  2674  }
  2675  
  2676  func (x *LsNodeDescriptor) GetOspfAreaId() uint32 {
  2677  	if x != nil {
  2678  		return x.OspfAreaId
  2679  	}
  2680  	return 0
  2681  }
  2682  
  2683  func (x *LsNodeDescriptor) GetPseudonode() bool {
  2684  	if x != nil {
  2685  		return x.Pseudonode
  2686  	}
  2687  	return false
  2688  }
  2689  
  2690  func (x *LsNodeDescriptor) GetIgpRouterId() string {
  2691  	if x != nil {
  2692  		return x.IgpRouterId
  2693  	}
  2694  	return ""
  2695  }
  2696  
  2697  func (x *LsNodeDescriptor) GetBgpRouterId() string {
  2698  	if x != nil {
  2699  		return x.BgpRouterId
  2700  	}
  2701  	return ""
  2702  }
  2703  
  2704  func (x *LsNodeDescriptor) GetBgpConfederationMember() uint32 {
  2705  	if x != nil {
  2706  		return x.BgpConfederationMember
  2707  	}
  2708  	return 0
  2709  }
  2710  
  2711  type LsLinkDescriptor struct {
  2712  	state         protoimpl.MessageState
  2713  	sizeCache     protoimpl.SizeCache
  2714  	unknownFields protoimpl.UnknownFields
  2715  
  2716  	LinkLocalId       uint32 `protobuf:"varint,1,opt,name=link_local_id,json=linkLocalId,proto3" json:"link_local_id,omitempty"`
  2717  	LinkRemoteId      uint32 `protobuf:"varint,2,opt,name=link_remote_id,json=linkRemoteId,proto3" json:"link_remote_id,omitempty"`
  2718  	InterfaceAddrIpv4 string `protobuf:"bytes,3,opt,name=interface_addr_ipv4,json=interfaceAddrIpv4,proto3" json:"interface_addr_ipv4,omitempty"`
  2719  	NeighborAddrIpv4  string `protobuf:"bytes,4,opt,name=neighbor_addr_ipv4,json=neighborAddrIpv4,proto3" json:"neighbor_addr_ipv4,omitempty"`
  2720  	InterfaceAddrIpv6 string `protobuf:"bytes,5,opt,name=interface_addr_ipv6,json=interfaceAddrIpv6,proto3" json:"interface_addr_ipv6,omitempty"`
  2721  	NeighborAddrIpv6  string `protobuf:"bytes,6,opt,name=neighbor_addr_ipv6,json=neighborAddrIpv6,proto3" json:"neighbor_addr_ipv6,omitempty"`
  2722  }
  2723  
  2724  func (x *LsLinkDescriptor) Reset() {
  2725  	*x = LsLinkDescriptor{}
  2726  	if protoimpl.UnsafeEnabled {
  2727  		mi := &file_attribute_proto_msgTypes[36]
  2728  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2729  		ms.StoreMessageInfo(mi)
  2730  	}
  2731  }
  2732  
  2733  func (x *LsLinkDescriptor) String() string {
  2734  	return protoimpl.X.MessageStringOf(x)
  2735  }
  2736  
  2737  func (*LsLinkDescriptor) ProtoMessage() {}
  2738  
  2739  func (x *LsLinkDescriptor) ProtoReflect() protoreflect.Message {
  2740  	mi := &file_attribute_proto_msgTypes[36]
  2741  	if protoimpl.UnsafeEnabled && x != nil {
  2742  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2743  		if ms.LoadMessageInfo() == nil {
  2744  			ms.StoreMessageInfo(mi)
  2745  		}
  2746  		return ms
  2747  	}
  2748  	return mi.MessageOf(x)
  2749  }
  2750  
  2751  // Deprecated: Use LsLinkDescriptor.ProtoReflect.Descriptor instead.
  2752  func (*LsLinkDescriptor) Descriptor() ([]byte, []int) {
  2753  	return file_attribute_proto_rawDescGZIP(), []int{36}
  2754  }
  2755  
  2756  func (x *LsLinkDescriptor) GetLinkLocalId() uint32 {
  2757  	if x != nil {
  2758  		return x.LinkLocalId
  2759  	}
  2760  	return 0
  2761  }
  2762  
  2763  func (x *LsLinkDescriptor) GetLinkRemoteId() uint32 {
  2764  	if x != nil {
  2765  		return x.LinkRemoteId
  2766  	}
  2767  	return 0
  2768  }
  2769  
  2770  func (x *LsLinkDescriptor) GetInterfaceAddrIpv4() string {
  2771  	if x != nil {
  2772  		return x.InterfaceAddrIpv4
  2773  	}
  2774  	return ""
  2775  }
  2776  
  2777  func (x *LsLinkDescriptor) GetNeighborAddrIpv4() string {
  2778  	if x != nil {
  2779  		return x.NeighborAddrIpv4
  2780  	}
  2781  	return ""
  2782  }
  2783  
  2784  func (x *LsLinkDescriptor) GetInterfaceAddrIpv6() string {
  2785  	if x != nil {
  2786  		return x.InterfaceAddrIpv6
  2787  	}
  2788  	return ""
  2789  }
  2790  
  2791  func (x *LsLinkDescriptor) GetNeighborAddrIpv6() string {
  2792  	if x != nil {
  2793  		return x.NeighborAddrIpv6
  2794  	}
  2795  	return ""
  2796  }
  2797  
  2798  type LsPrefixDescriptor struct {
  2799  	state         protoimpl.MessageState
  2800  	sizeCache     protoimpl.SizeCache
  2801  	unknownFields protoimpl.UnknownFields
  2802  
  2803  	IpReachability []string        `protobuf:"bytes,1,rep,name=ip_reachability,json=ipReachability,proto3" json:"ip_reachability,omitempty"`
  2804  	OspfRouteType  LsOspfRouteType `protobuf:"varint,2,opt,name=ospf_route_type,json=ospfRouteType,proto3,enum=apipb.LsOspfRouteType" json:"ospf_route_type,omitempty"`
  2805  }
  2806  
  2807  func (x *LsPrefixDescriptor) Reset() {
  2808  	*x = LsPrefixDescriptor{}
  2809  	if protoimpl.UnsafeEnabled {
  2810  		mi := &file_attribute_proto_msgTypes[37]
  2811  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2812  		ms.StoreMessageInfo(mi)
  2813  	}
  2814  }
  2815  
  2816  func (x *LsPrefixDescriptor) String() string {
  2817  	return protoimpl.X.MessageStringOf(x)
  2818  }
  2819  
  2820  func (*LsPrefixDescriptor) ProtoMessage() {}
  2821  
  2822  func (x *LsPrefixDescriptor) ProtoReflect() protoreflect.Message {
  2823  	mi := &file_attribute_proto_msgTypes[37]
  2824  	if protoimpl.UnsafeEnabled && x != nil {
  2825  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2826  		if ms.LoadMessageInfo() == nil {
  2827  			ms.StoreMessageInfo(mi)
  2828  		}
  2829  		return ms
  2830  	}
  2831  	return mi.MessageOf(x)
  2832  }
  2833  
  2834  // Deprecated: Use LsPrefixDescriptor.ProtoReflect.Descriptor instead.
  2835  func (*LsPrefixDescriptor) Descriptor() ([]byte, []int) {
  2836  	return file_attribute_proto_rawDescGZIP(), []int{37}
  2837  }
  2838  
  2839  func (x *LsPrefixDescriptor) GetIpReachability() []string {
  2840  	if x != nil {
  2841  		return x.IpReachability
  2842  	}
  2843  	return nil
  2844  }
  2845  
  2846  func (x *LsPrefixDescriptor) GetOspfRouteType() LsOspfRouteType {
  2847  	if x != nil {
  2848  		return x.OspfRouteType
  2849  	}
  2850  	return LsOspfRouteType_LS_OSPF_ROUTE_TYPE_UNKNOWN
  2851  }
  2852  
  2853  type LsNodeNLRI struct {
  2854  	state         protoimpl.MessageState
  2855  	sizeCache     protoimpl.SizeCache
  2856  	unknownFields protoimpl.UnknownFields
  2857  
  2858  	LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"`
  2859  }
  2860  
  2861  func (x *LsNodeNLRI) Reset() {
  2862  	*x = LsNodeNLRI{}
  2863  	if protoimpl.UnsafeEnabled {
  2864  		mi := &file_attribute_proto_msgTypes[38]
  2865  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2866  		ms.StoreMessageInfo(mi)
  2867  	}
  2868  }
  2869  
  2870  func (x *LsNodeNLRI) String() string {
  2871  	return protoimpl.X.MessageStringOf(x)
  2872  }
  2873  
  2874  func (*LsNodeNLRI) ProtoMessage() {}
  2875  
  2876  func (x *LsNodeNLRI) ProtoReflect() protoreflect.Message {
  2877  	mi := &file_attribute_proto_msgTypes[38]
  2878  	if protoimpl.UnsafeEnabled && x != nil {
  2879  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2880  		if ms.LoadMessageInfo() == nil {
  2881  			ms.StoreMessageInfo(mi)
  2882  		}
  2883  		return ms
  2884  	}
  2885  	return mi.MessageOf(x)
  2886  }
  2887  
  2888  // Deprecated: Use LsNodeNLRI.ProtoReflect.Descriptor instead.
  2889  func (*LsNodeNLRI) Descriptor() ([]byte, []int) {
  2890  	return file_attribute_proto_rawDescGZIP(), []int{38}
  2891  }
  2892  
  2893  func (x *LsNodeNLRI) GetLocalNode() *LsNodeDescriptor {
  2894  	if x != nil {
  2895  		return x.LocalNode
  2896  	}
  2897  	return nil
  2898  }
  2899  
  2900  type LsLinkNLRI struct {
  2901  	state         protoimpl.MessageState
  2902  	sizeCache     protoimpl.SizeCache
  2903  	unknownFields protoimpl.UnknownFields
  2904  
  2905  	LocalNode      *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"`
  2906  	RemoteNode     *LsNodeDescriptor `protobuf:"bytes,2,opt,name=remote_node,json=remoteNode,proto3" json:"remote_node,omitempty"`
  2907  	LinkDescriptor *LsLinkDescriptor `protobuf:"bytes,3,opt,name=link_descriptor,json=linkDescriptor,proto3" json:"link_descriptor,omitempty"`
  2908  }
  2909  
  2910  func (x *LsLinkNLRI) Reset() {
  2911  	*x = LsLinkNLRI{}
  2912  	if protoimpl.UnsafeEnabled {
  2913  		mi := &file_attribute_proto_msgTypes[39]
  2914  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2915  		ms.StoreMessageInfo(mi)
  2916  	}
  2917  }
  2918  
  2919  func (x *LsLinkNLRI) String() string {
  2920  	return protoimpl.X.MessageStringOf(x)
  2921  }
  2922  
  2923  func (*LsLinkNLRI) ProtoMessage() {}
  2924  
  2925  func (x *LsLinkNLRI) ProtoReflect() protoreflect.Message {
  2926  	mi := &file_attribute_proto_msgTypes[39]
  2927  	if protoimpl.UnsafeEnabled && x != nil {
  2928  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2929  		if ms.LoadMessageInfo() == nil {
  2930  			ms.StoreMessageInfo(mi)
  2931  		}
  2932  		return ms
  2933  	}
  2934  	return mi.MessageOf(x)
  2935  }
  2936  
  2937  // Deprecated: Use LsLinkNLRI.ProtoReflect.Descriptor instead.
  2938  func (*LsLinkNLRI) Descriptor() ([]byte, []int) {
  2939  	return file_attribute_proto_rawDescGZIP(), []int{39}
  2940  }
  2941  
  2942  func (x *LsLinkNLRI) GetLocalNode() *LsNodeDescriptor {
  2943  	if x != nil {
  2944  		return x.LocalNode
  2945  	}
  2946  	return nil
  2947  }
  2948  
  2949  func (x *LsLinkNLRI) GetRemoteNode() *LsNodeDescriptor {
  2950  	if x != nil {
  2951  		return x.RemoteNode
  2952  	}
  2953  	return nil
  2954  }
  2955  
  2956  func (x *LsLinkNLRI) GetLinkDescriptor() *LsLinkDescriptor {
  2957  	if x != nil {
  2958  		return x.LinkDescriptor
  2959  	}
  2960  	return nil
  2961  }
  2962  
  2963  type LsPrefixV4NLRI struct {
  2964  	state         protoimpl.MessageState
  2965  	sizeCache     protoimpl.SizeCache
  2966  	unknownFields protoimpl.UnknownFields
  2967  
  2968  	LocalNode        *LsNodeDescriptor   `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"`
  2969  	PrefixDescriptor *LsPrefixDescriptor `protobuf:"bytes,2,opt,name=prefix_descriptor,json=prefixDescriptor,proto3" json:"prefix_descriptor,omitempty"`
  2970  }
  2971  
  2972  func (x *LsPrefixV4NLRI) Reset() {
  2973  	*x = LsPrefixV4NLRI{}
  2974  	if protoimpl.UnsafeEnabled {
  2975  		mi := &file_attribute_proto_msgTypes[40]
  2976  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2977  		ms.StoreMessageInfo(mi)
  2978  	}
  2979  }
  2980  
  2981  func (x *LsPrefixV4NLRI) String() string {
  2982  	return protoimpl.X.MessageStringOf(x)
  2983  }
  2984  
  2985  func (*LsPrefixV4NLRI) ProtoMessage() {}
  2986  
  2987  func (x *LsPrefixV4NLRI) ProtoReflect() protoreflect.Message {
  2988  	mi := &file_attribute_proto_msgTypes[40]
  2989  	if protoimpl.UnsafeEnabled && x != nil {
  2990  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2991  		if ms.LoadMessageInfo() == nil {
  2992  			ms.StoreMessageInfo(mi)
  2993  		}
  2994  		return ms
  2995  	}
  2996  	return mi.MessageOf(x)
  2997  }
  2998  
  2999  // Deprecated: Use LsPrefixV4NLRI.ProtoReflect.Descriptor instead.
  3000  func (*LsPrefixV4NLRI) Descriptor() ([]byte, []int) {
  3001  	return file_attribute_proto_rawDescGZIP(), []int{40}
  3002  }
  3003  
  3004  func (x *LsPrefixV4NLRI) GetLocalNode() *LsNodeDescriptor {
  3005  	if x != nil {
  3006  		return x.LocalNode
  3007  	}
  3008  	return nil
  3009  }
  3010  
  3011  func (x *LsPrefixV4NLRI) GetPrefixDescriptor() *LsPrefixDescriptor {
  3012  	if x != nil {
  3013  		return x.PrefixDescriptor
  3014  	}
  3015  	return nil
  3016  }
  3017  
  3018  type LsPrefixV6NLRI struct {
  3019  	state         protoimpl.MessageState
  3020  	sizeCache     protoimpl.SizeCache
  3021  	unknownFields protoimpl.UnknownFields
  3022  
  3023  	LocalNode        *LsNodeDescriptor   `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"`
  3024  	PrefixDescriptor *LsPrefixDescriptor `protobuf:"bytes,2,opt,name=prefix_descriptor,json=prefixDescriptor,proto3" json:"prefix_descriptor,omitempty"`
  3025  }
  3026  
  3027  func (x *LsPrefixV6NLRI) Reset() {
  3028  	*x = LsPrefixV6NLRI{}
  3029  	if protoimpl.UnsafeEnabled {
  3030  		mi := &file_attribute_proto_msgTypes[41]
  3031  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3032  		ms.StoreMessageInfo(mi)
  3033  	}
  3034  }
  3035  
  3036  func (x *LsPrefixV6NLRI) String() string {
  3037  	return protoimpl.X.MessageStringOf(x)
  3038  }
  3039  
  3040  func (*LsPrefixV6NLRI) ProtoMessage() {}
  3041  
  3042  func (x *LsPrefixV6NLRI) ProtoReflect() protoreflect.Message {
  3043  	mi := &file_attribute_proto_msgTypes[41]
  3044  	if protoimpl.UnsafeEnabled && x != nil {
  3045  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3046  		if ms.LoadMessageInfo() == nil {
  3047  			ms.StoreMessageInfo(mi)
  3048  		}
  3049  		return ms
  3050  	}
  3051  	return mi.MessageOf(x)
  3052  }
  3053  
  3054  // Deprecated: Use LsPrefixV6NLRI.ProtoReflect.Descriptor instead.
  3055  func (*LsPrefixV6NLRI) Descriptor() ([]byte, []int) {
  3056  	return file_attribute_proto_rawDescGZIP(), []int{41}
  3057  }
  3058  
  3059  func (x *LsPrefixV6NLRI) GetLocalNode() *LsNodeDescriptor {
  3060  	if x != nil {
  3061  		return x.LocalNode
  3062  	}
  3063  	return nil
  3064  }
  3065  
  3066  func (x *LsPrefixV6NLRI) GetPrefixDescriptor() *LsPrefixDescriptor {
  3067  	if x != nil {
  3068  		return x.PrefixDescriptor
  3069  	}
  3070  	return nil
  3071  }
  3072  
  3073  // LsAddrPrefix represents the NLRI for:
  3074  // - AFI=16388, SAFI=71
  3075  type LsAddrPrefix struct {
  3076  	state         protoimpl.MessageState
  3077  	sizeCache     protoimpl.SizeCache
  3078  	unknownFields protoimpl.UnknownFields
  3079  
  3080  	Type LsNLRIType `protobuf:"varint,1,opt,name=type,proto3,enum=apipb.LsNLRIType" json:"type,omitempty"`
  3081  	// One of:
  3082  	// - LsNodeNLRI
  3083  	// - LsLinkNLRI
  3084  	// - LsPrefixV4NLRI
  3085  	// - LsPrefixV6NLRI
  3086  	Nlri       *anypb.Any   `protobuf:"bytes,2,opt,name=nlri,proto3" json:"nlri,omitempty"`
  3087  	Length     uint32       `protobuf:"varint,3,opt,name=length,proto3" json:"length,omitempty"`
  3088  	ProtocolId LsProtocolID `protobuf:"varint,4,opt,name=protocol_id,json=protocolId,proto3,enum=apipb.LsProtocolID" json:"protocol_id,omitempty"`
  3089  	Identifier uint64       `protobuf:"varint,5,opt,name=identifier,proto3" json:"identifier,omitempty"`
  3090  }
  3091  
  3092  func (x *LsAddrPrefix) Reset() {
  3093  	*x = LsAddrPrefix{}
  3094  	if protoimpl.UnsafeEnabled {
  3095  		mi := &file_attribute_proto_msgTypes[42]
  3096  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3097  		ms.StoreMessageInfo(mi)
  3098  	}
  3099  }
  3100  
  3101  func (x *LsAddrPrefix) String() string {
  3102  	return protoimpl.X.MessageStringOf(x)
  3103  }
  3104  
  3105  func (*LsAddrPrefix) ProtoMessage() {}
  3106  
  3107  func (x *LsAddrPrefix) ProtoReflect() protoreflect.Message {
  3108  	mi := &file_attribute_proto_msgTypes[42]
  3109  	if protoimpl.UnsafeEnabled && x != nil {
  3110  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3111  		if ms.LoadMessageInfo() == nil {
  3112  			ms.StoreMessageInfo(mi)
  3113  		}
  3114  		return ms
  3115  	}
  3116  	return mi.MessageOf(x)
  3117  }
  3118  
  3119  // Deprecated: Use LsAddrPrefix.ProtoReflect.Descriptor instead.
  3120  func (*LsAddrPrefix) Descriptor() ([]byte, []int) {
  3121  	return file_attribute_proto_rawDescGZIP(), []int{42}
  3122  }
  3123  
  3124  func (x *LsAddrPrefix) GetType() LsNLRIType {
  3125  	if x != nil {
  3126  		return x.Type
  3127  	}
  3128  	return LsNLRIType_LS_NLRI_UNKNOWN
  3129  }
  3130  
  3131  func (x *LsAddrPrefix) GetNlri() *anypb.Any {
  3132  	if x != nil {
  3133  		return x.Nlri
  3134  	}
  3135  	return nil
  3136  }
  3137  
  3138  func (x *LsAddrPrefix) GetLength() uint32 {
  3139  	if x != nil {
  3140  		return x.Length
  3141  	}
  3142  	return 0
  3143  }
  3144  
  3145  func (x *LsAddrPrefix) GetProtocolId() LsProtocolID {
  3146  	if x != nil {
  3147  		return x.ProtocolId
  3148  	}
  3149  	return LsProtocolID_LS_PROTOCOL_UNKNOWN
  3150  }
  3151  
  3152  func (x *LsAddrPrefix) GetIdentifier() uint64 {
  3153  	if x != nil {
  3154  		return x.Identifier
  3155  	}
  3156  	return 0
  3157  }
  3158  
  3159  type MUPInterworkSegmentDiscoveryRoute struct {
  3160  	state         protoimpl.MessageState
  3161  	sizeCache     protoimpl.SizeCache
  3162  	unknownFields protoimpl.UnknownFields
  3163  
  3164  	// One of:
  3165  	// - RouteDistinguisherTwoOctetASN
  3166  	// - RouteDistinguisherIPAddress
  3167  	// - RouteDistinguisherFourOctetASN
  3168  	Rd     *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
  3169  	Prefix string     `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"`
  3170  }
  3171  
  3172  func (x *MUPInterworkSegmentDiscoveryRoute) Reset() {
  3173  	*x = MUPInterworkSegmentDiscoveryRoute{}
  3174  	if protoimpl.UnsafeEnabled {
  3175  		mi := &file_attribute_proto_msgTypes[43]
  3176  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3177  		ms.StoreMessageInfo(mi)
  3178  	}
  3179  }
  3180  
  3181  func (x *MUPInterworkSegmentDiscoveryRoute) String() string {
  3182  	return protoimpl.X.MessageStringOf(x)
  3183  }
  3184  
  3185  func (*MUPInterworkSegmentDiscoveryRoute) ProtoMessage() {}
  3186  
  3187  func (x *MUPInterworkSegmentDiscoveryRoute) ProtoReflect() protoreflect.Message {
  3188  	mi := &file_attribute_proto_msgTypes[43]
  3189  	if protoimpl.UnsafeEnabled && x != nil {
  3190  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3191  		if ms.LoadMessageInfo() == nil {
  3192  			ms.StoreMessageInfo(mi)
  3193  		}
  3194  		return ms
  3195  	}
  3196  	return mi.MessageOf(x)
  3197  }
  3198  
  3199  // Deprecated: Use MUPInterworkSegmentDiscoveryRoute.ProtoReflect.Descriptor instead.
  3200  func (*MUPInterworkSegmentDiscoveryRoute) Descriptor() ([]byte, []int) {
  3201  	return file_attribute_proto_rawDescGZIP(), []int{43}
  3202  }
  3203  
  3204  func (x *MUPInterworkSegmentDiscoveryRoute) GetRd() *anypb.Any {
  3205  	if x != nil {
  3206  		return x.Rd
  3207  	}
  3208  	return nil
  3209  }
  3210  
  3211  func (x *MUPInterworkSegmentDiscoveryRoute) GetPrefix() string {
  3212  	if x != nil {
  3213  		return x.Prefix
  3214  	}
  3215  	return ""
  3216  }
  3217  
  3218  type MUPDirectSegmentDiscoveryRoute struct {
  3219  	state         protoimpl.MessageState
  3220  	sizeCache     protoimpl.SizeCache
  3221  	unknownFields protoimpl.UnknownFields
  3222  
  3223  	// One of:
  3224  	// - RouteDistinguisherTwoOctetASN
  3225  	// - RouteDistinguisherIPAddress
  3226  	// - RouteDistinguisherFourOctetASN
  3227  	Rd      *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
  3228  	Address string     `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
  3229  }
  3230  
  3231  func (x *MUPDirectSegmentDiscoveryRoute) Reset() {
  3232  	*x = MUPDirectSegmentDiscoveryRoute{}
  3233  	if protoimpl.UnsafeEnabled {
  3234  		mi := &file_attribute_proto_msgTypes[44]
  3235  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3236  		ms.StoreMessageInfo(mi)
  3237  	}
  3238  }
  3239  
  3240  func (x *MUPDirectSegmentDiscoveryRoute) String() string {
  3241  	return protoimpl.X.MessageStringOf(x)
  3242  }
  3243  
  3244  func (*MUPDirectSegmentDiscoveryRoute) ProtoMessage() {}
  3245  
  3246  func (x *MUPDirectSegmentDiscoveryRoute) ProtoReflect() protoreflect.Message {
  3247  	mi := &file_attribute_proto_msgTypes[44]
  3248  	if protoimpl.UnsafeEnabled && x != nil {
  3249  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3250  		if ms.LoadMessageInfo() == nil {
  3251  			ms.StoreMessageInfo(mi)
  3252  		}
  3253  		return ms
  3254  	}
  3255  	return mi.MessageOf(x)
  3256  }
  3257  
  3258  // Deprecated: Use MUPDirectSegmentDiscoveryRoute.ProtoReflect.Descriptor instead.
  3259  func (*MUPDirectSegmentDiscoveryRoute) Descriptor() ([]byte, []int) {
  3260  	return file_attribute_proto_rawDescGZIP(), []int{44}
  3261  }
  3262  
  3263  func (x *MUPDirectSegmentDiscoveryRoute) GetRd() *anypb.Any {
  3264  	if x != nil {
  3265  		return x.Rd
  3266  	}
  3267  	return nil
  3268  }
  3269  
  3270  func (x *MUPDirectSegmentDiscoveryRoute) GetAddress() string {
  3271  	if x != nil {
  3272  		return x.Address
  3273  	}
  3274  	return ""
  3275  }
  3276  
  3277  type MUPType1SessionTransformedRoute struct {
  3278  	state         protoimpl.MessageState
  3279  	sizeCache     protoimpl.SizeCache
  3280  	unknownFields protoimpl.UnknownFields
  3281  
  3282  	// One of:
  3283  	// - RouteDistinguisherTwoOctetASN
  3284  	// - RouteDistinguisherIPAddress
  3285  	// - RouteDistinguisherFourOctetASN
  3286  	Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
  3287  	// Deprecated: Do not use.
  3288  	PrefixLength          uint32 `protobuf:"varint,2,opt,name=prefix_length,json=prefixLength,proto3" json:"prefix_length,omitempty"`
  3289  	Prefix                string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
  3290  	Teid                  uint32 `protobuf:"varint,4,opt,name=teid,proto3" json:"teid,omitempty"`
  3291  	Qfi                   uint32 `protobuf:"varint,5,opt,name=qfi,proto3" json:"qfi,omitempty"`
  3292  	EndpointAddressLength uint32 `protobuf:"varint,6,opt,name=endpoint_address_length,json=endpointAddressLength,proto3" json:"endpoint_address_length,omitempty"`
  3293  	EndpointAddress       string `protobuf:"bytes,7,opt,name=endpoint_address,json=endpointAddress,proto3" json:"endpoint_address,omitempty"`
  3294  	SourceAddressLength   uint32 `protobuf:"varint,8,opt,name=source_address_length,json=sourceAddressLength,proto3" json:"source_address_length,omitempty"`
  3295  	SourceAddress         string `protobuf:"bytes,9,opt,name=source_address,json=sourceAddress,proto3" json:"source_address,omitempty"`
  3296  }
  3297  
  3298  func (x *MUPType1SessionTransformedRoute) Reset() {
  3299  	*x = MUPType1SessionTransformedRoute{}
  3300  	if protoimpl.UnsafeEnabled {
  3301  		mi := &file_attribute_proto_msgTypes[45]
  3302  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3303  		ms.StoreMessageInfo(mi)
  3304  	}
  3305  }
  3306  
  3307  func (x *MUPType1SessionTransformedRoute) String() string {
  3308  	return protoimpl.X.MessageStringOf(x)
  3309  }
  3310  
  3311  func (*MUPType1SessionTransformedRoute) ProtoMessage() {}
  3312  
  3313  func (x *MUPType1SessionTransformedRoute) ProtoReflect() protoreflect.Message {
  3314  	mi := &file_attribute_proto_msgTypes[45]
  3315  	if protoimpl.UnsafeEnabled && x != nil {
  3316  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3317  		if ms.LoadMessageInfo() == nil {
  3318  			ms.StoreMessageInfo(mi)
  3319  		}
  3320  		return ms
  3321  	}
  3322  	return mi.MessageOf(x)
  3323  }
  3324  
  3325  // Deprecated: Use MUPType1SessionTransformedRoute.ProtoReflect.Descriptor instead.
  3326  func (*MUPType1SessionTransformedRoute) Descriptor() ([]byte, []int) {
  3327  	return file_attribute_proto_rawDescGZIP(), []int{45}
  3328  }
  3329  
  3330  func (x *MUPType1SessionTransformedRoute) GetRd() *anypb.Any {
  3331  	if x != nil {
  3332  		return x.Rd
  3333  	}
  3334  	return nil
  3335  }
  3336  
  3337  // Deprecated: Do not use.
  3338  func (x *MUPType1SessionTransformedRoute) GetPrefixLength() uint32 {
  3339  	if x != nil {
  3340  		return x.PrefixLength
  3341  	}
  3342  	return 0
  3343  }
  3344  
  3345  func (x *MUPType1SessionTransformedRoute) GetPrefix() string {
  3346  	if x != nil {
  3347  		return x.Prefix
  3348  	}
  3349  	return ""
  3350  }
  3351  
  3352  func (x *MUPType1SessionTransformedRoute) GetTeid() uint32 {
  3353  	if x != nil {
  3354  		return x.Teid
  3355  	}
  3356  	return 0
  3357  }
  3358  
  3359  func (x *MUPType1SessionTransformedRoute) GetQfi() uint32 {
  3360  	if x != nil {
  3361  		return x.Qfi
  3362  	}
  3363  	return 0
  3364  }
  3365  
  3366  func (x *MUPType1SessionTransformedRoute) GetEndpointAddressLength() uint32 {
  3367  	if x != nil {
  3368  		return x.EndpointAddressLength
  3369  	}
  3370  	return 0
  3371  }
  3372  
  3373  func (x *MUPType1SessionTransformedRoute) GetEndpointAddress() string {
  3374  	if x != nil {
  3375  		return x.EndpointAddress
  3376  	}
  3377  	return ""
  3378  }
  3379  
  3380  func (x *MUPType1SessionTransformedRoute) GetSourceAddressLength() uint32 {
  3381  	if x != nil {
  3382  		return x.SourceAddressLength
  3383  	}
  3384  	return 0
  3385  }
  3386  
  3387  func (x *MUPType1SessionTransformedRoute) GetSourceAddress() string {
  3388  	if x != nil {
  3389  		return x.SourceAddress
  3390  	}
  3391  	return ""
  3392  }
  3393  
  3394  type MUPType2SessionTransformedRoute struct {
  3395  	state         protoimpl.MessageState
  3396  	sizeCache     protoimpl.SizeCache
  3397  	unknownFields protoimpl.UnknownFields
  3398  
  3399  	// One of:
  3400  	// - RouteDistinguisherTwoOctetASN
  3401  	// - RouteDistinguisherIPAddress
  3402  	// - RouteDistinguisherFourOctetASN
  3403  	Rd                    *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
  3404  	EndpointAddressLength uint32     `protobuf:"varint,2,opt,name=endpoint_address_length,json=endpointAddressLength,proto3" json:"endpoint_address_length,omitempty"`
  3405  	EndpointAddress       string     `protobuf:"bytes,3,opt,name=endpoint_address,json=endpointAddress,proto3" json:"endpoint_address,omitempty"`
  3406  	Teid                  uint32     `protobuf:"varint,4,opt,name=teid,proto3" json:"teid,omitempty"`
  3407  }
  3408  
  3409  func (x *MUPType2SessionTransformedRoute) Reset() {
  3410  	*x = MUPType2SessionTransformedRoute{}
  3411  	if protoimpl.UnsafeEnabled {
  3412  		mi := &file_attribute_proto_msgTypes[46]
  3413  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3414  		ms.StoreMessageInfo(mi)
  3415  	}
  3416  }
  3417  
  3418  func (x *MUPType2SessionTransformedRoute) String() string {
  3419  	return protoimpl.X.MessageStringOf(x)
  3420  }
  3421  
  3422  func (*MUPType2SessionTransformedRoute) ProtoMessage() {}
  3423  
  3424  func (x *MUPType2SessionTransformedRoute) ProtoReflect() protoreflect.Message {
  3425  	mi := &file_attribute_proto_msgTypes[46]
  3426  	if protoimpl.UnsafeEnabled && x != nil {
  3427  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3428  		if ms.LoadMessageInfo() == nil {
  3429  			ms.StoreMessageInfo(mi)
  3430  		}
  3431  		return ms
  3432  	}
  3433  	return mi.MessageOf(x)
  3434  }
  3435  
  3436  // Deprecated: Use MUPType2SessionTransformedRoute.ProtoReflect.Descriptor instead.
  3437  func (*MUPType2SessionTransformedRoute) Descriptor() ([]byte, []int) {
  3438  	return file_attribute_proto_rawDescGZIP(), []int{46}
  3439  }
  3440  
  3441  func (x *MUPType2SessionTransformedRoute) GetRd() *anypb.Any {
  3442  	if x != nil {
  3443  		return x.Rd
  3444  	}
  3445  	return nil
  3446  }
  3447  
  3448  func (x *MUPType2SessionTransformedRoute) GetEndpointAddressLength() uint32 {
  3449  	if x != nil {
  3450  		return x.EndpointAddressLength
  3451  	}
  3452  	return 0
  3453  }
  3454  
  3455  func (x *MUPType2SessionTransformedRoute) GetEndpointAddress() string {
  3456  	if x != nil {
  3457  		return x.EndpointAddress
  3458  	}
  3459  	return ""
  3460  }
  3461  
  3462  func (x *MUPType2SessionTransformedRoute) GetTeid() uint32 {
  3463  	if x != nil {
  3464  		return x.Teid
  3465  	}
  3466  	return 0
  3467  }
  3468  
  3469  type MpReachNLRIAttribute struct {
  3470  	state         protoimpl.MessageState
  3471  	sizeCache     protoimpl.SizeCache
  3472  	unknownFields protoimpl.UnknownFields
  3473  
  3474  	Family   *Family  `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"`
  3475  	NextHops []string `protobuf:"bytes,2,rep,name=next_hops,json=nextHops,proto3" json:"next_hops,omitempty"`
  3476  	// Each NLRI must be one of:
  3477  	// - IPAddressPrefix
  3478  	// - LabeledIPAddressPrefix
  3479  	// - EncapsulationNLRI
  3480  	// - EVPNEthernetAutoDiscoveryRoute
  3481  	// - EVPNMACIPAdvertisementRoute
  3482  	// - EVPNInclusiveMulticastEthernetTagRoute
  3483  	// - EVPNEthernetSegmentRoute
  3484  	// - EVPNIPPrefixRoute
  3485  	// - EVPNIPMSIRoute
  3486  	// - LabeledVPNIPAddressPrefix
  3487  	// - RouteTargetMembershipNLRI
  3488  	// - FlowSpecNLRI
  3489  	// - VPNFlowSpecNLRI
  3490  	// - OpaqueNLRI
  3491  	// - LsAddrPrefix
  3492  	// - SR Policy NLRI
  3493  	// - MUPInterworkSegmentDiscoveryRoute
  3494  	// - MUPDirectSegmentDiscoveryRoute
  3495  	// - MUPType1SessionTransformedRoute
  3496  	// - MUPType2SessionTransformedRoute
  3497  	Nlris []*anypb.Any `protobuf:"bytes,3,rep,name=nlris,proto3" json:"nlris,omitempty"`
  3498  }
  3499  
  3500  func (x *MpReachNLRIAttribute) Reset() {
  3501  	*x = MpReachNLRIAttribute{}
  3502  	if protoimpl.UnsafeEnabled {
  3503  		mi := &file_attribute_proto_msgTypes[47]
  3504  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3505  		ms.StoreMessageInfo(mi)
  3506  	}
  3507  }
  3508  
  3509  func (x *MpReachNLRIAttribute) String() string {
  3510  	return protoimpl.X.MessageStringOf(x)
  3511  }
  3512  
  3513  func (*MpReachNLRIAttribute) ProtoMessage() {}
  3514  
  3515  func (x *MpReachNLRIAttribute) ProtoReflect() protoreflect.Message {
  3516  	mi := &file_attribute_proto_msgTypes[47]
  3517  	if protoimpl.UnsafeEnabled && x != nil {
  3518  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3519  		if ms.LoadMessageInfo() == nil {
  3520  			ms.StoreMessageInfo(mi)
  3521  		}
  3522  		return ms
  3523  	}
  3524  	return mi.MessageOf(x)
  3525  }
  3526  
  3527  // Deprecated: Use MpReachNLRIAttribute.ProtoReflect.Descriptor instead.
  3528  func (*MpReachNLRIAttribute) Descriptor() ([]byte, []int) {
  3529  	return file_attribute_proto_rawDescGZIP(), []int{47}
  3530  }
  3531  
  3532  func (x *MpReachNLRIAttribute) GetFamily() *Family {
  3533  	if x != nil {
  3534  		return x.Family
  3535  	}
  3536  	return nil
  3537  }
  3538  
  3539  func (x *MpReachNLRIAttribute) GetNextHops() []string {
  3540  	if x != nil {
  3541  		return x.NextHops
  3542  	}
  3543  	return nil
  3544  }
  3545  
  3546  func (x *MpReachNLRIAttribute) GetNlris() []*anypb.Any {
  3547  	if x != nil {
  3548  		return x.Nlris
  3549  	}
  3550  	return nil
  3551  }
  3552  
  3553  type MpUnreachNLRIAttribute struct {
  3554  	state         protoimpl.MessageState
  3555  	sizeCache     protoimpl.SizeCache
  3556  	unknownFields protoimpl.UnknownFields
  3557  
  3558  	Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"`
  3559  	// The same as NLRI field of MpReachNLRIAttribute
  3560  	Nlris []*anypb.Any `protobuf:"bytes,3,rep,name=nlris,proto3" json:"nlris,omitempty"`
  3561  }
  3562  
  3563  func (x *MpUnreachNLRIAttribute) Reset() {
  3564  	*x = MpUnreachNLRIAttribute{}
  3565  	if protoimpl.UnsafeEnabled {
  3566  		mi := &file_attribute_proto_msgTypes[48]
  3567  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3568  		ms.StoreMessageInfo(mi)
  3569  	}
  3570  }
  3571  
  3572  func (x *MpUnreachNLRIAttribute) String() string {
  3573  	return protoimpl.X.MessageStringOf(x)
  3574  }
  3575  
  3576  func (*MpUnreachNLRIAttribute) ProtoMessage() {}
  3577  
  3578  func (x *MpUnreachNLRIAttribute) ProtoReflect() protoreflect.Message {
  3579  	mi := &file_attribute_proto_msgTypes[48]
  3580  	if protoimpl.UnsafeEnabled && x != nil {
  3581  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3582  		if ms.LoadMessageInfo() == nil {
  3583  			ms.StoreMessageInfo(mi)
  3584  		}
  3585  		return ms
  3586  	}
  3587  	return mi.MessageOf(x)
  3588  }
  3589  
  3590  // Deprecated: Use MpUnreachNLRIAttribute.ProtoReflect.Descriptor instead.
  3591  func (*MpUnreachNLRIAttribute) Descriptor() ([]byte, []int) {
  3592  	return file_attribute_proto_rawDescGZIP(), []int{48}
  3593  }
  3594  
  3595  func (x *MpUnreachNLRIAttribute) GetFamily() *Family {
  3596  	if x != nil {
  3597  		return x.Family
  3598  	}
  3599  	return nil
  3600  }
  3601  
  3602  func (x *MpUnreachNLRIAttribute) GetNlris() []*anypb.Any {
  3603  	if x != nil {
  3604  		return x.Nlris
  3605  	}
  3606  	return nil
  3607  }
  3608  
  3609  type TwoOctetAsSpecificExtended struct {
  3610  	state         protoimpl.MessageState
  3611  	sizeCache     protoimpl.SizeCache
  3612  	unknownFields protoimpl.UnknownFields
  3613  
  3614  	IsTransitive bool   `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"`
  3615  	SubType      uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"`
  3616  	Asn          uint32 `protobuf:"varint,3,opt,name=asn,proto3" json:"asn,omitempty"`
  3617  	LocalAdmin   uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
  3618  }
  3619  
  3620  func (x *TwoOctetAsSpecificExtended) Reset() {
  3621  	*x = TwoOctetAsSpecificExtended{}
  3622  	if protoimpl.UnsafeEnabled {
  3623  		mi := &file_attribute_proto_msgTypes[49]
  3624  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3625  		ms.StoreMessageInfo(mi)
  3626  	}
  3627  }
  3628  
  3629  func (x *TwoOctetAsSpecificExtended) String() string {
  3630  	return protoimpl.X.MessageStringOf(x)
  3631  }
  3632  
  3633  func (*TwoOctetAsSpecificExtended) ProtoMessage() {}
  3634  
  3635  func (x *TwoOctetAsSpecificExtended) ProtoReflect() protoreflect.Message {
  3636  	mi := &file_attribute_proto_msgTypes[49]
  3637  	if protoimpl.UnsafeEnabled && x != nil {
  3638  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3639  		if ms.LoadMessageInfo() == nil {
  3640  			ms.StoreMessageInfo(mi)
  3641  		}
  3642  		return ms
  3643  	}
  3644  	return mi.MessageOf(x)
  3645  }
  3646  
  3647  // Deprecated: Use TwoOctetAsSpecificExtended.ProtoReflect.Descriptor instead.
  3648  func (*TwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) {
  3649  	return file_attribute_proto_rawDescGZIP(), []int{49}
  3650  }
  3651  
  3652  func (x *TwoOctetAsSpecificExtended) GetIsTransitive() bool {
  3653  	if x != nil {
  3654  		return x.IsTransitive
  3655  	}
  3656  	return false
  3657  }
  3658  
  3659  func (x *TwoOctetAsSpecificExtended) GetSubType() uint32 {
  3660  	if x != nil {
  3661  		return x.SubType
  3662  	}
  3663  	return 0
  3664  }
  3665  
  3666  func (x *TwoOctetAsSpecificExtended) GetAsn() uint32 {
  3667  	if x != nil {
  3668  		return x.Asn
  3669  	}
  3670  	return 0
  3671  }
  3672  
  3673  func (x *TwoOctetAsSpecificExtended) GetLocalAdmin() uint32 {
  3674  	if x != nil {
  3675  		return x.LocalAdmin
  3676  	}
  3677  	return 0
  3678  }
  3679  
  3680  type IPv4AddressSpecificExtended struct {
  3681  	state         protoimpl.MessageState
  3682  	sizeCache     protoimpl.SizeCache
  3683  	unknownFields protoimpl.UnknownFields
  3684  
  3685  	IsTransitive bool   `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"`
  3686  	SubType      uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"`
  3687  	Address      string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
  3688  	LocalAdmin   uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
  3689  }
  3690  
  3691  func (x *IPv4AddressSpecificExtended) Reset() {
  3692  	*x = IPv4AddressSpecificExtended{}
  3693  	if protoimpl.UnsafeEnabled {
  3694  		mi := &file_attribute_proto_msgTypes[50]
  3695  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3696  		ms.StoreMessageInfo(mi)
  3697  	}
  3698  }
  3699  
  3700  func (x *IPv4AddressSpecificExtended) String() string {
  3701  	return protoimpl.X.MessageStringOf(x)
  3702  }
  3703  
  3704  func (*IPv4AddressSpecificExtended) ProtoMessage() {}
  3705  
  3706  func (x *IPv4AddressSpecificExtended) ProtoReflect() protoreflect.Message {
  3707  	mi := &file_attribute_proto_msgTypes[50]
  3708  	if protoimpl.UnsafeEnabled && x != nil {
  3709  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3710  		if ms.LoadMessageInfo() == nil {
  3711  			ms.StoreMessageInfo(mi)
  3712  		}
  3713  		return ms
  3714  	}
  3715  	return mi.MessageOf(x)
  3716  }
  3717  
  3718  // Deprecated: Use IPv4AddressSpecificExtended.ProtoReflect.Descriptor instead.
  3719  func (*IPv4AddressSpecificExtended) Descriptor() ([]byte, []int) {
  3720  	return file_attribute_proto_rawDescGZIP(), []int{50}
  3721  }
  3722  
  3723  func (x *IPv4AddressSpecificExtended) GetIsTransitive() bool {
  3724  	if x != nil {
  3725  		return x.IsTransitive
  3726  	}
  3727  	return false
  3728  }
  3729  
  3730  func (x *IPv4AddressSpecificExtended) GetSubType() uint32 {
  3731  	if x != nil {
  3732  		return x.SubType
  3733  	}
  3734  	return 0
  3735  }
  3736  
  3737  func (x *IPv4AddressSpecificExtended) GetAddress() string {
  3738  	if x != nil {
  3739  		return x.Address
  3740  	}
  3741  	return ""
  3742  }
  3743  
  3744  func (x *IPv4AddressSpecificExtended) GetLocalAdmin() uint32 {
  3745  	if x != nil {
  3746  		return x.LocalAdmin
  3747  	}
  3748  	return 0
  3749  }
  3750  
  3751  type FourOctetAsSpecificExtended struct {
  3752  	state         protoimpl.MessageState
  3753  	sizeCache     protoimpl.SizeCache
  3754  	unknownFields protoimpl.UnknownFields
  3755  
  3756  	IsTransitive bool   `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"`
  3757  	SubType      uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"`
  3758  	Asn          uint32 `protobuf:"varint,3,opt,name=asn,proto3" json:"asn,omitempty"`
  3759  	LocalAdmin   uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
  3760  }
  3761  
  3762  func (x *FourOctetAsSpecificExtended) Reset() {
  3763  	*x = FourOctetAsSpecificExtended{}
  3764  	if protoimpl.UnsafeEnabled {
  3765  		mi := &file_attribute_proto_msgTypes[51]
  3766  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3767  		ms.StoreMessageInfo(mi)
  3768  	}
  3769  }
  3770  
  3771  func (x *FourOctetAsSpecificExtended) String() string {
  3772  	return protoimpl.X.MessageStringOf(x)
  3773  }
  3774  
  3775  func (*FourOctetAsSpecificExtended) ProtoMessage() {}
  3776  
  3777  func (x *FourOctetAsSpecificExtended) ProtoReflect() protoreflect.Message {
  3778  	mi := &file_attribute_proto_msgTypes[51]
  3779  	if protoimpl.UnsafeEnabled && x != nil {
  3780  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3781  		if ms.LoadMessageInfo() == nil {
  3782  			ms.StoreMessageInfo(mi)
  3783  		}
  3784  		return ms
  3785  	}
  3786  	return mi.MessageOf(x)
  3787  }
  3788  
  3789  // Deprecated: Use FourOctetAsSpecificExtended.ProtoReflect.Descriptor instead.
  3790  func (*FourOctetAsSpecificExtended) Descriptor() ([]byte, []int) {
  3791  	return file_attribute_proto_rawDescGZIP(), []int{51}
  3792  }
  3793  
  3794  func (x *FourOctetAsSpecificExtended) GetIsTransitive() bool {
  3795  	if x != nil {
  3796  		return x.IsTransitive
  3797  	}
  3798  	return false
  3799  }
  3800  
  3801  func (x *FourOctetAsSpecificExtended) GetSubType() uint32 {
  3802  	if x != nil {
  3803  		return x.SubType
  3804  	}
  3805  	return 0
  3806  }
  3807  
  3808  func (x *FourOctetAsSpecificExtended) GetAsn() uint32 {
  3809  	if x != nil {
  3810  		return x.Asn
  3811  	}
  3812  	return 0
  3813  }
  3814  
  3815  func (x *FourOctetAsSpecificExtended) GetLocalAdmin() uint32 {
  3816  	if x != nil {
  3817  		return x.LocalAdmin
  3818  	}
  3819  	return 0
  3820  }
  3821  
  3822  type LinkBandwidthExtended struct {
  3823  	state         protoimpl.MessageState
  3824  	sizeCache     protoimpl.SizeCache
  3825  	unknownFields protoimpl.UnknownFields
  3826  
  3827  	Asn       uint32  `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"`
  3828  	Bandwidth float32 `protobuf:"fixed32,2,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"`
  3829  }
  3830  
  3831  func (x *LinkBandwidthExtended) Reset() {
  3832  	*x = LinkBandwidthExtended{}
  3833  	if protoimpl.UnsafeEnabled {
  3834  		mi := &file_attribute_proto_msgTypes[52]
  3835  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3836  		ms.StoreMessageInfo(mi)
  3837  	}
  3838  }
  3839  
  3840  func (x *LinkBandwidthExtended) String() string {
  3841  	return protoimpl.X.MessageStringOf(x)
  3842  }
  3843  
  3844  func (*LinkBandwidthExtended) ProtoMessage() {}
  3845  
  3846  func (x *LinkBandwidthExtended) ProtoReflect() protoreflect.Message {
  3847  	mi := &file_attribute_proto_msgTypes[52]
  3848  	if protoimpl.UnsafeEnabled && x != nil {
  3849  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3850  		if ms.LoadMessageInfo() == nil {
  3851  			ms.StoreMessageInfo(mi)
  3852  		}
  3853  		return ms
  3854  	}
  3855  	return mi.MessageOf(x)
  3856  }
  3857  
  3858  // Deprecated: Use LinkBandwidthExtended.ProtoReflect.Descriptor instead.
  3859  func (*LinkBandwidthExtended) Descriptor() ([]byte, []int) {
  3860  	return file_attribute_proto_rawDescGZIP(), []int{52}
  3861  }
  3862  
  3863  func (x *LinkBandwidthExtended) GetAsn() uint32 {
  3864  	if x != nil {
  3865  		return x.Asn
  3866  	}
  3867  	return 0
  3868  }
  3869  
  3870  func (x *LinkBandwidthExtended) GetBandwidth() float32 {
  3871  	if x != nil {
  3872  		return x.Bandwidth
  3873  	}
  3874  	return 0
  3875  }
  3876  
  3877  type ValidationExtended struct {
  3878  	state         protoimpl.MessageState
  3879  	sizeCache     protoimpl.SizeCache
  3880  	unknownFields protoimpl.UnknownFields
  3881  
  3882  	State uint32 `protobuf:"varint,1,opt,name=state,proto3" json:"state,omitempty"`
  3883  }
  3884  
  3885  func (x *ValidationExtended) Reset() {
  3886  	*x = ValidationExtended{}
  3887  	if protoimpl.UnsafeEnabled {
  3888  		mi := &file_attribute_proto_msgTypes[53]
  3889  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3890  		ms.StoreMessageInfo(mi)
  3891  	}
  3892  }
  3893  
  3894  func (x *ValidationExtended) String() string {
  3895  	return protoimpl.X.MessageStringOf(x)
  3896  }
  3897  
  3898  func (*ValidationExtended) ProtoMessage() {}
  3899  
  3900  func (x *ValidationExtended) ProtoReflect() protoreflect.Message {
  3901  	mi := &file_attribute_proto_msgTypes[53]
  3902  	if protoimpl.UnsafeEnabled && x != nil {
  3903  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3904  		if ms.LoadMessageInfo() == nil {
  3905  			ms.StoreMessageInfo(mi)
  3906  		}
  3907  		return ms
  3908  	}
  3909  	return mi.MessageOf(x)
  3910  }
  3911  
  3912  // Deprecated: Use ValidationExtended.ProtoReflect.Descriptor instead.
  3913  func (*ValidationExtended) Descriptor() ([]byte, []int) {
  3914  	return file_attribute_proto_rawDescGZIP(), []int{53}
  3915  }
  3916  
  3917  func (x *ValidationExtended) GetState() uint32 {
  3918  	if x != nil {
  3919  		return x.State
  3920  	}
  3921  	return 0
  3922  }
  3923  
  3924  type ColorExtended struct {
  3925  	state         protoimpl.MessageState
  3926  	sizeCache     protoimpl.SizeCache
  3927  	unknownFields protoimpl.UnknownFields
  3928  
  3929  	Color uint32 `protobuf:"varint,1,opt,name=color,proto3" json:"color,omitempty"`
  3930  }
  3931  
  3932  func (x *ColorExtended) Reset() {
  3933  	*x = ColorExtended{}
  3934  	if protoimpl.UnsafeEnabled {
  3935  		mi := &file_attribute_proto_msgTypes[54]
  3936  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3937  		ms.StoreMessageInfo(mi)
  3938  	}
  3939  }
  3940  
  3941  func (x *ColorExtended) String() string {
  3942  	return protoimpl.X.MessageStringOf(x)
  3943  }
  3944  
  3945  func (*ColorExtended) ProtoMessage() {}
  3946  
  3947  func (x *ColorExtended) ProtoReflect() protoreflect.Message {
  3948  	mi := &file_attribute_proto_msgTypes[54]
  3949  	if protoimpl.UnsafeEnabled && x != nil {
  3950  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3951  		if ms.LoadMessageInfo() == nil {
  3952  			ms.StoreMessageInfo(mi)
  3953  		}
  3954  		return ms
  3955  	}
  3956  	return mi.MessageOf(x)
  3957  }
  3958  
  3959  // Deprecated: Use ColorExtended.ProtoReflect.Descriptor instead.
  3960  func (*ColorExtended) Descriptor() ([]byte, []int) {
  3961  	return file_attribute_proto_rawDescGZIP(), []int{54}
  3962  }
  3963  
  3964  func (x *ColorExtended) GetColor() uint32 {
  3965  	if x != nil {
  3966  		return x.Color
  3967  	}
  3968  	return 0
  3969  }
  3970  
  3971  type EncapExtended struct {
  3972  	state         protoimpl.MessageState
  3973  	sizeCache     protoimpl.SizeCache
  3974  	unknownFields protoimpl.UnknownFields
  3975  
  3976  	TunnelType uint32 `protobuf:"varint,1,opt,name=tunnel_type,json=tunnelType,proto3" json:"tunnel_type,omitempty"`
  3977  }
  3978  
  3979  func (x *EncapExtended) Reset() {
  3980  	*x = EncapExtended{}
  3981  	if protoimpl.UnsafeEnabled {
  3982  		mi := &file_attribute_proto_msgTypes[55]
  3983  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3984  		ms.StoreMessageInfo(mi)
  3985  	}
  3986  }
  3987  
  3988  func (x *EncapExtended) String() string {
  3989  	return protoimpl.X.MessageStringOf(x)
  3990  }
  3991  
  3992  func (*EncapExtended) ProtoMessage() {}
  3993  
  3994  func (x *EncapExtended) ProtoReflect() protoreflect.Message {
  3995  	mi := &file_attribute_proto_msgTypes[55]
  3996  	if protoimpl.UnsafeEnabled && x != nil {
  3997  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3998  		if ms.LoadMessageInfo() == nil {
  3999  			ms.StoreMessageInfo(mi)
  4000  		}
  4001  		return ms
  4002  	}
  4003  	return mi.MessageOf(x)
  4004  }
  4005  
  4006  // Deprecated: Use EncapExtended.ProtoReflect.Descriptor instead.
  4007  func (*EncapExtended) Descriptor() ([]byte, []int) {
  4008  	return file_attribute_proto_rawDescGZIP(), []int{55}
  4009  }
  4010  
  4011  func (x *EncapExtended) GetTunnelType() uint32 {
  4012  	if x != nil {
  4013  		return x.TunnelType
  4014  	}
  4015  	return 0
  4016  }
  4017  
  4018  type DefaultGatewayExtended struct {
  4019  	state         protoimpl.MessageState
  4020  	sizeCache     protoimpl.SizeCache
  4021  	unknownFields protoimpl.UnknownFields
  4022  }
  4023  
  4024  func (x *DefaultGatewayExtended) Reset() {
  4025  	*x = DefaultGatewayExtended{}
  4026  	if protoimpl.UnsafeEnabled {
  4027  		mi := &file_attribute_proto_msgTypes[56]
  4028  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4029  		ms.StoreMessageInfo(mi)
  4030  	}
  4031  }
  4032  
  4033  func (x *DefaultGatewayExtended) String() string {
  4034  	return protoimpl.X.MessageStringOf(x)
  4035  }
  4036  
  4037  func (*DefaultGatewayExtended) ProtoMessage() {}
  4038  
  4039  func (x *DefaultGatewayExtended) ProtoReflect() protoreflect.Message {
  4040  	mi := &file_attribute_proto_msgTypes[56]
  4041  	if protoimpl.UnsafeEnabled && x != nil {
  4042  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4043  		if ms.LoadMessageInfo() == nil {
  4044  			ms.StoreMessageInfo(mi)
  4045  		}
  4046  		return ms
  4047  	}
  4048  	return mi.MessageOf(x)
  4049  }
  4050  
  4051  // Deprecated: Use DefaultGatewayExtended.ProtoReflect.Descriptor instead.
  4052  func (*DefaultGatewayExtended) Descriptor() ([]byte, []int) {
  4053  	return file_attribute_proto_rawDescGZIP(), []int{56}
  4054  }
  4055  
  4056  type OpaqueExtended struct {
  4057  	state         protoimpl.MessageState
  4058  	sizeCache     protoimpl.SizeCache
  4059  	unknownFields protoimpl.UnknownFields
  4060  
  4061  	IsTransitive bool   `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"`
  4062  	Value        []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
  4063  }
  4064  
  4065  func (x *OpaqueExtended) Reset() {
  4066  	*x = OpaqueExtended{}
  4067  	if protoimpl.UnsafeEnabled {
  4068  		mi := &file_attribute_proto_msgTypes[57]
  4069  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4070  		ms.StoreMessageInfo(mi)
  4071  	}
  4072  }
  4073  
  4074  func (x *OpaqueExtended) String() string {
  4075  	return protoimpl.X.MessageStringOf(x)
  4076  }
  4077  
  4078  func (*OpaqueExtended) ProtoMessage() {}
  4079  
  4080  func (x *OpaqueExtended) ProtoReflect() protoreflect.Message {
  4081  	mi := &file_attribute_proto_msgTypes[57]
  4082  	if protoimpl.UnsafeEnabled && x != nil {
  4083  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4084  		if ms.LoadMessageInfo() == nil {
  4085  			ms.StoreMessageInfo(mi)
  4086  		}
  4087  		return ms
  4088  	}
  4089  	return mi.MessageOf(x)
  4090  }
  4091  
  4092  // Deprecated: Use OpaqueExtended.ProtoReflect.Descriptor instead.
  4093  func (*OpaqueExtended) Descriptor() ([]byte, []int) {
  4094  	return file_attribute_proto_rawDescGZIP(), []int{57}
  4095  }
  4096  
  4097  func (x *OpaqueExtended) GetIsTransitive() bool {
  4098  	if x != nil {
  4099  		return x.IsTransitive
  4100  	}
  4101  	return false
  4102  }
  4103  
  4104  func (x *OpaqueExtended) GetValue() []byte {
  4105  	if x != nil {
  4106  		return x.Value
  4107  	}
  4108  	return nil
  4109  }
  4110  
  4111  type ESILabelExtended struct {
  4112  	state         protoimpl.MessageState
  4113  	sizeCache     protoimpl.SizeCache
  4114  	unknownFields protoimpl.UnknownFields
  4115  
  4116  	IsSingleActive bool   `protobuf:"varint,1,opt,name=is_single_active,json=isSingleActive,proto3" json:"is_single_active,omitempty"`
  4117  	Label          uint32 `protobuf:"varint,2,opt,name=label,proto3" json:"label,omitempty"`
  4118  }
  4119  
  4120  func (x *ESILabelExtended) Reset() {
  4121  	*x = ESILabelExtended{}
  4122  	if protoimpl.UnsafeEnabled {
  4123  		mi := &file_attribute_proto_msgTypes[58]
  4124  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4125  		ms.StoreMessageInfo(mi)
  4126  	}
  4127  }
  4128  
  4129  func (x *ESILabelExtended) String() string {
  4130  	return protoimpl.X.MessageStringOf(x)
  4131  }
  4132  
  4133  func (*ESILabelExtended) ProtoMessage() {}
  4134  
  4135  func (x *ESILabelExtended) ProtoReflect() protoreflect.Message {
  4136  	mi := &file_attribute_proto_msgTypes[58]
  4137  	if protoimpl.UnsafeEnabled && x != nil {
  4138  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4139  		if ms.LoadMessageInfo() == nil {
  4140  			ms.StoreMessageInfo(mi)
  4141  		}
  4142  		return ms
  4143  	}
  4144  	return mi.MessageOf(x)
  4145  }
  4146  
  4147  // Deprecated: Use ESILabelExtended.ProtoReflect.Descriptor instead.
  4148  func (*ESILabelExtended) Descriptor() ([]byte, []int) {
  4149  	return file_attribute_proto_rawDescGZIP(), []int{58}
  4150  }
  4151  
  4152  func (x *ESILabelExtended) GetIsSingleActive() bool {
  4153  	if x != nil {
  4154  		return x.IsSingleActive
  4155  	}
  4156  	return false
  4157  }
  4158  
  4159  func (x *ESILabelExtended) GetLabel() uint32 {
  4160  	if x != nil {
  4161  		return x.Label
  4162  	}
  4163  	return 0
  4164  }
  4165  
  4166  type ESImportRouteTarget struct {
  4167  	state         protoimpl.MessageState
  4168  	sizeCache     protoimpl.SizeCache
  4169  	unknownFields protoimpl.UnknownFields
  4170  
  4171  	EsImport string `protobuf:"bytes,1,opt,name=es_import,json=esImport,proto3" json:"es_import,omitempty"`
  4172  }
  4173  
  4174  func (x *ESImportRouteTarget) Reset() {
  4175  	*x = ESImportRouteTarget{}
  4176  	if protoimpl.UnsafeEnabled {
  4177  		mi := &file_attribute_proto_msgTypes[59]
  4178  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4179  		ms.StoreMessageInfo(mi)
  4180  	}
  4181  }
  4182  
  4183  func (x *ESImportRouteTarget) String() string {
  4184  	return protoimpl.X.MessageStringOf(x)
  4185  }
  4186  
  4187  func (*ESImportRouteTarget) ProtoMessage() {}
  4188  
  4189  func (x *ESImportRouteTarget) ProtoReflect() protoreflect.Message {
  4190  	mi := &file_attribute_proto_msgTypes[59]
  4191  	if protoimpl.UnsafeEnabled && x != nil {
  4192  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4193  		if ms.LoadMessageInfo() == nil {
  4194  			ms.StoreMessageInfo(mi)
  4195  		}
  4196  		return ms
  4197  	}
  4198  	return mi.MessageOf(x)
  4199  }
  4200  
  4201  // Deprecated: Use ESImportRouteTarget.ProtoReflect.Descriptor instead.
  4202  func (*ESImportRouteTarget) Descriptor() ([]byte, []int) {
  4203  	return file_attribute_proto_rawDescGZIP(), []int{59}
  4204  }
  4205  
  4206  func (x *ESImportRouteTarget) GetEsImport() string {
  4207  	if x != nil {
  4208  		return x.EsImport
  4209  	}
  4210  	return ""
  4211  }
  4212  
  4213  type MacMobilityExtended struct {
  4214  	state         protoimpl.MessageState
  4215  	sizeCache     protoimpl.SizeCache
  4216  	unknownFields protoimpl.UnknownFields
  4217  
  4218  	IsSticky    bool   `protobuf:"varint,1,opt,name=is_sticky,json=isSticky,proto3" json:"is_sticky,omitempty"`
  4219  	SequenceNum uint32 `protobuf:"varint,2,opt,name=sequence_num,json=sequenceNum,proto3" json:"sequence_num,omitempty"`
  4220  }
  4221  
  4222  func (x *MacMobilityExtended) Reset() {
  4223  	*x = MacMobilityExtended{}
  4224  	if protoimpl.UnsafeEnabled {
  4225  		mi := &file_attribute_proto_msgTypes[60]
  4226  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4227  		ms.StoreMessageInfo(mi)
  4228  	}
  4229  }
  4230  
  4231  func (x *MacMobilityExtended) String() string {
  4232  	return protoimpl.X.MessageStringOf(x)
  4233  }
  4234  
  4235  func (*MacMobilityExtended) ProtoMessage() {}
  4236  
  4237  func (x *MacMobilityExtended) ProtoReflect() protoreflect.Message {
  4238  	mi := &file_attribute_proto_msgTypes[60]
  4239  	if protoimpl.UnsafeEnabled && x != nil {
  4240  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4241  		if ms.LoadMessageInfo() == nil {
  4242  			ms.StoreMessageInfo(mi)
  4243  		}
  4244  		return ms
  4245  	}
  4246  	return mi.MessageOf(x)
  4247  }
  4248  
  4249  // Deprecated: Use MacMobilityExtended.ProtoReflect.Descriptor instead.
  4250  func (*MacMobilityExtended) Descriptor() ([]byte, []int) {
  4251  	return file_attribute_proto_rawDescGZIP(), []int{60}
  4252  }
  4253  
  4254  func (x *MacMobilityExtended) GetIsSticky() bool {
  4255  	if x != nil {
  4256  		return x.IsSticky
  4257  	}
  4258  	return false
  4259  }
  4260  
  4261  func (x *MacMobilityExtended) GetSequenceNum() uint32 {
  4262  	if x != nil {
  4263  		return x.SequenceNum
  4264  	}
  4265  	return 0
  4266  }
  4267  
  4268  type RouterMacExtended struct {
  4269  	state         protoimpl.MessageState
  4270  	sizeCache     protoimpl.SizeCache
  4271  	unknownFields protoimpl.UnknownFields
  4272  
  4273  	Mac string `protobuf:"bytes,1,opt,name=mac,proto3" json:"mac,omitempty"`
  4274  }
  4275  
  4276  func (x *RouterMacExtended) Reset() {
  4277  	*x = RouterMacExtended{}
  4278  	if protoimpl.UnsafeEnabled {
  4279  		mi := &file_attribute_proto_msgTypes[61]
  4280  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4281  		ms.StoreMessageInfo(mi)
  4282  	}
  4283  }
  4284  
  4285  func (x *RouterMacExtended) String() string {
  4286  	return protoimpl.X.MessageStringOf(x)
  4287  }
  4288  
  4289  func (*RouterMacExtended) ProtoMessage() {}
  4290  
  4291  func (x *RouterMacExtended) ProtoReflect() protoreflect.Message {
  4292  	mi := &file_attribute_proto_msgTypes[61]
  4293  	if protoimpl.UnsafeEnabled && x != nil {
  4294  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4295  		if ms.LoadMessageInfo() == nil {
  4296  			ms.StoreMessageInfo(mi)
  4297  		}
  4298  		return ms
  4299  	}
  4300  	return mi.MessageOf(x)
  4301  }
  4302  
  4303  // Deprecated: Use RouterMacExtended.ProtoReflect.Descriptor instead.
  4304  func (*RouterMacExtended) Descriptor() ([]byte, []int) {
  4305  	return file_attribute_proto_rawDescGZIP(), []int{61}
  4306  }
  4307  
  4308  func (x *RouterMacExtended) GetMac() string {
  4309  	if x != nil {
  4310  		return x.Mac
  4311  	}
  4312  	return ""
  4313  }
  4314  
  4315  type TrafficRateExtended struct {
  4316  	state         protoimpl.MessageState
  4317  	sizeCache     protoimpl.SizeCache
  4318  	unknownFields protoimpl.UnknownFields
  4319  
  4320  	Asn  uint32  `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"`
  4321  	Rate float32 `protobuf:"fixed32,2,opt,name=rate,proto3" json:"rate,omitempty"`
  4322  }
  4323  
  4324  func (x *TrafficRateExtended) Reset() {
  4325  	*x = TrafficRateExtended{}
  4326  	if protoimpl.UnsafeEnabled {
  4327  		mi := &file_attribute_proto_msgTypes[62]
  4328  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4329  		ms.StoreMessageInfo(mi)
  4330  	}
  4331  }
  4332  
  4333  func (x *TrafficRateExtended) String() string {
  4334  	return protoimpl.X.MessageStringOf(x)
  4335  }
  4336  
  4337  func (*TrafficRateExtended) ProtoMessage() {}
  4338  
  4339  func (x *TrafficRateExtended) ProtoReflect() protoreflect.Message {
  4340  	mi := &file_attribute_proto_msgTypes[62]
  4341  	if protoimpl.UnsafeEnabled && x != nil {
  4342  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4343  		if ms.LoadMessageInfo() == nil {
  4344  			ms.StoreMessageInfo(mi)
  4345  		}
  4346  		return ms
  4347  	}
  4348  	return mi.MessageOf(x)
  4349  }
  4350  
  4351  // Deprecated: Use TrafficRateExtended.ProtoReflect.Descriptor instead.
  4352  func (*TrafficRateExtended) Descriptor() ([]byte, []int) {
  4353  	return file_attribute_proto_rawDescGZIP(), []int{62}
  4354  }
  4355  
  4356  func (x *TrafficRateExtended) GetAsn() uint32 {
  4357  	if x != nil {
  4358  		return x.Asn
  4359  	}
  4360  	return 0
  4361  }
  4362  
  4363  func (x *TrafficRateExtended) GetRate() float32 {
  4364  	if x != nil {
  4365  		return x.Rate
  4366  	}
  4367  	return 0
  4368  }
  4369  
  4370  type TrafficActionExtended struct {
  4371  	state         protoimpl.MessageState
  4372  	sizeCache     protoimpl.SizeCache
  4373  	unknownFields protoimpl.UnknownFields
  4374  
  4375  	Terminal bool `protobuf:"varint,1,opt,name=terminal,proto3" json:"terminal,omitempty"`
  4376  	Sample   bool `protobuf:"varint,2,opt,name=sample,proto3" json:"sample,omitempty"`
  4377  }
  4378  
  4379  func (x *TrafficActionExtended) Reset() {
  4380  	*x = TrafficActionExtended{}
  4381  	if protoimpl.UnsafeEnabled {
  4382  		mi := &file_attribute_proto_msgTypes[63]
  4383  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4384  		ms.StoreMessageInfo(mi)
  4385  	}
  4386  }
  4387  
  4388  func (x *TrafficActionExtended) String() string {
  4389  	return protoimpl.X.MessageStringOf(x)
  4390  }
  4391  
  4392  func (*TrafficActionExtended) ProtoMessage() {}
  4393  
  4394  func (x *TrafficActionExtended) ProtoReflect() protoreflect.Message {
  4395  	mi := &file_attribute_proto_msgTypes[63]
  4396  	if protoimpl.UnsafeEnabled && x != nil {
  4397  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4398  		if ms.LoadMessageInfo() == nil {
  4399  			ms.StoreMessageInfo(mi)
  4400  		}
  4401  		return ms
  4402  	}
  4403  	return mi.MessageOf(x)
  4404  }
  4405  
  4406  // Deprecated: Use TrafficActionExtended.ProtoReflect.Descriptor instead.
  4407  func (*TrafficActionExtended) Descriptor() ([]byte, []int) {
  4408  	return file_attribute_proto_rawDescGZIP(), []int{63}
  4409  }
  4410  
  4411  func (x *TrafficActionExtended) GetTerminal() bool {
  4412  	if x != nil {
  4413  		return x.Terminal
  4414  	}
  4415  	return false
  4416  }
  4417  
  4418  func (x *TrafficActionExtended) GetSample() bool {
  4419  	if x != nil {
  4420  		return x.Sample
  4421  	}
  4422  	return false
  4423  }
  4424  
  4425  type RedirectTwoOctetAsSpecificExtended struct {
  4426  	state         protoimpl.MessageState
  4427  	sizeCache     protoimpl.SizeCache
  4428  	unknownFields protoimpl.UnknownFields
  4429  
  4430  	Asn        uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"`
  4431  	LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
  4432  }
  4433  
  4434  func (x *RedirectTwoOctetAsSpecificExtended) Reset() {
  4435  	*x = RedirectTwoOctetAsSpecificExtended{}
  4436  	if protoimpl.UnsafeEnabled {
  4437  		mi := &file_attribute_proto_msgTypes[64]
  4438  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4439  		ms.StoreMessageInfo(mi)
  4440  	}
  4441  }
  4442  
  4443  func (x *RedirectTwoOctetAsSpecificExtended) String() string {
  4444  	return protoimpl.X.MessageStringOf(x)
  4445  }
  4446  
  4447  func (*RedirectTwoOctetAsSpecificExtended) ProtoMessage() {}
  4448  
  4449  func (x *RedirectTwoOctetAsSpecificExtended) ProtoReflect() protoreflect.Message {
  4450  	mi := &file_attribute_proto_msgTypes[64]
  4451  	if protoimpl.UnsafeEnabled && x != nil {
  4452  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4453  		if ms.LoadMessageInfo() == nil {
  4454  			ms.StoreMessageInfo(mi)
  4455  		}
  4456  		return ms
  4457  	}
  4458  	return mi.MessageOf(x)
  4459  }
  4460  
  4461  // Deprecated: Use RedirectTwoOctetAsSpecificExtended.ProtoReflect.Descriptor instead.
  4462  func (*RedirectTwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) {
  4463  	return file_attribute_proto_rawDescGZIP(), []int{64}
  4464  }
  4465  
  4466  func (x *RedirectTwoOctetAsSpecificExtended) GetAsn() uint32 {
  4467  	if x != nil {
  4468  		return x.Asn
  4469  	}
  4470  	return 0
  4471  }
  4472  
  4473  func (x *RedirectTwoOctetAsSpecificExtended) GetLocalAdmin() uint32 {
  4474  	if x != nil {
  4475  		return x.LocalAdmin
  4476  	}
  4477  	return 0
  4478  }
  4479  
  4480  type RedirectIPv4AddressSpecificExtended struct {
  4481  	state         protoimpl.MessageState
  4482  	sizeCache     protoimpl.SizeCache
  4483  	unknownFields protoimpl.UnknownFields
  4484  
  4485  	Address    string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
  4486  	LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
  4487  }
  4488  
  4489  func (x *RedirectIPv4AddressSpecificExtended) Reset() {
  4490  	*x = RedirectIPv4AddressSpecificExtended{}
  4491  	if protoimpl.UnsafeEnabled {
  4492  		mi := &file_attribute_proto_msgTypes[65]
  4493  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4494  		ms.StoreMessageInfo(mi)
  4495  	}
  4496  }
  4497  
  4498  func (x *RedirectIPv4AddressSpecificExtended) String() string {
  4499  	return protoimpl.X.MessageStringOf(x)
  4500  }
  4501  
  4502  func (*RedirectIPv4AddressSpecificExtended) ProtoMessage() {}
  4503  
  4504  func (x *RedirectIPv4AddressSpecificExtended) ProtoReflect() protoreflect.Message {
  4505  	mi := &file_attribute_proto_msgTypes[65]
  4506  	if protoimpl.UnsafeEnabled && x != nil {
  4507  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4508  		if ms.LoadMessageInfo() == nil {
  4509  			ms.StoreMessageInfo(mi)
  4510  		}
  4511  		return ms
  4512  	}
  4513  	return mi.MessageOf(x)
  4514  }
  4515  
  4516  // Deprecated: Use RedirectIPv4AddressSpecificExtended.ProtoReflect.Descriptor instead.
  4517  func (*RedirectIPv4AddressSpecificExtended) Descriptor() ([]byte, []int) {
  4518  	return file_attribute_proto_rawDescGZIP(), []int{65}
  4519  }
  4520  
  4521  func (x *RedirectIPv4AddressSpecificExtended) GetAddress() string {
  4522  	if x != nil {
  4523  		return x.Address
  4524  	}
  4525  	return ""
  4526  }
  4527  
  4528  func (x *RedirectIPv4AddressSpecificExtended) GetLocalAdmin() uint32 {
  4529  	if x != nil {
  4530  		return x.LocalAdmin
  4531  	}
  4532  	return 0
  4533  }
  4534  
  4535  type RedirectFourOctetAsSpecificExtended struct {
  4536  	state         protoimpl.MessageState
  4537  	sizeCache     protoimpl.SizeCache
  4538  	unknownFields protoimpl.UnknownFields
  4539  
  4540  	Asn        uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"`
  4541  	LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
  4542  }
  4543  
  4544  func (x *RedirectFourOctetAsSpecificExtended) Reset() {
  4545  	*x = RedirectFourOctetAsSpecificExtended{}
  4546  	if protoimpl.UnsafeEnabled {
  4547  		mi := &file_attribute_proto_msgTypes[66]
  4548  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4549  		ms.StoreMessageInfo(mi)
  4550  	}
  4551  }
  4552  
  4553  func (x *RedirectFourOctetAsSpecificExtended) String() string {
  4554  	return protoimpl.X.MessageStringOf(x)
  4555  }
  4556  
  4557  func (*RedirectFourOctetAsSpecificExtended) ProtoMessage() {}
  4558  
  4559  func (x *RedirectFourOctetAsSpecificExtended) ProtoReflect() protoreflect.Message {
  4560  	mi := &file_attribute_proto_msgTypes[66]
  4561  	if protoimpl.UnsafeEnabled && x != nil {
  4562  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4563  		if ms.LoadMessageInfo() == nil {
  4564  			ms.StoreMessageInfo(mi)
  4565  		}
  4566  		return ms
  4567  	}
  4568  	return mi.MessageOf(x)
  4569  }
  4570  
  4571  // Deprecated: Use RedirectFourOctetAsSpecificExtended.ProtoReflect.Descriptor instead.
  4572  func (*RedirectFourOctetAsSpecificExtended) Descriptor() ([]byte, []int) {
  4573  	return file_attribute_proto_rawDescGZIP(), []int{66}
  4574  }
  4575  
  4576  func (x *RedirectFourOctetAsSpecificExtended) GetAsn() uint32 {
  4577  	if x != nil {
  4578  		return x.Asn
  4579  	}
  4580  	return 0
  4581  }
  4582  
  4583  func (x *RedirectFourOctetAsSpecificExtended) GetLocalAdmin() uint32 {
  4584  	if x != nil {
  4585  		return x.LocalAdmin
  4586  	}
  4587  	return 0
  4588  }
  4589  
  4590  type TrafficRemarkExtended struct {
  4591  	state         protoimpl.MessageState
  4592  	sizeCache     protoimpl.SizeCache
  4593  	unknownFields protoimpl.UnknownFields
  4594  
  4595  	Dscp uint32 `protobuf:"varint,1,opt,name=dscp,proto3" json:"dscp,omitempty"`
  4596  }
  4597  
  4598  func (x *TrafficRemarkExtended) Reset() {
  4599  	*x = TrafficRemarkExtended{}
  4600  	if protoimpl.UnsafeEnabled {
  4601  		mi := &file_attribute_proto_msgTypes[67]
  4602  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4603  		ms.StoreMessageInfo(mi)
  4604  	}
  4605  }
  4606  
  4607  func (x *TrafficRemarkExtended) String() string {
  4608  	return protoimpl.X.MessageStringOf(x)
  4609  }
  4610  
  4611  func (*TrafficRemarkExtended) ProtoMessage() {}
  4612  
  4613  func (x *TrafficRemarkExtended) ProtoReflect() protoreflect.Message {
  4614  	mi := &file_attribute_proto_msgTypes[67]
  4615  	if protoimpl.UnsafeEnabled && x != nil {
  4616  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4617  		if ms.LoadMessageInfo() == nil {
  4618  			ms.StoreMessageInfo(mi)
  4619  		}
  4620  		return ms
  4621  	}
  4622  	return mi.MessageOf(x)
  4623  }
  4624  
  4625  // Deprecated: Use TrafficRemarkExtended.ProtoReflect.Descriptor instead.
  4626  func (*TrafficRemarkExtended) Descriptor() ([]byte, []int) {
  4627  	return file_attribute_proto_rawDescGZIP(), []int{67}
  4628  }
  4629  
  4630  func (x *TrafficRemarkExtended) GetDscp() uint32 {
  4631  	if x != nil {
  4632  		return x.Dscp
  4633  	}
  4634  	return 0
  4635  }
  4636  
  4637  type MUPExtended struct {
  4638  	state         protoimpl.MessageState
  4639  	sizeCache     protoimpl.SizeCache
  4640  	unknownFields protoimpl.UnknownFields
  4641  
  4642  	SubType    uint32 `protobuf:"varint,1,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"`
  4643  	SegmentId2 uint32 `protobuf:"varint,2,opt,name=segment_id2,json=segmentId2,proto3" json:"segment_id2,omitempty"`
  4644  	SegmentId4 uint32 `protobuf:"varint,3,opt,name=segment_id4,json=segmentId4,proto3" json:"segment_id4,omitempty"`
  4645  }
  4646  
  4647  func (x *MUPExtended) Reset() {
  4648  	*x = MUPExtended{}
  4649  	if protoimpl.UnsafeEnabled {
  4650  		mi := &file_attribute_proto_msgTypes[68]
  4651  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4652  		ms.StoreMessageInfo(mi)
  4653  	}
  4654  }
  4655  
  4656  func (x *MUPExtended) String() string {
  4657  	return protoimpl.X.MessageStringOf(x)
  4658  }
  4659  
  4660  func (*MUPExtended) ProtoMessage() {}
  4661  
  4662  func (x *MUPExtended) ProtoReflect() protoreflect.Message {
  4663  	mi := &file_attribute_proto_msgTypes[68]
  4664  	if protoimpl.UnsafeEnabled && x != nil {
  4665  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4666  		if ms.LoadMessageInfo() == nil {
  4667  			ms.StoreMessageInfo(mi)
  4668  		}
  4669  		return ms
  4670  	}
  4671  	return mi.MessageOf(x)
  4672  }
  4673  
  4674  // Deprecated: Use MUPExtended.ProtoReflect.Descriptor instead.
  4675  func (*MUPExtended) Descriptor() ([]byte, []int) {
  4676  	return file_attribute_proto_rawDescGZIP(), []int{68}
  4677  }
  4678  
  4679  func (x *MUPExtended) GetSubType() uint32 {
  4680  	if x != nil {
  4681  		return x.SubType
  4682  	}
  4683  	return 0
  4684  }
  4685  
  4686  func (x *MUPExtended) GetSegmentId2() uint32 {
  4687  	if x != nil {
  4688  		return x.SegmentId2
  4689  	}
  4690  	return 0
  4691  }
  4692  
  4693  func (x *MUPExtended) GetSegmentId4() uint32 {
  4694  	if x != nil {
  4695  		return x.SegmentId4
  4696  	}
  4697  	return 0
  4698  }
  4699  
  4700  type VPLSExtended struct {
  4701  	state         protoimpl.MessageState
  4702  	sizeCache     protoimpl.SizeCache
  4703  	unknownFields protoimpl.UnknownFields
  4704  
  4705  	ControlFlags uint32 `protobuf:"varint,1,opt,name=control_flags,json=controlFlags,proto3" json:"control_flags,omitempty"`
  4706  	Mtu          uint32 `protobuf:"varint,2,opt,name=mtu,proto3" json:"mtu,omitempty"`
  4707  }
  4708  
  4709  func (x *VPLSExtended) Reset() {
  4710  	*x = VPLSExtended{}
  4711  	if protoimpl.UnsafeEnabled {
  4712  		mi := &file_attribute_proto_msgTypes[69]
  4713  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4714  		ms.StoreMessageInfo(mi)
  4715  	}
  4716  }
  4717  
  4718  func (x *VPLSExtended) String() string {
  4719  	return protoimpl.X.MessageStringOf(x)
  4720  }
  4721  
  4722  func (*VPLSExtended) ProtoMessage() {}
  4723  
  4724  func (x *VPLSExtended) ProtoReflect() protoreflect.Message {
  4725  	mi := &file_attribute_proto_msgTypes[69]
  4726  	if protoimpl.UnsafeEnabled && x != nil {
  4727  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4728  		if ms.LoadMessageInfo() == nil {
  4729  			ms.StoreMessageInfo(mi)
  4730  		}
  4731  		return ms
  4732  	}
  4733  	return mi.MessageOf(x)
  4734  }
  4735  
  4736  // Deprecated: Use VPLSExtended.ProtoReflect.Descriptor instead.
  4737  func (*VPLSExtended) Descriptor() ([]byte, []int) {
  4738  	return file_attribute_proto_rawDescGZIP(), []int{69}
  4739  }
  4740  
  4741  func (x *VPLSExtended) GetControlFlags() uint32 {
  4742  	if x != nil {
  4743  		return x.ControlFlags
  4744  	}
  4745  	return 0
  4746  }
  4747  
  4748  func (x *VPLSExtended) GetMtu() uint32 {
  4749  	if x != nil {
  4750  		return x.Mtu
  4751  	}
  4752  	return 0
  4753  }
  4754  
  4755  type UnknownExtended struct {
  4756  	state         protoimpl.MessageState
  4757  	sizeCache     protoimpl.SizeCache
  4758  	unknownFields protoimpl.UnknownFields
  4759  
  4760  	Type  uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
  4761  	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  4762  }
  4763  
  4764  func (x *UnknownExtended) Reset() {
  4765  	*x = UnknownExtended{}
  4766  	if protoimpl.UnsafeEnabled {
  4767  		mi := &file_attribute_proto_msgTypes[70]
  4768  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4769  		ms.StoreMessageInfo(mi)
  4770  	}
  4771  }
  4772  
  4773  func (x *UnknownExtended) String() string {
  4774  	return protoimpl.X.MessageStringOf(x)
  4775  }
  4776  
  4777  func (*UnknownExtended) ProtoMessage() {}
  4778  
  4779  func (x *UnknownExtended) ProtoReflect() protoreflect.Message {
  4780  	mi := &file_attribute_proto_msgTypes[70]
  4781  	if protoimpl.UnsafeEnabled && x != nil {
  4782  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4783  		if ms.LoadMessageInfo() == nil {
  4784  			ms.StoreMessageInfo(mi)
  4785  		}
  4786  		return ms
  4787  	}
  4788  	return mi.MessageOf(x)
  4789  }
  4790  
  4791  // Deprecated: Use UnknownExtended.ProtoReflect.Descriptor instead.
  4792  func (*UnknownExtended) Descriptor() ([]byte, []int) {
  4793  	return file_attribute_proto_rawDescGZIP(), []int{70}
  4794  }
  4795  
  4796  func (x *UnknownExtended) GetType() uint32 {
  4797  	if x != nil {
  4798  		return x.Type
  4799  	}
  4800  	return 0
  4801  }
  4802  
  4803  func (x *UnknownExtended) GetValue() []byte {
  4804  	if x != nil {
  4805  		return x.Value
  4806  	}
  4807  	return nil
  4808  }
  4809  
  4810  type ExtendedCommunitiesAttribute struct {
  4811  	state         protoimpl.MessageState
  4812  	sizeCache     protoimpl.SizeCache
  4813  	unknownFields protoimpl.UnknownFields
  4814  
  4815  	// Each Community must be one of:
  4816  	// - TwoOctetAsSpecificExtended
  4817  	// - IPv4AddressSpecificExtended
  4818  	// - FourOctetAsSpecificExtended
  4819  	// - OpaqueExtended
  4820  	// - ESILabelExtended
  4821  	// - MacMobilityExtended
  4822  	// - RouterMacExtended
  4823  	// - TrafficRateExtended
  4824  	// - TrafficActionExtended
  4825  	// - RedirectTwoOctetAsSpecificExtended
  4826  	// - RedirectIPv4AddressSpecificExtended
  4827  	// - RedirectFourOctetAsSpecificExtended
  4828  	// - TrafficRemarkExtended
  4829  	// - MUPExtended
  4830  	// - VPLSExtended
  4831  	// - UnknownExtended
  4832  	Communities []*anypb.Any `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"`
  4833  }
  4834  
  4835  func (x *ExtendedCommunitiesAttribute) Reset() {
  4836  	*x = ExtendedCommunitiesAttribute{}
  4837  	if protoimpl.UnsafeEnabled {
  4838  		mi := &file_attribute_proto_msgTypes[71]
  4839  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4840  		ms.StoreMessageInfo(mi)
  4841  	}
  4842  }
  4843  
  4844  func (x *ExtendedCommunitiesAttribute) String() string {
  4845  	return protoimpl.X.MessageStringOf(x)
  4846  }
  4847  
  4848  func (*ExtendedCommunitiesAttribute) ProtoMessage() {}
  4849  
  4850  func (x *ExtendedCommunitiesAttribute) ProtoReflect() protoreflect.Message {
  4851  	mi := &file_attribute_proto_msgTypes[71]
  4852  	if protoimpl.UnsafeEnabled && x != nil {
  4853  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4854  		if ms.LoadMessageInfo() == nil {
  4855  			ms.StoreMessageInfo(mi)
  4856  		}
  4857  		return ms
  4858  	}
  4859  	return mi.MessageOf(x)
  4860  }
  4861  
  4862  // Deprecated: Use ExtendedCommunitiesAttribute.ProtoReflect.Descriptor instead.
  4863  func (*ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) {
  4864  	return file_attribute_proto_rawDescGZIP(), []int{71}
  4865  }
  4866  
  4867  func (x *ExtendedCommunitiesAttribute) GetCommunities() []*anypb.Any {
  4868  	if x != nil {
  4869  		return x.Communities
  4870  	}
  4871  	return nil
  4872  }
  4873  
  4874  type As4PathAttribute struct {
  4875  	state         protoimpl.MessageState
  4876  	sizeCache     protoimpl.SizeCache
  4877  	unknownFields protoimpl.UnknownFields
  4878  
  4879  	Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"`
  4880  }
  4881  
  4882  func (x *As4PathAttribute) Reset() {
  4883  	*x = As4PathAttribute{}
  4884  	if protoimpl.UnsafeEnabled {
  4885  		mi := &file_attribute_proto_msgTypes[72]
  4886  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4887  		ms.StoreMessageInfo(mi)
  4888  	}
  4889  }
  4890  
  4891  func (x *As4PathAttribute) String() string {
  4892  	return protoimpl.X.MessageStringOf(x)
  4893  }
  4894  
  4895  func (*As4PathAttribute) ProtoMessage() {}
  4896  
  4897  func (x *As4PathAttribute) ProtoReflect() protoreflect.Message {
  4898  	mi := &file_attribute_proto_msgTypes[72]
  4899  	if protoimpl.UnsafeEnabled && x != nil {
  4900  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4901  		if ms.LoadMessageInfo() == nil {
  4902  			ms.StoreMessageInfo(mi)
  4903  		}
  4904  		return ms
  4905  	}
  4906  	return mi.MessageOf(x)
  4907  }
  4908  
  4909  // Deprecated: Use As4PathAttribute.ProtoReflect.Descriptor instead.
  4910  func (*As4PathAttribute) Descriptor() ([]byte, []int) {
  4911  	return file_attribute_proto_rawDescGZIP(), []int{72}
  4912  }
  4913  
  4914  func (x *As4PathAttribute) GetSegments() []*AsSegment {
  4915  	if x != nil {
  4916  		return x.Segments
  4917  	}
  4918  	return nil
  4919  }
  4920  
  4921  type As4AggregatorAttribute struct {
  4922  	state         protoimpl.MessageState
  4923  	sizeCache     protoimpl.SizeCache
  4924  	unknownFields protoimpl.UnknownFields
  4925  
  4926  	Asn     uint32 `protobuf:"varint,2,opt,name=asn,proto3" json:"asn,omitempty"`
  4927  	Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
  4928  }
  4929  
  4930  func (x *As4AggregatorAttribute) Reset() {
  4931  	*x = As4AggregatorAttribute{}
  4932  	if protoimpl.UnsafeEnabled {
  4933  		mi := &file_attribute_proto_msgTypes[73]
  4934  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4935  		ms.StoreMessageInfo(mi)
  4936  	}
  4937  }
  4938  
  4939  func (x *As4AggregatorAttribute) String() string {
  4940  	return protoimpl.X.MessageStringOf(x)
  4941  }
  4942  
  4943  func (*As4AggregatorAttribute) ProtoMessage() {}
  4944  
  4945  func (x *As4AggregatorAttribute) ProtoReflect() protoreflect.Message {
  4946  	mi := &file_attribute_proto_msgTypes[73]
  4947  	if protoimpl.UnsafeEnabled && x != nil {
  4948  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4949  		if ms.LoadMessageInfo() == nil {
  4950  			ms.StoreMessageInfo(mi)
  4951  		}
  4952  		return ms
  4953  	}
  4954  	return mi.MessageOf(x)
  4955  }
  4956  
  4957  // Deprecated: Use As4AggregatorAttribute.ProtoReflect.Descriptor instead.
  4958  func (*As4AggregatorAttribute) Descriptor() ([]byte, []int) {
  4959  	return file_attribute_proto_rawDescGZIP(), []int{73}
  4960  }
  4961  
  4962  func (x *As4AggregatorAttribute) GetAsn() uint32 {
  4963  	if x != nil {
  4964  		return x.Asn
  4965  	}
  4966  	return 0
  4967  }
  4968  
  4969  func (x *As4AggregatorAttribute) GetAddress() string {
  4970  	if x != nil {
  4971  		return x.Address
  4972  	}
  4973  	return ""
  4974  }
  4975  
  4976  type PmsiTunnelAttribute struct {
  4977  	state         protoimpl.MessageState
  4978  	sizeCache     protoimpl.SizeCache
  4979  	unknownFields protoimpl.UnknownFields
  4980  
  4981  	Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`
  4982  	Type  uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"`
  4983  	Label uint32 `protobuf:"varint,3,opt,name=label,proto3" json:"label,omitempty"`
  4984  	Id    []byte `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"`
  4985  }
  4986  
  4987  func (x *PmsiTunnelAttribute) Reset() {
  4988  	*x = PmsiTunnelAttribute{}
  4989  	if protoimpl.UnsafeEnabled {
  4990  		mi := &file_attribute_proto_msgTypes[74]
  4991  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4992  		ms.StoreMessageInfo(mi)
  4993  	}
  4994  }
  4995  
  4996  func (x *PmsiTunnelAttribute) String() string {
  4997  	return protoimpl.X.MessageStringOf(x)
  4998  }
  4999  
  5000  func (*PmsiTunnelAttribute) ProtoMessage() {}
  5001  
  5002  func (x *PmsiTunnelAttribute) ProtoReflect() protoreflect.Message {
  5003  	mi := &file_attribute_proto_msgTypes[74]
  5004  	if protoimpl.UnsafeEnabled && x != nil {
  5005  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5006  		if ms.LoadMessageInfo() == nil {
  5007  			ms.StoreMessageInfo(mi)
  5008  		}
  5009  		return ms
  5010  	}
  5011  	return mi.MessageOf(x)
  5012  }
  5013  
  5014  // Deprecated: Use PmsiTunnelAttribute.ProtoReflect.Descriptor instead.
  5015  func (*PmsiTunnelAttribute) Descriptor() ([]byte, []int) {
  5016  	return file_attribute_proto_rawDescGZIP(), []int{74}
  5017  }
  5018  
  5019  func (x *PmsiTunnelAttribute) GetFlags() uint32 {
  5020  	if x != nil {
  5021  		return x.Flags
  5022  	}
  5023  	return 0
  5024  }
  5025  
  5026  func (x *PmsiTunnelAttribute) GetType() uint32 {
  5027  	if x != nil {
  5028  		return x.Type
  5029  	}
  5030  	return 0
  5031  }
  5032  
  5033  func (x *PmsiTunnelAttribute) GetLabel() uint32 {
  5034  	if x != nil {
  5035  		return x.Label
  5036  	}
  5037  	return 0
  5038  }
  5039  
  5040  func (x *PmsiTunnelAttribute) GetId() []byte {
  5041  	if x != nil {
  5042  		return x.Id
  5043  	}
  5044  	return nil
  5045  }
  5046  
  5047  type TunnelEncapSubTLVEncapsulation struct {
  5048  	state         protoimpl.MessageState
  5049  	sizeCache     protoimpl.SizeCache
  5050  	unknownFields protoimpl.UnknownFields
  5051  
  5052  	Key    uint32 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
  5053  	Cookie []byte `protobuf:"bytes,2,opt,name=cookie,proto3" json:"cookie,omitempty"`
  5054  }
  5055  
  5056  func (x *TunnelEncapSubTLVEncapsulation) Reset() {
  5057  	*x = TunnelEncapSubTLVEncapsulation{}
  5058  	if protoimpl.UnsafeEnabled {
  5059  		mi := &file_attribute_proto_msgTypes[75]
  5060  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5061  		ms.StoreMessageInfo(mi)
  5062  	}
  5063  }
  5064  
  5065  func (x *TunnelEncapSubTLVEncapsulation) String() string {
  5066  	return protoimpl.X.MessageStringOf(x)
  5067  }
  5068  
  5069  func (*TunnelEncapSubTLVEncapsulation) ProtoMessage() {}
  5070  
  5071  func (x *TunnelEncapSubTLVEncapsulation) ProtoReflect() protoreflect.Message {
  5072  	mi := &file_attribute_proto_msgTypes[75]
  5073  	if protoimpl.UnsafeEnabled && x != nil {
  5074  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5075  		if ms.LoadMessageInfo() == nil {
  5076  			ms.StoreMessageInfo(mi)
  5077  		}
  5078  		return ms
  5079  	}
  5080  	return mi.MessageOf(x)
  5081  }
  5082  
  5083  // Deprecated: Use TunnelEncapSubTLVEncapsulation.ProtoReflect.Descriptor instead.
  5084  func (*TunnelEncapSubTLVEncapsulation) Descriptor() ([]byte, []int) {
  5085  	return file_attribute_proto_rawDescGZIP(), []int{75}
  5086  }
  5087  
  5088  func (x *TunnelEncapSubTLVEncapsulation) GetKey() uint32 {
  5089  	if x != nil {
  5090  		return x.Key
  5091  	}
  5092  	return 0
  5093  }
  5094  
  5095  func (x *TunnelEncapSubTLVEncapsulation) GetCookie() []byte {
  5096  	if x != nil {
  5097  		return x.Cookie
  5098  	}
  5099  	return nil
  5100  }
  5101  
  5102  type TunnelEncapSubTLVProtocol struct {
  5103  	state         protoimpl.MessageState
  5104  	sizeCache     protoimpl.SizeCache
  5105  	unknownFields protoimpl.UnknownFields
  5106  
  5107  	Protocol uint32 `protobuf:"varint,1,opt,name=protocol,proto3" json:"protocol,omitempty"`
  5108  }
  5109  
  5110  func (x *TunnelEncapSubTLVProtocol) Reset() {
  5111  	*x = TunnelEncapSubTLVProtocol{}
  5112  	if protoimpl.UnsafeEnabled {
  5113  		mi := &file_attribute_proto_msgTypes[76]
  5114  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5115  		ms.StoreMessageInfo(mi)
  5116  	}
  5117  }
  5118  
  5119  func (x *TunnelEncapSubTLVProtocol) String() string {
  5120  	return protoimpl.X.MessageStringOf(x)
  5121  }
  5122  
  5123  func (*TunnelEncapSubTLVProtocol) ProtoMessage() {}
  5124  
  5125  func (x *TunnelEncapSubTLVProtocol) ProtoReflect() protoreflect.Message {
  5126  	mi := &file_attribute_proto_msgTypes[76]
  5127  	if protoimpl.UnsafeEnabled && x != nil {
  5128  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5129  		if ms.LoadMessageInfo() == nil {
  5130  			ms.StoreMessageInfo(mi)
  5131  		}
  5132  		return ms
  5133  	}
  5134  	return mi.MessageOf(x)
  5135  }
  5136  
  5137  // Deprecated: Use TunnelEncapSubTLVProtocol.ProtoReflect.Descriptor instead.
  5138  func (*TunnelEncapSubTLVProtocol) Descriptor() ([]byte, []int) {
  5139  	return file_attribute_proto_rawDescGZIP(), []int{76}
  5140  }
  5141  
  5142  func (x *TunnelEncapSubTLVProtocol) GetProtocol() uint32 {
  5143  	if x != nil {
  5144  		return x.Protocol
  5145  	}
  5146  	return 0
  5147  }
  5148  
  5149  type TunnelEncapSubTLVColor struct {
  5150  	state         protoimpl.MessageState
  5151  	sizeCache     protoimpl.SizeCache
  5152  	unknownFields protoimpl.UnknownFields
  5153  
  5154  	Color uint32 `protobuf:"varint,1,opt,name=color,proto3" json:"color,omitempty"`
  5155  }
  5156  
  5157  func (x *TunnelEncapSubTLVColor) Reset() {
  5158  	*x = TunnelEncapSubTLVColor{}
  5159  	if protoimpl.UnsafeEnabled {
  5160  		mi := &file_attribute_proto_msgTypes[77]
  5161  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5162  		ms.StoreMessageInfo(mi)
  5163  	}
  5164  }
  5165  
  5166  func (x *TunnelEncapSubTLVColor) String() string {
  5167  	return protoimpl.X.MessageStringOf(x)
  5168  }
  5169  
  5170  func (*TunnelEncapSubTLVColor) ProtoMessage() {}
  5171  
  5172  func (x *TunnelEncapSubTLVColor) ProtoReflect() protoreflect.Message {
  5173  	mi := &file_attribute_proto_msgTypes[77]
  5174  	if protoimpl.UnsafeEnabled && x != nil {
  5175  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5176  		if ms.LoadMessageInfo() == nil {
  5177  			ms.StoreMessageInfo(mi)
  5178  		}
  5179  		return ms
  5180  	}
  5181  	return mi.MessageOf(x)
  5182  }
  5183  
  5184  // Deprecated: Use TunnelEncapSubTLVColor.ProtoReflect.Descriptor instead.
  5185  func (*TunnelEncapSubTLVColor) Descriptor() ([]byte, []int) {
  5186  	return file_attribute_proto_rawDescGZIP(), []int{77}
  5187  }
  5188  
  5189  func (x *TunnelEncapSubTLVColor) GetColor() uint32 {
  5190  	if x != nil {
  5191  		return x.Color
  5192  	}
  5193  	return 0
  5194  }
  5195  
  5196  type TunnelEncapSubTLVSRPreference struct {
  5197  	state         protoimpl.MessageState
  5198  	sizeCache     protoimpl.SizeCache
  5199  	unknownFields protoimpl.UnknownFields
  5200  
  5201  	Flags      uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`
  5202  	Preference uint32 `protobuf:"varint,2,opt,name=preference,proto3" json:"preference,omitempty"`
  5203  }
  5204  
  5205  func (x *TunnelEncapSubTLVSRPreference) Reset() {
  5206  	*x = TunnelEncapSubTLVSRPreference{}
  5207  	if protoimpl.UnsafeEnabled {
  5208  		mi := &file_attribute_proto_msgTypes[78]
  5209  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5210  		ms.StoreMessageInfo(mi)
  5211  	}
  5212  }
  5213  
  5214  func (x *TunnelEncapSubTLVSRPreference) String() string {
  5215  	return protoimpl.X.MessageStringOf(x)
  5216  }
  5217  
  5218  func (*TunnelEncapSubTLVSRPreference) ProtoMessage() {}
  5219  
  5220  func (x *TunnelEncapSubTLVSRPreference) ProtoReflect() protoreflect.Message {
  5221  	mi := &file_attribute_proto_msgTypes[78]
  5222  	if protoimpl.UnsafeEnabled && x != nil {
  5223  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5224  		if ms.LoadMessageInfo() == nil {
  5225  			ms.StoreMessageInfo(mi)
  5226  		}
  5227  		return ms
  5228  	}
  5229  	return mi.MessageOf(x)
  5230  }
  5231  
  5232  // Deprecated: Use TunnelEncapSubTLVSRPreference.ProtoReflect.Descriptor instead.
  5233  func (*TunnelEncapSubTLVSRPreference) Descriptor() ([]byte, []int) {
  5234  	return file_attribute_proto_rawDescGZIP(), []int{78}
  5235  }
  5236  
  5237  func (x *TunnelEncapSubTLVSRPreference) GetFlags() uint32 {
  5238  	if x != nil {
  5239  		return x.Flags
  5240  	}
  5241  	return 0
  5242  }
  5243  
  5244  func (x *TunnelEncapSubTLVSRPreference) GetPreference() uint32 {
  5245  	if x != nil {
  5246  		return x.Preference
  5247  	}
  5248  	return 0
  5249  }
  5250  
  5251  type TunnelEncapSubTLVSRCandidatePathName struct {
  5252  	state         protoimpl.MessageState
  5253  	sizeCache     protoimpl.SizeCache
  5254  	unknownFields protoimpl.UnknownFields
  5255  
  5256  	CandidatePathName string `protobuf:"bytes,1,opt,name=candidate_path_name,json=candidatePathName,proto3" json:"candidate_path_name,omitempty"`
  5257  }
  5258  
  5259  func (x *TunnelEncapSubTLVSRCandidatePathName) Reset() {
  5260  	*x = TunnelEncapSubTLVSRCandidatePathName{}
  5261  	if protoimpl.UnsafeEnabled {
  5262  		mi := &file_attribute_proto_msgTypes[79]
  5263  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5264  		ms.StoreMessageInfo(mi)
  5265  	}
  5266  }
  5267  
  5268  func (x *TunnelEncapSubTLVSRCandidatePathName) String() string {
  5269  	return protoimpl.X.MessageStringOf(x)
  5270  }
  5271  
  5272  func (*TunnelEncapSubTLVSRCandidatePathName) ProtoMessage() {}
  5273  
  5274  func (x *TunnelEncapSubTLVSRCandidatePathName) ProtoReflect() protoreflect.Message {
  5275  	mi := &file_attribute_proto_msgTypes[79]
  5276  	if protoimpl.UnsafeEnabled && x != nil {
  5277  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5278  		if ms.LoadMessageInfo() == nil {
  5279  			ms.StoreMessageInfo(mi)
  5280  		}
  5281  		return ms
  5282  	}
  5283  	return mi.MessageOf(x)
  5284  }
  5285  
  5286  // Deprecated: Use TunnelEncapSubTLVSRCandidatePathName.ProtoReflect.Descriptor instead.
  5287  func (*TunnelEncapSubTLVSRCandidatePathName) Descriptor() ([]byte, []int) {
  5288  	return file_attribute_proto_rawDescGZIP(), []int{79}
  5289  }
  5290  
  5291  func (x *TunnelEncapSubTLVSRCandidatePathName) GetCandidatePathName() string {
  5292  	if x != nil {
  5293  		return x.CandidatePathName
  5294  	}
  5295  	return ""
  5296  }
  5297  
  5298  type TunnelEncapSubTLVSRPriority struct {
  5299  	state         protoimpl.MessageState
  5300  	sizeCache     protoimpl.SizeCache
  5301  	unknownFields protoimpl.UnknownFields
  5302  
  5303  	Priority uint32 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty"`
  5304  }
  5305  
  5306  func (x *TunnelEncapSubTLVSRPriority) Reset() {
  5307  	*x = TunnelEncapSubTLVSRPriority{}
  5308  	if protoimpl.UnsafeEnabled {
  5309  		mi := &file_attribute_proto_msgTypes[80]
  5310  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5311  		ms.StoreMessageInfo(mi)
  5312  	}
  5313  }
  5314  
  5315  func (x *TunnelEncapSubTLVSRPriority) String() string {
  5316  	return protoimpl.X.MessageStringOf(x)
  5317  }
  5318  
  5319  func (*TunnelEncapSubTLVSRPriority) ProtoMessage() {}
  5320  
  5321  func (x *TunnelEncapSubTLVSRPriority) ProtoReflect() protoreflect.Message {
  5322  	mi := &file_attribute_proto_msgTypes[80]
  5323  	if protoimpl.UnsafeEnabled && x != nil {
  5324  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5325  		if ms.LoadMessageInfo() == nil {
  5326  			ms.StoreMessageInfo(mi)
  5327  		}
  5328  		return ms
  5329  	}
  5330  	return mi.MessageOf(x)
  5331  }
  5332  
  5333  // Deprecated: Use TunnelEncapSubTLVSRPriority.ProtoReflect.Descriptor instead.
  5334  func (*TunnelEncapSubTLVSRPriority) Descriptor() ([]byte, []int) {
  5335  	return file_attribute_proto_rawDescGZIP(), []int{80}
  5336  }
  5337  
  5338  func (x *TunnelEncapSubTLVSRPriority) GetPriority() uint32 {
  5339  	if x != nil {
  5340  		return x.Priority
  5341  	}
  5342  	return 0
  5343  }
  5344  
  5345  type TunnelEncapSubTLVSRBindingSID struct {
  5346  	state         protoimpl.MessageState
  5347  	sizeCache     protoimpl.SizeCache
  5348  	unknownFields protoimpl.UnknownFields
  5349  
  5350  	// bsid must be one of:
  5351  	// - SRBindingSID
  5352  	// - SRv6BindingSID
  5353  	Bsid *anypb.Any `protobuf:"bytes,1,opt,name=bsid,proto3" json:"bsid,omitempty"`
  5354  }
  5355  
  5356  func (x *TunnelEncapSubTLVSRBindingSID) Reset() {
  5357  	*x = TunnelEncapSubTLVSRBindingSID{}
  5358  	if protoimpl.UnsafeEnabled {
  5359  		mi := &file_attribute_proto_msgTypes[81]
  5360  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5361  		ms.StoreMessageInfo(mi)
  5362  	}
  5363  }
  5364  
  5365  func (x *TunnelEncapSubTLVSRBindingSID) String() string {
  5366  	return protoimpl.X.MessageStringOf(x)
  5367  }
  5368  
  5369  func (*TunnelEncapSubTLVSRBindingSID) ProtoMessage() {}
  5370  
  5371  func (x *TunnelEncapSubTLVSRBindingSID) ProtoReflect() protoreflect.Message {
  5372  	mi := &file_attribute_proto_msgTypes[81]
  5373  	if protoimpl.UnsafeEnabled && x != nil {
  5374  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5375  		if ms.LoadMessageInfo() == nil {
  5376  			ms.StoreMessageInfo(mi)
  5377  		}
  5378  		return ms
  5379  	}
  5380  	return mi.MessageOf(x)
  5381  }
  5382  
  5383  // Deprecated: Use TunnelEncapSubTLVSRBindingSID.ProtoReflect.Descriptor instead.
  5384  func (*TunnelEncapSubTLVSRBindingSID) Descriptor() ([]byte, []int) {
  5385  	return file_attribute_proto_rawDescGZIP(), []int{81}
  5386  }
  5387  
  5388  func (x *TunnelEncapSubTLVSRBindingSID) GetBsid() *anypb.Any {
  5389  	if x != nil {
  5390  		return x.Bsid
  5391  	}
  5392  	return nil
  5393  }
  5394  
  5395  type SRBindingSID struct {
  5396  	state         protoimpl.MessageState
  5397  	sizeCache     protoimpl.SizeCache
  5398  	unknownFields protoimpl.UnknownFields
  5399  
  5400  	SFlag bool   `protobuf:"varint,1,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"`
  5401  	IFlag bool   `protobuf:"varint,2,opt,name=i_flag,json=iFlag,proto3" json:"i_flag,omitempty"`
  5402  	Sid   []byte `protobuf:"bytes,3,opt,name=sid,proto3" json:"sid,omitempty"`
  5403  }
  5404  
  5405  func (x *SRBindingSID) Reset() {
  5406  	*x = SRBindingSID{}
  5407  	if protoimpl.UnsafeEnabled {
  5408  		mi := &file_attribute_proto_msgTypes[82]
  5409  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5410  		ms.StoreMessageInfo(mi)
  5411  	}
  5412  }
  5413  
  5414  func (x *SRBindingSID) String() string {
  5415  	return protoimpl.X.MessageStringOf(x)
  5416  }
  5417  
  5418  func (*SRBindingSID) ProtoMessage() {}
  5419  
  5420  func (x *SRBindingSID) ProtoReflect() protoreflect.Message {
  5421  	mi := &file_attribute_proto_msgTypes[82]
  5422  	if protoimpl.UnsafeEnabled && x != nil {
  5423  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5424  		if ms.LoadMessageInfo() == nil {
  5425  			ms.StoreMessageInfo(mi)
  5426  		}
  5427  		return ms
  5428  	}
  5429  	return mi.MessageOf(x)
  5430  }
  5431  
  5432  // Deprecated: Use SRBindingSID.ProtoReflect.Descriptor instead.
  5433  func (*SRBindingSID) Descriptor() ([]byte, []int) {
  5434  	return file_attribute_proto_rawDescGZIP(), []int{82}
  5435  }
  5436  
  5437  func (x *SRBindingSID) GetSFlag() bool {
  5438  	if x != nil {
  5439  		return x.SFlag
  5440  	}
  5441  	return false
  5442  }
  5443  
  5444  func (x *SRBindingSID) GetIFlag() bool {
  5445  	if x != nil {
  5446  		return x.IFlag
  5447  	}
  5448  	return false
  5449  }
  5450  
  5451  func (x *SRBindingSID) GetSid() []byte {
  5452  	if x != nil {
  5453  		return x.Sid
  5454  	}
  5455  	return nil
  5456  }
  5457  
  5458  type SRv6EndPointBehavior struct {
  5459  	state         protoimpl.MessageState
  5460  	sizeCache     protoimpl.SizeCache
  5461  	unknownFields protoimpl.UnknownFields
  5462  
  5463  	Behavior SRv6Behavior `protobuf:"varint,1,opt,name=behavior,proto3,enum=apipb.SRv6Behavior" json:"behavior,omitempty"`
  5464  	BlockLen uint32       `protobuf:"varint,2,opt,name=block_len,json=blockLen,proto3" json:"block_len,omitempty"`
  5465  	NodeLen  uint32       `protobuf:"varint,3,opt,name=node_len,json=nodeLen,proto3" json:"node_len,omitempty"`
  5466  	FuncLen  uint32       `protobuf:"varint,4,opt,name=func_len,json=funcLen,proto3" json:"func_len,omitempty"`
  5467  	ArgLen   uint32       `protobuf:"varint,5,opt,name=arg_len,json=argLen,proto3" json:"arg_len,omitempty"`
  5468  }
  5469  
  5470  func (x *SRv6EndPointBehavior) Reset() {
  5471  	*x = SRv6EndPointBehavior{}
  5472  	if protoimpl.UnsafeEnabled {
  5473  		mi := &file_attribute_proto_msgTypes[83]
  5474  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5475  		ms.StoreMessageInfo(mi)
  5476  	}
  5477  }
  5478  
  5479  func (x *SRv6EndPointBehavior) String() string {
  5480  	return protoimpl.X.MessageStringOf(x)
  5481  }
  5482  
  5483  func (*SRv6EndPointBehavior) ProtoMessage() {}
  5484  
  5485  func (x *SRv6EndPointBehavior) ProtoReflect() protoreflect.Message {
  5486  	mi := &file_attribute_proto_msgTypes[83]
  5487  	if protoimpl.UnsafeEnabled && x != nil {
  5488  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5489  		if ms.LoadMessageInfo() == nil {
  5490  			ms.StoreMessageInfo(mi)
  5491  		}
  5492  		return ms
  5493  	}
  5494  	return mi.MessageOf(x)
  5495  }
  5496  
  5497  // Deprecated: Use SRv6EndPointBehavior.ProtoReflect.Descriptor instead.
  5498  func (*SRv6EndPointBehavior) Descriptor() ([]byte, []int) {
  5499  	return file_attribute_proto_rawDescGZIP(), []int{83}
  5500  }
  5501  
  5502  func (x *SRv6EndPointBehavior) GetBehavior() SRv6Behavior {
  5503  	if x != nil {
  5504  		return x.Behavior
  5505  	}
  5506  	return SRv6Behavior_RESERVED
  5507  }
  5508  
  5509  func (x *SRv6EndPointBehavior) GetBlockLen() uint32 {
  5510  	if x != nil {
  5511  		return x.BlockLen
  5512  	}
  5513  	return 0
  5514  }
  5515  
  5516  func (x *SRv6EndPointBehavior) GetNodeLen() uint32 {
  5517  	if x != nil {
  5518  		return x.NodeLen
  5519  	}
  5520  	return 0
  5521  }
  5522  
  5523  func (x *SRv6EndPointBehavior) GetFuncLen() uint32 {
  5524  	if x != nil {
  5525  		return x.FuncLen
  5526  	}
  5527  	return 0
  5528  }
  5529  
  5530  func (x *SRv6EndPointBehavior) GetArgLen() uint32 {
  5531  	if x != nil {
  5532  		return x.ArgLen
  5533  	}
  5534  	return 0
  5535  }
  5536  
  5537  type SRv6BindingSID struct {
  5538  	state         protoimpl.MessageState
  5539  	sizeCache     protoimpl.SizeCache
  5540  	unknownFields protoimpl.UnknownFields
  5541  
  5542  	SFlag                     bool                  `protobuf:"varint,1,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"`
  5543  	IFlag                     bool                  `protobuf:"varint,2,opt,name=i_flag,json=iFlag,proto3" json:"i_flag,omitempty"`
  5544  	BFlag                     bool                  `protobuf:"varint,3,opt,name=b_flag,json=bFlag,proto3" json:"b_flag,omitempty"`
  5545  	Sid                       []byte                `protobuf:"bytes,4,opt,name=sid,proto3" json:"sid,omitempty"`
  5546  	EndpointBehaviorStructure *SRv6EndPointBehavior `protobuf:"bytes,5,opt,name=endpoint_behavior_structure,json=endpointBehaviorStructure,proto3" json:"endpoint_behavior_structure,omitempty"`
  5547  }
  5548  
  5549  func (x *SRv6BindingSID) Reset() {
  5550  	*x = SRv6BindingSID{}
  5551  	if protoimpl.UnsafeEnabled {
  5552  		mi := &file_attribute_proto_msgTypes[84]
  5553  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5554  		ms.StoreMessageInfo(mi)
  5555  	}
  5556  }
  5557  
  5558  func (x *SRv6BindingSID) String() string {
  5559  	return protoimpl.X.MessageStringOf(x)
  5560  }
  5561  
  5562  func (*SRv6BindingSID) ProtoMessage() {}
  5563  
  5564  func (x *SRv6BindingSID) ProtoReflect() protoreflect.Message {
  5565  	mi := &file_attribute_proto_msgTypes[84]
  5566  	if protoimpl.UnsafeEnabled && x != nil {
  5567  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5568  		if ms.LoadMessageInfo() == nil {
  5569  			ms.StoreMessageInfo(mi)
  5570  		}
  5571  		return ms
  5572  	}
  5573  	return mi.MessageOf(x)
  5574  }
  5575  
  5576  // Deprecated: Use SRv6BindingSID.ProtoReflect.Descriptor instead.
  5577  func (*SRv6BindingSID) Descriptor() ([]byte, []int) {
  5578  	return file_attribute_proto_rawDescGZIP(), []int{84}
  5579  }
  5580  
  5581  func (x *SRv6BindingSID) GetSFlag() bool {
  5582  	if x != nil {
  5583  		return x.SFlag
  5584  	}
  5585  	return false
  5586  }
  5587  
  5588  func (x *SRv6BindingSID) GetIFlag() bool {
  5589  	if x != nil {
  5590  		return x.IFlag
  5591  	}
  5592  	return false
  5593  }
  5594  
  5595  func (x *SRv6BindingSID) GetBFlag() bool {
  5596  	if x != nil {
  5597  		return x.BFlag
  5598  	}
  5599  	return false
  5600  }
  5601  
  5602  func (x *SRv6BindingSID) GetSid() []byte {
  5603  	if x != nil {
  5604  		return x.Sid
  5605  	}
  5606  	return nil
  5607  }
  5608  
  5609  func (x *SRv6BindingSID) GetEndpointBehaviorStructure() *SRv6EndPointBehavior {
  5610  	if x != nil {
  5611  		return x.EndpointBehaviorStructure
  5612  	}
  5613  	return nil
  5614  }
  5615  
  5616  type TunnelEncapSubTLVSRENLP struct {
  5617  	state         protoimpl.MessageState
  5618  	sizeCache     protoimpl.SizeCache
  5619  	unknownFields protoimpl.UnknownFields
  5620  
  5621  	Flags uint32   `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`
  5622  	Enlp  ENLPType `protobuf:"varint,2,opt,name=enlp,proto3,enum=apipb.ENLPType" json:"enlp,omitempty"`
  5623  }
  5624  
  5625  func (x *TunnelEncapSubTLVSRENLP) Reset() {
  5626  	*x = TunnelEncapSubTLVSRENLP{}
  5627  	if protoimpl.UnsafeEnabled {
  5628  		mi := &file_attribute_proto_msgTypes[85]
  5629  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5630  		ms.StoreMessageInfo(mi)
  5631  	}
  5632  }
  5633  
  5634  func (x *TunnelEncapSubTLVSRENLP) String() string {
  5635  	return protoimpl.X.MessageStringOf(x)
  5636  }
  5637  
  5638  func (*TunnelEncapSubTLVSRENLP) ProtoMessage() {}
  5639  
  5640  func (x *TunnelEncapSubTLVSRENLP) ProtoReflect() protoreflect.Message {
  5641  	mi := &file_attribute_proto_msgTypes[85]
  5642  	if protoimpl.UnsafeEnabled && x != nil {
  5643  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5644  		if ms.LoadMessageInfo() == nil {
  5645  			ms.StoreMessageInfo(mi)
  5646  		}
  5647  		return ms
  5648  	}
  5649  	return mi.MessageOf(x)
  5650  }
  5651  
  5652  // Deprecated: Use TunnelEncapSubTLVSRENLP.ProtoReflect.Descriptor instead.
  5653  func (*TunnelEncapSubTLVSRENLP) Descriptor() ([]byte, []int) {
  5654  	return file_attribute_proto_rawDescGZIP(), []int{85}
  5655  }
  5656  
  5657  func (x *TunnelEncapSubTLVSRENLP) GetFlags() uint32 {
  5658  	if x != nil {
  5659  		return x.Flags
  5660  	}
  5661  	return 0
  5662  }
  5663  
  5664  func (x *TunnelEncapSubTLVSRENLP) GetEnlp() ENLPType {
  5665  	if x != nil {
  5666  		return x.Enlp
  5667  	}
  5668  	return ENLPType_Reserved
  5669  }
  5670  
  5671  type SRWeight struct {
  5672  	state         protoimpl.MessageState
  5673  	sizeCache     protoimpl.SizeCache
  5674  	unknownFields protoimpl.UnknownFields
  5675  
  5676  	Flags  uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`
  5677  	Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
  5678  }
  5679  
  5680  func (x *SRWeight) Reset() {
  5681  	*x = SRWeight{}
  5682  	if protoimpl.UnsafeEnabled {
  5683  		mi := &file_attribute_proto_msgTypes[86]
  5684  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5685  		ms.StoreMessageInfo(mi)
  5686  	}
  5687  }
  5688  
  5689  func (x *SRWeight) String() string {
  5690  	return protoimpl.X.MessageStringOf(x)
  5691  }
  5692  
  5693  func (*SRWeight) ProtoMessage() {}
  5694  
  5695  func (x *SRWeight) ProtoReflect() protoreflect.Message {
  5696  	mi := &file_attribute_proto_msgTypes[86]
  5697  	if protoimpl.UnsafeEnabled && x != nil {
  5698  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5699  		if ms.LoadMessageInfo() == nil {
  5700  			ms.StoreMessageInfo(mi)
  5701  		}
  5702  		return ms
  5703  	}
  5704  	return mi.MessageOf(x)
  5705  }
  5706  
  5707  // Deprecated: Use SRWeight.ProtoReflect.Descriptor instead.
  5708  func (*SRWeight) Descriptor() ([]byte, []int) {
  5709  	return file_attribute_proto_rawDescGZIP(), []int{86}
  5710  }
  5711  
  5712  func (x *SRWeight) GetFlags() uint32 {
  5713  	if x != nil {
  5714  		return x.Flags
  5715  	}
  5716  	return 0
  5717  }
  5718  
  5719  func (x *SRWeight) GetWeight() uint32 {
  5720  	if x != nil {
  5721  		return x.Weight
  5722  	}
  5723  	return 0
  5724  }
  5725  
  5726  type SegmentFlags struct {
  5727  	state         protoimpl.MessageState
  5728  	sizeCache     protoimpl.SizeCache
  5729  	unknownFields protoimpl.UnknownFields
  5730  
  5731  	VFlag bool `protobuf:"varint,1,opt,name=v_flag,json=vFlag,proto3" json:"v_flag,omitempty"`
  5732  	AFlag bool `protobuf:"varint,2,opt,name=a_flag,json=aFlag,proto3" json:"a_flag,omitempty"`
  5733  	SFlag bool `protobuf:"varint,3,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"`
  5734  	BFlag bool `protobuf:"varint,4,opt,name=b_flag,json=bFlag,proto3" json:"b_flag,omitempty"`
  5735  }
  5736  
  5737  func (x *SegmentFlags) Reset() {
  5738  	*x = SegmentFlags{}
  5739  	if protoimpl.UnsafeEnabled {
  5740  		mi := &file_attribute_proto_msgTypes[87]
  5741  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5742  		ms.StoreMessageInfo(mi)
  5743  	}
  5744  }
  5745  
  5746  func (x *SegmentFlags) String() string {
  5747  	return protoimpl.X.MessageStringOf(x)
  5748  }
  5749  
  5750  func (*SegmentFlags) ProtoMessage() {}
  5751  
  5752  func (x *SegmentFlags) ProtoReflect() protoreflect.Message {
  5753  	mi := &file_attribute_proto_msgTypes[87]
  5754  	if protoimpl.UnsafeEnabled && x != nil {
  5755  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5756  		if ms.LoadMessageInfo() == nil {
  5757  			ms.StoreMessageInfo(mi)
  5758  		}
  5759  		return ms
  5760  	}
  5761  	return mi.MessageOf(x)
  5762  }
  5763  
  5764  // Deprecated: Use SegmentFlags.ProtoReflect.Descriptor instead.
  5765  func (*SegmentFlags) Descriptor() ([]byte, []int) {
  5766  	return file_attribute_proto_rawDescGZIP(), []int{87}
  5767  }
  5768  
  5769  func (x *SegmentFlags) GetVFlag() bool {
  5770  	if x != nil {
  5771  		return x.VFlag
  5772  	}
  5773  	return false
  5774  }
  5775  
  5776  func (x *SegmentFlags) GetAFlag() bool {
  5777  	if x != nil {
  5778  		return x.AFlag
  5779  	}
  5780  	return false
  5781  }
  5782  
  5783  func (x *SegmentFlags) GetSFlag() bool {
  5784  	if x != nil {
  5785  		return x.SFlag
  5786  	}
  5787  	return false
  5788  }
  5789  
  5790  func (x *SegmentFlags) GetBFlag() bool {
  5791  	if x != nil {
  5792  		return x.BFlag
  5793  	}
  5794  	return false
  5795  }
  5796  
  5797  type SegmentTypeA struct {
  5798  	state         protoimpl.MessageState
  5799  	sizeCache     protoimpl.SizeCache
  5800  	unknownFields protoimpl.UnknownFields
  5801  
  5802  	Flags *SegmentFlags `protobuf:"bytes,1,opt,name=flags,proto3" json:"flags,omitempty"`
  5803  	Label uint32        `protobuf:"varint,2,opt,name=label,proto3" json:"label,omitempty"`
  5804  }
  5805  
  5806  func (x *SegmentTypeA) Reset() {
  5807  	*x = SegmentTypeA{}
  5808  	if protoimpl.UnsafeEnabled {
  5809  		mi := &file_attribute_proto_msgTypes[88]
  5810  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5811  		ms.StoreMessageInfo(mi)
  5812  	}
  5813  }
  5814  
  5815  func (x *SegmentTypeA) String() string {
  5816  	return protoimpl.X.MessageStringOf(x)
  5817  }
  5818  
  5819  func (*SegmentTypeA) ProtoMessage() {}
  5820  
  5821  func (x *SegmentTypeA) ProtoReflect() protoreflect.Message {
  5822  	mi := &file_attribute_proto_msgTypes[88]
  5823  	if protoimpl.UnsafeEnabled && x != nil {
  5824  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5825  		if ms.LoadMessageInfo() == nil {
  5826  			ms.StoreMessageInfo(mi)
  5827  		}
  5828  		return ms
  5829  	}
  5830  	return mi.MessageOf(x)
  5831  }
  5832  
  5833  // Deprecated: Use SegmentTypeA.ProtoReflect.Descriptor instead.
  5834  func (*SegmentTypeA) Descriptor() ([]byte, []int) {
  5835  	return file_attribute_proto_rawDescGZIP(), []int{88}
  5836  }
  5837  
  5838  func (x *SegmentTypeA) GetFlags() *SegmentFlags {
  5839  	if x != nil {
  5840  		return x.Flags
  5841  	}
  5842  	return nil
  5843  }
  5844  
  5845  func (x *SegmentTypeA) GetLabel() uint32 {
  5846  	if x != nil {
  5847  		return x.Label
  5848  	}
  5849  	return 0
  5850  }
  5851  
  5852  type SegmentTypeB struct {
  5853  	state         protoimpl.MessageState
  5854  	sizeCache     protoimpl.SizeCache
  5855  	unknownFields protoimpl.UnknownFields
  5856  
  5857  	Flags                     *SegmentFlags         `protobuf:"bytes,1,opt,name=flags,proto3" json:"flags,omitempty"`
  5858  	Sid                       []byte                `protobuf:"bytes,2,opt,name=sid,proto3" json:"sid,omitempty"`
  5859  	EndpointBehaviorStructure *SRv6EndPointBehavior `protobuf:"bytes,3,opt,name=endpoint_behavior_structure,json=endpointBehaviorStructure,proto3" json:"endpoint_behavior_structure,omitempty"`
  5860  }
  5861  
  5862  func (x *SegmentTypeB) Reset() {
  5863  	*x = SegmentTypeB{}
  5864  	if protoimpl.UnsafeEnabled {
  5865  		mi := &file_attribute_proto_msgTypes[89]
  5866  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5867  		ms.StoreMessageInfo(mi)
  5868  	}
  5869  }
  5870  
  5871  func (x *SegmentTypeB) String() string {
  5872  	return protoimpl.X.MessageStringOf(x)
  5873  }
  5874  
  5875  func (*SegmentTypeB) ProtoMessage() {}
  5876  
  5877  func (x *SegmentTypeB) ProtoReflect() protoreflect.Message {
  5878  	mi := &file_attribute_proto_msgTypes[89]
  5879  	if protoimpl.UnsafeEnabled && x != nil {
  5880  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5881  		if ms.LoadMessageInfo() == nil {
  5882  			ms.StoreMessageInfo(mi)
  5883  		}
  5884  		return ms
  5885  	}
  5886  	return mi.MessageOf(x)
  5887  }
  5888  
  5889  // Deprecated: Use SegmentTypeB.ProtoReflect.Descriptor instead.
  5890  func (*SegmentTypeB) Descriptor() ([]byte, []int) {
  5891  	return file_attribute_proto_rawDescGZIP(), []int{89}
  5892  }
  5893  
  5894  func (x *SegmentTypeB) GetFlags() *SegmentFlags {
  5895  	if x != nil {
  5896  		return x.Flags
  5897  	}
  5898  	return nil
  5899  }
  5900  
  5901  func (x *SegmentTypeB) GetSid() []byte {
  5902  	if x != nil {
  5903  		return x.Sid
  5904  	}
  5905  	return nil
  5906  }
  5907  
  5908  func (x *SegmentTypeB) GetEndpointBehaviorStructure() *SRv6EndPointBehavior {
  5909  	if x != nil {
  5910  		return x.EndpointBehaviorStructure
  5911  	}
  5912  	return nil
  5913  }
  5914  
  5915  type TunnelEncapSubTLVSRSegmentList struct {
  5916  	state         protoimpl.MessageState
  5917  	sizeCache     protoimpl.SizeCache
  5918  	unknownFields protoimpl.UnknownFields
  5919  
  5920  	Weight *SRWeight `protobuf:"bytes,1,opt,name=weight,proto3" json:"weight,omitempty"`
  5921  	// segments must be one of:
  5922  	// - SegmentTypeA
  5923  	// - SegmentTypeB
  5924  	Segments []*anypb.Any `protobuf:"bytes,2,rep,name=segments,proto3" json:"segments,omitempty"`
  5925  }
  5926  
  5927  func (x *TunnelEncapSubTLVSRSegmentList) Reset() {
  5928  	*x = TunnelEncapSubTLVSRSegmentList{}
  5929  	if protoimpl.UnsafeEnabled {
  5930  		mi := &file_attribute_proto_msgTypes[90]
  5931  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5932  		ms.StoreMessageInfo(mi)
  5933  	}
  5934  }
  5935  
  5936  func (x *TunnelEncapSubTLVSRSegmentList) String() string {
  5937  	return protoimpl.X.MessageStringOf(x)
  5938  }
  5939  
  5940  func (*TunnelEncapSubTLVSRSegmentList) ProtoMessage() {}
  5941  
  5942  func (x *TunnelEncapSubTLVSRSegmentList) ProtoReflect() protoreflect.Message {
  5943  	mi := &file_attribute_proto_msgTypes[90]
  5944  	if protoimpl.UnsafeEnabled && x != nil {
  5945  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5946  		if ms.LoadMessageInfo() == nil {
  5947  			ms.StoreMessageInfo(mi)
  5948  		}
  5949  		return ms
  5950  	}
  5951  	return mi.MessageOf(x)
  5952  }
  5953  
  5954  // Deprecated: Use TunnelEncapSubTLVSRSegmentList.ProtoReflect.Descriptor instead.
  5955  func (*TunnelEncapSubTLVSRSegmentList) Descriptor() ([]byte, []int) {
  5956  	return file_attribute_proto_rawDescGZIP(), []int{90}
  5957  }
  5958  
  5959  func (x *TunnelEncapSubTLVSRSegmentList) GetWeight() *SRWeight {
  5960  	if x != nil {
  5961  		return x.Weight
  5962  	}
  5963  	return nil
  5964  }
  5965  
  5966  func (x *TunnelEncapSubTLVSRSegmentList) GetSegments() []*anypb.Any {
  5967  	if x != nil {
  5968  		return x.Segments
  5969  	}
  5970  	return nil
  5971  }
  5972  
  5973  type TunnelEncapSubTLVEgressEndpoint struct {
  5974  	state         protoimpl.MessageState
  5975  	sizeCache     protoimpl.SizeCache
  5976  	unknownFields protoimpl.UnknownFields
  5977  
  5978  	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
  5979  }
  5980  
  5981  func (x *TunnelEncapSubTLVEgressEndpoint) Reset() {
  5982  	*x = TunnelEncapSubTLVEgressEndpoint{}
  5983  	if protoimpl.UnsafeEnabled {
  5984  		mi := &file_attribute_proto_msgTypes[91]
  5985  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5986  		ms.StoreMessageInfo(mi)
  5987  	}
  5988  }
  5989  
  5990  func (x *TunnelEncapSubTLVEgressEndpoint) String() string {
  5991  	return protoimpl.X.MessageStringOf(x)
  5992  }
  5993  
  5994  func (*TunnelEncapSubTLVEgressEndpoint) ProtoMessage() {}
  5995  
  5996  func (x *TunnelEncapSubTLVEgressEndpoint) ProtoReflect() protoreflect.Message {
  5997  	mi := &file_attribute_proto_msgTypes[91]
  5998  	if protoimpl.UnsafeEnabled && x != nil {
  5999  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6000  		if ms.LoadMessageInfo() == nil {
  6001  			ms.StoreMessageInfo(mi)
  6002  		}
  6003  		return ms
  6004  	}
  6005  	return mi.MessageOf(x)
  6006  }
  6007  
  6008  // Deprecated: Use TunnelEncapSubTLVEgressEndpoint.ProtoReflect.Descriptor instead.
  6009  func (*TunnelEncapSubTLVEgressEndpoint) Descriptor() ([]byte, []int) {
  6010  	return file_attribute_proto_rawDescGZIP(), []int{91}
  6011  }
  6012  
  6013  func (x *TunnelEncapSubTLVEgressEndpoint) GetAddress() string {
  6014  	if x != nil {
  6015  		return x.Address
  6016  	}
  6017  	return ""
  6018  }
  6019  
  6020  type TunnelEncapSubTLVUDPDestPort struct {
  6021  	state         protoimpl.MessageState
  6022  	sizeCache     protoimpl.SizeCache
  6023  	unknownFields protoimpl.UnknownFields
  6024  
  6025  	Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
  6026  }
  6027  
  6028  func (x *TunnelEncapSubTLVUDPDestPort) Reset() {
  6029  	*x = TunnelEncapSubTLVUDPDestPort{}
  6030  	if protoimpl.UnsafeEnabled {
  6031  		mi := &file_attribute_proto_msgTypes[92]
  6032  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6033  		ms.StoreMessageInfo(mi)
  6034  	}
  6035  }
  6036  
  6037  func (x *TunnelEncapSubTLVUDPDestPort) String() string {
  6038  	return protoimpl.X.MessageStringOf(x)
  6039  }
  6040  
  6041  func (*TunnelEncapSubTLVUDPDestPort) ProtoMessage() {}
  6042  
  6043  func (x *TunnelEncapSubTLVUDPDestPort) ProtoReflect() protoreflect.Message {
  6044  	mi := &file_attribute_proto_msgTypes[92]
  6045  	if protoimpl.UnsafeEnabled && x != nil {
  6046  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6047  		if ms.LoadMessageInfo() == nil {
  6048  			ms.StoreMessageInfo(mi)
  6049  		}
  6050  		return ms
  6051  	}
  6052  	return mi.MessageOf(x)
  6053  }
  6054  
  6055  // Deprecated: Use TunnelEncapSubTLVUDPDestPort.ProtoReflect.Descriptor instead.
  6056  func (*TunnelEncapSubTLVUDPDestPort) Descriptor() ([]byte, []int) {
  6057  	return file_attribute_proto_rawDescGZIP(), []int{92}
  6058  }
  6059  
  6060  func (x *TunnelEncapSubTLVUDPDestPort) GetPort() uint32 {
  6061  	if x != nil {
  6062  		return x.Port
  6063  	}
  6064  	return 0
  6065  }
  6066  
  6067  type TunnelEncapSubTLVUnknown struct {
  6068  	state         protoimpl.MessageState
  6069  	sizeCache     protoimpl.SizeCache
  6070  	unknownFields protoimpl.UnknownFields
  6071  
  6072  	Type  uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
  6073  	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  6074  }
  6075  
  6076  func (x *TunnelEncapSubTLVUnknown) Reset() {
  6077  	*x = TunnelEncapSubTLVUnknown{}
  6078  	if protoimpl.UnsafeEnabled {
  6079  		mi := &file_attribute_proto_msgTypes[93]
  6080  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6081  		ms.StoreMessageInfo(mi)
  6082  	}
  6083  }
  6084  
  6085  func (x *TunnelEncapSubTLVUnknown) String() string {
  6086  	return protoimpl.X.MessageStringOf(x)
  6087  }
  6088  
  6089  func (*TunnelEncapSubTLVUnknown) ProtoMessage() {}
  6090  
  6091  func (x *TunnelEncapSubTLVUnknown) ProtoReflect() protoreflect.Message {
  6092  	mi := &file_attribute_proto_msgTypes[93]
  6093  	if protoimpl.UnsafeEnabled && x != nil {
  6094  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6095  		if ms.LoadMessageInfo() == nil {
  6096  			ms.StoreMessageInfo(mi)
  6097  		}
  6098  		return ms
  6099  	}
  6100  	return mi.MessageOf(x)
  6101  }
  6102  
  6103  // Deprecated: Use TunnelEncapSubTLVUnknown.ProtoReflect.Descriptor instead.
  6104  func (*TunnelEncapSubTLVUnknown) Descriptor() ([]byte, []int) {
  6105  	return file_attribute_proto_rawDescGZIP(), []int{93}
  6106  }
  6107  
  6108  func (x *TunnelEncapSubTLVUnknown) GetType() uint32 {
  6109  	if x != nil {
  6110  		return x.Type
  6111  	}
  6112  	return 0
  6113  }
  6114  
  6115  func (x *TunnelEncapSubTLVUnknown) GetValue() []byte {
  6116  	if x != nil {
  6117  		return x.Value
  6118  	}
  6119  	return nil
  6120  }
  6121  
  6122  type TunnelEncapTLV struct {
  6123  	state         protoimpl.MessageState
  6124  	sizeCache     protoimpl.SizeCache
  6125  	unknownFields protoimpl.UnknownFields
  6126  
  6127  	Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
  6128  	// Each TLV must be one of:
  6129  	// - TunnelEncapSubTLVEncapsulation
  6130  	// - TunnelEncapSubTLVProtocol
  6131  	// - TunnelEncapSubTLVColor
  6132  	// - TunnelEncapSubTLVSRPolicy
  6133  	// - TunnelEncapSubTLVUnknown
  6134  	Tlvs []*anypb.Any `protobuf:"bytes,2,rep,name=tlvs,proto3" json:"tlvs,omitempty"`
  6135  }
  6136  
  6137  func (x *TunnelEncapTLV) Reset() {
  6138  	*x = TunnelEncapTLV{}
  6139  	if protoimpl.UnsafeEnabled {
  6140  		mi := &file_attribute_proto_msgTypes[94]
  6141  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6142  		ms.StoreMessageInfo(mi)
  6143  	}
  6144  }
  6145  
  6146  func (x *TunnelEncapTLV) String() string {
  6147  	return protoimpl.X.MessageStringOf(x)
  6148  }
  6149  
  6150  func (*TunnelEncapTLV) ProtoMessage() {}
  6151  
  6152  func (x *TunnelEncapTLV) ProtoReflect() protoreflect.Message {
  6153  	mi := &file_attribute_proto_msgTypes[94]
  6154  	if protoimpl.UnsafeEnabled && x != nil {
  6155  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6156  		if ms.LoadMessageInfo() == nil {
  6157  			ms.StoreMessageInfo(mi)
  6158  		}
  6159  		return ms
  6160  	}
  6161  	return mi.MessageOf(x)
  6162  }
  6163  
  6164  // Deprecated: Use TunnelEncapTLV.ProtoReflect.Descriptor instead.
  6165  func (*TunnelEncapTLV) Descriptor() ([]byte, []int) {
  6166  	return file_attribute_proto_rawDescGZIP(), []int{94}
  6167  }
  6168  
  6169  func (x *TunnelEncapTLV) GetType() uint32 {
  6170  	if x != nil {
  6171  		return x.Type
  6172  	}
  6173  	return 0
  6174  }
  6175  
  6176  func (x *TunnelEncapTLV) GetTlvs() []*anypb.Any {
  6177  	if x != nil {
  6178  		return x.Tlvs
  6179  	}
  6180  	return nil
  6181  }
  6182  
  6183  type TunnelEncapAttribute struct {
  6184  	state         protoimpl.MessageState
  6185  	sizeCache     protoimpl.SizeCache
  6186  	unknownFields protoimpl.UnknownFields
  6187  
  6188  	Tlvs []*TunnelEncapTLV `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"`
  6189  }
  6190  
  6191  func (x *TunnelEncapAttribute) Reset() {
  6192  	*x = TunnelEncapAttribute{}
  6193  	if protoimpl.UnsafeEnabled {
  6194  		mi := &file_attribute_proto_msgTypes[95]
  6195  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6196  		ms.StoreMessageInfo(mi)
  6197  	}
  6198  }
  6199  
  6200  func (x *TunnelEncapAttribute) String() string {
  6201  	return protoimpl.X.MessageStringOf(x)
  6202  }
  6203  
  6204  func (*TunnelEncapAttribute) ProtoMessage() {}
  6205  
  6206  func (x *TunnelEncapAttribute) ProtoReflect() protoreflect.Message {
  6207  	mi := &file_attribute_proto_msgTypes[95]
  6208  	if protoimpl.UnsafeEnabled && x != nil {
  6209  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6210  		if ms.LoadMessageInfo() == nil {
  6211  			ms.StoreMessageInfo(mi)
  6212  		}
  6213  		return ms
  6214  	}
  6215  	return mi.MessageOf(x)
  6216  }
  6217  
  6218  // Deprecated: Use TunnelEncapAttribute.ProtoReflect.Descriptor instead.
  6219  func (*TunnelEncapAttribute) Descriptor() ([]byte, []int) {
  6220  	return file_attribute_proto_rawDescGZIP(), []int{95}
  6221  }
  6222  
  6223  func (x *TunnelEncapAttribute) GetTlvs() []*TunnelEncapTLV {
  6224  	if x != nil {
  6225  		return x.Tlvs
  6226  	}
  6227  	return nil
  6228  }
  6229  
  6230  type IPv6AddressSpecificExtended struct {
  6231  	state         protoimpl.MessageState
  6232  	sizeCache     protoimpl.SizeCache
  6233  	unknownFields protoimpl.UnknownFields
  6234  
  6235  	IsTransitive bool   `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"`
  6236  	SubType      uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"`
  6237  	Address      string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
  6238  	LocalAdmin   uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
  6239  }
  6240  
  6241  func (x *IPv6AddressSpecificExtended) Reset() {
  6242  	*x = IPv6AddressSpecificExtended{}
  6243  	if protoimpl.UnsafeEnabled {
  6244  		mi := &file_attribute_proto_msgTypes[96]
  6245  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6246  		ms.StoreMessageInfo(mi)
  6247  	}
  6248  }
  6249  
  6250  func (x *IPv6AddressSpecificExtended) String() string {
  6251  	return protoimpl.X.MessageStringOf(x)
  6252  }
  6253  
  6254  func (*IPv6AddressSpecificExtended) ProtoMessage() {}
  6255  
  6256  func (x *IPv6AddressSpecificExtended) ProtoReflect() protoreflect.Message {
  6257  	mi := &file_attribute_proto_msgTypes[96]
  6258  	if protoimpl.UnsafeEnabled && x != nil {
  6259  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6260  		if ms.LoadMessageInfo() == nil {
  6261  			ms.StoreMessageInfo(mi)
  6262  		}
  6263  		return ms
  6264  	}
  6265  	return mi.MessageOf(x)
  6266  }
  6267  
  6268  // Deprecated: Use IPv6AddressSpecificExtended.ProtoReflect.Descriptor instead.
  6269  func (*IPv6AddressSpecificExtended) Descriptor() ([]byte, []int) {
  6270  	return file_attribute_proto_rawDescGZIP(), []int{96}
  6271  }
  6272  
  6273  func (x *IPv6AddressSpecificExtended) GetIsTransitive() bool {
  6274  	if x != nil {
  6275  		return x.IsTransitive
  6276  	}
  6277  	return false
  6278  }
  6279  
  6280  func (x *IPv6AddressSpecificExtended) GetSubType() uint32 {
  6281  	if x != nil {
  6282  		return x.SubType
  6283  	}
  6284  	return 0
  6285  }
  6286  
  6287  func (x *IPv6AddressSpecificExtended) GetAddress() string {
  6288  	if x != nil {
  6289  		return x.Address
  6290  	}
  6291  	return ""
  6292  }
  6293  
  6294  func (x *IPv6AddressSpecificExtended) GetLocalAdmin() uint32 {
  6295  	if x != nil {
  6296  		return x.LocalAdmin
  6297  	}
  6298  	return 0
  6299  }
  6300  
  6301  type RedirectIPv6AddressSpecificExtended struct {
  6302  	state         protoimpl.MessageState
  6303  	sizeCache     protoimpl.SizeCache
  6304  	unknownFields protoimpl.UnknownFields
  6305  
  6306  	Address    string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
  6307  	LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
  6308  }
  6309  
  6310  func (x *RedirectIPv6AddressSpecificExtended) Reset() {
  6311  	*x = RedirectIPv6AddressSpecificExtended{}
  6312  	if protoimpl.UnsafeEnabled {
  6313  		mi := &file_attribute_proto_msgTypes[97]
  6314  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6315  		ms.StoreMessageInfo(mi)
  6316  	}
  6317  }
  6318  
  6319  func (x *RedirectIPv6AddressSpecificExtended) String() string {
  6320  	return protoimpl.X.MessageStringOf(x)
  6321  }
  6322  
  6323  func (*RedirectIPv6AddressSpecificExtended) ProtoMessage() {}
  6324  
  6325  func (x *RedirectIPv6AddressSpecificExtended) ProtoReflect() protoreflect.Message {
  6326  	mi := &file_attribute_proto_msgTypes[97]
  6327  	if protoimpl.UnsafeEnabled && x != nil {
  6328  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6329  		if ms.LoadMessageInfo() == nil {
  6330  			ms.StoreMessageInfo(mi)
  6331  		}
  6332  		return ms
  6333  	}
  6334  	return mi.MessageOf(x)
  6335  }
  6336  
  6337  // Deprecated: Use RedirectIPv6AddressSpecificExtended.ProtoReflect.Descriptor instead.
  6338  func (*RedirectIPv6AddressSpecificExtended) Descriptor() ([]byte, []int) {
  6339  	return file_attribute_proto_rawDescGZIP(), []int{97}
  6340  }
  6341  
  6342  func (x *RedirectIPv6AddressSpecificExtended) GetAddress() string {
  6343  	if x != nil {
  6344  		return x.Address
  6345  	}
  6346  	return ""
  6347  }
  6348  
  6349  func (x *RedirectIPv6AddressSpecificExtended) GetLocalAdmin() uint32 {
  6350  	if x != nil {
  6351  		return x.LocalAdmin
  6352  	}
  6353  	return 0
  6354  }
  6355  
  6356  type IP6ExtendedCommunitiesAttribute struct {
  6357  	state         protoimpl.MessageState
  6358  	sizeCache     protoimpl.SizeCache
  6359  	unknownFields protoimpl.UnknownFields
  6360  
  6361  	// Each Community must be one of:
  6362  	// - IPv6AddressSpecificExtended
  6363  	// - RedirectIPv6AddressSpecificExtended
  6364  	Communities []*anypb.Any `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"`
  6365  }
  6366  
  6367  func (x *IP6ExtendedCommunitiesAttribute) Reset() {
  6368  	*x = IP6ExtendedCommunitiesAttribute{}
  6369  	if protoimpl.UnsafeEnabled {
  6370  		mi := &file_attribute_proto_msgTypes[98]
  6371  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6372  		ms.StoreMessageInfo(mi)
  6373  	}
  6374  }
  6375  
  6376  func (x *IP6ExtendedCommunitiesAttribute) String() string {
  6377  	return protoimpl.X.MessageStringOf(x)
  6378  }
  6379  
  6380  func (*IP6ExtendedCommunitiesAttribute) ProtoMessage() {}
  6381  
  6382  func (x *IP6ExtendedCommunitiesAttribute) ProtoReflect() protoreflect.Message {
  6383  	mi := &file_attribute_proto_msgTypes[98]
  6384  	if protoimpl.UnsafeEnabled && x != nil {
  6385  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6386  		if ms.LoadMessageInfo() == nil {
  6387  			ms.StoreMessageInfo(mi)
  6388  		}
  6389  		return ms
  6390  	}
  6391  	return mi.MessageOf(x)
  6392  }
  6393  
  6394  // Deprecated: Use IP6ExtendedCommunitiesAttribute.ProtoReflect.Descriptor instead.
  6395  func (*IP6ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) {
  6396  	return file_attribute_proto_rawDescGZIP(), []int{98}
  6397  }
  6398  
  6399  func (x *IP6ExtendedCommunitiesAttribute) GetCommunities() []*anypb.Any {
  6400  	if x != nil {
  6401  		return x.Communities
  6402  	}
  6403  	return nil
  6404  }
  6405  
  6406  type AigpTLVIGPMetric struct {
  6407  	state         protoimpl.MessageState
  6408  	sizeCache     protoimpl.SizeCache
  6409  	unknownFields protoimpl.UnknownFields
  6410  
  6411  	Metric uint64 `protobuf:"varint,1,opt,name=metric,proto3" json:"metric,omitempty"`
  6412  }
  6413  
  6414  func (x *AigpTLVIGPMetric) Reset() {
  6415  	*x = AigpTLVIGPMetric{}
  6416  	if protoimpl.UnsafeEnabled {
  6417  		mi := &file_attribute_proto_msgTypes[99]
  6418  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6419  		ms.StoreMessageInfo(mi)
  6420  	}
  6421  }
  6422  
  6423  func (x *AigpTLVIGPMetric) String() string {
  6424  	return protoimpl.X.MessageStringOf(x)
  6425  }
  6426  
  6427  func (*AigpTLVIGPMetric) ProtoMessage() {}
  6428  
  6429  func (x *AigpTLVIGPMetric) ProtoReflect() protoreflect.Message {
  6430  	mi := &file_attribute_proto_msgTypes[99]
  6431  	if protoimpl.UnsafeEnabled && x != nil {
  6432  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6433  		if ms.LoadMessageInfo() == nil {
  6434  			ms.StoreMessageInfo(mi)
  6435  		}
  6436  		return ms
  6437  	}
  6438  	return mi.MessageOf(x)
  6439  }
  6440  
  6441  // Deprecated: Use AigpTLVIGPMetric.ProtoReflect.Descriptor instead.
  6442  func (*AigpTLVIGPMetric) Descriptor() ([]byte, []int) {
  6443  	return file_attribute_proto_rawDescGZIP(), []int{99}
  6444  }
  6445  
  6446  func (x *AigpTLVIGPMetric) GetMetric() uint64 {
  6447  	if x != nil {
  6448  		return x.Metric
  6449  	}
  6450  	return 0
  6451  }
  6452  
  6453  type AigpTLVUnknown struct {
  6454  	state         protoimpl.MessageState
  6455  	sizeCache     protoimpl.SizeCache
  6456  	unknownFields protoimpl.UnknownFields
  6457  
  6458  	Type  uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
  6459  	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  6460  }
  6461  
  6462  func (x *AigpTLVUnknown) Reset() {
  6463  	*x = AigpTLVUnknown{}
  6464  	if protoimpl.UnsafeEnabled {
  6465  		mi := &file_attribute_proto_msgTypes[100]
  6466  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6467  		ms.StoreMessageInfo(mi)
  6468  	}
  6469  }
  6470  
  6471  func (x *AigpTLVUnknown) String() string {
  6472  	return protoimpl.X.MessageStringOf(x)
  6473  }
  6474  
  6475  func (*AigpTLVUnknown) ProtoMessage() {}
  6476  
  6477  func (x *AigpTLVUnknown) ProtoReflect() protoreflect.Message {
  6478  	mi := &file_attribute_proto_msgTypes[100]
  6479  	if protoimpl.UnsafeEnabled && x != nil {
  6480  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6481  		if ms.LoadMessageInfo() == nil {
  6482  			ms.StoreMessageInfo(mi)
  6483  		}
  6484  		return ms
  6485  	}
  6486  	return mi.MessageOf(x)
  6487  }
  6488  
  6489  // Deprecated: Use AigpTLVUnknown.ProtoReflect.Descriptor instead.
  6490  func (*AigpTLVUnknown) Descriptor() ([]byte, []int) {
  6491  	return file_attribute_proto_rawDescGZIP(), []int{100}
  6492  }
  6493  
  6494  func (x *AigpTLVUnknown) GetType() uint32 {
  6495  	if x != nil {
  6496  		return x.Type
  6497  	}
  6498  	return 0
  6499  }
  6500  
  6501  func (x *AigpTLVUnknown) GetValue() []byte {
  6502  	if x != nil {
  6503  		return x.Value
  6504  	}
  6505  	return nil
  6506  }
  6507  
  6508  type AigpAttribute struct {
  6509  	state         protoimpl.MessageState
  6510  	sizeCache     protoimpl.SizeCache
  6511  	unknownFields protoimpl.UnknownFields
  6512  
  6513  	// Each TLV must be one of:
  6514  	// - AigpTLVIGPMetric
  6515  	// - AigpTLVUnknown
  6516  	Tlvs []*anypb.Any `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"`
  6517  }
  6518  
  6519  func (x *AigpAttribute) Reset() {
  6520  	*x = AigpAttribute{}
  6521  	if protoimpl.UnsafeEnabled {
  6522  		mi := &file_attribute_proto_msgTypes[101]
  6523  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6524  		ms.StoreMessageInfo(mi)
  6525  	}
  6526  }
  6527  
  6528  func (x *AigpAttribute) String() string {
  6529  	return protoimpl.X.MessageStringOf(x)
  6530  }
  6531  
  6532  func (*AigpAttribute) ProtoMessage() {}
  6533  
  6534  func (x *AigpAttribute) ProtoReflect() protoreflect.Message {
  6535  	mi := &file_attribute_proto_msgTypes[101]
  6536  	if protoimpl.UnsafeEnabled && x != nil {
  6537  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6538  		if ms.LoadMessageInfo() == nil {
  6539  			ms.StoreMessageInfo(mi)
  6540  		}
  6541  		return ms
  6542  	}
  6543  	return mi.MessageOf(x)
  6544  }
  6545  
  6546  // Deprecated: Use AigpAttribute.ProtoReflect.Descriptor instead.
  6547  func (*AigpAttribute) Descriptor() ([]byte, []int) {
  6548  	return file_attribute_proto_rawDescGZIP(), []int{101}
  6549  }
  6550  
  6551  func (x *AigpAttribute) GetTlvs() []*anypb.Any {
  6552  	if x != nil {
  6553  		return x.Tlvs
  6554  	}
  6555  	return nil
  6556  }
  6557  
  6558  type LargeCommunity struct {
  6559  	state         protoimpl.MessageState
  6560  	sizeCache     protoimpl.SizeCache
  6561  	unknownFields protoimpl.UnknownFields
  6562  
  6563  	GlobalAdmin uint32 `protobuf:"varint,1,opt,name=global_admin,json=globalAdmin,proto3" json:"global_admin,omitempty"`
  6564  	LocalData1  uint32 `protobuf:"varint,2,opt,name=local_data1,json=localData1,proto3" json:"local_data1,omitempty"`
  6565  	LocalData2  uint32 `protobuf:"varint,3,opt,name=local_data2,json=localData2,proto3" json:"local_data2,omitempty"`
  6566  }
  6567  
  6568  func (x *LargeCommunity) Reset() {
  6569  	*x = LargeCommunity{}
  6570  	if protoimpl.UnsafeEnabled {
  6571  		mi := &file_attribute_proto_msgTypes[102]
  6572  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6573  		ms.StoreMessageInfo(mi)
  6574  	}
  6575  }
  6576  
  6577  func (x *LargeCommunity) String() string {
  6578  	return protoimpl.X.MessageStringOf(x)
  6579  }
  6580  
  6581  func (*LargeCommunity) ProtoMessage() {}
  6582  
  6583  func (x *LargeCommunity) ProtoReflect() protoreflect.Message {
  6584  	mi := &file_attribute_proto_msgTypes[102]
  6585  	if protoimpl.UnsafeEnabled && x != nil {
  6586  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6587  		if ms.LoadMessageInfo() == nil {
  6588  			ms.StoreMessageInfo(mi)
  6589  		}
  6590  		return ms
  6591  	}
  6592  	return mi.MessageOf(x)
  6593  }
  6594  
  6595  // Deprecated: Use LargeCommunity.ProtoReflect.Descriptor instead.
  6596  func (*LargeCommunity) Descriptor() ([]byte, []int) {
  6597  	return file_attribute_proto_rawDescGZIP(), []int{102}
  6598  }
  6599  
  6600  func (x *LargeCommunity) GetGlobalAdmin() uint32 {
  6601  	if x != nil {
  6602  		return x.GlobalAdmin
  6603  	}
  6604  	return 0
  6605  }
  6606  
  6607  func (x *LargeCommunity) GetLocalData1() uint32 {
  6608  	if x != nil {
  6609  		return x.LocalData1
  6610  	}
  6611  	return 0
  6612  }
  6613  
  6614  func (x *LargeCommunity) GetLocalData2() uint32 {
  6615  	if x != nil {
  6616  		return x.LocalData2
  6617  	}
  6618  	return 0
  6619  }
  6620  
  6621  type LargeCommunitiesAttribute struct {
  6622  	state         protoimpl.MessageState
  6623  	sizeCache     protoimpl.SizeCache
  6624  	unknownFields protoimpl.UnknownFields
  6625  
  6626  	Communities []*LargeCommunity `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"`
  6627  }
  6628  
  6629  func (x *LargeCommunitiesAttribute) Reset() {
  6630  	*x = LargeCommunitiesAttribute{}
  6631  	if protoimpl.UnsafeEnabled {
  6632  		mi := &file_attribute_proto_msgTypes[103]
  6633  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6634  		ms.StoreMessageInfo(mi)
  6635  	}
  6636  }
  6637  
  6638  func (x *LargeCommunitiesAttribute) String() string {
  6639  	return protoimpl.X.MessageStringOf(x)
  6640  }
  6641  
  6642  func (*LargeCommunitiesAttribute) ProtoMessage() {}
  6643  
  6644  func (x *LargeCommunitiesAttribute) ProtoReflect() protoreflect.Message {
  6645  	mi := &file_attribute_proto_msgTypes[103]
  6646  	if protoimpl.UnsafeEnabled && x != nil {
  6647  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6648  		if ms.LoadMessageInfo() == nil {
  6649  			ms.StoreMessageInfo(mi)
  6650  		}
  6651  		return ms
  6652  	}
  6653  	return mi.MessageOf(x)
  6654  }
  6655  
  6656  // Deprecated: Use LargeCommunitiesAttribute.ProtoReflect.Descriptor instead.
  6657  func (*LargeCommunitiesAttribute) Descriptor() ([]byte, []int) {
  6658  	return file_attribute_proto_rawDescGZIP(), []int{103}
  6659  }
  6660  
  6661  func (x *LargeCommunitiesAttribute) GetCommunities() []*LargeCommunity {
  6662  	if x != nil {
  6663  		return x.Communities
  6664  	}
  6665  	return nil
  6666  }
  6667  
  6668  type LsNodeFlags struct {
  6669  	state         protoimpl.MessageState
  6670  	sizeCache     protoimpl.SizeCache
  6671  	unknownFields protoimpl.UnknownFields
  6672  
  6673  	Overload bool `protobuf:"varint,1,opt,name=overload,proto3" json:"overload,omitempty"`
  6674  	Attached bool `protobuf:"varint,2,opt,name=attached,proto3" json:"attached,omitempty"`
  6675  	External bool `protobuf:"varint,3,opt,name=external,proto3" json:"external,omitempty"`
  6676  	Abr      bool `protobuf:"varint,4,opt,name=abr,proto3" json:"abr,omitempty"`
  6677  	Router   bool `protobuf:"varint,5,opt,name=router,proto3" json:"router,omitempty"`
  6678  	V6       bool `protobuf:"varint,6,opt,name=v6,proto3" json:"v6,omitempty"`
  6679  }
  6680  
  6681  func (x *LsNodeFlags) Reset() {
  6682  	*x = LsNodeFlags{}
  6683  	if protoimpl.UnsafeEnabled {
  6684  		mi := &file_attribute_proto_msgTypes[104]
  6685  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6686  		ms.StoreMessageInfo(mi)
  6687  	}
  6688  }
  6689  
  6690  func (x *LsNodeFlags) String() string {
  6691  	return protoimpl.X.MessageStringOf(x)
  6692  }
  6693  
  6694  func (*LsNodeFlags) ProtoMessage() {}
  6695  
  6696  func (x *LsNodeFlags) ProtoReflect() protoreflect.Message {
  6697  	mi := &file_attribute_proto_msgTypes[104]
  6698  	if protoimpl.UnsafeEnabled && x != nil {
  6699  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6700  		if ms.LoadMessageInfo() == nil {
  6701  			ms.StoreMessageInfo(mi)
  6702  		}
  6703  		return ms
  6704  	}
  6705  	return mi.MessageOf(x)
  6706  }
  6707  
  6708  // Deprecated: Use LsNodeFlags.ProtoReflect.Descriptor instead.
  6709  func (*LsNodeFlags) Descriptor() ([]byte, []int) {
  6710  	return file_attribute_proto_rawDescGZIP(), []int{104}
  6711  }
  6712  
  6713  func (x *LsNodeFlags) GetOverload() bool {
  6714  	if x != nil {
  6715  		return x.Overload
  6716  	}
  6717  	return false
  6718  }
  6719  
  6720  func (x *LsNodeFlags) GetAttached() bool {
  6721  	if x != nil {
  6722  		return x.Attached
  6723  	}
  6724  	return false
  6725  }
  6726  
  6727  func (x *LsNodeFlags) GetExternal() bool {
  6728  	if x != nil {
  6729  		return x.External
  6730  	}
  6731  	return false
  6732  }
  6733  
  6734  func (x *LsNodeFlags) GetAbr() bool {
  6735  	if x != nil {
  6736  		return x.Abr
  6737  	}
  6738  	return false
  6739  }
  6740  
  6741  func (x *LsNodeFlags) GetRouter() bool {
  6742  	if x != nil {
  6743  		return x.Router
  6744  	}
  6745  	return false
  6746  }
  6747  
  6748  func (x *LsNodeFlags) GetV6() bool {
  6749  	if x != nil {
  6750  		return x.V6
  6751  	}
  6752  	return false
  6753  }
  6754  
  6755  type LsIGPFlags struct {
  6756  	state         protoimpl.MessageState
  6757  	sizeCache     protoimpl.SizeCache
  6758  	unknownFields protoimpl.UnknownFields
  6759  
  6760  	Down          bool `protobuf:"varint,1,opt,name=down,proto3" json:"down,omitempty"`
  6761  	NoUnicast     bool `protobuf:"varint,2,opt,name=no_unicast,json=noUnicast,proto3" json:"no_unicast,omitempty"`
  6762  	LocalAddress  bool `protobuf:"varint,3,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"`
  6763  	PropagateNssa bool `protobuf:"varint,4,opt,name=propagate_nssa,json=propagateNssa,proto3" json:"propagate_nssa,omitempty"`
  6764  }
  6765  
  6766  func (x *LsIGPFlags) Reset() {
  6767  	*x = LsIGPFlags{}
  6768  	if protoimpl.UnsafeEnabled {
  6769  		mi := &file_attribute_proto_msgTypes[105]
  6770  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6771  		ms.StoreMessageInfo(mi)
  6772  	}
  6773  }
  6774  
  6775  func (x *LsIGPFlags) String() string {
  6776  	return protoimpl.X.MessageStringOf(x)
  6777  }
  6778  
  6779  func (*LsIGPFlags) ProtoMessage() {}
  6780  
  6781  func (x *LsIGPFlags) ProtoReflect() protoreflect.Message {
  6782  	mi := &file_attribute_proto_msgTypes[105]
  6783  	if protoimpl.UnsafeEnabled && x != nil {
  6784  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6785  		if ms.LoadMessageInfo() == nil {
  6786  			ms.StoreMessageInfo(mi)
  6787  		}
  6788  		return ms
  6789  	}
  6790  	return mi.MessageOf(x)
  6791  }
  6792  
  6793  // Deprecated: Use LsIGPFlags.ProtoReflect.Descriptor instead.
  6794  func (*LsIGPFlags) Descriptor() ([]byte, []int) {
  6795  	return file_attribute_proto_rawDescGZIP(), []int{105}
  6796  }
  6797  
  6798  func (x *LsIGPFlags) GetDown() bool {
  6799  	if x != nil {
  6800  		return x.Down
  6801  	}
  6802  	return false
  6803  }
  6804  
  6805  func (x *LsIGPFlags) GetNoUnicast() bool {
  6806  	if x != nil {
  6807  		return x.NoUnicast
  6808  	}
  6809  	return false
  6810  }
  6811  
  6812  func (x *LsIGPFlags) GetLocalAddress() bool {
  6813  	if x != nil {
  6814  		return x.LocalAddress
  6815  	}
  6816  	return false
  6817  }
  6818  
  6819  func (x *LsIGPFlags) GetPropagateNssa() bool {
  6820  	if x != nil {
  6821  		return x.PropagateNssa
  6822  	}
  6823  	return false
  6824  }
  6825  
  6826  type LsSrRange struct {
  6827  	state         protoimpl.MessageState
  6828  	sizeCache     protoimpl.SizeCache
  6829  	unknownFields protoimpl.UnknownFields
  6830  
  6831  	Begin uint32 `protobuf:"varint,1,opt,name=begin,proto3" json:"begin,omitempty"`
  6832  	End   uint32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
  6833  }
  6834  
  6835  func (x *LsSrRange) Reset() {
  6836  	*x = LsSrRange{}
  6837  	if protoimpl.UnsafeEnabled {
  6838  		mi := &file_attribute_proto_msgTypes[106]
  6839  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6840  		ms.StoreMessageInfo(mi)
  6841  	}
  6842  }
  6843  
  6844  func (x *LsSrRange) String() string {
  6845  	return protoimpl.X.MessageStringOf(x)
  6846  }
  6847  
  6848  func (*LsSrRange) ProtoMessage() {}
  6849  
  6850  func (x *LsSrRange) ProtoReflect() protoreflect.Message {
  6851  	mi := &file_attribute_proto_msgTypes[106]
  6852  	if protoimpl.UnsafeEnabled && x != nil {
  6853  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6854  		if ms.LoadMessageInfo() == nil {
  6855  			ms.StoreMessageInfo(mi)
  6856  		}
  6857  		return ms
  6858  	}
  6859  	return mi.MessageOf(x)
  6860  }
  6861  
  6862  // Deprecated: Use LsSrRange.ProtoReflect.Descriptor instead.
  6863  func (*LsSrRange) Descriptor() ([]byte, []int) {
  6864  	return file_attribute_proto_rawDescGZIP(), []int{106}
  6865  }
  6866  
  6867  func (x *LsSrRange) GetBegin() uint32 {
  6868  	if x != nil {
  6869  		return x.Begin
  6870  	}
  6871  	return 0
  6872  }
  6873  
  6874  func (x *LsSrRange) GetEnd() uint32 {
  6875  	if x != nil {
  6876  		return x.End
  6877  	}
  6878  	return 0
  6879  }
  6880  
  6881  type LsSrCapabilities struct {
  6882  	state         protoimpl.MessageState
  6883  	sizeCache     protoimpl.SizeCache
  6884  	unknownFields protoimpl.UnknownFields
  6885  
  6886  	Ipv4Supported bool         `protobuf:"varint,1,opt,name=ipv4_supported,json=ipv4Supported,proto3" json:"ipv4_supported,omitempty"`
  6887  	Ipv6Supported bool         `protobuf:"varint,2,opt,name=ipv6_supported,json=ipv6Supported,proto3" json:"ipv6_supported,omitempty"`
  6888  	Ranges        []*LsSrRange `protobuf:"bytes,3,rep,name=ranges,proto3" json:"ranges,omitempty"`
  6889  }
  6890  
  6891  func (x *LsSrCapabilities) Reset() {
  6892  	*x = LsSrCapabilities{}
  6893  	if protoimpl.UnsafeEnabled {
  6894  		mi := &file_attribute_proto_msgTypes[107]
  6895  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6896  		ms.StoreMessageInfo(mi)
  6897  	}
  6898  }
  6899  
  6900  func (x *LsSrCapabilities) String() string {
  6901  	return protoimpl.X.MessageStringOf(x)
  6902  }
  6903  
  6904  func (*LsSrCapabilities) ProtoMessage() {}
  6905  
  6906  func (x *LsSrCapabilities) ProtoReflect() protoreflect.Message {
  6907  	mi := &file_attribute_proto_msgTypes[107]
  6908  	if protoimpl.UnsafeEnabled && x != nil {
  6909  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6910  		if ms.LoadMessageInfo() == nil {
  6911  			ms.StoreMessageInfo(mi)
  6912  		}
  6913  		return ms
  6914  	}
  6915  	return mi.MessageOf(x)
  6916  }
  6917  
  6918  // Deprecated: Use LsSrCapabilities.ProtoReflect.Descriptor instead.
  6919  func (*LsSrCapabilities) Descriptor() ([]byte, []int) {
  6920  	return file_attribute_proto_rawDescGZIP(), []int{107}
  6921  }
  6922  
  6923  func (x *LsSrCapabilities) GetIpv4Supported() bool {
  6924  	if x != nil {
  6925  		return x.Ipv4Supported
  6926  	}
  6927  	return false
  6928  }
  6929  
  6930  func (x *LsSrCapabilities) GetIpv6Supported() bool {
  6931  	if x != nil {
  6932  		return x.Ipv6Supported
  6933  	}
  6934  	return false
  6935  }
  6936  
  6937  func (x *LsSrCapabilities) GetRanges() []*LsSrRange {
  6938  	if x != nil {
  6939  		return x.Ranges
  6940  	}
  6941  	return nil
  6942  }
  6943  
  6944  type LsSrLocalBlock struct {
  6945  	state         protoimpl.MessageState
  6946  	sizeCache     protoimpl.SizeCache
  6947  	unknownFields protoimpl.UnknownFields
  6948  
  6949  	Ranges []*LsSrRange `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"`
  6950  }
  6951  
  6952  func (x *LsSrLocalBlock) Reset() {
  6953  	*x = LsSrLocalBlock{}
  6954  	if protoimpl.UnsafeEnabled {
  6955  		mi := &file_attribute_proto_msgTypes[108]
  6956  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6957  		ms.StoreMessageInfo(mi)
  6958  	}
  6959  }
  6960  
  6961  func (x *LsSrLocalBlock) String() string {
  6962  	return protoimpl.X.MessageStringOf(x)
  6963  }
  6964  
  6965  func (*LsSrLocalBlock) ProtoMessage() {}
  6966  
  6967  func (x *LsSrLocalBlock) ProtoReflect() protoreflect.Message {
  6968  	mi := &file_attribute_proto_msgTypes[108]
  6969  	if protoimpl.UnsafeEnabled && x != nil {
  6970  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6971  		if ms.LoadMessageInfo() == nil {
  6972  			ms.StoreMessageInfo(mi)
  6973  		}
  6974  		return ms
  6975  	}
  6976  	return mi.MessageOf(x)
  6977  }
  6978  
  6979  // Deprecated: Use LsSrLocalBlock.ProtoReflect.Descriptor instead.
  6980  func (*LsSrLocalBlock) Descriptor() ([]byte, []int) {
  6981  	return file_attribute_proto_rawDescGZIP(), []int{108}
  6982  }
  6983  
  6984  func (x *LsSrLocalBlock) GetRanges() []*LsSrRange {
  6985  	if x != nil {
  6986  		return x.Ranges
  6987  	}
  6988  	return nil
  6989  }
  6990  
  6991  type LsAttributeNode struct {
  6992  	state         protoimpl.MessageState
  6993  	sizeCache     protoimpl.SizeCache
  6994  	unknownFields protoimpl.UnknownFields
  6995  
  6996  	Name            string            `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  6997  	Flags           *LsNodeFlags      `protobuf:"bytes,2,opt,name=flags,proto3" json:"flags,omitempty"`
  6998  	LocalRouterId   string            `protobuf:"bytes,3,opt,name=local_router_id,json=localRouterId,proto3" json:"local_router_id,omitempty"`
  6999  	LocalRouterIdV6 string            `protobuf:"bytes,4,opt,name=local_router_id_v6,json=localRouterIdV6,proto3" json:"local_router_id_v6,omitempty"`
  7000  	IsisArea        []byte            `protobuf:"bytes,5,opt,name=isis_area,json=isisArea,proto3" json:"isis_area,omitempty"`
  7001  	Opaque          []byte            `protobuf:"bytes,6,opt,name=opaque,proto3" json:"opaque,omitempty"`
  7002  	SrCapabilities  *LsSrCapabilities `protobuf:"bytes,7,opt,name=sr_capabilities,json=srCapabilities,proto3" json:"sr_capabilities,omitempty"`
  7003  	SrAlgorithms    []byte            `protobuf:"bytes,8,opt,name=sr_algorithms,json=srAlgorithms,proto3" json:"sr_algorithms,omitempty"`
  7004  	SrLocalBlock    *LsSrLocalBlock   `protobuf:"bytes,9,opt,name=sr_local_block,json=srLocalBlock,proto3" json:"sr_local_block,omitempty"`
  7005  }
  7006  
  7007  func (x *LsAttributeNode) Reset() {
  7008  	*x = LsAttributeNode{}
  7009  	if protoimpl.UnsafeEnabled {
  7010  		mi := &file_attribute_proto_msgTypes[109]
  7011  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7012  		ms.StoreMessageInfo(mi)
  7013  	}
  7014  }
  7015  
  7016  func (x *LsAttributeNode) String() string {
  7017  	return protoimpl.X.MessageStringOf(x)
  7018  }
  7019  
  7020  func (*LsAttributeNode) ProtoMessage() {}
  7021  
  7022  func (x *LsAttributeNode) ProtoReflect() protoreflect.Message {
  7023  	mi := &file_attribute_proto_msgTypes[109]
  7024  	if protoimpl.UnsafeEnabled && x != nil {
  7025  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7026  		if ms.LoadMessageInfo() == nil {
  7027  			ms.StoreMessageInfo(mi)
  7028  		}
  7029  		return ms
  7030  	}
  7031  	return mi.MessageOf(x)
  7032  }
  7033  
  7034  // Deprecated: Use LsAttributeNode.ProtoReflect.Descriptor instead.
  7035  func (*LsAttributeNode) Descriptor() ([]byte, []int) {
  7036  	return file_attribute_proto_rawDescGZIP(), []int{109}
  7037  }
  7038  
  7039  func (x *LsAttributeNode) GetName() string {
  7040  	if x != nil {
  7041  		return x.Name
  7042  	}
  7043  	return ""
  7044  }
  7045  
  7046  func (x *LsAttributeNode) GetFlags() *LsNodeFlags {
  7047  	if x != nil {
  7048  		return x.Flags
  7049  	}
  7050  	return nil
  7051  }
  7052  
  7053  func (x *LsAttributeNode) GetLocalRouterId() string {
  7054  	if x != nil {
  7055  		return x.LocalRouterId
  7056  	}
  7057  	return ""
  7058  }
  7059  
  7060  func (x *LsAttributeNode) GetLocalRouterIdV6() string {
  7061  	if x != nil {
  7062  		return x.LocalRouterIdV6
  7063  	}
  7064  	return ""
  7065  }
  7066  
  7067  func (x *LsAttributeNode) GetIsisArea() []byte {
  7068  	if x != nil {
  7069  		return x.IsisArea
  7070  	}
  7071  	return nil
  7072  }
  7073  
  7074  func (x *LsAttributeNode) GetOpaque() []byte {
  7075  	if x != nil {
  7076  		return x.Opaque
  7077  	}
  7078  	return nil
  7079  }
  7080  
  7081  func (x *LsAttributeNode) GetSrCapabilities() *LsSrCapabilities {
  7082  	if x != nil {
  7083  		return x.SrCapabilities
  7084  	}
  7085  	return nil
  7086  }
  7087  
  7088  func (x *LsAttributeNode) GetSrAlgorithms() []byte {
  7089  	if x != nil {
  7090  		return x.SrAlgorithms
  7091  	}
  7092  	return nil
  7093  }
  7094  
  7095  func (x *LsAttributeNode) GetSrLocalBlock() *LsSrLocalBlock {
  7096  	if x != nil {
  7097  		return x.SrLocalBlock
  7098  	}
  7099  	return nil
  7100  }
  7101  
  7102  type LsAttributeLink struct {
  7103  	state         protoimpl.MessageState
  7104  	sizeCache     protoimpl.SizeCache
  7105  	unknownFields protoimpl.UnknownFields
  7106  
  7107  	Name                string    `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  7108  	LocalRouterId       string    `protobuf:"bytes,2,opt,name=local_router_id,json=localRouterId,proto3" json:"local_router_id,omitempty"`
  7109  	LocalRouterIdV6     string    `protobuf:"bytes,3,opt,name=local_router_id_v6,json=localRouterIdV6,proto3" json:"local_router_id_v6,omitempty"`
  7110  	RemoteRouterId      string    `protobuf:"bytes,4,opt,name=remote_router_id,json=remoteRouterId,proto3" json:"remote_router_id,omitempty"`
  7111  	RemoteRouterIdV6    string    `protobuf:"bytes,5,opt,name=remote_router_id_v6,json=remoteRouterIdV6,proto3" json:"remote_router_id_v6,omitempty"`
  7112  	AdminGroup          uint32    `protobuf:"varint,6,opt,name=admin_group,json=adminGroup,proto3" json:"admin_group,omitempty"`
  7113  	DefaultTeMetric     uint32    `protobuf:"varint,7,opt,name=default_te_metric,json=defaultTeMetric,proto3" json:"default_te_metric,omitempty"`
  7114  	IgpMetric           uint32    `protobuf:"varint,8,opt,name=igp_metric,json=igpMetric,proto3" json:"igp_metric,omitempty"`
  7115  	Opaque              []byte    `protobuf:"bytes,9,opt,name=opaque,proto3" json:"opaque,omitempty"`
  7116  	Bandwidth           float32   `protobuf:"fixed32,10,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"`
  7117  	ReservableBandwidth float32   `protobuf:"fixed32,11,opt,name=reservable_bandwidth,json=reservableBandwidth,proto3" json:"reservable_bandwidth,omitempty"`
  7118  	UnreservedBandwidth []float32 `protobuf:"fixed32,12,rep,packed,name=unreserved_bandwidth,json=unreservedBandwidth,proto3" json:"unreserved_bandwidth,omitempty"`
  7119  	SrAdjacencySid      uint32    `protobuf:"varint,13,opt,name=sr_adjacency_sid,json=srAdjacencySid,proto3" json:"sr_adjacency_sid,omitempty"`
  7120  	Srlgs               []uint32  `protobuf:"varint,14,rep,packed,name=srlgs,proto3" json:"srlgs,omitempty"`
  7121  }
  7122  
  7123  func (x *LsAttributeLink) Reset() {
  7124  	*x = LsAttributeLink{}
  7125  	if protoimpl.UnsafeEnabled {
  7126  		mi := &file_attribute_proto_msgTypes[110]
  7127  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7128  		ms.StoreMessageInfo(mi)
  7129  	}
  7130  }
  7131  
  7132  func (x *LsAttributeLink) String() string {
  7133  	return protoimpl.X.MessageStringOf(x)
  7134  }
  7135  
  7136  func (*LsAttributeLink) ProtoMessage() {}
  7137  
  7138  func (x *LsAttributeLink) ProtoReflect() protoreflect.Message {
  7139  	mi := &file_attribute_proto_msgTypes[110]
  7140  	if protoimpl.UnsafeEnabled && x != nil {
  7141  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7142  		if ms.LoadMessageInfo() == nil {
  7143  			ms.StoreMessageInfo(mi)
  7144  		}
  7145  		return ms
  7146  	}
  7147  	return mi.MessageOf(x)
  7148  }
  7149  
  7150  // Deprecated: Use LsAttributeLink.ProtoReflect.Descriptor instead.
  7151  func (*LsAttributeLink) Descriptor() ([]byte, []int) {
  7152  	return file_attribute_proto_rawDescGZIP(), []int{110}
  7153  }
  7154  
  7155  func (x *LsAttributeLink) GetName() string {
  7156  	if x != nil {
  7157  		return x.Name
  7158  	}
  7159  	return ""
  7160  }
  7161  
  7162  func (x *LsAttributeLink) GetLocalRouterId() string {
  7163  	if x != nil {
  7164  		return x.LocalRouterId
  7165  	}
  7166  	return ""
  7167  }
  7168  
  7169  func (x *LsAttributeLink) GetLocalRouterIdV6() string {
  7170  	if x != nil {
  7171  		return x.LocalRouterIdV6
  7172  	}
  7173  	return ""
  7174  }
  7175  
  7176  func (x *LsAttributeLink) GetRemoteRouterId() string {
  7177  	if x != nil {
  7178  		return x.RemoteRouterId
  7179  	}
  7180  	return ""
  7181  }
  7182  
  7183  func (x *LsAttributeLink) GetRemoteRouterIdV6() string {
  7184  	if x != nil {
  7185  		return x.RemoteRouterIdV6
  7186  	}
  7187  	return ""
  7188  }
  7189  
  7190  func (x *LsAttributeLink) GetAdminGroup() uint32 {
  7191  	if x != nil {
  7192  		return x.AdminGroup
  7193  	}
  7194  	return 0
  7195  }
  7196  
  7197  func (x *LsAttributeLink) GetDefaultTeMetric() uint32 {
  7198  	if x != nil {
  7199  		return x.DefaultTeMetric
  7200  	}
  7201  	return 0
  7202  }
  7203  
  7204  func (x *LsAttributeLink) GetIgpMetric() uint32 {
  7205  	if x != nil {
  7206  		return x.IgpMetric
  7207  	}
  7208  	return 0
  7209  }
  7210  
  7211  func (x *LsAttributeLink) GetOpaque() []byte {
  7212  	if x != nil {
  7213  		return x.Opaque
  7214  	}
  7215  	return nil
  7216  }
  7217  
  7218  func (x *LsAttributeLink) GetBandwidth() float32 {
  7219  	if x != nil {
  7220  		return x.Bandwidth
  7221  	}
  7222  	return 0
  7223  }
  7224  
  7225  func (x *LsAttributeLink) GetReservableBandwidth() float32 {
  7226  	if x != nil {
  7227  		return x.ReservableBandwidth
  7228  	}
  7229  	return 0
  7230  }
  7231  
  7232  func (x *LsAttributeLink) GetUnreservedBandwidth() []float32 {
  7233  	if x != nil {
  7234  		return x.UnreservedBandwidth
  7235  	}
  7236  	return nil
  7237  }
  7238  
  7239  func (x *LsAttributeLink) GetSrAdjacencySid() uint32 {
  7240  	if x != nil {
  7241  		return x.SrAdjacencySid
  7242  	}
  7243  	return 0
  7244  }
  7245  
  7246  func (x *LsAttributeLink) GetSrlgs() []uint32 {
  7247  	if x != nil {
  7248  		return x.Srlgs
  7249  	}
  7250  	return nil
  7251  }
  7252  
  7253  type LsAttributePrefix struct {
  7254  	state         protoimpl.MessageState
  7255  	sizeCache     protoimpl.SizeCache
  7256  	unknownFields protoimpl.UnknownFields
  7257  
  7258  	IgpFlags    *LsIGPFlags `protobuf:"bytes,1,opt,name=igp_flags,json=igpFlags,proto3" json:"igp_flags,omitempty"`
  7259  	Opaque      []byte      `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
  7260  	SrPrefixSid uint32      `protobuf:"varint,3,opt,name=sr_prefix_sid,json=srPrefixSid,proto3" json:"sr_prefix_sid,omitempty"`
  7261  }
  7262  
  7263  func (x *LsAttributePrefix) Reset() {
  7264  	*x = LsAttributePrefix{}
  7265  	if protoimpl.UnsafeEnabled {
  7266  		mi := &file_attribute_proto_msgTypes[111]
  7267  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7268  		ms.StoreMessageInfo(mi)
  7269  	}
  7270  }
  7271  
  7272  func (x *LsAttributePrefix) String() string {
  7273  	return protoimpl.X.MessageStringOf(x)
  7274  }
  7275  
  7276  func (*LsAttributePrefix) ProtoMessage() {}
  7277  
  7278  func (x *LsAttributePrefix) ProtoReflect() protoreflect.Message {
  7279  	mi := &file_attribute_proto_msgTypes[111]
  7280  	if protoimpl.UnsafeEnabled && x != nil {
  7281  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7282  		if ms.LoadMessageInfo() == nil {
  7283  			ms.StoreMessageInfo(mi)
  7284  		}
  7285  		return ms
  7286  	}
  7287  	return mi.MessageOf(x)
  7288  }
  7289  
  7290  // Deprecated: Use LsAttributePrefix.ProtoReflect.Descriptor instead.
  7291  func (*LsAttributePrefix) Descriptor() ([]byte, []int) {
  7292  	return file_attribute_proto_rawDescGZIP(), []int{111}
  7293  }
  7294  
  7295  func (x *LsAttributePrefix) GetIgpFlags() *LsIGPFlags {
  7296  	if x != nil {
  7297  		return x.IgpFlags
  7298  	}
  7299  	return nil
  7300  }
  7301  
  7302  func (x *LsAttributePrefix) GetOpaque() []byte {
  7303  	if x != nil {
  7304  		return x.Opaque
  7305  	}
  7306  	return nil
  7307  }
  7308  
  7309  func (x *LsAttributePrefix) GetSrPrefixSid() uint32 {
  7310  	if x != nil {
  7311  		return x.SrPrefixSid
  7312  	}
  7313  	return 0
  7314  }
  7315  
  7316  type LsBgpPeerSegmentSIDFlags struct {
  7317  	state         protoimpl.MessageState
  7318  	sizeCache     protoimpl.SizeCache
  7319  	unknownFields protoimpl.UnknownFields
  7320  
  7321  	Value      bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
  7322  	Local      bool `protobuf:"varint,2,opt,name=local,proto3" json:"local,omitempty"`
  7323  	Backup     bool `protobuf:"varint,3,opt,name=backup,proto3" json:"backup,omitempty"`
  7324  	Persistent bool `protobuf:"varint,4,opt,name=persistent,proto3" json:"persistent,omitempty"`
  7325  }
  7326  
  7327  func (x *LsBgpPeerSegmentSIDFlags) Reset() {
  7328  	*x = LsBgpPeerSegmentSIDFlags{}
  7329  	if protoimpl.UnsafeEnabled {
  7330  		mi := &file_attribute_proto_msgTypes[112]
  7331  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7332  		ms.StoreMessageInfo(mi)
  7333  	}
  7334  }
  7335  
  7336  func (x *LsBgpPeerSegmentSIDFlags) String() string {
  7337  	return protoimpl.X.MessageStringOf(x)
  7338  }
  7339  
  7340  func (*LsBgpPeerSegmentSIDFlags) ProtoMessage() {}
  7341  
  7342  func (x *LsBgpPeerSegmentSIDFlags) ProtoReflect() protoreflect.Message {
  7343  	mi := &file_attribute_proto_msgTypes[112]
  7344  	if protoimpl.UnsafeEnabled && x != nil {
  7345  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7346  		if ms.LoadMessageInfo() == nil {
  7347  			ms.StoreMessageInfo(mi)
  7348  		}
  7349  		return ms
  7350  	}
  7351  	return mi.MessageOf(x)
  7352  }
  7353  
  7354  // Deprecated: Use LsBgpPeerSegmentSIDFlags.ProtoReflect.Descriptor instead.
  7355  func (*LsBgpPeerSegmentSIDFlags) Descriptor() ([]byte, []int) {
  7356  	return file_attribute_proto_rawDescGZIP(), []int{112}
  7357  }
  7358  
  7359  func (x *LsBgpPeerSegmentSIDFlags) GetValue() bool {
  7360  	if x != nil {
  7361  		return x.Value
  7362  	}
  7363  	return false
  7364  }
  7365  
  7366  func (x *LsBgpPeerSegmentSIDFlags) GetLocal() bool {
  7367  	if x != nil {
  7368  		return x.Local
  7369  	}
  7370  	return false
  7371  }
  7372  
  7373  func (x *LsBgpPeerSegmentSIDFlags) GetBackup() bool {
  7374  	if x != nil {
  7375  		return x.Backup
  7376  	}
  7377  	return false
  7378  }
  7379  
  7380  func (x *LsBgpPeerSegmentSIDFlags) GetPersistent() bool {
  7381  	if x != nil {
  7382  		return x.Persistent
  7383  	}
  7384  	return false
  7385  }
  7386  
  7387  type LsBgpPeerSegmentSID struct {
  7388  	state         protoimpl.MessageState
  7389  	sizeCache     protoimpl.SizeCache
  7390  	unknownFields protoimpl.UnknownFields
  7391  
  7392  	Flags  *LsBgpPeerSegmentSIDFlags `protobuf:"bytes,1,opt,name=flags,proto3" json:"flags,omitempty"`
  7393  	Weight uint32                    `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
  7394  	Sid    uint32                    `protobuf:"varint,3,opt,name=sid,proto3" json:"sid,omitempty"`
  7395  }
  7396  
  7397  func (x *LsBgpPeerSegmentSID) Reset() {
  7398  	*x = LsBgpPeerSegmentSID{}
  7399  	if protoimpl.UnsafeEnabled {
  7400  		mi := &file_attribute_proto_msgTypes[113]
  7401  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7402  		ms.StoreMessageInfo(mi)
  7403  	}
  7404  }
  7405  
  7406  func (x *LsBgpPeerSegmentSID) String() string {
  7407  	return protoimpl.X.MessageStringOf(x)
  7408  }
  7409  
  7410  func (*LsBgpPeerSegmentSID) ProtoMessage() {}
  7411  
  7412  func (x *LsBgpPeerSegmentSID) ProtoReflect() protoreflect.Message {
  7413  	mi := &file_attribute_proto_msgTypes[113]
  7414  	if protoimpl.UnsafeEnabled && x != nil {
  7415  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7416  		if ms.LoadMessageInfo() == nil {
  7417  			ms.StoreMessageInfo(mi)
  7418  		}
  7419  		return ms
  7420  	}
  7421  	return mi.MessageOf(x)
  7422  }
  7423  
  7424  // Deprecated: Use LsBgpPeerSegmentSID.ProtoReflect.Descriptor instead.
  7425  func (*LsBgpPeerSegmentSID) Descriptor() ([]byte, []int) {
  7426  	return file_attribute_proto_rawDescGZIP(), []int{113}
  7427  }
  7428  
  7429  func (x *LsBgpPeerSegmentSID) GetFlags() *LsBgpPeerSegmentSIDFlags {
  7430  	if x != nil {
  7431  		return x.Flags
  7432  	}
  7433  	return nil
  7434  }
  7435  
  7436  func (x *LsBgpPeerSegmentSID) GetWeight() uint32 {
  7437  	if x != nil {
  7438  		return x.Weight
  7439  	}
  7440  	return 0
  7441  }
  7442  
  7443  func (x *LsBgpPeerSegmentSID) GetSid() uint32 {
  7444  	if x != nil {
  7445  		return x.Sid
  7446  	}
  7447  	return 0
  7448  }
  7449  
  7450  type LsAttributeBgpPeerSegment struct {
  7451  	state         protoimpl.MessageState
  7452  	sizeCache     protoimpl.SizeCache
  7453  	unknownFields protoimpl.UnknownFields
  7454  
  7455  	BgpPeerNodeSid      *LsBgpPeerSegmentSID `protobuf:"bytes,1,opt,name=bgp_peer_node_sid,json=bgpPeerNodeSid,proto3" json:"bgp_peer_node_sid,omitempty"`
  7456  	BgpPeerAdjacencySid *LsBgpPeerSegmentSID `protobuf:"bytes,2,opt,name=bgp_peer_adjacency_sid,json=bgpPeerAdjacencySid,proto3" json:"bgp_peer_adjacency_sid,omitempty"`
  7457  	BgpPeerSetSid       *LsBgpPeerSegmentSID `protobuf:"bytes,3,opt,name=bgp_peer_set_sid,json=bgpPeerSetSid,proto3" json:"bgp_peer_set_sid,omitempty"`
  7458  }
  7459  
  7460  func (x *LsAttributeBgpPeerSegment) Reset() {
  7461  	*x = LsAttributeBgpPeerSegment{}
  7462  	if protoimpl.UnsafeEnabled {
  7463  		mi := &file_attribute_proto_msgTypes[114]
  7464  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7465  		ms.StoreMessageInfo(mi)
  7466  	}
  7467  }
  7468  
  7469  func (x *LsAttributeBgpPeerSegment) String() string {
  7470  	return protoimpl.X.MessageStringOf(x)
  7471  }
  7472  
  7473  func (*LsAttributeBgpPeerSegment) ProtoMessage() {}
  7474  
  7475  func (x *LsAttributeBgpPeerSegment) ProtoReflect() protoreflect.Message {
  7476  	mi := &file_attribute_proto_msgTypes[114]
  7477  	if protoimpl.UnsafeEnabled && x != nil {
  7478  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7479  		if ms.LoadMessageInfo() == nil {
  7480  			ms.StoreMessageInfo(mi)
  7481  		}
  7482  		return ms
  7483  	}
  7484  	return mi.MessageOf(x)
  7485  }
  7486  
  7487  // Deprecated: Use LsAttributeBgpPeerSegment.ProtoReflect.Descriptor instead.
  7488  func (*LsAttributeBgpPeerSegment) Descriptor() ([]byte, []int) {
  7489  	return file_attribute_proto_rawDescGZIP(), []int{114}
  7490  }
  7491  
  7492  func (x *LsAttributeBgpPeerSegment) GetBgpPeerNodeSid() *LsBgpPeerSegmentSID {
  7493  	if x != nil {
  7494  		return x.BgpPeerNodeSid
  7495  	}
  7496  	return nil
  7497  }
  7498  
  7499  func (x *LsAttributeBgpPeerSegment) GetBgpPeerAdjacencySid() *LsBgpPeerSegmentSID {
  7500  	if x != nil {
  7501  		return x.BgpPeerAdjacencySid
  7502  	}
  7503  	return nil
  7504  }
  7505  
  7506  func (x *LsAttributeBgpPeerSegment) GetBgpPeerSetSid() *LsBgpPeerSegmentSID {
  7507  	if x != nil {
  7508  		return x.BgpPeerSetSid
  7509  	}
  7510  	return nil
  7511  }
  7512  
  7513  type LsAttribute struct {
  7514  	state         protoimpl.MessageState
  7515  	sizeCache     protoimpl.SizeCache
  7516  	unknownFields protoimpl.UnknownFields
  7517  
  7518  	Node           *LsAttributeNode           `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
  7519  	Link           *LsAttributeLink           `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"`
  7520  	Prefix         *LsAttributePrefix         `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
  7521  	BgpPeerSegment *LsAttributeBgpPeerSegment `protobuf:"bytes,4,opt,name=bgp_peer_segment,json=bgpPeerSegment,proto3" json:"bgp_peer_segment,omitempty"`
  7522  }
  7523  
  7524  func (x *LsAttribute) Reset() {
  7525  	*x = LsAttribute{}
  7526  	if protoimpl.UnsafeEnabled {
  7527  		mi := &file_attribute_proto_msgTypes[115]
  7528  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7529  		ms.StoreMessageInfo(mi)
  7530  	}
  7531  }
  7532  
  7533  func (x *LsAttribute) String() string {
  7534  	return protoimpl.X.MessageStringOf(x)
  7535  }
  7536  
  7537  func (*LsAttribute) ProtoMessage() {}
  7538  
  7539  func (x *LsAttribute) ProtoReflect() protoreflect.Message {
  7540  	mi := &file_attribute_proto_msgTypes[115]
  7541  	if protoimpl.UnsafeEnabled && x != nil {
  7542  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7543  		if ms.LoadMessageInfo() == nil {
  7544  			ms.StoreMessageInfo(mi)
  7545  		}
  7546  		return ms
  7547  	}
  7548  	return mi.MessageOf(x)
  7549  }
  7550  
  7551  // Deprecated: Use LsAttribute.ProtoReflect.Descriptor instead.
  7552  func (*LsAttribute) Descriptor() ([]byte, []int) {
  7553  	return file_attribute_proto_rawDescGZIP(), []int{115}
  7554  }
  7555  
  7556  func (x *LsAttribute) GetNode() *LsAttributeNode {
  7557  	if x != nil {
  7558  		return x.Node
  7559  	}
  7560  	return nil
  7561  }
  7562  
  7563  func (x *LsAttribute) GetLink() *LsAttributeLink {
  7564  	if x != nil {
  7565  		return x.Link
  7566  	}
  7567  	return nil
  7568  }
  7569  
  7570  func (x *LsAttribute) GetPrefix() *LsAttributePrefix {
  7571  	if x != nil {
  7572  		return x.Prefix
  7573  	}
  7574  	return nil
  7575  }
  7576  
  7577  func (x *LsAttribute) GetBgpPeerSegment() *LsAttributeBgpPeerSegment {
  7578  	if x != nil {
  7579  		return x.BgpPeerSegment
  7580  	}
  7581  	return nil
  7582  }
  7583  
  7584  type UnknownAttribute struct {
  7585  	state         protoimpl.MessageState
  7586  	sizeCache     protoimpl.SizeCache
  7587  	unknownFields protoimpl.UnknownFields
  7588  
  7589  	Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`
  7590  	Type  uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"`
  7591  	Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
  7592  }
  7593  
  7594  func (x *UnknownAttribute) Reset() {
  7595  	*x = UnknownAttribute{}
  7596  	if protoimpl.UnsafeEnabled {
  7597  		mi := &file_attribute_proto_msgTypes[116]
  7598  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7599  		ms.StoreMessageInfo(mi)
  7600  	}
  7601  }
  7602  
  7603  func (x *UnknownAttribute) String() string {
  7604  	return protoimpl.X.MessageStringOf(x)
  7605  }
  7606  
  7607  func (*UnknownAttribute) ProtoMessage() {}
  7608  
  7609  func (x *UnknownAttribute) ProtoReflect() protoreflect.Message {
  7610  	mi := &file_attribute_proto_msgTypes[116]
  7611  	if protoimpl.UnsafeEnabled && x != nil {
  7612  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7613  		if ms.LoadMessageInfo() == nil {
  7614  			ms.StoreMessageInfo(mi)
  7615  		}
  7616  		return ms
  7617  	}
  7618  	return mi.MessageOf(x)
  7619  }
  7620  
  7621  // Deprecated: Use UnknownAttribute.ProtoReflect.Descriptor instead.
  7622  func (*UnknownAttribute) Descriptor() ([]byte, []int) {
  7623  	return file_attribute_proto_rawDescGZIP(), []int{116}
  7624  }
  7625  
  7626  func (x *UnknownAttribute) GetFlags() uint32 {
  7627  	if x != nil {
  7628  		return x.Flags
  7629  	}
  7630  	return 0
  7631  }
  7632  
  7633  func (x *UnknownAttribute) GetType() uint32 {
  7634  	if x != nil {
  7635  		return x.Type
  7636  	}
  7637  	return 0
  7638  }
  7639  
  7640  func (x *UnknownAttribute) GetValue() []byte {
  7641  	if x != nil {
  7642  		return x.Value
  7643  	}
  7644  	return nil
  7645  }
  7646  
  7647  // https://www.rfc-editor.org/rfc/rfc9252.html#section-3.2.1
  7648  type SRv6StructureSubSubTLV struct {
  7649  	state         protoimpl.MessageState
  7650  	sizeCache     protoimpl.SizeCache
  7651  	unknownFields protoimpl.UnknownFields
  7652  
  7653  	LocatorBlockLength  uint32 `protobuf:"varint,1,opt,name=locator_block_length,json=locatorBlockLength,proto3" json:"locator_block_length,omitempty"`
  7654  	LocatorNodeLength   uint32 `protobuf:"varint,2,opt,name=locator_node_length,json=locatorNodeLength,proto3" json:"locator_node_length,omitempty"`
  7655  	FunctionLength      uint32 `protobuf:"varint,3,opt,name=function_length,json=functionLength,proto3" json:"function_length,omitempty"`
  7656  	ArgumentLength      uint32 `protobuf:"varint,4,opt,name=argument_length,json=argumentLength,proto3" json:"argument_length,omitempty"`
  7657  	TranspositionLength uint32 `protobuf:"varint,5,opt,name=transposition_length,json=transpositionLength,proto3" json:"transposition_length,omitempty"`
  7658  	TranspositionOffset uint32 `protobuf:"varint,6,opt,name=transposition_offset,json=transpositionOffset,proto3" json:"transposition_offset,omitempty"`
  7659  }
  7660  
  7661  func (x *SRv6StructureSubSubTLV) Reset() {
  7662  	*x = SRv6StructureSubSubTLV{}
  7663  	if protoimpl.UnsafeEnabled {
  7664  		mi := &file_attribute_proto_msgTypes[117]
  7665  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7666  		ms.StoreMessageInfo(mi)
  7667  	}
  7668  }
  7669  
  7670  func (x *SRv6StructureSubSubTLV) String() string {
  7671  	return protoimpl.X.MessageStringOf(x)
  7672  }
  7673  
  7674  func (*SRv6StructureSubSubTLV) ProtoMessage() {}
  7675  
  7676  func (x *SRv6StructureSubSubTLV) ProtoReflect() protoreflect.Message {
  7677  	mi := &file_attribute_proto_msgTypes[117]
  7678  	if protoimpl.UnsafeEnabled && x != nil {
  7679  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7680  		if ms.LoadMessageInfo() == nil {
  7681  			ms.StoreMessageInfo(mi)
  7682  		}
  7683  		return ms
  7684  	}
  7685  	return mi.MessageOf(x)
  7686  }
  7687  
  7688  // Deprecated: Use SRv6StructureSubSubTLV.ProtoReflect.Descriptor instead.
  7689  func (*SRv6StructureSubSubTLV) Descriptor() ([]byte, []int) {
  7690  	return file_attribute_proto_rawDescGZIP(), []int{117}
  7691  }
  7692  
  7693  func (x *SRv6StructureSubSubTLV) GetLocatorBlockLength() uint32 {
  7694  	if x != nil {
  7695  		return x.LocatorBlockLength
  7696  	}
  7697  	return 0
  7698  }
  7699  
  7700  func (x *SRv6StructureSubSubTLV) GetLocatorNodeLength() uint32 {
  7701  	if x != nil {
  7702  		return x.LocatorNodeLength
  7703  	}
  7704  	return 0
  7705  }
  7706  
  7707  func (x *SRv6StructureSubSubTLV) GetFunctionLength() uint32 {
  7708  	if x != nil {
  7709  		return x.FunctionLength
  7710  	}
  7711  	return 0
  7712  }
  7713  
  7714  func (x *SRv6StructureSubSubTLV) GetArgumentLength() uint32 {
  7715  	if x != nil {
  7716  		return x.ArgumentLength
  7717  	}
  7718  	return 0
  7719  }
  7720  
  7721  func (x *SRv6StructureSubSubTLV) GetTranspositionLength() uint32 {
  7722  	if x != nil {
  7723  		return x.TranspositionLength
  7724  	}
  7725  	return 0
  7726  }
  7727  
  7728  func (x *SRv6StructureSubSubTLV) GetTranspositionOffset() uint32 {
  7729  	if x != nil {
  7730  		return x.TranspositionOffset
  7731  	}
  7732  	return 0
  7733  }
  7734  
  7735  type SRv6SIDFlags struct {
  7736  	state         protoimpl.MessageState
  7737  	sizeCache     protoimpl.SizeCache
  7738  	unknownFields protoimpl.UnknownFields
  7739  
  7740  	// Placeholder for future sid flags
  7741  	Flag_1 bool `protobuf:"varint,1,opt,name=flag_1,json=flag1,proto3" json:"flag_1,omitempty"`
  7742  }
  7743  
  7744  func (x *SRv6SIDFlags) Reset() {
  7745  	*x = SRv6SIDFlags{}
  7746  	if protoimpl.UnsafeEnabled {
  7747  		mi := &file_attribute_proto_msgTypes[118]
  7748  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7749  		ms.StoreMessageInfo(mi)
  7750  	}
  7751  }
  7752  
  7753  func (x *SRv6SIDFlags) String() string {
  7754  	return protoimpl.X.MessageStringOf(x)
  7755  }
  7756  
  7757  func (*SRv6SIDFlags) ProtoMessage() {}
  7758  
  7759  func (x *SRv6SIDFlags) ProtoReflect() protoreflect.Message {
  7760  	mi := &file_attribute_proto_msgTypes[118]
  7761  	if protoimpl.UnsafeEnabled && x != nil {
  7762  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7763  		if ms.LoadMessageInfo() == nil {
  7764  			ms.StoreMessageInfo(mi)
  7765  		}
  7766  		return ms
  7767  	}
  7768  	return mi.MessageOf(x)
  7769  }
  7770  
  7771  // Deprecated: Use SRv6SIDFlags.ProtoReflect.Descriptor instead.
  7772  func (*SRv6SIDFlags) Descriptor() ([]byte, []int) {
  7773  	return file_attribute_proto_rawDescGZIP(), []int{118}
  7774  }
  7775  
  7776  func (x *SRv6SIDFlags) GetFlag_1() bool {
  7777  	if x != nil {
  7778  		return x.Flag_1
  7779  	}
  7780  	return false
  7781  }
  7782  
  7783  type SRv6TLV struct {
  7784  	state         protoimpl.MessageState
  7785  	sizeCache     protoimpl.SizeCache
  7786  	unknownFields protoimpl.UnknownFields
  7787  
  7788  	Tlv []*anypb.Any `protobuf:"bytes,1,rep,name=tlv,proto3" json:"tlv,omitempty"`
  7789  }
  7790  
  7791  func (x *SRv6TLV) Reset() {
  7792  	*x = SRv6TLV{}
  7793  	if protoimpl.UnsafeEnabled {
  7794  		mi := &file_attribute_proto_msgTypes[119]
  7795  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7796  		ms.StoreMessageInfo(mi)
  7797  	}
  7798  }
  7799  
  7800  func (x *SRv6TLV) String() string {
  7801  	return protoimpl.X.MessageStringOf(x)
  7802  }
  7803  
  7804  func (*SRv6TLV) ProtoMessage() {}
  7805  
  7806  func (x *SRv6TLV) ProtoReflect() protoreflect.Message {
  7807  	mi := &file_attribute_proto_msgTypes[119]
  7808  	if protoimpl.UnsafeEnabled && x != nil {
  7809  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7810  		if ms.LoadMessageInfo() == nil {
  7811  			ms.StoreMessageInfo(mi)
  7812  		}
  7813  		return ms
  7814  	}
  7815  	return mi.MessageOf(x)
  7816  }
  7817  
  7818  // Deprecated: Use SRv6TLV.ProtoReflect.Descriptor instead.
  7819  func (*SRv6TLV) Descriptor() ([]byte, []int) {
  7820  	return file_attribute_proto_rawDescGZIP(), []int{119}
  7821  }
  7822  
  7823  func (x *SRv6TLV) GetTlv() []*anypb.Any {
  7824  	if x != nil {
  7825  		return x.Tlv
  7826  	}
  7827  	return nil
  7828  }
  7829  
  7830  // https://tools.ietf.org/html/draft-dawra-bess-srv6-services-02#section-2.1.1
  7831  type SRv6InformationSubTLV struct {
  7832  	state         protoimpl.MessageState
  7833  	sizeCache     protoimpl.SizeCache
  7834  	unknownFields protoimpl.UnknownFields
  7835  
  7836  	Sid              []byte        `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"`
  7837  	Flags            *SRv6SIDFlags `protobuf:"bytes,2,opt,name=flags,proto3" json:"flags,omitempty"`
  7838  	EndpointBehavior uint32        `protobuf:"varint,3,opt,name=endpoint_behavior,json=endpointBehavior,proto3" json:"endpoint_behavior,omitempty"`
  7839  	// SRv6TLV is one of:
  7840  	// - SRv6StructureSubSubTLV
  7841  	SubSubTlvs map[uint32]*SRv6TLV `protobuf:"bytes,4,rep,name=sub_sub_tlvs,json=subSubTlvs,proto3" json:"sub_sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  7842  }
  7843  
  7844  func (x *SRv6InformationSubTLV) Reset() {
  7845  	*x = SRv6InformationSubTLV{}
  7846  	if protoimpl.UnsafeEnabled {
  7847  		mi := &file_attribute_proto_msgTypes[120]
  7848  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7849  		ms.StoreMessageInfo(mi)
  7850  	}
  7851  }
  7852  
  7853  func (x *SRv6InformationSubTLV) String() string {
  7854  	return protoimpl.X.MessageStringOf(x)
  7855  }
  7856  
  7857  func (*SRv6InformationSubTLV) ProtoMessage() {}
  7858  
  7859  func (x *SRv6InformationSubTLV) ProtoReflect() protoreflect.Message {
  7860  	mi := &file_attribute_proto_msgTypes[120]
  7861  	if protoimpl.UnsafeEnabled && x != nil {
  7862  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7863  		if ms.LoadMessageInfo() == nil {
  7864  			ms.StoreMessageInfo(mi)
  7865  		}
  7866  		return ms
  7867  	}
  7868  	return mi.MessageOf(x)
  7869  }
  7870  
  7871  // Deprecated: Use SRv6InformationSubTLV.ProtoReflect.Descriptor instead.
  7872  func (*SRv6InformationSubTLV) Descriptor() ([]byte, []int) {
  7873  	return file_attribute_proto_rawDescGZIP(), []int{120}
  7874  }
  7875  
  7876  func (x *SRv6InformationSubTLV) GetSid() []byte {
  7877  	if x != nil {
  7878  		return x.Sid
  7879  	}
  7880  	return nil
  7881  }
  7882  
  7883  func (x *SRv6InformationSubTLV) GetFlags() *SRv6SIDFlags {
  7884  	if x != nil {
  7885  		return x.Flags
  7886  	}
  7887  	return nil
  7888  }
  7889  
  7890  func (x *SRv6InformationSubTLV) GetEndpointBehavior() uint32 {
  7891  	if x != nil {
  7892  		return x.EndpointBehavior
  7893  	}
  7894  	return 0
  7895  }
  7896  
  7897  func (x *SRv6InformationSubTLV) GetSubSubTlvs() map[uint32]*SRv6TLV {
  7898  	if x != nil {
  7899  		return x.SubSubTlvs
  7900  	}
  7901  	return nil
  7902  }
  7903  
  7904  // https://www.rfc-editor.org/rfc/rfc9252.html#section-2
  7905  type SRv6L3ServiceTLV struct {
  7906  	state         protoimpl.MessageState
  7907  	sizeCache     protoimpl.SizeCache
  7908  	unknownFields protoimpl.UnknownFields
  7909  
  7910  	// SRv6TLV is one of:
  7911  	// - SRv6InformationSubTLV
  7912  	SubTlvs map[uint32]*SRv6TLV `protobuf:"bytes,1,rep,name=sub_tlvs,json=subTlvs,proto3" json:"sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  7913  }
  7914  
  7915  func (x *SRv6L3ServiceTLV) Reset() {
  7916  	*x = SRv6L3ServiceTLV{}
  7917  	if protoimpl.UnsafeEnabled {
  7918  		mi := &file_attribute_proto_msgTypes[121]
  7919  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7920  		ms.StoreMessageInfo(mi)
  7921  	}
  7922  }
  7923  
  7924  func (x *SRv6L3ServiceTLV) String() string {
  7925  	return protoimpl.X.MessageStringOf(x)
  7926  }
  7927  
  7928  func (*SRv6L3ServiceTLV) ProtoMessage() {}
  7929  
  7930  func (x *SRv6L3ServiceTLV) ProtoReflect() protoreflect.Message {
  7931  	mi := &file_attribute_proto_msgTypes[121]
  7932  	if protoimpl.UnsafeEnabled && x != nil {
  7933  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7934  		if ms.LoadMessageInfo() == nil {
  7935  			ms.StoreMessageInfo(mi)
  7936  		}
  7937  		return ms
  7938  	}
  7939  	return mi.MessageOf(x)
  7940  }
  7941  
  7942  // Deprecated: Use SRv6L3ServiceTLV.ProtoReflect.Descriptor instead.
  7943  func (*SRv6L3ServiceTLV) Descriptor() ([]byte, []int) {
  7944  	return file_attribute_proto_rawDescGZIP(), []int{121}
  7945  }
  7946  
  7947  func (x *SRv6L3ServiceTLV) GetSubTlvs() map[uint32]*SRv6TLV {
  7948  	if x != nil {
  7949  		return x.SubTlvs
  7950  	}
  7951  	return nil
  7952  }
  7953  
  7954  // https://www.rfc-editor.org/rfc/rfc9252.html#section-2
  7955  type SRv6L2ServiceTLV struct {
  7956  	state         protoimpl.MessageState
  7957  	sizeCache     protoimpl.SizeCache
  7958  	unknownFields protoimpl.UnknownFields
  7959  
  7960  	// SRv6TLV is one of:
  7961  	// - SRv6InformationSubTLV
  7962  	SubTlvs map[uint32]*SRv6TLV `protobuf:"bytes,1,rep,name=sub_tlvs,json=subTlvs,proto3" json:"sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  7963  }
  7964  
  7965  func (x *SRv6L2ServiceTLV) Reset() {
  7966  	*x = SRv6L2ServiceTLV{}
  7967  	if protoimpl.UnsafeEnabled {
  7968  		mi := &file_attribute_proto_msgTypes[122]
  7969  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7970  		ms.StoreMessageInfo(mi)
  7971  	}
  7972  }
  7973  
  7974  func (x *SRv6L2ServiceTLV) String() string {
  7975  	return protoimpl.X.MessageStringOf(x)
  7976  }
  7977  
  7978  func (*SRv6L2ServiceTLV) ProtoMessage() {}
  7979  
  7980  func (x *SRv6L2ServiceTLV) ProtoReflect() protoreflect.Message {
  7981  	mi := &file_attribute_proto_msgTypes[122]
  7982  	if protoimpl.UnsafeEnabled && x != nil {
  7983  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7984  		if ms.LoadMessageInfo() == nil {
  7985  			ms.StoreMessageInfo(mi)
  7986  		}
  7987  		return ms
  7988  	}
  7989  	return mi.MessageOf(x)
  7990  }
  7991  
  7992  // Deprecated: Use SRv6L2ServiceTLV.ProtoReflect.Descriptor instead.
  7993  func (*SRv6L2ServiceTLV) Descriptor() ([]byte, []int) {
  7994  	return file_attribute_proto_rawDescGZIP(), []int{122}
  7995  }
  7996  
  7997  func (x *SRv6L2ServiceTLV) GetSubTlvs() map[uint32]*SRv6TLV {
  7998  	if x != nil {
  7999  		return x.SubTlvs
  8000  	}
  8001  	return nil
  8002  }
  8003  
  8004  // https://tools.ietf.org/html/rfc8669
  8005  type PrefixSID struct {
  8006  	state         protoimpl.MessageState
  8007  	sizeCache     protoimpl.SizeCache
  8008  	unknownFields protoimpl.UnknownFields
  8009  
  8010  	// tlv is one of:
  8011  	// - IndexLabelTLV Type 1 (not yet implemented)
  8012  	// - OriginatorSRGBTLV Type 3 (not yet implemented)
  8013  	// - SRv6L3ServiceTLV Type 5
  8014  	// - SRv6L2ServiceTLV Type 6
  8015  	Tlvs []*anypb.Any `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"`
  8016  }
  8017  
  8018  func (x *PrefixSID) Reset() {
  8019  	*x = PrefixSID{}
  8020  	if protoimpl.UnsafeEnabled {
  8021  		mi := &file_attribute_proto_msgTypes[123]
  8022  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  8023  		ms.StoreMessageInfo(mi)
  8024  	}
  8025  }
  8026  
  8027  func (x *PrefixSID) String() string {
  8028  	return protoimpl.X.MessageStringOf(x)
  8029  }
  8030  
  8031  func (*PrefixSID) ProtoMessage() {}
  8032  
  8033  func (x *PrefixSID) ProtoReflect() protoreflect.Message {
  8034  	mi := &file_attribute_proto_msgTypes[123]
  8035  	if protoimpl.UnsafeEnabled && x != nil {
  8036  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  8037  		if ms.LoadMessageInfo() == nil {
  8038  			ms.StoreMessageInfo(mi)
  8039  		}
  8040  		return ms
  8041  	}
  8042  	return mi.MessageOf(x)
  8043  }
  8044  
  8045  // Deprecated: Use PrefixSID.ProtoReflect.Descriptor instead.
  8046  func (*PrefixSID) Descriptor() ([]byte, []int) {
  8047  	return file_attribute_proto_rawDescGZIP(), []int{123}
  8048  }
  8049  
  8050  func (x *PrefixSID) GetTlvs() []*anypb.Any {
  8051  	if x != nil {
  8052  		return x.Tlvs
  8053  	}
  8054  	return nil
  8055  }
  8056  
  8057  var File_attribute_proto protoreflect.FileDescriptor
  8058  
  8059  var file_attribute_proto_rawDesc = []byte{
  8060  	0x0a, 0x0f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  8061  	0x6f, 0x12, 0x05, 0x61, 0x70, 0x69, 0x70, 0x62, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  8062  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72,
  8063  	0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x67, 0x6f, 0x62, 0x67, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  8064  	0x22, 0x29, 0x0a, 0x0f, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
  8065  	0x75, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20,
  8066  	0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x09,
  8067  	0x41, 0x73, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x74, 0x79, 0x70,
  8068  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e,
  8069  	0x41, 0x73, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04,
  8070  	0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18,
  8071  	0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x5b,
  8072  	0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
  8073  	0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x53, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12,
  8074  	0x0f, 0x0a, 0x0b, 0x41, 0x53, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x02,
  8075  	0x12, 0x16, 0x0a, 0x12, 0x41, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x45, 0x44, 0x5f, 0x53, 0x45,
  8076  	0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x53, 0x5f, 0x43,
  8077  	0x4f, 0x4e, 0x46, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x04, 0x22, 0x3f, 0x0a, 0x0f, 0x41,
  8078  	0x73, 0x50, 0x61, 0x74, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2c,
  8079  	0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
  8080  	0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x53, 0x65, 0x67, 0x6d, 0x65,
  8081  	0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x2d, 0x0a, 0x10,
  8082  	0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
  8083  	0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01,
  8084  	0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x22, 0x2a, 0x0a, 0x16, 0x4d,
  8085  	0x75, 0x6c, 0x74, 0x69, 0x45, 0x78, 0x69, 0x74, 0x44, 0x69, 0x73, 0x63, 0x41, 0x74, 0x74, 0x72,
  8086  	0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01,
  8087  	0x28, 0x0d, 0x52, 0x03, 0x6d, 0x65, 0x64, 0x22, 0x33, 0x0a, 0x12, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
  8088  	0x50, 0x72, 0x65, 0x66, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x1d, 0x0a,
  8089  	0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28,
  8090  	0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x66, 0x22, 0x1a, 0x0a, 0x18,
  8091  	0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41,
  8092  	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x22, 0x41, 0x0a, 0x13, 0x41, 0x67, 0x67, 0x72,
  8093  	0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12,
  8094  	0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73,
  8095  	0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
  8096  	0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x38, 0x0a, 0x14, 0x43,
  8097  	0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
  8098  	0x75, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69,
  8099  	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e,
  8100  	0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x27, 0x0a, 0x15, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61,
  8101  	0x74, 0x6f, 0x72, 0x49, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x0e,
  8102  	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x28,
  8103  	0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74,
  8104  	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20,
  8105  	0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x48, 0x0a, 0x0f, 0x49, 0x50, 0x41, 0x64,
  8106  	0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
  8107  	0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
  8108  	0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72,
  8109  	0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66,
  8110  	0x69, 0x78, 0x22, 0x67, 0x0a, 0x16, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x41,
  8111  	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06,
  8112  	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x61,
  8113  	0x62, 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c,
  8114  	0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
  8115  	0x4c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20,
  8116  	0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x2d, 0x0a, 0x11, 0x45,
  8117  	0x6e, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x4c, 0x52, 0x49,
  8118  	0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
  8119  	0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x51, 0x0a, 0x1d, 0x52, 0x6f,
  8120  	0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, 0x65, 0x72,
  8121  	0x54, 0x77, 0x6f, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x53, 0x4e, 0x12, 0x14, 0x0a, 0x05, 0x61,
  8122  	0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69,
  8123  	0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20,
  8124  	0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x22, 0x4f, 0x0a,
  8125  	0x1b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73,
  8126  	0x68, 0x65, 0x72, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05,
  8127  	0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d,
  8128  	0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x02,
  8129  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x22, 0x52,
  8130  	0x0a, 0x1e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69,
  8131  	0x73, 0x68, 0x65, 0x72, 0x46, 0x6f, 0x75, 0x72, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x53, 0x4e,
  8132  	0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
  8133  	0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e,
  8134  	0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e,
  8135  	0x65, 0x64, 0x22, 0x45, 0x0a, 0x19, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65,
  8136  	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12,
  8137  	0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74,
  8138  	0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
  8139  	0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbb, 0x01, 0x0a, 0x08, 0x56, 0x50,
  8140  	0x4c, 0x53, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01,
  8141  	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  8142  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x13, 0x0a, 0x05,
  8143  	0x76, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x76, 0x65, 0x49,
  8144  	0x64, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6f, 0x66,
  8145  	0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x76, 0x65, 0x42, 0x6c,
  8146  	0x6f, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x76, 0x65, 0x5f,
  8147  	0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
  8148  	0x52, 0x0b, 0x76, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a,
  8149  	0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x61, 0x73,
  8150  	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c,
  8151  	0x6f, 0x63, 0x6b, 0x42, 0x61, 0x73, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x1e, 0x45, 0x56, 0x50, 0x4e,
  8152  	0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x69, 0x73, 0x63,
  8153  	0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64,
  8154  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  8155  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64,
  8156  	0x12, 0x32, 0x0a, 0x03, 0x65, 0x73, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
  8157  	0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65,
  8158  	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52,
  8159  	0x03, 0x65, 0x73, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74,
  8160  	0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x74, 0x68, 0x65,
  8161  	0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
  8162  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0xf2, 0x01,
  8163  	0x0a, 0x1b, 0x45, 0x56, 0x50, 0x4e, 0x4d, 0x41, 0x43, 0x49, 0x50, 0x41, 0x64, 0x76, 0x65, 0x72,
  8164  	0x74, 0x69, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a,
  8165  	0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  8166  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52,
  8167  	0x02, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x73, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  8168  	0x32, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65,
  8169  	0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
  8170  	0x65, 0x72, 0x52, 0x03, 0x65, 0x73, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x74, 0x68, 0x65, 0x72,
  8171  	0x6e, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65,
  8172  	0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61,
  8173  	0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
  8174  	0x0a, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69,
  8175  	0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
  8176  	0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61,
  8177  	0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65,
  8178  	0x6c, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x26, 0x45, 0x56, 0x50, 0x4e, 0x49, 0x6e, 0x63, 0x6c, 0x75,
  8179  	0x73, 0x69, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x45, 0x74, 0x68,
  8180  	0x65, 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a,
  8181  	0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  8182  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52,
  8183  	0x02, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f,
  8184  	0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x74, 0x68, 0x65, 0x72,
  8185  	0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64,
  8186  	0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64,
  8187  	0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x18, 0x45, 0x56, 0x50, 0x4e, 0x45, 0x74,
  8188  	0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75,
  8189  	0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
  8190  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  8191  	0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x73, 0x69, 0x18,
  8192  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x74,
  8193  	0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65,
  8194  	0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x03, 0x65, 0x73, 0x69, 0x12, 0x1d, 0x0a, 0x0a,
  8195  	0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
  8196  	0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x86, 0x02, 0x0a, 0x11,
  8197  	0x45, 0x56, 0x50, 0x4e, 0x49, 0x50, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74,
  8198  	0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
  8199  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  8200  	0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x73, 0x69, 0x18, 0x02,
  8201  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x74, 0x68,
  8202  	0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e,
  8203  	0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x03, 0x65, 0x73, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x65,
  8204  	0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
  8205  	0x0d, 0x52, 0x0b, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1b,
  8206  	0x0a, 0x09, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28,
  8207  	0x09, 0x52, 0x08, 0x69, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x69,
  8208  	0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01,
  8209  	0x28, 0x0d, 0x52, 0x0b, 0x69, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12,
  8210  	0x1d, 0x0a, 0x0a, 0x67, 0x77, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20,
  8211  	0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14,
  8212  	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c,
  8213  	0x61, 0x62, 0x65, 0x6c, 0x22, 0x7f, 0x0a, 0x0e, 0x45, 0x56, 0x50, 0x4e, 0x49, 0x50, 0x4d, 0x53,
  8214  	0x49, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01,
  8215  	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  8216  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c,
  8217  	0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01,
  8218  	0x28, 0x0d, 0x52, 0x0b, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12,
  8219  	0x24, 0x0a, 0x02, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
  8220  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
  8221  	0x79, 0x52, 0x02, 0x72, 0x74, 0x22, 0x7e, 0x0a, 0x0c, 0x53, 0x52, 0x50, 0x6f, 0x6c, 0x69, 0x63,
  8222  	0x79, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18,
  8223  	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x24, 0x0a,
  8224  	0x0d, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x02,
  8225  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73,
  8226  	0x68, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01,
  8227  	0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64,
  8228  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x65, 0x6e, 0x64,
  8229  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x19, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x65,
  8230  	0x64, 0x56, 0x50, 0x4e, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65,
  8231  	0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20,
  8232  	0x03, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x02, 0x72,
  8233  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  8234  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72,
  8235  	0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18,
  8236  	0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e,
  8237  	0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
  8238  	0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x53, 0x0a, 0x19, 0x52, 0x6f, 0x75, 0x74,
  8239  	0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69,
  8240  	0x70, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 0x01,
  8241  	0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x74, 0x18, 0x02, 0x20,
  8242  	0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  8243  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x74, 0x22, 0x75, 0x0a,
  8244  	0x10, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x49, 0x50, 0x50, 0x72, 0x65, 0x66, 0x69,
  8245  	0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
  8246  	0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f,
  8247  	0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69,
  8248  	0x78, 0x4c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03,
  8249  	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06,
  8250  	0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66,
  8251  	0x66, 0x73, 0x65, 0x74, 0x22, 0x3b, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63,
  8252  	0x4d, 0x41, 0x43, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  8253  	0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
  8254  	0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
  8255  	0x73, 0x22, 0x3d, 0x0a, 0x15, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x6d,
  8256  	0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x70,
  8257  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
  8258  	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  8259  	0x22, 0x5b, 0x0a, 0x11, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x6d, 0x70,
  8260  	0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
  8261  	0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x74, 0x65,
  8262  	0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62,
  8263  	0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
  8264  	0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x3a, 0x0a,
  8265  	0x0c, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x2a, 0x0a,
  8266  	0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67,
  8267  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41,
  8268  	0x6e, 0x79, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x63, 0x0a, 0x0f, 0x56, 0x50, 0x4e,
  8269  	0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x24, 0x0a, 0x02,
  8270  	0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  8271  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02,
  8272  	0x72, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
  8273  	0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  8274  	0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x34,
  8275  	0x0a, 0x0a, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x10, 0x0a, 0x03,
  8276  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
  8277  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76,
  8278  	0x61, 0x6c, 0x75, 0x65, 0x22, 0x84, 0x02, 0x0a, 0x10, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44,
  8279  	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e,
  8280  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x1a, 0x0a, 0x09, 0x62,
  8281  	0x67, 0x70, 0x5f, 0x6c, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
  8282  	0x62, 0x67, 0x70, 0x4c, 0x73, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x6f, 0x73, 0x70, 0x66, 0x5f,
  8283  	0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6f,
  8284  	0x73, 0x70, 0x66, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x73, 0x65,
  8285  	0x75, 0x64, 0x6f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70,
  8286  	0x73, 0x65, 0x75, 0x64, 0x6f, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x67, 0x70,
  8287  	0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
  8288  	0x52, 0x0b, 0x69, 0x67, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a,
  8289  	0x0d, 0x62, 0x67, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06,
  8290  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x67, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49,
  8291  	0x64, 0x12, 0x38, 0x0a, 0x18, 0x62, 0x67, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x65, 0x64, 0x65,
  8292  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20,
  8293  	0x01, 0x28, 0x0d, 0x52, 0x16, 0x62, 0x67, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x65, 0x64, 0x65, 0x72,
  8294  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x98, 0x02, 0x0a, 0x10,
  8295  	0x4c, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72,
  8296  	0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69,
  8297  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x63,
  8298  	0x61, 0x6c, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x72, 0x65, 0x6d,
  8299  	0x6f, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x69,
  8300  	0x6e, 0x6b, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e,
  8301  	0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x69, 0x70, 0x76,
  8302  	0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61,
  8303  	0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x49, 0x70, 0x76, 0x34, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65,
  8304  	0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34,
  8305  	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72,
  8306  	0x41, 0x64, 0x64, 0x72, 0x49, 0x70, 0x76, 0x34, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x74, 0x65,
  8307  	0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18,
  8308  	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65,
  8309  	0x41, 0x64, 0x64, 0x72, 0x49, 0x70, 0x76, 0x36, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x69, 0x67,
  8310  	0x68, 0x62, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0x06,
  8311  	0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x41, 0x64,
  8312  	0x64, 0x72, 0x49, 0x70, 0x76, 0x36, 0x22, 0x7d, 0x0a, 0x12, 0x4c, 0x73, 0x50, 0x72, 0x65, 0x66,
  8313  	0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x27, 0x0a, 0x0f,
  8314  	0x69, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18,
  8315  	0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x70, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62,
  8316  	0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0f, 0x6f, 0x73, 0x70, 0x66, 0x5f, 0x72, 0x6f,
  8317  	0x75, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16,
  8318  	0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x4f, 0x73, 0x70, 0x66, 0x52, 0x6f, 0x75,
  8319  	0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x6f, 0x73, 0x70, 0x66, 0x52, 0x6f, 0x75, 0x74,
  8320  	0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x44, 0x0a, 0x0a, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x4e,
  8321  	0x4c, 0x52, 0x49, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64,
  8322  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e,
  8323  	0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72,
  8324  	0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x0a,
  8325  	0x4c, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f,
  8326  	0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
  8327  	0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73,
  8328  	0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f,
  8329  	0x64, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x6f, 0x64,
  8330  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e,
  8331  	0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72,
  8332  	0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x40, 0x0a, 0x0f,
  8333  	0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18,
  8334  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73,
  8335  	0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0e,
  8336  	0x6c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x22, 0x90,
  8337  	0x01, 0x0a, 0x0e, 0x4c, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x56, 0x34, 0x4e, 0x4c, 0x52,
  8338  	0x49, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18,
  8339  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73,
  8340  	0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x09,
  8341  	0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x70, 0x72, 0x65,
  8342  	0x66, 0x69, 0x78, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x02,
  8343  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x50,
  8344  	0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52,
  8345  	0x10, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
  8346  	0x72, 0x22, 0x90, 0x01, 0x0a, 0x0e, 0x4c, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x56, 0x36,
  8347  	0x4e, 0x4c, 0x52, 0x49, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x6f,
  8348  	0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62,
  8349  	0x2e, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
  8350  	0x72, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x11,
  8351  	0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
  8352  	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e,
  8353  	0x4c, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
  8354  	0x6f, 0x72, 0x52, 0x10, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
  8355  	0x70, 0x74, 0x6f, 0x72, 0x22, 0xcd, 0x01, 0x0a, 0x0c, 0x4c, 0x73, 0x41, 0x64, 0x64, 0x72, 0x50,
  8356  	0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
  8357  	0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x4e, 0x4c,
  8358  	0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x04,
  8359  	0x6e, 0x6c, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f,
  8360  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79,
  8361  	0x52, 0x04, 0x6e, 0x6c, 0x72, 0x69, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,
  8362  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x34,
  8363  	0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
  8364  	0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x50, 0x72,
  8365  	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x49, 0x44, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
  8366  	0x6f, 0x6c, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
  8367  	0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
  8368  	0x66, 0x69, 0x65, 0x72, 0x22, 0x61, 0x0a, 0x21, 0x4d, 0x55, 0x50, 0x49, 0x6e, 0x74, 0x65, 0x72,
  8369  	0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f,
  8370  	0x76, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18,
  8371  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  8372  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12,
  8373  	0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
  8374  	0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x60, 0x0a, 0x1e, 0x4d, 0x55, 0x50, 0x44, 0x69,
  8375  	0x72, 0x65, 0x63, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f,
  8376  	0x76, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18,
  8377  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  8378  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12,
  8379  	0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  8380  	0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xec, 0x02, 0x0a, 0x1f, 0x4d, 0x55,
  8381  	0x50, 0x54, 0x79, 0x70, 0x65, 0x31, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61,
  8382  	0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a,
  8383  	0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  8384  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52,
  8385  	0x02, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65,
  8386  	0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c,
  8387  	0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06,
  8388  	0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72,
  8389  	0x65, 0x66, 0x69, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
  8390  	0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x66, 0x69, 0x18,
  8391  	0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x71, 0x66, 0x69, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e,
  8392  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6c,
  8393  	0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x65, 0x6e, 0x64,
  8394  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x6e, 0x67,
  8395  	0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61,
  8396  	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e,
  8397  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a,
  8398  	0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f,
  8399  	0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x6f,
  8400  	0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x6e, 0x67, 0x74,
  8401  	0x68, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72,
  8402  	0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63,
  8403  	0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x1f, 0x4d, 0x55, 0x50,
  8404  	0x54, 0x79, 0x70, 0x65, 0x32, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e,
  8405  	0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02,
  8406  	0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  8407  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02,
  8408  	0x72, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61,
  8409  	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20,
  8410  	0x01, 0x28, 0x0d, 0x52, 0x15, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x64, 0x64,
  8411  	0x72, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6e,
  8412  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03,
  8413  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x64,
  8414  	0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x69, 0x64, 0x18, 0x04, 0x20,
  8415  	0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x4d, 0x70,
  8416  	0x52, 0x65, 0x61, 0x63, 0x68, 0x4e, 0x4c, 0x52, 0x49, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
  8417  	0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01,
  8418  	0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c,
  8419  	0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x78,
  8420  	0x74, 0x5f, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65,
  8421  	0x78, 0x74, 0x48, 0x6f, 0x70, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6c, 0x72, 0x69, 0x73, 0x18,
  8422  	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  8423  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x6e, 0x6c, 0x72,
  8424  	0x69, 0x73, 0x22, 0x6b, 0x0a, 0x16, 0x4d, 0x70, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x4e,
  8425  	0x4c, 0x52, 0x49, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06,
  8426  	0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61,
  8427  	0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d,
  8428  	0x69, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6c, 0x72, 0x69, 0x73, 0x18, 0x03, 0x20, 0x03,
  8429  	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  8430  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x6e, 0x6c, 0x72, 0x69, 0x73, 0x22,
  8431  	0x8f, 0x01, 0x0a, 0x1a, 0x54, 0x77, 0x6f, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x73, 0x53, 0x70,
  8432  	0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x23,
  8433  	0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18,
  8434  	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74,
  8435  	0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
  8436  	0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10,
  8437  	0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e,
  8438  	0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18,
  8439  	0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69,
  8440  	0x6e, 0x22, 0x98, 0x01, 0x0a, 0x1b, 0x49, 0x50, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
  8441  	0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65,
  8442  	0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69,
  8443  	0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e,
  8444  	0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79,
  8445  	0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70,
  8446  	0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01,
  8447  	0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c,
  8448  	0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
  8449  	0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x90, 0x01, 0x0a,
  8450  	0x1b, 0x46, 0x6f, 0x75, 0x72, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x73, 0x53, 0x70, 0x65, 0x63,
  8451  	0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d,
  8452  	0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20,
  8453  	0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76,
  8454  	0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20,
  8455  	0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03,
  8456  	0x61, 0x73, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x1f,
  8457  	0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20,
  8458  	0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22,
  8459  	0x47, 0x0a, 0x15, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68,
  8460  	0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18,
  8461  	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61,
  8462  	0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x62,
  8463  	0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0x2a, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69,
  8464  	0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14,
  8465  	0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73,
  8466  	0x74, 0x61, 0x74, 0x65, 0x22, 0x25, 0x0a, 0x0d, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x45, 0x78, 0x74,
  8467  	0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x01,
  8468  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x30, 0x0a, 0x0d, 0x45,
  8469  	0x6e, 0x63, 0x61, 0x70, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
  8470  	0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  8471  	0x0d, 0x52, 0x0a, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0x18, 0x0a,
  8472  	0x16, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45,
  8473  	0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x22, 0x4b, 0x0a, 0x0e, 0x4f, 0x70, 0x61, 0x71, 0x75,
  8474  	0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f,
  8475  	0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
  8476  	0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x14,
  8477  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76,
  8478  	0x61, 0x6c, 0x75, 0x65, 0x22, 0x52, 0x0a, 0x10, 0x45, 0x53, 0x49, 0x4c, 0x61, 0x62, 0x65, 0x6c,
  8479  	0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x73,
  8480  	0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01,
  8481  	0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69,
  8482  	0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
  8483  	0x0d, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x32, 0x0a, 0x13, 0x45, 0x53, 0x49, 0x6d,
  8484  	0x70, 0x6f, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12,
  8485  	0x1b, 0x0a, 0x09, 0x65, 0x73, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01,
  8486  	0x28, 0x09, 0x52, 0x08, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x55, 0x0a, 0x13,
  8487  	0x4d, 0x61, 0x63, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x78, 0x74, 0x65, 0x6e,
  8488  	0x64, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79,
  8489  	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x79,
  8490  	0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d,
  8491  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
  8492  	0x4e, 0x75, 0x6d, 0x22, 0x25, 0x0a, 0x11, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x63,
  8493  	0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18,
  8494  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x22, 0x3b, 0x0a, 0x13, 0x54, 0x72,
  8495  	0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65,
  8496  	0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
  8497  	0x61, 0x73, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  8498  	0x02, 0x52, 0x04, 0x72, 0x61, 0x74, 0x65, 0x22, 0x4b, 0x0a, 0x15, 0x54, 0x72, 0x61, 0x66, 0x66,
  8499  	0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64,
  8500  	0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01,
  8501  	0x28, 0x08, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06,
  8502  	0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x61,
  8503  	0x6d, 0x70, 0x6c, 0x65, 0x22, 0x57, 0x0a, 0x22, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
  8504  	0x54, 0x77, 0x6f, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66,
  8505  	0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73,
  8506  	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x1f, 0x0a, 0x0b,
  8507  	0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
  8508  	0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x60, 0x0a,
  8509  	0x23, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x49, 0x50, 0x76, 0x34, 0x41, 0x64, 0x64,
  8510  	0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65,
  8511  	0x6e, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18,
  8512  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f,
  8513  	0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20,
  8514  	0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22,
  8515  	0x58, 0x0a, 0x23, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x75, 0x72, 0x4f,
  8516  	0x63, 0x74, 0x65, 0x74, 0x41, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78,
  8517  	0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20,
  8518  	0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61,
  8519  	0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c,
  8520  	0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x2b, 0x0a, 0x15, 0x54, 0x72, 0x61,
  8521  	0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64,
  8522  	0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x73, 0x63, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
  8523  	0x52, 0x04, 0x64, 0x73, 0x63, 0x70, 0x22, 0x6a, 0x0a, 0x0b, 0x4d, 0x55, 0x50, 0x45, 0x78, 0x74,
  8524  	0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70,
  8525  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65,
  8526  	0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x32, 0x18,
  8527  	0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64,
  8528  	0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x34,
  8529  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49,
  8530  	0x64, 0x34, 0x22, 0x45, 0x0a, 0x0c, 0x56, 0x50, 0x4c, 0x53, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64,
  8531  	0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x66, 0x6c,
  8532  	0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72,
  8533  	0x6f, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x02,
  8534  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x22, 0x3b, 0x0a, 0x0f, 0x55, 0x6e, 0x6b,
  8535  	0x6e, 0x6f, 0x77, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04,
  8536  	0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
  8537  	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
  8538  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x56, 0x0a, 0x1c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64,
  8539  	0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x41, 0x74, 0x74,
  8540  	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e,
  8541  	0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
  8542  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
  8543  	0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x40,
  8544  	0x0a, 0x10, 0x41, 0x73, 0x34, 0x50, 0x61, 0x74, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
  8545  	0x74, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01,
  8546  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x53,
  8547  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73,
  8548  	0x22, 0x44, 0x0a, 0x16, 0x41, 0x73, 0x34, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f,
  8549  	0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73,
  8550  	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x18, 0x0a, 0x07,
  8551  	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61,
  8552  	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x65, 0x0a, 0x13, 0x50, 0x6d, 0x73, 0x69, 0x54, 0x75,
  8553  	0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x14, 0x0a,
  8554  	0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c,
  8555  	0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  8556  	0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
  8557  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x0e, 0x0a,
  8558  	0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4a, 0x0a,
  8559  	0x1e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54,
  8560  	0x4c, 0x56, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  8561  	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65,
  8562  	0x79, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  8563  	0x0c, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x22, 0x37, 0x0a, 0x19, 0x54, 0x75, 0x6e,
  8564  	0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x50, 0x72,
  8565  	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
  8566  	0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
  8567  	0x6f, 0x6c, 0x22, 0x2e, 0x0a, 0x16, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61,
  8568  	0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05,
  8569  	0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c,
  8570  	0x6f, 0x72, 0x22, 0x55, 0x0a, 0x1d, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61,
  8571  	0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x53, 0x52, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
  8572  	0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01,
  8573  	0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x65,
  8574  	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70,
  8575  	0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x24, 0x54, 0x75, 0x6e,
  8576  	0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x53, 0x52,
  8577  	0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x61, 0x6d,
  8578  	0x65, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70,
  8579  	0x61, 0x74, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11,
  8580  	0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x61, 0x6d,
  8581  	0x65, 0x22, 0x39, 0x0a, 0x1b, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70,
  8582  	0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x53, 0x52, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79,
  8583  	0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01,
  8584  	0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x49, 0x0a, 0x1d,
  8585  	0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c,
  8586  	0x56, 0x53, 0x52, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x49, 0x44, 0x12, 0x28, 0x0a,
  8587  	0x04, 0x62, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
  8588  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
  8589  	0x79, 0x52, 0x04, 0x62, 0x73, 0x69, 0x64, 0x22, 0x4e, 0x0a, 0x0c, 0x53, 0x52, 0x42, 0x69, 0x6e,
  8590  	0x64, 0x69, 0x6e, 0x67, 0x53, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x5f, 0x66, 0x6c, 0x61,
  8591  	0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15,
  8592  	0x0a, 0x06, 0x69, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
  8593  	0x69, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
  8594  	0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x64, 0x22, 0xb3, 0x01, 0x0a, 0x14, 0x53, 0x52, 0x76, 0x36,
  8595  	0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,
  8596  	0x12, 0x2f, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01,
  8597  	0x28, 0x0e, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x42,
  8598  	0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f,
  8599  	0x72, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02,
  8600  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x12, 0x19,
  8601  	0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
  8602  	0x52, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x75, 0x6e,
  8603  	0x63, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x75, 0x6e,
  8604  	0x63, 0x4c, 0x65, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x67, 0x5f, 0x6c, 0x65, 0x6e, 0x18,
  8605  	0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x72, 0x67, 0x4c, 0x65, 0x6e, 0x22, 0xc4, 0x01,
  8606  	0x0a, 0x0e, 0x53, 0x52, 0x76, 0x36, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x49, 0x44,
  8607  	0x12, 0x15, 0x0a, 0x06, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
  8608  	0x52, 0x05, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x5f, 0x66, 0x6c, 0x61,
  8609  	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15,
  8610  	0x0a, 0x06, 0x62, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
  8611  	0x62, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
  8612  	0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x5b, 0x0a, 0x1b, 0x65, 0x6e, 0x64, 0x70, 0x6f,
  8613  	0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x72,
  8614  	0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61,
  8615  	0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e,
  8616  	0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x19, 0x65, 0x6e, 0x64, 0x70, 0x6f,
  8617  	0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x75, 0x63,
  8618  	0x74, 0x75, 0x72, 0x65, 0x22, 0x54, 0x0a, 0x17, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e,
  8619  	0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x53, 0x52, 0x45, 0x4e, 0x4c, 0x50, 0x12,
  8620  	0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
  8621  	0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x04, 0x65, 0x6e, 0x6c, 0x70, 0x18, 0x02, 0x20,
  8622  	0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x4e, 0x4c, 0x50,
  8623  	0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x65, 0x6e, 0x6c, 0x70, 0x22, 0x38, 0x0a, 0x08, 0x53, 0x52,
  8624  	0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18,
  8625  	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06,
  8626  	0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65,
  8627  	0x69, 0x67, 0x68, 0x74, 0x22, 0x6a, 0x0a, 0x0c, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46,
  8628  	0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01,
  8629  	0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x61,
  8630  	0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x46, 0x6c,
  8631  	0x61, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01,
  8632  	0x28, 0x08, 0x52, 0x05, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x5f, 0x66,
  8633  	0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x46, 0x6c, 0x61, 0x67,
  8634  	0x22, 0x4f, 0x0a, 0x0c, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x41,
  8635  	0x12, 0x29, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  8636  	0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46,
  8637  	0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c,
  8638  	0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65,
  8639  	0x6c, 0x22, 0xa8, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
  8640  	0x65, 0x42, 0x12, 0x29, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
  8641  	0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e,
  8642  	0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x10, 0x0a,
  8643  	0x03, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12,
  8644  	0x5b, 0x0a, 0x1b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61,
  8645  	0x76, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03,
  8646  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76,
  8647  	0x36, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f,
  8648  	0x72, 0x52, 0x19, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76,
  8649  	0x69, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0x7b, 0x0a, 0x1e,
  8650  	0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c,
  8651  	0x56, 0x53, 0x52, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27,
  8652  	0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
  8653  	0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52,
  8654  	0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65,
  8655  	0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  8656  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52,
  8657  	0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3b, 0x0a, 0x1f, 0x54, 0x75, 0x6e,
  8658  	0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x45, 0x67,
  8659  	0x72, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07,
  8660  	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61,
  8661  	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x32, 0x0a, 0x1c, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c,
  8662  	0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x55, 0x44, 0x50, 0x44, 0x65,
  8663  	0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01,
  8664  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x44, 0x0a, 0x18, 0x54, 0x75,
  8665  	0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x55,
  8666  	0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
  8667  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
  8668  	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  8669  	0x22, 0x4e, 0x0a, 0x0e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54,
  8670  	0x4c, 0x56, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
  8671  	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x02,
  8672  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  8673  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x74, 0x6c, 0x76, 0x73,
  8674  	0x22, 0x41, 0x0a, 0x14, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x41,
  8675  	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x74, 0x6c, 0x76, 0x73,
  8676  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54,
  8677  	0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x4c, 0x56, 0x52, 0x04, 0x74,
  8678  	0x6c, 0x76, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x1b, 0x49, 0x50, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72,
  8679  	0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e,
  8680  	0x64, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69,
  8681  	0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72,
  8682  	0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f,
  8683  	0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54,
  8684  	0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03,
  8685  	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a,
  8686  	0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01,
  8687  	0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x60,
  8688  	0x0a, 0x23, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x49, 0x50, 0x76, 0x36, 0x41, 0x64,
  8689  	0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74,
  8690  	0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
  8691  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
  8692  	0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02,
  8693  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e,
  8694  	0x22, 0x59, 0x0a, 0x1f, 0x49, 0x50, 0x36, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x43,
  8695  	0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
  8696  	0x75, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69,
  8697  	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  8698  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b,
  8699  	0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x2a, 0x0a, 0x10, 0x41,
  8700  	0x69, 0x67, 0x70, 0x54, 0x4c, 0x56, 0x49, 0x47, 0x50, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12,
  8701  	0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
  8702  	0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x3a, 0x0a, 0x0e, 0x41, 0x69, 0x67, 0x70, 0x54,
  8703  	0x4c, 0x56, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
  8704  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a,
  8705  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61,
  8706  	0x6c, 0x75, 0x65, 0x22, 0x39, 0x0a, 0x0d, 0x41, 0x69, 0x67, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69,
  8707  	0x62, 0x75, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x01, 0x20, 0x03,
  8708  	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  8709  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x22, 0x75,
  8710  	0x0a, 0x0e, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79,
  8711  	0x12, 0x21, 0x0a, 0x0c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e,
  8712  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64,
  8713  	0x6d, 0x69, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74,
  8714  	0x61, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x44,
  8715  	0x61, 0x74, 0x61, 0x31, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x61,
  8716  	0x74, 0x61, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
  8717  	0x44, 0x61, 0x74, 0x61, 0x32, 0x22, 0x54, 0x0a, 0x19, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f,
  8718  	0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
  8719  	0x74, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65,
  8720  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e,
  8721  	0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x0b,
  8722  	0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x0b,
  8723  	0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f,
  8724  	0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f,
  8725  	0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x61, 0x63,
  8726  	0x68, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x74, 0x74, 0x61, 0x63,
  8727  	0x68, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18,
  8728  	0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12,
  8729  	0x10, 0x0a, 0x03, 0x61, 0x62, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x62,
  8730  	0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28,
  8731  	0x08, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x76, 0x36, 0x18,
  8732  	0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x76, 0x36, 0x22, 0x8b, 0x01, 0x0a, 0x0a, 0x4c, 0x73,
  8733  	0x49, 0x47, 0x50, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x77, 0x6e,
  8734  	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x1d, 0x0a, 0x0a,
  8735  	0x6e, 0x6f, 0x5f, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
  8736  	0x52, 0x09, 0x6e, 0x6f, 0x55, 0x6e, 0x69, 0x63, 0x61, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c,
  8737  	0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01,
  8738  	0x28, 0x08, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
  8739  	0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x73,
  8740  	0x73, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67,
  8741  	0x61, 0x74, 0x65, 0x4e, 0x73, 0x73, 0x61, 0x22, 0x33, 0x0a, 0x09, 0x4c, 0x73, 0x53, 0x72, 0x52,
  8742  	0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20,
  8743  	0x01, 0x28, 0x0d, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e,
  8744  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x8a, 0x01, 0x0a,
  8745  	0x10, 0x4c, 0x73, 0x53, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65,
  8746  	0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72,
  8747  	0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x70, 0x76, 0x34, 0x53,
  8748  	0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x70, 0x76, 0x36,
  8749  	0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
  8750  	0x52, 0x0d, 0x69, 0x70, 0x76, 0x36, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12,
  8751  	0x28, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
  8752  	0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x53, 0x72, 0x52, 0x61, 0x6e, 0x67,
  8753  	0x65, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x3a, 0x0a, 0x0e, 0x4c, 0x73, 0x53,
  8754  	0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x28, 0x0a, 0x06, 0x72,
  8755  	0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70,
  8756  	0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x53, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x72,
  8757  	0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0xfd, 0x02, 0x0a, 0x0f, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72,
  8758  	0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
  8759  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a,
  8760  	0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61,
  8761  	0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73,
  8762  	0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
  8763  	0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
  8764  	0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12,
  8765  	0x2b, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f,
  8766  	0x69, 0x64, 0x5f, 0x76, 0x36, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x63,
  8767  	0x61, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x56, 0x36, 0x12, 0x1b, 0x0a, 0x09,
  8768  	0x69, 0x73, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52,
  8769  	0x08, 0x69, 0x73, 0x69, 0x73, 0x41, 0x72, 0x65, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x61,
  8770  	0x71, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75,
  8771  	0x65, 0x12, 0x40, 0x0a, 0x0f, 0x73, 0x72, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69,
  8772  	0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69,
  8773  	0x70, 0x62, 0x2e, 0x4c, 0x73, 0x53, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
  8774  	0x69, 0x65, 0x73, 0x52, 0x0e, 0x73, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
  8775  	0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x72, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69,
  8776  	0x74, 0x68, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x72, 0x41, 0x6c,
  8777  	0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x73, 0x72, 0x5f, 0x6c,
  8778  	0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
  8779  	0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x53, 0x72, 0x4c, 0x6f, 0x63,
  8780  	0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0c, 0x73, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
  8781  	0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x9b, 0x04, 0x0a, 0x0f, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72,
  8782  	0x69, 0x62, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
  8783  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a,
  8784  	0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64,
  8785  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x6f, 0x75,
  8786  	0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72,
  8787  	0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x76, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28,
  8788  	0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64,
  8789  	0x56, 0x36, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x75,
  8790  	0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65,
  8791  	0x6d, 0x6f, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13,
  8792  	0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64,
  8793  	0x5f, 0x76, 0x36, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74,
  8794  	0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x56, 0x36, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
  8795  	0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
  8796  	0x52, 0x0a, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x11,
  8797  	0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69,
  8798  	0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
  8799  	0x54, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x67, 0x70, 0x5f,
  8800  	0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x67,
  8801  	0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75,
  8802  	0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12,
  8803  	0x1c, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01,
  8804  	0x28, 0x02, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x31, 0x0a,
  8805  	0x14, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6e, 0x64,
  8806  	0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x72, 0x65, 0x73,
  8807  	0x65, 0x72, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68,
  8808  	0x12, 0x31, 0x0a, 0x14, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x62,
  8809  	0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x02, 0x52, 0x13,
  8810  	0x75, 0x6e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69,
  8811  	0x64, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x72, 0x5f, 0x61, 0x64, 0x6a, 0x61, 0x63, 0x65,
  8812  	0x6e, 0x63, 0x79, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73,
  8813  	0x72, 0x41, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x69, 0x64, 0x12, 0x14, 0x0a,
  8814  	0x05, 0x73, 0x72, 0x6c, 0x67, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x72,
  8815  	0x6c, 0x67, 0x73, 0x22, 0x7f, 0x0a, 0x11, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
  8816  	0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2e, 0x0a, 0x09, 0x69, 0x67, 0x70, 0x5f,
  8817  	0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70,
  8818  	0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x49, 0x47, 0x50, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x08,
  8819  	0x69, 0x67, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71,
  8820  	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
  8821  	0x12, 0x22, 0x0a, 0x0d, 0x73, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x73, 0x69,
  8822  	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x72, 0x50, 0x72, 0x65, 0x66, 0x69,
  8823  	0x78, 0x53, 0x69, 0x64, 0x22, 0x7e, 0x0a, 0x18, 0x4c, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65,
  8824  	0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x49, 0x44, 0x46, 0x6c, 0x61, 0x67, 0x73,
  8825  	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
  8826  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18,
  8827  	0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06,
  8828  	0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x62, 0x61,
  8829  	0x63, 0x6b, 0x75, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
  8830  	0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73,
  8831  	0x74, 0x65, 0x6e, 0x74, 0x22, 0x76, 0x0a, 0x13, 0x4c, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65,
  8832  	0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x49, 0x44, 0x12, 0x35, 0x0a, 0x05, 0x66,
  8833  	0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69,
  8834  	0x70, 0x62, 0x2e, 0x4c, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d,
  8835  	0x65, 0x6e, 0x74, 0x53, 0x49, 0x44, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61,
  8836  	0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01,
  8837  	0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69,
  8838  	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x69, 0x64, 0x22, 0xf8, 0x01, 0x0a,
  8839  	0x19, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42, 0x67, 0x70, 0x50,
  8840  	0x65, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x62, 0x67,
  8841  	0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x69, 0x64, 0x18,
  8842  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73,
  8843  	0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x49,
  8844  	0x44, 0x52, 0x0e, 0x62, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69,
  8845  	0x64, 0x12, 0x4f, 0x0a, 0x16, 0x62, 0x67, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x64,
  8846  	0x6a, 0x61, 0x63, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
  8847  	0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x42, 0x67, 0x70, 0x50,
  8848  	0x65, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x49, 0x44, 0x52, 0x13, 0x62,
  8849  	0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x63, 0x79, 0x53,
  8850  	0x69, 0x64, 0x12, 0x43, 0x0a, 0x10, 0x62, 0x67, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73,
  8851  	0x65, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61,
  8852  	0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x65,
  8853  	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x49, 0x44, 0x52, 0x0d, 0x62, 0x67, 0x70, 0x50, 0x65, 0x65,
  8854  	0x72, 0x53, 0x65, 0x74, 0x53, 0x69, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x0b, 0x4c, 0x73, 0x41, 0x74,
  8855  	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18,
  8856  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73,
  8857  	0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e,
  8858  	0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28,
  8859  	0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72,
  8860  	0x69, 0x62, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12,
  8861  	0x30, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
  8862  	0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
  8863  	0x75, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69,
  8864  	0x78, 0x12, 0x4a, 0x0a, 0x10, 0x62, 0x67, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x65,
  8865  	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x70,
  8866  	0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42,
  8867  	0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x62,
  8868  	0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x52, 0x0a,
  8869  	0x10, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
  8870  	0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
  8871  	0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
  8872  	0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76,
  8873  	0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
  8874  	0x65, 0x22, 0xb2, 0x02, 0x0a, 0x16, 0x53, 0x52, 0x76, 0x36, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74,
  8875  	0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x12, 0x30, 0x0a, 0x14,
  8876  	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x65,
  8877  	0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x6f, 0x63, 0x61,
  8878  	0x74, 0x6f, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2e,
  8879  	0x0a, 0x13, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c,
  8880  	0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x6f, 0x63,
  8881  	0x61, 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x27,
  8882  	0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74,
  8883  	0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
  8884  	0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x72, 0x67, 0x75, 0x6d,
  8885  	0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
  8886  	0x52, 0x0e, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68,
  8887  	0x12, 0x31, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
  8888  	0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13,
  8889  	0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x6e,
  8890  	0x67, 0x74, 0x68, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x69,
  8891  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
  8892  	0x0d, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
  8893  	0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x25, 0x0a, 0x0c, 0x53, 0x52, 0x76, 0x36, 0x53, 0x49,
  8894  	0x44, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x31,
  8895  	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x31, 0x22, 0x31, 0x0a,
  8896  	0x07, 0x53, 0x52, 0x76, 0x36, 0x54, 0x4c, 0x56, 0x12, 0x26, 0x0a, 0x03, 0x74, 0x6c, 0x76, 0x18,
  8897  	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  8898  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x03, 0x74, 0x6c, 0x76,
  8899  	0x22, 0xa0, 0x02, 0x0a, 0x15, 0x53, 0x52, 0x76, 0x36, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
  8900  	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69,
  8901  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x05,
  8902  	0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70,
  8903  	0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x53, 0x49, 0x44, 0x46, 0x6c, 0x61, 0x67, 0x73,
  8904  	0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6e, 0x64, 0x70, 0x6f,
  8905  	0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01,
  8906  	0x28, 0x0d, 0x52, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61,
  8907  	0x76, 0x69, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x5f, 0x73, 0x75, 0x62, 0x5f,
  8908  	0x74, 0x6c, 0x76, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x61, 0x70, 0x69,
  8909  	0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69,
  8910  	0x6f, 0x6e, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x2e, 0x53, 0x75, 0x62, 0x53, 0x75, 0x62, 0x54,
  8911  	0x6c, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x53, 0x75, 0x62,
  8912  	0x54, 0x6c, 0x76, 0x73, 0x1a, 0x4d, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x53, 0x75, 0x62, 0x54, 0x6c,
  8913  	0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
  8914  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c,
  8915  	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62,
  8916  	0x2e, 0x53, 0x52, 0x76, 0x36, 0x54, 0x4c, 0x56, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
  8917  	0x02, 0x38, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x10, 0x53, 0x52, 0x76, 0x36, 0x4c, 0x33, 0x53, 0x65,
  8918  	0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x4c, 0x56, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f,
  8919  	0x74, 0x6c, 0x76, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x70, 0x69,
  8920  	0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x4c, 0x33, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
  8921  	0x54, 0x4c, 0x56, 0x2e, 0x53, 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
  8922  	0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x1a, 0x4a, 0x0a, 0x0c, 0x53, 0x75, 0x62,
  8923  	0x54, 0x6c, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
  8924  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76,
  8925  	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69,
  8926  	0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x54, 0x4c, 0x56, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
  8927  	0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x10, 0x53, 0x52, 0x76, 0x36, 0x4c, 0x32,
  8928  	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x4c, 0x56, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x75,
  8929  	0x62, 0x5f, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61,
  8930  	0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x4c, 0x32, 0x53, 0x65, 0x72, 0x76, 0x69,
  8931  	0x63, 0x65, 0x54, 0x4c, 0x56, 0x2e, 0x53, 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x45, 0x6e, 0x74,
  8932  	0x72, 0x79, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x1a, 0x4a, 0x0a, 0x0c, 0x53,
  8933  	0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
  8934  	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a,
  8935  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61,
  8936  	0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x54, 0x4c, 0x56, 0x52, 0x05, 0x76, 0x61,
  8937  	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x35, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69,
  8938  	0x78, 0x53, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x01, 0x20, 0x03,
  8939  	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  8940  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x2a, 0xf7,
  8941  	0x01, 0x0a, 0x0f, 0x4c, 0x73, 0x4f, 0x73, 0x70, 0x66, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79,
  8942  	0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x4c, 0x53, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f,
  8943  	0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
  8944  	0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x53, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f,
  8945  	0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x52, 0x41, 0x5f, 0x41,
  8946  	0x52, 0x45, 0x41, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x53, 0x5f, 0x4f, 0x53, 0x50, 0x46,
  8947  	0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45,
  8948  	0x52, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x53, 0x5f, 0x4f,
  8949  	0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45,
  8950  	0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x31, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x53,
  8951  	0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
  8952  	0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x32, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18,
  8953  	0x4c, 0x53, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59,
  8954  	0x50, 0x45, 0x5f, 0x4e, 0x53, 0x53, 0x41, 0x31, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x53,
  8955  	0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
  8956  	0x5f, 0x4e, 0x53, 0x53, 0x41, 0x32, 0x10, 0x06, 0x2a, 0x73, 0x0a, 0x0a, 0x4c, 0x73, 0x4e, 0x4c,
  8957  	0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x53, 0x5f, 0x4e, 0x4c, 0x52,
  8958  	0x49, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4c,
  8959  	0x53, 0x5f, 0x4e, 0x4c, 0x52, 0x49, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a,
  8960  	0x0c, 0x4c, 0x53, 0x5f, 0x4e, 0x4c, 0x52, 0x49, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x02, 0x12,
  8961  	0x15, 0x0a, 0x11, 0x4c, 0x53, 0x5f, 0x4e, 0x4c, 0x52, 0x49, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49,
  8962  	0x58, 0x5f, 0x56, 0x34, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x53, 0x5f, 0x4e, 0x4c, 0x52,
  8963  	0x49, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x56, 0x36, 0x10, 0x04, 0x2a, 0xbb, 0x01,
  8964  	0x0a, 0x0c, 0x4c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x49, 0x44, 0x12, 0x17,
  8965  	0x0a, 0x13, 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e,
  8966  	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x53, 0x5f, 0x50, 0x52,
  8967  	0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, 0x53, 0x49, 0x53, 0x5f, 0x4c, 0x31, 0x10, 0x01,
  8968  	0x12, 0x17, 0x0a, 0x13, 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f,
  8969  	0x49, 0x53, 0x49, 0x53, 0x5f, 0x4c, 0x32, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x53, 0x5f,
  8970  	0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x56, 0x32,
  8971  	0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f,
  8972  	0x4c, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x53,
  8973  	0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43,
  8974  	0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f,
  8975  	0x4c, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x56, 0x33, 0x10, 0x06, 0x2a, 0xed, 0x05, 0x0a, 0x0c,
  8976  	0x53, 0x52, 0x76, 0x36, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x0c, 0x0a, 0x08,
  8977  	0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x4e,
  8978  	0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f,
  8979  	0x50, 0x53, 0x50, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54,
  8980  	0x48, 0x5f, 0x55, 0x53, 0x50, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x44, 0x5f, 0x57,
  8981  	0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x50, 0x10, 0x04, 0x12, 0x08, 0x0a,
  8982  	0x04, 0x45, 0x4e, 0x44, 0x58, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x58, 0x5f,
  8983  	0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e,
  8984  	0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x50, 0x10, 0x07, 0x12, 0x15, 0x0a,
  8985  	0x11, 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55,
  8986  	0x53, 0x50, 0x10, 0x08, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x4e, 0x44, 0x54, 0x10, 0x09, 0x12, 0x11,
  8987  	0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x10,
  8988  	0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55,
  8989  	0x53, 0x50, 0x10, 0x0b, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54,
  8990  	0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x50, 0x10, 0x0c, 0x12, 0x11, 0x0a, 0x0d, 0x45,
  8991  	0x4e, 0x44, 0x5f, 0x42, 0x36, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x53, 0x10, 0x0e, 0x12, 0x0a,
  8992  	0x0a, 0x06, 0x45, 0x4e, 0x44, 0x5f, 0x42, 0x4d, 0x10, 0x0f, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e,
  8993  	0x44, 0x5f, 0x44, 0x58, 0x36, 0x10, 0x10, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x44, 0x5f, 0x44,
  8994  	0x58, 0x34, 0x10, 0x11, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x54, 0x36, 0x10,
  8995  	0x12, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x54, 0x34, 0x10, 0x13, 0x12, 0x0c,
  8996  	0x0a, 0x08, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x54, 0x34, 0x36, 0x10, 0x14, 0x12, 0x0b, 0x0a, 0x07,
  8997  	0x45, 0x4e, 0x44, 0x5f, 0x44, 0x58, 0x32, 0x10, 0x15, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x44,
  8998  	0x5f, 0x44, 0x58, 0x32, 0x56, 0x10, 0x16, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x44, 0x5f, 0x44,
  8999  	0x54, 0x32, 0x55, 0x10, 0x17, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x54, 0x32,
  9000  	0x4d, 0x10, 0x18, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x5f, 0x42, 0x36, 0x5f, 0x45, 0x4e,
  9001  	0x43, 0x41, 0x50, 0x53, 0x5f, 0x52, 0x65, 0x64, 0x10, 0x1b, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x4e,
  9002  	0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x1c, 0x12, 0x14, 0x0a, 0x10,
  9003  	0x45, 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44,
  9004  	0x10, 0x1d, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55,
  9005  	0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x1e, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x4e, 0x44, 0x5f,
  9006  	0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44,
  9007  	0x10, 0x1f, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f,
  9008  	0x55, 0x53, 0x44, 0x10, 0x20, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49,
  9009  	0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x21, 0x12, 0x15, 0x0a, 0x11,
  9010  	0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53,
  9011  	0x44, 0x10, 0x22, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48,
  9012  	0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x23, 0x12, 0x11,
  9013  	0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x44, 0x10,
  9014  	0x24, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50,
  9015  	0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x25, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x54,
  9016  	0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x26, 0x12,
  9017  	0x19, 0x0a, 0x15, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50,
  9018  	0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x27, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x4e,
  9019  	0x44, 0x4d, 0x5f, 0x47, 0x54, 0x50, 0x36, 0x44, 0x10, 0x45, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x4e,
  9020  	0x44, 0x4d, 0x5f, 0x47, 0x54, 0x50, 0x36, 0x44, 0x49, 0x10, 0x46, 0x12, 0x0e, 0x0a, 0x0a, 0x45,
  9021  	0x4e, 0x44, 0x4d, 0x5f, 0x47, 0x54, 0x50, 0x36, 0x45, 0x10, 0x47, 0x12, 0x0e, 0x0a, 0x0a, 0x45,
  9022  	0x4e, 0x44, 0x4d, 0x5f, 0x47, 0x54, 0x50, 0x34, 0x45, 0x10, 0x48, 0x2a, 0x44, 0x0a, 0x08, 0x45,
  9023  	0x4e, 0x4c, 0x50, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x65, 0x72,
  9024  	0x76, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x31, 0x10, 0x01,
  9025  	0x12, 0x09, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x32, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x54,
  9026  	0x79, 0x70, 0x65, 0x33, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x34, 0x10,
  9027  	0x04, 0x42, 0x24, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  9028  	0x6f, 0x73, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x62, 0x67, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x70,
  9029  	0x69, 0x3b, 0x61, 0x70, 0x69, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  9030  }
  9031  
  9032  var (
  9033  	file_attribute_proto_rawDescOnce sync.Once
  9034  	file_attribute_proto_rawDescData = file_attribute_proto_rawDesc
  9035  )
  9036  
  9037  func file_attribute_proto_rawDescGZIP() []byte {
  9038  	file_attribute_proto_rawDescOnce.Do(func() {
  9039  		file_attribute_proto_rawDescData = protoimpl.X.CompressGZIP(file_attribute_proto_rawDescData)
  9040  	})
  9041  	return file_attribute_proto_rawDescData
  9042  }
  9043  
  9044  var file_attribute_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
  9045  var file_attribute_proto_msgTypes = make([]protoimpl.MessageInfo, 127)
  9046  var file_attribute_proto_goTypes = []interface{}{
  9047  	(LsOspfRouteType)(0),                           // 0: apipb.LsOspfRouteType
  9048  	(LsNLRIType)(0),                                // 1: apipb.LsNLRIType
  9049  	(LsProtocolID)(0),                              // 2: apipb.LsProtocolID
  9050  	(SRv6Behavior)(0),                              // 3: apipb.SRv6Behavior
  9051  	(ENLPType)(0),                                  // 4: apipb.ENLPType
  9052  	(AsSegment_Type)(0),                            // 5: apipb.AsSegment.Type
  9053  	(*OriginAttribute)(nil),                        // 6: apipb.OriginAttribute
  9054  	(*AsSegment)(nil),                              // 7: apipb.AsSegment
  9055  	(*AsPathAttribute)(nil),                        // 8: apipb.AsPathAttribute
  9056  	(*NextHopAttribute)(nil),                       // 9: apipb.NextHopAttribute
  9057  	(*MultiExitDiscAttribute)(nil),                 // 10: apipb.MultiExitDiscAttribute
  9058  	(*LocalPrefAttribute)(nil),                     // 11: apipb.LocalPrefAttribute
  9059  	(*AtomicAggregateAttribute)(nil),               // 12: apipb.AtomicAggregateAttribute
  9060  	(*AggregatorAttribute)(nil),                    // 13: apipb.AggregatorAttribute
  9061  	(*CommunitiesAttribute)(nil),                   // 14: apipb.CommunitiesAttribute
  9062  	(*OriginatorIdAttribute)(nil),                  // 15: apipb.OriginatorIdAttribute
  9063  	(*ClusterListAttribute)(nil),                   // 16: apipb.ClusterListAttribute
  9064  	(*IPAddressPrefix)(nil),                        // 17: apipb.IPAddressPrefix
  9065  	(*LabeledIPAddressPrefix)(nil),                 // 18: apipb.LabeledIPAddressPrefix
  9066  	(*EncapsulationNLRI)(nil),                      // 19: apipb.EncapsulationNLRI
  9067  	(*RouteDistinguisherTwoOctetASN)(nil),          // 20: apipb.RouteDistinguisherTwoOctetASN
  9068  	(*RouteDistinguisherIPAddress)(nil),            // 21: apipb.RouteDistinguisherIPAddress
  9069  	(*RouteDistinguisherFourOctetASN)(nil),         // 22: apipb.RouteDistinguisherFourOctetASN
  9070  	(*EthernetSegmentIdentifier)(nil),              // 23: apipb.EthernetSegmentIdentifier
  9071  	(*VPLSNLRI)(nil),                               // 24: apipb.VPLSNLRI
  9072  	(*EVPNEthernetAutoDiscoveryRoute)(nil),         // 25: apipb.EVPNEthernetAutoDiscoveryRoute
  9073  	(*EVPNMACIPAdvertisementRoute)(nil),            // 26: apipb.EVPNMACIPAdvertisementRoute
  9074  	(*EVPNInclusiveMulticastEthernetTagRoute)(nil), // 27: apipb.EVPNInclusiveMulticastEthernetTagRoute
  9075  	(*EVPNEthernetSegmentRoute)(nil),               // 28: apipb.EVPNEthernetSegmentRoute
  9076  	(*EVPNIPPrefixRoute)(nil),                      // 29: apipb.EVPNIPPrefixRoute
  9077  	(*EVPNIPMSIRoute)(nil),                         // 30: apipb.EVPNIPMSIRoute
  9078  	(*SRPolicyNLRI)(nil),                           // 31: apipb.SRPolicyNLRI
  9079  	(*LabeledVPNIPAddressPrefix)(nil),              // 32: apipb.LabeledVPNIPAddressPrefix
  9080  	(*RouteTargetMembershipNLRI)(nil),              // 33: apipb.RouteTargetMembershipNLRI
  9081  	(*FlowSpecIPPrefix)(nil),                       // 34: apipb.FlowSpecIPPrefix
  9082  	(*FlowSpecMAC)(nil),                            // 35: apipb.FlowSpecMAC
  9083  	(*FlowSpecComponentItem)(nil),                  // 36: apipb.FlowSpecComponentItem
  9084  	(*FlowSpecComponent)(nil),                      // 37: apipb.FlowSpecComponent
  9085  	(*FlowSpecNLRI)(nil),                           // 38: apipb.FlowSpecNLRI
  9086  	(*VPNFlowSpecNLRI)(nil),                        // 39: apipb.VPNFlowSpecNLRI
  9087  	(*OpaqueNLRI)(nil),                             // 40: apipb.OpaqueNLRI
  9088  	(*LsNodeDescriptor)(nil),                       // 41: apipb.LsNodeDescriptor
  9089  	(*LsLinkDescriptor)(nil),                       // 42: apipb.LsLinkDescriptor
  9090  	(*LsPrefixDescriptor)(nil),                     // 43: apipb.LsPrefixDescriptor
  9091  	(*LsNodeNLRI)(nil),                             // 44: apipb.LsNodeNLRI
  9092  	(*LsLinkNLRI)(nil),                             // 45: apipb.LsLinkNLRI
  9093  	(*LsPrefixV4NLRI)(nil),                         // 46: apipb.LsPrefixV4NLRI
  9094  	(*LsPrefixV6NLRI)(nil),                         // 47: apipb.LsPrefixV6NLRI
  9095  	(*LsAddrPrefix)(nil),                           // 48: apipb.LsAddrPrefix
  9096  	(*MUPInterworkSegmentDiscoveryRoute)(nil),      // 49: apipb.MUPInterworkSegmentDiscoveryRoute
  9097  	(*MUPDirectSegmentDiscoveryRoute)(nil),         // 50: apipb.MUPDirectSegmentDiscoveryRoute
  9098  	(*MUPType1SessionTransformedRoute)(nil),        // 51: apipb.MUPType1SessionTransformedRoute
  9099  	(*MUPType2SessionTransformedRoute)(nil),        // 52: apipb.MUPType2SessionTransformedRoute
  9100  	(*MpReachNLRIAttribute)(nil),                   // 53: apipb.MpReachNLRIAttribute
  9101  	(*MpUnreachNLRIAttribute)(nil),                 // 54: apipb.MpUnreachNLRIAttribute
  9102  	(*TwoOctetAsSpecificExtended)(nil),             // 55: apipb.TwoOctetAsSpecificExtended
  9103  	(*IPv4AddressSpecificExtended)(nil),            // 56: apipb.IPv4AddressSpecificExtended
  9104  	(*FourOctetAsSpecificExtended)(nil),            // 57: apipb.FourOctetAsSpecificExtended
  9105  	(*LinkBandwidthExtended)(nil),                  // 58: apipb.LinkBandwidthExtended
  9106  	(*ValidationExtended)(nil),                     // 59: apipb.ValidationExtended
  9107  	(*ColorExtended)(nil),                          // 60: apipb.ColorExtended
  9108  	(*EncapExtended)(nil),                          // 61: apipb.EncapExtended
  9109  	(*DefaultGatewayExtended)(nil),                 // 62: apipb.DefaultGatewayExtended
  9110  	(*OpaqueExtended)(nil),                         // 63: apipb.OpaqueExtended
  9111  	(*ESILabelExtended)(nil),                       // 64: apipb.ESILabelExtended
  9112  	(*ESImportRouteTarget)(nil),                    // 65: apipb.ESImportRouteTarget
  9113  	(*MacMobilityExtended)(nil),                    // 66: apipb.MacMobilityExtended
  9114  	(*RouterMacExtended)(nil),                      // 67: apipb.RouterMacExtended
  9115  	(*TrafficRateExtended)(nil),                    // 68: apipb.TrafficRateExtended
  9116  	(*TrafficActionExtended)(nil),                  // 69: apipb.TrafficActionExtended
  9117  	(*RedirectTwoOctetAsSpecificExtended)(nil),     // 70: apipb.RedirectTwoOctetAsSpecificExtended
  9118  	(*RedirectIPv4AddressSpecificExtended)(nil),    // 71: apipb.RedirectIPv4AddressSpecificExtended
  9119  	(*RedirectFourOctetAsSpecificExtended)(nil),    // 72: apipb.RedirectFourOctetAsSpecificExtended
  9120  	(*TrafficRemarkExtended)(nil),                  // 73: apipb.TrafficRemarkExtended
  9121  	(*MUPExtended)(nil),                            // 74: apipb.MUPExtended
  9122  	(*VPLSExtended)(nil),                           // 75: apipb.VPLSExtended
  9123  	(*UnknownExtended)(nil),                        // 76: apipb.UnknownExtended
  9124  	(*ExtendedCommunitiesAttribute)(nil),           // 77: apipb.ExtendedCommunitiesAttribute
  9125  	(*As4PathAttribute)(nil),                       // 78: apipb.As4PathAttribute
  9126  	(*As4AggregatorAttribute)(nil),                 // 79: apipb.As4AggregatorAttribute
  9127  	(*PmsiTunnelAttribute)(nil),                    // 80: apipb.PmsiTunnelAttribute
  9128  	(*TunnelEncapSubTLVEncapsulation)(nil),         // 81: apipb.TunnelEncapSubTLVEncapsulation
  9129  	(*TunnelEncapSubTLVProtocol)(nil),              // 82: apipb.TunnelEncapSubTLVProtocol
  9130  	(*TunnelEncapSubTLVColor)(nil),                 // 83: apipb.TunnelEncapSubTLVColor
  9131  	(*TunnelEncapSubTLVSRPreference)(nil),          // 84: apipb.TunnelEncapSubTLVSRPreference
  9132  	(*TunnelEncapSubTLVSRCandidatePathName)(nil),   // 85: apipb.TunnelEncapSubTLVSRCandidatePathName
  9133  	(*TunnelEncapSubTLVSRPriority)(nil),            // 86: apipb.TunnelEncapSubTLVSRPriority
  9134  	(*TunnelEncapSubTLVSRBindingSID)(nil),          // 87: apipb.TunnelEncapSubTLVSRBindingSID
  9135  	(*SRBindingSID)(nil),                           // 88: apipb.SRBindingSID
  9136  	(*SRv6EndPointBehavior)(nil),                   // 89: apipb.SRv6EndPointBehavior
  9137  	(*SRv6BindingSID)(nil),                         // 90: apipb.SRv6BindingSID
  9138  	(*TunnelEncapSubTLVSRENLP)(nil),                // 91: apipb.TunnelEncapSubTLVSRENLP
  9139  	(*SRWeight)(nil),                               // 92: apipb.SRWeight
  9140  	(*SegmentFlags)(nil),                           // 93: apipb.SegmentFlags
  9141  	(*SegmentTypeA)(nil),                           // 94: apipb.SegmentTypeA
  9142  	(*SegmentTypeB)(nil),                           // 95: apipb.SegmentTypeB
  9143  	(*TunnelEncapSubTLVSRSegmentList)(nil),         // 96: apipb.TunnelEncapSubTLVSRSegmentList
  9144  	(*TunnelEncapSubTLVEgressEndpoint)(nil),        // 97: apipb.TunnelEncapSubTLVEgressEndpoint
  9145  	(*TunnelEncapSubTLVUDPDestPort)(nil),           // 98: apipb.TunnelEncapSubTLVUDPDestPort
  9146  	(*TunnelEncapSubTLVUnknown)(nil),               // 99: apipb.TunnelEncapSubTLVUnknown
  9147  	(*TunnelEncapTLV)(nil),                         // 100: apipb.TunnelEncapTLV
  9148  	(*TunnelEncapAttribute)(nil),                   // 101: apipb.TunnelEncapAttribute
  9149  	(*IPv6AddressSpecificExtended)(nil),            // 102: apipb.IPv6AddressSpecificExtended
  9150  	(*RedirectIPv6AddressSpecificExtended)(nil),    // 103: apipb.RedirectIPv6AddressSpecificExtended
  9151  	(*IP6ExtendedCommunitiesAttribute)(nil),        // 104: apipb.IP6ExtendedCommunitiesAttribute
  9152  	(*AigpTLVIGPMetric)(nil),                       // 105: apipb.AigpTLVIGPMetric
  9153  	(*AigpTLVUnknown)(nil),                         // 106: apipb.AigpTLVUnknown
  9154  	(*AigpAttribute)(nil),                          // 107: apipb.AigpAttribute
  9155  	(*LargeCommunity)(nil),                         // 108: apipb.LargeCommunity
  9156  	(*LargeCommunitiesAttribute)(nil),              // 109: apipb.LargeCommunitiesAttribute
  9157  	(*LsNodeFlags)(nil),                            // 110: apipb.LsNodeFlags
  9158  	(*LsIGPFlags)(nil),                             // 111: apipb.LsIGPFlags
  9159  	(*LsSrRange)(nil),                              // 112: apipb.LsSrRange
  9160  	(*LsSrCapabilities)(nil),                       // 113: apipb.LsSrCapabilities
  9161  	(*LsSrLocalBlock)(nil),                         // 114: apipb.LsSrLocalBlock
  9162  	(*LsAttributeNode)(nil),                        // 115: apipb.LsAttributeNode
  9163  	(*LsAttributeLink)(nil),                        // 116: apipb.LsAttributeLink
  9164  	(*LsAttributePrefix)(nil),                      // 117: apipb.LsAttributePrefix
  9165  	(*LsBgpPeerSegmentSIDFlags)(nil),               // 118: apipb.LsBgpPeerSegmentSIDFlags
  9166  	(*LsBgpPeerSegmentSID)(nil),                    // 119: apipb.LsBgpPeerSegmentSID
  9167  	(*LsAttributeBgpPeerSegment)(nil),              // 120: apipb.LsAttributeBgpPeerSegment
  9168  	(*LsAttribute)(nil),                            // 121: apipb.LsAttribute
  9169  	(*UnknownAttribute)(nil),                       // 122: apipb.UnknownAttribute
  9170  	(*SRv6StructureSubSubTLV)(nil),                 // 123: apipb.SRv6StructureSubSubTLV
  9171  	(*SRv6SIDFlags)(nil),                           // 124: apipb.SRv6SIDFlags
  9172  	(*SRv6TLV)(nil),                                // 125: apipb.SRv6TLV
  9173  	(*SRv6InformationSubTLV)(nil),                  // 126: apipb.SRv6InformationSubTLV
  9174  	(*SRv6L3ServiceTLV)(nil),                       // 127: apipb.SRv6L3ServiceTLV
  9175  	(*SRv6L2ServiceTLV)(nil),                       // 128: apipb.SRv6L2ServiceTLV
  9176  	(*PrefixSID)(nil),                              // 129: apipb.PrefixSID
  9177  	nil,                                            // 130: apipb.SRv6InformationSubTLV.SubSubTlvsEntry
  9178  	nil,                                            // 131: apipb.SRv6L3ServiceTLV.SubTlvsEntry
  9179  	nil,                                            // 132: apipb.SRv6L2ServiceTLV.SubTlvsEntry
  9180  	(*anypb.Any)(nil),                              // 133: google.protobuf.Any
  9181  	(*Family)(nil),                                 // 134: apipb.Family
  9182  }
  9183  var file_attribute_proto_depIdxs = []int32{
  9184  	5,   // 0: apipb.AsSegment.type:type_name -> apipb.AsSegment.Type
  9185  	7,   // 1: apipb.AsPathAttribute.segments:type_name -> apipb.AsSegment
  9186  	133, // 2: apipb.VPLSNLRI.rd:type_name -> google.protobuf.Any
  9187  	133, // 3: apipb.EVPNEthernetAutoDiscoveryRoute.rd:type_name -> google.protobuf.Any
  9188  	23,  // 4: apipb.EVPNEthernetAutoDiscoveryRoute.esi:type_name -> apipb.EthernetSegmentIdentifier
  9189  	133, // 5: apipb.EVPNMACIPAdvertisementRoute.rd:type_name -> google.protobuf.Any
  9190  	23,  // 6: apipb.EVPNMACIPAdvertisementRoute.esi:type_name -> apipb.EthernetSegmentIdentifier
  9191  	133, // 7: apipb.EVPNInclusiveMulticastEthernetTagRoute.rd:type_name -> google.protobuf.Any
  9192  	133, // 8: apipb.EVPNEthernetSegmentRoute.rd:type_name -> google.protobuf.Any
  9193  	23,  // 9: apipb.EVPNEthernetSegmentRoute.esi:type_name -> apipb.EthernetSegmentIdentifier
  9194  	133, // 10: apipb.EVPNIPPrefixRoute.rd:type_name -> google.protobuf.Any
  9195  	23,  // 11: apipb.EVPNIPPrefixRoute.esi:type_name -> apipb.EthernetSegmentIdentifier
  9196  	133, // 12: apipb.EVPNIPMSIRoute.rd:type_name -> google.protobuf.Any
  9197  	133, // 13: apipb.EVPNIPMSIRoute.rt:type_name -> google.protobuf.Any
  9198  	133, // 14: apipb.LabeledVPNIPAddressPrefix.rd:type_name -> google.protobuf.Any
  9199  	133, // 15: apipb.RouteTargetMembershipNLRI.rt:type_name -> google.protobuf.Any
  9200  	36,  // 16: apipb.FlowSpecComponent.items:type_name -> apipb.FlowSpecComponentItem
  9201  	133, // 17: apipb.FlowSpecNLRI.rules:type_name -> google.protobuf.Any
  9202  	133, // 18: apipb.VPNFlowSpecNLRI.rd:type_name -> google.protobuf.Any
  9203  	133, // 19: apipb.VPNFlowSpecNLRI.rules:type_name -> google.protobuf.Any
  9204  	0,   // 20: apipb.LsPrefixDescriptor.ospf_route_type:type_name -> apipb.LsOspfRouteType
  9205  	41,  // 21: apipb.LsNodeNLRI.local_node:type_name -> apipb.LsNodeDescriptor
  9206  	41,  // 22: apipb.LsLinkNLRI.local_node:type_name -> apipb.LsNodeDescriptor
  9207  	41,  // 23: apipb.LsLinkNLRI.remote_node:type_name -> apipb.LsNodeDescriptor
  9208  	42,  // 24: apipb.LsLinkNLRI.link_descriptor:type_name -> apipb.LsLinkDescriptor
  9209  	41,  // 25: apipb.LsPrefixV4NLRI.local_node:type_name -> apipb.LsNodeDescriptor
  9210  	43,  // 26: apipb.LsPrefixV4NLRI.prefix_descriptor:type_name -> apipb.LsPrefixDescriptor
  9211  	41,  // 27: apipb.LsPrefixV6NLRI.local_node:type_name -> apipb.LsNodeDescriptor
  9212  	43,  // 28: apipb.LsPrefixV6NLRI.prefix_descriptor:type_name -> apipb.LsPrefixDescriptor
  9213  	1,   // 29: apipb.LsAddrPrefix.type:type_name -> apipb.LsNLRIType
  9214  	133, // 30: apipb.LsAddrPrefix.nlri:type_name -> google.protobuf.Any
  9215  	2,   // 31: apipb.LsAddrPrefix.protocol_id:type_name -> apipb.LsProtocolID
  9216  	133, // 32: apipb.MUPInterworkSegmentDiscoveryRoute.rd:type_name -> google.protobuf.Any
  9217  	133, // 33: apipb.MUPDirectSegmentDiscoveryRoute.rd:type_name -> google.protobuf.Any
  9218  	133, // 34: apipb.MUPType1SessionTransformedRoute.rd:type_name -> google.protobuf.Any
  9219  	133, // 35: apipb.MUPType2SessionTransformedRoute.rd:type_name -> google.protobuf.Any
  9220  	134, // 36: apipb.MpReachNLRIAttribute.family:type_name -> apipb.Family
  9221  	133, // 37: apipb.MpReachNLRIAttribute.nlris:type_name -> google.protobuf.Any
  9222  	134, // 38: apipb.MpUnreachNLRIAttribute.family:type_name -> apipb.Family
  9223  	133, // 39: apipb.MpUnreachNLRIAttribute.nlris:type_name -> google.protobuf.Any
  9224  	133, // 40: apipb.ExtendedCommunitiesAttribute.communities:type_name -> google.protobuf.Any
  9225  	7,   // 41: apipb.As4PathAttribute.segments:type_name -> apipb.AsSegment
  9226  	133, // 42: apipb.TunnelEncapSubTLVSRBindingSID.bsid:type_name -> google.protobuf.Any
  9227  	3,   // 43: apipb.SRv6EndPointBehavior.behavior:type_name -> apipb.SRv6Behavior
  9228  	89,  // 44: apipb.SRv6BindingSID.endpoint_behavior_structure:type_name -> apipb.SRv6EndPointBehavior
  9229  	4,   // 45: apipb.TunnelEncapSubTLVSRENLP.enlp:type_name -> apipb.ENLPType
  9230  	93,  // 46: apipb.SegmentTypeA.flags:type_name -> apipb.SegmentFlags
  9231  	93,  // 47: apipb.SegmentTypeB.flags:type_name -> apipb.SegmentFlags
  9232  	89,  // 48: apipb.SegmentTypeB.endpoint_behavior_structure:type_name -> apipb.SRv6EndPointBehavior
  9233  	92,  // 49: apipb.TunnelEncapSubTLVSRSegmentList.weight:type_name -> apipb.SRWeight
  9234  	133, // 50: apipb.TunnelEncapSubTLVSRSegmentList.segments:type_name -> google.protobuf.Any
  9235  	133, // 51: apipb.TunnelEncapTLV.tlvs:type_name -> google.protobuf.Any
  9236  	100, // 52: apipb.TunnelEncapAttribute.tlvs:type_name -> apipb.TunnelEncapTLV
  9237  	133, // 53: apipb.IP6ExtendedCommunitiesAttribute.communities:type_name -> google.protobuf.Any
  9238  	133, // 54: apipb.AigpAttribute.tlvs:type_name -> google.protobuf.Any
  9239  	108, // 55: apipb.LargeCommunitiesAttribute.communities:type_name -> apipb.LargeCommunity
  9240  	112, // 56: apipb.LsSrCapabilities.ranges:type_name -> apipb.LsSrRange
  9241  	112, // 57: apipb.LsSrLocalBlock.ranges:type_name -> apipb.LsSrRange
  9242  	110, // 58: apipb.LsAttributeNode.flags:type_name -> apipb.LsNodeFlags
  9243  	113, // 59: apipb.LsAttributeNode.sr_capabilities:type_name -> apipb.LsSrCapabilities
  9244  	114, // 60: apipb.LsAttributeNode.sr_local_block:type_name -> apipb.LsSrLocalBlock
  9245  	111, // 61: apipb.LsAttributePrefix.igp_flags:type_name -> apipb.LsIGPFlags
  9246  	118, // 62: apipb.LsBgpPeerSegmentSID.flags:type_name -> apipb.LsBgpPeerSegmentSIDFlags
  9247  	119, // 63: apipb.LsAttributeBgpPeerSegment.bgp_peer_node_sid:type_name -> apipb.LsBgpPeerSegmentSID
  9248  	119, // 64: apipb.LsAttributeBgpPeerSegment.bgp_peer_adjacency_sid:type_name -> apipb.LsBgpPeerSegmentSID
  9249  	119, // 65: apipb.LsAttributeBgpPeerSegment.bgp_peer_set_sid:type_name -> apipb.LsBgpPeerSegmentSID
  9250  	115, // 66: apipb.LsAttribute.node:type_name -> apipb.LsAttributeNode
  9251  	116, // 67: apipb.LsAttribute.link:type_name -> apipb.LsAttributeLink
  9252  	117, // 68: apipb.LsAttribute.prefix:type_name -> apipb.LsAttributePrefix
  9253  	120, // 69: apipb.LsAttribute.bgp_peer_segment:type_name -> apipb.LsAttributeBgpPeerSegment
  9254  	133, // 70: apipb.SRv6TLV.tlv:type_name -> google.protobuf.Any
  9255  	124, // 71: apipb.SRv6InformationSubTLV.flags:type_name -> apipb.SRv6SIDFlags
  9256  	130, // 72: apipb.SRv6InformationSubTLV.sub_sub_tlvs:type_name -> apipb.SRv6InformationSubTLV.SubSubTlvsEntry
  9257  	131, // 73: apipb.SRv6L3ServiceTLV.sub_tlvs:type_name -> apipb.SRv6L3ServiceTLV.SubTlvsEntry
  9258  	132, // 74: apipb.SRv6L2ServiceTLV.sub_tlvs:type_name -> apipb.SRv6L2ServiceTLV.SubTlvsEntry
  9259  	133, // 75: apipb.PrefixSID.tlvs:type_name -> google.protobuf.Any
  9260  	125, // 76: apipb.SRv6InformationSubTLV.SubSubTlvsEntry.value:type_name -> apipb.SRv6TLV
  9261  	125, // 77: apipb.SRv6L3ServiceTLV.SubTlvsEntry.value:type_name -> apipb.SRv6TLV
  9262  	125, // 78: apipb.SRv6L2ServiceTLV.SubTlvsEntry.value:type_name -> apipb.SRv6TLV
  9263  	79,  // [79:79] is the sub-list for method output_type
  9264  	79,  // [79:79] is the sub-list for method input_type
  9265  	79,  // [79:79] is the sub-list for extension type_name
  9266  	79,  // [79:79] is the sub-list for extension extendee
  9267  	0,   // [0:79] is the sub-list for field type_name
  9268  }
  9269  
  9270  func init() { file_attribute_proto_init() }
  9271  func file_attribute_proto_init() {
  9272  	if File_attribute_proto != nil {
  9273  		return
  9274  	}
  9275  	file_gobgp_proto_init()
  9276  	if !protoimpl.UnsafeEnabled {
  9277  		file_attribute_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  9278  			switch v := v.(*OriginAttribute); i {
  9279  			case 0:
  9280  				return &v.state
  9281  			case 1:
  9282  				return &v.sizeCache
  9283  			case 2:
  9284  				return &v.unknownFields
  9285  			default:
  9286  				return nil
  9287  			}
  9288  		}
  9289  		file_attribute_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  9290  			switch v := v.(*AsSegment); i {
  9291  			case 0:
  9292  				return &v.state
  9293  			case 1:
  9294  				return &v.sizeCache
  9295  			case 2:
  9296  				return &v.unknownFields
  9297  			default:
  9298  				return nil
  9299  			}
  9300  		}
  9301  		file_attribute_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  9302  			switch v := v.(*AsPathAttribute); i {
  9303  			case 0:
  9304  				return &v.state
  9305  			case 1:
  9306  				return &v.sizeCache
  9307  			case 2:
  9308  				return &v.unknownFields
  9309  			default:
  9310  				return nil
  9311  			}
  9312  		}
  9313  		file_attribute_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  9314  			switch v := v.(*NextHopAttribute); i {
  9315  			case 0:
  9316  				return &v.state
  9317  			case 1:
  9318  				return &v.sizeCache
  9319  			case 2:
  9320  				return &v.unknownFields
  9321  			default:
  9322  				return nil
  9323  			}
  9324  		}
  9325  		file_attribute_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  9326  			switch v := v.(*MultiExitDiscAttribute); i {
  9327  			case 0:
  9328  				return &v.state
  9329  			case 1:
  9330  				return &v.sizeCache
  9331  			case 2:
  9332  				return &v.unknownFields
  9333  			default:
  9334  				return nil
  9335  			}
  9336  		}
  9337  		file_attribute_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  9338  			switch v := v.(*LocalPrefAttribute); i {
  9339  			case 0:
  9340  				return &v.state
  9341  			case 1:
  9342  				return &v.sizeCache
  9343  			case 2:
  9344  				return &v.unknownFields
  9345  			default:
  9346  				return nil
  9347  			}
  9348  		}
  9349  		file_attribute_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  9350  			switch v := v.(*AtomicAggregateAttribute); i {
  9351  			case 0:
  9352  				return &v.state
  9353  			case 1:
  9354  				return &v.sizeCache
  9355  			case 2:
  9356  				return &v.unknownFields
  9357  			default:
  9358  				return nil
  9359  			}
  9360  		}
  9361  		file_attribute_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  9362  			switch v := v.(*AggregatorAttribute); i {
  9363  			case 0:
  9364  				return &v.state
  9365  			case 1:
  9366  				return &v.sizeCache
  9367  			case 2:
  9368  				return &v.unknownFields
  9369  			default:
  9370  				return nil
  9371  			}
  9372  		}
  9373  		file_attribute_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  9374  			switch v := v.(*CommunitiesAttribute); i {
  9375  			case 0:
  9376  				return &v.state
  9377  			case 1:
  9378  				return &v.sizeCache
  9379  			case 2:
  9380  				return &v.unknownFields
  9381  			default:
  9382  				return nil
  9383  			}
  9384  		}
  9385  		file_attribute_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  9386  			switch v := v.(*OriginatorIdAttribute); i {
  9387  			case 0:
  9388  				return &v.state
  9389  			case 1:
  9390  				return &v.sizeCache
  9391  			case 2:
  9392  				return &v.unknownFields
  9393  			default:
  9394  				return nil
  9395  			}
  9396  		}
  9397  		file_attribute_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  9398  			switch v := v.(*ClusterListAttribute); i {
  9399  			case 0:
  9400  				return &v.state
  9401  			case 1:
  9402  				return &v.sizeCache
  9403  			case 2:
  9404  				return &v.unknownFields
  9405  			default:
  9406  				return nil
  9407  			}
  9408  		}
  9409  		file_attribute_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  9410  			switch v := v.(*IPAddressPrefix); i {
  9411  			case 0:
  9412  				return &v.state
  9413  			case 1:
  9414  				return &v.sizeCache
  9415  			case 2:
  9416  				return &v.unknownFields
  9417  			default:
  9418  				return nil
  9419  			}
  9420  		}
  9421  		file_attribute_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  9422  			switch v := v.(*LabeledIPAddressPrefix); i {
  9423  			case 0:
  9424  				return &v.state
  9425  			case 1:
  9426  				return &v.sizeCache
  9427  			case 2:
  9428  				return &v.unknownFields
  9429  			default:
  9430  				return nil
  9431  			}
  9432  		}
  9433  		file_attribute_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  9434  			switch v := v.(*EncapsulationNLRI); i {
  9435  			case 0:
  9436  				return &v.state
  9437  			case 1:
  9438  				return &v.sizeCache
  9439  			case 2:
  9440  				return &v.unknownFields
  9441  			default:
  9442  				return nil
  9443  			}
  9444  		}
  9445  		file_attribute_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  9446  			switch v := v.(*RouteDistinguisherTwoOctetASN); i {
  9447  			case 0:
  9448  				return &v.state
  9449  			case 1:
  9450  				return &v.sizeCache
  9451  			case 2:
  9452  				return &v.unknownFields
  9453  			default:
  9454  				return nil
  9455  			}
  9456  		}
  9457  		file_attribute_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  9458  			switch v := v.(*RouteDistinguisherIPAddress); i {
  9459  			case 0:
  9460  				return &v.state
  9461  			case 1:
  9462  				return &v.sizeCache
  9463  			case 2:
  9464  				return &v.unknownFields
  9465  			default:
  9466  				return nil
  9467  			}
  9468  		}
  9469  		file_attribute_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  9470  			switch v := v.(*RouteDistinguisherFourOctetASN); i {
  9471  			case 0:
  9472  				return &v.state
  9473  			case 1:
  9474  				return &v.sizeCache
  9475  			case 2:
  9476  				return &v.unknownFields
  9477  			default:
  9478  				return nil
  9479  			}
  9480  		}
  9481  		file_attribute_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  9482  			switch v := v.(*EthernetSegmentIdentifier); i {
  9483  			case 0:
  9484  				return &v.state
  9485  			case 1:
  9486  				return &v.sizeCache
  9487  			case 2:
  9488  				return &v.unknownFields
  9489  			default:
  9490  				return nil
  9491  			}
  9492  		}
  9493  		file_attribute_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  9494  			switch v := v.(*VPLSNLRI); i {
  9495  			case 0:
  9496  				return &v.state
  9497  			case 1:
  9498  				return &v.sizeCache
  9499  			case 2:
  9500  				return &v.unknownFields
  9501  			default:
  9502  				return nil
  9503  			}
  9504  		}
  9505  		file_attribute_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  9506  			switch v := v.(*EVPNEthernetAutoDiscoveryRoute); i {
  9507  			case 0:
  9508  				return &v.state
  9509  			case 1:
  9510  				return &v.sizeCache
  9511  			case 2:
  9512  				return &v.unknownFields
  9513  			default:
  9514  				return nil
  9515  			}
  9516  		}
  9517  		file_attribute_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  9518  			switch v := v.(*EVPNMACIPAdvertisementRoute); i {
  9519  			case 0:
  9520  				return &v.state
  9521  			case 1:
  9522  				return &v.sizeCache
  9523  			case 2:
  9524  				return &v.unknownFields
  9525  			default:
  9526  				return nil
  9527  			}
  9528  		}
  9529  		file_attribute_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  9530  			switch v := v.(*EVPNInclusiveMulticastEthernetTagRoute); i {
  9531  			case 0:
  9532  				return &v.state
  9533  			case 1:
  9534  				return &v.sizeCache
  9535  			case 2:
  9536  				return &v.unknownFields
  9537  			default:
  9538  				return nil
  9539  			}
  9540  		}
  9541  		file_attribute_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  9542  			switch v := v.(*EVPNEthernetSegmentRoute); i {
  9543  			case 0:
  9544  				return &v.state
  9545  			case 1:
  9546  				return &v.sizeCache
  9547  			case 2:
  9548  				return &v.unknownFields
  9549  			default:
  9550  				return nil
  9551  			}
  9552  		}
  9553  		file_attribute_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  9554  			switch v := v.(*EVPNIPPrefixRoute); i {
  9555  			case 0:
  9556  				return &v.state
  9557  			case 1:
  9558  				return &v.sizeCache
  9559  			case 2:
  9560  				return &v.unknownFields
  9561  			default:
  9562  				return nil
  9563  			}
  9564  		}
  9565  		file_attribute_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  9566  			switch v := v.(*EVPNIPMSIRoute); i {
  9567  			case 0:
  9568  				return &v.state
  9569  			case 1:
  9570  				return &v.sizeCache
  9571  			case 2:
  9572  				return &v.unknownFields
  9573  			default:
  9574  				return nil
  9575  			}
  9576  		}
  9577  		file_attribute_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  9578  			switch v := v.(*SRPolicyNLRI); i {
  9579  			case 0:
  9580  				return &v.state
  9581  			case 1:
  9582  				return &v.sizeCache
  9583  			case 2:
  9584  				return &v.unknownFields
  9585  			default:
  9586  				return nil
  9587  			}
  9588  		}
  9589  		file_attribute_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  9590  			switch v := v.(*LabeledVPNIPAddressPrefix); i {
  9591  			case 0:
  9592  				return &v.state
  9593  			case 1:
  9594  				return &v.sizeCache
  9595  			case 2:
  9596  				return &v.unknownFields
  9597  			default:
  9598  				return nil
  9599  			}
  9600  		}
  9601  		file_attribute_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  9602  			switch v := v.(*RouteTargetMembershipNLRI); i {
  9603  			case 0:
  9604  				return &v.state
  9605  			case 1:
  9606  				return &v.sizeCache
  9607  			case 2:
  9608  				return &v.unknownFields
  9609  			default:
  9610  				return nil
  9611  			}
  9612  		}
  9613  		file_attribute_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  9614  			switch v := v.(*FlowSpecIPPrefix); i {
  9615  			case 0:
  9616  				return &v.state
  9617  			case 1:
  9618  				return &v.sizeCache
  9619  			case 2:
  9620  				return &v.unknownFields
  9621  			default:
  9622  				return nil
  9623  			}
  9624  		}
  9625  		file_attribute_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
  9626  			switch v := v.(*FlowSpecMAC); i {
  9627  			case 0:
  9628  				return &v.state
  9629  			case 1:
  9630  				return &v.sizeCache
  9631  			case 2:
  9632  				return &v.unknownFields
  9633  			default:
  9634  				return nil
  9635  			}
  9636  		}
  9637  		file_attribute_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
  9638  			switch v := v.(*FlowSpecComponentItem); i {
  9639  			case 0:
  9640  				return &v.state
  9641  			case 1:
  9642  				return &v.sizeCache
  9643  			case 2:
  9644  				return &v.unknownFields
  9645  			default:
  9646  				return nil
  9647  			}
  9648  		}
  9649  		file_attribute_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
  9650  			switch v := v.(*FlowSpecComponent); i {
  9651  			case 0:
  9652  				return &v.state
  9653  			case 1:
  9654  				return &v.sizeCache
  9655  			case 2:
  9656  				return &v.unknownFields
  9657  			default:
  9658  				return nil
  9659  			}
  9660  		}
  9661  		file_attribute_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
  9662  			switch v := v.(*FlowSpecNLRI); i {
  9663  			case 0:
  9664  				return &v.state
  9665  			case 1:
  9666  				return &v.sizeCache
  9667  			case 2:
  9668  				return &v.unknownFields
  9669  			default:
  9670  				return nil
  9671  			}
  9672  		}
  9673  		file_attribute_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
  9674  			switch v := v.(*VPNFlowSpecNLRI); i {
  9675  			case 0:
  9676  				return &v.state
  9677  			case 1:
  9678  				return &v.sizeCache
  9679  			case 2:
  9680  				return &v.unknownFields
  9681  			default:
  9682  				return nil
  9683  			}
  9684  		}
  9685  		file_attribute_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
  9686  			switch v := v.(*OpaqueNLRI); i {
  9687  			case 0:
  9688  				return &v.state
  9689  			case 1:
  9690  				return &v.sizeCache
  9691  			case 2:
  9692  				return &v.unknownFields
  9693  			default:
  9694  				return nil
  9695  			}
  9696  		}
  9697  		file_attribute_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
  9698  			switch v := v.(*LsNodeDescriptor); i {
  9699  			case 0:
  9700  				return &v.state
  9701  			case 1:
  9702  				return &v.sizeCache
  9703  			case 2:
  9704  				return &v.unknownFields
  9705  			default:
  9706  				return nil
  9707  			}
  9708  		}
  9709  		file_attribute_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
  9710  			switch v := v.(*LsLinkDescriptor); i {
  9711  			case 0:
  9712  				return &v.state
  9713  			case 1:
  9714  				return &v.sizeCache
  9715  			case 2:
  9716  				return &v.unknownFields
  9717  			default:
  9718  				return nil
  9719  			}
  9720  		}
  9721  		file_attribute_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
  9722  			switch v := v.(*LsPrefixDescriptor); i {
  9723  			case 0:
  9724  				return &v.state
  9725  			case 1:
  9726  				return &v.sizeCache
  9727  			case 2:
  9728  				return &v.unknownFields
  9729  			default:
  9730  				return nil
  9731  			}
  9732  		}
  9733  		file_attribute_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
  9734  			switch v := v.(*LsNodeNLRI); i {
  9735  			case 0:
  9736  				return &v.state
  9737  			case 1:
  9738  				return &v.sizeCache
  9739  			case 2:
  9740  				return &v.unknownFields
  9741  			default:
  9742  				return nil
  9743  			}
  9744  		}
  9745  		file_attribute_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
  9746  			switch v := v.(*LsLinkNLRI); i {
  9747  			case 0:
  9748  				return &v.state
  9749  			case 1:
  9750  				return &v.sizeCache
  9751  			case 2:
  9752  				return &v.unknownFields
  9753  			default:
  9754  				return nil
  9755  			}
  9756  		}
  9757  		file_attribute_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
  9758  			switch v := v.(*LsPrefixV4NLRI); i {
  9759  			case 0:
  9760  				return &v.state
  9761  			case 1:
  9762  				return &v.sizeCache
  9763  			case 2:
  9764  				return &v.unknownFields
  9765  			default:
  9766  				return nil
  9767  			}
  9768  		}
  9769  		file_attribute_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
  9770  			switch v := v.(*LsPrefixV6NLRI); i {
  9771  			case 0:
  9772  				return &v.state
  9773  			case 1:
  9774  				return &v.sizeCache
  9775  			case 2:
  9776  				return &v.unknownFields
  9777  			default:
  9778  				return nil
  9779  			}
  9780  		}
  9781  		file_attribute_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
  9782  			switch v := v.(*LsAddrPrefix); i {
  9783  			case 0:
  9784  				return &v.state
  9785  			case 1:
  9786  				return &v.sizeCache
  9787  			case 2:
  9788  				return &v.unknownFields
  9789  			default:
  9790  				return nil
  9791  			}
  9792  		}
  9793  		file_attribute_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
  9794  			switch v := v.(*MUPInterworkSegmentDiscoveryRoute); i {
  9795  			case 0:
  9796  				return &v.state
  9797  			case 1:
  9798  				return &v.sizeCache
  9799  			case 2:
  9800  				return &v.unknownFields
  9801  			default:
  9802  				return nil
  9803  			}
  9804  		}
  9805  		file_attribute_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
  9806  			switch v := v.(*MUPDirectSegmentDiscoveryRoute); i {
  9807  			case 0:
  9808  				return &v.state
  9809  			case 1:
  9810  				return &v.sizeCache
  9811  			case 2:
  9812  				return &v.unknownFields
  9813  			default:
  9814  				return nil
  9815  			}
  9816  		}
  9817  		file_attribute_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
  9818  			switch v := v.(*MUPType1SessionTransformedRoute); i {
  9819  			case 0:
  9820  				return &v.state
  9821  			case 1:
  9822  				return &v.sizeCache
  9823  			case 2:
  9824  				return &v.unknownFields
  9825  			default:
  9826  				return nil
  9827  			}
  9828  		}
  9829  		file_attribute_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
  9830  			switch v := v.(*MUPType2SessionTransformedRoute); i {
  9831  			case 0:
  9832  				return &v.state
  9833  			case 1:
  9834  				return &v.sizeCache
  9835  			case 2:
  9836  				return &v.unknownFields
  9837  			default:
  9838  				return nil
  9839  			}
  9840  		}
  9841  		file_attribute_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
  9842  			switch v := v.(*MpReachNLRIAttribute); i {
  9843  			case 0:
  9844  				return &v.state
  9845  			case 1:
  9846  				return &v.sizeCache
  9847  			case 2:
  9848  				return &v.unknownFields
  9849  			default:
  9850  				return nil
  9851  			}
  9852  		}
  9853  		file_attribute_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
  9854  			switch v := v.(*MpUnreachNLRIAttribute); i {
  9855  			case 0:
  9856  				return &v.state
  9857  			case 1:
  9858  				return &v.sizeCache
  9859  			case 2:
  9860  				return &v.unknownFields
  9861  			default:
  9862  				return nil
  9863  			}
  9864  		}
  9865  		file_attribute_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
  9866  			switch v := v.(*TwoOctetAsSpecificExtended); i {
  9867  			case 0:
  9868  				return &v.state
  9869  			case 1:
  9870  				return &v.sizeCache
  9871  			case 2:
  9872  				return &v.unknownFields
  9873  			default:
  9874  				return nil
  9875  			}
  9876  		}
  9877  		file_attribute_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
  9878  			switch v := v.(*IPv4AddressSpecificExtended); i {
  9879  			case 0:
  9880  				return &v.state
  9881  			case 1:
  9882  				return &v.sizeCache
  9883  			case 2:
  9884  				return &v.unknownFields
  9885  			default:
  9886  				return nil
  9887  			}
  9888  		}
  9889  		file_attribute_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
  9890  			switch v := v.(*FourOctetAsSpecificExtended); i {
  9891  			case 0:
  9892  				return &v.state
  9893  			case 1:
  9894  				return &v.sizeCache
  9895  			case 2:
  9896  				return &v.unknownFields
  9897  			default:
  9898  				return nil
  9899  			}
  9900  		}
  9901  		file_attribute_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
  9902  			switch v := v.(*LinkBandwidthExtended); i {
  9903  			case 0:
  9904  				return &v.state
  9905  			case 1:
  9906  				return &v.sizeCache
  9907  			case 2:
  9908  				return &v.unknownFields
  9909  			default:
  9910  				return nil
  9911  			}
  9912  		}
  9913  		file_attribute_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
  9914  			switch v := v.(*ValidationExtended); i {
  9915  			case 0:
  9916  				return &v.state
  9917  			case 1:
  9918  				return &v.sizeCache
  9919  			case 2:
  9920  				return &v.unknownFields
  9921  			default:
  9922  				return nil
  9923  			}
  9924  		}
  9925  		file_attribute_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
  9926  			switch v := v.(*ColorExtended); i {
  9927  			case 0:
  9928  				return &v.state
  9929  			case 1:
  9930  				return &v.sizeCache
  9931  			case 2:
  9932  				return &v.unknownFields
  9933  			default:
  9934  				return nil
  9935  			}
  9936  		}
  9937  		file_attribute_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
  9938  			switch v := v.(*EncapExtended); i {
  9939  			case 0:
  9940  				return &v.state
  9941  			case 1:
  9942  				return &v.sizeCache
  9943  			case 2:
  9944  				return &v.unknownFields
  9945  			default:
  9946  				return nil
  9947  			}
  9948  		}
  9949  		file_attribute_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
  9950  			switch v := v.(*DefaultGatewayExtended); i {
  9951  			case 0:
  9952  				return &v.state
  9953  			case 1:
  9954  				return &v.sizeCache
  9955  			case 2:
  9956  				return &v.unknownFields
  9957  			default:
  9958  				return nil
  9959  			}
  9960  		}
  9961  		file_attribute_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
  9962  			switch v := v.(*OpaqueExtended); i {
  9963  			case 0:
  9964  				return &v.state
  9965  			case 1:
  9966  				return &v.sizeCache
  9967  			case 2:
  9968  				return &v.unknownFields
  9969  			default:
  9970  				return nil
  9971  			}
  9972  		}
  9973  		file_attribute_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
  9974  			switch v := v.(*ESILabelExtended); i {
  9975  			case 0:
  9976  				return &v.state
  9977  			case 1:
  9978  				return &v.sizeCache
  9979  			case 2:
  9980  				return &v.unknownFields
  9981  			default:
  9982  				return nil
  9983  			}
  9984  		}
  9985  		file_attribute_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
  9986  			switch v := v.(*ESImportRouteTarget); i {
  9987  			case 0:
  9988  				return &v.state
  9989  			case 1:
  9990  				return &v.sizeCache
  9991  			case 2:
  9992  				return &v.unknownFields
  9993  			default:
  9994  				return nil
  9995  			}
  9996  		}
  9997  		file_attribute_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
  9998  			switch v := v.(*MacMobilityExtended); i {
  9999  			case 0:
 10000  				return &v.state
 10001  			case 1:
 10002  				return &v.sizeCache
 10003  			case 2:
 10004  				return &v.unknownFields
 10005  			default:
 10006  				return nil
 10007  			}
 10008  		}
 10009  		file_attribute_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
 10010  			switch v := v.(*RouterMacExtended); i {
 10011  			case 0:
 10012  				return &v.state
 10013  			case 1:
 10014  				return &v.sizeCache
 10015  			case 2:
 10016  				return &v.unknownFields
 10017  			default:
 10018  				return nil
 10019  			}
 10020  		}
 10021  		file_attribute_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
 10022  			switch v := v.(*TrafficRateExtended); i {
 10023  			case 0:
 10024  				return &v.state
 10025  			case 1:
 10026  				return &v.sizeCache
 10027  			case 2:
 10028  				return &v.unknownFields
 10029  			default:
 10030  				return nil
 10031  			}
 10032  		}
 10033  		file_attribute_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
 10034  			switch v := v.(*TrafficActionExtended); i {
 10035  			case 0:
 10036  				return &v.state
 10037  			case 1:
 10038  				return &v.sizeCache
 10039  			case 2:
 10040  				return &v.unknownFields
 10041  			default:
 10042  				return nil
 10043  			}
 10044  		}
 10045  		file_attribute_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
 10046  			switch v := v.(*RedirectTwoOctetAsSpecificExtended); i {
 10047  			case 0:
 10048  				return &v.state
 10049  			case 1:
 10050  				return &v.sizeCache
 10051  			case 2:
 10052  				return &v.unknownFields
 10053  			default:
 10054  				return nil
 10055  			}
 10056  		}
 10057  		file_attribute_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
 10058  			switch v := v.(*RedirectIPv4AddressSpecificExtended); i {
 10059  			case 0:
 10060  				return &v.state
 10061  			case 1:
 10062  				return &v.sizeCache
 10063  			case 2:
 10064  				return &v.unknownFields
 10065  			default:
 10066  				return nil
 10067  			}
 10068  		}
 10069  		file_attribute_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
 10070  			switch v := v.(*RedirectFourOctetAsSpecificExtended); i {
 10071  			case 0:
 10072  				return &v.state
 10073  			case 1:
 10074  				return &v.sizeCache
 10075  			case 2:
 10076  				return &v.unknownFields
 10077  			default:
 10078  				return nil
 10079  			}
 10080  		}
 10081  		file_attribute_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
 10082  			switch v := v.(*TrafficRemarkExtended); i {
 10083  			case 0:
 10084  				return &v.state
 10085  			case 1:
 10086  				return &v.sizeCache
 10087  			case 2:
 10088  				return &v.unknownFields
 10089  			default:
 10090  				return nil
 10091  			}
 10092  		}
 10093  		file_attribute_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
 10094  			switch v := v.(*MUPExtended); i {
 10095  			case 0:
 10096  				return &v.state
 10097  			case 1:
 10098  				return &v.sizeCache
 10099  			case 2:
 10100  				return &v.unknownFields
 10101  			default:
 10102  				return nil
 10103  			}
 10104  		}
 10105  		file_attribute_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
 10106  			switch v := v.(*VPLSExtended); i {
 10107  			case 0:
 10108  				return &v.state
 10109  			case 1:
 10110  				return &v.sizeCache
 10111  			case 2:
 10112  				return &v.unknownFields
 10113  			default:
 10114  				return nil
 10115  			}
 10116  		}
 10117  		file_attribute_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
 10118  			switch v := v.(*UnknownExtended); i {
 10119  			case 0:
 10120  				return &v.state
 10121  			case 1:
 10122  				return &v.sizeCache
 10123  			case 2:
 10124  				return &v.unknownFields
 10125  			default:
 10126  				return nil
 10127  			}
 10128  		}
 10129  		file_attribute_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
 10130  			switch v := v.(*ExtendedCommunitiesAttribute); i {
 10131  			case 0:
 10132  				return &v.state
 10133  			case 1:
 10134  				return &v.sizeCache
 10135  			case 2:
 10136  				return &v.unknownFields
 10137  			default:
 10138  				return nil
 10139  			}
 10140  		}
 10141  		file_attribute_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
 10142  			switch v := v.(*As4PathAttribute); i {
 10143  			case 0:
 10144  				return &v.state
 10145  			case 1:
 10146  				return &v.sizeCache
 10147  			case 2:
 10148  				return &v.unknownFields
 10149  			default:
 10150  				return nil
 10151  			}
 10152  		}
 10153  		file_attribute_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
 10154  			switch v := v.(*As4AggregatorAttribute); i {
 10155  			case 0:
 10156  				return &v.state
 10157  			case 1:
 10158  				return &v.sizeCache
 10159  			case 2:
 10160  				return &v.unknownFields
 10161  			default:
 10162  				return nil
 10163  			}
 10164  		}
 10165  		file_attribute_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
 10166  			switch v := v.(*PmsiTunnelAttribute); i {
 10167  			case 0:
 10168  				return &v.state
 10169  			case 1:
 10170  				return &v.sizeCache
 10171  			case 2:
 10172  				return &v.unknownFields
 10173  			default:
 10174  				return nil
 10175  			}
 10176  		}
 10177  		file_attribute_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
 10178  			switch v := v.(*TunnelEncapSubTLVEncapsulation); i {
 10179  			case 0:
 10180  				return &v.state
 10181  			case 1:
 10182  				return &v.sizeCache
 10183  			case 2:
 10184  				return &v.unknownFields
 10185  			default:
 10186  				return nil
 10187  			}
 10188  		}
 10189  		file_attribute_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
 10190  			switch v := v.(*TunnelEncapSubTLVProtocol); i {
 10191  			case 0:
 10192  				return &v.state
 10193  			case 1:
 10194  				return &v.sizeCache
 10195  			case 2:
 10196  				return &v.unknownFields
 10197  			default:
 10198  				return nil
 10199  			}
 10200  		}
 10201  		file_attribute_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
 10202  			switch v := v.(*TunnelEncapSubTLVColor); i {
 10203  			case 0:
 10204  				return &v.state
 10205  			case 1:
 10206  				return &v.sizeCache
 10207  			case 2:
 10208  				return &v.unknownFields
 10209  			default:
 10210  				return nil
 10211  			}
 10212  		}
 10213  		file_attribute_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
 10214  			switch v := v.(*TunnelEncapSubTLVSRPreference); i {
 10215  			case 0:
 10216  				return &v.state
 10217  			case 1:
 10218  				return &v.sizeCache
 10219  			case 2:
 10220  				return &v.unknownFields
 10221  			default:
 10222  				return nil
 10223  			}
 10224  		}
 10225  		file_attribute_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
 10226  			switch v := v.(*TunnelEncapSubTLVSRCandidatePathName); i {
 10227  			case 0:
 10228  				return &v.state
 10229  			case 1:
 10230  				return &v.sizeCache
 10231  			case 2:
 10232  				return &v.unknownFields
 10233  			default:
 10234  				return nil
 10235  			}
 10236  		}
 10237  		file_attribute_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
 10238  			switch v := v.(*TunnelEncapSubTLVSRPriority); i {
 10239  			case 0:
 10240  				return &v.state
 10241  			case 1:
 10242  				return &v.sizeCache
 10243  			case 2:
 10244  				return &v.unknownFields
 10245  			default:
 10246  				return nil
 10247  			}
 10248  		}
 10249  		file_attribute_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
 10250  			switch v := v.(*TunnelEncapSubTLVSRBindingSID); i {
 10251  			case 0:
 10252  				return &v.state
 10253  			case 1:
 10254  				return &v.sizeCache
 10255  			case 2:
 10256  				return &v.unknownFields
 10257  			default:
 10258  				return nil
 10259  			}
 10260  		}
 10261  		file_attribute_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} {
 10262  			switch v := v.(*SRBindingSID); i {
 10263  			case 0:
 10264  				return &v.state
 10265  			case 1:
 10266  				return &v.sizeCache
 10267  			case 2:
 10268  				return &v.unknownFields
 10269  			default:
 10270  				return nil
 10271  			}
 10272  		}
 10273  		file_attribute_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} {
 10274  			switch v := v.(*SRv6EndPointBehavior); i {
 10275  			case 0:
 10276  				return &v.state
 10277  			case 1:
 10278  				return &v.sizeCache
 10279  			case 2:
 10280  				return &v.unknownFields
 10281  			default:
 10282  				return nil
 10283  			}
 10284  		}
 10285  		file_attribute_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} {
 10286  			switch v := v.(*SRv6BindingSID); i {
 10287  			case 0:
 10288  				return &v.state
 10289  			case 1:
 10290  				return &v.sizeCache
 10291  			case 2:
 10292  				return &v.unknownFields
 10293  			default:
 10294  				return nil
 10295  			}
 10296  		}
 10297  		file_attribute_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} {
 10298  			switch v := v.(*TunnelEncapSubTLVSRENLP); i {
 10299  			case 0:
 10300  				return &v.state
 10301  			case 1:
 10302  				return &v.sizeCache
 10303  			case 2:
 10304  				return &v.unknownFields
 10305  			default:
 10306  				return nil
 10307  			}
 10308  		}
 10309  		file_attribute_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} {
 10310  			switch v := v.(*SRWeight); i {
 10311  			case 0:
 10312  				return &v.state
 10313  			case 1:
 10314  				return &v.sizeCache
 10315  			case 2:
 10316  				return &v.unknownFields
 10317  			default:
 10318  				return nil
 10319  			}
 10320  		}
 10321  		file_attribute_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} {
 10322  			switch v := v.(*SegmentFlags); i {
 10323  			case 0:
 10324  				return &v.state
 10325  			case 1:
 10326  				return &v.sizeCache
 10327  			case 2:
 10328  				return &v.unknownFields
 10329  			default:
 10330  				return nil
 10331  			}
 10332  		}
 10333  		file_attribute_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} {
 10334  			switch v := v.(*SegmentTypeA); i {
 10335  			case 0:
 10336  				return &v.state
 10337  			case 1:
 10338  				return &v.sizeCache
 10339  			case 2:
 10340  				return &v.unknownFields
 10341  			default:
 10342  				return nil
 10343  			}
 10344  		}
 10345  		file_attribute_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} {
 10346  			switch v := v.(*SegmentTypeB); i {
 10347  			case 0:
 10348  				return &v.state
 10349  			case 1:
 10350  				return &v.sizeCache
 10351  			case 2:
 10352  				return &v.unknownFields
 10353  			default:
 10354  				return nil
 10355  			}
 10356  		}
 10357  		file_attribute_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} {
 10358  			switch v := v.(*TunnelEncapSubTLVSRSegmentList); i {
 10359  			case 0:
 10360  				return &v.state
 10361  			case 1:
 10362  				return &v.sizeCache
 10363  			case 2:
 10364  				return &v.unknownFields
 10365  			default:
 10366  				return nil
 10367  			}
 10368  		}
 10369  		file_attribute_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} {
 10370  			switch v := v.(*TunnelEncapSubTLVEgressEndpoint); i {
 10371  			case 0:
 10372  				return &v.state
 10373  			case 1:
 10374  				return &v.sizeCache
 10375  			case 2:
 10376  				return &v.unknownFields
 10377  			default:
 10378  				return nil
 10379  			}
 10380  		}
 10381  		file_attribute_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} {
 10382  			switch v := v.(*TunnelEncapSubTLVUDPDestPort); i {
 10383  			case 0:
 10384  				return &v.state
 10385  			case 1:
 10386  				return &v.sizeCache
 10387  			case 2:
 10388  				return &v.unknownFields
 10389  			default:
 10390  				return nil
 10391  			}
 10392  		}
 10393  		file_attribute_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} {
 10394  			switch v := v.(*TunnelEncapSubTLVUnknown); i {
 10395  			case 0:
 10396  				return &v.state
 10397  			case 1:
 10398  				return &v.sizeCache
 10399  			case 2:
 10400  				return &v.unknownFields
 10401  			default:
 10402  				return nil
 10403  			}
 10404  		}
 10405  		file_attribute_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} {
 10406  			switch v := v.(*TunnelEncapTLV); i {
 10407  			case 0:
 10408  				return &v.state
 10409  			case 1:
 10410  				return &v.sizeCache
 10411  			case 2:
 10412  				return &v.unknownFields
 10413  			default:
 10414  				return nil
 10415  			}
 10416  		}
 10417  		file_attribute_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} {
 10418  			switch v := v.(*TunnelEncapAttribute); i {
 10419  			case 0:
 10420  				return &v.state
 10421  			case 1:
 10422  				return &v.sizeCache
 10423  			case 2:
 10424  				return &v.unknownFields
 10425  			default:
 10426  				return nil
 10427  			}
 10428  		}
 10429  		file_attribute_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} {
 10430  			switch v := v.(*IPv6AddressSpecificExtended); i {
 10431  			case 0:
 10432  				return &v.state
 10433  			case 1:
 10434  				return &v.sizeCache
 10435  			case 2:
 10436  				return &v.unknownFields
 10437  			default:
 10438  				return nil
 10439  			}
 10440  		}
 10441  		file_attribute_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} {
 10442  			switch v := v.(*RedirectIPv6AddressSpecificExtended); i {
 10443  			case 0:
 10444  				return &v.state
 10445  			case 1:
 10446  				return &v.sizeCache
 10447  			case 2:
 10448  				return &v.unknownFields
 10449  			default:
 10450  				return nil
 10451  			}
 10452  		}
 10453  		file_attribute_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} {
 10454  			switch v := v.(*IP6ExtendedCommunitiesAttribute); i {
 10455  			case 0:
 10456  				return &v.state
 10457  			case 1:
 10458  				return &v.sizeCache
 10459  			case 2:
 10460  				return &v.unknownFields
 10461  			default:
 10462  				return nil
 10463  			}
 10464  		}
 10465  		file_attribute_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} {
 10466  			switch v := v.(*AigpTLVIGPMetric); i {
 10467  			case 0:
 10468  				return &v.state
 10469  			case 1:
 10470  				return &v.sizeCache
 10471  			case 2:
 10472  				return &v.unknownFields
 10473  			default:
 10474  				return nil
 10475  			}
 10476  		}
 10477  		file_attribute_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} {
 10478  			switch v := v.(*AigpTLVUnknown); i {
 10479  			case 0:
 10480  				return &v.state
 10481  			case 1:
 10482  				return &v.sizeCache
 10483  			case 2:
 10484  				return &v.unknownFields
 10485  			default:
 10486  				return nil
 10487  			}
 10488  		}
 10489  		file_attribute_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} {
 10490  			switch v := v.(*AigpAttribute); i {
 10491  			case 0:
 10492  				return &v.state
 10493  			case 1:
 10494  				return &v.sizeCache
 10495  			case 2:
 10496  				return &v.unknownFields
 10497  			default:
 10498  				return nil
 10499  			}
 10500  		}
 10501  		file_attribute_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} {
 10502  			switch v := v.(*LargeCommunity); i {
 10503  			case 0:
 10504  				return &v.state
 10505  			case 1:
 10506  				return &v.sizeCache
 10507  			case 2:
 10508  				return &v.unknownFields
 10509  			default:
 10510  				return nil
 10511  			}
 10512  		}
 10513  		file_attribute_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} {
 10514  			switch v := v.(*LargeCommunitiesAttribute); i {
 10515  			case 0:
 10516  				return &v.state
 10517  			case 1:
 10518  				return &v.sizeCache
 10519  			case 2:
 10520  				return &v.unknownFields
 10521  			default:
 10522  				return nil
 10523  			}
 10524  		}
 10525  		file_attribute_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} {
 10526  			switch v := v.(*LsNodeFlags); i {
 10527  			case 0:
 10528  				return &v.state
 10529  			case 1:
 10530  				return &v.sizeCache
 10531  			case 2:
 10532  				return &v.unknownFields
 10533  			default:
 10534  				return nil
 10535  			}
 10536  		}
 10537  		file_attribute_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} {
 10538  			switch v := v.(*LsIGPFlags); i {
 10539  			case 0:
 10540  				return &v.state
 10541  			case 1:
 10542  				return &v.sizeCache
 10543  			case 2:
 10544  				return &v.unknownFields
 10545  			default:
 10546  				return nil
 10547  			}
 10548  		}
 10549  		file_attribute_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} {
 10550  			switch v := v.(*LsSrRange); i {
 10551  			case 0:
 10552  				return &v.state
 10553  			case 1:
 10554  				return &v.sizeCache
 10555  			case 2:
 10556  				return &v.unknownFields
 10557  			default:
 10558  				return nil
 10559  			}
 10560  		}
 10561  		file_attribute_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} {
 10562  			switch v := v.(*LsSrCapabilities); i {
 10563  			case 0:
 10564  				return &v.state
 10565  			case 1:
 10566  				return &v.sizeCache
 10567  			case 2:
 10568  				return &v.unknownFields
 10569  			default:
 10570  				return nil
 10571  			}
 10572  		}
 10573  		file_attribute_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} {
 10574  			switch v := v.(*LsSrLocalBlock); i {
 10575  			case 0:
 10576  				return &v.state
 10577  			case 1:
 10578  				return &v.sizeCache
 10579  			case 2:
 10580  				return &v.unknownFields
 10581  			default:
 10582  				return nil
 10583  			}
 10584  		}
 10585  		file_attribute_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} {
 10586  			switch v := v.(*LsAttributeNode); i {
 10587  			case 0:
 10588  				return &v.state
 10589  			case 1:
 10590  				return &v.sizeCache
 10591  			case 2:
 10592  				return &v.unknownFields
 10593  			default:
 10594  				return nil
 10595  			}
 10596  		}
 10597  		file_attribute_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} {
 10598  			switch v := v.(*LsAttributeLink); i {
 10599  			case 0:
 10600  				return &v.state
 10601  			case 1:
 10602  				return &v.sizeCache
 10603  			case 2:
 10604  				return &v.unknownFields
 10605  			default:
 10606  				return nil
 10607  			}
 10608  		}
 10609  		file_attribute_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} {
 10610  			switch v := v.(*LsAttributePrefix); i {
 10611  			case 0:
 10612  				return &v.state
 10613  			case 1:
 10614  				return &v.sizeCache
 10615  			case 2:
 10616  				return &v.unknownFields
 10617  			default:
 10618  				return nil
 10619  			}
 10620  		}
 10621  		file_attribute_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} {
 10622  			switch v := v.(*LsBgpPeerSegmentSIDFlags); i {
 10623  			case 0:
 10624  				return &v.state
 10625  			case 1:
 10626  				return &v.sizeCache
 10627  			case 2:
 10628  				return &v.unknownFields
 10629  			default:
 10630  				return nil
 10631  			}
 10632  		}
 10633  		file_attribute_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} {
 10634  			switch v := v.(*LsBgpPeerSegmentSID); i {
 10635  			case 0:
 10636  				return &v.state
 10637  			case 1:
 10638  				return &v.sizeCache
 10639  			case 2:
 10640  				return &v.unknownFields
 10641  			default:
 10642  				return nil
 10643  			}
 10644  		}
 10645  		file_attribute_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} {
 10646  			switch v := v.(*LsAttributeBgpPeerSegment); i {
 10647  			case 0:
 10648  				return &v.state
 10649  			case 1:
 10650  				return &v.sizeCache
 10651  			case 2:
 10652  				return &v.unknownFields
 10653  			default:
 10654  				return nil
 10655  			}
 10656  		}
 10657  		file_attribute_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} {
 10658  			switch v := v.(*LsAttribute); i {
 10659  			case 0:
 10660  				return &v.state
 10661  			case 1:
 10662  				return &v.sizeCache
 10663  			case 2:
 10664  				return &v.unknownFields
 10665  			default:
 10666  				return nil
 10667  			}
 10668  		}
 10669  		file_attribute_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} {
 10670  			switch v := v.(*UnknownAttribute); i {
 10671  			case 0:
 10672  				return &v.state
 10673  			case 1:
 10674  				return &v.sizeCache
 10675  			case 2:
 10676  				return &v.unknownFields
 10677  			default:
 10678  				return nil
 10679  			}
 10680  		}
 10681  		file_attribute_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} {
 10682  			switch v := v.(*SRv6StructureSubSubTLV); i {
 10683  			case 0:
 10684  				return &v.state
 10685  			case 1:
 10686  				return &v.sizeCache
 10687  			case 2:
 10688  				return &v.unknownFields
 10689  			default:
 10690  				return nil
 10691  			}
 10692  		}
 10693  		file_attribute_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} {
 10694  			switch v := v.(*SRv6SIDFlags); i {
 10695  			case 0:
 10696  				return &v.state
 10697  			case 1:
 10698  				return &v.sizeCache
 10699  			case 2:
 10700  				return &v.unknownFields
 10701  			default:
 10702  				return nil
 10703  			}
 10704  		}
 10705  		file_attribute_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} {
 10706  			switch v := v.(*SRv6TLV); i {
 10707  			case 0:
 10708  				return &v.state
 10709  			case 1:
 10710  				return &v.sizeCache
 10711  			case 2:
 10712  				return &v.unknownFields
 10713  			default:
 10714  				return nil
 10715  			}
 10716  		}
 10717  		file_attribute_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} {
 10718  			switch v := v.(*SRv6InformationSubTLV); i {
 10719  			case 0:
 10720  				return &v.state
 10721  			case 1:
 10722  				return &v.sizeCache
 10723  			case 2:
 10724  				return &v.unknownFields
 10725  			default:
 10726  				return nil
 10727  			}
 10728  		}
 10729  		file_attribute_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} {
 10730  			switch v := v.(*SRv6L3ServiceTLV); i {
 10731  			case 0:
 10732  				return &v.state
 10733  			case 1:
 10734  				return &v.sizeCache
 10735  			case 2:
 10736  				return &v.unknownFields
 10737  			default:
 10738  				return nil
 10739  			}
 10740  		}
 10741  		file_attribute_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} {
 10742  			switch v := v.(*SRv6L2ServiceTLV); i {
 10743  			case 0:
 10744  				return &v.state
 10745  			case 1:
 10746  				return &v.sizeCache
 10747  			case 2:
 10748  				return &v.unknownFields
 10749  			default:
 10750  				return nil
 10751  			}
 10752  		}
 10753  		file_attribute_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} {
 10754  			switch v := v.(*PrefixSID); i {
 10755  			case 0:
 10756  				return &v.state
 10757  			case 1:
 10758  				return &v.sizeCache
 10759  			case 2:
 10760  				return &v.unknownFields
 10761  			default:
 10762  				return nil
 10763  			}
 10764  		}
 10765  	}
 10766  	type x struct{}
 10767  	out := protoimpl.TypeBuilder{
 10768  		File: protoimpl.DescBuilder{
 10769  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 10770  			RawDescriptor: file_attribute_proto_rawDesc,
 10771  			NumEnums:      6,
 10772  			NumMessages:   127,
 10773  			NumExtensions: 0,
 10774  			NumServices:   0,
 10775  		},
 10776  		GoTypes:           file_attribute_proto_goTypes,
 10777  		DependencyIndexes: file_attribute_proto_depIdxs,
 10778  		EnumInfos:         file_attribute_proto_enumTypes,
 10779  		MessageInfos:      file_attribute_proto_msgTypes,
 10780  	}.Build()
 10781  	File_attribute_proto = out.File
 10782  	file_attribute_proto_rawDesc = nil
 10783  	file_attribute_proto_goTypes = nil
 10784  	file_attribute_proto_depIdxs = nil
 10785  }