// Code generated by protoc-gen-go. DO NOT EDIT. // source: attribute.proto /* Package gobgpapi is a generated protocol buffer package. It is generated from these files: attribute.proto capability.proto gobgp.proto It has these top-level messages: OriginAttribute AsSegment AsPathAttribute NextHopAttribute MultiExitDiscAttribute LocalPrefAttribute AtomicAggregateAttribute AggregatorAttribute CommunitiesAttribute OriginatorIdAttribute ClusterListAttribute IPAddressPrefix LabeledIPAddressPrefix EncapsulationNLRI RouteDistinguisherTwoOctetAS RouteDistinguisherIPAddress RouteDistinguisherFourOctetAS EthernetSegmentIdentifier EVPNEthernetAutoDiscoveryRoute EVPNMACIPAdvertisementRoute EVPNInclusiveMulticastEthernetTagRoute EVPNEthernetSegmentRoute EVPNIPPrefixRoute EVPNIPMSIRoute LabeledVPNIPAddressPrefix RouteTargetMembershipNLRI FlowSpecIPPrefix FlowSpecMAC FlowSpecComponentItem FlowSpecComponent FlowSpecNLRI VPNFlowSpecNLRI OpaqueNLRI LsNodeDescriptor LsLinkDescriptor LsPrefixDescriptor LsNodeNLRI LsLinkNLRI LsPrefixV4NLRI LsPrefixV6NLRI LsAddrPrefix MpReachNLRIAttribute MpUnreachNLRIAttribute TwoOctetAsSpecificExtended IPv4AddressSpecificExtended FourOctetAsSpecificExtended ValidationExtended ColorExtended EncapExtended DefaultGatewayExtended OpaqueExtended ESILabelExtended ESImportRouteTarget MacMobilityExtended RouterMacExtended TrafficRateExtended TrafficActionExtended RedirectTwoOctetAsSpecificExtended RedirectIPv4AddressSpecificExtended RedirectFourOctetAsSpecificExtended TrafficRemarkExtended UnknownExtended ExtendedCommunitiesAttribute As4PathAttribute As4AggregatorAttribute PmsiTunnelAttribute TunnelEncapSubTLVEncapsulation TunnelEncapSubTLVProtocol TunnelEncapSubTLVColor TunnelEncapSubTLVUnknown TunnelEncapTLV TunnelEncapAttribute IPv6AddressSpecificExtended RedirectIPv6AddressSpecificExtended IP6ExtendedCommunitiesAttribute AigpTLVIGPMetric AigpTLVUnknown AigpAttribute LargeCommunity LargeCommunitiesAttribute LsNodeFlags LsIGPFlags LsSrRange LsSrCapabilities LsSrLocalBlock LsAttributeNode LsAttributeLink LsAttributePrefix LsAttribute UnknownAttribute SRv6StructureSubSubTLV SRv6SIDFlags SRv6TLV SRv6InformationSubTLV SRv6L3ServiceTLV PrefixSID MultiProtocolCapability RouteRefreshCapability CarryingLabelInfoCapability ExtendedNexthopCapabilityTuple ExtendedNexthopCapability GracefulRestartCapabilityTuple GracefulRestartCapability FourOctetASNumberCapability AddPathCapabilityTuple AddPathCapability EnhancedRouteRefreshCapability LongLivedGracefulRestartCapabilityTuple LongLivedGracefulRestartCapability RouteRefreshCiscoCapability UnknownCapability StartBgpRequest StopBgpRequest GetBgpRequest GetBgpResponse AddPeerRequest DeletePeerRequest ListPeerRequest ListPeerResponse UpdatePeerRequest UpdatePeerResponse ResetPeerRequest ShutdownPeerRequest EnablePeerRequest DisablePeerRequest MonitorPeerRequest MonitorPeerResponse AddPeerGroupRequest DeletePeerGroupRequest UpdatePeerGroupRequest UpdatePeerGroupResponse AddDynamicNeighborRequest AddPathRequest AddPathResponse DeletePathRequest ListPathRequest ListPathResponse AddPathStreamRequest GetTableRequest GetTableResponse MonitorTableRequest MonitorTableResponse AddVrfRequest DeleteVrfRequest ListVrfRequest ListVrfResponse AddPolicyRequest DeletePolicyRequest ListPolicyRequest ListPolicyResponse SetPoliciesRequest AddDefinedSetRequest DeleteDefinedSetRequest ListDefinedSetRequest ListDefinedSetResponse AddStatementRequest DeleteStatementRequest ListStatementRequest ListStatementResponse AddPolicyAssignmentRequest DeletePolicyAssignmentRequest ListPolicyAssignmentRequest ListPolicyAssignmentResponse SetPolicyAssignmentRequest AddRpkiRequest DeleteRpkiRequest ListRpkiRequest ListRpkiResponse EnableRpkiRequest DisableRpkiRequest ResetRpkiRequest ListRpkiTableRequest ListRpkiTableResponse EnableZebraRequest EnableMrtRequest DisableMrtRequest AddBmpRequest DeleteBmpRequest Family Validation Path Destination TableLookupPrefix Peer PeerGroup DynamicNeighbor ApplyPolicy PrefixLimit PeerConf PeerGroupConf PeerGroupState EbgpMultihop RouteReflector PeerState Messages Message Queues Timers TimersConfig TimersState Transport RouteServer GracefulRestart MpGracefulRestartConfig MpGracefulRestartState MpGracefulRestart AfiSafiConfig AfiSafiState RouteSelectionOptionsConfig RouteSelectionOptionsState RouteSelectionOptions UseMultiplePathsConfig UseMultiplePathsState EbgpConfig EbgpState Ebgp IbgpConfig IbgpState Ibgp UseMultiplePaths RouteTargetMembershipConfig RouteTargetMembershipState RouteTargetMembership LongLivedGracefulRestartConfig LongLivedGracefulRestartState LongLivedGracefulRestart AfiSafi AddPathsConfig AddPathsState AddPaths Prefix DefinedSet MatchSet AsPathLength Conditions CommunityAction MedAction AsPrependAction NexthopAction LocalPrefAction Actions Statement Policy PolicyAssignment RoutingPolicy Roa Vrf DefaultRouteDistance Global Confederation RPKIConf RPKIState Rpki SetLogLevelRequest */ package gobgpapi import proto "github.com/golang/protobuf/proto" import fmt "fmt" import math "math" import google_protobuf "github.com/golang/protobuf/ptypes/any" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. // A compilation error at this line likely means your copy of the // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package // Based om RFC 7752, Table 1. type LsNLRIType int32 const ( LsNLRIType_LS_NLRI_UNKNOWN LsNLRIType = 0 LsNLRIType_LS_NLRI_NODE LsNLRIType = 1 LsNLRIType_LS_NLRI_LINK LsNLRIType = 2 LsNLRIType_LS_NLRI_PREFIX_V4 LsNLRIType = 3 LsNLRIType_LS_NLRI_PREFIX_V6 LsNLRIType = 4 ) var LsNLRIType_name = map[int32]string{ 0: "LS_NLRI_UNKNOWN", 1: "LS_NLRI_NODE", 2: "LS_NLRI_LINK", 3: "LS_NLRI_PREFIX_V4", 4: "LS_NLRI_PREFIX_V6", } var LsNLRIType_value = map[string]int32{ "LS_NLRI_UNKNOWN": 0, "LS_NLRI_NODE": 1, "LS_NLRI_LINK": 2, "LS_NLRI_PREFIX_V4": 3, "LS_NLRI_PREFIX_V6": 4, } func (x LsNLRIType) String() string { return proto.EnumName(LsNLRIType_name, int32(x)) } func (LsNLRIType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } type OriginAttribute struct { Origin uint32 `protobuf:"varint,1,opt,name=origin" json:"origin,omitempty"` } func (m *OriginAttribute) Reset() { *m = OriginAttribute{} } func (m *OriginAttribute) String() string { return proto.CompactTextString(m) } func (*OriginAttribute) ProtoMessage() {} func (*OriginAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } func (m *OriginAttribute) GetOrigin() uint32 { if m != nil { return m.Origin } return 0 } type AsSegment struct { Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` Numbers []uint32 `protobuf:"varint,2,rep,packed,name=numbers" json:"numbers,omitempty"` } func (m *AsSegment) Reset() { *m = AsSegment{} } func (m *AsSegment) String() string { return proto.CompactTextString(m) } func (*AsSegment) ProtoMessage() {} func (*AsSegment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } func (m *AsSegment) GetType() uint32 { if m != nil { return m.Type } return 0 } func (m *AsSegment) GetNumbers() []uint32 { if m != nil { return m.Numbers } return nil } type AsPathAttribute struct { Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments" json:"segments,omitempty"` } func (m *AsPathAttribute) Reset() { *m = AsPathAttribute{} } func (m *AsPathAttribute) String() string { return proto.CompactTextString(m) } func (*AsPathAttribute) ProtoMessage() {} func (*AsPathAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } func (m *AsPathAttribute) GetSegments() []*AsSegment { if m != nil { return m.Segments } return nil } type NextHopAttribute struct { NextHop string `protobuf:"bytes,1,opt,name=next_hop,json=nextHop" json:"next_hop,omitempty"` } func (m *NextHopAttribute) Reset() { *m = NextHopAttribute{} } func (m *NextHopAttribute) String() string { return proto.CompactTextString(m) } func (*NextHopAttribute) ProtoMessage() {} func (*NextHopAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } func (m *NextHopAttribute) GetNextHop() string { if m != nil { return m.NextHop } return "" } type MultiExitDiscAttribute struct { Med uint32 `protobuf:"varint,1,opt,name=med" json:"med,omitempty"` } func (m *MultiExitDiscAttribute) Reset() { *m = MultiExitDiscAttribute{} } func (m *MultiExitDiscAttribute) String() string { return proto.CompactTextString(m) } func (*MultiExitDiscAttribute) ProtoMessage() {} func (*MultiExitDiscAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } func (m *MultiExitDiscAttribute) GetMed() uint32 { if m != nil { return m.Med } return 0 } type LocalPrefAttribute struct { LocalPref uint32 `protobuf:"varint,1,opt,name=local_pref,json=localPref" json:"local_pref,omitempty"` } func (m *LocalPrefAttribute) Reset() { *m = LocalPrefAttribute{} } func (m *LocalPrefAttribute) String() string { return proto.CompactTextString(m) } func (*LocalPrefAttribute) ProtoMessage() {} func (*LocalPrefAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } func (m *LocalPrefAttribute) GetLocalPref() uint32 { if m != nil { return m.LocalPref } return 0 } type AtomicAggregateAttribute struct { } func (m *AtomicAggregateAttribute) Reset() { *m = AtomicAggregateAttribute{} } func (m *AtomicAggregateAttribute) String() string { return proto.CompactTextString(m) } func (*AtomicAggregateAttribute) ProtoMessage() {} func (*AtomicAggregateAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } type AggregatorAttribute struct { As uint32 `protobuf:"varint,2,opt,name=as" json:"as,omitempty"` Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"` } func (m *AggregatorAttribute) Reset() { *m = AggregatorAttribute{} } func (m *AggregatorAttribute) String() string { return proto.CompactTextString(m) } func (*AggregatorAttribute) ProtoMessage() {} func (*AggregatorAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } func (m *AggregatorAttribute) GetAs() uint32 { if m != nil { return m.As } return 0 } func (m *AggregatorAttribute) GetAddress() string { if m != nil { return m.Address } return "" } type CommunitiesAttribute struct { Communities []uint32 `protobuf:"varint,1,rep,packed,name=communities" json:"communities,omitempty"` } func (m *CommunitiesAttribute) Reset() { *m = CommunitiesAttribute{} } func (m *CommunitiesAttribute) String() string { return proto.CompactTextString(m) } func (*CommunitiesAttribute) ProtoMessage() {} func (*CommunitiesAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } func (m *CommunitiesAttribute) GetCommunities() []uint32 { if m != nil { return m.Communities } return nil } type OriginatorIdAttribute struct { Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` } func (m *OriginatorIdAttribute) Reset() { *m = OriginatorIdAttribute{} } func (m *OriginatorIdAttribute) String() string { return proto.CompactTextString(m) } func (*OriginatorIdAttribute) ProtoMessage() {} func (*OriginatorIdAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } func (m *OriginatorIdAttribute) GetId() string { if m != nil { return m.Id } return "" } type ClusterListAttribute struct { Ids []string `protobuf:"bytes,1,rep,name=ids" json:"ids,omitempty"` } func (m *ClusterListAttribute) Reset() { *m = ClusterListAttribute{} } func (m *ClusterListAttribute) String() string { return proto.CompactTextString(m) } func (*ClusterListAttribute) ProtoMessage() {} func (*ClusterListAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } func (m *ClusterListAttribute) GetIds() []string { if m != nil { return m.Ids } return nil } // IPAddressPrefix represents the NLRI for: // - AFI=1, SAFI=1 // - AFI=2, SAFI=1 type IPAddressPrefix struct { PrefixLen uint32 `protobuf:"varint,1,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"` Prefix string `protobuf:"bytes,2,opt,name=prefix" json:"prefix,omitempty"` } func (m *IPAddressPrefix) Reset() { *m = IPAddressPrefix{} } func (m *IPAddressPrefix) String() string { return proto.CompactTextString(m) } func (*IPAddressPrefix) ProtoMessage() {} func (*IPAddressPrefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } func (m *IPAddressPrefix) GetPrefixLen() uint32 { if m != nil { return m.PrefixLen } return 0 } func (m *IPAddressPrefix) GetPrefix() string { if m != nil { return m.Prefix } return "" } // LabeledIPAddressPrefix represents the NLRI for: // - AFI=1, SAFI=4 // - AFI=2, SAFI=4 type LabeledIPAddressPrefix struct { Labels []uint32 `protobuf:"varint,1,rep,packed,name=labels" json:"labels,omitempty"` PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"` Prefix string `protobuf:"bytes,3,opt,name=prefix" json:"prefix,omitempty"` } func (m *LabeledIPAddressPrefix) Reset() { *m = LabeledIPAddressPrefix{} } func (m *LabeledIPAddressPrefix) String() string { return proto.CompactTextString(m) } func (*LabeledIPAddressPrefix) ProtoMessage() {} func (*LabeledIPAddressPrefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } func (m *LabeledIPAddressPrefix) GetLabels() []uint32 { if m != nil { return m.Labels } return nil } func (m *LabeledIPAddressPrefix) GetPrefixLen() uint32 { if m != nil { return m.PrefixLen } return 0 } func (m *LabeledIPAddressPrefix) GetPrefix() string { if m != nil { return m.Prefix } return "" } // EncapsulationNLRI represents the NLRI for: // - AFI=1, SAFI=7 // - AFI=2, SAFI=7 type EncapsulationNLRI struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` } func (m *EncapsulationNLRI) Reset() { *m = EncapsulationNLRI{} } func (m *EncapsulationNLRI) String() string { return proto.CompactTextString(m) } func (*EncapsulationNLRI) ProtoMessage() {} func (*EncapsulationNLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } func (m *EncapsulationNLRI) GetAddress() string { if m != nil { return m.Address } return "" } type RouteDistinguisherTwoOctetAS struct { Admin uint32 `protobuf:"varint,1,opt,name=admin" json:"admin,omitempty"` Assigned uint32 `protobuf:"varint,2,opt,name=assigned" json:"assigned,omitempty"` } func (m *RouteDistinguisherTwoOctetAS) Reset() { *m = RouteDistinguisherTwoOctetAS{} } func (m *RouteDistinguisherTwoOctetAS) String() string { return proto.CompactTextString(m) } func (*RouteDistinguisherTwoOctetAS) ProtoMessage() {} func (*RouteDistinguisherTwoOctetAS) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } func (m *RouteDistinguisherTwoOctetAS) GetAdmin() uint32 { if m != nil { return m.Admin } return 0 } func (m *RouteDistinguisherTwoOctetAS) GetAssigned() uint32 { if m != nil { return m.Assigned } return 0 } type RouteDistinguisherIPAddress struct { Admin string `protobuf:"bytes,1,opt,name=admin" json:"admin,omitempty"` Assigned uint32 `protobuf:"varint,2,opt,name=assigned" json:"assigned,omitempty"` } func (m *RouteDistinguisherIPAddress) Reset() { *m = RouteDistinguisherIPAddress{} } func (m *RouteDistinguisherIPAddress) String() string { return proto.CompactTextString(m) } func (*RouteDistinguisherIPAddress) ProtoMessage() {} func (*RouteDistinguisherIPAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } func (m *RouteDistinguisherIPAddress) GetAdmin() string { if m != nil { return m.Admin } return "" } func (m *RouteDistinguisherIPAddress) GetAssigned() uint32 { if m != nil { return m.Assigned } return 0 } type RouteDistinguisherFourOctetAS struct { Admin uint32 `protobuf:"varint,1,opt,name=admin" json:"admin,omitempty"` Assigned uint32 `protobuf:"varint,2,opt,name=assigned" json:"assigned,omitempty"` } func (m *RouteDistinguisherFourOctetAS) Reset() { *m = RouteDistinguisherFourOctetAS{} } func (m *RouteDistinguisherFourOctetAS) String() string { return proto.CompactTextString(m) } func (*RouteDistinguisherFourOctetAS) ProtoMessage() {} func (*RouteDistinguisherFourOctetAS) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } func (m *RouteDistinguisherFourOctetAS) GetAdmin() uint32 { if m != nil { return m.Admin } return 0 } func (m *RouteDistinguisherFourOctetAS) GetAssigned() uint32 { if m != nil { return m.Assigned } return 0 } type EthernetSegmentIdentifier struct { Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (m *EthernetSegmentIdentifier) Reset() { *m = EthernetSegmentIdentifier{} } func (m *EthernetSegmentIdentifier) String() string { return proto.CompactTextString(m) } func (*EthernetSegmentIdentifier) ProtoMessage() {} func (*EthernetSegmentIdentifier) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } func (m *EthernetSegmentIdentifier) GetType() uint32 { if m != nil { return m.Type } return 0 } func (m *EthernetSegmentIdentifier) GetValue() []byte { if m != nil { return m.Value } return nil } // EVPNEthernetAutoDiscoveryRoute represents the NLRI for: // - AFI=25, SAFI=70, RouteType=1 type EVPNEthernetAutoDiscoveryRoute struct { // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"` Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi" json:"esi,omitempty"` EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag" json:"ethernet_tag,omitempty"` Label uint32 `protobuf:"varint,4,opt,name=label" json:"label,omitempty"` } func (m *EVPNEthernetAutoDiscoveryRoute) Reset() { *m = EVPNEthernetAutoDiscoveryRoute{} } func (m *EVPNEthernetAutoDiscoveryRoute) String() string { return proto.CompactTextString(m) } func (*EVPNEthernetAutoDiscoveryRoute) ProtoMessage() {} func (*EVPNEthernetAutoDiscoveryRoute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } func (m *EVPNEthernetAutoDiscoveryRoute) GetRd() *google_protobuf.Any { if m != nil { return m.Rd } return nil } func (m *EVPNEthernetAutoDiscoveryRoute) GetEsi() *EthernetSegmentIdentifier { if m != nil { return m.Esi } return nil } func (m *EVPNEthernetAutoDiscoveryRoute) GetEthernetTag() uint32 { if m != nil { return m.EthernetTag } return 0 } func (m *EVPNEthernetAutoDiscoveryRoute) GetLabel() uint32 { if m != nil { return m.Label } return 0 } // EVPNMACIPAdvertisementRoute represents the NLRI for: // - AFI=25, SAFI=70, RouteType=2 type EVPNMACIPAdvertisementRoute struct { // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"` Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi" json:"esi,omitempty"` EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag" json:"ethernet_tag,omitempty"` MacAddress string `protobuf:"bytes,4,opt,name=mac_address,json=macAddress" json:"mac_address,omitempty"` IpAddress string `protobuf:"bytes,5,opt,name=ip_address,json=ipAddress" json:"ip_address,omitempty"` Labels []uint32 `protobuf:"varint,6,rep,packed,name=labels" json:"labels,omitempty"` } func (m *EVPNMACIPAdvertisementRoute) Reset() { *m = EVPNMACIPAdvertisementRoute{} } func (m *EVPNMACIPAdvertisementRoute) String() string { return proto.CompactTextString(m) } func (*EVPNMACIPAdvertisementRoute) ProtoMessage() {} func (*EVPNMACIPAdvertisementRoute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } func (m *EVPNMACIPAdvertisementRoute) GetRd() *google_protobuf.Any { if m != nil { return m.Rd } return nil } func (m *EVPNMACIPAdvertisementRoute) GetEsi() *EthernetSegmentIdentifier { if m != nil { return m.Esi } return nil } func (m *EVPNMACIPAdvertisementRoute) GetEthernetTag() uint32 { if m != nil { return m.EthernetTag } return 0 } func (m *EVPNMACIPAdvertisementRoute) GetMacAddress() string { if m != nil { return m.MacAddress } return "" } func (m *EVPNMACIPAdvertisementRoute) GetIpAddress() string { if m != nil { return m.IpAddress } return "" } func (m *EVPNMACIPAdvertisementRoute) GetLabels() []uint32 { if m != nil { return m.Labels } return nil } // EVPNInclusiveMulticastEthernetTagRoute represents the NLRI for: // - AFI=25, SAFI=70, RouteType=3 type EVPNInclusiveMulticastEthernetTagRoute struct { // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"` EthernetTag uint32 `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag" json:"ethernet_tag,omitempty"` IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress" json:"ip_address,omitempty"` } func (m *EVPNInclusiveMulticastEthernetTagRoute) Reset() { *m = EVPNInclusiveMulticastEthernetTagRoute{} } func (m *EVPNInclusiveMulticastEthernetTagRoute) String() string { return proto.CompactTextString(m) } func (*EVPNInclusiveMulticastEthernetTagRoute) ProtoMessage() {} func (*EVPNInclusiveMulticastEthernetTagRoute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } func (m *EVPNInclusiveMulticastEthernetTagRoute) GetRd() *google_protobuf.Any { if m != nil { return m.Rd } return nil } func (m *EVPNInclusiveMulticastEthernetTagRoute) GetEthernetTag() uint32 { if m != nil { return m.EthernetTag } return 0 } func (m *EVPNInclusiveMulticastEthernetTagRoute) GetIpAddress() string { if m != nil { return m.IpAddress } return "" } // EVPNEthernetSegmentRoute represents the NLRI for: // - AFI=25, SAFI=70, RouteType=4 type EVPNEthernetSegmentRoute struct { // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"` Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi" json:"esi,omitempty"` IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress" json:"ip_address,omitempty"` } func (m *EVPNEthernetSegmentRoute) Reset() { *m = EVPNEthernetSegmentRoute{} } func (m *EVPNEthernetSegmentRoute) String() string { return proto.CompactTextString(m) } func (*EVPNEthernetSegmentRoute) ProtoMessage() {} func (*EVPNEthernetSegmentRoute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } func (m *EVPNEthernetSegmentRoute) GetRd() *google_protobuf.Any { if m != nil { return m.Rd } return nil } func (m *EVPNEthernetSegmentRoute) GetEsi() *EthernetSegmentIdentifier { if m != nil { return m.Esi } return nil } func (m *EVPNEthernetSegmentRoute) GetIpAddress() string { if m != nil { return m.IpAddress } return "" } // EVPNIPPrefixRoute represents the NLRI for: // - AFI=25, SAFI=70, RouteType=5 type EVPNIPPrefixRoute struct { // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"` Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi" json:"esi,omitempty"` EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag" json:"ethernet_tag,omitempty"` IpPrefix string `protobuf:"bytes,4,opt,name=ip_prefix,json=ipPrefix" json:"ip_prefix,omitempty"` IpPrefixLen uint32 `protobuf:"varint,5,opt,name=ip_prefix_len,json=ipPrefixLen" json:"ip_prefix_len,omitempty"` GwAddress string `protobuf:"bytes,6,opt,name=gw_address,json=gwAddress" json:"gw_address,omitempty"` Label uint32 `protobuf:"varint,7,opt,name=label" json:"label,omitempty"` } func (m *EVPNIPPrefixRoute) Reset() { *m = EVPNIPPrefixRoute{} } func (m *EVPNIPPrefixRoute) String() string { return proto.CompactTextString(m) } func (*EVPNIPPrefixRoute) ProtoMessage() {} func (*EVPNIPPrefixRoute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } func (m *EVPNIPPrefixRoute) GetRd() *google_protobuf.Any { if m != nil { return m.Rd } return nil } func (m *EVPNIPPrefixRoute) GetEsi() *EthernetSegmentIdentifier { if m != nil { return m.Esi } return nil } func (m *EVPNIPPrefixRoute) GetEthernetTag() uint32 { if m != nil { return m.EthernetTag } return 0 } func (m *EVPNIPPrefixRoute) GetIpPrefix() string { if m != nil { return m.IpPrefix } return "" } func (m *EVPNIPPrefixRoute) GetIpPrefixLen() uint32 { if m != nil { return m.IpPrefixLen } return 0 } func (m *EVPNIPPrefixRoute) GetGwAddress() string { if m != nil { return m.GwAddress } return "" } func (m *EVPNIPPrefixRoute) GetLabel() uint32 { if m != nil { return m.Label } return 0 } // EVPNIPMSIRoute represents the NLRI for: // - AFI=25, SAFI=70, RouteType=9 type EVPNIPMSIRoute struct { // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"` EthernetTag uint32 `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag" json:"ethernet_tag,omitempty"` Rt *google_protobuf.Any `protobuf:"bytes,3,opt,name=rt" json:"rt,omitempty"` } func (m *EVPNIPMSIRoute) Reset() { *m = EVPNIPMSIRoute{} } func (m *EVPNIPMSIRoute) String() string { return proto.CompactTextString(m) } func (*EVPNIPMSIRoute) ProtoMessage() {} func (*EVPNIPMSIRoute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } func (m *EVPNIPMSIRoute) GetRd() *google_protobuf.Any { if m != nil { return m.Rd } return nil } func (m *EVPNIPMSIRoute) GetEthernetTag() uint32 { if m != nil { return m.EthernetTag } return 0 } func (m *EVPNIPMSIRoute) GetRt() *google_protobuf.Any { if m != nil { return m.Rt } return nil } // LabeledVPNIPAddressPrefix represents the NLRI for: // - AFI=1, SAFI=128 // - AFI=2, SAFI=128 type LabeledVPNIPAddressPrefix struct { Labels []uint32 `protobuf:"varint,1,rep,packed,name=labels" json:"labels,omitempty"` // One of: // - TwoOctetAsSpecificExtended // - IPv4AddressSpecificExtended // - FourOctetAsSpecificExtended Rd *google_protobuf.Any `protobuf:"bytes,2,opt,name=rd" json:"rd,omitempty"` PrefixLen uint32 `protobuf:"varint,3,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"` Prefix string `protobuf:"bytes,4,opt,name=prefix" json:"prefix,omitempty"` } func (m *LabeledVPNIPAddressPrefix) Reset() { *m = LabeledVPNIPAddressPrefix{} } func (m *LabeledVPNIPAddressPrefix) String() string { return proto.CompactTextString(m) } func (*LabeledVPNIPAddressPrefix) ProtoMessage() {} func (*LabeledVPNIPAddressPrefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } func (m *LabeledVPNIPAddressPrefix) GetLabels() []uint32 { if m != nil { return m.Labels } return nil } func (m *LabeledVPNIPAddressPrefix) GetRd() *google_protobuf.Any { if m != nil { return m.Rd } return nil } func (m *LabeledVPNIPAddressPrefix) GetPrefixLen() uint32 { if m != nil { return m.PrefixLen } return 0 } func (m *LabeledVPNIPAddressPrefix) GetPrefix() string { if m != nil { return m.Prefix } return "" } // RouteTargetMembershipNLRI represents the NLRI for: // - AFI=1, SAFI=132 type RouteTargetMembershipNLRI struct { As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"` // One of: // - TwoOctetAsSpecificExtended // - IPv4AddressSpecificExtended // - FourOctetAsSpecificExtended Rt *google_protobuf.Any `protobuf:"bytes,2,opt,name=rt" json:"rt,omitempty"` } func (m *RouteTargetMembershipNLRI) Reset() { *m = RouteTargetMembershipNLRI{} } func (m *RouteTargetMembershipNLRI) String() string { return proto.CompactTextString(m) } func (*RouteTargetMembershipNLRI) ProtoMessage() {} func (*RouteTargetMembershipNLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } func (m *RouteTargetMembershipNLRI) GetAs() uint32 { if m != nil { return m.As } return 0 } func (m *RouteTargetMembershipNLRI) GetRt() *google_protobuf.Any { if m != nil { return m.Rt } return nil } type FlowSpecIPPrefix struct { Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"` Prefix string `protobuf:"bytes,3,opt,name=prefix" json:"prefix,omitempty"` // IPv6 only Offset uint32 `protobuf:"varint,4,opt,name=offset" json:"offset,omitempty"` } func (m *FlowSpecIPPrefix) Reset() { *m = FlowSpecIPPrefix{} } func (m *FlowSpecIPPrefix) String() string { return proto.CompactTextString(m) } func (*FlowSpecIPPrefix) ProtoMessage() {} func (*FlowSpecIPPrefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} } func (m *FlowSpecIPPrefix) GetType() uint32 { if m != nil { return m.Type } return 0 } func (m *FlowSpecIPPrefix) GetPrefixLen() uint32 { if m != nil { return m.PrefixLen } return 0 } func (m *FlowSpecIPPrefix) GetPrefix() string { if m != nil { return m.Prefix } return "" } func (m *FlowSpecIPPrefix) GetOffset() uint32 { if m != nil { return m.Offset } return 0 } type FlowSpecMAC struct { Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"` } func (m *FlowSpecMAC) Reset() { *m = FlowSpecMAC{} } func (m *FlowSpecMAC) String() string { return proto.CompactTextString(m) } func (*FlowSpecMAC) ProtoMessage() {} func (*FlowSpecMAC) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} } func (m *FlowSpecMAC) GetType() uint32 { if m != nil { return m.Type } return 0 } func (m *FlowSpecMAC) GetAddress() string { if m != nil { return m.Address } return "" } type FlowSpecComponentItem struct { // Operator for Numeric type, Operand for Bitmask type Op uint32 `protobuf:"varint,1,opt,name=op" json:"op,omitempty"` Value uint64 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"` } func (m *FlowSpecComponentItem) Reset() { *m = FlowSpecComponentItem{} } func (m *FlowSpecComponentItem) String() string { return proto.CompactTextString(m) } func (*FlowSpecComponentItem) ProtoMessage() {} func (*FlowSpecComponentItem) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} } func (m *FlowSpecComponentItem) GetOp() uint32 { if m != nil { return m.Op } return 0 } func (m *FlowSpecComponentItem) GetValue() uint64 { if m != nil { return m.Value } return 0 } type FlowSpecComponent struct { Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` Items []*FlowSpecComponentItem `protobuf:"bytes,2,rep,name=items" json:"items,omitempty"` } func (m *FlowSpecComponent) Reset() { *m = FlowSpecComponent{} } func (m *FlowSpecComponent) String() string { return proto.CompactTextString(m) } func (*FlowSpecComponent) ProtoMessage() {} func (*FlowSpecComponent) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} } func (m *FlowSpecComponent) GetType() uint32 { if m != nil { return m.Type } return 0 } func (m *FlowSpecComponent) GetItems() []*FlowSpecComponentItem { if m != nil { return m.Items } return nil } // FlowSpecNLRI represents the NLRI for: // - AFI=1, SAFI=133 // - AFI=2, SAFI=133 type FlowSpecNLRI struct { // One of: // - FlowSpecIPPrefix // - FlowSpecMAC // - FlowSpecComponent Rules []*google_protobuf.Any `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"` } func (m *FlowSpecNLRI) Reset() { *m = FlowSpecNLRI{} } func (m *FlowSpecNLRI) String() string { return proto.CompactTextString(m) } func (*FlowSpecNLRI) ProtoMessage() {} func (*FlowSpecNLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} } func (m *FlowSpecNLRI) GetRules() []*google_protobuf.Any { if m != nil { return m.Rules } return nil } // VPNFlowSpecNLRI represents the NLRI for: // - AFI=1, SAFI=134 // - AFI=2, SAFI=134 // - AFI=25, SAFI=134 type VPNFlowSpecNLRI struct { // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"` // One of: // - FlowSpecIPPrefix // - FlowSpecMAC // - FlowSpecComponent Rules []*google_protobuf.Any `protobuf:"bytes,2,rep,name=rules" json:"rules,omitempty"` } func (m *VPNFlowSpecNLRI) Reset() { *m = VPNFlowSpecNLRI{} } func (m *VPNFlowSpecNLRI) String() string { return proto.CompactTextString(m) } func (*VPNFlowSpecNLRI) ProtoMessage() {} func (*VPNFlowSpecNLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} } func (m *VPNFlowSpecNLRI) GetRd() *google_protobuf.Any { if m != nil { return m.Rd } return nil } func (m *VPNFlowSpecNLRI) GetRules() []*google_protobuf.Any { if m != nil { return m.Rules } return nil } // OpaqueNLRI represents the NLRI for: // - AFI=16397, SAFI=241 type OpaqueNLRI struct { Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (m *OpaqueNLRI) Reset() { *m = OpaqueNLRI{} } func (m *OpaqueNLRI) String() string { return proto.CompactTextString(m) } func (*OpaqueNLRI) ProtoMessage() {} func (*OpaqueNLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} } func (m *OpaqueNLRI) GetKey() []byte { if m != nil { return m.Key } return nil } func (m *OpaqueNLRI) GetValue() []byte { if m != nil { return m.Value } return nil } type LsNodeDescriptor struct { Asn uint32 `protobuf:"varint,1,opt,name=asn" json:"asn,omitempty"` BgpLsId uint32 `protobuf:"varint,2,opt,name=bgp_ls_id,json=bgpLsId" json:"bgp_ls_id,omitempty"` OspfAreaId uint32 `protobuf:"varint,3,opt,name=ospf_area_id,json=ospfAreaId" json:"ospf_area_id,omitempty"` Pseudonode bool `protobuf:"varint,4,opt,name=pseudonode" json:"pseudonode,omitempty"` IgpRouterId string `protobuf:"bytes,5,opt,name=igp_router_id,json=igpRouterId" json:"igp_router_id,omitempty"` } func (m *LsNodeDescriptor) Reset() { *m = LsNodeDescriptor{} } func (m *LsNodeDescriptor) String() string { return proto.CompactTextString(m) } func (*LsNodeDescriptor) ProtoMessage() {} func (*LsNodeDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} } func (m *LsNodeDescriptor) GetAsn() uint32 { if m != nil { return m.Asn } return 0 } func (m *LsNodeDescriptor) GetBgpLsId() uint32 { if m != nil { return m.BgpLsId } return 0 } func (m *LsNodeDescriptor) GetOspfAreaId() uint32 { if m != nil { return m.OspfAreaId } return 0 } func (m *LsNodeDescriptor) GetPseudonode() bool { if m != nil { return m.Pseudonode } return false } func (m *LsNodeDescriptor) GetIgpRouterId() string { if m != nil { return m.IgpRouterId } return "" } type LsLinkDescriptor struct { LinkLocalId uint32 `protobuf:"varint,1,opt,name=link_local_id,json=linkLocalId" json:"link_local_id,omitempty"` LinkRemoteId uint32 `protobuf:"varint,2,opt,name=link_remote_id,json=linkRemoteId" json:"link_remote_id,omitempty"` InterfaceAddrIpv4 string `protobuf:"bytes,3,opt,name=interface_addr_ipv4,json=interfaceAddrIpv4" json:"interface_addr_ipv4,omitempty"` NeighborAddrIpv4 string `protobuf:"bytes,4,opt,name=neighbor_addr_ipv4,json=neighborAddrIpv4" json:"neighbor_addr_ipv4,omitempty"` InterfaceAddrIpv6 string `protobuf:"bytes,5,opt,name=interface_addr_ipv6,json=interfaceAddrIpv6" json:"interface_addr_ipv6,omitempty"` NeighborAddrIpv6 string `protobuf:"bytes,6,opt,name=neighbor_addr_ipv6,json=neighborAddrIpv6" json:"neighbor_addr_ipv6,omitempty"` } func (m *LsLinkDescriptor) Reset() { *m = LsLinkDescriptor{} } func (m *LsLinkDescriptor) String() string { return proto.CompactTextString(m) } func (*LsLinkDescriptor) ProtoMessage() {} func (*LsLinkDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} } func (m *LsLinkDescriptor) GetLinkLocalId() uint32 { if m != nil { return m.LinkLocalId } return 0 } func (m *LsLinkDescriptor) GetLinkRemoteId() uint32 { if m != nil { return m.LinkRemoteId } return 0 } func (m *LsLinkDescriptor) GetInterfaceAddrIpv4() string { if m != nil { return m.InterfaceAddrIpv4 } return "" } func (m *LsLinkDescriptor) GetNeighborAddrIpv4() string { if m != nil { return m.NeighborAddrIpv4 } return "" } func (m *LsLinkDescriptor) GetInterfaceAddrIpv6() string { if m != nil { return m.InterfaceAddrIpv6 } return "" } func (m *LsLinkDescriptor) GetNeighborAddrIpv6() string { if m != nil { return m.NeighborAddrIpv6 } return "" } type LsPrefixDescriptor struct { IpReachability []string `protobuf:"bytes,1,rep,name=ip_reachability,json=ipReachability" json:"ip_reachability,omitempty"` OspfRouteType string `protobuf:"bytes,2,opt,name=ospf_route_type,json=ospfRouteType" json:"ospf_route_type,omitempty"` } func (m *LsPrefixDescriptor) Reset() { *m = LsPrefixDescriptor{} } func (m *LsPrefixDescriptor) String() string { return proto.CompactTextString(m) } func (*LsPrefixDescriptor) ProtoMessage() {} func (*LsPrefixDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} } func (m *LsPrefixDescriptor) GetIpReachability() []string { if m != nil { return m.IpReachability } return nil } func (m *LsPrefixDescriptor) GetOspfRouteType() string { if m != nil { return m.OspfRouteType } return "" } type LsNodeNLRI struct { LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode" json:"local_node,omitempty"` } func (m *LsNodeNLRI) Reset() { *m = LsNodeNLRI{} } func (m *LsNodeNLRI) String() string { return proto.CompactTextString(m) } func (*LsNodeNLRI) ProtoMessage() {} func (*LsNodeNLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} } func (m *LsNodeNLRI) GetLocalNode() *LsNodeDescriptor { if m != nil { return m.LocalNode } return nil } type LsLinkNLRI struct { LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode" json:"local_node,omitempty"` RemoteNode *LsNodeDescriptor `protobuf:"bytes,2,opt,name=remote_node,json=remoteNode" json:"remote_node,omitempty"` LinkDescriptor *LsLinkDescriptor `protobuf:"bytes,3,opt,name=link_descriptor,json=linkDescriptor" json:"link_descriptor,omitempty"` } func (m *LsLinkNLRI) Reset() { *m = LsLinkNLRI{} } func (m *LsLinkNLRI) String() string { return proto.CompactTextString(m) } func (*LsLinkNLRI) ProtoMessage() {} func (*LsLinkNLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} } func (m *LsLinkNLRI) GetLocalNode() *LsNodeDescriptor { if m != nil { return m.LocalNode } return nil } func (m *LsLinkNLRI) GetRemoteNode() *LsNodeDescriptor { if m != nil { return m.RemoteNode } return nil } func (m *LsLinkNLRI) GetLinkDescriptor() *LsLinkDescriptor { if m != nil { return m.LinkDescriptor } return nil } type LsPrefixV4NLRI struct { LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode" json:"local_node,omitempty"` PrefixDescriptor *LsPrefixDescriptor `protobuf:"bytes,2,opt,name=prefix_descriptor,json=prefixDescriptor" json:"prefix_descriptor,omitempty"` } func (m *LsPrefixV4NLRI) Reset() { *m = LsPrefixV4NLRI{} } func (m *LsPrefixV4NLRI) String() string { return proto.CompactTextString(m) } func (*LsPrefixV4NLRI) ProtoMessage() {} func (*LsPrefixV4NLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} } func (m *LsPrefixV4NLRI) GetLocalNode() *LsNodeDescriptor { if m != nil { return m.LocalNode } return nil } func (m *LsPrefixV4NLRI) GetPrefixDescriptor() *LsPrefixDescriptor { if m != nil { return m.PrefixDescriptor } return nil } type LsPrefixV6NLRI struct { LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode" json:"local_node,omitempty"` PrefixDescriptor *LsPrefixDescriptor `protobuf:"bytes,2,opt,name=prefix_descriptor,json=prefixDescriptor" json:"prefix_descriptor,omitempty"` } func (m *LsPrefixV6NLRI) Reset() { *m = LsPrefixV6NLRI{} } func (m *LsPrefixV6NLRI) String() string { return proto.CompactTextString(m) } func (*LsPrefixV6NLRI) ProtoMessage() {} func (*LsPrefixV6NLRI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} } func (m *LsPrefixV6NLRI) GetLocalNode() *LsNodeDescriptor { if m != nil { return m.LocalNode } return nil } func (m *LsPrefixV6NLRI) GetPrefixDescriptor() *LsPrefixDescriptor { if m != nil { return m.PrefixDescriptor } return nil } // LsAddrPrefix represents the NLRI for: // - AFI=16388, SAFI=71 type LsAddrPrefix struct { Type LsNLRIType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.LsNLRIType" json:"type,omitempty"` // One of: // - LsNodeNLRI // - LsLinkNLRI // - LsPrefixV4NLRI // - LsPrefixV6NLRI Nlri *google_protobuf.Any `protobuf:"bytes,2,opt,name=nlri" json:"nlri,omitempty"` } func (m *LsAddrPrefix) Reset() { *m = LsAddrPrefix{} } func (m *LsAddrPrefix) String() string { return proto.CompactTextString(m) } func (*LsAddrPrefix) ProtoMessage() {} func (*LsAddrPrefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} } func (m *LsAddrPrefix) GetType() LsNLRIType { if m != nil { return m.Type } return LsNLRIType_LS_NLRI_UNKNOWN } func (m *LsAddrPrefix) GetNlri() *google_protobuf.Any { if m != nil { return m.Nlri } return nil } type MpReachNLRIAttribute struct { Family *Family `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"` NextHops []string `protobuf:"bytes,2,rep,name=next_hops,json=nextHops" json:"next_hops,omitempty"` // Each NLRI must be one of: // - IPAddressPrefix // - LabeledIPAddressPrefix // - EncapsulationNLRI // - EVPNEthernetAutoDiscoveryRoute // - EVPNMACIPAdvertisementRoute // - EVPNInclusiveMulticastEthernetTagRoute // - EVPNEthernetSegmentRoute // - EVPNIPPrefixRoute // - EVPNIPMSIRoute // - LabeledVPNIPAddressPrefix // - RouteTargetMembershipNLRI // - FlowSpecNLRI // - VPNFlowSpecNLRI // - OpaqueNLRI // - LsAddrPrefix Nlris []*google_protobuf.Any `protobuf:"bytes,3,rep,name=nlris" json:"nlris,omitempty"` } func (m *MpReachNLRIAttribute) Reset() { *m = MpReachNLRIAttribute{} } func (m *MpReachNLRIAttribute) String() string { return proto.CompactTextString(m) } func (*MpReachNLRIAttribute) ProtoMessage() {} func (*MpReachNLRIAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} } func (m *MpReachNLRIAttribute) GetFamily() *Family { if m != nil { return m.Family } return nil } func (m *MpReachNLRIAttribute) GetNextHops() []string { if m != nil { return m.NextHops } return nil } func (m *MpReachNLRIAttribute) GetNlris() []*google_protobuf.Any { if m != nil { return m.Nlris } return nil } type MpUnreachNLRIAttribute struct { Family *Family `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"` // The same as NLRI field of MpReachNLRIAttribute Nlris []*google_protobuf.Any `protobuf:"bytes,3,rep,name=nlris" json:"nlris,omitempty"` } func (m *MpUnreachNLRIAttribute) Reset() { *m = MpUnreachNLRIAttribute{} } func (m *MpUnreachNLRIAttribute) String() string { return proto.CompactTextString(m) } func (*MpUnreachNLRIAttribute) ProtoMessage() {} func (*MpUnreachNLRIAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} } func (m *MpUnreachNLRIAttribute) GetFamily() *Family { if m != nil { return m.Family } return nil } func (m *MpUnreachNLRIAttribute) GetNlris() []*google_protobuf.Any { if m != nil { return m.Nlris } return nil } type TwoOctetAsSpecificExtended struct { IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"` SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType" json:"sub_type,omitempty"` As uint32 `protobuf:"varint,3,opt,name=as" json:"as,omitempty"` LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` } func (m *TwoOctetAsSpecificExtended) Reset() { *m = TwoOctetAsSpecificExtended{} } func (m *TwoOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) } func (*TwoOctetAsSpecificExtended) ProtoMessage() {} func (*TwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} } func (m *TwoOctetAsSpecificExtended) GetIsTransitive() bool { if m != nil { return m.IsTransitive } return false } func (m *TwoOctetAsSpecificExtended) GetSubType() uint32 { if m != nil { return m.SubType } return 0 } func (m *TwoOctetAsSpecificExtended) GetAs() uint32 { if m != nil { return m.As } return 0 } func (m *TwoOctetAsSpecificExtended) GetLocalAdmin() uint32 { if m != nil { return m.LocalAdmin } return 0 } type IPv4AddressSpecificExtended struct { IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"` SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType" json:"sub_type,omitempty"` Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"` LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` } func (m *IPv4AddressSpecificExtended) Reset() { *m = IPv4AddressSpecificExtended{} } func (m *IPv4AddressSpecificExtended) String() string { return proto.CompactTextString(m) } func (*IPv4AddressSpecificExtended) ProtoMessage() {} func (*IPv4AddressSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} } func (m *IPv4AddressSpecificExtended) GetIsTransitive() bool { if m != nil { return m.IsTransitive } return false } func (m *IPv4AddressSpecificExtended) GetSubType() uint32 { if m != nil { return m.SubType } return 0 } func (m *IPv4AddressSpecificExtended) GetAddress() string { if m != nil { return m.Address } return "" } func (m *IPv4AddressSpecificExtended) GetLocalAdmin() uint32 { if m != nil { return m.LocalAdmin } return 0 } type FourOctetAsSpecificExtended struct { IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"` SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType" json:"sub_type,omitempty"` As uint32 `protobuf:"varint,3,opt,name=as" json:"as,omitempty"` LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` } func (m *FourOctetAsSpecificExtended) Reset() { *m = FourOctetAsSpecificExtended{} } func (m *FourOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) } func (*FourOctetAsSpecificExtended) ProtoMessage() {} func (*FourOctetAsSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} } func (m *FourOctetAsSpecificExtended) GetIsTransitive() bool { if m != nil { return m.IsTransitive } return false } func (m *FourOctetAsSpecificExtended) GetSubType() uint32 { if m != nil { return m.SubType } return 0 } func (m *FourOctetAsSpecificExtended) GetAs() uint32 { if m != nil { return m.As } return 0 } func (m *FourOctetAsSpecificExtended) GetLocalAdmin() uint32 { if m != nil { return m.LocalAdmin } return 0 } type ValidationExtended struct { State uint32 `protobuf:"varint,1,opt,name=state" json:"state,omitempty"` } func (m *ValidationExtended) Reset() { *m = ValidationExtended{} } func (m *ValidationExtended) String() string { return proto.CompactTextString(m) } func (*ValidationExtended) ProtoMessage() {} func (*ValidationExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} } func (m *ValidationExtended) GetState() uint32 { if m != nil { return m.State } return 0 } type ColorExtended struct { Color uint32 `protobuf:"varint,1,opt,name=color" json:"color,omitempty"` } func (m *ColorExtended) Reset() { *m = ColorExtended{} } func (m *ColorExtended) String() string { return proto.CompactTextString(m) } func (*ColorExtended) ProtoMessage() {} func (*ColorExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} } func (m *ColorExtended) GetColor() uint32 { if m != nil { return m.Color } return 0 } type EncapExtended struct { TunnelType uint32 `protobuf:"varint,1,opt,name=tunnel_type,json=tunnelType" json:"tunnel_type,omitempty"` } func (m *EncapExtended) Reset() { *m = EncapExtended{} } func (m *EncapExtended) String() string { return proto.CompactTextString(m) } func (*EncapExtended) ProtoMessage() {} func (*EncapExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} } func (m *EncapExtended) GetTunnelType() uint32 { if m != nil { return m.TunnelType } return 0 } type DefaultGatewayExtended struct { } func (m *DefaultGatewayExtended) Reset() { *m = DefaultGatewayExtended{} } func (m *DefaultGatewayExtended) String() string { return proto.CompactTextString(m) } func (*DefaultGatewayExtended) ProtoMessage() {} func (*DefaultGatewayExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} } type OpaqueExtended struct { IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"` Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (m *OpaqueExtended) Reset() { *m = OpaqueExtended{} } func (m *OpaqueExtended) String() string { return proto.CompactTextString(m) } func (*OpaqueExtended) ProtoMessage() {} func (*OpaqueExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} } func (m *OpaqueExtended) GetIsTransitive() bool { if m != nil { return m.IsTransitive } return false } func (m *OpaqueExtended) GetValue() []byte { if m != nil { return m.Value } return nil } type ESILabelExtended struct { IsSingleActive bool `protobuf:"varint,1,opt,name=is_single_active,json=isSingleActive" json:"is_single_active,omitempty"` Label uint32 `protobuf:"varint,2,opt,name=label" json:"label,omitempty"` } func (m *ESILabelExtended) Reset() { *m = ESILabelExtended{} } func (m *ESILabelExtended) String() string { return proto.CompactTextString(m) } func (*ESILabelExtended) ProtoMessage() {} func (*ESILabelExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} } func (m *ESILabelExtended) GetIsSingleActive() bool { if m != nil { return m.IsSingleActive } return false } func (m *ESILabelExtended) GetLabel() uint32 { if m != nil { return m.Label } return 0 } type ESImportRouteTarget struct { EsImport string `protobuf:"bytes,1,opt,name=es_import,json=esImport" json:"es_import,omitempty"` } func (m *ESImportRouteTarget) Reset() { *m = ESImportRouteTarget{} } func (m *ESImportRouteTarget) String() string { return proto.CompactTextString(m) } func (*ESImportRouteTarget) ProtoMessage() {} func (*ESImportRouteTarget) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} } func (m *ESImportRouteTarget) GetEsImport() string { if m != nil { return m.EsImport } return "" } type MacMobilityExtended struct { IsSticky bool `protobuf:"varint,1,opt,name=is_sticky,json=isSticky" json:"is_sticky,omitempty"` SequenceNum uint32 `protobuf:"varint,2,opt,name=sequence_num,json=sequenceNum" json:"sequence_num,omitempty"` } func (m *MacMobilityExtended) Reset() { *m = MacMobilityExtended{} } func (m *MacMobilityExtended) String() string { return proto.CompactTextString(m) } func (*MacMobilityExtended) ProtoMessage() {} func (*MacMobilityExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} } func (m *MacMobilityExtended) GetIsSticky() bool { if m != nil { return m.IsSticky } return false } func (m *MacMobilityExtended) GetSequenceNum() uint32 { if m != nil { return m.SequenceNum } return 0 } type RouterMacExtended struct { Mac string `protobuf:"bytes,1,opt,name=mac" json:"mac,omitempty"` } func (m *RouterMacExtended) Reset() { *m = RouterMacExtended{} } func (m *RouterMacExtended) String() string { return proto.CompactTextString(m) } func (*RouterMacExtended) ProtoMessage() {} func (*RouterMacExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} } func (m *RouterMacExtended) GetMac() string { if m != nil { return m.Mac } return "" } type TrafficRateExtended struct { As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"` Rate float32 `protobuf:"fixed32,2,opt,name=rate" json:"rate,omitempty"` } func (m *TrafficRateExtended) Reset() { *m = TrafficRateExtended{} } func (m *TrafficRateExtended) String() string { return proto.CompactTextString(m) } func (*TrafficRateExtended) ProtoMessage() {} func (*TrafficRateExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{55} } func (m *TrafficRateExtended) GetAs() uint32 { if m != nil { return m.As } return 0 } func (m *TrafficRateExtended) GetRate() float32 { if m != nil { return m.Rate } return 0 } type TrafficActionExtended struct { Terminal bool `protobuf:"varint,1,opt,name=terminal" json:"terminal,omitempty"` Sample bool `protobuf:"varint,2,opt,name=sample" json:"sample,omitempty"` } func (m *TrafficActionExtended) Reset() { *m = TrafficActionExtended{} } func (m *TrafficActionExtended) String() string { return proto.CompactTextString(m) } func (*TrafficActionExtended) ProtoMessage() {} func (*TrafficActionExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{56} } func (m *TrafficActionExtended) GetTerminal() bool { if m != nil { return m.Terminal } return false } func (m *TrafficActionExtended) GetSample() bool { if m != nil { return m.Sample } return false } type RedirectTwoOctetAsSpecificExtended struct { As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"` LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` } func (m *RedirectTwoOctetAsSpecificExtended) Reset() { *m = RedirectTwoOctetAsSpecificExtended{} } func (m *RedirectTwoOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) } func (*RedirectTwoOctetAsSpecificExtended) ProtoMessage() {} func (*RedirectTwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{57} } func (m *RedirectTwoOctetAsSpecificExtended) GetAs() uint32 { if m != nil { return m.As } return 0 } func (m *RedirectTwoOctetAsSpecificExtended) GetLocalAdmin() uint32 { if m != nil { return m.LocalAdmin } return 0 } type RedirectIPv4AddressSpecificExtended struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` } func (m *RedirectIPv4AddressSpecificExtended) Reset() { *m = RedirectIPv4AddressSpecificExtended{} } func (m *RedirectIPv4AddressSpecificExtended) String() string { return proto.CompactTextString(m) } func (*RedirectIPv4AddressSpecificExtended) ProtoMessage() {} func (*RedirectIPv4AddressSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{58} } func (m *RedirectIPv4AddressSpecificExtended) GetAddress() string { if m != nil { return m.Address } return "" } func (m *RedirectIPv4AddressSpecificExtended) GetLocalAdmin() uint32 { if m != nil { return m.LocalAdmin } return 0 } type RedirectFourOctetAsSpecificExtended struct { As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"` LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` } func (m *RedirectFourOctetAsSpecificExtended) Reset() { *m = RedirectFourOctetAsSpecificExtended{} } func (m *RedirectFourOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) } func (*RedirectFourOctetAsSpecificExtended) ProtoMessage() {} func (*RedirectFourOctetAsSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{59} } func (m *RedirectFourOctetAsSpecificExtended) GetAs() uint32 { if m != nil { return m.As } return 0 } func (m *RedirectFourOctetAsSpecificExtended) GetLocalAdmin() uint32 { if m != nil { return m.LocalAdmin } return 0 } type TrafficRemarkExtended struct { Dscp uint32 `protobuf:"varint,1,opt,name=dscp" json:"dscp,omitempty"` } func (m *TrafficRemarkExtended) Reset() { *m = TrafficRemarkExtended{} } func (m *TrafficRemarkExtended) String() string { return proto.CompactTextString(m) } func (*TrafficRemarkExtended) ProtoMessage() {} func (*TrafficRemarkExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{60} } func (m *TrafficRemarkExtended) GetDscp() uint32 { if m != nil { return m.Dscp } return 0 } type UnknownExtended struct { Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (m *UnknownExtended) Reset() { *m = UnknownExtended{} } func (m *UnknownExtended) String() string { return proto.CompactTextString(m) } func (*UnknownExtended) ProtoMessage() {} func (*UnknownExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{61} } func (m *UnknownExtended) GetType() uint32 { if m != nil { return m.Type } return 0 } func (m *UnknownExtended) GetValue() []byte { if m != nil { return m.Value } return nil } type ExtendedCommunitiesAttribute struct { // Each Community must be one of: // - TwoOctetAsSpecificExtended // - IPv4AddressSpecificExtended // - FourOctetAsSpecificExtended // - OpaqueExtended // - ESILabelExtended // - MacMobilityExtended // - RouterMacExtended // - TrafficRateExtended // - TrafficActionExtended // - RedirectTwoOctetAsSpecificExtended // - RedirectIPv4AddressSpecificExtended // - RedirectFourOctetAsSpecificExtended // - TrafficRemarkExtended // - UnknownExtended Communities []*google_protobuf.Any `protobuf:"bytes,1,rep,name=communities" json:"communities,omitempty"` } func (m *ExtendedCommunitiesAttribute) Reset() { *m = ExtendedCommunitiesAttribute{} } func (m *ExtendedCommunitiesAttribute) String() string { return proto.CompactTextString(m) } func (*ExtendedCommunitiesAttribute) ProtoMessage() {} func (*ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{62} } func (m *ExtendedCommunitiesAttribute) GetCommunities() []*google_protobuf.Any { if m != nil { return m.Communities } return nil } type As4PathAttribute struct { Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments" json:"segments,omitempty"` } func (m *As4PathAttribute) Reset() { *m = As4PathAttribute{} } func (m *As4PathAttribute) String() string { return proto.CompactTextString(m) } func (*As4PathAttribute) ProtoMessage() {} func (*As4PathAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{63} } func (m *As4PathAttribute) GetSegments() []*AsSegment { if m != nil { return m.Segments } return nil } type As4AggregatorAttribute struct { As uint32 `protobuf:"varint,2,opt,name=as" json:"as,omitempty"` Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"` } func (m *As4AggregatorAttribute) Reset() { *m = As4AggregatorAttribute{} } func (m *As4AggregatorAttribute) String() string { return proto.CompactTextString(m) } func (*As4AggregatorAttribute) ProtoMessage() {} func (*As4AggregatorAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{64} } func (m *As4AggregatorAttribute) GetAs() uint32 { if m != nil { return m.As } return 0 } func (m *As4AggregatorAttribute) GetAddress() string { if m != nil { return m.Address } return "" } type PmsiTunnelAttribute struct { Flags uint32 `protobuf:"varint,1,opt,name=flags" json:"flags,omitempty"` Type uint32 `protobuf:"varint,2,opt,name=type" json:"type,omitempty"` Label uint32 `protobuf:"varint,3,opt,name=label" json:"label,omitempty"` Id []byte `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` } func (m *PmsiTunnelAttribute) Reset() { *m = PmsiTunnelAttribute{} } func (m *PmsiTunnelAttribute) String() string { return proto.CompactTextString(m) } func (*PmsiTunnelAttribute) ProtoMessage() {} func (*PmsiTunnelAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65} } func (m *PmsiTunnelAttribute) GetFlags() uint32 { if m != nil { return m.Flags } return 0 } func (m *PmsiTunnelAttribute) GetType() uint32 { if m != nil { return m.Type } return 0 } func (m *PmsiTunnelAttribute) GetLabel() uint32 { if m != nil { return m.Label } return 0 } func (m *PmsiTunnelAttribute) GetId() []byte { if m != nil { return m.Id } return nil } type TunnelEncapSubTLVEncapsulation struct { Key uint32 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"` Cookie []byte `protobuf:"bytes,2,opt,name=cookie,proto3" json:"cookie,omitempty"` } func (m *TunnelEncapSubTLVEncapsulation) Reset() { *m = TunnelEncapSubTLVEncapsulation{} } func (m *TunnelEncapSubTLVEncapsulation) String() string { return proto.CompactTextString(m) } func (*TunnelEncapSubTLVEncapsulation) ProtoMessage() {} func (*TunnelEncapSubTLVEncapsulation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{66} } func (m *TunnelEncapSubTLVEncapsulation) GetKey() uint32 { if m != nil { return m.Key } return 0 } func (m *TunnelEncapSubTLVEncapsulation) GetCookie() []byte { if m != nil { return m.Cookie } return nil } type TunnelEncapSubTLVProtocol struct { Protocol uint32 `protobuf:"varint,1,opt,name=protocol" json:"protocol,omitempty"` } func (m *TunnelEncapSubTLVProtocol) Reset() { *m = TunnelEncapSubTLVProtocol{} } func (m *TunnelEncapSubTLVProtocol) String() string { return proto.CompactTextString(m) } func (*TunnelEncapSubTLVProtocol) ProtoMessage() {} func (*TunnelEncapSubTLVProtocol) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{67} } func (m *TunnelEncapSubTLVProtocol) GetProtocol() uint32 { if m != nil { return m.Protocol } return 0 } type TunnelEncapSubTLVColor struct { Color uint32 `protobuf:"varint,1,opt,name=color" json:"color,omitempty"` } func (m *TunnelEncapSubTLVColor) Reset() { *m = TunnelEncapSubTLVColor{} } func (m *TunnelEncapSubTLVColor) String() string { return proto.CompactTextString(m) } func (*TunnelEncapSubTLVColor) ProtoMessage() {} func (*TunnelEncapSubTLVColor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{68} } func (m *TunnelEncapSubTLVColor) GetColor() uint32 { if m != nil { return m.Color } return 0 } type TunnelEncapSubTLVUnknown struct { Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (m *TunnelEncapSubTLVUnknown) Reset() { *m = TunnelEncapSubTLVUnknown{} } func (m *TunnelEncapSubTLVUnknown) String() string { return proto.CompactTextString(m) } func (*TunnelEncapSubTLVUnknown) ProtoMessage() {} func (*TunnelEncapSubTLVUnknown) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{69} } func (m *TunnelEncapSubTLVUnknown) GetType() uint32 { if m != nil { return m.Type } return 0 } func (m *TunnelEncapSubTLVUnknown) GetValue() []byte { if m != nil { return m.Value } return nil } type TunnelEncapTLV struct { Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` // Each TLV must be one of: // - TunnelEncapSubTLVEncapsulation // - TunnelEncapSubTLVProtocol // - TunnelEncapSubTLVColor // - TunnelEncapSubTLVUnknown Tlvs []*google_protobuf.Any `protobuf:"bytes,2,rep,name=tlvs" json:"tlvs,omitempty"` } func (m *TunnelEncapTLV) Reset() { *m = TunnelEncapTLV{} } func (m *TunnelEncapTLV) String() string { return proto.CompactTextString(m) } func (*TunnelEncapTLV) ProtoMessage() {} func (*TunnelEncapTLV) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{70} } func (m *TunnelEncapTLV) GetType() uint32 { if m != nil { return m.Type } return 0 } func (m *TunnelEncapTLV) GetTlvs() []*google_protobuf.Any { if m != nil { return m.Tlvs } return nil } type TunnelEncapAttribute struct { Tlvs []*TunnelEncapTLV `protobuf:"bytes,1,rep,name=tlvs" json:"tlvs,omitempty"` } func (m *TunnelEncapAttribute) Reset() { *m = TunnelEncapAttribute{} } func (m *TunnelEncapAttribute) String() string { return proto.CompactTextString(m) } func (*TunnelEncapAttribute) ProtoMessage() {} func (*TunnelEncapAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{71} } func (m *TunnelEncapAttribute) GetTlvs() []*TunnelEncapTLV { if m != nil { return m.Tlvs } return nil } type IPv6AddressSpecificExtended struct { IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"` SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType" json:"sub_type,omitempty"` Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"` LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` } func (m *IPv6AddressSpecificExtended) Reset() { *m = IPv6AddressSpecificExtended{} } func (m *IPv6AddressSpecificExtended) String() string { return proto.CompactTextString(m) } func (*IPv6AddressSpecificExtended) ProtoMessage() {} func (*IPv6AddressSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{72} } func (m *IPv6AddressSpecificExtended) GetIsTransitive() bool { if m != nil { return m.IsTransitive } return false } func (m *IPv6AddressSpecificExtended) GetSubType() uint32 { if m != nil { return m.SubType } return 0 } func (m *IPv6AddressSpecificExtended) GetAddress() string { if m != nil { return m.Address } return "" } func (m *IPv6AddressSpecificExtended) GetLocalAdmin() uint32 { if m != nil { return m.LocalAdmin } return 0 } type RedirectIPv6AddressSpecificExtended struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` } func (m *RedirectIPv6AddressSpecificExtended) Reset() { *m = RedirectIPv6AddressSpecificExtended{} } func (m *RedirectIPv6AddressSpecificExtended) String() string { return proto.CompactTextString(m) } func (*RedirectIPv6AddressSpecificExtended) ProtoMessage() {} func (*RedirectIPv6AddressSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{73} } func (m *RedirectIPv6AddressSpecificExtended) GetAddress() string { if m != nil { return m.Address } return "" } func (m *RedirectIPv6AddressSpecificExtended) GetLocalAdmin() uint32 { if m != nil { return m.LocalAdmin } return 0 } type IP6ExtendedCommunitiesAttribute struct { // Each Community must be one of: // - IPv6AddressSpecificExtended // - RedirectIPv6AddressSpecificExtended Communities []*google_protobuf.Any `protobuf:"bytes,1,rep,name=communities" json:"communities,omitempty"` } func (m *IP6ExtendedCommunitiesAttribute) Reset() { *m = IP6ExtendedCommunitiesAttribute{} } func (m *IP6ExtendedCommunitiesAttribute) String() string { return proto.CompactTextString(m) } func (*IP6ExtendedCommunitiesAttribute) ProtoMessage() {} func (*IP6ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{74} } func (m *IP6ExtendedCommunitiesAttribute) GetCommunities() []*google_protobuf.Any { if m != nil { return m.Communities } return nil } type AigpTLVIGPMetric struct { Metric uint64 `protobuf:"varint,1,opt,name=metric" json:"metric,omitempty"` } func (m *AigpTLVIGPMetric) Reset() { *m = AigpTLVIGPMetric{} } func (m *AigpTLVIGPMetric) String() string { return proto.CompactTextString(m) } func (*AigpTLVIGPMetric) ProtoMessage() {} func (*AigpTLVIGPMetric) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{75} } func (m *AigpTLVIGPMetric) GetMetric() uint64 { if m != nil { return m.Metric } return 0 } type AigpTLVUnknown struct { Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (m *AigpTLVUnknown) Reset() { *m = AigpTLVUnknown{} } func (m *AigpTLVUnknown) String() string { return proto.CompactTextString(m) } func (*AigpTLVUnknown) ProtoMessage() {} func (*AigpTLVUnknown) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{76} } func (m *AigpTLVUnknown) GetType() uint32 { if m != nil { return m.Type } return 0 } func (m *AigpTLVUnknown) GetValue() []byte { if m != nil { return m.Value } return nil } type AigpAttribute struct { // Each TLV must be one of: // - AigpTLVIGPMetric // - AigpTLVUnknown Tlvs []*google_protobuf.Any `protobuf:"bytes,1,rep,name=tlvs" json:"tlvs,omitempty"` } func (m *AigpAttribute) Reset() { *m = AigpAttribute{} } func (m *AigpAttribute) String() string { return proto.CompactTextString(m) } func (*AigpAttribute) ProtoMessage() {} func (*AigpAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{77} } func (m *AigpAttribute) GetTlvs() []*google_protobuf.Any { if m != nil { return m.Tlvs } return nil } type LargeCommunity struct { GlobalAdmin uint32 `protobuf:"varint,1,opt,name=global_admin,json=globalAdmin" json:"global_admin,omitempty"` LocalData1 uint32 `protobuf:"varint,2,opt,name=local_data1,json=localData1" json:"local_data1,omitempty"` LocalData2 uint32 `protobuf:"varint,3,opt,name=local_data2,json=localData2" json:"local_data2,omitempty"` } func (m *LargeCommunity) Reset() { *m = LargeCommunity{} } func (m *LargeCommunity) String() string { return proto.CompactTextString(m) } func (*LargeCommunity) ProtoMessage() {} func (*LargeCommunity) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{78} } func (m *LargeCommunity) GetGlobalAdmin() uint32 { if m != nil { return m.GlobalAdmin } return 0 } func (m *LargeCommunity) GetLocalData1() uint32 { if m != nil { return m.LocalData1 } return 0 } func (m *LargeCommunity) GetLocalData2() uint32 { if m != nil { return m.LocalData2 } return 0 } type LargeCommunitiesAttribute struct { Communities []*LargeCommunity `protobuf:"bytes,1,rep,name=communities" json:"communities,omitempty"` } func (m *LargeCommunitiesAttribute) Reset() { *m = LargeCommunitiesAttribute{} } func (m *LargeCommunitiesAttribute) String() string { return proto.CompactTextString(m) } func (*LargeCommunitiesAttribute) ProtoMessage() {} func (*LargeCommunitiesAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{79} } func (m *LargeCommunitiesAttribute) GetCommunities() []*LargeCommunity { if m != nil { return m.Communities } return nil } type LsNodeFlags struct { Overload bool `protobuf:"varint,1,opt,name=overload" json:"overload,omitempty"` Attached bool `protobuf:"varint,2,opt,name=attached" json:"attached,omitempty"` External bool `protobuf:"varint,3,opt,name=external" json:"external,omitempty"` Abr bool `protobuf:"varint,4,opt,name=abr" json:"abr,omitempty"` Router bool `protobuf:"varint,5,opt,name=router" json:"router,omitempty"` V6 bool `protobuf:"varint,6,opt,name=v6" json:"v6,omitempty"` } func (m *LsNodeFlags) Reset() { *m = LsNodeFlags{} } func (m *LsNodeFlags) String() string { return proto.CompactTextString(m) } func (*LsNodeFlags) ProtoMessage() {} func (*LsNodeFlags) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{80} } func (m *LsNodeFlags) GetOverload() bool { if m != nil { return m.Overload } return false } func (m *LsNodeFlags) GetAttached() bool { if m != nil { return m.Attached } return false } func (m *LsNodeFlags) GetExternal() bool { if m != nil { return m.External } return false } func (m *LsNodeFlags) GetAbr() bool { if m != nil { return m.Abr } return false } func (m *LsNodeFlags) GetRouter() bool { if m != nil { return m.Router } return false } func (m *LsNodeFlags) GetV6() bool { if m != nil { return m.V6 } return false } type LsIGPFlags struct { Down bool `protobuf:"varint,1,opt,name=down" json:"down,omitempty"` NoUnicast bool `protobuf:"varint,2,opt,name=no_unicast,json=noUnicast" json:"no_unicast,omitempty"` LocalAddress bool `protobuf:"varint,3,opt,name=local_address,json=localAddress" json:"local_address,omitempty"` PropagateNssa bool `protobuf:"varint,4,opt,name=propagate_nssa,json=propagateNssa" json:"propagate_nssa,omitempty"` } func (m *LsIGPFlags) Reset() { *m = LsIGPFlags{} } func (m *LsIGPFlags) String() string { return proto.CompactTextString(m) } func (*LsIGPFlags) ProtoMessage() {} func (*LsIGPFlags) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{81} } func (m *LsIGPFlags) GetDown() bool { if m != nil { return m.Down } return false } func (m *LsIGPFlags) GetNoUnicast() bool { if m != nil { return m.NoUnicast } return false } func (m *LsIGPFlags) GetLocalAddress() bool { if m != nil { return m.LocalAddress } return false } func (m *LsIGPFlags) GetPropagateNssa() bool { if m != nil { return m.PropagateNssa } return false } type LsSrRange struct { Begin uint32 `protobuf:"varint,1,opt,name=begin" json:"begin,omitempty"` End uint32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` } func (m *LsSrRange) Reset() { *m = LsSrRange{} } func (m *LsSrRange) String() string { return proto.CompactTextString(m) } func (*LsSrRange) ProtoMessage() {} func (*LsSrRange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{82} } func (m *LsSrRange) GetBegin() uint32 { if m != nil { return m.Begin } return 0 } func (m *LsSrRange) GetEnd() uint32 { if m != nil { return m.End } return 0 } type LsSrCapabilities struct { Ipv4Supported bool `protobuf:"varint,1,opt,name=ipv4_supported,json=ipv4Supported" json:"ipv4_supported,omitempty"` Ipv6Supported bool `protobuf:"varint,2,opt,name=ipv6_supported,json=ipv6Supported" json:"ipv6_supported,omitempty"` Ranges []*LsSrRange `protobuf:"bytes,3,rep,name=ranges" json:"ranges,omitempty"` } func (m *LsSrCapabilities) Reset() { *m = LsSrCapabilities{} } func (m *LsSrCapabilities) String() string { return proto.CompactTextString(m) } func (*LsSrCapabilities) ProtoMessage() {} func (*LsSrCapabilities) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{83} } func (m *LsSrCapabilities) GetIpv4Supported() bool { if m != nil { return m.Ipv4Supported } return false } func (m *LsSrCapabilities) GetIpv6Supported() bool { if m != nil { return m.Ipv6Supported } return false } func (m *LsSrCapabilities) GetRanges() []*LsSrRange { if m != nil { return m.Ranges } return nil } type LsSrLocalBlock struct { Ranges []*LsSrRange `protobuf:"bytes,1,rep,name=ranges" json:"ranges,omitempty"` } func (m *LsSrLocalBlock) Reset() { *m = LsSrLocalBlock{} } func (m *LsSrLocalBlock) String() string { return proto.CompactTextString(m) } func (*LsSrLocalBlock) ProtoMessage() {} func (*LsSrLocalBlock) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{84} } func (m *LsSrLocalBlock) GetRanges() []*LsSrRange { if m != nil { return m.Ranges } return nil } type LsAttributeNode struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` Flags *LsNodeFlags `protobuf:"bytes,2,opt,name=flags" json:"flags,omitempty"` LocalRouterId string `protobuf:"bytes,3,opt,name=local_router_id,json=localRouterId" json:"local_router_id,omitempty"` LocalRouterIdV6 string `protobuf:"bytes,4,opt,name=local_router_id_v6,json=localRouterIdV6" json:"local_router_id_v6,omitempty"` IsisArea []byte `protobuf:"bytes,5,opt,name=isis_area,json=isisArea,proto3" json:"isis_area,omitempty"` Opaque []byte `protobuf:"bytes,6,opt,name=opaque,proto3" json:"opaque,omitempty"` SrCapabilities *LsSrCapabilities `protobuf:"bytes,7,opt,name=sr_capabilities,json=srCapabilities" json:"sr_capabilities,omitempty"` SrAlgorithms []byte `protobuf:"bytes,8,opt,name=sr_algorithms,json=srAlgorithms,proto3" json:"sr_algorithms,omitempty"` SrLocalBlock *LsSrLocalBlock `protobuf:"bytes,9,opt,name=sr_local_block,json=srLocalBlock" json:"sr_local_block,omitempty"` } func (m *LsAttributeNode) Reset() { *m = LsAttributeNode{} } func (m *LsAttributeNode) String() string { return proto.CompactTextString(m) } func (*LsAttributeNode) ProtoMessage() {} func (*LsAttributeNode) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{85} } func (m *LsAttributeNode) GetName() string { if m != nil { return m.Name } return "" } func (m *LsAttributeNode) GetFlags() *LsNodeFlags { if m != nil { return m.Flags } return nil } func (m *LsAttributeNode) GetLocalRouterId() string { if m != nil { return m.LocalRouterId } return "" } func (m *LsAttributeNode) GetLocalRouterIdV6() string { if m != nil { return m.LocalRouterIdV6 } return "" } func (m *LsAttributeNode) GetIsisArea() []byte { if m != nil { return m.IsisArea } return nil } func (m *LsAttributeNode) GetOpaque() []byte { if m != nil { return m.Opaque } return nil } func (m *LsAttributeNode) GetSrCapabilities() *LsSrCapabilities { if m != nil { return m.SrCapabilities } return nil } func (m *LsAttributeNode) GetSrAlgorithms() []byte { if m != nil { return m.SrAlgorithms } return nil } func (m *LsAttributeNode) GetSrLocalBlock() *LsSrLocalBlock { if m != nil { return m.SrLocalBlock } return nil } type LsAttributeLink struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` LocalRouterId string `protobuf:"bytes,2,opt,name=local_router_id,json=localRouterId" json:"local_router_id,omitempty"` LocalRouterIdV6 string `protobuf:"bytes,3,opt,name=local_router_id_v6,json=localRouterIdV6" json:"local_router_id_v6,omitempty"` RemoteRouterId string `protobuf:"bytes,4,opt,name=remote_router_id,json=remoteRouterId" json:"remote_router_id,omitempty"` RemoteRouterIdV6 string `protobuf:"bytes,5,opt,name=remote_router_id_v6,json=remoteRouterIdV6" json:"remote_router_id_v6,omitempty"` AdminGroup uint32 `protobuf:"varint,6,opt,name=admin_group,json=adminGroup" json:"admin_group,omitempty"` DefaultTeMetric uint32 `protobuf:"varint,7,opt,name=default_te_metric,json=defaultTeMetric" json:"default_te_metric,omitempty"` IgpMetric uint32 `protobuf:"varint,8,opt,name=igp_metric,json=igpMetric" json:"igp_metric,omitempty"` Opaque []byte `protobuf:"bytes,9,opt,name=opaque,proto3" json:"opaque,omitempty"` Bandwidth float32 `protobuf:"fixed32,10,opt,name=bandwidth" json:"bandwidth,omitempty"` ReservableBandwidth float32 `protobuf:"fixed32,11,opt,name=reservable_bandwidth,json=reservableBandwidth" json:"reservable_bandwidth,omitempty"` UnreservedBandwidth []float32 `protobuf:"fixed32,12,rep,packed,name=unreserved_bandwidth,json=unreservedBandwidth" json:"unreserved_bandwidth,omitempty"` SrAdjacencySid uint32 `protobuf:"varint,13,opt,name=sr_adjacency_sid,json=srAdjacencySid" json:"sr_adjacency_sid,omitempty"` Srlgs []uint32 `protobuf:"varint,14,rep,packed,name=srlgs" json:"srlgs,omitempty"` } func (m *LsAttributeLink) Reset() { *m = LsAttributeLink{} } func (m *LsAttributeLink) String() string { return proto.CompactTextString(m) } func (*LsAttributeLink) ProtoMessage() {} func (*LsAttributeLink) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{86} } func (m *LsAttributeLink) GetName() string { if m != nil { return m.Name } return "" } func (m *LsAttributeLink) GetLocalRouterId() string { if m != nil { return m.LocalRouterId } return "" } func (m *LsAttributeLink) GetLocalRouterIdV6() string { if m != nil { return m.LocalRouterIdV6 } return "" } func (m *LsAttributeLink) GetRemoteRouterId() string { if m != nil { return m.RemoteRouterId } return "" } func (m *LsAttributeLink) GetRemoteRouterIdV6() string { if m != nil { return m.RemoteRouterIdV6 } return "" } func (m *LsAttributeLink) GetAdminGroup() uint32 { if m != nil { return m.AdminGroup } return 0 } func (m *LsAttributeLink) GetDefaultTeMetric() uint32 { if m != nil { return m.DefaultTeMetric } return 0 } func (m *LsAttributeLink) GetIgpMetric() uint32 { if m != nil { return m.IgpMetric } return 0 } func (m *LsAttributeLink) GetOpaque() []byte { if m != nil { return m.Opaque } return nil } func (m *LsAttributeLink) GetBandwidth() float32 { if m != nil { return m.Bandwidth } return 0 } func (m *LsAttributeLink) GetReservableBandwidth() float32 { if m != nil { return m.ReservableBandwidth } return 0 } func (m *LsAttributeLink) GetUnreservedBandwidth() []float32 { if m != nil { return m.UnreservedBandwidth } return nil } func (m *LsAttributeLink) GetSrAdjacencySid() uint32 { if m != nil { return m.SrAdjacencySid } return 0 } func (m *LsAttributeLink) GetSrlgs() []uint32 { if m != nil { return m.Srlgs } return nil } type LsAttributePrefix struct { IgpFlags *LsIGPFlags `protobuf:"bytes,1,opt,name=igp_flags,json=igpFlags" json:"igp_flags,omitempty"` Opaque []byte `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"` SrPrefixSid uint32 `protobuf:"varint,3,opt,name=sr_prefix_sid,json=srPrefixSid" json:"sr_prefix_sid,omitempty"` } func (m *LsAttributePrefix) Reset() { *m = LsAttributePrefix{} } func (m *LsAttributePrefix) String() string { return proto.CompactTextString(m) } func (*LsAttributePrefix) ProtoMessage() {} func (*LsAttributePrefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{87} } func (m *LsAttributePrefix) GetIgpFlags() *LsIGPFlags { if m != nil { return m.IgpFlags } return nil } func (m *LsAttributePrefix) GetOpaque() []byte { if m != nil { return m.Opaque } return nil } func (m *LsAttributePrefix) GetSrPrefixSid() uint32 { if m != nil { return m.SrPrefixSid } return 0 } type LsAttribute struct { Node *LsAttributeNode `protobuf:"bytes,1,opt,name=node" json:"node,omitempty"` Link *LsAttributeLink `protobuf:"bytes,2,opt,name=link" json:"link,omitempty"` Prefix *LsAttributePrefix `protobuf:"bytes,3,opt,name=prefix" json:"prefix,omitempty"` } func (m *LsAttribute) Reset() { *m = LsAttribute{} } func (m *LsAttribute) String() string { return proto.CompactTextString(m) } func (*LsAttribute) ProtoMessage() {} func (*LsAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{88} } func (m *LsAttribute) GetNode() *LsAttributeNode { if m != nil { return m.Node } return nil } func (m *LsAttribute) GetLink() *LsAttributeLink { if m != nil { return m.Link } return nil } func (m *LsAttribute) GetPrefix() *LsAttributePrefix { if m != nil { return m.Prefix } return nil } type UnknownAttribute struct { Flags uint32 `protobuf:"varint,1,opt,name=flags" json:"flags,omitempty"` Type uint32 `protobuf:"varint,2,opt,name=type" json:"type,omitempty"` Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (m *UnknownAttribute) Reset() { *m = UnknownAttribute{} } func (m *UnknownAttribute) String() string { return proto.CompactTextString(m) } func (*UnknownAttribute) ProtoMessage() {} func (*UnknownAttribute) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{89} } func (m *UnknownAttribute) GetFlags() uint32 { if m != nil { return m.Flags } return 0 } func (m *UnknownAttribute) GetType() uint32 { if m != nil { return m.Type } return 0 } func (m *UnknownAttribute) GetValue() []byte { if m != nil { return m.Value } return nil } // https://tools.ietf.org/html/draft-dawra-bess-srv6-services-02#section-2.1.1 type SRv6StructureSubSubTLV struct { LocalBlockLength uint32 `protobuf:"varint,1,opt,name=local_block_length,json=localBlockLength" json:"local_block_length,omitempty"` LocalNodeLength uint32 `protobuf:"varint,2,opt,name=local_node_length,json=localNodeLength" json:"local_node_length,omitempty"` FunctionLength uint32 `protobuf:"varint,3,opt,name=function_length,json=functionLength" json:"function_length,omitempty"` ArgumentLength uint32 `protobuf:"varint,4,opt,name=argument_length,json=argumentLength" json:"argument_length,omitempty"` TranspositionLength uint32 `protobuf:"varint,5,opt,name=transposition_length,json=transpositionLength" json:"transposition_length,omitempty"` TranspositionOffset uint32 `protobuf:"varint,6,opt,name=transposition_offset,json=transpositionOffset" json:"transposition_offset,omitempty"` } func (m *SRv6StructureSubSubTLV) Reset() { *m = SRv6StructureSubSubTLV{} } func (m *SRv6StructureSubSubTLV) String() string { return proto.CompactTextString(m) } func (*SRv6StructureSubSubTLV) ProtoMessage() {} func (*SRv6StructureSubSubTLV) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{90} } func (m *SRv6StructureSubSubTLV) GetLocalBlockLength() uint32 { if m != nil { return m.LocalBlockLength } return 0 } func (m *SRv6StructureSubSubTLV) GetLocalNodeLength() uint32 { if m != nil { return m.LocalNodeLength } return 0 } func (m *SRv6StructureSubSubTLV) GetFunctionLength() uint32 { if m != nil { return m.FunctionLength } return 0 } func (m *SRv6StructureSubSubTLV) GetArgumentLength() uint32 { if m != nil { return m.ArgumentLength } return 0 } func (m *SRv6StructureSubSubTLV) GetTranspositionLength() uint32 { if m != nil { return m.TranspositionLength } return 0 } func (m *SRv6StructureSubSubTLV) GetTranspositionOffset() uint32 { if m != nil { return m.TranspositionOffset } return 0 } type SRv6SIDFlags struct { // Placeholder for future sid flags Flag_1 bool `protobuf:"varint,1,opt,name=flag_1,json=flag1" json:"flag_1,omitempty"` } func (m *SRv6SIDFlags) Reset() { *m = SRv6SIDFlags{} } func (m *SRv6SIDFlags) String() string { return proto.CompactTextString(m) } func (*SRv6SIDFlags) ProtoMessage() {} func (*SRv6SIDFlags) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{91} } func (m *SRv6SIDFlags) GetFlag_1() bool { if m != nil { return m.Flag_1 } return false } type SRv6TLV struct { Tlv []*google_protobuf.Any `protobuf:"bytes,1,rep,name=tlv" json:"tlv,omitempty"` } func (m *SRv6TLV) Reset() { *m = SRv6TLV{} } func (m *SRv6TLV) String() string { return proto.CompactTextString(m) } func (*SRv6TLV) ProtoMessage() {} func (*SRv6TLV) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{92} } func (m *SRv6TLV) GetTlv() []*google_protobuf.Any { if m != nil { return m.Tlv } return nil } // https://tools.ietf.org/html/draft-dawra-bess-srv6-services-02#section-2.1.1 type SRv6InformationSubTLV struct { Sid []byte `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"` Flags *SRv6SIDFlags `protobuf:"bytes,2,opt,name=flags" json:"flags,omitempty"` EndpointBehavior uint32 `protobuf:"varint,3,opt,name=endpoint_behavior,json=endpointBehavior" json:"endpoint_behavior,omitempty"` // SRv6TLV is one of: // - SRv6StructureSubSubTLV SubSubTlvs map[uint32]*SRv6TLV `protobuf:"bytes,4,rep,name=sub_sub_tlvs,json=subSubTlvs" json:"sub_sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } func (m *SRv6InformationSubTLV) Reset() { *m = SRv6InformationSubTLV{} } func (m *SRv6InformationSubTLV) String() string { return proto.CompactTextString(m) } func (*SRv6InformationSubTLV) ProtoMessage() {} func (*SRv6InformationSubTLV) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{93} } func (m *SRv6InformationSubTLV) GetSid() []byte { if m != nil { return m.Sid } return nil } func (m *SRv6InformationSubTLV) GetFlags() *SRv6SIDFlags { if m != nil { return m.Flags } return nil } func (m *SRv6InformationSubTLV) GetEndpointBehavior() uint32 { if m != nil { return m.EndpointBehavior } return 0 } func (m *SRv6InformationSubTLV) GetSubSubTlvs() map[uint32]*SRv6TLV { if m != nil { return m.SubSubTlvs } return nil } // https://tools.ietf.org/html/draft-dawra-bess-srv6-services-02#section-2 type SRv6L3ServiceTLV struct { // SRv6TLV is one of: // - SRv6InformationSubTLV SubTlvs map[uint32]*SRv6TLV `protobuf:"bytes,1,rep,name=sub_tlvs,json=subTlvs" json:"sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } func (m *SRv6L3ServiceTLV) Reset() { *m = SRv6L3ServiceTLV{} } func (m *SRv6L3ServiceTLV) String() string { return proto.CompactTextString(m) } func (*SRv6L3ServiceTLV) ProtoMessage() {} func (*SRv6L3ServiceTLV) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{94} } func (m *SRv6L3ServiceTLV) GetSubTlvs() map[uint32]*SRv6TLV { if m != nil { return m.SubTlvs } return nil } // https://tools.ietf.org/html/rfc8669 type PrefixSID struct { // tlv is one of: // - IndexLabelTLV Type 1 (not yet implemented) // - OriginatorSRGBTLV Type 3 (not yet implemented) // - SRv6L3ServiceTLV Type 5 // - SRv6L2ServiceTLV Type 6 (not yet implemented) Tlvs []*google_protobuf.Any `protobuf:"bytes,1,rep,name=tlvs" json:"tlvs,omitempty"` } func (m *PrefixSID) Reset() { *m = PrefixSID{} } func (m *PrefixSID) String() string { return proto.CompactTextString(m) } func (*PrefixSID) ProtoMessage() {} func (*PrefixSID) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{95} } func (m *PrefixSID) GetTlvs() []*google_protobuf.Any { if m != nil { return m.Tlvs } return nil } func init() { proto.RegisterType((*OriginAttribute)(nil), "gobgpapi.OriginAttribute") proto.RegisterType((*AsSegment)(nil), "gobgpapi.AsSegment") proto.RegisterType((*AsPathAttribute)(nil), "gobgpapi.AsPathAttribute") proto.RegisterType((*NextHopAttribute)(nil), "gobgpapi.NextHopAttribute") proto.RegisterType((*MultiExitDiscAttribute)(nil), "gobgpapi.MultiExitDiscAttribute") proto.RegisterType((*LocalPrefAttribute)(nil), "gobgpapi.LocalPrefAttribute") proto.RegisterType((*AtomicAggregateAttribute)(nil), "gobgpapi.AtomicAggregateAttribute") proto.RegisterType((*AggregatorAttribute)(nil), "gobgpapi.AggregatorAttribute") proto.RegisterType((*CommunitiesAttribute)(nil), "gobgpapi.CommunitiesAttribute") proto.RegisterType((*OriginatorIdAttribute)(nil), "gobgpapi.OriginatorIdAttribute") proto.RegisterType((*ClusterListAttribute)(nil), "gobgpapi.ClusterListAttribute") proto.RegisterType((*IPAddressPrefix)(nil), "gobgpapi.IPAddressPrefix") proto.RegisterType((*LabeledIPAddressPrefix)(nil), "gobgpapi.LabeledIPAddressPrefix") proto.RegisterType((*EncapsulationNLRI)(nil), "gobgpapi.EncapsulationNLRI") proto.RegisterType((*RouteDistinguisherTwoOctetAS)(nil), "gobgpapi.RouteDistinguisherTwoOctetAS") proto.RegisterType((*RouteDistinguisherIPAddress)(nil), "gobgpapi.RouteDistinguisherIPAddress") proto.RegisterType((*RouteDistinguisherFourOctetAS)(nil), "gobgpapi.RouteDistinguisherFourOctetAS") proto.RegisterType((*EthernetSegmentIdentifier)(nil), "gobgpapi.EthernetSegmentIdentifier") proto.RegisterType((*EVPNEthernetAutoDiscoveryRoute)(nil), "gobgpapi.EVPNEthernetAutoDiscoveryRoute") proto.RegisterType((*EVPNMACIPAdvertisementRoute)(nil), "gobgpapi.EVPNMACIPAdvertisementRoute") proto.RegisterType((*EVPNInclusiveMulticastEthernetTagRoute)(nil), "gobgpapi.EVPNInclusiveMulticastEthernetTagRoute") proto.RegisterType((*EVPNEthernetSegmentRoute)(nil), "gobgpapi.EVPNEthernetSegmentRoute") proto.RegisterType((*EVPNIPPrefixRoute)(nil), "gobgpapi.EVPNIPPrefixRoute") proto.RegisterType((*EVPNIPMSIRoute)(nil), "gobgpapi.EVPNIPMSIRoute") proto.RegisterType((*LabeledVPNIPAddressPrefix)(nil), "gobgpapi.LabeledVPNIPAddressPrefix") proto.RegisterType((*RouteTargetMembershipNLRI)(nil), "gobgpapi.RouteTargetMembershipNLRI") proto.RegisterType((*FlowSpecIPPrefix)(nil), "gobgpapi.FlowSpecIPPrefix") proto.RegisterType((*FlowSpecMAC)(nil), "gobgpapi.FlowSpecMAC") proto.RegisterType((*FlowSpecComponentItem)(nil), "gobgpapi.FlowSpecComponentItem") proto.RegisterType((*FlowSpecComponent)(nil), "gobgpapi.FlowSpecComponent") proto.RegisterType((*FlowSpecNLRI)(nil), "gobgpapi.FlowSpecNLRI") proto.RegisterType((*VPNFlowSpecNLRI)(nil), "gobgpapi.VPNFlowSpecNLRI") proto.RegisterType((*OpaqueNLRI)(nil), "gobgpapi.OpaqueNLRI") proto.RegisterType((*LsNodeDescriptor)(nil), "gobgpapi.LsNodeDescriptor") proto.RegisterType((*LsLinkDescriptor)(nil), "gobgpapi.LsLinkDescriptor") proto.RegisterType((*LsPrefixDescriptor)(nil), "gobgpapi.LsPrefixDescriptor") proto.RegisterType((*LsNodeNLRI)(nil), "gobgpapi.LsNodeNLRI") proto.RegisterType((*LsLinkNLRI)(nil), "gobgpapi.LsLinkNLRI") proto.RegisterType((*LsPrefixV4NLRI)(nil), "gobgpapi.LsPrefixV4NLRI") proto.RegisterType((*LsPrefixV6NLRI)(nil), "gobgpapi.LsPrefixV6NLRI") proto.RegisterType((*LsAddrPrefix)(nil), "gobgpapi.LsAddrPrefix") proto.RegisterType((*MpReachNLRIAttribute)(nil), "gobgpapi.MpReachNLRIAttribute") proto.RegisterType((*MpUnreachNLRIAttribute)(nil), "gobgpapi.MpUnreachNLRIAttribute") proto.RegisterType((*TwoOctetAsSpecificExtended)(nil), "gobgpapi.TwoOctetAsSpecificExtended") proto.RegisterType((*IPv4AddressSpecificExtended)(nil), "gobgpapi.IPv4AddressSpecificExtended") proto.RegisterType((*FourOctetAsSpecificExtended)(nil), "gobgpapi.FourOctetAsSpecificExtended") proto.RegisterType((*ValidationExtended)(nil), "gobgpapi.ValidationExtended") proto.RegisterType((*ColorExtended)(nil), "gobgpapi.ColorExtended") proto.RegisterType((*EncapExtended)(nil), "gobgpapi.EncapExtended") proto.RegisterType((*DefaultGatewayExtended)(nil), "gobgpapi.DefaultGatewayExtended") proto.RegisterType((*OpaqueExtended)(nil), "gobgpapi.OpaqueExtended") proto.RegisterType((*ESILabelExtended)(nil), "gobgpapi.ESILabelExtended") proto.RegisterType((*ESImportRouteTarget)(nil), "gobgpapi.ESImportRouteTarget") proto.RegisterType((*MacMobilityExtended)(nil), "gobgpapi.MacMobilityExtended") proto.RegisterType((*RouterMacExtended)(nil), "gobgpapi.RouterMacExtended") proto.RegisterType((*TrafficRateExtended)(nil), "gobgpapi.TrafficRateExtended") proto.RegisterType((*TrafficActionExtended)(nil), "gobgpapi.TrafficActionExtended") proto.RegisterType((*RedirectTwoOctetAsSpecificExtended)(nil), "gobgpapi.RedirectTwoOctetAsSpecificExtended") proto.RegisterType((*RedirectIPv4AddressSpecificExtended)(nil), "gobgpapi.RedirectIPv4AddressSpecificExtended") proto.RegisterType((*RedirectFourOctetAsSpecificExtended)(nil), "gobgpapi.RedirectFourOctetAsSpecificExtended") proto.RegisterType((*TrafficRemarkExtended)(nil), "gobgpapi.TrafficRemarkExtended") proto.RegisterType((*UnknownExtended)(nil), "gobgpapi.UnknownExtended") proto.RegisterType((*ExtendedCommunitiesAttribute)(nil), "gobgpapi.ExtendedCommunitiesAttribute") proto.RegisterType((*As4PathAttribute)(nil), "gobgpapi.As4PathAttribute") proto.RegisterType((*As4AggregatorAttribute)(nil), "gobgpapi.As4AggregatorAttribute") proto.RegisterType((*PmsiTunnelAttribute)(nil), "gobgpapi.PmsiTunnelAttribute") proto.RegisterType((*TunnelEncapSubTLVEncapsulation)(nil), "gobgpapi.TunnelEncapSubTLVEncapsulation") proto.RegisterType((*TunnelEncapSubTLVProtocol)(nil), "gobgpapi.TunnelEncapSubTLVProtocol") proto.RegisterType((*TunnelEncapSubTLVColor)(nil), "gobgpapi.TunnelEncapSubTLVColor") proto.RegisterType((*TunnelEncapSubTLVUnknown)(nil), "gobgpapi.TunnelEncapSubTLVUnknown") proto.RegisterType((*TunnelEncapTLV)(nil), "gobgpapi.TunnelEncapTLV") proto.RegisterType((*TunnelEncapAttribute)(nil), "gobgpapi.TunnelEncapAttribute") proto.RegisterType((*IPv6AddressSpecificExtended)(nil), "gobgpapi.IPv6AddressSpecificExtended") proto.RegisterType((*RedirectIPv6AddressSpecificExtended)(nil), "gobgpapi.RedirectIPv6AddressSpecificExtended") proto.RegisterType((*IP6ExtendedCommunitiesAttribute)(nil), "gobgpapi.IP6ExtendedCommunitiesAttribute") proto.RegisterType((*AigpTLVIGPMetric)(nil), "gobgpapi.AigpTLVIGPMetric") proto.RegisterType((*AigpTLVUnknown)(nil), "gobgpapi.AigpTLVUnknown") proto.RegisterType((*AigpAttribute)(nil), "gobgpapi.AigpAttribute") proto.RegisterType((*LargeCommunity)(nil), "gobgpapi.LargeCommunity") proto.RegisterType((*LargeCommunitiesAttribute)(nil), "gobgpapi.LargeCommunitiesAttribute") proto.RegisterType((*LsNodeFlags)(nil), "gobgpapi.LsNodeFlags") proto.RegisterType((*LsIGPFlags)(nil), "gobgpapi.LsIGPFlags") proto.RegisterType((*LsSrRange)(nil), "gobgpapi.LsSrRange") proto.RegisterType((*LsSrCapabilities)(nil), "gobgpapi.LsSrCapabilities") proto.RegisterType((*LsSrLocalBlock)(nil), "gobgpapi.LsSrLocalBlock") proto.RegisterType((*LsAttributeNode)(nil), "gobgpapi.LsAttributeNode") proto.RegisterType((*LsAttributeLink)(nil), "gobgpapi.LsAttributeLink") proto.RegisterType((*LsAttributePrefix)(nil), "gobgpapi.LsAttributePrefix") proto.RegisterType((*LsAttribute)(nil), "gobgpapi.LsAttribute") proto.RegisterType((*UnknownAttribute)(nil), "gobgpapi.UnknownAttribute") proto.RegisterType((*SRv6StructureSubSubTLV)(nil), "gobgpapi.SRv6StructureSubSubTLV") proto.RegisterType((*SRv6SIDFlags)(nil), "gobgpapi.SRv6SIDFlags") proto.RegisterType((*SRv6TLV)(nil), "gobgpapi.SRv6TLV") proto.RegisterType((*SRv6InformationSubTLV)(nil), "gobgpapi.SRv6InformationSubTLV") proto.RegisterType((*SRv6L3ServiceTLV)(nil), "gobgpapi.SRv6L3ServiceTLV") proto.RegisterType((*PrefixSID)(nil), "gobgpapi.PrefixSID") proto.RegisterEnum("gobgpapi.LsNLRIType", LsNLRIType_name, LsNLRIType_value) } func init() { proto.RegisterFile("attribute.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ // 3360 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x6f, 0x1b, 0x49, 0x76, 0x0f, 0x49, 0x59, 0x26, 0x1f, 0x3f, 0xd5, 0x92, 0x05, 0x4a, 0x1e, 0x8f, 0x9d, 0x9e, 0x9d, 0xb1, 0x62, 0xcf, 0x68, 0x62, 0x59, 0xc3, 0xec, 0xcc, 0x60, 0x13, 0xd0, 0x92, 0xec, 0x65, 0x4c, 0xc9, 0x9a, 0xa6, 0xac, 0x4d, 0x2e, 0xe9, 0x34, 0xbb, 0x8b, 0xad, 0x8a, 0x9a, 0xdd, 0xbd, 0x55, 0xd5, 0xb4, 0x75, 0x0a, 0x90, 0x43, 0x80, 0x45, 0x90, 0x20, 0xa7, 0x60, 0x81, 0xbd, 0xe4, 0x92, 0x00, 0xc9, 0x1f, 0x90, 0xff, 0x21, 0x7f, 0x50, 0xee, 0x41, 0x7d, 0xf5, 0x07, 0x45, 0x49, 0xf6, 0x78, 0x06, 0xf0, 0xad, 0xeb, 0xd5, 0xab, 0x57, 0xaf, 0x5e, 0xfd, 0xea, 0x7d, 0x35, 0xb4, 0x1d, 0xc6, 0x08, 0x1e, 0x27, 0x0c, 0x6d, 0xc7, 0x24, 0x62, 0x91, 0x51, 0xf5, 0xa3, 0xb1, 0x1f, 0x3b, 0x31, 0xde, 0xdc, 0xf0, 0xa3, 0xc8, 0x0f, 0xd0, 0xd7, 0x82, 0x3e, 0x4e, 0x26, 0x5f, 0x3b, 0xe1, 0x85, 0x64, 0xda, 0xac, 0x0b, 0x26, 0x39, 0x30, 0xff, 0x04, 0xda, 0xaf, 0x08, 0xf6, 0x71, 0xd8, 0xd7, 0xa2, 0x8c, 0x75, 0x58, 0x8e, 0x04, 0xa9, 0x5b, 0x7a, 0x50, 0xda, 0x6a, 0x5a, 0x6a, 0x64, 0x7e, 0x0b, 0xb5, 0x3e, 0x1d, 0x21, 0x7f, 0x8a, 0x42, 0x66, 0x18, 0xb0, 0xc4, 0x2e, 0x62, 0xa4, 0x58, 0xc4, 0xb7, 0xd1, 0x85, 0xdb, 0x61, 0x32, 0x1d, 0x23, 0x42, 0xbb, 0xe5, 0x07, 0x95, 0xad, 0xa6, 0xa5, 0x87, 0xe6, 0x33, 0x68, 0xf7, 0xe9, 0xb1, 0xc3, 0xce, 0xb2, 0x5d, 0xbe, 0x86, 0x2a, 0x95, 0xb2, 0x68, 0xb7, 0xf4, 0xa0, 0xb2, 0x55, 0xdf, 0x59, 0xdd, 0xd6, 0xda, 0x6f, 0xa7, 0xfb, 0x58, 0x29, 0x93, 0xf9, 0x15, 0x74, 0x8e, 0xd0, 0x5b, 0xf6, 0xeb, 0x28, 0xce, 0x84, 0x6c, 0x40, 0x35, 0x44, 0x6f, 0x99, 0x7d, 0x16, 0xc5, 0x42, 0x93, 0x9a, 0x75, 0x3b, 0x94, 0x3c, 0xe6, 0x23, 0x58, 0x3f, 0x4c, 0x02, 0x86, 0x0f, 0xde, 0x62, 0xb6, 0x8f, 0xa9, 0x9b, 0x2d, 0xea, 0x40, 0x65, 0x8a, 0x3c, 0xa5, 0x39, 0xff, 0x34, 0x9f, 0x82, 0x31, 0x8c, 0x5c, 0x27, 0x38, 0x26, 0x68, 0x92, 0xf1, 0xdd, 0x03, 0x08, 0x38, 0xd5, 0x8e, 0x09, 0x9a, 0x28, 0xf6, 0x5a, 0xa0, 0xf9, 0xcc, 0x4d, 0xe8, 0xf6, 0x59, 0x34, 0xc5, 0x6e, 0xdf, 0xf7, 0x09, 0xf2, 0x1d, 0x86, 0xd2, 0xa5, 0xe6, 0x5f, 0xc0, 0xaa, 0xa6, 0x46, 0x24, 0x93, 0xd8, 0x82, 0xb2, 0xc3, 0x6d, 0xc3, 0x25, 0x95, 0x1d, 0xca, 0x0d, 0xe6, 0x78, 0x1e, 0x41, 0x94, 0x76, 0x2b, 0x52, 0x7b, 0x35, 0x34, 0x7f, 0x09, 0x6b, 0x7b, 0xd1, 0x74, 0x9a, 0x84, 0x98, 0x61, 0x44, 0x33, 0x09, 0x0f, 0xa0, 0xee, 0x66, 0x74, 0x61, 0xb8, 0xa6, 0x95, 0x27, 0x99, 0x0f, 0xe1, 0x8e, 0xbc, 0x50, 0xbe, 0xf5, 0xc0, 0x2b, 0x6c, 0x8e, 0x3d, 0x65, 0xa5, 0x32, 0xf6, 0xcc, 0x2d, 0x58, 0xdb, 0x0b, 0x12, 0xca, 0x10, 0x19, 0x62, 0xca, 0x0a, 0xe6, 0xc1, 0x9e, 0x14, 0x5d, 0xb3, 0xf8, 0xa7, 0xf9, 0x6b, 0x68, 0x0f, 0x8e, 0xfb, 0x52, 0x33, 0x7e, 0x74, 0xfc, 0x96, 0xdb, 0x26, 0x16, 0x5f, 0x76, 0x80, 0x34, 0x4e, 0x6a, 0x92, 0x32, 0x44, 0x21, 0x87, 0x90, 0x1c, 0x88, 0xc3, 0xd6, 0x2c, 0x35, 0x32, 0x7d, 0x58, 0x1f, 0x3a, 0x63, 0x14, 0x20, 0x6f, 0x5e, 0xe0, 0x3a, 0x2c, 0x07, 0x7c, 0x46, 0x9f, 0x49, 0x8d, 0xe6, 0x36, 0x2a, 0x5f, 0xbd, 0x51, 0xa5, 0xb0, 0xd1, 0x57, 0xb0, 0x72, 0x10, 0xba, 0x4e, 0x4c, 0x93, 0xc0, 0x61, 0x38, 0x0a, 0x8f, 0x86, 0xd6, 0x20, 0x6f, 0xee, 0x52, 0xd1, 0xdc, 0xc7, 0xf0, 0x89, 0x15, 0x25, 0x0c, 0xed, 0x63, 0xca, 0x70, 0xe8, 0x27, 0x98, 0x9e, 0x21, 0x72, 0xf2, 0x26, 0x7a, 0xe5, 0x32, 0xc4, 0xfa, 0x23, 0x63, 0x0d, 0x6e, 0x39, 0xde, 0x34, 0x7d, 0x11, 0x72, 0x60, 0x6c, 0x42, 0xd5, 0xa1, 0x14, 0xfb, 0x21, 0xf2, 0x94, 0x66, 0xe9, 0xd8, 0x7c, 0x05, 0x77, 0x2f, 0x4b, 0x4c, 0x0f, 0x5d, 0x14, 0x58, 0x7b, 0x17, 0x81, 0x3f, 0xc0, 0xbd, 0xcb, 0x02, 0x9f, 0x47, 0x09, 0xf9, 0xf1, 0x3a, 0x1e, 0xc0, 0xc6, 0x01, 0x3b, 0x43, 0x24, 0x44, 0x4c, 0x3d, 0xb7, 0x81, 0x87, 0x42, 0x86, 0x27, 0x18, 0x91, 0x85, 0x0f, 0x7c, 0x0d, 0x6e, 0xcd, 0x9c, 0x20, 0x41, 0x42, 0x52, 0xc3, 0x92, 0x03, 0xf3, 0x7f, 0x4a, 0xf0, 0xe9, 0xc1, 0xe9, 0xf1, 0x91, 0x96, 0xd5, 0x4f, 0x58, 0xc4, 0x5f, 0x5c, 0x34, 0x43, 0xe4, 0x42, 0xe8, 0x6c, 0xfc, 0x02, 0xca, 0x44, 0x62, 0xaf, 0xbe, 0xb3, 0xb6, 0x2d, 0x5d, 0xd3, 0xb6, 0x76, 0x4d, 0xdb, 0xfd, 0xf0, 0xc2, 0x2a, 0x13, 0xcf, 0xf8, 0x06, 0x2a, 0x88, 0x62, 0x21, 0xbc, 0xbe, 0xf3, 0x59, 0xe6, 0x0d, 0xae, 0x54, 0xd2, 0xe2, 0xfc, 0xc6, 0x1f, 0x43, 0x03, 0x29, 0x0e, 0x9b, 0x39, 0xbe, 0x40, 0x42, 0xd3, 0xaa, 0x6b, 0xda, 0x89, 0xe3, 0x73, 0xc5, 0x05, 0x9e, 0xba, 0x4b, 0xd2, 0x36, 0x62, 0x60, 0xfe, 0x5f, 0x09, 0xee, 0x72, 0xc5, 0x0f, 0xfb, 0x7b, 0xfc, 0x66, 0x66, 0x88, 0x30, 0x4c, 0x91, 0x70, 0x3b, 0x1f, 0x85, 0xd6, 0xf7, 0xa1, 0x3e, 0x75, 0x5c, 0x5b, 0x63, 0x76, 0x49, 0x40, 0x05, 0xa6, 0x8e, 0xab, 0x51, 0x74, 0x0f, 0x00, 0xc7, 0xe9, 0xfc, 0x2d, 0x31, 0x5f, 0xc3, 0xb1, 0x9e, 0xce, 0xde, 0xd4, 0x72, 0xfe, 0x4d, 0x99, 0xff, 0x5a, 0x82, 0x2f, 0xf8, 0xb9, 0x07, 0xa1, 0x1b, 0x24, 0x14, 0xcf, 0x90, 0x70, 0x94, 0xae, 0x43, 0xd9, 0x41, 0xb6, 0xfb, 0xfb, 0x98, 0x60, 0xfe, 0x2c, 0xe5, 0xcb, 0x67, 0x29, 0xaa, 0x5a, 0x99, 0x53, 0xd5, 0xfc, 0xb7, 0x12, 0x74, 0xf3, 0x18, 0xd2, 0xee, 0xff, 0xe7, 0xbf, 0x87, 0x1b, 0x14, 0xfb, 0x5d, 0x19, 0x56, 0x84, 0xad, 0x8e, 0xa5, 0xa3, 0xfa, 0x38, 0x90, 0x71, 0x17, 0x6a, 0x38, 0xb6, 0x95, 0xe7, 0x93, 0xb8, 0xa8, 0xe2, 0x58, 0xb9, 0x52, 0x13, 0x9a, 0xe9, 0xa4, 0xf0, 0x9a, 0xb7, 0xa4, 0x00, 0xcd, 0xc0, 0xfd, 0xe6, 0x3d, 0x00, 0xff, 0x4d, 0x7a, 0xea, 0x65, 0x79, 0x6a, 0xff, 0x4d, 0xce, 0x3d, 0xc9, 0xf7, 0x72, 0x3b, 0xff, 0x5e, 0xfe, 0x1e, 0x5a, 0xd2, 0x14, 0x87, 0xa3, 0xc1, 0x4f, 0x0c, 0x0f, 0x2e, 0x88, 0x89, 0x93, 0x5e, 0x2d, 0x88, 0x71, 0xe0, 0x6e, 0xa8, 0xf8, 0x21, 0xf4, 0x78, 0xb7, 0x10, 0x22, 0x95, 0x2c, 0xdf, 0xa0, 0x64, 0x31, 0xd0, 0x54, 0xae, 0x0e, 0x34, 0x4b, 0x85, 0x40, 0xf3, 0x03, 0x6c, 0x08, 0x53, 0x9c, 0x38, 0xc4, 0x47, 0xec, 0x10, 0x89, 0x7c, 0xe7, 0x0c, 0xc7, 0x22, 0xe0, 0xc8, 0x78, 0x5f, 0x4a, 0xe3, 0xbd, 0x3c, 0x65, 0xf9, 0x86, 0x53, 0x26, 0xd0, 0x79, 0x1e, 0x44, 0x6f, 0x46, 0x31, 0x72, 0x35, 0xea, 0x16, 0x7a, 0xe3, 0x1f, 0x17, 0x1a, 0x45, 0x7a, 0x37, 0x99, 0x50, 0xc4, 0x94, 0x33, 0x54, 0x23, 0xf3, 0x7b, 0xa8, 0xeb, 0x6d, 0x0f, 0xfb, 0x7b, 0x57, 0x25, 0x78, 0x1a, 0x32, 0xe5, 0x62, 0x00, 0xfd, 0x15, 0xdc, 0xd1, 0x8b, 0xf7, 0xa2, 0x69, 0x1c, 0x85, 0x1c, 0xd7, 0x0c, 0x4d, 0xb9, 0x09, 0x54, 0x6e, 0xd6, 0xb4, 0xca, 0x51, 0x5c, 0x0c, 0x21, 0x4b, 0x3a, 0x84, 0xfc, 0x0d, 0xac, 0x5c, 0x5a, 0xbe, 0x50, 0x83, 0x6f, 0xe0, 0x16, 0x66, 0x68, 0x2a, 0x13, 0xcc, 0xfa, 0xce, 0xfd, 0xec, 0x51, 0x2d, 0xdc, 0xde, 0x92, 0xdc, 0xe6, 0x77, 0xd0, 0xd0, 0xf3, 0xe2, 0x62, 0x1e, 0xc1, 0x2d, 0x92, 0x04, 0x48, 0x67, 0x9e, 0x8b, 0xef, 0x42, 0xb2, 0x98, 0x2e, 0xb4, 0x4f, 0x8f, 0x8f, 0x0a, 0xcb, 0xdf, 0x0d, 0xf6, 0xe9, 0x26, 0xe5, 0x9b, 0x37, 0xd9, 0x05, 0x78, 0x15, 0x3b, 0xbf, 0x4d, 0x90, 0x90, 0xdf, 0x81, 0xca, 0x39, 0xba, 0x10, 0x1b, 0x34, 0x2c, 0xfe, 0x79, 0x45, 0xe4, 0xfd, 0xcf, 0x12, 0x74, 0x86, 0xf4, 0x28, 0xf2, 0xd0, 0x3e, 0xa2, 0x2e, 0xc1, 0x31, 0x8b, 0x08, 0x5f, 0xec, 0x50, 0x9d, 0x05, 0xf0, 0x4f, 0x63, 0x13, 0x6a, 0x63, 0x3f, 0xb6, 0x03, 0x6a, 0x63, 0x9d, 0x04, 0xdc, 0x1e, 0xfb, 0xf1, 0x90, 0x0e, 0x3c, 0xe3, 0x01, 0x34, 0x22, 0x1a, 0x4f, 0x6c, 0x87, 0x20, 0x87, 0x4f, 0x4b, 0xe0, 0x03, 0xa7, 0xf5, 0x09, 0x72, 0x06, 0x9e, 0xf1, 0x29, 0x40, 0x4c, 0x51, 0xe2, 0x45, 0x61, 0xe4, 0x21, 0x81, 0x99, 0xaa, 0x95, 0xa3, 0x08, 0x77, 0xe3, 0xc7, 0x36, 0xe1, 0xaf, 0x80, 0x70, 0x11, 0x32, 0x0e, 0xd5, 0xb1, 0x1f, 0x8b, 0x97, 0x41, 0x06, 0x9e, 0xf9, 0xfb, 0x32, 0x57, 0x74, 0x88, 0xc3, 0xf3, 0x9c, 0xa2, 0x26, 0x34, 0x03, 0x1c, 0x9e, 0xdb, 0x32, 0xc9, 0xc6, 0x3a, 0x23, 0xaf, 0x73, 0xa2, 0x48, 0xc7, 0x07, 0x9e, 0xf1, 0x0b, 0x68, 0x09, 0x1e, 0x82, 0xa6, 0x11, 0x43, 0x99, 0xfe, 0x0d, 0x4e, 0xb5, 0x04, 0x71, 0xe0, 0x19, 0xdb, 0xb0, 0x8a, 0x43, 0x86, 0xc8, 0xc4, 0x71, 0x91, 0x70, 0x6a, 0x36, 0x8e, 0x67, 0xbb, 0x0a, 0xf7, 0x2b, 0xe9, 0x14, 0x77, 0x17, 0x83, 0x78, 0xb6, 0x6b, 0x7c, 0x09, 0x46, 0x88, 0xb0, 0x7f, 0x36, 0x8e, 0x48, 0x8e, 0x5d, 0x3e, 0xec, 0x8e, 0x9e, 0x49, 0xb9, 0x17, 0x4a, 0xef, 0xa9, 0x63, 0x5e, 0x92, 0xde, 0x5b, 0x28, 0xbd, 0xa7, 0x7c, 0xec, 0xbc, 0xf4, 0x9e, 0x89, 0xc0, 0x18, 0x2a, 0x0f, 0x96, 0xb3, 0xcd, 0x43, 0x68, 0xe3, 0xd8, 0x26, 0xc8, 0x71, 0xcf, 0x9c, 0x31, 0x0e, 0x30, 0xbb, 0x50, 0x09, 0x79, 0x0b, 0xc7, 0x56, 0x8e, 0x6a, 0x7c, 0x01, 0x6d, 0x71, 0x7f, 0xc2, 0xfc, 0xb6, 0x78, 0x2f, 0xf2, 0x69, 0x36, 0x39, 0x59, 0xba, 0xa6, 0x8b, 0x18, 0x99, 0x2f, 0x00, 0x24, 0x52, 0x04, 0xc0, 0xbe, 0xd5, 0xa5, 0x8d, 0xb8, 0x53, 0x09, 0xe4, 0xcd, 0xec, 0x2d, 0xcd, 0x63, 0x4a, 0x95, 0x3d, 0x9c, 0x68, 0xfe, 0x6f, 0x89, 0x4b, 0xe2, 0x57, 0xf9, 0x81, 0x92, 0x8c, 0xef, 0xa1, 0xae, 0xae, 0x55, 0xac, 0x2d, 0xdf, 0xb8, 0x16, 0x24, 0xbb, 0x58, 0xbc, 0x07, 0x6d, 0x01, 0x0c, 0x2f, 0x9d, 0x56, 0xd1, 0xa3, 0x20, 0xa0, 0x88, 0x38, 0x4b, 0x60, 0x29, 0x1b, 0xf3, 0xac, 0xa3, 0xa5, 0x8d, 0x7f, 0xba, 0xfb, 0xa1, 0xe7, 0x19, 0xc0, 0x8a, 0xf2, 0xc7, 0x39, 0xa5, 0xe4, 0xa9, 0x3e, 0xc9, 0x4b, 0x98, 0xbf, 0x6c, 0xab, 0x13, 0xcf, 0x51, 0x8a, 0x8a, 0xf5, 0x3e, 0x22, 0xc5, 0xc6, 0xd0, 0x18, 0x52, 0x8e, 0x5d, 0x15, 0x97, 0xb6, 0x72, 0x3e, 0xba, 0x25, 0x5c, 0x5c, 0xa6, 0xcf, 0xd0, 0x1a, 0x70, 0xe8, 0x29, 0xcf, 0xbd, 0x05, 0x4b, 0x61, 0x40, 0xf0, 0xb5, 0xd1, 0x4f, 0x70, 0x98, 0xbf, 0x2b, 0xc1, 0xda, 0xa1, 0x44, 0x39, 0x97, 0x91, 0x55, 0xa6, 0x5b, 0xb0, 0x3c, 0x71, 0xa6, 0x38, 0xb8, 0x50, 0xc7, 0xef, 0xe4, 0xbc, 0xbf, 0xa0, 0x5b, 0x6a, 0x9e, 0xe7, 0x47, 0xba, 0x2f, 0x20, 0xdd, 0x6f, 0xcd, 0xaa, 0xaa, 0xc6, 0x00, 0xe5, 0x7e, 0x99, 0xef, 0xc3, 0x93, 0xbd, 0x6b, 0xfc, 0xb2, 0x60, 0x31, 0x43, 0x58, 0x3f, 0x8c, 0x5f, 0x87, 0xe4, 0x43, 0x94, 0x79, 0x9f, 0xfd, 0xfe, 0xb9, 0x04, 0x9b, 0x69, 0xdd, 0x49, 0x79, 0xc0, 0xc1, 0x13, 0xec, 0x1e, 0xbc, 0x65, 0x28, 0xf4, 0x90, 0x67, 0x7c, 0x06, 0x4d, 0x4c, 0x6d, 0x46, 0x9c, 0x90, 0x62, 0x86, 0x67, 0xd2, 0xee, 0x55, 0xab, 0x81, 0xe9, 0x49, 0x4a, 0x33, 0x36, 0xa0, 0x4a, 0x93, 0x71, 0xe6, 0x0b, 0x9a, 0xd6, 0x6d, 0x9a, 0x8c, 0xf9, 0x55, 0xa8, 0x84, 0xa4, 0x92, 0x26, 0x24, 0xf7, 0xa1, 0x2e, 0x41, 0x25, 0x2b, 0x47, 0x99, 0x10, 0x48, 0x9c, 0xf5, 0x39, 0xc5, 0xfc, 0x7d, 0x09, 0xee, 0x0e, 0x8e, 0x67, 0xbb, 0x2a, 0xd3, 0xfa, 0xc9, 0x15, 0xba, 0xb2, 0x03, 0x72, 0xb3, 0x6a, 0xff, 0x52, 0x82, 0xbb, 0x59, 0xfd, 0xfb, 0x11, 0xd8, 0xea, 0x11, 0x18, 0xa7, 0x4e, 0x80, 0x3d, 0xd1, 0x70, 0x48, 0xd5, 0x58, 0x83, 0x5b, 0x94, 0x39, 0x4c, 0xa7, 0x31, 0x72, 0x60, 0x7e, 0x0e, 0xcd, 0xbd, 0x28, 0x88, 0x48, 0x9e, 0xcd, 0xe5, 0x04, 0xcd, 0x26, 0x06, 0xe6, 0x9f, 0x42, 0x53, 0xb4, 0x31, 0x52, 0xb6, 0xfb, 0x50, 0x67, 0x49, 0x18, 0xa2, 0xc0, 0xce, 0xa5, 0x46, 0x20, 0x49, 0xc2, 0xcf, 0x77, 0x61, 0x7d, 0x1f, 0x4d, 0x9c, 0x24, 0x60, 0x2f, 0x1c, 0x86, 0xde, 0x38, 0x17, 0x7a, 0xa9, 0xf9, 0x12, 0x5a, 0x32, 0xc5, 0x78, 0x3f, 0x0b, 0xa5, 0x99, 0x47, 0x25, 0x9f, 0x79, 0x58, 0xd0, 0x39, 0x18, 0x0d, 0x44, 0x2e, 0x9e, 0x8a, 0xdb, 0x82, 0x0e, 0xa6, 0x36, 0xc5, 0xa1, 0x1f, 0x20, 0xdb, 0x71, 0x73, 0x12, 0x5b, 0x98, 0x8e, 0x04, 0xb9, 0xef, 0x6a, 0x99, 0xb2, 0xbc, 0x28, 0xe7, 0xcb, 0x8b, 0x1d, 0x58, 0x3d, 0x18, 0x0d, 0xa6, 0x71, 0x44, 0x58, 0x2e, 0xa5, 0xe6, 0x6f, 0x19, 0x51, 0x1b, 0x0b, 0xba, 0x6a, 0x97, 0x54, 0x11, 0x95, 0x7c, 0xe6, 0x6b, 0x58, 0x3d, 0x74, 0xdc, 0xc3, 0x48, 0x46, 0xc3, 0x54, 0x15, 0x5e, 0x1f, 0x51, 0x9b, 0x32, 0xec, 0x9e, 0x5f, 0x28, 0x1d, 0xaa, 0x98, 0x8e, 0xc4, 0x98, 0x97, 0x23, 0x14, 0xfd, 0x36, 0x41, 0xa1, 0x8b, 0xec, 0x30, 0x99, 0xea, 0x72, 0x44, 0xd3, 0x8e, 0x92, 0xa9, 0xf9, 0x39, 0xac, 0xc8, 0xdc, 0xe5, 0xd0, 0xc9, 0x00, 0xd5, 0x81, 0xca, 0xd4, 0x71, 0x95, 0x0a, 0xfc, 0xd3, 0xfc, 0x16, 0x56, 0x4f, 0x88, 0x33, 0x99, 0x60, 0xd7, 0x72, 0x58, 0x66, 0xd7, 0xf9, 0xb4, 0xdf, 0x80, 0x25, 0xc2, 0x11, 0xc0, 0x37, 0x2a, 0x5b, 0xe2, 0xdb, 0x7c, 0x09, 0x77, 0xd4, 0x52, 0x6e, 0x93, 0x1c, 0x5e, 0x36, 0xa1, 0xca, 0x10, 0x99, 0xe2, 0xd0, 0x09, 0xb4, 0xe6, 0x7a, 0xcc, 0x53, 0x77, 0xea, 0x4c, 0xe3, 0x40, 0x8a, 0xaa, 0x5a, 0x6a, 0x64, 0xbe, 0x06, 0xd3, 0x42, 0x1e, 0x26, 0xc8, 0x65, 0xd7, 0x38, 0x8f, 0x79, 0xb5, 0xe6, 0x00, 0x5d, 0xbe, 0x04, 0xe8, 0xbf, 0x85, 0xcf, 0xb4, 0xd8, 0xeb, 0x7c, 0xc0, 0x95, 0x6d, 0xb5, 0x9b, 0x77, 0x38, 0xcd, 0x76, 0xb8, 0xee, 0x29, 0xbf, 0xb7, 0xe6, 0x8f, 0x53, 0xeb, 0x5a, 0x68, 0xea, 0x90, 0xf3, 0x54, 0x92, 0x01, 0x4b, 0x1e, 0x75, 0x75, 0x41, 0x22, 0xbe, 0xcd, 0xef, 0xa1, 0xfd, 0x3a, 0x3c, 0x0f, 0xa3, 0x37, 0x61, 0x9e, 0xed, 0x1d, 0x9b, 0x5f, 0xa7, 0xf0, 0x89, 0x5e, 0xb5, 0xb0, 0x61, 0xdb, 0xbb, 0xdc, 0xb0, 0xbd, 0x2a, 0x04, 0x14, 0xda, 0xb8, 0x7b, 0xd0, 0xe9, 0xd3, 0xdd, 0x0f, 0x6c, 0x99, 0x3f, 0x83, 0xf5, 0x3e, 0xdd, 0xfd, 0xb0, 0x4e, 0x34, 0x82, 0xd5, 0xe3, 0x29, 0xc5, 0x27, 0xc2, 0xc5, 0x64, 0x02, 0xd6, 0xe0, 0xd6, 0x24, 0x70, 0x7c, 0x7d, 0x2b, 0x72, 0x90, 0xda, 0xad, 0x5c, 0xb4, 0x9b, 0x7c, 0xec, 0x95, 0xdc, 0x63, 0x57, 0xdd, 0xe8, 0x25, 0x61, 0xca, 0x32, 0xf6, 0xcc, 0xbf, 0x84, 0x4f, 0xe5, 0x16, 0xc2, 0xdf, 0x8d, 0x92, 0xf1, 0xc9, 0xf0, 0xb4, 0xd0, 0xc1, 0xcd, 0x17, 0x45, 0x4d, 0x59, 0x14, 0xad, 0xc3, 0xb2, 0x1b, 0x45, 0xe7, 0x58, 0x5f, 0x89, 0x1a, 0x99, 0x7f, 0x06, 0x1b, 0x97, 0x64, 0x1d, 0x73, 0x4b, 0xbb, 0x51, 0xc0, 0xdf, 0x57, 0xac, 0xbe, 0x95, 0xac, 0x74, 0x6c, 0x6e, 0xc3, 0xfa, 0xa5, 0x85, 0xc2, 0x4d, 0x5f, 0xe1, 0x9e, 0xf7, 0xa1, 0x7b, 0x89, 0x5f, 0x41, 0xe9, 0x3d, 0x20, 0x74, 0x04, 0xad, 0x9c, 0x94, 0x93, 0xe1, 0xe9, 0xc2, 0xb5, 0x3c, 0xd3, 0x0a, 0x66, 0xd7, 0x17, 0x93, 0x82, 0xc3, 0xdc, 0x87, 0xb5, 0x9c, 0xbc, 0xec, 0xca, 0xbe, 0x54, 0x12, 0x24, 0x74, 0xba, 0x19, 0x74, 0x8a, 0xbb, 0x2b, 0x29, 0x2a, 0xf2, 0xf7, 0x3e, 0xc2, 0xc8, 0x5f, 0xf4, 0x4b, 0xbd, 0x9f, 0xc1, 0x2f, 0xfd, 0x35, 0xdc, 0x1f, 0x1c, 0xf7, 0x7e, 0x96, 0x87, 0xfd, 0x08, 0x3a, 0x7d, 0xec, 0x73, 0x43, 0x0f, 0x5e, 0x1c, 0x1f, 0x22, 0x46, 0xb0, 0xcb, 0x81, 0x3c, 0x15, 0x5f, 0x42, 0xd1, 0x25, 0x4b, 0x8d, 0xcc, 0xef, 0xa0, 0xa5, 0x78, 0xdf, 0x1f, 0x55, 0xdf, 0x42, 0x93, 0xaf, 0xcd, 0x27, 0xac, 0xf9, 0xeb, 0xbf, 0x0e, 0x40, 0x09, 0xb4, 0x86, 0x3c, 0xf6, 0xea, 0x73, 0x8b, 0x90, 0xe9, 0x07, 0xd1, 0x38, 0xb5, 0x98, 0xaa, 0xd4, 0x25, 0x4d, 0x98, 0x2c, 0xb3, 0xa9, 0xe7, 0x30, 0xe7, 0x49, 0xc1, 0xa6, 0xfb, 0x9c, 0x52, 0x64, 0xd8, 0xd1, 0x8d, 0x86, 0x94, 0x61, 0xc7, 0xfc, 0x0d, 0x6c, 0x14, 0xb6, 0x2d, 0x98, 0xfb, 0xbb, 0x45, 0xe6, 0xce, 0x61, 0xb8, 0xa8, 0x70, 0xd1, 0xe4, 0x7f, 0x28, 0x41, 0x5d, 0xd6, 0x47, 0xcf, 0x85, 0x97, 0xda, 0x84, 0x6a, 0x34, 0x43, 0x24, 0x88, 0x1c, 0x4f, 0x87, 0x58, 0x3d, 0x16, 0xff, 0x4b, 0x18, 0x73, 0xdc, 0x33, 0xf5, 0xbf, 0xa4, 0x6a, 0xa5, 0x63, 0x3e, 0x87, 0xde, 0x32, 0x44, 0x78, 0x68, 0xae, 0xc8, 0x39, 0x3d, 0x16, 0x5d, 0x97, 0x31, 0x51, 0xed, 0x11, 0xfe, 0xc9, 0x2f, 0x55, 0xf6, 0x44, 0x44, 0xa7, 0xa0, 0x6a, 0xa9, 0x11, 0xf7, 0x7c, 0xaa, 0x1d, 0x50, 0xb5, 0xca, 0xb3, 0x9e, 0xf9, 0x4f, 0xa2, 0xa0, 0x1e, 0xbc, 0x38, 0x7e, 0xae, 0x5d, 0xa8, 0x17, 0xbd, 0x09, 0x95, 0x62, 0xe2, 0xdb, 0xb8, 0x07, 0x10, 0x46, 0x76, 0x12, 0x8a, 0x1e, 0xbd, 0x52, 0xab, 0x16, 0x46, 0xaf, 0x25, 0x81, 0x3f, 0x45, 0x0d, 0xe7, 0xec, 0x41, 0x55, 0xad, 0x86, 0x02, 0xb4, 0xc4, 0xfc, 0xe7, 0xd0, 0x8a, 0x49, 0x14, 0x3b, 0xbe, 0xc3, 0x0b, 0x6e, 0x4a, 0x1d, 0xa5, 0x6b, 0x33, 0xa5, 0x1e, 0x51, 0xea, 0x98, 0x4f, 0xa1, 0x36, 0xa4, 0x23, 0x62, 0x39, 0xa1, 0x2f, 0x90, 0x35, 0x46, 0xd9, 0x8f, 0x60, 0x39, 0xe0, 0x47, 0x45, 0xa1, 0x6e, 0xc4, 0xf0, 0x4f, 0x5e, 0xb5, 0x74, 0xf8, 0xaa, 0x3d, 0x27, 0x96, 0x7d, 0x09, 0x8c, 0xc4, 0x86, 0x38, 0x9e, 0xed, 0xda, 0x34, 0x89, 0x79, 0xaa, 0x86, 0xb4, 0xad, 0x9b, 0x9c, 0x3a, 0xd2, 0x44, 0xc5, 0xd6, 0xcb, 0xb1, 0x95, 0x53, 0xb6, 0x5e, 0xc6, 0xf6, 0x18, 0x96, 0x09, 0xd7, 0x49, 0x57, 0x51, 0xab, 0xf9, 0x52, 0x53, 0xe9, 0x6b, 0x29, 0x16, 0xf3, 0x57, 0xbc, 0x7a, 0x1e, 0x11, 0xd1, 0x44, 0x7a, 0x16, 0x44, 0xee, 0x79, 0x6e, 0x79, 0xe9, 0xe6, 0xe5, 0xff, 0x58, 0x81, 0xf6, 0x30, 0xc3, 0x9e, 0xa8, 0xa1, 0x0d, 0x58, 0x0a, 0x9d, 0x29, 0x52, 0x9e, 0x44, 0x7c, 0x1b, 0x8f, 0x75, 0x0c, 0x94, 0x35, 0xed, 0x9d, 0xf9, 0x6a, 0x5c, 0x5c, 0xa8, 0x0e, 0x8d, 0x5f, 0x40, 0x5b, 0x5e, 0x52, 0xd6, 0x28, 0x93, 0x7e, 0x4f, 0xde, 0x9d, 0x6e, 0x95, 0x19, 0x8f, 0xc1, 0x98, 0xe3, 0xb3, 0x67, 0x3d, 0xd5, 0x9b, 0x6a, 0x17, 0x58, 0x4f, 0x7b, 0x32, 0xcf, 0xc5, 0x54, 0x74, 0xef, 0x04, 0xcc, 0x1a, 0x3c, 0xcf, 0xc5, 0xb4, 0x4f, 0x90, 0x23, 0x1a, 0xbd, 0x22, 0xe1, 0x17, 0x60, 0x6b, 0x58, 0x6a, 0x64, 0xec, 0x41, 0x9b, 0x12, 0xdb, 0xcd, 0xdd, 0x95, 0x68, 0xf3, 0xcf, 0xb5, 0x13, 0x8a, 0xb7, 0x69, 0xb5, 0x68, 0xf1, 0x76, 0x3f, 0x83, 0x26, 0x25, 0xb6, 0x13, 0xf8, 0x11, 0xc1, 0xec, 0x6c, 0x4a, 0xbb, 0x55, 0xb1, 0x47, 0x83, 0x92, 0x7e, 0x4a, 0x33, 0xfe, 0x1c, 0x5a, 0x94, 0xa8, 0xfe, 0xde, 0x98, 0xdf, 0x43, 0xb7, 0x26, 0x36, 0xea, 0x16, 0x37, 0xca, 0xee, 0x89, 0xaf, 0xcf, 0x46, 0xe6, 0x1f, 0x96, 0x0a, 0x17, 0x31, 0xc4, 0xe1, 0xf9, 0xc2, 0x8b, 0x58, 0x60, 0xdb, 0xf2, 0xbb, 0xdb, 0xb6, 0xb2, 0xd8, 0xb6, 0x5b, 0xd0, 0x51, 0xed, 0xa9, 0x4c, 0xaa, 0xbc, 0x86, 0x96, 0xa4, 0xa7, 0x62, 0xbf, 0x82, 0xd5, 0x79, 0x4e, 0x3b, 0x6d, 0x10, 0x76, 0x8a, 0xcc, 0xa7, 0x3d, 0xee, 0x08, 0x85, 0x17, 0xb5, 0x7d, 0x12, 0x25, 0xb1, 0xb8, 0x9c, 0xa6, 0x05, 0x82, 0xf4, 0x82, 0x53, 0x8c, 0x47, 0xb0, 0xe2, 0xc9, 0x1a, 0xce, 0x66, 0xc8, 0x56, 0x91, 0x41, 0xfe, 0x89, 0x69, 0xab, 0x89, 0x13, 0xa4, 0x42, 0xc7, 0x3d, 0x00, 0xec, 0xc7, 0x9a, 0xa9, 0x2a, 0x7f, 0x02, 0x60, 0x3f, 0xce, 0x22, 0x8b, 0xc2, 0x40, 0xad, 0x80, 0x81, 0x4f, 0xa0, 0x36, 0x76, 0x42, 0xef, 0x0d, 0xf6, 0xd8, 0x59, 0x17, 0x44, 0x5d, 0x92, 0x11, 0x8c, 0x27, 0xb0, 0x46, 0x10, 0x45, 0x64, 0xe6, 0x8c, 0x03, 0x64, 0x67, 0x8c, 0x75, 0xc1, 0xb8, 0x9a, 0xcd, 0x3d, 0xcb, 0x2f, 0x49, 0x42, 0x39, 0x81, 0xbc, 0xdc, 0x92, 0xc6, 0x83, 0x0a, 0x5f, 0x92, 0xcd, 0x65, 0x4b, 0xb6, 0xa0, 0xc3, 0x21, 0xe4, 0xfd, 0x9d, 0xe3, 0xa2, 0xd0, 0xbd, 0xb0, 0x29, 0xf6, 0xba, 0x4d, 0x71, 0x80, 0x16, 0x25, 0x7d, 0x4d, 0x1e, 0x61, 0x59, 0x43, 0x93, 0xc0, 0xa7, 0xdd, 0x96, 0xf8, 0xb1, 0x23, 0x07, 0xe6, 0x3f, 0x94, 0x60, 0x25, 0x87, 0x0e, 0xd5, 0x91, 0x7a, 0x02, 0xfc, 0xf8, 0x76, 0x96, 0x9c, 0xd6, 0x8b, 0x6d, 0x29, 0xed, 0x68, 0xad, 0x2a, 0xf6, 0x63, 0xe9, 0x72, 0x33, 0x23, 0x95, 0x0b, 0x46, 0x32, 0x05, 0xc6, 0x55, 0xeb, 0x8c, 0xa6, 0xcd, 0xf1, 0x3a, 0x55, 0xdd, 0xaf, 0x11, 0xf6, 0xcc, 0x7f, 0x17, 0xb1, 0x25, 0x8b, 0x53, 0x5f, 0xc1, 0x52, 0xae, 0x41, 0xb7, 0x91, 0xdf, 0xb9, 0xe0, 0x50, 0x2c, 0xc1, 0xc6, 0xd9, 0x03, 0x1c, 0x9e, 0x2b, 0x0f, 0xb2, 0x98, 0x9d, 0xc3, 0xde, 0x12, 0x6c, 0xc6, 0xd3, 0xc2, 0x3f, 0x9d, 0xfa, 0xce, 0xdd, 0x85, 0x0b, 0xd4, 0x9f, 0x4a, 0xfd, 0x8b, 0xca, 0x82, 0x8e, 0x4a, 0x1f, 0x7e, 0x64, 0xfa, 0xbe, 0xa0, 0xfe, 0xff, 0xef, 0x32, 0xac, 0x8f, 0xac, 0x59, 0x6f, 0xc4, 0x48, 0xe2, 0xb2, 0x84, 0xa0, 0x51, 0x32, 0x96, 0xf9, 0xaf, 0xf1, 0xa5, 0x7e, 0x64, 0xe2, 0xc5, 0xdb, 0x01, 0x0a, 0x7d, 0x76, 0xa6, 0xf6, 0xe9, 0x04, 0xe9, 0xe3, 0x1e, 0x0a, 0x3a, 0xc7, 0x7a, 0xd6, 0xd6, 0xd4, 0xcc, 0x72, 0xff, 0x76, 0xda, 0xc1, 0x54, 0xbc, 0x0f, 0xa1, 0x3d, 0x49, 0x42, 0x51, 0x2e, 0x6b, 0x4e, 0x79, 0x23, 0x2d, 0x4d, 0xce, 0x18, 0x1d, 0xe2, 0x27, 0xbc, 0x08, 0xd2, 0x8c, 0x32, 0x8b, 0x6c, 0x69, 0xb2, 0x62, 0x7c, 0x02, 0x6b, 0x22, 0x83, 0x8d, 0x23, 0x9e, 0xb0, 0x66, 0x62, 0xe5, 0x1f, 0xd3, 0xd5, 0xc2, 0xdc, 0x55, 0x4b, 0xd4, 0xcf, 0xb4, 0xe5, 0x05, 0x4b, 0x5e, 0xc9, 0x3f, 0x6b, 0x9f, 0x43, 0x43, 0xd8, 0x6a, 0xb0, 0x2f, 0xf1, 0x76, 0x07, 0x96, 0xb9, 0xbd, 0xed, 0x27, 0x2a, 0x22, 0x0a, 0xeb, 0x3f, 0x31, 0x9f, 0xc0, 0x6d, 0xce, 0xc6, 0x6d, 0xf8, 0x05, 0x54, 0x58, 0x30, 0xbb, 0x36, 0x55, 0xe3, 0x0c, 0xe6, 0x7f, 0x95, 0xe1, 0x0e, 0x5f, 0x33, 0x08, 0x27, 0x11, 0x99, 0x8a, 0x3a, 0x49, 0xdd, 0x42, 0x07, 0x2a, 0x54, 0xfd, 0x52, 0x69, 0x58, 0xfc, 0xd3, 0xf8, 0xb2, 0x18, 0xad, 0xd6, 0x33, 0xe8, 0xe4, 0x95, 0xd3, 0x50, 0x78, 0x0c, 0x2b, 0x28, 0xf4, 0xe2, 0x08, 0x87, 0xcc, 0x1e, 0xa3, 0x33, 0x67, 0x86, 0x55, 0x87, 0xbd, 0x69, 0x75, 0xf4, 0xc4, 0x33, 0x45, 0x37, 0x7e, 0x80, 0x06, 0x4f, 0xf3, 0x45, 0xaa, 0xcf, 0x53, 0xcc, 0x25, 0xa1, 0xf7, 0xd7, 0xc5, 0x1d, 0x2e, 0xe9, 0xb8, 0xad, 0x30, 0x13, 0xcc, 0xe8, 0x41, 0xc8, 0xc8, 0x85, 0x05, 0x34, 0x25, 0x6c, 0x1e, 0x43, 0x7b, 0x6e, 0x7a, 0x41, 0x01, 0xf8, 0x30, 0x9f, 0xf9, 0xd6, 0x77, 0x56, 0x8a, 0x1b, 0xf2, 0x5a, 0x46, 0xce, 0x7f, 0x57, 0xfe, 0x65, 0xc9, 0xfc, 0x8f, 0x12, 0x74, 0x38, 0x79, 0xf8, 0x74, 0x84, 0xc8, 0x0c, 0xbb, 0x88, 0x9b, 0xe9, 0x99, 0x2a, 0x50, 0xb2, 0xc4, 0xf8, 0x61, 0x51, 0x48, 0x9e, 0x7b, 0xbb, 0xa0, 0xad, 0xa8, 0x64, 0xb8, 0xaa, 0x87, 0xd0, 0xf8, 0x29, 0xf5, 0xfc, 0x06, 0x6a, 0xca, 0xbd, 0x0c, 0xf6, 0xdf, 0x3d, 0x69, 0x7f, 0x44, 0xc5, 0x0f, 0x1e, 0xd5, 0x73, 0x37, 0x56, 0xa1, 0x3d, 0x1c, 0xd9, 0x7c, 0x68, 0xbf, 0x3e, 0x7a, 0x79, 0xf4, 0xea, 0x37, 0x47, 0x9d, 0x3f, 0x32, 0x3a, 0xd0, 0xd0, 0xc4, 0xa3, 0x57, 0xfb, 0x07, 0x9d, 0x52, 0x9e, 0x32, 0x1c, 0x1c, 0xbd, 0xec, 0x94, 0x8d, 0x3b, 0xb0, 0xa2, 0x29, 0xc7, 0xd6, 0xc1, 0xf3, 0xc1, 0x5f, 0xd9, 0xa7, 0xbb, 0x9d, 0xca, 0x22, 0x72, 0xaf, 0xb3, 0x34, 0x5e, 0x16, 0x8a, 0x3c, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfb, 0x60, 0xbf, 0x64, 0x89, 0x28, 0x00, 0x00, }